diff --git a/zt-module-base/zt-module-base-server/src/main/resources/mapper/base/CompanyRelativityMapper.xml b/zt-module-base/zt-module-base-server/src/main/resources/mapper/base/CompanyRelativityMapper.xml
index 7a1a3b8..86abdfb 100644
--- a/zt-module-base/zt-module-base-server/src/main/resources/mapper/base/CompanyRelativityMapper.xml
+++ b/zt-module-base/zt-module-base-server/src/main/resources/mapper/base/CompanyRelativityMapper.xml
@@ -30,11 +30,17 @@
left join SPLY_ERP_CPN c on r.ERP_NUM = c.NUM
where d.DELETED = 0
and d.IS_COMPANY = 1
+
+ and c.NUM = #{erpNumber}
+
+
+ and d.CODE = #{number}
+
- and d.NAME = #{name}
+ and d.NAME like concat('%', #{name}, '%')
- and c.NAME = #{erpName}
+ and c.NAME like concat('%', #{erpName}, '%')
and d.LEADER_USER_ID = #{manager}
diff --git a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/ContractApi.java b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/ContractApi.java
index e437454..66a3d5f 100644
--- a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/ContractApi.java
+++ b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/ContractApi.java
@@ -2,9 +2,8 @@ package com.zt.plat.module.contractorder.api;
import com.zt.plat.framework.common.pojo.CommonResult;
-import com.zt.plat.module.contractorder.api.dto.order.PurchaseOrderWithDetailsDTO;
import com.zt.plat.module.contractorder.api.dto.contract.ContractRespDTO;
-import com.zt.plat.module.contractorder.api.vo.contract.ContractSaveReqVO;
+import com.zt.plat.module.contractorder.api.dto.order.PurchaseOrderWithDetailsDTO;
import com.zt.plat.module.contractorder.api.vo.contract.international.ContractRequest;
import com.zt.plat.module.contractorder.enums.ApiConstants;
import io.swagger.v3.oas.annotations.Operation;
@@ -35,15 +34,11 @@ public interface ContractApi {
@Operation(summary = "通过订单编号获取订单信息", description = "通过订单编号获取订单信息")
CommonResult> getOrderByOrderNo(@RequestBody List orderNoS);
- @PostMapping(PREFIX + "/create")
- @Operation(summary = "创建合同")
- CommonResult create(@Valid @RequestBody ContractSaveReqVO reqVO);
-
@PostMapping(PREFIX + "/order-by-order-id")
@Operation(summary = "通过订单id获取订单信息", description = "通过订单编号获取订单信息")
CommonResult> getOrderByOrderIds(@RequestBody List ids);
- @PostMapping(PREFIX + "/send")
+ @PostMapping(PREFIX + "/push")
@Operation(summary = "国贸2.0系统创建合同调用")
- CommonResult push(@Valid @RequestBody ContractRequest reqVO);
+ CommonResult push(@Valid @RequestBody ContractRequest reqVO) throws Exception;
}
diff --git a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/vo/contract/ContractPageReqVO.java b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/vo/contract/ContractPageReqVO.java
index bce3e3d..6b4b1a3 100644
--- a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/vo/contract/ContractPageReqVO.java
+++ b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/vo/contract/ContractPageReqVO.java
@@ -6,7 +6,6 @@ import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;
-import java.time.LocalDateTime;
import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@@ -34,7 +33,7 @@ public class ContractPageReqVO extends PageParam {
@Schema(description = "签署日期;与ERP(HTQDRQ)对应")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
- private LocalDateTime[] signDate;
+ private String[] signDate;
@Schema(description = "本币金额;与ERP(HTBWBZJE)对应")
private BigDecimal basicAmount;
diff --git a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/vo/contract/international/Account.java b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/vo/contract/international/Account.java
index 7919387..14f0fa0 100644
--- a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/vo/contract/international/Account.java
+++ b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/vo/contract/international/Account.java
@@ -1,5 +1,6 @@
package com.zt.plat.module.contractorder.api.vo.contract.international;
+import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
/*
@@ -7,12 +8,20 @@ import lombok.Data;
*/
@Data
public class Account {
+ @Schema(description = "收付款账号行号")
private String accountSourceId; // 收付款账号行号
+ @Schema(description = "收付款账号编号")
private String accountSourceCode; // 收付款账号编号
+ @Schema(description = "类别")
private String accountType; // 类别
+ @Schema(description = "名称")
private String accountName; // 名称
+ @Schema(description = "开户银行")
private String bankAccountName; // 开户银行
+ @Schema(description = "银行账号")
private String bankAccountNo; // 银行账号
+ @Schema(description = "纳税人识别号")
private String identificationNumber; // 纳税人识别号
+ @Schema(description = "地址、电话")
private String addressPhoneTel; // 地址、电话
}
\ No newline at end of file
diff --git a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/vo/contract/international/ContractRequest.java b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/vo/contract/international/ContractRequest.java
index 2f92d66..b6b4507 100644
--- a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/vo/contract/international/ContractRequest.java
+++ b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/vo/contract/international/ContractRequest.java
@@ -1,10 +1,9 @@
package com.zt.plat.module.contractorder.api.vo.contract.international;
+import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
-import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;
-import java.sql.Date;
import java.util.List;
/**
@@ -14,78 +13,144 @@ import java.util.List;
public class ContractRequest {
// 基础信息
+ @Schema(description = "操作标志")
private String operateFlag; // 操作标志
+ @Schema(description = "账套代码")
private String bookId; // 账套代码
+ @Schema(description = "组织ID")
private String orgId; // 组织ID
+ @Schema(description = "合同唯一键")
private String contractId; // 合同唯一键
+ @Schema(description = "合同操作类型 (新增, 变更, 修正)")
private String operateType; // 合同操作类型 (新增, 变更, 修正)
+ @Schema(description = "合同编号")
private String contractCode; // 合同编号
+ @Schema(description = "业务合同编号")
private String contractBusinessNo; // 业务合同编号
+ @Schema(description = "对方合同号")
private String contractExternalNo; // 对方合同号
+ @Schema(description = "系统合同版本号")
private BigDecimal contractVersion; // 系统合同版本号
+ @Schema(description = "合同状态代码 (值集: 40-签约)")
private String contractStatus; // 合同状态代码 (值集: 40-签约)
+ @Schema(description = "合同名称")
private String contractName; // 合同名称
+ @Schema(description = "合同类型 (货运;货代;仓储;保险)")
private String contractType; // 合同类型 (货运;货代;仓储;保险)
+ @Schema(description = "是否非标准合同文本")
private String textType; // 是否非标准合同文本
- @DateTimeFormat(pattern = "yyyyMMdd")
- private Date contractStartDate; // 合同有效期起 (格式: yyyyMMdd)
- @DateTimeFormat(pattern = "yyyyMMdd")
- private Date contractEndDate; // 合同有效期止 (格式: yyyyMMdd)
+ @Schema(description = "合同有效期起 (格式: yyyyMMdd)")
+ private String contractStartDate; // 合同有效期起 (格式: yyyyMMdd)
+ @Schema(description = "合同有效期止 (格式: yyyyMMdd)")
+ private String contractEndDate; // 合同有效期止 (格式: yyyyMMdd)
+ @Schema(description = "是否固定单价 (0-浮动, 1-固定)")
private String priceType; // 是否固定单价 (0-浮动, 1-固定)
+ @Schema(description = "合同币种")
private String currencyCode; // 合同币种
+ @Schema(description = "结算方式")
private String settleMethod; // 结算方式
+ @Schema(description = "对方合同号")
private String firstContractCode; // 对方合同号
+ @Schema(description = "预估含税总金额")
private BigDecimal estimateAmountTotal; // 预估含税总金额
+ @Schema(description = "结算依据 (10-交货量, 20-卸车量)")
private String settleGist; // 结算依据 (10-交货量, 20-卸车量)
+ @Schema(description = "税率")
private BigDecimal priceTaxRate; // 税率
+ @Schema(description = "运输方式 (10-铁路或汽运, 20-水路运输, 30-铁路运输, 40-汽车运输, 50-航空运输)")
private String transType; // 运输方式 (10-铁路或汽运, 20-水路运输, 30-铁路运输, 40-汽车运输, 50-航空运输)
+ @Schema(description = "包装方式")
private String packMethod; // 包装方式
+ @Schema(description = "在途损耗")
private BigDecimal intransitLoss; // 在途损耗
+ @Schema(description = "提货地")
private String pickupLocation; // 提货地
+ @Schema(description = "仓库数")
private BigDecimal warehouseNum; // 仓库数
+ @Schema(description = "按码单入库磅差比")
private BigDecimal weightDisparity; // 按码单入库磅差比
+ @Schema(description = "投保标的")
private String insuredSubjectMatter; // 投保标的
+ @Schema(description = "预计年保险总额")
private BigDecimal estimateCoverageAmount; // 预计年保险总额
+ @Schema(description = "预计年保险费")
private BigDecimal estimatePremium; // 预计年保险费
+ @Schema(description = "保险费率")
private BigDecimal premiumRate; // 保险费率
+ @Schema(description = "备注信息")
private String remark; // 备注信息
+ @Schema(description = "经办人工号")
private String createdUser; // 经办人工号
+ @Schema(description = "经办人姓名")
private String createdUserName; // 经办人姓名
+ @Schema(description = "拟签递交人工号")
private String approveSubmitCode; // 拟签递交人工号
+ @Schema(description = "拟签递交人姓名")
private String approveSubmitName; // 拟签递交人姓名
- @DateTimeFormat(pattern = "yyyyMMdd")
- private Date approveSubmitDate; // 拟签呈批日期
+ @Schema(description = "拟签呈批日期")
+ private String approveSubmitDate; // 拟签呈批日期
+ @Schema(description = "拟签通过人工号")
private String approvePassCode; // 拟签通过人工号
+ @Schema(description = "拟签通过人姓名")
private String approvePassName; // 拟签通过人姓名
- @DateTimeFormat(pattern = "yyyyMMdd")
- private Date approvePassDate; // 拟签通过日期
+ @Schema(description = "拟签通过日期")
+ private String approvePassDate; // 拟签通过日期
+ @Schema(description = "签约地 (40-签约必填)")
private String signSite; // 签约地 (40-签约必填)
- @DateTimeFormat(pattern = "yyyyMMdd")
- private Date signDate; // 签约日期 (40-签约必填, 格式: yyyyMMdd)
+ @Schema(description = "签约日期 (40-签约必填, 格式: yyyyMMdd)")
+ private String signDate; // 签约日期 (40-签约必填, 格式: yyyyMMdd)
+ @Schema(description = "对方签约人 (40-签约必填)")
private String signFirstPerson; // 对方签约人 (40-签约必填)
+ @Schema(description = "我方签约人工号 (40-签约必填)")
private String signSecondPersonCode; // 我方签约人工号 (40-签约必填)
+ @Schema(description = "我方签约人")
private String signSecondPersonName; // 我方签约人
+ @Schema(description = "推荐签约人工号 (40-签约必填, Y/N)")
private String onceAuthorityFlag; // 推荐签约人工号 (40-签约必填, Y/N)
+ @Schema(description = "推荐签约人工号")
private String signOnceAccredit; // 推荐签约人工号
+ @Schema(description = "备用字段1")
private String extCol1; // 备用字段1
+ @Schema(description = "备用字段2")
private String extCol2; // 备用字段2
+ @Schema(description = "备用字段3")
private String extCol3; // 备用字段3
+ @Schema(description = "备用字段4")
private String extCol4; // 备用字段4
+ @Schema(description = "备用字段5")
private String extCol5; // 备用字段5
+ @Schema(description = "备用字段6")
private String extCol6; // 备用字段6
+ @Schema(description = "备用字段7")
private String extCol7; // 备用字段7
+ @Schema(description = "备用字段8")
private String extCol8; // 备用字段8
+ @Schema(description = "备用字段9")
private String extCol9; // 备用字段9
+ @Schema(description = "备用字段10")
private String extCol10; // 备用字段10
+ @Schema(description = "附件清单列表")
private List attachList; // 附件清单列表
+ @Schema(description = "是否内部企业")
+ private String isInternal; // 是否内部企业
+ @Schema(description = "是否框架合同")
+ private String isFramework; // 是否框架合同
// 嵌套列表
+ @Schema(description = "客商信息")
private List partnerList; // 客商信息
+ @Schema(description = "收发港/站点")
private List goodsSiteList; // 收发港/站点
+ @Schema(description = "货物装卸要求")
private List loadingRequirementsList; // 货物装卸要求
+ @Schema(description = "收付款账号")
private List accountList; // 收付款账号
+ @Schema(description = "费用明细")
private List freightList; // 费用明细
+ @Schema(description = "服务费用项目")
private List serviceFeeList; // 服务费用项目
+ @Schema(description = "仓库明细")
private List storgeList; // 仓库明细
+ @Schema(description = "接货地址")
private List receivingAddrList; // 接货地址
}
\ No newline at end of file
diff --git a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/vo/contract/international/Freight.java b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/vo/contract/international/Freight.java
index 740ba73..1c03924 100644
--- a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/vo/contract/international/Freight.java
+++ b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/vo/contract/international/Freight.java
@@ -1,5 +1,6 @@
package com.zt.plat.module.contractorder.api.vo.contract.international;
+import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.math.BigDecimal;
@@ -8,26 +9,48 @@ import java.math.BigDecimal;
*/
@Data
public class Freight {
+ @Schema(description = "费用明细行号")
private String freightSourceId; // 费用明细行号
+ @Schema(description = "费用明细编号")
private String freightSourceCode; // 费用明细编号
+ @Schema(description = "发货地编号")
private String beginSiteCode; // 发货地编号
+ @Schema(description = "发货地名称")
private String beginSiteName; // 发货地名称
+ @Schema(description = "详细地址")
private String beginSiteAddress; // 详细地址
+ @Schema(description = "收货地编码")
private String endSiteCode; // 收货地编码
+ @Schema(description = "收货地名称")
private String endSiteName; // 收货地名称
+ @Schema(description = "详细地址")
private String endSiteAddress; // 详细地址
+ @Schema(description = "运输方式 (10-汽运;20-船运;30-水汽联运)")
private String contractTypeDispatch; // 运输方式 (10-汽运;20-船运;30-水汽联运)
+ @Schema(description = "费用类型 (包干费、汽运费、港口费...)")
private String feeTypeCode; // 费用类型 (包干费、汽运费、港口费...)
+ @Schema(description = "费用名称")
private String feeTypeName; // 费用名称
+ @Schema(description = "是否乙方提货")
private String isPartybPickup; // 是否乙方提货
+ @Schema(description = "乙方提货单价")
private BigDecimal partybPickupPrice; // 乙方提货单价
+ @Schema(description = "费用大类")
private String feeCategoryL; // 费用大类
+ @Schema(description = "费用小类")
private String feeCategoryS; // 费用小类
+ @Schema(description = "标的仓")
private String goodsStorage; // 标的仓
+ @Schema(description = "标的物")
private String categoryName; // 标的物
+ @Schema(description = "免堆期")
private BigDecimal noHeapDays; // 免堆期
+ @Schema(description = "计费单位 (01-元/吨; 02-元/40GP; 03-元/20GP; 04-元/车)")
private String quantityUnitCode; // 计费单位 (01-元/吨; 02-元/40GP; 03-元/20GP; 04-元/车)
+ @Schema(description = "单价")
private BigDecimal priceWithtax; // 单价
+ @Schema(description = "税率(%)")
private BigDecimal priceTaxRate; // 税率(%)
+ @Schema(description = "费用承担")
private String costBearing; // 费用承担
}
\ No newline at end of file
diff --git a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/vo/contract/international/GoodsSite.java b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/vo/contract/international/GoodsSite.java
index d4fc687..d7a745f 100644
--- a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/vo/contract/international/GoodsSite.java
+++ b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/vo/contract/international/GoodsSite.java
@@ -1,5 +1,6 @@
package com.zt.plat.module.contractorder.api.vo.contract.international;
+import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
/*
@@ -7,18 +8,32 @@ import lombok.Data;
*/
@Data
public class GoodsSite {
+ @Schema(description = "收发港站点行号")
private String goodsSiteSourceId; // 收发港站点行号
+ @Schema(description = "收发港站点编号")
private String goodsSiteSourceCode; // 收发港站点编号
+ @Schema(description = "标的物分类")
private String subMattercategoryLevel; // 标的物分类
+ @Schema(description = "标的物编码")
private String subMattercategoryCode; // 标的物编码
+ @Schema(description = "标的物名称")
private String subMatterCategoryName; // 标的物名称
+ @Schema(description = "地点类型 (QY-区域; GK-港口; MT-码头; CK-仓库)")
private String beginSiteType; // 地点类型 (QY-区域; GK-港口; MT-码头; CK-仓库)
+ @Schema(description = "发货地编号")
private String beginSiteCode; // 发货地编号
+ @Schema(description = "发货地名称")
private String beginSiteName; // 发货地名称
+ @Schema(description = "详细地址")
private String beginSiteAddress; // 详细地址
+ @Schema(description = "地点类型")
private String endSiteType; // 地点类型
+ @Schema(description = "收货地编号")
private String endSiteCode; // 收货地编号
+ @Schema(description = "收货地名称")
private String endSiteName; // 收货地名称
+ @Schema(description = "详细地址")
private String endSiteAddress; // 详细地址
+ @Schema(description = "运输方式 (10-汽运;20-船运;30-水汽联运)")
private String contractTypeDispatch; // 运输方式 (10-汽运;20-船运;30-水汽联运)
}
\ No newline at end of file
diff --git a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/vo/contract/international/LoadingRequirement.java b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/vo/contract/international/LoadingRequirement.java
index 7b8f31e..0ad7a7a 100644
--- a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/vo/contract/international/LoadingRequirement.java
+++ b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/vo/contract/international/LoadingRequirement.java
@@ -1,5 +1,6 @@
package com.zt.plat.module.contractorder.api.vo.contract.international;
+import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
/*
@@ -7,12 +8,20 @@ import lombok.Data;
*/
@Data
public class LoadingRequirement {
+ @Schema(description = "货物装卸行号")
private String loadingReqSourceId; // 货物装卸行号
+ @Schema(description = "货物装卸编号")
private String loadingReqSourceCode; // 货物装卸编号
+ @Schema(description = "提货地责任方")
private String deliveredAtPlace; // 提货地责任方
+ @Schema(description = "提货地费用承担方")
private String deliveredAtFeeparty; // 提货地费用承担方
+ @Schema(description = "终到地责任方")
private String destinationResponsibleParty; // 终到地责任方
+ @Schema(description = "终到地费用承担方")
private String intermediateStationParty; // 终到地费用承担方
+ @Schema(description = "中间站责任方")
private String destinationResponsibleFeeparty; // 中间站责任方
+ @Schema(description = "中间站费用承担方")
private String intermediateResponsibleFeeparty; // 中间站费用承担方
}
\ No newline at end of file
diff --git a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/vo/contract/international/Partner.java b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/vo/contract/international/Partner.java
index 7ac0033..89c1993 100644
--- a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/vo/contract/international/Partner.java
+++ b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/vo/contract/international/Partner.java
@@ -1,5 +1,6 @@
package com.zt.plat.module.contractorder.api.vo.contract.international;
+import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
/*
@@ -7,15 +8,29 @@ import lombok.Data;
*/
@Data
public class Partner {
+ @Schema(description = "客商信息行号")
private String partnerSourceId; // 客商信息行号
+ @Schema(description = "客商信息编码")
private String partnerSourceCode; // 客商信息编码
+ @Schema(description = "供应商名称")
private String partnerName; // 供应商名称
+ @Schema(description = "供应商代码")
private String partnerCode; // 供应商代码
+ @Schema(description = "对方法定代表人")
private String legalRepresentative; // 对方法定代表人
+ @Schema(description = "币种")
private String partnerCurrency; // 币种
+ @Schema(description = "对方联系人")
private String contactPerson; // 对方联系人
+ @Schema(description = "对方联系人联系方式")
private String contactInformation; // 对方联系人联系方式
+ @Schema(description = "是否内部交易")
private String internalTransaction; // 是否内部交易
+ @Schema(description = "客商类型")
private String partnerType; // 客商类型
+ @Schema(description = "境内/外")
private String domesticOrOverseas; // 境内/外
+
+ @Schema(description = "erp合同编号")
+ private String erpContractPaperNumber; // erp合同编号
}
\ No newline at end of file
diff --git a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/vo/contract/international/ReceivingAddr.java b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/vo/contract/international/ReceivingAddr.java
index b72dae8..1cd4f9d 100644
--- a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/vo/contract/international/ReceivingAddr.java
+++ b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/vo/contract/international/ReceivingAddr.java
@@ -1,5 +1,6 @@
package com.zt.plat.module.contractorder.api.vo.contract.international;
+import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
/*
@@ -7,17 +8,30 @@ import lombok.Data;
*/
@Data
public class ReceivingAddr {
+ @Schema(description = "接货地址行号")
private String recivingAddrSourceId; // 接货地址行号
+ @Schema(description = "接货地址编号")
private String recivingAddrSourceCode; // 接货地址编号
+ @Schema(description = "标的物分类")
private String categoryLevel; // 标的物分类
+ @Schema(description = "标的物编码")
private String ccCategoryCode; // 标的物编码
+ @Schema(description = "标的物名称")
private String categoryName; // 标的物名称
+ @Schema(description = "接货编码")
private String siteCode; // 接货编码
+ @Schema(description = "接货名称")
private String siteName; // 接货名称
+ @Schema(description = "地址类型 (QY-区域; GK-港口; MT-码头; CK-仓库)")
private String siteType; // 地址类型 (QY-区域; GK-港口; MT-码头; CK-仓库)
+ @Schema(description = "详细地址")
private String siteAddress; // 详细地址
+ @Schema(description = "专用线")
private String consigneePrivatewire; // 专用线
+ @Schema(description = "收货人")
private String consignerContact; // 收货人
+ @Schema(description = "联系人")
private String contactPerson; // 联系人
+ @Schema(description = "联系电话")
private String contactPhone; // 联系电话
}
\ No newline at end of file
diff --git a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/vo/contract/international/ServiceFee.java b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/vo/contract/international/ServiceFee.java
index d70adc0..7eaa3db 100644
--- a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/vo/contract/international/ServiceFee.java
+++ b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/vo/contract/international/ServiceFee.java
@@ -1,5 +1,6 @@
package com.zt.plat.module.contractorder.api.vo.contract.international;
+import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
/*
@@ -7,8 +8,12 @@ import lombok.Data;
*/
@Data
public class ServiceFee {
+ @Schema(description = "服务费用项目行号")
private String serviceFeeSourceId; // 服务费用项目行号
+ @Schema(description = "服务费用项目编号")
private String serviceFeeSourceCode; // 服务费用项目编号
+ @Schema(description = "服务项目名称")
private String serviceFeeName; // 服务项目名称
+ @Schema(description = "计费类别")
private String expenseType; // 计费类别
}
\ No newline at end of file
diff --git a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/vo/contract/international/Storge.java b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/vo/contract/international/Storge.java
index 18decdc..d6aa239 100644
--- a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/vo/contract/international/Storge.java
+++ b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/vo/contract/international/Storge.java
@@ -1,5 +1,6 @@
package com.zt.plat.module.contractorder.api.vo.contract.international;
+import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
/*
@@ -7,9 +8,14 @@ import lombok.Data;
*/
@Data
public class Storge {
+ @Schema(description = "合同明细行号")
private String storgeSourceId; // 合同明细行号
+ @Schema(description = "合同明细行编号")
private String storgeSourceCode; // 合同明细行编号
+ @Schema(description = "仓库编号")
private String warehouseCode; // 仓库编号
+ @Schema(description = "仓库名称")
private String warehouseName; // 仓库名称
+ @Schema(description = "详细地址")
private String warehouseAddress; // 详细地址
}
\ No newline at end of file
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 6a2ebcc..b3edc42 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,5 +28,6 @@ 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, "未知的操作");
+ ErrorCode CONTRACT_UNKNOWN_OPERATE = new ErrorCode(1_027_000_016, "未知的操作");
+ ErrorCode CONTRACT_PARTNER_NOT_EXISTS = new ErrorCode(1_027_000_017, "客商信息不存在");
}
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 c349894..d463d8f 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
@@ -4,11 +4,10 @@ import cn.hutool.extra.spring.SpringUtil;
import cn.hutool.json.JSONObject;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.util.object.BeanUtils;
+import com.zt.plat.module.contractorder.api.dto.contract.ContractRespDTO;
import com.zt.plat.module.contractorder.api.dto.order.PrchOrdDtlDTO;
import com.zt.plat.module.contractorder.api.dto.order.PurchaseOrderWithDetailsDTO;
-import com.zt.plat.module.contractorder.api.dto.contract.ContractRespDTO;
import com.zt.plat.module.contractorder.api.dto.order.SalesOrdDtlDTO;
-import com.zt.plat.module.contractorder.api.vo.contract.ContractSaveReqVO;
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;
@@ -28,6 +27,7 @@ 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;
import com.zt.plat.module.erp.controller.admin.erp.vo.ErpContractSaveReqVO;
+import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.springframework.transaction.annotation.Transactional;
@@ -35,8 +35,9 @@ import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
+import java.lang.reflect.Field;
import java.time.LocalDateTime;
-import java.time.ZoneId;
+import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.List;
@@ -62,7 +63,6 @@ public class ContractApiImpl implements ContractApi {
@Resource
private SystemRelativityMapper systemRelativityMapper;
-
@Override
public ContractRespDTO getContractByPaperNumber(String contractPaperNumber) {
return contractService.getFormulasByPaperNumber(contractPaperNumber);
@@ -145,87 +145,12 @@ public class ContractApiImpl implements ContractApi {
return purchaseOrderWithDetailsDTOS;
}
- @Override
- public CommonResult create(ContractSaveReqVO reqVO) {
- return null;
- }
-
@Transactional
@Override
- public CommonResult push(@RequestBody ContractRequest reqVO) {
+ public CommonResult push(@RequestBody ContractRequest reqVO) throws Exception {
// 合同主信息表映射
- ContractMainDO contractMainDO = new ContractMainDO();
- // 合同编号
- contractMainDO.setContractPaperNumber(reqVO.getContractCode());
- // 合同名称
- contractMainDO.setContractName(reqVO.getContractName());
- // 施工类型编号 默认值:SAPO2NCOZC
- contractMainDO.setConstructionTypeNumber("SAPO2NCOZC");
- // 施工类型名称 默认值:铜非施工合同支出类
- contractMainDO.setConstructionTypeName("铜非施工合同支出类");
- // 类别 默认值:购销合同(1)
- contractMainDO.setCategory("1");
- // 是否虚拟合同 默认值:否(0)
- contractMainDO.setContractVirtual("0");
- // 代理方 默认值:NULL
- // 签署日期 -> 签约日期 (40-签约必填, 格式: yyyyMMdd)
- contractMainDO.setSignDate(LocalDateTime.ofInstant(reqVO.getSignDate().toInstant(), ZoneId.systemDefault()));
- // 开始日期 -> 合同有效期起 (格式: yyyyMMdd)
- contractMainDO.setStartDate(LocalDateTime.ofInstant(reqVO.getContractStartDate().toInstant(), ZoneId.systemDefault()));
- // 结束日期 -> 合同有效期止 (格式: yyyyMMdd)
- contractMainDO.setEndDate(LocalDateTime.ofInstant(reqVO.getContractEndDate().toInstant(), ZoneId.systemDefault()));
- // 币种 -> 合同币种
- contractMainDO.setCurrency(reqVO.getCurrencyCode());
- // 原币金额 -> 预估含税总金额
- contractMainDO.setCooAmount(reqVO.getEstimateAmountTotal());
- // 本币金额 -> 预估含税总金额
- contractMainDO.setBasicAmount(reqVO.getEstimateAmountTotal());
- // 状态 默认值:正在执行(EF) 执行中
- contractMainDO.setStatus(DictEnum.BSE_CTRT_STS_IN_PROGRESS.getCode());
- // 是否有预付款 默认值:否
- contractMainDO.setHasPrepayment("0");
- // 预付款比例 默认值:NULL
- // 预付款金额 默认值:NULL
- // 是否有质保金 默认值:否
- contractMainDO.setHasQualityAmount("0");
- // 质保金比例 默认值:NULL
- // 质保金金额 默认值:NULL
- // 是否内部企业 TODO
- // 收支性质 默认值:支出
- contractMainDO.setDirection(DictEnum.ERP_RCV_DLVY_EXPENSES.getCode());
- // 是否框架合同 TODO
- // 境内/境外 -> 客商信息:境内/外
- if (reqVO.getPartnerList() != null && !reqVO.getPartnerList().isEmpty()) {
- contractMainDO.setIsDomestic(reqVO.getPartnerList().get(0).getPartnerCode());
- }
- // 建筑服务发生地 默认值:NULL
- // 达到收款条件金额 默认值:NULL
- // 是否有履约保证金 默认值:否
- contractMainDO.setHasDeposit("0");
- // 原币履约保证金 默认值:NULL
- // 本币履约保证金 默认值:NULL
- // 交易方式 默认值:先款后货
- contractMainDO.setHasPayable("PRE_PAY");
- // 合同类型 默认值:物流合同
- contractMainDO.setContractType("3");
- // 签署地 -> 签约地 (40-签约必填)
- contractMainDO.setSignPlace(reqVO.getSignSite());
- // 甲方公司编号(采购方) -> 账套代码
- contractMainDO.setPurchaseCompanyNumber(reqVO.getBookId());
- // 甲方公司名称 -> 账套名称 null
- // 甲方地址 默认值:NULL
- // 甲方法定代表人 默认值:NULL
- // 乙方公司编号(销售方) -> 客商信息:供应商代码
- if (reqVO.getPartnerList() != null && !reqVO.getPartnerList().isEmpty()) {
- contractMainDO.setSalesCompanyNumber(reqVO.getPartnerList().get(0).getPartnerCode());
- }
- // 乙方公司名称 -> 客商信息:供应商名称
- if (reqVO.getPartnerList() != null && !reqVO.getPartnerList().isEmpty()) {
- contractMainDO.setSalesCompanyName(reqVO.getPartnerList().get(0).getPartnerName());
- }
- // 乙方地址 默认值:NULL
- // 乙方企业负责人 默认值:NULL
+ ContractMainDO contractMainDO = getcontractMainDO(reqVO);
// 逻辑处理
// 操作标志 I 新增/更新;D 删除
@@ -254,1472 +179,160 @@ public class ContractApiImpl implements ContractApi {
systemRelativityMapper.insert(saveRelation);
}
} else if ("D".equals(operateFlag)) {
- if (systemRelativityDO == null || systemRelativityDO.getDownId() == null)
- throw exception(CONTRACT_NOT_EXISTS);
+ if (systemRelativityDO == null || systemRelativityDO.getDownId() == null) throw exception(CONTRACT_NOT_EXISTS);
contractId = systemRelativityDO.getDownId();
contractMainMapper.deleteById(contractId);
+ // 删除动态条款信息
+ contractOtherFormMapper.delete("CTRT_MAIN_ID", contractId.toString());
+ contractOtherFieldMapper.delete("CTRT_MAIN_ID", contractId.toString());
+ return success(true);
} else {
throw exception(CONTRACT_UNKNOWN_OPERATE);
}
- // 提交合同到erp
- // 生成ERP合同映射表
- ErpContractSaveReqVO erpContractVO = contractService.getErpContract(contractMainDO);
-
- // 调用ERP模块
- JSONObject erpResult = contractService.sendToErp(erpContractVO);
- log.info("合同提交ERP结果:{}", erpResult);
-
- // 更新合同状态
- if (!erpResult.getBool("success")) {
- throw exception(CONTRACT_SUBMIT_ERP_FAIL, erpResult.getStr("errMsg"));
+ // 根据客商信息列表提交多个合同映射到erp
+ if (reqVO.getPartnerList() == null || reqVO.getPartnerList().isEmpty()) {
+ throw exception(CONTRACT_PARTNER_NOT_EXISTS);
}
- // 多余请求参数保存到动态条款明细表
- List contractOtherFieldDOS = new ArrayList<>();
- ContractOtherFieldDO contractOtherFieldDO = new ContractOtherFieldDO();
- // 基础信息-----
- // 组织ID
- contractOtherFieldDO.setFieldNumber("orgId");
- contractOtherFieldDO.setFieldName("组织ID");
- contractOtherFieldDO.setFieldValue(reqVO.getOrgId());
- contractOtherFieldDO.setFieldDescription("组织ID");
- contractOtherFieldDO.setType("String");
- contractOtherFieldDO.setContractMainId(contractId.toString());
- contractOtherFieldDOS.add(contractOtherFieldDO);
- // 合同操作类型 (新增, 变更, 修正)
- contractOtherFieldDO = new ContractOtherFieldDO();
- contractOtherFieldDO.setFieldNumber("operateType");
- contractOtherFieldDO.setFieldName("合同操作类型 (新增, 变更, 修正)");
- contractOtherFieldDO.setFieldValue(reqVO.getOperateType());
- contractOtherFieldDO.setFieldDescription("合同操作类型 (新增, 变更, 修正)");
- contractOtherFieldDO.setType("String");
- contractOtherFieldDO.setContractMainId(contractId.toString());
- contractOtherFieldDOS.add(contractOtherFieldDO);
- // 业务合同编号
- contractOtherFieldDO = new ContractOtherFieldDO();
- contractOtherFieldDO.setFieldNumber("contractBusinessNo");
- contractOtherFieldDO.setFieldName("业务合同编号");
- contractOtherFieldDO.setFieldValue(reqVO.getContractBusinessNo());
- contractOtherFieldDO.setFieldDescription("业务合同编号");
- contractOtherFieldDO.setType("String");
- contractOtherFieldDO.setContractMainId(contractId.toString());
- contractOtherFieldDOS.add(contractOtherFieldDO);
- // 对方合同号
- contractOtherFieldDO = new ContractOtherFieldDO();
- contractOtherFieldDO.setFieldNumber("contractExternalNo");
- contractOtherFieldDO.setFieldName("对方合同号");
- contractOtherFieldDO.setFieldValue(reqVO.getContractExternalNo());
- contractOtherFieldDO.setFieldDescription("对方合同号");
- contractOtherFieldDO.setType("String");
- contractOtherFieldDO.setContractMainId(contractId.toString());
- contractOtherFieldDOS.add(contractOtherFieldDO);
- // 系统合同版本号
- contractOtherFieldDO = new ContractOtherFieldDO();
- contractOtherFieldDO.setFieldNumber("contractVersion");
- contractOtherFieldDO.setFieldName("系统合同版本号");
- contractOtherFieldDO.setFieldValue(reqVO.getContractVersion().toString());
- contractOtherFieldDO.setFieldDescription("系统合同版本号");
- contractOtherFieldDO.setType("BigDecimal");
- contractOtherFieldDO.setContractMainId(contractId.toString());
- contractOtherFieldDOS.add(contractOtherFieldDO);
- // 合同状态代码 (值集: 40-签约)
- contractOtherFieldDO = new ContractOtherFieldDO();
- contractOtherFieldDO.setFieldNumber("contractStatus");
- contractOtherFieldDO.setFieldName("合同状态代码 (值集: 40-签约)");
- contractOtherFieldDO.setFieldValue(reqVO.getContractStatus());
- contractOtherFieldDO.setFieldDescription("合同状态代码 (值集: 40-签约)");
- contractOtherFieldDO.setType("String");
- contractOtherFieldDO.setContractMainId(contractId.toString());
- contractOtherFieldDOS.add(contractOtherFieldDO);
- // 合同类型 (货运;货代;仓储;保险)
- contractOtherFieldDO = new ContractOtherFieldDO();
- contractOtherFieldDO.setFieldNumber("contractType");
- contractOtherFieldDO.setFieldName("合同类型 (货运;货代;仓储;保险)");
- contractOtherFieldDO.setFieldValue(reqVO.getContractType());
- contractOtherFieldDO.setFieldDescription("合同类型 (货运;货代;仓储;保险)");
- contractOtherFieldDO.setType("String");
- contractOtherFieldDO.setContractMainId(contractId.toString());
- contractOtherFieldDOS.add(contractOtherFieldDO);
- // 是否非标准合同文本
- contractOtherFieldDO = new ContractOtherFieldDO();
- contractOtherFieldDO.setFieldNumber("textType");
- contractOtherFieldDO.setFieldName("是否非标准合同文本");
- contractOtherFieldDO.setFieldValue(reqVO.getTextType());
- contractOtherFieldDO.setFieldDescription("是否非标准合同文本");
- contractOtherFieldDO.setType("String");
- contractOtherFieldDO.setContractMainId(contractId.toString());
- contractOtherFieldDOS.add(contractOtherFieldDO);
- // 是否固定单价 (0-浮动, 1-固定)
- contractOtherFieldDO = new ContractOtherFieldDO();
- contractOtherFieldDO.setFieldNumber("priceType");
- contractOtherFieldDO.setFieldName("是否固定单价 (0-浮动, 1-固定)");
- contractOtherFieldDO.setFieldValue(reqVO.getPriceType());
- contractOtherFieldDO.setFieldDescription("是否固定单价 (0-浮动, 1-固定)");
- contractOtherFieldDO.setType("String");
- contractOtherFieldDO.setContractMainId(contractId.toString());
- contractOtherFieldDOS.add(contractOtherFieldDO);
- // 结算方式
- contractOtherFieldDO = new ContractOtherFieldDO();
- contractOtherFieldDO.setFieldNumber("settleMethod");
- contractOtherFieldDO.setFieldName("结算方式");
- contractOtherFieldDO.setFieldValue(reqVO.getSettleMethod());
- contractOtherFieldDO.setFieldDescription("结算方式");
- contractOtherFieldDO.setType("String");
- contractOtherFieldDO.setContractMainId(contractId.toString());
- contractOtherFieldDOS.add(contractOtherFieldDO);
- // 对方合同号
- contractOtherFieldDO = new ContractOtherFieldDO();
- contractOtherFieldDO.setFieldNumber("firstContractCode");
- contractOtherFieldDO.setFieldName("对方合同号");
- contractOtherFieldDO.setFieldValue(reqVO.getFirstContractCode());
- contractOtherFieldDO.setFieldDescription("对方合同号");
- contractOtherFieldDO.setType("String");
- contractOtherFieldDO.setContractMainId(contractId.toString());
- contractOtherFieldDOS.add(contractOtherFieldDO);
- // 结算依据 (10-交货量, 20-卸车量)
- contractOtherFieldDO = new ContractOtherFieldDO();
- contractOtherFieldDO.setFieldNumber("settleGist");
- contractOtherFieldDO.setFieldName("结算依据 (10-交货量, 20-卸车量)");
- contractOtherFieldDO.setFieldValue(reqVO.getSettleGist());
- contractOtherFieldDO.setFieldDescription("结算依据 (10-交货量, 20-卸车量)");
- contractOtherFieldDO.setType("String");
- contractOtherFieldDO.setContractMainId(contractId.toString());
- contractOtherFieldDOS.add(contractOtherFieldDO);
- // 税率
- contractOtherFieldDO = new ContractOtherFieldDO();
- contractOtherFieldDO.setFieldNumber("priceTaxRate");
- contractOtherFieldDO.setFieldName("税率");
- contractOtherFieldDO.setFieldValue(reqVO.getPriceTaxRate().toString());
- contractOtherFieldDO.setFieldDescription("税率");
- contractOtherFieldDO.setType("BigDecimal");
- contractOtherFieldDO.setContractMainId(contractId.toString());
- contractOtherFieldDOS.add(contractOtherFieldDO);
- // 运输方式 (10-铁路或汽运, 20-水路运输, 30-铁路运输, 40-汽车运输, 50-航空运输)
- contractOtherFieldDO = new ContractOtherFieldDO();
- contractOtherFieldDO.setFieldNumber("transType");
- contractOtherFieldDO.setFieldName("运输方式 (10-铁路或汽运, 20-水路运输, 30-铁路运输, 40-汽车运输, 50-航空运输)");
- contractOtherFieldDO.setFieldValue(reqVO.getTransType());
- contractOtherFieldDO.setFieldDescription("运输方式 (10-铁路或汽运, 20-水路运输, 30-铁路运输, 40-汽车运输, 50-航空运输)");
- contractOtherFieldDO.setType("String");
- contractOtherFieldDO.setContractMainId(contractId.toString());
- contractOtherFieldDOS.add(contractOtherFieldDO);
- // 包装方式
- contractOtherFieldDO = new ContractOtherFieldDO();
- contractOtherFieldDO.setFieldNumber("packMethod");
- contractOtherFieldDO.setFieldName("包装方式");
- contractOtherFieldDO.setFieldValue(reqVO.getPackMethod());
- contractOtherFieldDO.setFieldDescription("包装方式");
- contractOtherFieldDO.setType("String");
- contractOtherFieldDO.setContractMainId(contractId.toString());
- contractOtherFieldDOS.add(contractOtherFieldDO);
- // 在途损耗
- contractOtherFieldDO = new ContractOtherFieldDO();
- contractOtherFieldDO.setFieldNumber("intransitLoss");
- contractOtherFieldDO.setFieldName("在途损耗");
- contractOtherFieldDO.setFieldValue(reqVO.getIntransitLoss().toString());
- contractOtherFieldDO.setFieldDescription("在途损耗");
- contractOtherFieldDO.setType("BigDecimal");
- contractOtherFieldDO.setContractMainId(contractId.toString());
- contractOtherFieldDOS.add(contractOtherFieldDO);
- // 提货地
- contractOtherFieldDO = new ContractOtherFieldDO();
- contractOtherFieldDO.setFieldNumber("pickupLocation");
- contractOtherFieldDO.setFieldName("提货地");
- contractOtherFieldDO.setFieldValue(reqVO.getPickupLocation());
- contractOtherFieldDO.setFieldDescription("提货地");
- contractOtherFieldDO.setType("String");
- contractOtherFieldDO.setContractMainId(contractId.toString());
- contractOtherFieldDOS.add(contractOtherFieldDO);
- // 仓库数
- contractOtherFieldDO = new ContractOtherFieldDO();
- contractOtherFieldDO.setFieldNumber("warehouseNum");
- contractOtherFieldDO.setFieldName("仓库数");
- contractOtherFieldDO.setFieldValue(reqVO.getWarehouseNum().toString());
- contractOtherFieldDO.setFieldDescription("仓库数");
- contractOtherFieldDO.setType("BigDecimal");
- contractOtherFieldDO.setContractMainId(contractId.toString());
- contractOtherFieldDOS.add(contractOtherFieldDO);
- // 按码单入库磅差比
- contractOtherFieldDO = new ContractOtherFieldDO();
- contractOtherFieldDO.setFieldNumber("weightDisparity");
- contractOtherFieldDO.setFieldName("按码单入库磅差比");
- contractOtherFieldDO.setFieldValue(reqVO.getWeightDisparity().toString());
- contractOtherFieldDO.setFieldDescription("按码单入库磅差比");
- contractOtherFieldDO.setType("BigDecimal");
- contractOtherFieldDO.setContractMainId(contractId.toString());
- contractOtherFieldDOS.add(contractOtherFieldDO);
- // 投保标的
- contractOtherFieldDO = new ContractOtherFieldDO();
- contractOtherFieldDO.setFieldNumber("insuredSubjectMatter");
- contractOtherFieldDO.setFieldName("投保标的");
- contractOtherFieldDO.setFieldValue(reqVO.getInsuredSubjectMatter());
- contractOtherFieldDO.setFieldDescription("投保标的");
- contractOtherFieldDO.setType("String");
- contractOtherFieldDO.setContractMainId(contractId.toString());
- contractOtherFieldDOS.add(contractOtherFieldDO);
- // 预计年保险总额
- contractOtherFieldDO = new ContractOtherFieldDO();
- contractOtherFieldDO.setFieldNumber("estimateCoverageAmount");
- contractOtherFieldDO.setFieldName("预计年保险总额");
- contractOtherFieldDO.setFieldValue(reqVO.getEstimateCoverageAmount().toString());
- contractOtherFieldDO.setFieldDescription("预计年保险总额");
- contractOtherFieldDO.setType("BigDecimal");
- contractOtherFieldDO.setContractMainId(contractId.toString());
- contractOtherFieldDOS.add(contractOtherFieldDO);
- // 预计年保险费
- contractOtherFieldDO = new ContractOtherFieldDO();
- contractOtherFieldDO.setFieldNumber("estimatePremium");
- contractOtherFieldDO.setFieldName("预计年保险费");
- contractOtherFieldDO.setFieldValue(reqVO.getEstimatePremium().toString());
- contractOtherFieldDO.setFieldDescription("预计年保险费");
- contractOtherFieldDO.setType("BigDecimal");
- contractOtherFieldDO.setContractMainId(contractId.toString());
- contractOtherFieldDOS.add(contractOtherFieldDO);
- // 保险费率
- contractOtherFieldDO = new ContractOtherFieldDO();
- contractOtherFieldDO.setFieldNumber("premiumRate");
- contractOtherFieldDO.setFieldName("保险费率");
- contractOtherFieldDO.setFieldValue(reqVO.getPremiumRate().toString());
- contractOtherFieldDO.setFieldDescription("保险费率");
- contractOtherFieldDO.setType("BigDecimal");
- contractOtherFieldDO.setContractMainId(contractId.toString());
- contractOtherFieldDOS.add(contractOtherFieldDO);
- // 备注信息
- contractOtherFieldDO = new ContractOtherFieldDO();
- contractOtherFieldDO.setFieldNumber("remark");
- contractOtherFieldDO.setFieldName("备注信息");
- contractOtherFieldDO.setFieldValue(reqVO.getRemark());
- contractOtherFieldDO.setFieldDescription("备注信息");
- contractOtherFieldDO.setType("String");
- contractOtherFieldDO.setContractMainId(contractId.toString());
- contractOtherFieldDOS.add(contractOtherFieldDO);
- // 经办人工号
- contractOtherFieldDO = new ContractOtherFieldDO();
- contractOtherFieldDO.setFieldNumber("createdUser");
- contractOtherFieldDO.setFieldName("经办人工号");
- contractOtherFieldDO.setFieldValue(reqVO.getCreatedUser());
- contractOtherFieldDO.setFieldDescription("经办人工号");
- contractOtherFieldDO.setType("String");
- contractOtherFieldDO.setContractMainId(contractId.toString());
- contractOtherFieldDOS.add(contractOtherFieldDO);
- // 经办人姓名
- contractOtherFieldDO = new ContractOtherFieldDO();
- contractOtherFieldDO.setFieldNumber("createdUserName");
- contractOtherFieldDO.setFieldName("经办人姓名");
- contractOtherFieldDO.setFieldValue(reqVO.getCreatedUserName());
- contractOtherFieldDO.setFieldDescription("经办人姓名");
- contractOtherFieldDO.setType("String");
- contractOtherFieldDO.setContractMainId(contractId.toString());
- contractOtherFieldDOS.add(contractOtherFieldDO);
- // 拟签递交人工号
- contractOtherFieldDO = new ContractOtherFieldDO();
- contractOtherFieldDO.setFieldNumber("approveSubmitCode");
- contractOtherFieldDO.setFieldName("拟签递交人工号");
- contractOtherFieldDO.setFieldValue(reqVO.getApproveSubmitCode());
- contractOtherFieldDO.setFieldDescription("拟签递交人工号");
- contractOtherFieldDO.setType("String");
- contractOtherFieldDO.setContractMainId(contractId.toString());
- contractOtherFieldDOS.add(contractOtherFieldDO);
- // 拟签递交人姓名
- contractOtherFieldDO = new ContractOtherFieldDO();
- contractOtherFieldDO.setFieldNumber("approveSubmitName");
- contractOtherFieldDO.setFieldName("拟签递交人姓名");
- contractOtherFieldDO.setFieldValue(reqVO.getApproveSubmitName());
- contractOtherFieldDO.setFieldDescription("拟签递交人姓名");
- contractOtherFieldDO.setType("String");
- contractOtherFieldDO.setContractMainId(contractId.toString());
- contractOtherFieldDOS.add(contractOtherFieldDO);
- // 拟签呈批日期
- contractOtherFieldDO = new ContractOtherFieldDO();
- contractOtherFieldDO.setFieldNumber("approveSubmitDate");
- contractOtherFieldDO.setFieldName("拟签呈批日期");
- contractOtherFieldDO.setFieldValue(reqVO.getApproveSubmitDate().toString());
- contractOtherFieldDO.setFieldDescription("拟签呈批日期");
- contractOtherFieldDO.setType("Date");
- contractOtherFieldDO.setContractMainId(contractId.toString());
- contractOtherFieldDOS.add(contractOtherFieldDO);
- // 拟签通过人工号
- contractOtherFieldDO = new ContractOtherFieldDO();
- contractOtherFieldDO.setFieldNumber("approvePassCode");
- contractOtherFieldDO.setFieldName("拟签通过人工号");
- contractOtherFieldDO.setFieldValue(reqVO.getApprovePassCode());
- contractOtherFieldDO.setFieldDescription("拟签通过人工号");
- contractOtherFieldDO.setType("String");
- contractOtherFieldDO.setContractMainId(contractId.toString());
- contractOtherFieldDOS.add(contractOtherFieldDO);
- // 拟签通过人姓名
- contractOtherFieldDO = new ContractOtherFieldDO();
- contractOtherFieldDO.setFieldNumber("approvePassName");
- contractOtherFieldDO.setFieldName("拟签通过人姓名");
- contractOtherFieldDO.setFieldValue(reqVO.getApprovePassName());
- contractOtherFieldDO.setFieldDescription("拟签通过人姓名");
- contractOtherFieldDO.setType("String");
- contractOtherFieldDO.setContractMainId(contractId.toString());
- contractOtherFieldDOS.add(contractOtherFieldDO);
- // 拟签通过日期
- contractOtherFieldDO = new ContractOtherFieldDO();
- contractOtherFieldDO.setFieldNumber("approvePassDate");
- contractOtherFieldDO.setFieldName("拟签通过日期");
- contractOtherFieldDO.setFieldValue(reqVO.getApprovePassDate().toString());
- contractOtherFieldDO.setFieldDescription("拟签通过日期");
- contractOtherFieldDO.setType("Date");
- contractOtherFieldDO.setContractMainId(contractId.toString());
- contractOtherFieldDOS.add(contractOtherFieldDO);
- // 对方签约人 (40-签约必填)
- contractOtherFieldDO = new ContractOtherFieldDO();
- contractOtherFieldDO.setFieldNumber("signFirstPerson");
- contractOtherFieldDO.setFieldName("对方签约人 (40-签约必填)");
- contractOtherFieldDO.setFieldValue(reqVO.getSignFirstPerson());
- contractOtherFieldDO.setFieldDescription("对方签约人 (40-签约必填)");
- contractOtherFieldDO.setType("String");
- contractOtherFieldDO.setContractMainId(contractId.toString());
- contractOtherFieldDOS.add(contractOtherFieldDO);
- // 我方签约人工号 (40-签约必填)
- contractOtherFieldDO = new ContractOtherFieldDO();
- contractOtherFieldDO.setFieldNumber("signSecondPersonCode");
- contractOtherFieldDO.setFieldName("我方签约人工号 (40-签约必填)");
- contractOtherFieldDO.setFieldValue(reqVO.getSignSecondPersonCode());
- contractOtherFieldDO.setFieldDescription("我方签约人工号 (40-签约必填)");
- contractOtherFieldDO.setType("String");
- contractOtherFieldDO.setContractMainId(contractId.toString());
- contractOtherFieldDOS.add(contractOtherFieldDO);
- // 我方签约人
- contractOtherFieldDO = new ContractOtherFieldDO();
- contractOtherFieldDO.setFieldNumber("signSecondPersonName");
- contractOtherFieldDO.setFieldName("我方签约人");
- contractOtherFieldDO.setFieldValue(reqVO.getSignSecondPersonName());
- contractOtherFieldDO.setFieldDescription("我方签约人");
- contractOtherFieldDO.setType("String");
- contractOtherFieldDO.setContractMainId(contractId.toString());
- contractOtherFieldDOS.add(contractOtherFieldDO);
- // 推荐签约人工号 (40-签约必填, Y/N)
- contractOtherFieldDO = new ContractOtherFieldDO();
- contractOtherFieldDO.setFieldNumber("onceAuthorityFlag");
- contractOtherFieldDO.setFieldName("推荐签约人工号 (40-签约必填, Y/N)");
- contractOtherFieldDO.setFieldValue(reqVO.getOnceAuthorityFlag());
- contractOtherFieldDO.setFieldDescription("推荐签约人工号 (40-签约必填, Y/N)");
- contractOtherFieldDO.setType("String");
- contractOtherFieldDO.setContractMainId(contractId.toString());
- contractOtherFieldDOS.add(contractOtherFieldDO);
- // 推荐签约人工号
- contractOtherFieldDO = new ContractOtherFieldDO();
- contractOtherFieldDO.setFieldNumber("signOnceAccredit");
- contractOtherFieldDO.setFieldName("推荐签约人工号");
- contractOtherFieldDO.setFieldValue(reqVO.getSignOnceAccredit());
- contractOtherFieldDO.setFieldDescription("推荐签约人工号");
- contractOtherFieldDO.setType("String");
- contractOtherFieldDO.setContractMainId(contractId.toString());
- contractOtherFieldDOS.add(contractOtherFieldDO);
- // 备用字段1
- contractOtherFieldDO = new ContractOtherFieldDO();
- contractOtherFieldDO.setFieldNumber("extCol1");
- contractOtherFieldDO.setFieldName("备用字段1");
- contractOtherFieldDO.setFieldValue(reqVO.getExtCol1());
- contractOtherFieldDO.setFieldDescription("备用字段1");
- contractOtherFieldDO.setType("String");
- contractOtherFieldDO.setContractMainId(contractId.toString());
- contractOtherFieldDOS.add(contractOtherFieldDO);
- // 备用字段2
- contractOtherFieldDO = new ContractOtherFieldDO();
- contractOtherFieldDO.setFieldNumber("extCol2");
- contractOtherFieldDO.setFieldName("备用字段2");
- contractOtherFieldDO.setFieldValue(reqVO.getExtCol2());
- contractOtherFieldDO.setFieldDescription("备用字段2");
- contractOtherFieldDO.setType("String");
- contractOtherFieldDO.setContractMainId(contractId.toString());
- contractOtherFieldDOS.add(contractOtherFieldDO);
- // 备用字段3
- contractOtherFieldDO = new ContractOtherFieldDO();
- contractOtherFieldDO.setFieldNumber("extCol3");
- contractOtherFieldDO.setFieldName("备用字段3");
- contractOtherFieldDO.setFieldValue(reqVO.getExtCol3());
- contractOtherFieldDO.setFieldDescription("备用字段3");
- contractOtherFieldDO.setType("String");
- contractOtherFieldDO.setContractMainId(contractId.toString());
- contractOtherFieldDOS.add(contractOtherFieldDO);
- // 备用字段4
- contractOtherFieldDO = new ContractOtherFieldDO();
- contractOtherFieldDO.setFieldNumber("extCol4");
- contractOtherFieldDO.setFieldName("备用字段4");
- contractOtherFieldDO.setFieldValue(reqVO.getExtCol4());
- contractOtherFieldDO.setFieldDescription("备用字段4");
- contractOtherFieldDO.setType("String");
- contractOtherFieldDO.setContractMainId(contractId.toString());
- contractOtherFieldDOS.add(contractOtherFieldDO);
- // 备用字段5
- contractOtherFieldDO = new ContractOtherFieldDO();
- contractOtherFieldDO.setFieldNumber("extCol5");
- contractOtherFieldDO.setFieldName("备用字段5");
- contractOtherFieldDO.setFieldValue(reqVO.getExtCol5());
- contractOtherFieldDO.setFieldDescription("备用字段5");
- contractOtherFieldDO.setType("String");
- contractOtherFieldDO.setContractMainId(contractId.toString());
- contractOtherFieldDOS.add(contractOtherFieldDO);
- // 备用字段6
- contractOtherFieldDO = new ContractOtherFieldDO();
- contractOtherFieldDO.setFieldNumber("extCol6");
- contractOtherFieldDO.setFieldName("备用字段6");
- contractOtherFieldDO.setFieldValue(reqVO.getExtCol6());
- contractOtherFieldDO.setFieldDescription("备用字段6");
- contractOtherFieldDO.setType("String");
- contractOtherFieldDO.setContractMainId(contractId.toString());
- contractOtherFieldDOS.add(contractOtherFieldDO);
- // 备用字段7
- contractOtherFieldDO = new ContractOtherFieldDO();
- contractOtherFieldDO.setFieldNumber("extCol7");
- contractOtherFieldDO.setFieldName("备用字段7");
- contractOtherFieldDO.setFieldValue(reqVO.getExtCol7());
- contractOtherFieldDO.setFieldDescription("备用字段7");
- contractOtherFieldDO.setType("String");
- contractOtherFieldDO.setContractMainId(contractId.toString());
- contractOtherFieldDOS.add(contractOtherFieldDO);
- // 备用字段8
- contractOtherFieldDO = new ContractOtherFieldDO();
- contractOtherFieldDO.setFieldNumber("extCol8");
- contractOtherFieldDO.setFieldName("备用字段8");
- contractOtherFieldDO.setFieldValue(reqVO.getExtCol8());
- contractOtherFieldDO.setFieldDescription("备用字段8");
- contractOtherFieldDO.setType("String");
- contractOtherFieldDO.setContractMainId(contractId.toString());
- contractOtherFieldDOS.add(contractOtherFieldDO);
- // 备用字段9
- contractOtherFieldDO = new ContractOtherFieldDO();
- contractOtherFieldDO.setFieldNumber("extCol9");
- contractOtherFieldDO.setFieldName("备用字段9");
- contractOtherFieldDO.setFieldValue(reqVO.getExtCol9());
- contractOtherFieldDO.setFieldDescription("备用字段9");
- contractOtherFieldDO.setType("String");
- contractOtherFieldDO.setContractMainId(contractId.toString());
- contractOtherFieldDOS.add(contractOtherFieldDO);
- // 备用字段10
- contractOtherFieldDO = new ContractOtherFieldDO();
- contractOtherFieldDO.setFieldNumber("extCol10");
- contractOtherFieldDO.setFieldName("备用字段10");
- contractOtherFieldDO.setFieldValue(reqVO.getExtCol10());
- contractOtherFieldDO.setFieldDescription("备用字段10");
- contractOtherFieldDO.setType("String");
- contractOtherFieldDO.setContractMainId(contractId.toString());
- contractOtherFieldDOS.add(contractOtherFieldDO);
+ // 合同主信息-合同编号
+ String contractPaperNumber = contractMainDO.getContractPaperNumber();
+ // 合同主信息-合同名称
+ String contractName = contractMainDO.getContractName();
+ for (int i = 0; i < reqVO.getPartnerList().size(); i++) {
+ Partner partner = reqVO.getPartnerList().get(i);
- // 保存
- contractOtherFieldMapper.insertBatch(contractOtherFieldDOS);
+ // 根据客商信息设置合同信息
+ // 合同编号
+ contractMainDO.setContractPaperNumber(contractPaperNumber + "_" + String.format("%03d", (i+1)));
+ reqVO.getPartnerList().get(i)
+ .setErpContractPaperNumber(contractPaperNumber + "_" + String.format("%03d", (i+1)));
+ // 合同名称
+ contractMainDO.setContractName(contractName + "_" + String.format("%03d", (i+1)));
+ // 境内/境外 -> 客商信息:境内/外
+ contractMainDO.setIsDomestic(partner.getDomesticOrOverseas());
+ // 乙方公司编号(销售方) -> 客商信息:供应商代码
+ contractMainDO.setSalesCompanyNumber(partner.getPartnerCode());
+ // ERP乙方公司编码
+ contractMainDO.setErpSalesCompanyNumber(partner.getPartnerCode());
+ // 乙方公司名称 -> 客商信息:供应商名称
+ contractMainDO.setSalesCompanyName(partner.getPartnerName());
+ // ERP乙方公司名称
+ contractMainDO.setErpSalesCompanyName(partner.getPartnerName());
+
+ // 生成ERP合同映射表
+ ErpContractSaveReqVO erpContractVO = contractService.getErpContract(contractMainDO);
+
+ // 调用ERP模块
+ JSONObject erpResult = contractService.sendToErp(erpContractVO);
+ log.info("合同提交ERP结果:{}", erpResult);
+
+ // 调用ERP失败
+ if (!erpResult.getBool("success")) {
+ throw exception(CONTRACT_SUBMIT_ERP_FAIL, erpResult.getStr("errMsg"));
+ }
+ }
+
+ // 删除动态条款信息
+ contractOtherFormMapper.delete("CTRT_MAIN_ID", contractId.toString());
+ contractOtherFieldMapper.delete("CTRT_MAIN_ID", contractId.toString());
+
+ // 请求参数保存到动态条款
+ Field[] fields = reqVO.getClass().getDeclaredFields();
+ saveFields(fields, contractId, null, reqVO);
// 明细部分保存
// 附件清单列表
- ContractOtherFormDO contractOtherFormDO = new ContractOtherFormDO();
- contractOtherFormDO.setContractMainId(contractId);
- contractOtherFormDO.setFormNumber("attachList");
- contractOtherFormDO.setFormName("附件清单列表");
- contractOtherFormDO.setFormDescription("附件清单列表");
- contractOtherFormMapper.insert(contractOtherFormDO);
- contractOtherFieldDOS = new ArrayList<>();
+ ContractOtherFormDO otherFormDO = saveContractOtherForm(contractId, "attachList",
+ "附件清单列表", "附件清单列表");
+ List otherFieldDOS = 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);
+ otherFieldDOS.add(getContractOtherField(contractId, otherFormDO.getId(), "attach", "附件",
+ attach, "附件", "java.lang.String"));
}
}
// 保存
- contractOtherFieldMapper.insertBatch(contractOtherFieldDOS);
+ contractOtherFieldMapper.insertBatch(otherFieldDOS);
+
//----- 嵌套列表
// 客商信息
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);
+ otherFormDO = saveContractOtherForm(contractId, "partnerList",
+ "客商信息", "客商信息");
+ fields = partner.getClass().getDeclaredFields();
+ saveFields(fields, contractId, otherFormDO.getId(), partner);
}
}
+
// 收发港/站点
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);
+ otherFormDO = saveContractOtherForm(contractId, "goodsSiteList",
+ "收发港/站点", "收发港/站点");
+ fields = goodsSite.getClass().getDeclaredFields();
+ saveFields(fields, contractId, otherFormDO.getId(), goodsSite);
}
}
+
// 货物装卸要求
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);
+ otherFormDO = saveContractOtherForm(contractId, "loadingRequirementsList",
+ "货物装卸要求", "货物装卸要求");
+ fields = loadingRequirement.getClass().getDeclaredFields();
+ saveFields(fields, contractId, otherFormDO.getId(), loadingRequirement);
}
}
+
// 收付款账号
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);
+ otherFormDO = saveContractOtherForm(contractId, "accountList",
+ "收付款账号", "收付款账号");
+ fields = account.getClass().getDeclaredFields();
+ saveFields(fields, contractId, otherFormDO.getId(), account);
}
}
+
// 费用明细
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);
+ otherFormDO = saveContractOtherForm(contractId, "freightList",
+ "费用明细", "费用明细");
+ fields = freight.getClass().getDeclaredFields();
+ saveFields(fields, contractId, otherFormDO.getId(), freight);
}
}
+
// 服务费用项目
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);
+ otherFormDO = saveContractOtherForm(contractId, "serviceFeeList",
+ "服务费用项目", "服务费用项目");
+ fields = serviceFee.getClass().getDeclaredFields();
+ saveFields(fields, contractId, otherFormDO.getId(), serviceFee);
}
}
+
// 仓库明细
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);
+ otherFormDO = saveContractOtherForm(contractId, "storgeList",
+ "仓库明细", "仓库明细");
+ fields = storge.getClass().getDeclaredFields();
+ saveFields(fields, contractId, otherFormDO.getId(), storge);
}
}
+
// 接货地址
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);
+ otherFormDO = saveContractOtherForm(contractId, "receivingAddrList",
+ "接货地址", "接货地址");
+ fields = receivingAddr.getClass().getDeclaredFields();
+ saveFields(fields, contractId, otherFormDO.getId(), receivingAddr);
}
}
@@ -1757,6 +370,121 @@ public class ContractApiImpl implements ContractApi {
return CommonResult.success(purchaseOrderDetails);
}
+ private ContractMainDO getcontractMainDO(ContractRequest reqVO) {
+
+ // 合同主信息表映射
+ ContractMainDO contractMainDO = new ContractMainDO();
+ // 系统合同编号
+ contractMainDO.setSystemContractNumber(contractService.generateSystemContractNumber("SAP02NCOZC"));
+ // 合同编号
+ contractMainDO.setContractPaperNumber(reqVO.getContractCode());
+ // 合同名称
+ contractMainDO.setContractName(reqVO.getContractName());
+ // 施工类型编号 默认值:SAP02NCOZC
+ contractMainDO.setConstructionTypeNumber("SAP02NCOZC");
+ // 施工类型名称 默认值:铜非施工合同支出类
+ contractMainDO.setConstructionTypeName("SAP铜非施工合同支出类");
+ // 类别 默认值:购销合同(1)
+ contractMainDO.setCategory("1");
+ // 是否虚拟合同 默认值:否(0)
+ contractMainDO.setContractVirtual("0");
+ // 代理方 默认值:NULL
+ // 签署日期 -> 签约日期 (40-签约必填, 格式: yyyyMMdd)
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmss");
+ contractMainDO.setSignDate(LocalDateTime.parse(reqVO.getSignDate()+"000000", formatter));
+ // 开始日期 -> 合同有效期起 (格式: yyyyMMdd)
+ contractMainDO.setStartDate(LocalDateTime.parse(reqVO.getContractStartDate()+"000000", formatter));
+ // 结束日期 -> 合同有效期止 (格式: yyyyMMdd)
+ contractMainDO.setEndDate(LocalDateTime.parse(reqVO.getContractEndDate()+"000000", formatter));
+ // 币种 -> 合同币种
+ contractMainDO.setCurrency(reqVO.getCurrencyCode());
+ // 原币金额 -> 预估含税总金额
+ contractMainDO.setCooAmount(reqVO.getEstimateAmountTotal());
+ // 原币金额-变更后
+ contractMainDO.setChangeCooAmount(reqVO.getEstimateAmountTotal());
+ // 本币金额 -> 预估含税总金额
+ contractMainDO.setBasicAmount(reqVO.getEstimateAmountTotal());
+ // 本币金额-变更后
+ contractMainDO.setChangeBasicAmount(reqVO.getEstimateAmountTotal());
+ // 状态 默认值:正在执行(EF) 执行中
+ contractMainDO.setStatus(DictEnum.BSE_CTRT_STS_IN_PROGRESS.getCode());
+ // 是否有预付款 默认值:否
+ contractMainDO.setHasPrepayment("0");
+ // 预付款比例 默认值:NULL
+ // 预付款金额 默认值:NULL
+ // 是否有质保金 默认值:否
+ contractMainDO.setHasQualityAmount("0");
+ // 质保金比例 默认值:NULL
+ // 质保金金额 默认值:NULL
+ // 是否内部企业
+ contractMainDO.setIsInternal(reqVO.getIsInternal());
+ // 收支性质 默认值:支出
+ contractMainDO.setDirection(DictEnum.ERP_RCV_DLVY_EXPENSES.getCode());
+ // 是否框架合同
+ contractMainDO.setIsFramework(reqVO.getIsFramework());
+ // 建筑服务发生地 默认值:NULL
+ // 达到收款条件金额 默认值:NULL
+ // 是否有履约保证金 默认值:否
+ contractMainDO.setHasDeposit("0");
+ // 原币履约保证金 默认值:NULL
+ // 本币履约保证金 默认值:NULL
+ // 交易方式 默认值:先款后货
+ contractMainDO.setHasPayable("PRE_PAY");
+ // 合同类型 默认值:物流合同
+ contractMainDO.setContractType("3");
+ // 签署地 -> 签约地 (40-签约必填)
+ contractMainDO.setSignPlace(reqVO.getSignSite());
+ // 甲方公司编号(采购方) -> 账套代码
+ contractMainDO.setPurchaseCompanyNumber(reqVO.getBookId());
+ // ERP甲方公司编号
+ contractMainDO.setErpPurchaseCompanyNumber(reqVO.getBookId());
+ // 甲方公司名称 -> 账套名称 null
+ // ERP甲方公司名称
+ contractMainDO.setErpPurchaseCompanyName("");
+ // 甲方地址 默认值:NULL
+ // 甲方法定代表人 默认值:NULL
+ // 乙方地址 默认值:NULL
+ // 乙方企业负责人 默认值:NULL
+
+ return contractMainDO;
+ }
+
+ private ContractOtherFormDO saveContractOtherForm(Long contractId, String formNumber, String formName, String formDescription) {
+ ContractOtherFormDO otherFormDO = new ContractOtherFormDO();
+ otherFormDO.setContractMainId(contractId);
+ otherFormDO.setFormNumber(formNumber);
+ otherFormDO.setFormName(formName);
+ otherFormDO.setFormDescription(formDescription);
+ contractOtherFormMapper.insert(otherFormDO);
+ return otherFormDO;
+ }
+
+ private ContractOtherFieldDO getContractOtherField(Long contractId, Long relativityId, String number, String name,
+ String value, String description, String type) {
+ ContractOtherFieldDO otherFieldDO = new ContractOtherFieldDO();
+ otherFieldDO.setContractMainId(contractId.toString());
+ otherFieldDO.setRelativityId(relativityId);
+ otherFieldDO.setFieldNumber(number);
+ otherFieldDO.setFieldName(name);
+ otherFieldDO.setFieldValue(value);
+ otherFieldDO.setFieldDescription(description);
+ otherFieldDO.setType(type);
+ return otherFieldDO;
+ }
+
+ private void saveFields(Field[] fields, Long contractId, Long relativityId, T obj) throws Exception {
+ List otherFieldDOS = new ArrayList<>();
+ for (Field field : fields) {
+ field.setAccessible(true);
+ if (!"java.util.List".equals(field.getType().getName()) && field.get(obj) != null) {
+ Schema annotation = field.getAnnotation(Schema.class);
+ otherFieldDOS.add(getContractOtherField(contractId, relativityId, field.getName(),
+ annotation.description(), field.get(obj).toString(),annotation.description(),
+ field.getType().getName()));
+ }
+ }
+ contractOtherFieldMapper.insertBatch(otherFieldDOS);
+ }
private List getSalesOrdDetailsByIds(List ids) {
if (ids.isEmpty()) {
@@ -1796,5 +524,4 @@ public class ContractApiImpl implements ContractApi {
});
return purchaseOrderWithDetailsDTOS;
}
-
}
diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/contract/ContractService.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/contract/ContractService.java
index 818c2a9..6228688 100644
--- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/contract/ContractService.java
+++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/contract/ContractService.java
@@ -207,4 +207,6 @@ public interface ContractService {
JSONObject sendToErp(ErpContractSaveReqVO erpContractVO);
ErpContractSaveReqVO getErpContract(ContractMainDO contractMainDO);
+
+ String generateSystemContractNumber(String category);
}
diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/contract/ContractServiceImpl.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/contract/ContractServiceImpl.java
index 26f48aa..8d3b1eb 100644
--- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/contract/ContractServiceImpl.java
+++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/contract/ContractServiceImpl.java
@@ -1635,7 +1635,7 @@ public class ContractServiceImpl implements ContractService {
operationId = "1";
} else {
// 3、如果009接口返回值中“合同编号”字段不存在值,根据合同主键查询映射表中是否存在没有删除的数据,如果有,值为“1”,如果没有,值为“0”
- ErpContractDO erpContract = erpContractService.getErpContractByMainId(contractMainDO.getId());
+ ErpContractDO erpContract = erpContractService.getErpContractByPaperNumber(contractMainDO.getContractPaperNumber());
if (erpContract != null) {
operationId = "1";
} else {
@@ -1971,7 +1971,8 @@ public class ContractServiceImpl implements ContractService {
*
* @return 系统合同编号
*/
- private String generateSystemContractNumber(String category) {
+ @Override
+ public String generateSystemContractNumber(String category) {
// 单据名称(拼音)
String documentName = "XTHT";
diff --git a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/api/ErpExternalApiImpl.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/api/ErpExternalApiImpl.java
index 4532369..1ea6c56 100644
--- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/api/ErpExternalApiImpl.java
+++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/api/ErpExternalApiImpl.java
@@ -8,6 +8,8 @@ import com.zt.plat.module.erp.api.dto.ErpSubmitReqDTO;
import com.zt.plat.module.erp.service.erp.ErpProductiveVersionService;
import com.zt.plat.module.erp.utils.ErpConfig;
import jakarta.annotation.Resource;
+import org.springframework.context.annotation.Bean;
+import org.springframework.stereotype.Component;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@@ -25,6 +27,7 @@ import static com.zt.plat.framework.common.pojo.CommonResult.success;
*/
@RestController
@Validated
+@Component
public class ErpExternalApiImpl implements ErpExternalApi {
@Resource
diff --git a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/vo/ErpMaterialPageReqVO.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/vo/ErpMaterialPageReqVO.java
index 43dc25b..723de5d 100644
--- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/vo/ErpMaterialPageReqVO.java
+++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/vo/ErpMaterialPageReqVO.java
@@ -58,4 +58,20 @@ public class ErpMaterialPageReqVO extends PageParam {
@Schema(description = "类型")
private String type;
+ @Schema(description = "金属元素缩写")
+ private String abbreviation;
+
+ @Schema(description = "金属元素名称", example = "赵六")
+ private String name;
+
+ @Schema(description = "金属元素编码")
+ private String coding;
+
+ @Schema(description = "品位单位")
+ private String gradeUnit;
+
+ @Schema(description = "小数位数")
+ private Long decimalValue;
+
+
}
\ No newline at end of file
diff --git a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/vo/ErpMaterialRespVO.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/vo/ErpMaterialRespVO.java
index 49a6361..85dbce1 100644
--- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/vo/ErpMaterialRespVO.java
+++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/vo/ErpMaterialRespVO.java
@@ -77,6 +77,26 @@ public class ErpMaterialRespVO {
@ExcelProperty("类型")
private String type;
+ @Schema(description = "金属元素缩写")
+ @ExcelProperty("金属元素缩写")
+ private String abbreviation;
+
+ @Schema(description = "金属元素名称", example = "赵六")
+ @ExcelProperty("金属元素名称")
+ private String name;
+
+ @Schema(description = "金属元素编码")
+ @ExcelProperty("金属元素编码")
+ private String coding;
+
+ @Schema(description = "品位单位")
+ @ExcelProperty("品位单位")
+ private String gradeUnit;
+
+ @Schema(description = "小数位数")
+ @ExcelProperty("小数位数")
+ private Long decimalValue;
+
private List materialOtherDTOS;
}
\ No newline at end of file
diff --git a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/vo/ErpMaterialSaveReqVO.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/vo/ErpMaterialSaveReqVO.java
index 5d18788..5267701 100644
--- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/vo/ErpMaterialSaveReqVO.java
+++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/vo/ErpMaterialSaveReqVO.java
@@ -69,4 +69,19 @@ public class ErpMaterialSaveReqVO {
@Schema(description = "类型")
private String type;
+ @Schema(description = "金属元素缩写")
+ private String abbreviation;
+
+ @Schema(description = "金属元素名称", example = "赵六")
+ private String name;
+
+ @Schema(description = "金属元素编码")
+ private String coding;
+
+ @Schema(description = "品位单位")
+ private String gradeUnit;
+
+ @Schema(description = "小数位数")
+ private Long decimalValue;
+
}
\ No newline at end of file
diff --git a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/dal/dataobject/erp/ErpMaterialDO.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/dal/dataobject/erp/ErpMaterialDO.java
index 00d0b39..84926ce 100644
--- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/dal/dataobject/erp/ErpMaterialDO.java
+++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/dal/dataobject/erp/ErpMaterialDO.java
@@ -100,5 +100,30 @@ public class ErpMaterialDO extends BusinessBaseDO {
@TableField("TP")
private String type;
+ /**
+ * 金属元素缩写
+ */
+ @TableField("ABBR")
+ private String abbreviation;
+ /**
+ * 金属元素名称
+ */
+ @TableField("NAME")
+ private String name;
+ /**
+ * 金属元素编码
+ */
+ @TableField("CDG")
+ private String coding;
+ /**
+ * 品位单位
+ */
+ @TableField("GRD_UNT")
+ private String gradeUnit;
+ /**
+ * 小数位数
+ */
+ @TableField("DEC")
+ private Long decimalValue;
}
\ No newline at end of file
diff --git a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpContractService.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpContractService.java
index dfd863a..1da1214 100644
--- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpContractService.java
+++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpContractService.java
@@ -55,12 +55,12 @@ public interface ErpContractService {
ErpContractDO getErpContract(Long id);
/**
- * 获得ERP合同映射通过合同主信息主键
+ * 获得ERP合同映射通过合同编号
*
- * @param contractMainId 合同主信息主键
+ * @param paperNumber 合同编号
* @return ERP合同映射
*/
- ErpContractDO getErpContractByMainId(Long contractMainId);
+ ErpContractDO getErpContractByPaperNumber(String paperNumber);
/**
* 获得ERP合同映射分页
diff --git a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpContractServiceImpl.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpContractServiceImpl.java
index 21f750c..b3f15f8 100644
--- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpContractServiceImpl.java
+++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpContractServiceImpl.java
@@ -104,8 +104,8 @@ public class ErpContractServiceImpl implements ErpContractService {
}
@Override
- public ErpContractDO getErpContractByMainId(Long contractMainId) {
- return erpContractMapper.selectOne("CTRT_MAIN_ID", contractMainId);
+ public ErpContractDO getErpContractByPaperNumber(String paperNumber) {
+ return erpContractMapper.selectOne("CTRT_PPR_NUM", paperNumber);
}
@Override
@@ -231,8 +231,8 @@ public class ErpContractServiceImpl implements ErpContractService {
// 转换为DO
ErpContractDO erpContract = BeanUtils.toBean(erpContractVO, ErpContractDO.class);
- // 根据合同主信息ID查询合同映射
- ErpContractDO erpContractDO = getErpContractByMainId(erpContract.getContractMainId());
+ // 根据合同编号查询合同映射
+ ErpContractDO erpContractDO = getErpContractByPaperNumber(erpContract.getContractPaperNumber());
if (erpContractDO == null) {
// 不存在映射表则新增
erpContract.setDeleted(false);