From fceba54124e57de793eddea657ba218be61f1919 Mon Sep 17 00:00:00 2001 From: guojunyun Date: Sun, 26 Oct 2025 23:13:59 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9B=BD=E8=B4=B82.0=E7=B3=BB=E7=BB=9F?= =?UTF-8?q?=E5=90=88=E5=90=8C=E8=B0=83=E7=94=A8=E6=8E=A5=E5=8F=A3=E7=94=9F?= =?UTF-8?q?=E6=88=90=E5=86=85=E9=83=A8=E4=BE=9B=E5=BA=94=E9=93=BE=E7=9A=84?= =?UTF-8?q?=E5=90=88=E5=90=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../enums/ErrorCodeConstants.java | 1 + .../contractorder/api/ContractApiImpl.java | 1113 ++++++++++++++++- 2 files changed, 1070 insertions(+), 44 deletions(-) diff --git a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/enums/ErrorCodeConstants.java b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/enums/ErrorCodeConstants.java index bd27b0c..6a2ebcc 100644 --- a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/enums/ErrorCodeConstants.java +++ b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/enums/ErrorCodeConstants.java @@ -28,4 +28,5 @@ public interface ErrorCodeConstants { ErrorCode CONTRACT_STATUS_NOT_SUBMIT_ERP = new ErrorCode(1_027_000_013, "{}状态合同不允许提交ERP"); ErrorCode CONTRACT_ORDER_EXISTS = new ErrorCode(1_027_000_014, "关联订单已存在"); ErrorCode CONTRACT_SUBMIT_ERP_FAIL = new ErrorCode(1_027_000_015, "合同提交erp失败:{}"); + ErrorCode CONTRACT_UNKNOWN_OPERATE = new ErrorCode(1_027_000_015, "未知的操作"); } diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/api/ContractApiImpl.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/api/ContractApiImpl.java index a0bf241..355cd16 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/api/ContractApiImpl.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/api/ContractApiImpl.java @@ -6,12 +6,16 @@ import com.zt.plat.framework.common.util.object.BeanUtils; import com.zt.plat.module.contractorder.api.dto.PrchOrdDtlDTO; import com.zt.plat.module.contractorder.api.dto.PurchaseOrderWithDetailsDTO; import com.zt.plat.module.contractorder.api.dto.contract.ContractRespDTO; -import com.zt.plat.module.contractorder.api.vo.contract.international.ContractRequest; +import com.zt.plat.module.contractorder.api.vo.contract.international.*; import com.zt.plat.module.contractorder.controller.admin.purchaseorder.vo.PurchaseOrderDetailsRespVO; import com.zt.plat.module.contractorder.dal.dataobject.contract.ContractMainDO; import com.zt.plat.module.contractorder.dal.dataobject.contract.ContractOtherFieldDO; +import com.zt.plat.module.contractorder.dal.dataobject.contract.ContractOtherFormDO; +import com.zt.plat.module.contractorder.dal.dataobject.contract.SystemRelativityDO; import com.zt.plat.module.contractorder.dal.mysql.contract.ContractMainMapper; import com.zt.plat.module.contractorder.dal.mysql.contract.ContractOtherFieldMapper; +import com.zt.plat.module.contractorder.dal.mysql.contract.ContractOtherFormMapper; +import com.zt.plat.module.contractorder.dal.mysql.contract.SystemRelativityMapper; import com.zt.plat.module.contractorder.enums.contract.DictEnum; import com.zt.plat.module.contractorder.service.contract.ContractService; import com.zt.plat.module.contractorder.service.purchaseorder.PurchaseOrderService; @@ -30,8 +34,7 @@ import java.util.List; import static com.zt.plat.framework.common.exception.util.ServiceExceptionUtil.exception; import static com.zt.plat.framework.common.pojo.CommonResult.success; -import static com.zt.plat.module.contractorder.enums.ErrorCodeConstants.CONTRACT_NOT_EXISTS; -import static com.zt.plat.module.contractorder.enums.ErrorCodeConstants.CONTRACT_SUBMIT_ERP_FAIL; +import static com.zt.plat.module.contractorder.enums.ErrorCodeConstants.*; @RestController @Validated @@ -45,7 +48,11 @@ public class ContractApiImpl implements ContractApi { @Resource private ContractMainMapper contractMainMapper; @Resource + private ContractOtherFormMapper contractOtherFormMapper; + @Resource private ContractOtherFieldMapper contractOtherFieldMapper; + @Resource + private SystemRelativityMapper systemRelativityMapper; @Override public ContractRespDTO getContractByPaperNumber(String contractPaperNumber) { @@ -156,26 +163,35 @@ public class ContractApiImpl implements ContractApi { // 逻辑处理 // 操作标志 I 新增/更新;D 删除 String operateFlag = reqVO.getOperateFlag(); + // 合同唯一键 + String externalId = reqVO.getContractId(); // 系统合同ID Long contractId = null; - // 根据合同编号查询合同信息 - ContractMainDO oldContract = contractMainMapper.selectOne("CTRT_PPR_NUM", contractMainDO.getContractPaperNumber()); + // 查询系统关联合同 + SystemRelativityDO systemRelativityDO = systemRelativityMapper.selectOne("UP_ID", externalId); if ("I".equals(operateFlag)) { - if (oldContract != null) { // 修改合同 - contractId = oldContract.getId(); + if (systemRelativityDO != null && systemRelativityDO.getDownId() != null) { // 修改合同 + contractId = systemRelativityDO.getDownId(); contractMainDO.setId(contractId); contractMainMapper.updateById(contractMainDO); } else { // 新增合同 contractMainMapper.insert(contractMainDO); contractId = contractMainDO.getId(); - // 生成关联数据 TODO - // 合同唯一键 + // 生成关联数据 + SystemRelativityDO saveRelation = new SystemRelativityDO(); + saveRelation.setUpId(Long.parseLong(externalId)); + saveRelation.setDownId(contractId); + saveRelation.setWay("EXTERNAL"); + saveRelation.setStatus(DictEnum.BSE_SYS_REL_TP_CONTRACT.getCode()); + systemRelativityMapper.insert(saveRelation); } } else if ("D".equals(operateFlag)) { - if (oldContract == null) throw exception(CONTRACT_NOT_EXISTS); - contractId = oldContract.getId(); + if (systemRelativityDO == null || systemRelativityDO.getDownId() == null) throw exception(CONTRACT_NOT_EXISTS); + contractId = systemRelativityDO.getDownId(); contractMainMapper.deleteById(contractId); + } else { + throw exception(CONTRACT_UNKNOWN_OPERATE); } // 提交合同到erp @@ -243,7 +259,7 @@ public class ContractApiImpl implements ContractApi { contractOtherFieldDO = new ContractOtherFieldDO(); contractOtherFieldDO.setFieldNumber("contractStatus"); contractOtherFieldDO.setFieldName("合同状态代码 (值集: 40-签约)"); - contractOtherFieldDO.setFieldValue(reqVO.getContractStatus().toString()); + contractOtherFieldDO.setFieldValue(reqVO.getContractStatus()); contractOtherFieldDO.setFieldDescription("合同状态代码 (值集: 40-签约)"); contractOtherFieldDO.setType("String"); contractOtherFieldDO.setContractMainId(contractId.toString()); @@ -252,7 +268,7 @@ public class ContractApiImpl implements ContractApi { contractOtherFieldDO = new ContractOtherFieldDO(); contractOtherFieldDO.setFieldNumber("contractType"); contractOtherFieldDO.setFieldName("合同类型 (货运;货代;仓储;保险)"); - contractOtherFieldDO.setFieldValue(reqVO.getContractType().toString()); + contractOtherFieldDO.setFieldValue(reqVO.getContractType()); contractOtherFieldDO.setFieldDescription("合同类型 (货运;货代;仓储;保险)"); contractOtherFieldDO.setType("String"); contractOtherFieldDO.setContractMainId(contractId.toString()); @@ -261,7 +277,7 @@ public class ContractApiImpl implements ContractApi { contractOtherFieldDO = new ContractOtherFieldDO(); contractOtherFieldDO.setFieldNumber("textType"); contractOtherFieldDO.setFieldName("是否非标准合同文本"); - contractOtherFieldDO.setFieldValue(reqVO.getTextType().toString()); + contractOtherFieldDO.setFieldValue(reqVO.getTextType()); contractOtherFieldDO.setFieldDescription("是否非标准合同文本"); contractOtherFieldDO.setType("String"); contractOtherFieldDO.setContractMainId(contractId.toString()); @@ -270,7 +286,7 @@ public class ContractApiImpl implements ContractApi { contractOtherFieldDO = new ContractOtherFieldDO(); contractOtherFieldDO.setFieldNumber("priceType"); contractOtherFieldDO.setFieldName("是否固定单价 (0-浮动, 1-固定)"); - contractOtherFieldDO.setFieldValue(reqVO.getPriceType().toString()); + contractOtherFieldDO.setFieldValue(reqVO.getPriceType()); contractOtherFieldDO.setFieldDescription("是否固定单价 (0-浮动, 1-固定)"); contractOtherFieldDO.setType("String"); contractOtherFieldDO.setContractMainId(contractId.toString()); @@ -279,7 +295,7 @@ public class ContractApiImpl implements ContractApi { contractOtherFieldDO = new ContractOtherFieldDO(); contractOtherFieldDO.setFieldNumber("settleMethod"); contractOtherFieldDO.setFieldName("结算方式"); - contractOtherFieldDO.setFieldValue(reqVO.getSettleMethod().toString()); + contractOtherFieldDO.setFieldValue(reqVO.getSettleMethod()); contractOtherFieldDO.setFieldDescription("结算方式"); contractOtherFieldDO.setType("String"); contractOtherFieldDO.setContractMainId(contractId.toString()); @@ -288,7 +304,7 @@ public class ContractApiImpl implements ContractApi { contractOtherFieldDO = new ContractOtherFieldDO(); contractOtherFieldDO.setFieldNumber("firstContractCode"); contractOtherFieldDO.setFieldName("对方合同号"); - contractOtherFieldDO.setFieldValue(reqVO.getFirstContractCode().toString()); + contractOtherFieldDO.setFieldValue(reqVO.getFirstContractCode()); contractOtherFieldDO.setFieldDescription("对方合同号"); contractOtherFieldDO.setType("String"); contractOtherFieldDO.setContractMainId(contractId.toString()); @@ -297,7 +313,7 @@ public class ContractApiImpl implements ContractApi { contractOtherFieldDO = new ContractOtherFieldDO(); contractOtherFieldDO.setFieldNumber("settleGist"); contractOtherFieldDO.setFieldName("结算依据 (10-交货量, 20-卸车量)"); - contractOtherFieldDO.setFieldValue(reqVO.getSettleGist().toString()); + contractOtherFieldDO.setFieldValue(reqVO.getSettleGist()); contractOtherFieldDO.setFieldDescription("结算依据 (10-交货量, 20-卸车量)"); contractOtherFieldDO.setType("String"); contractOtherFieldDO.setContractMainId(contractId.toString()); @@ -315,7 +331,7 @@ public class ContractApiImpl implements ContractApi { contractOtherFieldDO = new ContractOtherFieldDO(); contractOtherFieldDO.setFieldNumber("transType"); contractOtherFieldDO.setFieldName("运输方式 (10-铁路或汽运, 20-水路运输, 30-铁路运输, 40-汽车运输, 50-航空运输)"); - contractOtherFieldDO.setFieldValue(reqVO.getTransType().toString()); + contractOtherFieldDO.setFieldValue(reqVO.getTransType()); contractOtherFieldDO.setFieldDescription("运输方式 (10-铁路或汽运, 20-水路运输, 30-铁路运输, 40-汽车运输, 50-航空运输)"); contractOtherFieldDO.setType("String"); contractOtherFieldDO.setContractMainId(contractId.toString()); @@ -324,7 +340,7 @@ public class ContractApiImpl implements ContractApi { contractOtherFieldDO = new ContractOtherFieldDO(); contractOtherFieldDO.setFieldNumber("packMethod"); contractOtherFieldDO.setFieldName("包装方式"); - contractOtherFieldDO.setFieldValue(reqVO.getPackMethod().toString()); + contractOtherFieldDO.setFieldValue(reqVO.getPackMethod()); contractOtherFieldDO.setFieldDescription("包装方式"); contractOtherFieldDO.setType("String"); contractOtherFieldDO.setContractMainId(contractId.toString()); @@ -342,7 +358,7 @@ public class ContractApiImpl implements ContractApi { contractOtherFieldDO = new ContractOtherFieldDO(); contractOtherFieldDO.setFieldNumber("pickupLocation"); contractOtherFieldDO.setFieldName("提货地"); - contractOtherFieldDO.setFieldValue(reqVO.getPickupLocation().toString()); + contractOtherFieldDO.setFieldValue(reqVO.getPickupLocation()); contractOtherFieldDO.setFieldDescription("提货地"); contractOtherFieldDO.setType("String"); contractOtherFieldDO.setContractMainId(contractId.toString()); @@ -369,7 +385,7 @@ public class ContractApiImpl implements ContractApi { contractOtherFieldDO = new ContractOtherFieldDO(); contractOtherFieldDO.setFieldNumber("insuredSubjectMatter"); contractOtherFieldDO.setFieldName("投保标的"); - contractOtherFieldDO.setFieldValue(reqVO.getInsuredSubjectMatter().toString()); + contractOtherFieldDO.setFieldValue(reqVO.getInsuredSubjectMatter()); contractOtherFieldDO.setFieldDescription("投保标的"); contractOtherFieldDO.setType("String"); contractOtherFieldDO.setContractMainId(contractId.toString()); @@ -414,7 +430,7 @@ public class ContractApiImpl implements ContractApi { contractOtherFieldDO = new ContractOtherFieldDO(); contractOtherFieldDO.setFieldNumber("createdUser"); contractOtherFieldDO.setFieldName("经办人工号"); - contractOtherFieldDO.setFieldValue(reqVO.getCreatedUser().toString()); + contractOtherFieldDO.setFieldValue(reqVO.getCreatedUser()); contractOtherFieldDO.setFieldDescription("经办人工号"); contractOtherFieldDO.setType("String"); contractOtherFieldDO.setContractMainId(contractId.toString()); @@ -423,7 +439,7 @@ public class ContractApiImpl implements ContractApi { contractOtherFieldDO = new ContractOtherFieldDO(); contractOtherFieldDO.setFieldNumber("createdUserName"); contractOtherFieldDO.setFieldName("经办人姓名"); - contractOtherFieldDO.setFieldValue(reqVO.getCreatedUserName().toString()); + contractOtherFieldDO.setFieldValue(reqVO.getCreatedUserName()); contractOtherFieldDO.setFieldDescription("经办人姓名"); contractOtherFieldDO.setType("String"); contractOtherFieldDO.setContractMainId(contractId.toString()); @@ -432,7 +448,7 @@ public class ContractApiImpl implements ContractApi { contractOtherFieldDO = new ContractOtherFieldDO(); contractOtherFieldDO.setFieldNumber("approveSubmitCode"); contractOtherFieldDO.setFieldName("拟签递交人工号"); - contractOtherFieldDO.setFieldValue(reqVO.getApproveSubmitCode().toString()); + contractOtherFieldDO.setFieldValue(reqVO.getApproveSubmitCode()); contractOtherFieldDO.setFieldDescription("拟签递交人工号"); contractOtherFieldDO.setType("String"); contractOtherFieldDO.setContractMainId(contractId.toString()); @@ -441,7 +457,7 @@ public class ContractApiImpl implements ContractApi { contractOtherFieldDO = new ContractOtherFieldDO(); contractOtherFieldDO.setFieldNumber("approveSubmitName"); contractOtherFieldDO.setFieldName("拟签递交人姓名"); - contractOtherFieldDO.setFieldValue(reqVO.getApproveSubmitName().toString()); + contractOtherFieldDO.setFieldValue(reqVO.getApproveSubmitName()); contractOtherFieldDO.setFieldDescription("拟签递交人姓名"); contractOtherFieldDO.setType("String"); contractOtherFieldDO.setContractMainId(contractId.toString()); @@ -459,7 +475,7 @@ public class ContractApiImpl implements ContractApi { contractOtherFieldDO = new ContractOtherFieldDO(); contractOtherFieldDO.setFieldNumber("approvePassCode"); contractOtherFieldDO.setFieldName("拟签通过人工号"); - contractOtherFieldDO.setFieldValue(reqVO.getApprovePassCode().toString()); + contractOtherFieldDO.setFieldValue(reqVO.getApprovePassCode()); contractOtherFieldDO.setFieldDescription("拟签通过人工号"); contractOtherFieldDO.setType("String"); contractOtherFieldDO.setContractMainId(contractId.toString()); @@ -468,7 +484,7 @@ public class ContractApiImpl implements ContractApi { contractOtherFieldDO = new ContractOtherFieldDO(); contractOtherFieldDO.setFieldNumber("approvePassName"); contractOtherFieldDO.setFieldName("拟签通过人姓名"); - contractOtherFieldDO.setFieldValue(reqVO.getApprovePassName().toString()); + contractOtherFieldDO.setFieldValue(reqVO.getApprovePassName()); contractOtherFieldDO.setFieldDescription("拟签通过人姓名"); contractOtherFieldDO.setType("String"); contractOtherFieldDO.setContractMainId(contractId.toString()); @@ -486,7 +502,7 @@ public class ContractApiImpl implements ContractApi { contractOtherFieldDO = new ContractOtherFieldDO(); contractOtherFieldDO.setFieldNumber("signFirstPerson"); contractOtherFieldDO.setFieldName("对方签约人 (40-签约必填)"); - contractOtherFieldDO.setFieldValue(reqVO.getSignFirstPerson().toString()); + contractOtherFieldDO.setFieldValue(reqVO.getSignFirstPerson()); contractOtherFieldDO.setFieldDescription("对方签约人 (40-签约必填)"); contractOtherFieldDO.setType("String"); contractOtherFieldDO.setContractMainId(contractId.toString()); @@ -495,7 +511,7 @@ public class ContractApiImpl implements ContractApi { contractOtherFieldDO = new ContractOtherFieldDO(); contractOtherFieldDO.setFieldNumber("signSecondPersonCode"); contractOtherFieldDO.setFieldName("我方签约人工号 (40-签约必填)"); - contractOtherFieldDO.setFieldValue(reqVO.getSignSecondPersonCode().toString()); + contractOtherFieldDO.setFieldValue(reqVO.getSignSecondPersonCode()); contractOtherFieldDO.setFieldDescription("我方签约人工号 (40-签约必填)"); contractOtherFieldDO.setType("String"); contractOtherFieldDO.setContractMainId(contractId.toString()); @@ -504,7 +520,7 @@ public class ContractApiImpl implements ContractApi { contractOtherFieldDO = new ContractOtherFieldDO(); contractOtherFieldDO.setFieldNumber("signSecondPersonName"); contractOtherFieldDO.setFieldName("我方签约人"); - contractOtherFieldDO.setFieldValue(reqVO.getSignSecondPersonName().toString()); + contractOtherFieldDO.setFieldValue(reqVO.getSignSecondPersonName()); contractOtherFieldDO.setFieldDescription("我方签约人"); contractOtherFieldDO.setType("String"); contractOtherFieldDO.setContractMainId(contractId.toString()); @@ -513,7 +529,7 @@ public class ContractApiImpl implements ContractApi { contractOtherFieldDO = new ContractOtherFieldDO(); contractOtherFieldDO.setFieldNumber("onceAuthorityFlag"); contractOtherFieldDO.setFieldName("推荐签约人工号 (40-签约必填, Y/N)"); - contractOtherFieldDO.setFieldValue(reqVO.getOnceAuthorityFlag().toString()); + contractOtherFieldDO.setFieldValue(reqVO.getOnceAuthorityFlag()); contractOtherFieldDO.setFieldDescription("推荐签约人工号 (40-签约必填, Y/N)"); contractOtherFieldDO.setType("String"); contractOtherFieldDO.setContractMainId(contractId.toString()); @@ -522,7 +538,7 @@ public class ContractApiImpl implements ContractApi { contractOtherFieldDO = new ContractOtherFieldDO(); contractOtherFieldDO.setFieldNumber("signOnceAccredit"); contractOtherFieldDO.setFieldName("推荐签约人工号"); - contractOtherFieldDO.setFieldValue(reqVO.getSignOnceAccredit().toString()); + contractOtherFieldDO.setFieldValue(reqVO.getSignOnceAccredit()); contractOtherFieldDO.setFieldDescription("推荐签约人工号"); contractOtherFieldDO.setType("String"); contractOtherFieldDO.setContractMainId(contractId.toString()); @@ -531,7 +547,7 @@ public class ContractApiImpl implements ContractApi { contractOtherFieldDO = new ContractOtherFieldDO(); contractOtherFieldDO.setFieldNumber("extCol1"); contractOtherFieldDO.setFieldName("备用字段1"); - contractOtherFieldDO.setFieldValue(reqVO.getExtCol1().toString()); + contractOtherFieldDO.setFieldValue(reqVO.getExtCol1()); contractOtherFieldDO.setFieldDescription("备用字段1"); contractOtherFieldDO.setType("String"); contractOtherFieldDO.setContractMainId(contractId.toString()); @@ -540,7 +556,7 @@ public class ContractApiImpl implements ContractApi { contractOtherFieldDO = new ContractOtherFieldDO(); contractOtherFieldDO.setFieldNumber("extCol2"); contractOtherFieldDO.setFieldName("备用字段2"); - contractOtherFieldDO.setFieldValue(reqVO.getExtCol2().toString()); + contractOtherFieldDO.setFieldValue(reqVO.getExtCol2()); contractOtherFieldDO.setFieldDescription("备用字段2"); contractOtherFieldDO.setType("String"); contractOtherFieldDO.setContractMainId(contractId.toString()); @@ -549,7 +565,7 @@ public class ContractApiImpl implements ContractApi { contractOtherFieldDO = new ContractOtherFieldDO(); contractOtherFieldDO.setFieldNumber("extCol3"); contractOtherFieldDO.setFieldName("备用字段3"); - contractOtherFieldDO.setFieldValue(reqVO.getExtCol3().toString()); + contractOtherFieldDO.setFieldValue(reqVO.getExtCol3()); contractOtherFieldDO.setFieldDescription("备用字段3"); contractOtherFieldDO.setType("String"); contractOtherFieldDO.setContractMainId(contractId.toString()); @@ -558,7 +574,7 @@ public class ContractApiImpl implements ContractApi { contractOtherFieldDO = new ContractOtherFieldDO(); contractOtherFieldDO.setFieldNumber("extCol4"); contractOtherFieldDO.setFieldName("备用字段4"); - contractOtherFieldDO.setFieldValue(reqVO.getExtCol4().toString()); + contractOtherFieldDO.setFieldValue(reqVO.getExtCol4()); contractOtherFieldDO.setFieldDescription("备用字段4"); contractOtherFieldDO.setType("String"); contractOtherFieldDO.setContractMainId(contractId.toString()); @@ -567,7 +583,7 @@ public class ContractApiImpl implements ContractApi { contractOtherFieldDO = new ContractOtherFieldDO(); contractOtherFieldDO.setFieldNumber("extCol5"); contractOtherFieldDO.setFieldName("备用字段5"); - contractOtherFieldDO.setFieldValue(reqVO.getExtCol5().toString()); + contractOtherFieldDO.setFieldValue(reqVO.getExtCol5()); contractOtherFieldDO.setFieldDescription("备用字段5"); contractOtherFieldDO.setType("String"); contractOtherFieldDO.setContractMainId(contractId.toString()); @@ -576,7 +592,7 @@ public class ContractApiImpl implements ContractApi { contractOtherFieldDO = new ContractOtherFieldDO(); contractOtherFieldDO.setFieldNumber("extCol6"); contractOtherFieldDO.setFieldName("备用字段6"); - contractOtherFieldDO.setFieldValue(reqVO.getExtCol6().toString()); + contractOtherFieldDO.setFieldValue(reqVO.getExtCol6()); contractOtherFieldDO.setFieldDescription("备用字段6"); contractOtherFieldDO.setType("String"); contractOtherFieldDO.setContractMainId(contractId.toString()); @@ -585,7 +601,7 @@ public class ContractApiImpl implements ContractApi { contractOtherFieldDO = new ContractOtherFieldDO(); contractOtherFieldDO.setFieldNumber("extCol7"); contractOtherFieldDO.setFieldName("备用字段7"); - contractOtherFieldDO.setFieldValue(reqVO.getExtCol7().toString()); + contractOtherFieldDO.setFieldValue(reqVO.getExtCol7()); contractOtherFieldDO.setFieldDescription("备用字段7"); contractOtherFieldDO.setType("String"); contractOtherFieldDO.setContractMainId(contractId.toString()); @@ -594,7 +610,7 @@ public class ContractApiImpl implements ContractApi { contractOtherFieldDO = new ContractOtherFieldDO(); contractOtherFieldDO.setFieldNumber("extCol8"); contractOtherFieldDO.setFieldName("备用字段8"); - contractOtherFieldDO.setFieldValue(reqVO.getExtCol8().toString()); + contractOtherFieldDO.setFieldValue(reqVO.getExtCol8()); contractOtherFieldDO.setFieldDescription("备用字段8"); contractOtherFieldDO.setType("String"); contractOtherFieldDO.setContractMainId(contractId.toString()); @@ -603,7 +619,7 @@ public class ContractApiImpl implements ContractApi { contractOtherFieldDO = new ContractOtherFieldDO(); contractOtherFieldDO.setFieldNumber("extCol9"); contractOtherFieldDO.setFieldName("备用字段9"); - contractOtherFieldDO.setFieldValue(reqVO.getExtCol9().toString()); + contractOtherFieldDO.setFieldValue(reqVO.getExtCol9()); contractOtherFieldDO.setFieldDescription("备用字段9"); contractOtherFieldDO.setType("String"); contractOtherFieldDO.setContractMainId(contractId.toString()); @@ -612,23 +628,1032 @@ public class ContractApiImpl implements ContractApi { contractOtherFieldDO = new ContractOtherFieldDO(); contractOtherFieldDO.setFieldNumber("extCol10"); contractOtherFieldDO.setFieldName("备用字段10"); - contractOtherFieldDO.setFieldValue(reqVO.getExtCol10().toString()); + contractOtherFieldDO.setFieldValue(reqVO.getExtCol10()); contractOtherFieldDO.setFieldDescription("备用字段10"); contractOtherFieldDO.setType("String"); contractOtherFieldDO.setContractMainId(contractId.toString()); contractOtherFieldDOS.add(contractOtherFieldDO); + // 保存 + contractOtherFieldMapper.insertBatch(contractOtherFieldDOS); + + // 明细部分保存 // 附件清单列表 - // 动态条款表保存 + ContractOtherFormDO contractOtherFormDO = new ContractOtherFormDO(); + contractOtherFormDO.setContractMainId(contractId); + contractOtherFormDO.setFormNumber("attachList"); + contractOtherFormDO.setFormName("附件清单列表"); + contractOtherFormDO.setFormDescription("附件清单列表"); + contractOtherFormMapper.insert(contractOtherFormDO); + contractOtherFieldDOS = new ArrayList<>(); + if (reqVO.getAttachList() != null && !reqVO.getAttachList().isEmpty()) { + for (String attach : reqVO.getAttachList()) { + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("attach"); + contractOtherFieldDO.setFieldName("附件"); + contractOtherFieldDO.setFieldValue(attach); + contractOtherFieldDO.setFieldDescription("附件"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + } + } + // 保存 + contractOtherFieldMapper.insertBatch(contractOtherFieldDOS); //----- 嵌套列表 // 客商信息 + if (reqVO.getPartnerList() != null && !reqVO.getPartnerList().isEmpty()) { + for (Partner partner : reqVO.getPartnerList()) { + + contractOtherFormDO = new ContractOtherFormDO(); + contractOtherFormDO.setContractMainId(contractId); + contractOtherFormDO.setFormNumber("partnerList"); + contractOtherFormDO.setFormName("客商信息"); + contractOtherFormDO.setFormDescription("客商信息"); + contractOtherFormMapper.insert(contractOtherFormDO); + + contractOtherFieldDOS = new ArrayList<>(); + // 客商信息行号 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("partnerSourceId"); + contractOtherFieldDO.setFieldName("客商信息行号"); + contractOtherFieldDO.setFieldValue(partner.getPartnerSourceId()); + contractOtherFieldDO.setFieldDescription("客商信息行号"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + // 客商信息编码 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("partnerSourceCode"); + contractOtherFieldDO.setFieldName("客商信息编码"); + contractOtherFieldDO.setFieldValue(partner.getPartnerSourceCode()); + contractOtherFieldDO.setFieldDescription("客商信息编码"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + // 供应商名称 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("partnerName"); + contractOtherFieldDO.setFieldName("供应商名称"); + contractOtherFieldDO.setFieldValue(partner.getPartnerName()); + contractOtherFieldDO.setFieldDescription("供应商名称"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + // 供应商代码 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("partnerCode"); + contractOtherFieldDO.setFieldName("供应商代码"); + contractOtherFieldDO.setFieldValue(partner.getPartnerCode()); + contractOtherFieldDO.setFieldDescription("供应商代码"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + // 对方法定代表人 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("legalRepresentative"); + contractOtherFieldDO.setFieldName("对方法定代表人"); + contractOtherFieldDO.setFieldValue(partner.getLegalRepresentative()); + contractOtherFieldDO.setFieldDescription("对方法定代表人"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + // 币种 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("partnerCurrency"); + contractOtherFieldDO.setFieldName("币种"); + contractOtherFieldDO.setFieldValue(partner.getPartnerCurrency()); + contractOtherFieldDO.setFieldDescription("币种"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + // 对方联系人 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("contactPerson"); + contractOtherFieldDO.setFieldName("对方联系人"); + contractOtherFieldDO.setFieldValue(partner.getContactPerson()); + contractOtherFieldDO.setFieldDescription("对方联系人"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + // 对方联系人联系方式 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("contactInformation"); + contractOtherFieldDO.setFieldName("对方联系人联系方式"); + contractOtherFieldDO.setFieldValue(partner.getContactInformation()); + contractOtherFieldDO.setFieldDescription("对方联系人联系方式"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + // 是否内部交易 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("internalTransaction"); + contractOtherFieldDO.setFieldName("是否内部交易"); + contractOtherFieldDO.setFieldValue(partner.getInternalTransaction()); + contractOtherFieldDO.setFieldDescription("是否内部交易"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + // 客商类型 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("partnerType"); + contractOtherFieldDO.setFieldName("客商类型"); + contractOtherFieldDO.setFieldValue(partner.getPartnerType()); + contractOtherFieldDO.setFieldDescription("客商类型"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + // 境内/外 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("domesticOrOverseas"); + contractOtherFieldDO.setFieldName("境内/外"); + contractOtherFieldDO.setFieldValue(partner.getDomesticOrOverseas()); + contractOtherFieldDO.setFieldDescription("境内/外"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + + // 保存 + contractOtherFieldMapper.insertBatch(contractOtherFieldDOS); + } + } // 收发港/站点 + if (reqVO.getGoodsSiteList() != null && !reqVO.getGoodsSiteList().isEmpty()) { + for (GoodsSite goodsSite : reqVO.getGoodsSiteList()) { + + contractOtherFormDO = new ContractOtherFormDO(); + contractOtherFormDO.setContractMainId(contractId); + contractOtherFormDO.setFormNumber("goodsSiteList"); + contractOtherFormDO.setFormName("收发港/站点"); + contractOtherFormDO.setFormDescription("收发港/站点"); + contractOtherFormMapper.insert(contractOtherFormDO); + + contractOtherFieldDOS = new ArrayList<>(); + // 收发港站点行号 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("goodsSiteSourceId"); + contractOtherFieldDO.setFieldName("收发港站点行号"); + contractOtherFieldDO.setFieldValue(goodsSite.getGoodsSiteSourceId()); + contractOtherFieldDO.setFieldDescription("收发港站点行号"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + // 收发港站点编号 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("goodsSiteSourceCode"); + contractOtherFieldDO.setFieldName("收发港站点编号"); + contractOtherFieldDO.setFieldValue(goodsSite.getGoodsSiteSourceCode()); + contractOtherFieldDO.setFieldDescription("收发港站点编号"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + // 标的物分类 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("subMattercategoryLevel"); + contractOtherFieldDO.setFieldName("标的物分类"); + contractOtherFieldDO.setFieldValue(goodsSite.getSubMattercategoryLevel()); + contractOtherFieldDO.setFieldDescription("标的物分类"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + // 标的物编码 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("subMattercategoryCode"); + contractOtherFieldDO.setFieldName("标的物编码"); + contractOtherFieldDO.setFieldValue(goodsSite.getSubMattercategoryCode()); + contractOtherFieldDO.setFieldDescription("标的物编码"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + // 标的物名称 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("subMatterCategoryName"); + contractOtherFieldDO.setFieldName("标的物名称"); + contractOtherFieldDO.setFieldValue(goodsSite.getSubMatterCategoryName()); + contractOtherFieldDO.setFieldDescription("标的物名称"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + // 地点类型 (QY-区域; GK-港口; MT-码头; CK-仓库) + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("beginSiteType"); + contractOtherFieldDO.setFieldName("地点类型 (QY-区域; GK-港口; MT-码头; CK-仓库)"); + contractOtherFieldDO.setFieldValue(goodsSite.getBeginSiteType()); + contractOtherFieldDO.setFieldDescription("地点类型 (QY-区域; GK-港口; MT-码头; CK-仓库)"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + // 发货地编号 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("beginSiteCode"); + contractOtherFieldDO.setFieldName("发货地编号"); + contractOtherFieldDO.setFieldValue(goodsSite.getBeginSiteCode()); + contractOtherFieldDO.setFieldDescription("发货地编号"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + // 发货地名称 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("beginSiteName"); + contractOtherFieldDO.setFieldName("发货地名称"); + contractOtherFieldDO.setFieldValue(goodsSite.getBeginSiteName()); + contractOtherFieldDO.setFieldDescription("发货地名称"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + // 详细地址 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("beginSiteAddress"); + contractOtherFieldDO.setFieldName("详细地址"); + contractOtherFieldDO.setFieldValue(goodsSite.getBeginSiteAddress()); + contractOtherFieldDO.setFieldDescription("详细地址"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + // 地点类型 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("endSiteType"); + contractOtherFieldDO.setFieldName("地点类型"); + contractOtherFieldDO.setFieldValue(goodsSite.getEndSiteType()); + contractOtherFieldDO.setFieldDescription("地点类型"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + // 收货地编号 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("endSiteCode"); + contractOtherFieldDO.setFieldName("收货地编号"); + contractOtherFieldDO.setFieldValue(goodsSite.getEndSiteCode()); + contractOtherFieldDO.setFieldDescription("收货地编号"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + // 收货地名称 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("endSiteName"); + contractOtherFieldDO.setFieldName("收货地名称"); + contractOtherFieldDO.setFieldValue(goodsSite.getEndSiteName()); + contractOtherFieldDO.setFieldDescription("收货地名称"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + // 详细地址 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("endSiteAddress"); + contractOtherFieldDO.setFieldName("详细地址"); + contractOtherFieldDO.setFieldValue(goodsSite.getEndSiteAddress()); + contractOtherFieldDO.setFieldDescription("详细地址"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + // 运输方式 (10-汽运;20-船运;30-水汽联运) + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("contractTypeDispatch"); + contractOtherFieldDO.setFieldName("运输方式 (10-汽运;20-船运;30-水汽联运)"); + contractOtherFieldDO.setFieldValue(goodsSite.getContractTypeDispatch()); + contractOtherFieldDO.setFieldDescription("运输方式 (10-汽运;20-船运;30-水汽联运)"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + + // 保存 + contractOtherFieldMapper.insertBatch(contractOtherFieldDOS); + } + } // 货物装卸要求 + if (reqVO.getLoadingRequirementsList() != null && !reqVO.getLoadingRequirementsList().isEmpty()) { + for (LoadingRequirement loadingRequirement : reqVO.getLoadingRequirementsList()) { + + contractOtherFormDO = new ContractOtherFormDO(); + contractOtherFormDO.setContractMainId(contractId); + contractOtherFormDO.setFormNumber("loadingRequirementsList"); + contractOtherFormDO.setFormName("货物装卸要求"); + contractOtherFormDO.setFormDescription("货物装卸要求"); + contractOtherFormMapper.insert(contractOtherFormDO); + + contractOtherFieldDOS = new ArrayList<>(); + + // 货物装卸行号 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("loadingReqSourceId"); + contractOtherFieldDO.setFieldName("货物装卸行号"); + contractOtherFieldDO.setFieldValue(loadingRequirement.getLoadingReqSourceId()); + contractOtherFieldDO.setFieldDescription("货物装卸行号"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + // 货物装卸编号 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("loadingReqSourceCode"); + contractOtherFieldDO.setFieldName("货物装卸编号"); + contractOtherFieldDO.setFieldValue(loadingRequirement.getLoadingReqSourceCode()); + contractOtherFieldDO.setFieldDescription("货物装卸编号"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + // 提货地责任方 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("deliveredAtPlace"); + contractOtherFieldDO.setFieldName("提货地责任方"); + contractOtherFieldDO.setFieldValue(loadingRequirement.getDeliveredAtPlace()); + contractOtherFieldDO.setFieldDescription("提货地责任方"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + // 提货地费用承担方 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("deliveredAtFeeparty"); + contractOtherFieldDO.setFieldName("提货地费用承担方"); + contractOtherFieldDO.setFieldValue(loadingRequirement.getDeliveredAtFeeparty()); + contractOtherFieldDO.setFieldDescription("提货地费用承担方"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + // 终到地责任方 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("destinationResponsibleParty"); + contractOtherFieldDO.setFieldName("终到地责任方"); + contractOtherFieldDO.setFieldValue(loadingRequirement.getDestinationResponsibleParty()); + contractOtherFieldDO.setFieldDescription("终到地责任方"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + // 终到地费用承担方 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("intermediateStationParty"); + contractOtherFieldDO.setFieldName("终到地费用承担方"); + contractOtherFieldDO.setFieldValue(loadingRequirement.getIntermediateStationParty()); + contractOtherFieldDO.setFieldDescription("终到地费用承担方"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + // 中间站责任方 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("destinationResponsibleFeeparty"); + contractOtherFieldDO.setFieldName("中间站责任方"); + contractOtherFieldDO.setFieldValue(loadingRequirement.getDestinationResponsibleFeeparty()); + contractOtherFieldDO.setFieldDescription("中间站责任方"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + // 中间站费用承担方 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("intermediateResponsibleFeeparty"); + contractOtherFieldDO.setFieldName("中间站费用承担方"); + contractOtherFieldDO.setFieldValue(loadingRequirement.getIntermediateResponsibleFeeparty()); + contractOtherFieldDO.setFieldDescription("中间站费用承担方"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + + // 保存 + contractOtherFieldMapper.insertBatch(contractOtherFieldDOS); + } + } // 收付款账号 + if (reqVO.getAccountList() != null && !reqVO.getAccountList().isEmpty()) { + for (Account account : reqVO.getAccountList()) { + + contractOtherFormDO = new ContractOtherFormDO(); + contractOtherFormDO.setContractMainId(contractId); + contractOtherFormDO.setFormNumber("accountList"); + contractOtherFormDO.setFormName("收付款账号"); + contractOtherFormDO.setFormDescription("收付款账号"); + contractOtherFormMapper.insert(contractOtherFormDO); + + contractOtherFieldDOS = new ArrayList<>(); + + // 收付款账号行号 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("accountSourceId"); + contractOtherFieldDO.setFieldName("收付款账号行号"); + contractOtherFieldDO.setFieldValue(account.getAccountSourceId()); + contractOtherFieldDO.setFieldDescription("收付款账号行号"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + // 收付款账号编号 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("accountSourceCode"); + contractOtherFieldDO.setFieldName("收付款账号编号"); + contractOtherFieldDO.setFieldValue(account.getAccountSourceCode()); + contractOtherFieldDO.setFieldDescription("收付款账号编号"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + // 类别 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("accountType"); + contractOtherFieldDO.setFieldName("类别"); + contractOtherFieldDO.setFieldValue(account.getAccountType()); + contractOtherFieldDO.setFieldDescription("类别"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + // 名称 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("accountName"); + contractOtherFieldDO.setFieldName("名称"); + contractOtherFieldDO.setFieldValue(account.getAccountName()); + contractOtherFieldDO.setFieldDescription("名称"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + // 开户银行 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("bankAccountName"); + contractOtherFieldDO.setFieldName("开户银行"); + contractOtherFieldDO.setFieldValue(account.getBankAccountName()); + contractOtherFieldDO.setFieldDescription("开户银行"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + // 银行账号 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("bankAccountNo"); + contractOtherFieldDO.setFieldName("银行账号"); + contractOtherFieldDO.setFieldValue(account.getBankAccountNo()); + contractOtherFieldDO.setFieldDescription("银行账号"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + // 纳税人识别号 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("identificationNumber"); + contractOtherFieldDO.setFieldName("纳税人识别号"); + contractOtherFieldDO.setFieldValue(account.getIdentificationNumber()); + contractOtherFieldDO.setFieldDescription("纳税人识别号"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + // 地址、电话 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("addressPhoneTel"); + contractOtherFieldDO.setFieldName("地址、电话"); + contractOtherFieldDO.setFieldValue(account.getAddressPhoneTel()); + contractOtherFieldDO.setFieldDescription("地址、电话"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + + // 保存 + contractOtherFieldMapper.insertBatch(contractOtherFieldDOS); + } + } // 费用明细 + if (reqVO.getFreightList() != null && !reqVO.getFreightList().isEmpty()) { + for (Freight freight : reqVO.getFreightList()) { + + contractOtherFormDO = new ContractOtherFormDO(); + contractOtherFormDO.setContractMainId(contractId); + contractOtherFormDO.setFormNumber("freightList"); + contractOtherFormDO.setFormName("费用明细"); + contractOtherFormDO.setFormDescription("费用明细"); + contractOtherFormMapper.insert(contractOtherFormDO); + + contractOtherFieldDOS = new ArrayList<>(); + + // 费用明细行号 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("freightSourceId"); + contractOtherFieldDO.setFieldName("费用明细行号"); + contractOtherFieldDO.setFieldValue(freight.getFreightSourceId()); + contractOtherFieldDO.setFieldDescription("费用明细行号"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + // 费用明细编号 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("freightSourceCode"); + contractOtherFieldDO.setFieldName("费用明细编号"); + contractOtherFieldDO.setFieldValue(freight.getFreightSourceCode()); + contractOtherFieldDO.setFieldDescription("费用明细编号"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + // 发货地编号 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("beginSiteCode"); + contractOtherFieldDO.setFieldName("发货地编号"); + contractOtherFieldDO.setFieldValue(freight.getBeginSiteCode()); + contractOtherFieldDO.setFieldDescription("发货地编号"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + // 发货地名称 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("beginSiteName"); + contractOtherFieldDO.setFieldName("发货地名称"); + contractOtherFieldDO.setFieldValue(freight.getBeginSiteName()); + contractOtherFieldDO.setFieldDescription("发货地名称"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + // 详细地址 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("beginSiteAddress"); + contractOtherFieldDO.setFieldName("详细地址"); + contractOtherFieldDO.setFieldValue(freight.getBeginSiteAddress()); + contractOtherFieldDO.setFieldDescription("详细地址"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + // 收货地编码 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("endSiteCode"); + contractOtherFieldDO.setFieldName("收货地编码"); + contractOtherFieldDO.setFieldValue(freight.getEndSiteCode()); + contractOtherFieldDO.setFieldDescription("收货地编码"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + // 收货地名称 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("endSiteName"); + contractOtherFieldDO.setFieldName("收货地名称"); + contractOtherFieldDO.setFieldValue(freight.getEndSiteName()); + contractOtherFieldDO.setFieldDescription("收货地名称"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + // 详细地址 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("endSiteAddress"); + contractOtherFieldDO.setFieldName("详细地址"); + contractOtherFieldDO.setFieldValue(freight.getEndSiteAddress()); + contractOtherFieldDO.setFieldDescription("详细地址"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + // 运输方式 (10-汽运;20-船运;30-水汽联运) + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("contractTypeDispatch"); + contractOtherFieldDO.setFieldName("运输方式 (10-汽运;20-船运;30-水汽联运)"); + contractOtherFieldDO.setFieldValue(freight.getContractTypeDispatch()); + contractOtherFieldDO.setFieldDescription("运输方式 (10-汽运;20-船运;30-水汽联运)"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + // 费用类型 (包干费、汽运费、港口费...) + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("feeTypeCode"); + contractOtherFieldDO.setFieldName("费用类型 (包干费、汽运费、港口费...)"); + contractOtherFieldDO.setFieldValue(freight.getFeeTypeCode()); + contractOtherFieldDO.setFieldDescription("费用类型 (包干费、汽运费、港口费...)"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + // 费用名称 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("feeTypeName"); + contractOtherFieldDO.setFieldName("费用名称"); + contractOtherFieldDO.setFieldValue(freight.getFeeTypeName()); + contractOtherFieldDO.setFieldDescription("费用名称"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + // 是否乙方提货 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("isPartybPickup"); + contractOtherFieldDO.setFieldName("是否乙方提货"); + contractOtherFieldDO.setFieldValue(freight.getIsPartybPickup()); + contractOtherFieldDO.setFieldDescription("是否乙方提货"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + // 乙方提货单价 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("partybPickupPrice"); + contractOtherFieldDO.setFieldName("乙方提货单价"); + contractOtherFieldDO.setFieldValue(freight.getPartybPickupPrice().toString()); + contractOtherFieldDO.setFieldDescription("乙方提货单价"); + contractOtherFieldDO.setType("BigDecimal"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + // 费用大类 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("feeCategoryL"); + contractOtherFieldDO.setFieldName("费用大类"); + contractOtherFieldDO.setFieldValue(freight.getFeeCategoryL()); + contractOtherFieldDO.setFieldDescription("费用大类"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + // 费用小类 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("feeCategoryS"); + contractOtherFieldDO.setFieldName("费用小类"); + contractOtherFieldDO.setFieldValue(freight.getFeeCategoryS()); + contractOtherFieldDO.setFieldDescription("费用小类"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + // 标的仓 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("goodsStorage"); + contractOtherFieldDO.setFieldName("标的仓"); + contractOtherFieldDO.setFieldValue(freight.getGoodsStorage()); + contractOtherFieldDO.setFieldDescription("标的仓"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + // 标的物 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("categoryName"); + contractOtherFieldDO.setFieldName("标的物"); + contractOtherFieldDO.setFieldValue(freight.getCategoryName()); + contractOtherFieldDO.setFieldDescription("标的物"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + // 免堆期 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("noHeapDays"); + contractOtherFieldDO.setFieldName("免堆期"); + contractOtherFieldDO.setFieldValue(freight.getNoHeapDays().toString()); + contractOtherFieldDO.setFieldDescription("免堆期"); + contractOtherFieldDO.setType("BigDecimal"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + // 计费单位 (01-元/吨; 02-元/40GP; 03-元/20GP; 04-元/车) + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("quantityUnitCode"); + contractOtherFieldDO.setFieldName("计费单位 (01-元/吨; 02-元/40GP; 03-元/20GP; 04-元/车)"); + contractOtherFieldDO.setFieldValue(freight.getQuantityUnitCode()); + contractOtherFieldDO.setFieldDescription("计费单位 (01-元/吨; 02-元/40GP; 03-元/20GP; 04-元/车)"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + // 单价 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("priceWithtax"); + contractOtherFieldDO.setFieldName("单价"); + contractOtherFieldDO.setFieldValue(freight.getPriceWithtax().toString()); + contractOtherFieldDO.setFieldDescription("单价"); + contractOtherFieldDO.setType("BigDecimal"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + // 税率(%) + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("priceTaxRate"); + contractOtherFieldDO.setFieldName("税率(%)"); + contractOtherFieldDO.setFieldValue(freight.getPriceTaxRate().toString()); + contractOtherFieldDO.setFieldDescription("税率(%)"); + contractOtherFieldDO.setType("BigDecimal"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + // 费用承担 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("costBearing"); + contractOtherFieldDO.setFieldName("费用承担"); + contractOtherFieldDO.setFieldValue(freight.getCostBearing()); + contractOtherFieldDO.setFieldDescription("费用承担"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + + // 保存 + contractOtherFieldMapper.insertBatch(contractOtherFieldDOS); + } + } // 服务费用项目 + if (reqVO.getServiceFeeList() != null && !reqVO.getServiceFeeList().isEmpty()) { + for (ServiceFee serviceFee : reqVO.getServiceFeeList()) { + + contractOtherFormDO = new ContractOtherFormDO(); + contractOtherFormDO.setContractMainId(contractId); + contractOtherFormDO.setFormNumber("serviceFeeList"); + contractOtherFormDO.setFormName("服务费用项目"); + contractOtherFormDO.setFormDescription("服务费用项目"); + contractOtherFormMapper.insert(contractOtherFormDO); + + contractOtherFieldDOS = new ArrayList<>(); + + // 服务费用项目行号 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("serviceFeeSourceId"); + contractOtherFieldDO.setFieldName("服务费用项目行号"); + contractOtherFieldDO.setFieldValue(serviceFee.getServiceFeeSourceId()); + contractOtherFieldDO.setFieldDescription("服务费用项目行号"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + // 服务费用项目编号 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("serviceFeeSourceCode"); + contractOtherFieldDO.setFieldName("服务费用项目编号"); + contractOtherFieldDO.setFieldValue(serviceFee.getServiceFeeSourceCode()); + contractOtherFieldDO.setFieldDescription("服务费用项目编号"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + // 服务项目名称 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("serviceFeeName"); + contractOtherFieldDO.setFieldName("服务项目名称"); + contractOtherFieldDO.setFieldValue(serviceFee.getServiceFeeName()); + contractOtherFieldDO.setFieldDescription("服务项目名称"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + // 计费类别 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("expenseType"); + contractOtherFieldDO.setFieldName("计费类别"); + contractOtherFieldDO.setFieldValue(serviceFee.getExpenseType()); + contractOtherFieldDO.setFieldDescription("计费类别"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + + // 保存 + contractOtherFieldMapper.insertBatch(contractOtherFieldDOS); + } + } // 仓库明细 + if (reqVO.getStorgeList() != null && !reqVO.getStorgeList().isEmpty()) { + for (Storge storge : reqVO.getStorgeList()) { + + contractOtherFormDO = new ContractOtherFormDO(); + contractOtherFormDO.setContractMainId(contractId); + contractOtherFormDO.setFormNumber("storgeList"); + contractOtherFormDO.setFormName("仓库明细"); + contractOtherFormDO.setFormDescription("仓库明细"); + contractOtherFormMapper.insert(contractOtherFormDO); + + contractOtherFieldDOS = new ArrayList<>(); + + // 合同明细行号 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("storgeSourceId"); + contractOtherFieldDO.setFieldName("合同明细行号"); + contractOtherFieldDO.setFieldValue(storge.getStorgeSourceId()); + contractOtherFieldDO.setFieldDescription("合同明细行号"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + // 合同明细行编号 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("storgeSourceCode"); + contractOtherFieldDO.setFieldName("合同明细行编号"); + contractOtherFieldDO.setFieldValue(storge.getStorgeSourceCode()); + contractOtherFieldDO.setFieldDescription("合同明细行编号"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + // 仓库编号 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("warehouseCode"); + contractOtherFieldDO.setFieldName("仓库编号"); + contractOtherFieldDO.setFieldValue(storge.getWarehouseCode()); + contractOtherFieldDO.setFieldDescription("仓库编号"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + // 仓库名称 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("warehouseName"); + contractOtherFieldDO.setFieldName("仓库名称"); + contractOtherFieldDO.setFieldValue(storge.getWarehouseName()); + contractOtherFieldDO.setFieldDescription("仓库名称"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + // 详细地址 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("warehouseAddress"); + contractOtherFieldDO.setFieldName("详细地址"); + contractOtherFieldDO.setFieldValue(storge.getWarehouseAddress()); + contractOtherFieldDO.setFieldDescription("详细地址"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + + // 保存 + contractOtherFieldMapper.insertBatch(contractOtherFieldDOS); + } + } // 接货地址 + if (reqVO.getReceivingAddrList() != null && !reqVO.getReceivingAddrList().isEmpty()) { + for (ReceivingAddr receivingAddr : reqVO.getReceivingAddrList()) { + + contractOtherFormDO = new ContractOtherFormDO(); + contractOtherFormDO.setContractMainId(contractId); + contractOtherFormDO.setFormNumber("receivingAddrList"); + contractOtherFormDO.setFormName("接货地址"); + contractOtherFormDO.setFormDescription("接货地址"); + contractOtherFormMapper.insert(contractOtherFormDO); + + contractOtherFieldDOS = new ArrayList<>(); + + // 接货地址行号 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("recivingAddrSourceId"); + contractOtherFieldDO.setFieldName("接货地址行号"); + contractOtherFieldDO.setFieldValue(receivingAddr.getRecivingAddrSourceId()); + contractOtherFieldDO.setFieldDescription("接货地址行号"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + // 接货地址编号 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("recivingAddrSourceCode"); + contractOtherFieldDO.setFieldName("接货地址编号"); + contractOtherFieldDO.setFieldValue(receivingAddr.getRecivingAddrSourceCode()); + contractOtherFieldDO.setFieldDescription("接货地址编号"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + // 标的物分类 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("categoryLevel"); + contractOtherFieldDO.setFieldName("标的物分类"); + contractOtherFieldDO.setFieldValue(receivingAddr.getCategoryLevel()); + contractOtherFieldDO.setFieldDescription("标的物分类"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + // 标的物编码 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("ccCategoryCode"); + contractOtherFieldDO.setFieldName("标的物编码"); + contractOtherFieldDO.setFieldValue(receivingAddr.getCcCategoryCode()); + contractOtherFieldDO.setFieldDescription("标的物编码"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + // 标的物名称 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("categoryName"); + contractOtherFieldDO.setFieldName("标的物名称"); + contractOtherFieldDO.setFieldValue(receivingAddr.getCategoryName()); + contractOtherFieldDO.setFieldDescription("标的物名称"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + // 接货编码 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("siteCode"); + contractOtherFieldDO.setFieldName("接货编码"); + contractOtherFieldDO.setFieldValue(receivingAddr.getSiteCode()); + contractOtherFieldDO.setFieldDescription("接货编码"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + // 接货名称 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("siteName"); + contractOtherFieldDO.setFieldName("接货名称"); + contractOtherFieldDO.setFieldValue(receivingAddr.getSiteName()); + contractOtherFieldDO.setFieldDescription("接货名称"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + // 地址类型 (QY-区域; GK-港口; MT-码头; CK-仓库) + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("siteType"); + contractOtherFieldDO.setFieldName("地址类型 (QY-区域; GK-港口; MT-码头; CK-仓库)"); + contractOtherFieldDO.setFieldValue(receivingAddr.getSiteType()); + contractOtherFieldDO.setFieldDescription("地址类型 (QY-区域; GK-港口; MT-码头; CK-仓库)"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + // 详细地址 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("siteAddress"); + contractOtherFieldDO.setFieldName("详细地址"); + contractOtherFieldDO.setFieldValue(receivingAddr.getSiteAddress()); + contractOtherFieldDO.setFieldDescription("详细地址"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + // 专用线 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("consigneePrivatewire"); + contractOtherFieldDO.setFieldName("专用线"); + contractOtherFieldDO.setFieldValue(receivingAddr.getConsigneePrivatewire()); + contractOtherFieldDO.setFieldDescription("专用线"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + // 收货人 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("consignerContact"); + contractOtherFieldDO.setFieldName("收货人"); + contractOtherFieldDO.setFieldValue(receivingAddr.getConsignerContact()); + contractOtherFieldDO.setFieldDescription("收货人"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + // 联系人 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("contactPerson"); + contractOtherFieldDO.setFieldName("联系人"); + contractOtherFieldDO.setFieldValue(receivingAddr.getContactPerson()); + contractOtherFieldDO.setFieldDescription("联系人"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + // 联系电话 + contractOtherFieldDO = new ContractOtherFieldDO(); + contractOtherFieldDO.setRelativityId(contractOtherFormDO.getId()); + contractOtherFieldDO.setFieldNumber("contactPhone"); + contractOtherFieldDO.setFieldName("联系电话"); + contractOtherFieldDO.setFieldValue(receivingAddr.getContactPhone()); + contractOtherFieldDO.setFieldDescription("联系电话"); + contractOtherFieldDO.setType("String"); + contractOtherFieldDO.setContractMainId(contractId.toString()); + contractOtherFieldDOS.add(contractOtherFieldDO); + + // 保存 + contractOtherFieldMapper.insertBatch(contractOtherFieldDOS); + } + } return success(true); }