新增根据合同编号获得交易信息接口

This commit is contained in:
guojunyun
2025-11-14 17:15:58 +08:00
parent f797283021
commit 82219fd733
8 changed files with 222 additions and 13 deletions

View File

@@ -242,6 +242,30 @@ public class ContractRespDTO {
@Schema(description = "模板中间表ID") @Schema(description = "模板中间表ID")
private Long businessId; private Long businessId;
@Schema(description = "甲方户名")
private String purchaseAccountName;
@Schema(description = "甲方开户行")
private String purchaseBankAccount;
@Schema(description = "甲方户号")
private String purchaseAccountNumber;
@Schema(description = "甲方税号/社会信用代码")
private String purchaseTaxNumber;
@Schema(description = "乙方户名")
private String salesAccountName;
@Schema(description = "乙方开户行")
private String salesBankAccount;
@Schema(description = "乙方户号")
private String salesAccountNumber;
@Schema(description = "乙方税号/社会信用代码")
private String salesTaxNumber;
// 物料信息 // 物料信息
private List<DetailRespDTO> detail; private List<DetailRespDTO> detail;

View File

@@ -248,6 +248,30 @@ public class ContractRespVO {
@Schema(description = "模板中间表ID") @Schema(description = "模板中间表ID")
private Long businessId; private Long businessId;
@Schema(description = "甲方户名")
private String purchaseAccountName;
@Schema(description = "甲方开户行")
private String purchaseBankAccount;
@Schema(description = "甲方户号")
private String purchaseAccountNumber;
@Schema(description = "甲方税号/社会信用代码")
private String purchaseTaxNumber;
@Schema(description = "乙方户名")
private String salesAccountName;
@Schema(description = "乙方开户行")
private String salesBankAccount;
@Schema(description = "乙方户号")
private String salesAccountNumber;
@Schema(description = "乙方税号/社会信用代码")
private String salesTaxNumber;
// 物料信息 // 物料信息
private List<DetailRespVO> detail; private List<DetailRespVO> detail;

View File

@@ -218,6 +218,30 @@ public class ContractSaveReqVO {
@Schema(description = "模板中间表ID") @Schema(description = "模板中间表ID")
private Long businessId; private Long businessId;
@Schema(description = "甲方户名")
private String purchaseAccountName;
@Schema(description = "甲方开户行")
private String purchaseBankAccount;
@Schema(description = "甲方户号")
private String purchaseAccountNumber;
@Schema(description = "甲方税号/社会信用代码")
private String purchaseTaxNumber;
@Schema(description = "乙方户名")
private String salesAccountName;
@Schema(description = "乙方开户行")
private String salesBankAccount;
@Schema(description = "乙方户号")
private String salesAccountNumber;
@Schema(description = "乙方税号/社会信用代码")
private String salesTaxNumber;
// 物料信息 // 物料信息
private List<DetailSaveReqVO> detail; private List<DetailSaveReqVO> detail;

View File

@@ -0,0 +1,45 @@
package com.zt.plat.module.contractorder.api.vo.contract;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Schema(description = "管理后台 - 合同交易信息 Response VO")
@Data
public class TransactionInfoRespVO {
@Schema(description = "公司编号")
private String companyNumber;
@Schema(description = "公司名称")
private String companyName;
@Schema(description = "公司户名")
private String companyAccountName;
@Schema(description = "公司开户行")
private String companyBankAccount;
@Schema(description = "公司户号")
private String companyAccountNumber;
@Schema(description = "公司税号/社会信用代码")
private String companyTaxNumber;
@Schema(description = "客商编号")
private String supplierNumber;
@Schema(description = "客商名称")
private String supplierName;
@Schema(description = "客商户名")
private String supplierAccountName;
@Schema(description = "客商开户行")
private String supplierBankAccount;
@Schema(description = "客商户号")
private String supplierAccountNumber;
@Schema(description = "客商税号/社会信用代码")
private String supplierTaxNumber;
}

View File

@@ -213,5 +213,14 @@ public class ContractController implements BusinessControllerMarker {
@PreAuthorize("@ss.hasPermission('base:contract:query')") @PreAuthorize("@ss.hasPermission('base:contract:query')")
public CommonResult<List<PurchaseOrderWithDetailsDTO>> getOrderByOrderNo(@RequestBody List<String> orderNoS){ public CommonResult<List<PurchaseOrderWithDetailsDTO>> getOrderByOrderNo(@RequestBody List<String> orderNoS){
return contractApi.getOrderByOrderNo(orderNoS); return contractApi.getOrderByOrderNo(orderNoS);
}; }
@GetMapping("/transaction-info/by-paper-number")
@Operation(summary = "根据合同编号获得交易信息")
@PreAuthorize("@ss.hasPermission('base:contract:get')")
public CommonResult<TransactionInfoRespVO> transactionInfoByPaperNumber(
@RequestParam("contractPaperNumber") String contractPaperNumber
) {
return success(contractService.transactionInfoByPaperNumber(contractPaperNumber));
}
} }

View File

@@ -410,4 +410,44 @@ public class ContractMainDO extends BusinessBaseDO {
*/ */
@TableField("BSN_ID") @TableField("BSN_ID")
private Long businessId; private Long businessId;
/**
* 甲方户名
*/
@TableField("PRCH_ACCT_NAME")
private String purchaseAccountName;
/**
* 甲方开户行
*/
@TableField("PRCH_BNK_ACCT")
private String purchaseBankAccount;
/**
* 甲方户号
*/
@TableField("PRCH_ACCT_NUM")
private String purchaseAccountNumber;
/**
* 甲方税号/社会信用代码
*/
@TableField("PRCH_TAX_NUM")
private String purchaseTaxNumber;
/**
* 乙方户名
*/
@TableField("SALE_ACCT_NAME")
private String salesAccountName;
/**
* 乙方开户行
*/
@TableField("SALE_BNK_ACCT")
private String salesBankAccount;
/**
* 乙方户号
*/
@TableField("SALE_ACCT_NUM")
private String salesAccountNumber;
/**
* 乙方税号/社会信用代码
*/
@TableField("SALE_TAX_NUM")
private String salesTaxNumber;
} }

View File

@@ -231,4 +231,12 @@ public interface ContractService {
* @return 系统合同编号 * @return 系统合同编号
*/ */
String generateSystemContractNumber(String category); String generateSystemContractNumber(String category);
/**
* 根据合同编号获得交易信息
*
* @param contractPaperNumber 合同编号
* @return 交易信息
*/
TransactionInfoRespVO transactionInfoByPaperNumber(String contractPaperNumber);
} }

View File

@@ -17,10 +17,7 @@ import com.zt.plat.module.base.controller.admin.templtp.vo.TmplInscBsnRelSaveReq
import com.zt.plat.module.base.controller.admin.templtp.vo.TmplInscDatBsnSaveReqVO; import com.zt.plat.module.base.controller.admin.templtp.vo.TmplInscDatBsnSaveReqVO;
import com.zt.plat.module.base.controller.admin.templtp.vo.TmplInscItmBsnSaveReqVO; import com.zt.plat.module.base.controller.admin.templtp.vo.TmplInscItmBsnSaveReqVO;
import com.zt.plat.module.base.dal.dataobject.tmpltp.TmplInscBsnRelDO; import com.zt.plat.module.base.dal.dataobject.tmpltp.TmplInscBsnRelDO;
import com.zt.plat.module.base.dal.mysql.tmpltp.TemplateInstanceDataMapper;
import com.zt.plat.module.base.dal.mysql.tmpltp.TemplateInstanceItemMapper;
import com.zt.plat.module.base.dal.mysql.tmpltp.TmplInscBsnRelMapper; import com.zt.plat.module.base.dal.mysql.tmpltp.TmplInscBsnRelMapper;
import com.zt.plat.module.base.service.tmpltp.TemplateInstanceDataService;
import com.zt.plat.module.base.service.tmpltp.TmplInscBsnRelService; import com.zt.plat.module.base.service.tmpltp.TmplInscBsnRelService;
import com.zt.plat.module.base.service.tmpltp.TmplInscDatBsnService; import com.zt.plat.module.base.service.tmpltp.TmplInscDatBsnService;
import com.zt.plat.module.base.service.tmpltp.TmplInscItmBsnService; import com.zt.plat.module.base.service.tmpltp.TmplInscItmBsnService;
@@ -40,7 +37,6 @@ import com.zt.plat.module.contractorder.enums.contract.DictEnum;
import com.zt.plat.module.erp.controller.admin.erp.vo.ErpContractPageReqVO; import com.zt.plat.module.erp.controller.admin.erp.vo.ErpContractPageReqVO;
import com.zt.plat.module.erp.controller.admin.erp.vo.ErpContractSaveReqVO; import com.zt.plat.module.erp.controller.admin.erp.vo.ErpContractSaveReqVO;
import com.zt.plat.module.erp.dal.dataobject.erp.ErpContractDO; import com.zt.plat.module.erp.dal.dataobject.erp.ErpContractDO;
import com.zt.plat.module.erp.service.erp.ErpCompanyService;
import com.zt.plat.module.erp.service.erp.ErpContractService; import com.zt.plat.module.erp.service.erp.ErpContractService;
import com.zt.plat.module.infra.api.file.FileApi; import com.zt.plat.module.infra.api.file.FileApi;
import com.zt.plat.module.infra.api.file.dto.FileRespDTO; import com.zt.plat.module.infra.api.file.dto.FileRespDTO;
@@ -88,12 +84,6 @@ public class ContractServiceImpl implements ContractService {
@Resource @Resource
private ContractPlanMapper contractPlanMapper; private ContractPlanMapper contractPlanMapper;
@Resource @Resource
private TemplateInstanceDataService templateInstanceDataService;
@Resource
private TemplateInstanceDataMapper templateInstanceDataMapper;
@Resource
private TemplateInstanceItemMapper templateInstanceItemMapper;
@Resource
private ContractFormulaMapper contractFormulaMapper; private ContractFormulaMapper contractFormulaMapper;
@Resource @Resource
private ContractCoefficientMapper contractCoefficientMapper; private ContractCoefficientMapper contractCoefficientMapper;
@@ -114,8 +104,6 @@ public class ContractServiceImpl implements ContractService {
@Resource @Resource
private ContractDemoteMapper contractDemoteMapper; private ContractDemoteMapper contractDemoteMapper;
@Resource @Resource
private ErpCompanyService erpCompanyService;
@Resource
private ErpContractService erpContractService; private ErpContractService erpContractService;
@Resource @Resource
private SystemRelativityMapper systemRelativityMapper; private SystemRelativityMapper systemRelativityMapper;
@@ -1803,6 +1791,53 @@ public class ContractServiceImpl implements ContractService {
return erpContractVO; return erpContractVO;
} }
@Override
public TransactionInfoRespVO transactionInfoByPaperNumber(String contractPaperNumber) {
// 通过合同编号查询合同信息
ContractMainDO contractMainDO = contractMainMapper
.selectOne(TableFieldConstants.BSE_CTRT_MAIN_CTRT_PPR_NUM, contractPaperNumber);
// 合同不存在
if (contractMainDO == null) {
throw exception(CONTRACT_NOT_EXISTS);
}
// 交易信息
TransactionInfoRespVO infoRespVO = new TransactionInfoRespVO();
if (DictEnum.ERP_RCV_DLVY_INCOME.getCode().equals(contractMainDO.getDirection())) { // 收入
// 收支性质为收入,公司信息为乙方信息,客商信息为甲方信息
infoRespVO.setCompanyNumber(contractMainDO.getSalesCompanyNumber());
infoRespVO.setCompanyName(contractMainDO.getSalesCompanyName());
infoRespVO.setCompanyAccountName(contractMainDO.getSalesAccountName());
infoRespVO.setCompanyBankAccount(contractMainDO.getSalesBankAccount());
infoRespVO.setCompanyAccountNumber(contractMainDO.getSalesAccountNumber());
infoRespVO.setCompanyTaxNumber(contractMainDO.getSalesTaxNumber());
infoRespVO.setSupplierName(contractMainDO.getPurchaseCompanyNumber());
infoRespVO.setSupplierName(contractMainDO.getPurchaseCompanyName());
infoRespVO.setSupplierAccountName(contractMainDO.getPurchaseAccountName());
infoRespVO.setSupplierBankAccount(contractMainDO.getPurchaseBankAccount());
infoRespVO.setSupplierAccountNumber(contractMainDO.getPurchaseAccountNumber());
infoRespVO.setSupplierTaxNumber(contractMainDO.getPurchaseTaxNumber());
} else { // 支出
// 收支性质为支出,公司信息为甲方信息,客商信息为乙方信息
infoRespVO.setCompanyNumber(contractMainDO.getPurchaseCompanyNumber());
infoRespVO.setCompanyName(contractMainDO.getPurchaseCompanyName());
infoRespVO.setCompanyAccountName(contractMainDO.getPurchaseAccountName());
infoRespVO.setCompanyBankAccount(contractMainDO.getPurchaseBankAccount());
infoRespVO.setCompanyAccountNumber(contractMainDO.getPurchaseAccountNumber());
infoRespVO.setCompanyTaxNumber(contractMainDO.getPurchaseTaxNumber());
infoRespVO.setSupplierName(contractMainDO.getSalesCompanyNumber());
infoRespVO.setSupplierName(contractMainDO.getSalesCompanyName());
infoRespVO.setSupplierAccountName(contractMainDO.getSalesAccountName());
infoRespVO.setSupplierBankAccount(contractMainDO.getSalesBankAccount());
infoRespVO.setSupplierAccountNumber(contractMainDO.getSalesAccountNumber());
infoRespVO.setSupplierTaxNumber(contractMainDO.getSalesTaxNumber());
}
return infoRespVO;
}
/** /**
* 校验合同内容 * 校验合同内容
* *