合同提交erp功能编写
This commit is contained in:
@@ -27,6 +27,7 @@ import com.zt.plat.module.contractorder.enums.ProcessConstants;
|
|||||||
import com.zt.plat.module.contractorder.enums.TableFieldConstants;
|
import com.zt.plat.module.contractorder.enums.TableFieldConstants;
|
||||||
import com.zt.plat.module.contractorder.enums.contract.DictEnum;
|
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.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.ErpCompanyService;
|
||||||
import com.zt.plat.module.erp.service.erp.ErpContractService;
|
import com.zt.plat.module.erp.service.erp.ErpContractService;
|
||||||
@@ -838,9 +839,9 @@ public class ContractServiceImpl implements ContractService {
|
|||||||
if (contractMainDO != null) {
|
if (contractMainDO != null) {
|
||||||
|
|
||||||
// 生成ERP合同映射表
|
// 生成ERP合同映射表
|
||||||
ErpContractDO erpContractDO = new ErpContractDO();
|
ErpContractSaveReqVO erpContractVO = new ErpContractSaveReqVO();
|
||||||
// 合同主信息表主键:BSE_CTRT_MAIN
|
// 合同主信息表主键:BSE_CTRT_MAIN
|
||||||
erpContractDO.setContractMainId(id);
|
erpContractVO.setContractMainId(id);
|
||||||
// 操作标识:OPTN_ID
|
// 操作标识:OPTN_ID
|
||||||
// 1、先调用009ERP接口查询合同信息
|
// 1、先调用009ERP接口查询合同信息
|
||||||
ErpContractPageReqVO pageReqVO = new ErpContractPageReqVO();
|
ErpContractPageReqVO pageReqVO = new ErpContractPageReqVO();
|
||||||
@@ -863,111 +864,126 @@ public class ContractServiceImpl implements ContractService {
|
|||||||
PageResult<ErpContractDO> erpContractPage = erpContractService.getErpContractPage(pageReqVO);
|
PageResult<ErpContractDO> erpContractPage = erpContractService.getErpContractPage(pageReqVO);
|
||||||
if (erpContractPage.getTotal() > 0) {
|
if (erpContractPage.getTotal() > 0) {
|
||||||
// 2、如果009接口返回值中“合同编号”字段存在值,并且与传入的相同,则OPTN_ID值为“1”
|
// 2、如果009接口返回值中“合同编号”字段存在值,并且与传入的相同,则OPTN_ID值为“1”
|
||||||
erpContractDO.setOperationId("1");
|
erpContractVO.setOperationId("1");
|
||||||
} else {
|
} else {
|
||||||
// 3、如果009接口返回值中“合同编号”字段不存在值,根据合同主键查询映射表中是否存在没有删除的数据,如果有,值为“1”,如果没有,值为“0”
|
// 3、如果009接口返回值中“合同编号”字段不存在值,根据合同主键查询映射表中是否存在没有删除的数据,如果有,值为“1”,如果没有,值为“0”
|
||||||
/*ErpContractDO erpContract = erpContractService.getErpContractByMainId(id);
|
ErpContractDO erpContract = erpContractService.getErpContractByMainId(id);
|
||||||
if (erpContract != null) {
|
if (erpContract != null) {
|
||||||
erpContractDO.setOperationId("1");
|
erpContractVO.setOperationId("1");
|
||||||
} else {
|
} else {
|
||||||
erpContractDO.setOperationId("0");
|
erpContractVO.setOperationId("0");
|
||||||
}*/
|
}
|
||||||
}
|
}
|
||||||
// erpContractDO.setOperationId();
|
|
||||||
// 合同编号:CTRT_PPR_NUM
|
// 合同编号:CTRT_PPR_NUM
|
||||||
erpContractDO.setContractPaperNumber(contractMainDO.getContractPaperNumber());
|
erpContractVO.setContractPaperNumber(contractMainDO.getContractPaperNumber());
|
||||||
// 合同名称:CTRT_NAME
|
// 合同名称:CTRT_NAME
|
||||||
erpContractDO.setContractName(contractMainDO.getContractName());
|
erpContractVO.setContractName(contractMainDO.getContractName());
|
||||||
// 合同类型编号:CTRT_TP_NUM
|
// 合同类型编号:CTRT_TP_NUM
|
||||||
erpContractDO.setContractTypeNumber(contractMainDO.getConstructionTypeNumber());
|
erpContractVO.setContractTypeNumber(contractMainDO.getConstructionTypeNumber());
|
||||||
// 合同类型名称:CTRT_TP_NAME
|
// 合同类型名称:CTRT_TP_NAME
|
||||||
erpContractDO.setContractTypeName(contractMainDO.getConstructionTypeName());
|
erpContractVO.setContractTypeName(contractMainDO.getConstructionTypeName());
|
||||||
// 合同类别:CTRT_CTGR
|
// 合同类别:CTRT_CTGR
|
||||||
erpContractDO.setContractCategory(contractMainDO.getCategory());
|
erpContractVO.setContractCategory(contractMainDO.getCategory());
|
||||||
// 是否虚拟合同:IS_VRTL_CTRT
|
// 是否虚拟合同:IS_VRTL_CTRT
|
||||||
erpContractDO.setIsVirtualContract(contractMainDO.getContractVirtual());
|
erpContractVO.setIsVirtualContract(contractMainDO.getContractVirtual());
|
||||||
// 客商编号:SPLR_NUM 根据合同主表的收支方向判断,如果为“支出”,值为“ERP乙方公司编码”,反之为“ERP甲方公司编码”
|
// 客商编号:SPLR_NUM 根据合同主表的收支方向判断,如果为“支出”,值为“ERP乙方公司编码”,反之为“ERP甲方公司编码”
|
||||||
// 客商名称:SPLR_NAME 根据合同主表的收支方向判断,如果为“支出”,值为“ERP乙方公司名称”,反之为“ERP甲方公司名称”
|
// 客商名称:SPLR_NAME 根据合同主表的收支方向判断,如果为“支出”,值为“ERP乙方公司名称”,反之为“ERP甲方公司名称”
|
||||||
if (DictEnum.ERP_RCV_DLVY_EXPENSES.getCode().equals(contractMainDO.getDirection())) {
|
if (DictEnum.ERP_RCV_DLVY_EXPENSES.getCode().equals(contractMainDO.getDirection())) {
|
||||||
erpContractDO.setSupplierNumber(contractMainDO.getSalesCompanyNumber());
|
erpContractVO.setSupplierNumber(contractMainDO.getSalesCompanyNumber());
|
||||||
erpContractDO.setSupplierName(contractMainDO.getSalesCompanyName());
|
erpContractVO.setSupplierName(contractMainDO.getSalesCompanyName());
|
||||||
} else if (DictEnum.ERP_RCV_DLVY_INCOME.getCode().equals(contractMainDO.getDirection())) {
|
} else if (DictEnum.ERP_RCV_DLVY_INCOME.getCode().equals(contractMainDO.getDirection())) {
|
||||||
erpContractDO.setSupplierNumber(contractMainDO.getPurchaseCompanyNumber());
|
erpContractVO.setSupplierNumber(contractMainDO.getPurchaseCompanyNumber());
|
||||||
erpContractDO.setSupplierName(contractMainDO.getPurchaseCompanyName());
|
erpContractVO.setSupplierName(contractMainDO.getPurchaseCompanyName());
|
||||||
}
|
}
|
||||||
// 代理方:AGT
|
// 代理方:AGT
|
||||||
erpContractDO.setAgent(contractMainDO.getAgent());
|
erpContractVO.setAgent(contractMainDO.getAgent());
|
||||||
// 合同实施主体编号:CTRT_IMPL_NUM 根据合同主表的收支方向判断,如果为“支出”,值为“ERP甲方公司编码”,反之为“ERP乙方公司编码”
|
// 合同实施主体编号:CTRT_IMPL_NUM 根据合同主表的收支方向判断,如果为“支出”,值为“ERP甲方公司编码”,反之为“ERP乙方公司编码”
|
||||||
// 合同签订主体编号:CTRT_SGN_NUM 根据合同主表的收支方向判断,如果为“支出”,值为“ERP甲方公司名称”,反之为“ERP乙方公司名称”
|
// 合同签订主体编号:CTRT_SGN_NUM 根据合同主表的收支方向判断,如果为“支出”,值为“ERP甲方公司名称”,反之为“ERP乙方公司名称”
|
||||||
if (DictEnum.ERP_RCV_DLVY_EXPENSES.getCode().equals(contractMainDO.getDirection())) {
|
if (DictEnum.ERP_RCV_DLVY_EXPENSES.getCode().equals(contractMainDO.getDirection())) {
|
||||||
erpContractDO.setContractImplementNumber(contractMainDO.getPurchaseCompanyNumber());
|
erpContractVO.setContractImplementNumber(contractMainDO.getPurchaseCompanyNumber());
|
||||||
erpContractDO.setContractSignNumber(contractMainDO.getPurchaseCompanyName());
|
erpContractVO.setContractSignNumber(contractMainDO.getPurchaseCompanyName());
|
||||||
} else if (DictEnum.ERP_RCV_DLVY_INCOME.getCode().equals(contractMainDO.getDirection())) {
|
} else if (DictEnum.ERP_RCV_DLVY_INCOME.getCode().equals(contractMainDO.getDirection())) {
|
||||||
erpContractDO.setContractImplementNumber(contractMainDO.getSalesCompanyNumber());
|
erpContractVO.setContractImplementNumber(contractMainDO.getSalesCompanyNumber());
|
||||||
erpContractDO.setContractSignNumber(contractMainDO.getSalesCompanyName());
|
erpContractVO.setContractSignNumber(contractMainDO.getSalesCompanyName());
|
||||||
}
|
}
|
||||||
// 合同签订日期:SGN_DT
|
// 合同签订日期:SGN_DT
|
||||||
if (contractMainDO.getSignDate() != null) {
|
if (contractMainDO.getSignDate() != null) {
|
||||||
erpContractDO.setSignDate(contractMainDO.getSignDate().toLocalDate());
|
erpContractVO.setSignDate(contractMainDO.getSignDate().toLocalDate());
|
||||||
}
|
}
|
||||||
// 合同起始日期:STRT_DT
|
// 合同起始日期:STRT_DT
|
||||||
if (contractMainDO.getStartDate() != null) {
|
if (contractMainDO.getStartDate() != null) {
|
||||||
erpContractDO.setStartDate(contractMainDO.getStartDate().toLocalDate());
|
erpContractVO.setStartDate(contractMainDO.getStartDate().toLocalDate());
|
||||||
}
|
}
|
||||||
// 合同终止日期:STOP_DT
|
// 合同终止日期:STOP_DT
|
||||||
if (contractMainDO.getEndDate() != null) {
|
if (contractMainDO.getEndDate() != null) {
|
||||||
erpContractDO.setStopDate(contractMainDO.getEndDate().toLocalDate());
|
erpContractVO.setStopDate(contractMainDO.getEndDate().toLocalDate());
|
||||||
}
|
}
|
||||||
// 币种编号:CUR
|
// 币种编号:CUR
|
||||||
erpContractDO.setCurrency(contractMainDO.getCurrency());
|
erpContractVO.setCurrency(contractMainDO.getCurrency());
|
||||||
// 合同总金额(原币-含税):SRC_AMT
|
// 合同总金额(原币-含税):SRC_AMT
|
||||||
erpContractDO.setSourceAmount(contractMainDO.getCooAmount());
|
erpContractVO.setSourceAmount(contractMainDO.getCooAmount());
|
||||||
// 合同总金额(本位币-含税):BSC_AMT
|
// 合同总金额(本位币-含税):BSC_AMT
|
||||||
erpContractDO.setBasicAmount(contractMainDO.getBasicAmount());
|
erpContractVO.setBasicAmount(contractMainDO.getBasicAmount());
|
||||||
// 变更后合同总金额(原币-含税):CHG_SRC_AMT
|
// 变更后合同总金额(原币-含税):CHG_SRC_AMT
|
||||||
erpContractDO.setChangeSourceAmount(contractMainDO.getChangeCooAmount());
|
erpContractVO.setChangeSourceAmount(contractMainDO.getChangeCooAmount());
|
||||||
// 变更后合同总金额(本位币-含税):CHG_BSC_AMT
|
// 变更后合同总金额(本位币-含税):CHG_BSC_AMT
|
||||||
erpContractDO.setChangeBasicAmount(contractMainDO.getChangeBasicAmount());
|
erpContractVO.setChangeBasicAmount(contractMainDO.getChangeBasicAmount());
|
||||||
// 合同状态编号:STS_NUM 参照060接口
|
// 合同状态编号:STS_NUM 参照060接口
|
||||||
erpContractDO.setStatusNumber(DictEnum.SUBMIT_ERP_CTRT_STS_EF.getCode());
|
erpContractVO.setStatusNumber(DictEnum.SUBMIT_ERP_CTRT_STS_EF.getCode());
|
||||||
// 合同状态名称:STS_NAME 参照060接口
|
// 合同状态名称:STS_NAME 参照060接口
|
||||||
erpContractDO.setStatusName(DictEnum.SUBMIT_ERP_CTRT_STS_EF.getLabel());
|
erpContractVO.setStatusName(DictEnum.SUBMIT_ERP_CTRT_STS_EF.getLabel());
|
||||||
// 是否有预付款:IS_PPYM
|
// 是否有预付款:IS_PPYM
|
||||||
erpContractDO.setIsPrepayment(contractMainDO.getHasPrepayment());
|
erpContractVO.setIsPrepayment(contractMainDO.getHasPrepayment());
|
||||||
// 预付款比例:PPYM_RTIO
|
// 预付款比例:PPYM_RTIO
|
||||||
erpContractDO.setPrepaymentRatio(contractMainDO.getPrepaymentRatio());
|
erpContractVO.setPrepaymentRatio(contractMainDO.getPrepaymentRatio());
|
||||||
// 预付款金额:PPYM_AMT
|
// 预付款金额:PPYM_AMT
|
||||||
erpContractDO.setPrepaymentAmount(contractMainDO.getPrepaymentAmount());
|
erpContractVO.setPrepaymentAmount(contractMainDO.getPrepaymentAmount());
|
||||||
// 履约保证金-变更前(原币):SRC_BFR_BND
|
// 履约保证金-变更前(原币):SRC_BFR_BND
|
||||||
erpContractDO.setSourceBeforeBond(contractMainDO.getChangeCooAmountDeposit());
|
erpContractVO.setSourceBeforeBond(contractMainDO.getChangeCooAmountDeposit());
|
||||||
// 履约保证金-变更前(本位币):BSC_BFR_BND
|
// 履约保证金-变更前(本位币):BSC_BFR_BND
|
||||||
erpContractDO.setBasicBeforeBond(contractMainDO.getChangeBasicAmountDeposit());
|
erpContractVO.setBasicBeforeBond(contractMainDO.getChangeBasicAmountDeposit());
|
||||||
// 履约保证金-变更后(原币):SRC_AFT_BND
|
// 履约保证金-变更后(原币):SRC_AFT_BND
|
||||||
erpContractDO.setSourceAfterBond(contractMainDO.getChangeCooAmountDeposit());
|
erpContractVO.setSourceAfterBond(contractMainDO.getChangeCooAmountDeposit());
|
||||||
// 履约保证金-变更后(本位币):BSC_AFT_BND
|
// 履约保证金-变更后(本位币):BSC_AFT_BND
|
||||||
erpContractDO.setBasicAfterBond(contractMainDO.getChangeBasicAmountDeposit());
|
erpContractVO.setBasicAfterBond(contractMainDO.getChangeBasicAmountDeposit());
|
||||||
// 是否含质保金:IS_QUA_AMT
|
// 是否含质保金:IS_QUA_AMT
|
||||||
erpContractDO.setIsQualityassuranceAmount(contractMainDO.getHasQualityAmount());
|
erpContractVO.setIsQualityassuranceAmount(contractMainDO.getHasQualityAmount());
|
||||||
// 质保金比例:QUA_RTIO
|
// 质保金比例:QUA_RTIO
|
||||||
erpContractDO.setQualityassuranceRatio(contractMainDO.getQualityRatio());
|
erpContractVO.setQualityassuranceRatio(contractMainDO.getQualityRatio());
|
||||||
// 质保金金额:QUA_AMT
|
// 质保金金额:QUA_AMT
|
||||||
erpContractDO.setQualityassuranceAmount(contractMainDO.getQualityAmount());
|
erpContractVO.setQualityassuranceAmount(contractMainDO.getQualityAmount());
|
||||||
// 是否内部企业:IS_INTL
|
// 是否内部企业:IS_INTL
|
||||||
erpContractDO.setIsInternal(contractMainDO.getIsInternal());
|
erpContractVO.setIsInternal(contractMainDO.getIsInternal());
|
||||||
// 收支性质:NTR
|
// 收支性质:NTR
|
||||||
erpContractDO.setNature(contractMainDO.getDirection());
|
erpContractVO.setNature(contractMainDO.getDirection());
|
||||||
// 备注信息:RMK
|
// 备注信息:RMK
|
||||||
erpContractDO.setRemark(contractMainDO.getRemark());
|
erpContractVO.setRemark(contractMainDO.getRemark());
|
||||||
// 是否框架合同:IS_FMWK
|
// 是否框架合同:IS_FMWK
|
||||||
erpContractDO.setIsFramework(contractMainDO.getIsFramework());
|
erpContractVO.setIsFramework(contractMainDO.getIsFramework());
|
||||||
// 境内/境外:IS_DOM
|
// 境内/境外:IS_DOM
|
||||||
erpContractDO.setIsDomestic(contractMainDO.getIsDomestic());
|
erpContractVO.setIsDomestic(contractMainDO.getIsDomestic());
|
||||||
// 达到收款条件金额:PYEE_CND_AMT
|
// 达到收款条件金额:PYEE_CND_AMT
|
||||||
erpContractDO.setPayeeConditionAmount(contractMainDO.getPayeeConditionAmount());
|
erpContractVO.setPayeeConditionAmount(contractMainDO.getPayeeConditionAmount());
|
||||||
// 建筑服务发生地:ARCH_SVC_PLCE
|
// 建筑服务发生地:ARCH_SVC_PLCE
|
||||||
erpContractDO.setArchitectureServicePlace(contractMainDO.getArchitectureServicePlace());
|
erpContractVO.setArchitectureServicePlace(contractMainDO.getArchitectureServicePlace());
|
||||||
|
|
||||||
|
// 公司编号
|
||||||
|
erpContractVO.setCompanyId(contractMainDO.getCompanyId());
|
||||||
|
// 公司名称
|
||||||
|
erpContractVO.setCompanyName(contractMainDO.getCompanyName());
|
||||||
|
// 部门编号
|
||||||
|
erpContractVO.setDeptId(contractMainDO.getDeptId());
|
||||||
|
// 部门名称
|
||||||
|
erpContractVO.setDeptName(contractMainDO.getDeptName());
|
||||||
|
// 岗位编号
|
||||||
|
erpContractVO.setPostId(contractMainDO.getPostId());
|
||||||
|
// 创建者
|
||||||
|
erpContractVO.setCreatorName(contractMainDO.getCreatorName());
|
||||||
|
// 更新者
|
||||||
|
erpContractVO.setUpdaterName(contractMainDO.getUpdaterName());
|
||||||
|
|
||||||
// 调用ERP模块
|
// 调用ERP模块
|
||||||
|
erpContractService.submitErp(erpContractVO);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -199,4 +199,24 @@ public class ErpContractSaveReqVO {
|
|||||||
@Schema(description = "达到收款条件金额;销售合同,且类型为SAP02COSR必填")
|
@Schema(description = "达到收款条件金额;销售合同,且类型为SAP02COSR必填")
|
||||||
private BigDecimal payeeConditionAmount;
|
private BigDecimal payeeConditionAmount;
|
||||||
|
|
||||||
|
@Schema(description = "公司编号")
|
||||||
|
private Long companyId;
|
||||||
|
|
||||||
|
@Schema(description = "公司名称")
|
||||||
|
private String companyName;
|
||||||
|
|
||||||
|
@Schema(description = "部门编号")
|
||||||
|
private Long deptId;
|
||||||
|
|
||||||
|
@Schema(description = "部门名称")
|
||||||
|
private String deptName;
|
||||||
|
|
||||||
|
@Schema(description = "岗位编号")
|
||||||
|
private Long postId;
|
||||||
|
|
||||||
|
@Schema(description = "创建者")
|
||||||
|
private String creatorName;
|
||||||
|
|
||||||
|
@Schema(description = "更新者")
|
||||||
|
private String updaterName;
|
||||||
}
|
}
|
||||||
@@ -70,4 +70,12 @@ public interface ErpContractService {
|
|||||||
PageResult<ErpContractDO> getErpContractPage(ErpContractPageReqVO pageReqVO);
|
PageResult<ErpContractDO> getErpContractPage(ErpContractPageReqVO pageReqVO);
|
||||||
|
|
||||||
void callErpRfcInterface();
|
void callErpRfcInterface();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 合同提交ERP
|
||||||
|
*
|
||||||
|
* @param erpContractVO ERP合同映射数据
|
||||||
|
* @return ERP合同映射
|
||||||
|
*/
|
||||||
|
String submitErp(ErpContractSaveReqVO erpContractVO);
|
||||||
}
|
}
|
||||||
@@ -6,6 +6,9 @@ import com.alibaba.fastjson.JSONObject;
|
|||||||
import com.xxl.job.core.handler.annotation.XxlJob;
|
import com.xxl.job.core.handler.annotation.XxlJob;
|
||||||
import com.zt.plat.framework.common.pojo.PageResult;
|
import com.zt.plat.framework.common.pojo.PageResult;
|
||||||
import com.zt.plat.framework.common.util.object.BeanUtils;
|
import com.zt.plat.framework.common.util.object.BeanUtils;
|
||||||
|
import com.zt.plat.framework.security.core.util.SecurityFrameworkUtils;
|
||||||
|
import com.zt.plat.module.erp.api.ErpExternalApi;
|
||||||
|
import com.zt.plat.module.erp.api.dto.ErpSubmitReqDTO;
|
||||||
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.ErpContractRespVO;
|
import com.zt.plat.module.erp.controller.admin.erp.vo.ErpContractRespVO;
|
||||||
import com.zt.plat.module.erp.controller.admin.erp.vo.ErpContractSaveReqVO;
|
import com.zt.plat.module.erp.controller.admin.erp.vo.ErpContractSaveReqVO;
|
||||||
@@ -46,6 +49,9 @@ public class ErpContractServiceImpl implements ErpContractService {
|
|||||||
@Resource
|
@Resource
|
||||||
private ErpConfig erpConfig;
|
private ErpConfig erpConfig;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
public ErpExternalApi erpExternalApi;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ErpContractRespVO createErpContract(ErpContractSaveReqVO createReqVO) {
|
public ErpContractRespVO createErpContract(ErpContractSaveReqVO createReqVO) {
|
||||||
// 插入
|
// 插入
|
||||||
@@ -226,6 +232,121 @@ public class ErpContractServiceImpl implements ErpContractService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String submitErp(ErpContractSaveReqVO erpContractVO) {
|
||||||
|
|
||||||
|
// 转换为DO
|
||||||
|
ErpContractDO erpContract = BeanUtils.toBean(erpContractVO, ErpContractDO.class);
|
||||||
|
|
||||||
|
// 根据合同主信息ID查询合同映射
|
||||||
|
ErpContractDO erpContractDO = getErpContractByMainId(erpContract.getContractMainId());
|
||||||
|
if (erpContractDO == null) {
|
||||||
|
// 不存在映射表则新增
|
||||||
|
erpContractMapper.insert(erpContract);
|
||||||
|
} else {
|
||||||
|
// 存在映射表则更新
|
||||||
|
erpContract.setId(erpContractDO.getId());
|
||||||
|
erpContractMapper.updateById(erpContract);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 构建ERP接口的参数
|
||||||
|
ErpSubmitReqDTO erpSubmitReqDTO = new ErpSubmitReqDTO();
|
||||||
|
erpSubmitReqDTO.setFuncnr("060");
|
||||||
|
erpSubmitReqDTO.setBskey(erpContract.getContractPaperNumber());
|
||||||
|
erpSubmitReqDTO.setUsrid(SecurityFrameworkUtils.getLoginUserId().toString());
|
||||||
|
erpSubmitReqDTO.setUsrnm(SecurityFrameworkUtils.getLoginUserNickname());
|
||||||
|
|
||||||
|
Map<String, Object> head = new HashMap<>();
|
||||||
|
// CZBS 操作标识 枚举值0:新增 1:修改
|
||||||
|
head.put("CZBS", erpContract.getOperationId());
|
||||||
|
// HTBH 合同编号
|
||||||
|
head.put("HTBH", erpContract.getContractPaperNumber());
|
||||||
|
// HTMC 合同名称
|
||||||
|
head.put("HTMC", erpContract.getContractName());
|
||||||
|
// HTLXBH 合同类型编号
|
||||||
|
head.put("HTLXBH", erpContract.getContractTypeNumber());
|
||||||
|
// HTLXMC 合同类型名称
|
||||||
|
head.put("HTLXMC", erpContract.getContractTypeName());
|
||||||
|
// HTLB 合同类别 枚举值:1:购销合同
|
||||||
|
head.put("HTLB", erpContract.getContractCategory());
|
||||||
|
// SFXNHT 是否虚拟合同 枚举值 0:否 1:是
|
||||||
|
head.put("SFXNHT", erpContract.getIsVirtualContract());
|
||||||
|
// WLDWBH 客户/供应商编号 如果合同类型是收入类的,传客户编号和客户名称;
|
||||||
|
head.put("WLDWBH", erpContract.getSupplierNumber());
|
||||||
|
// WLDWMC 客户/供应商名称 如果合同类型是支出类的,传供应商编号和供应商名称;
|
||||||
|
head.put("WLDWMC", erpContract.getSupplierName());
|
||||||
|
// ZLIFNR 代理方
|
||||||
|
head.put("ZLIFNR", erpContract.getAgent());
|
||||||
|
// HTSSZTBH 合同实施主体编号 SAP公司代码
|
||||||
|
head.put("HTSSZTBH", erpContract.getContractImplementNumber());
|
||||||
|
// HTQDZTBH 合同签订主体编号 SAP公司代码
|
||||||
|
head.put("HTQDZTBH", erpContract.getContractSignNumber());
|
||||||
|
// HTQDRQ 合同签订日期 格式:YYYY-MM-DD
|
||||||
|
head.put("HTQDRQ", erpContract.getSignDate());
|
||||||
|
// HTQSRQ 合同起始日期 格式:YYYY-MM-DD
|
||||||
|
head.put("HTQSRQ", erpContract.getStartDate());
|
||||||
|
// HTZZRQ 合同终止日期 格式:YYYY-MM-DD
|
||||||
|
head.put("HTZZRQ", erpContract.getStopDate());
|
||||||
|
// BZBH 币种编号 CNY、USD…
|
||||||
|
head.put("BZBH", erpContract.getCurrency());
|
||||||
|
// HTYBZJE 合同总金额(原币-含税)
|
||||||
|
head.put("HTYBZJE", erpContract.getSourceAmount());
|
||||||
|
// HTBWBZJE 合同总金额(本位币-含税)
|
||||||
|
head.put("HTBWBZJE", erpContract.getBasicAmount());
|
||||||
|
// BGHHTYBZJE 变更后合同总金额(原币-含税) 如果未做合同变更,金额等于合同总金额(原币-含税)
|
||||||
|
head.put("BGHHTYBZJE", erpContract.getChangeSourceAmount());
|
||||||
|
// BGHHTBWBZJE 变更后合同总金额(本位币-含税) 如果未做合同变更,金额等于合同总金额(本位币-含税)
|
||||||
|
head.put("BGHHTBWBZJE", erpContract.getChangeBasicAmount());
|
||||||
|
// HTZTBH 合同状态编号
|
||||||
|
head.put("HTZTBH", erpContract.getStatusNumber());
|
||||||
|
// HTZTMC 合同状态名称
|
||||||
|
head.put("HTZTMC", erpContract.getStatusName());
|
||||||
|
// SFYYFK 是否有预付款 枚举值 0:否 1:是
|
||||||
|
head.put("SFYYFK", erpContract.getIsPrepayment());
|
||||||
|
// YFKBL 预付款比例 如果是否有预付款为1,则必填
|
||||||
|
head.put("YFKBL", erpContract.getPrepaymentRatio());
|
||||||
|
// YFKJE 预付款金额
|
||||||
|
head.put("YFKJE", erpContract.getPrepaymentAmount());
|
||||||
|
// LYBZJBGQYB 履约保证金-变更前(原币)
|
||||||
|
head.put("LYBZJBGQYB", erpContract.getSourceBeforeBond());
|
||||||
|
// LYBZJBGQBWB 履约保证金-变更前(本位币)
|
||||||
|
head.put("LYBZJBGQBWB", erpContract.getBasicBeforeBond());
|
||||||
|
// LYBZJBGHYB 履约保证金-变更后(原币)
|
||||||
|
head.put("LYBZJBGHYB", erpContract.getSourceAfterBond());
|
||||||
|
// LYBZJBGHBWB 履约保证金-变更后(本位币)
|
||||||
|
head.put("LYBZJBGHBWB", erpContract.getBasicAfterBond());
|
||||||
|
// SFHZBJ 是否含质保金 枚举值 0:否 1:是
|
||||||
|
head.put("SFHZBJ", erpContract.getIsQualityassuranceAmount());
|
||||||
|
// ZBJBL 质保金比例 如果是否含质保金为1,则必填
|
||||||
|
head.put("ZBJBL", erpContract.getQualityassuranceRatio());
|
||||||
|
// BZJJE 质保金金额
|
||||||
|
head.put("BZJJE", erpContract.getQualityassuranceAmount());
|
||||||
|
// SFNBQY 是否内部企业 枚举值 0:否 1:是
|
||||||
|
head.put("SFNBQY", erpContract.getIsInternal());
|
||||||
|
// SZXZ 收支性质 枚举值 1:收入 2:支出
|
||||||
|
head.put("SZXZ", erpContract.getNature());
|
||||||
|
// BZXX 备注信息
|
||||||
|
head.put("BZXX", erpContract.getRemark());
|
||||||
|
// SFKJHT 是否框架合同 0:否;1:是;当等于1时:合同总金额(本币)、合同总金额(原币)、变更后合同总金额(原币-含税)、变更后合同总金额(本位币-含税)赋默认值为:1000000000000000.00
|
||||||
|
head.put("SFKJHT", erpContract.getIsFramework());
|
||||||
|
// JNJW 境内/境外 枚举值 0:境内 1:境外
|
||||||
|
head.put("JNJW", erpContract.getIsDomestic());
|
||||||
|
// JZFWFSD 建筑服务发生地
|
||||||
|
head.put("JZFWFSD", erpContract.getArchitectureServicePlace());
|
||||||
|
// DDSKJE 达到收款条件金额
|
||||||
|
head.put("DDSKJE", erpContract.getPayeeConditionAmount());
|
||||||
|
|
||||||
|
Map<String, Object> req = new HashMap<>();
|
||||||
|
req.put("head", head);
|
||||||
|
erpSubmitReqDTO.setReq(req);
|
||||||
|
|
||||||
|
HashMap<String, String> response = erpExternalApi.submitDataToErp(erpSubmitReqDTO);
|
||||||
|
|
||||||
|
System.out.println(response.get("resStr"));
|
||||||
|
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 处理数据,区分新增和更新
|
* 处理数据,区分新增和更新
|
||||||
*/
|
*/
|
||||||
|
|||||||
Reference in New Issue
Block a user