diff --git a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/dto/ContractCoefficientRespDTO.java b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/dto/ContractCoefficientRespDTO.java index 6a5b9c6..39ab702 100644 --- a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/dto/ContractCoefficientRespDTO.java +++ b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/dto/ContractCoefficientRespDTO.java @@ -1,7 +1,6 @@ package com.zt.plat.module.contractorder.api.dto; import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotEmpty; import lombok.Data; import java.math.BigDecimal; @@ -13,9 +12,6 @@ public class ContractCoefficientRespDTO { @Schema(description = "主键") private Long id; - @Schema(description = "配置主键") - private Long parameterId; - @Schema(description = "条款主键") private Long formulaId; @@ -28,25 +24,21 @@ public class ContractCoefficientRespDTO { @Schema(description = "金属元素名称") private String elementName; - @Schema(description = "系数值") - private String settlementCoefficient; - @Schema(description = "系数上限") private BigDecimal coefficientUp; @Schema(description = "系数下限") private BigDecimal coefficientDown; - @Schema(description = "是否包含上限") - private String isInUp; - - @Schema(description = "是否包含下限") - private String isInDown; + @Schema(description = "区间方式(字典:STLM_RNG_WY)") + private String rangeWay; @Schema(description = "是否省内") - @NotEmpty(message = "是否省内不能为空") private String inState; @Schema(description = "类型") private String type; + + @Schema(description = "系数值") + private BigDecimal settlementCoefficient; } \ 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/dto/ContractDeductRespDTO.java b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/dto/ContractDeductRespDTO.java index eb3c09d..ea3409f 100644 --- a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/dto/ContractDeductRespDTO.java +++ b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/dto/ContractDeductRespDTO.java @@ -4,6 +4,7 @@ import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import java.math.BigDecimal; +import java.time.LocalDateTime; @Schema(description = "RPC 服务 - 调整价配置 Response DTO") @Data @@ -12,39 +13,18 @@ public class ContractDeductRespDTO { @Schema(description = "主键") private Long id; - @Schema(description = "配置主键") - private Long parameterId; - @Schema(description = "条款主键") private Long formulaId; - @Schema(description = "物料编码;推送ERP") - private String materialNumber; - - @Schema(description = "物料名称") - private String materialName; - - @Schema(description = "上限") - private BigDecimal gradeUp; - - @Schema(description = "下限") - private BigDecimal gradeDown; - - @Schema(description = "是否包含上限") - private String isInUp; - - @Schema(description = "是否包含下限") - private String isInDown; - - @Schema(description = "方式") - private String way; - - @Schema(description = "类型") - private String type; + @Schema(description = "数据项类型(字典:GRD_CFG_TP)") + private String configType; @Schema(description = "是否省内") private String inState; @Schema(description = "调整价") private BigDecimal gradeAmount; + + @Schema(description = "创建时间") + private LocalDateTime createTime; } \ 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/dto/ContractGradeRespDTO.java b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/dto/ContractGradeRespDTO.java index ea97fde..c54efa8 100644 --- a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/dto/ContractGradeRespDTO.java +++ b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/dto/ContractGradeRespDTO.java @@ -4,6 +4,7 @@ import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import java.math.BigDecimal; +import java.time.LocalDateTime; @Schema(description = "RPC 服务 - 品位等级价配置 Response DTO") @Data @@ -12,9 +13,6 @@ public class ContractGradeRespDTO { @Schema(description = "主键") private Long id; - @Schema(description = "配置主键") - private Long parameterId; - @Schema(description = "条款主键") private Long formulaId; @@ -36,27 +34,30 @@ public class ContractGradeRespDTO { @Schema(description = "品位下限") private BigDecimal gradeDown; - @Schema(description = "是否包含上限;包含则是大于等于,不包含则是大于") - private String isInUp; + @Schema(description = "区间方式(字典:STLM_RNG_WY)") + private String rangeWay; - @Schema(description = "是否包含下限;包含则是小于等于,不包含则是小于") - private String isInDown; - - @Schema(description = "默认计价品位;计价方式为加时,默认为为下限,计价方式为减时,默认为为上限,可手动填写") + @Schema(description = "默认计价品位") private BigDecimal gradeDefault; - @Schema(description = "系数;计价类型为阶梯价使用,标识没上升多少系数进行加款还是减款") + @Schema(description = "系数值") private BigDecimal settlementCoefficient; - @Schema(description = "不足系数值按比例计算") + @Schema(description = "是否比例计算(字典:ERP_CTRT_YN)") private String useCoefficient; - @Schema(description = "计价类型") + @Schema(description = "计价类型(字典:STLM_GRD_TP)") private String priceType; - @Schema(description = "是否省内") + @Schema(description = "是否省内(字典:ERP_CTRT_YN)") private String inState; - @Schema(description = "等级单价") + @Schema(description = "等级单价", example = "3565") private BigDecimal unitPrice; + + @Schema(description = "创建时间") + private LocalDateTime createTime; + + @Schema(description = "数据项类型(字典:GRD_CFG_TP)") + private String configType; } \ 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/dto/ContractPriceRespDTO.java b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/dto/ContractPriceRespDTO.java index 40f3469..98cc044 100644 --- a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/dto/ContractPriceRespDTO.java +++ b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/dto/ContractPriceRespDTO.java @@ -13,9 +13,6 @@ public class ContractPriceRespDTO { @Schema(description = "主键") private Long id; - @Schema(description = "配置主键") - private Long parameterId; - @Schema(description = "条款主键") private Long formulaId; diff --git a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/enums/contract/AuditResultEnum.java b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/enums/contract/AuditResultEnum.java deleted file mode 100644 index 14da5a3..0000000 --- a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/enums/contract/AuditResultEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.zt.plat.module.contractorder.enums.contract; - -/** - * 合同审核结果 - */ -public enum AuditResultEnum { - /** - * 合同状态-草稿 - */ - PASS("通过","PASS", null), - /** - * 合同状态-正在审核 - */ - REJECT("驳回","REJECT",null); - - AuditResultEnum(String label, String code, String remark) { - this.label = label; - this.code = code; - this.remark = remark; - } - - /** - * 标签 - */ - private final String label; - /** - * 编码 - */ - private final String code; - /** - * 备注 - */ - private final String remark; - - public String getLabel() { - return label; - } - - public String getCode() { - return code; - } - - public String getRemark() { - return remark; - } -} diff --git a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/enums/contract/ContractStatusEnum.java b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/enums/contract/ContractStatusEnum.java deleted file mode 100644 index 3dcbe1a..0000000 --- a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/enums/contract/ContractStatusEnum.java +++ /dev/null @@ -1,67 +0,0 @@ -package com.zt.plat.module.contractorder.enums.contract; - -/** - * 合同状态枚举 - */ -public enum ContractStatusEnum { - - /** - * 合同状态-草稿 - */ - DRAFT("草稿","DRAFT","可以删除"), - /** - * 合同状态-正在审核 - */ - UNDER_REVIEW("正在审核","UNDER_REVIEW","不允许任何操作"), - /** - * 合同状态-执行中 - */ - IN_PROGRESS("执行中","IN_PROGRESS","可以终止、归档"), - /** - * 合同状态-已驳回 - */ - REJECTED("已驳回","REJECTED","可以删除"), - /** - * 合同状态-已终止 - */ - TERMINATED("已终止","TERMINATED","只允许归档"), - /** - * 合同状态-已归档 - */ - ARCHIVED("已归档","ARCHIVED","不允许任何操作"), - /** - * 合同状态-已删除 - */ - DELETED("已删除","DELETED","不允许任何操作"); - - ContractStatusEnum(String label, String code, String remark) { - this.label = label; - this.code = code; - this.remark = remark; - } - - /** - * 字典标签 - */ - private final String label; - /** - * 字典编码 - */ - private final String code; - /** - * 备注 - */ - private final String remark; - - public String getLabel() { - return label; - } - - public String getCode() { - return code; - } - - public String getRemark() { - return remark; - } -} diff --git a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/enums/contract/ContractTypeEnum.java b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/enums/contract/ContractTypeEnum.java deleted file mode 100644 index 4b04735..0000000 --- a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/enums/contract/ContractTypeEnum.java +++ /dev/null @@ -1,55 +0,0 @@ -package com.zt.plat.module.contractorder.enums.contract; - -/** - * 合同类型枚举 - */ -public enum ContractTypeEnum { - - /** - * 采购 - */ - PRCH("采购","PRCH",null), - /** - * 销售 - */ - SALE("销售","SALE",null), - /** - * 委托加工 - */ - ENTT("委托加工","ENTT",null), - /** - * 来料加工 - */ - MKE("来料加工","MKE",null); - - ContractTypeEnum(String label, String code, String remark) { - this.label = label; - this.code = code; - this.remark = remark; - } - - /** - * 字典标签 - */ - private final String label; - /** - * 字典编码 - */ - private final String code; - /** - * 备注 - */ - private final String remark; - - public String getLabel() { - return label; - } - - public String getCode() { - return code; - } - - public String getRemark() { - return remark; - } -} diff --git a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/enums/contract/DictEnum.java b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/enums/contract/DictEnum.java new file mode 100644 index 0000000..622ba09 --- /dev/null +++ b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/enums/contract/DictEnum.java @@ -0,0 +1,73 @@ +package com.zt.plat.module.contractorder.enums.contract; + +/** + * 字典枚举 + */ +public enum DictEnum { + + /** ERP收支方向 */ + // 支出 + ERP_RCV_DLVY_EXPENSES("支出","2","对应采购"), + // 收入 + ERP_RCV_DLVY_INCOME("收入","1","对应销售"), + /** ERP是否 */ + // 是 + ERP_CTRT_YN_YES("是","1",null), + // 否 + ERP_CTRT_YN_NO("否","0",null), + /** 合同状态 */ + // 草稿 + BSE_CTRT_STS_DRAFT("草稿","DRAFT","可以删除"), + // 正在审核 + BSE_CTRT_STS_UNDER_REVIEW("正在审核","UNDER_REVIEW","不允许任何操作"), + // 已驳回 + BSE_CTRT_STS_REJECTED("已驳回","REJECTED","可以删除"), + // 待推送 + BSE_CTRT_STS_WAIT_PUSH("待推送","WAIT_PUSH",null), + // 推送失败 + BSE_CTRT_STS_PUSH_ERROR("推送失败","PUSH_ERROR",null), + // 执行中 + BSE_CTRT_STS_IN_PROGRESS("执行中","IN_PROGRESS","可以终止、归档"), + // 已删除 + BSE_CTRT_STS_DELETED("已删除","DELETED","不允许任何操作"), + // 已归档 + BSE_CTRT_STS_ARCHIVED("已归档","ARCHIVED","不允许任何操作"), + // 已完结 + BSE_CTRT_STS_TERMINATED("已完结","TERMINATED","只允许归档"), + // 待审核 + BSE_CTRT_STS_WAIT_AUDIT("待审核","WAIT_AUDIT",null), + // 已作废 + BSE_CTRT_STS_VOID("已作废","VOID",null); + + + DictEnum(String label, String code, String remark) { + this.label = label; + this.code = code; + this.remark = remark; + } + + /** + * 字典标签 + */ + private final String label; + /** + * 字典编码 + */ + private final String code; + /** + * 备注 + */ + private final String remark; + + public String getLabel() { + return label; + } + + public String getCode() { + return code; + } + + public String getRemark() { + return remark; + } +} diff --git a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/enums/contract/ErpCtrtYesNoEnum.java b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/enums/contract/ErpCtrtYesNoEnum.java deleted file mode 100644 index 63253ba..0000000 --- a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/enums/contract/ErpCtrtYesNoEnum.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.zt.plat.module.contractorder.enums.contract; - -/** - * ERP是否枚举 - */ -public enum ErpCtrtYesNoEnum { - - /** - * 是 - */ - YES("是","1",null), - /** - * 否 - */ - NO("否","0",null); - - ErpCtrtYesNoEnum(String label, String code, String remark) { - this.label = label; - this.code = code; - this.remark = remark; - } - - /** - * 字典标签 - */ - private final String label; - /** - * 字典编码 - */ - private final String code; - /** - * 备注 - */ - private final String remark; - - public String getLabel() { - return label; - } - - public String getCode() { - return code; - } - - public String getRemark() { - return remark; - } -} 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 9bdaccd..7f659f8 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 @@ -19,7 +19,6 @@ public class ContractApiImpl implements ContractApi { @Override public List getFormulas(String contractPaperNumber) { - System.out.println("contract feign" + contractPaperNumber); - return List.of(); + return contractService.getFormulasByPaperNumber(contractPaperNumber); } } diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/contract/ContractController.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/contract/ContractController.java index b55de61..bffc2a1 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/contract/ContractController.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/contract/ContractController.java @@ -148,6 +148,7 @@ public class ContractController implements BusinessControllerMarker { @PostMapping("/submit/erp") @Operation(summary = "提交ERP") @PreAuthorize("@ss.hasPermission('base:contract:erp')") - public void submitErp() { + public void submitErp(@RequestBody List ids) { + contractService.submitErp(ids); } } diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/contract/vo/contract/GradeRespVO.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/contract/vo/contract/GradeRespVO.java index 3662dca..fca29ec 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/contract/vo/contract/GradeRespVO.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/contract/vo/contract/GradeRespVO.java @@ -1,20 +1,18 @@ package com.zt.plat.module.contractorder.controller.admin.contract.vo.contract; import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotEmpty; import lombok.Data; import java.math.BigDecimal; +import java.time.LocalDateTime; @Schema(description = "管理后台 - 品位等级价配置 Response VO") @Data public class GradeRespVO { + @Schema(description = "主键") private Long id; - @Schema(description = "配置主键") - private Long parameterId; - @Schema(description = "条款主键") private Long formulaId; @@ -36,28 +34,30 @@ public class GradeRespVO { @Schema(description = "品位下限") private BigDecimal gradeDown; - @Schema(description = "是否包含上限;包含则是大于等于,不包含则是大于") - private String isInUp; + @Schema(description = "区间方式(字典:STLM_RNG_WY)") + private String rangeWay; - @Schema(description = "是否包含下限;包含则是小于等于,不包含则是小于") - private String isInDown; - - @Schema(description = "默认计价品位;计价方式为加时,默认为为下限,计价方式为减时,默认为为上限,可手动填写") + @Schema(description = "默认计价品位") private BigDecimal gradeDefault; - @Schema(description = "系数;计价类型为阶梯价使用,标识没上升多少系数进行加款还是减款") + @Schema(description = "系数值") private BigDecimal settlementCoefficient; - @Schema(description = "不足系数值按比例计算") + @Schema(description = "是否比例计算(字典:ERP_CTRT_YN)") private String useCoefficient; - @Schema(description = "计价类型") + @Schema(description = "计价类型(字典:STLM_GRD_TP)") private String priceType; - @Schema(description = "是否省内") - @NotEmpty(message = "是否省内不能为空") + @Schema(description = "是否省内(字典:ERP_CTRT_YN)") private String inState; - @Schema(description = "等级单价") + @Schema(description = "等级单价", example = "3565") private BigDecimal unitPrice; + + @Schema(description = "创建时间") + private LocalDateTime createTime; + + @Schema(description = "数据项类型(字典:GRD_CFG_TP)") + private String configType; } diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/contract/vo/contract/GradeSaveReqVO.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/contract/vo/contract/GradeSaveReqVO.java index 9c67968..3dbc60f 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/contract/vo/contract/GradeSaveReqVO.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/contract/vo/contract/GradeSaveReqVO.java @@ -1,21 +1,18 @@ package com.zt.plat.module.contractorder.controller.admin.contract.vo.contract; import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotEmpty; import lombok.Data; + import java.math.BigDecimal; @Schema(description = "管理后台 - 品位等级价配置新增/修改 Request VO") @Data public class GradeSaveReqVO { - @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "15414") + @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "6211") private Long id; - @Schema(description = "配置主键", example = "16734") - private Long parameterId; - - @Schema(description = "条款主键", example = "15344") + @Schema(description = "条款主键", example = "2426") private Long formulaId; @Schema(description = "金属元素编码") @@ -24,7 +21,7 @@ public class GradeSaveReqVO { @Schema(description = "金属元素缩写") private String elementAbbreviation; - @Schema(description = "金属元素名称", example = "芋艿") + @Schema(description = "金属元素名称", example = "王五") private String elementName; @Schema(description = "品位单位") @@ -36,28 +33,27 @@ public class GradeSaveReqVO { @Schema(description = "品位下限") private BigDecimal gradeDown; - @Schema(description = "是否包含上限;包含则是大于等于,不包含则是大于") - private String isInUp; + @Schema(description = "区间方式(字典:STLM_RNG_WY)") + private String rangeWay; - @Schema(description = "是否包含下限;包含则是小于等于,不包含则是小于") - private String isInDown; - - @Schema(description = "默认计价品位;计价方式为加时,默认为为下限,计价方式为减时,默认为为上限,可手动填写") + @Schema(description = "默认计价品位") private BigDecimal gradeDefault; - @Schema(description = "系数;计价类型为阶梯价使用,标识没上升多少系数进行加款还是减款") + @Schema(description = "系数值") private BigDecimal settlementCoefficient; - @Schema(description = "不足系数值按比例计算") + @Schema(description = "是否比例计算(字典:ERP_CTRT_YN)") private String useCoefficient; - @Schema(description = "计价类型", example = "2") + @Schema(description = "计价类型(字典:STLM_GRD_TP)", example = "2") private String priceType; - @Schema(description = "是否省内", requiredMode = Schema.RequiredMode.REQUIRED) - @NotEmpty(message = "是否省内不能为空") + @Schema(description = "是否省内(字典:ERP_CTRT_YN)") private String inState; - @Schema(description = "等级单价", example = "26237") + @Schema(description = "等级单价", example = "3565") private BigDecimal unitPrice; + + @Schema(description = "数据项类型(字典:GRD_CFG_TP)", example = "1") + private String configType; } \ No newline at end of file diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/contract/vo/contract/PriceRespVO.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/contract/vo/contract/PriceRespVO.java index 5b82d87..da35f5d 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/contract/vo/contract/PriceRespVO.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/contract/vo/contract/PriceRespVO.java @@ -12,9 +12,6 @@ public class PriceRespVO { @Schema(description = "主键") private Long id; - @Schema(description = "配置主键") - private Long parameterId; - @Schema(description = "条款主键") private Long formulaId; diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/contract/vo/contract/PriceSaveReqVO.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/contract/vo/contract/PriceSaveReqVO.java index a47e1f5..06501e2 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/contract/vo/contract/PriceSaveReqVO.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/contract/vo/contract/PriceSaveReqVO.java @@ -12,9 +12,6 @@ public class PriceSaveReqVO { @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "13654") private Long id; - @Schema(description = "配置主键", example = "1590") - private Long parameterId; - @Schema(description = "条款主键", example = "24677") private Long formulaId; diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/dal/dataobject/contract/ContractGradeDO.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/dal/dataobject/contract/ContractGradeDO.java index 47403a4..0c9c9dc 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/dal/dataobject/contract/ContractGradeDO.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/dal/dataobject/contract/ContractGradeDO.java @@ -29,11 +29,6 @@ public class ContractGradeDO extends BusinessBaseDO { */ @TableId(type = IdType.ASSIGN_ID) private Long id; - /** - * 配置主键 - */ - @TableField("PRM_ID") - private Long parameterId; /** * 条款主键 */ @@ -70,37 +65,32 @@ public class ContractGradeDO extends BusinessBaseDO { @TableField("GRD_DOWN") private BigDecimal gradeDown; /** - * 是否包含上限;包含则是大于等于,不包含则是大于 + * 区间方式(字典:STLM_RNG_WY) */ - @TableField("IS_IN_UP") - private String isInUp; + @TableField("RNG_WY") + private String rangeWay; /** - * 是否包含下限;包含则是小于等于,不包含则是小于 - */ - @TableField("IS_IN_DOWN") - private String isInDown; - /** - * 默认计价品位;计价方式为加时,默认为为下限,计价方式为减时,默认为为上限,可手动填写 + * 默认计价品位 */ @TableField("GRD_DFT") private BigDecimal gradeDefault; /** - * 系数;计价类型为阶梯价使用,标识没上升多少系数进行加款还是减款 + * 系数值 */ @TableField("STLM_COEF") private BigDecimal settlementCoefficient; /** - * 不足系数值按比例计算 + * 是否比例计算(字典:ERP_CTRT_YN) */ @TableField("USE_COEF") private String useCoefficient; /** - * 计价类型 + * 计价类型(字典:STLM_GRD_TP) */ @TableField("PRC_TP") private String priceType; /** - * 是否省内 + * 是否省内(字典:ERP_CTRT_YN) */ @TableField("IN_STA") private String inState; @@ -109,4 +99,9 @@ public class ContractGradeDO extends BusinessBaseDO { */ @TableField("UPRC") private BigDecimal unitPrice; + /** + * 数据项类型(字典:GRD_CFG_TP) + */ + @TableField("CFG_TP") + private String configType; } \ No newline at end of file diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/dal/dataobject/contract/ContractPriceDO.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/dal/dataobject/contract/ContractPriceDO.java index f7f2017..29a66ed 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/dal/dataobject/contract/ContractPriceDO.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/dal/dataobject/contract/ContractPriceDO.java @@ -30,11 +30,6 @@ public class ContractPriceDO extends BusinessBaseDO { */ @TableId(type = IdType.ASSIGN_ID) private Long id; - /** - * 配置主键 - */ - @TableField("PRM_ID") - private Long parameterId; /** * 条款主键 */ 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 e3b6fa9..233fa9b 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 @@ -1,6 +1,7 @@ package com.zt.plat.module.contractorder.service.contract; import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.module.contractorder.api.dto.ContractFormulaRespDTO; import com.zt.plat.module.contractorder.controller.admin.contract.vo.contract.*; import com.zt.plat.module.contractorder.dal.dataobject.contract.ContractMainDO; import jakarta.validation.Valid; @@ -85,4 +86,20 @@ public interface ContractService { * @return 结算公式列表 */ List getFormulas(FormulasQueryReqVO queryReqVO); + + /** + * 通过合同编号获取对应的结算条款数据 + * + * @param contractPaperNumber 合同编号 + * @return 结算条款数据 + */ + List getFormulasByPaperNumber(String contractPaperNumber); + + /** + * 提交ERP + * + * @param ids 合同ID集合 + * @return + */ + void submitErp(List ids); } 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 8ff71f3..593493e 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 @@ -17,6 +17,7 @@ import com.zt.plat.module.bpm.api.task.BpmProcessInstanceApi; import com.zt.plat.module.bpm.api.task.BpmTaskApi; import com.zt.plat.module.bpm.api.task.dto.BpmProcessInstanceCreateReqDTO; import com.zt.plat.module.bpm.api.task.dto.BpmTaskRespDTO; +import com.zt.plat.module.contractorder.api.dto.*; import com.zt.plat.module.contractorder.controller.admin.contract.vo.contract.*; import com.zt.plat.module.contractorder.dal.dataobject.contract.*; import com.zt.plat.module.contractorder.dal.mysql.contract.*; @@ -24,8 +25,8 @@ import com.zt.plat.module.contractorder.enums.ApiConstants; import com.zt.plat.module.contractorder.enums.DateConstants; import com.zt.plat.module.contractorder.enums.ProcessConstants; import com.zt.plat.module.contractorder.enums.TableFieldConstants; -import com.zt.plat.module.contractorder.enums.contract.ContractStatusEnum; -import com.zt.plat.module.contractorder.enums.contract.ErpCtrtYesNoEnum; +import com.zt.plat.module.contractorder.enums.contract.DictEnum; +import com.zt.plat.module.erp.dal.dataobject.erp.ErpContractDO; import com.zt.plat.module.erp.service.erp.ErpCompanyService; import com.zt.plat.module.system.api.user.AdminUserApi; import com.zt.plat.module.system.api.user.dto.AdminUserRespDTO; @@ -133,7 +134,7 @@ public class ContractServiceImpl implements ContractService { // 合同主信息 ContractMainDO contractMainDO = BeanUtils.toBean(reqVO, ContractMainDO.class); // 合同状态保存为草稿 - contractMainDO.setStatus(ContractStatusEnum.DRAFT.getCode()); + contractMainDO.setStatus(DictEnum.BSE_CTRT_STS_DRAFT.getCode()); // 生成系统合同编号 contractMainDO.setSystemContractNumber(generateSystemContractNumber(reqVO.getCategory())); @@ -399,14 +400,14 @@ public class ContractServiceImpl implements ContractService { } // 合同状态校验 - if (ContractStatusEnum.DELETED.getCode().equals(oldContractMainDO.getStatus()) - || ContractStatusEnum.ARCHIVED.getCode().equals(oldContractMainDO.getStatus()) - || ContractStatusEnum.TERMINATED.getCode().equals(oldContractMainDO.getStatus()) - || ContractStatusEnum.IN_PROGRESS.getCode().equals(oldContractMainDO.getStatus()) - || ContractStatusEnum.UNDER_REVIEW.getCode().equals(oldContractMainDO.getStatus())) { + if (DictEnum.BSE_CTRT_STS_DELETED.getCode().equals(oldContractMainDO.getStatus()) + || DictEnum.BSE_CTRT_STS_ARCHIVED.getCode().equals(oldContractMainDO.getStatus()) + || DictEnum.BSE_CTRT_STS_TERMINATED.getCode().equals(oldContractMainDO.getStatus()) + || DictEnum.BSE_CTRT_STS_IN_PROGRESS.getCode().equals(oldContractMainDO.getStatus()) + || DictEnum.BSE_CTRT_STS_UNDER_REVIEW.getCode().equals(oldContractMainDO.getStatus())) { throw exception(CONTRACT_STATUS_NOT_UPDATE, - ContractStatusEnum.valueOf(oldContractMainDO.getStatus()).getLabel()); + DictEnum.valueOf(oldContractMainDO.getStatus()).getLabel()); } // 请求更新的合同信息 @@ -605,14 +606,14 @@ public class ContractServiceImpl implements ContractService { } // 合同状态校验 - if (ContractStatusEnum.UNDER_REVIEW.getCode().equals(contractMainDO.getStatus()) - || ContractStatusEnum.IN_PROGRESS.getCode().equals(contractMainDO.getStatus()) - || ContractStatusEnum.TERMINATED.getCode().equals(contractMainDO.getStatus()) - || ContractStatusEnum.ARCHIVED.getCode().equals(contractMainDO.getStatus()) - || ContractStatusEnum.DELETED.getCode().equals(contractMainDO.getStatus())) { + if (DictEnum.BSE_CTRT_STS_UNDER_REVIEW.getCode().equals(contractMainDO.getStatus()) + || DictEnum.BSE_CTRT_STS_IN_PROGRESS.getCode().equals(contractMainDO.getStatus()) + || DictEnum.BSE_CTRT_STS_TERMINATED.getCode().equals(contractMainDO.getStatus()) + || DictEnum.BSE_CTRT_STS_ARCHIVED.getCode().equals(contractMainDO.getStatus()) + || DictEnum.BSE_CTRT_STS_DELETED.getCode().equals(contractMainDO.getStatus())) { throw exception(CONTRACT_STATUS_NOT_SUBMIT_APPROVAL, - ContractStatusEnum.valueOf(contractMainDO.getStatus()).getLabel()); + DictEnum.valueOf(contractMainDO.getStatus()).getLabel()); } // 合同内容校验 @@ -643,7 +644,7 @@ public class ContractServiceImpl implements ContractService { BpmTaskRespDTO undoTask = taskList.get(taskList.size() - 1); contractMainDO.setTaskNodeId(undoTask.getId()); } - contractMainDO.setStatus(ContractStatusEnum.UNDER_REVIEW.getCode()); + contractMainDO.setStatus(DictEnum.BSE_CTRT_STS_UNDER_REVIEW.getCode()); contractMainMapper.updateById(contractMainDO); return "提交审批成功"; } @@ -670,20 +671,27 @@ public class ContractServiceImpl implements ContractService { } // 合同状态校验 - if (ContractStatusEnum.DRAFT.getCode().equals(contractMainDO.getStatus()) - || ContractStatusEnum.IN_PROGRESS.getCode().equals(contractMainDO.getStatus()) - || ContractStatusEnum.REJECTED.getCode().equals(contractMainDO.getStatus()) - || ContractStatusEnum.TERMINATED.getCode().equals(contractMainDO.getStatus()) - || ContractStatusEnum.ARCHIVED.getCode().equals(contractMainDO.getStatus()) - || ContractStatusEnum.DELETED.getCode().equals(contractMainDO.getStatus())) { + if (DictEnum.BSE_CTRT_STS_DRAFT.getCode().equals(contractMainDO.getStatus()) + || DictEnum.BSE_CTRT_STS_IN_PROGRESS.getCode().equals(contractMainDO.getStatus()) + || DictEnum.BSE_CTRT_STS_REJECTED.getCode().equals(contractMainDO.getStatus()) + || DictEnum.BSE_CTRT_STS_TERMINATED.getCode().equals(contractMainDO.getStatus()) + || DictEnum.BSE_CTRT_STS_ARCHIVED.getCode().equals(contractMainDO.getStatus()) + || DictEnum.BSE_CTRT_STS_DELETED.getCode().equals(contractMainDO.getStatus())) { throw exception(CONTRACT_STATUS_NOT_APPROVAL, - ContractStatusEnum.valueOf(contractMainDO.getStatus()).getLabel()); + DictEnum.valueOf(contractMainDO.getStatus()).getLabel()); } return ""; } + /** + * 获取合同ID集合 + * + * @param contractName 合同名称 + * @param contractPaperNumber 合同编号 + * @return 合同ID集合 + */ private List getContractIds(String contractName, String contractPaperNumber) { List contractIds = new ArrayList<>(); List contractMainDOS = contractMainMapper.selectList(new LambdaQueryWrapperX() @@ -727,6 +735,169 @@ public class ContractServiceImpl implements ContractService { return contractFormulaMapper.selectFormulas(contractIds, queryReqVO.getMaterialName(), queryReqVO.getElementName()); } + @Override + public List getFormulasByPaperNumber(String contractPaperNumber) { + + // 通过合同编号查询合同信息 + ContractMainDO contractMainDO = contractMainMapper + .selectOne(TableFieldConstants.BSE_CTRT_MAIN_CTRT_PPR_NUM, contractPaperNumber); + + // 合同不存在 + if (contractMainDO == null) { + throw exception(CONTRACT_NOT_EXISTS); + } + + // 合同ID + Long contractId = contractMainDO.getId(); + + // 查询并设置价款结算条款 + List formulas = new ArrayList<>(); + List formulaDOS = contractFormulaMapper + .selectList(TableFieldConstants.BSE_CTRT_FMU_CTRT_ID, contractId); + if (formulaDOS != null && !formulaDOS.isEmpty()) { + formulas = BeanUtils.toBean(formulaDOS, ContractFormulaRespDTO.class); + + formulas.forEach(formula -> { + + // 查询并设置基础系数配置 + List coefficientDOS = contractCoefficientMapper + .selectList(TableFieldConstants.BSE_CTRT_COEF_FMU_ID, formula.getId()); + if (coefficientDOS != null && !coefficientDOS.isEmpty()) { + formula.setCoefficients(BeanUtils.toBean(coefficientDOS, ContractCoefficientRespDTO.class)); + } + // 查询并设置品位等级价配置 + List gradeDOS = contractGradeMapper + .selectList(TableFieldConstants.BSE_CTRT_GRD_FMU_ID, formula.getId()); + if (gradeDOS != null && !gradeDOS.isEmpty()) { + formula.setGrades(BeanUtils.toBean(gradeDOS, ContractGradeRespDTO.class)); + } + // 查询并设置调整价配置 + List deductDOS = contractDeductMapper + .selectList(TableFieldConstants.BSE_CTRT_DDCT_FMU_ID, formula.getId()); + if (deductDOS != null && !deductDOS.isEmpty()) { + formula.setDeducts(BeanUtils.toBean(deductDOS, ContractDeductRespDTO.class)); + } + // 查询并设置市场价配置 + List priceDOS = contractPriceMapper + .selectList(TableFieldConstants.BSE_CTRT_PRC_FMU_ID, formula.getId()); + if (priceDOS != null && !priceDOS.isEmpty()) { + formula.setPrices(BeanUtils.toBean(priceDOS, ContractPriceRespDTO.class)); + } + }); + } + + return formulas; + } + + @Override + public void submitErp(List ids) { + + // 遍历合同ID集合 + ids.forEach(id -> { + + // 查询合同信息 + ContractMainDO contractMainDO = contractMainMapper.selectById(id); + + if (contractMainDO != null) { + + // 生成ERP合同映射表 + ErpContractDO erpContractDO = new ErpContractDO(); + // 合同主信息表主键:BSE_CTRT_MAIN + erpContractDO.setContractMainId(id); + // 操作标识:OPTN_ID TODO + /* + 1、先调用009ERP接口查询合同信息 + 2、如果009接口返回值中“合同编号”字段存在值,并且与传入的相同,则OPTN_ID值为“1” + 3、如果009接口返回值中“合同编号”字段不存在值,根据合同主键查询映射表中是否存在没有删除的数据,如果有,值为“1”,如果没有,值为“0” + */ + // 合同编号:CTRT_PPR_NUM + erpContractDO.setContractPaperNumber(contractMainDO.getContractPaperNumber()); + // 合同名称:CTRT_NAME + erpContractDO.setContractName(contractMainDO.getContractName()); + // 合同类型编号:CTRT_TP_NUM + erpContractDO.setContractTypeNumber(contractMainDO.getConstructionTypeNumber()); + // 合同类型名称:CTRT_TP_NAME + erpContractDO.setContractTypeName(contractMainDO.getConstructionTypeName()); + // 合同类别:CTRT_CTGR + erpContractDO.setContractCategory(contractMainDO.getCategory()); + // 是否虚拟合同:IS_VRTL_CTRT + erpContractDO.setIsVirtualContract(contractMainDO.getContractVirtual()); + // 客商编号:SPLR_NUM 根据合同主表的收支方向判断,如果为“支出”,值为“ERP乙方公司编码”,反之为“ERP甲方公司编码” + // erpContractDO.setSupplierNumber(); + // 客商名称:SPLR_NAME 根据合同主表的收支方向判断,如果为“支出”,值为“ERP乙方公司名称”,反之为“ERP甲方公司名称” + // erpContractDO.setSupplierName(); + // 代理方:AGT + erpContractDO.setAgent(contractMainDO.getAgent()); + // 合同实施主体编号:CTRT_IMPL_NUM 根据合同主表的收支方向判断,如果为“支出”,值为“ERP甲方公司编码”,反之为“ERP乙方公司编码” + // erpContractDO.setContractImplementNumber(); + // 合同签订主体编号:CTRT_SGN_NUM 根据合同主表的收支方向判断,如果为“支出”,值为“ERP甲方公司名称”,反之为“ERP乙方公司名称” + // erpContractDO.setContractSignNumber(); + // 合同签订日期:SGN_DT + if (contractMainDO.getSignDate() != null) { + erpContractDO.setSignDate(contractMainDO.getSignDate().toLocalDate()); + } + // 合同起始日期:STRT_DT + if (contractMainDO.getStartDate() != null) { + erpContractDO.setStartDate(contractMainDO.getStartDate().toLocalDate()); + } + // 合同终止日期:STOP_DT + if (contractMainDO.getEndDate() != null) { + erpContractDO.setStopDate(contractMainDO.getEndDate().toLocalDate()); + } + // 币种编号:CUR + erpContractDO.setCurrency(contractMainDO.getCurrency()); + // 合同总金额(原币-含税):SRC_AMT + erpContractDO.setSourceAmount(contractMainDO.getCooAmount()); + // 合同总金额(本位币-含税):BSC_AMT + erpContractDO.setBasicAmount(contractMainDO.getBasicAmount()); + // 变更后合同总金额(原币-含税):CHG_SRC_AMT + erpContractDO.setChangeSourceAmount(contractMainDO.getChangeCooAmount()); + // 变更后合同总金额(本位币-含税):CHG_BSC_AMT + erpContractDO.setChangeBasicAmount(contractMainDO.getChangeBasicAmount()); + // 合同状态编号:STS_NUM 参照060接口 + // erpContractDO.setStatusNumber(); + // 合同状态名称:STS_NAME 参照060接口 + // erpContractDO.setStatusName(); + // 是否有预付款:IS_PPYM + erpContractDO.setIsPrepayment(contractMainDO.getHasPrepayment()); + // 预付款比例:PPYM_RTIO + erpContractDO.setPrepaymentRatio(contractMainDO.getPrepaymentRatio()); + // 预付款金额:PPYM_AMT + erpContractDO.setPrepaymentAmount(contractMainDO.getPrepaymentAmount()); + // 履约保证金-变更前(原币):SRC_BFR_BND + erpContractDO.setSourceBeforeBond(contractMainDO.getChangeCooAmountDeposit()); + // 履约保证金-变更前(本位币):BSC_BFR_BND + erpContractDO.setBasicBeforeBond(contractMainDO.getChangeBasicAmountDeposit()); + // 履约保证金-变更后(原币):SRC_AFT_BND + erpContractDO.setSourceAfterBond(contractMainDO.getChangeCooAmountDeposit()); + // 履约保证金-变更后(本位币):BSC_AFT_BND + erpContractDO.setBasicAfterBond(contractMainDO.getChangeBasicAmountDeposit()); + // 是否含质保金:IS_QUA_AMT + erpContractDO.setIsQualityassuranceAmount(contractMainDO.getHasQualityAmount()); + // 质保金比例:QUA_RTIO + erpContractDO.setQualityassuranceRatio(contractMainDO.getQualityRatio()); + // 质保金金额:QUA_AMT + erpContractDO.setQualityassuranceAmount(contractMainDO.getQualityAmount()); + // 是否内部企业:IS_INTL + erpContractDO.setIsInternal(contractMainDO.getIsInternal()); + // 收支性质:NTR + erpContractDO.setNature(contractMainDO.getDirection()); + // 备注信息:RMK + erpContractDO.setRemark(contractMainDO.getRemark()); + // 是否框架合同:IS_FMWK + erpContractDO.setIsFramework(contractMainDO.getIsFramework()); + // 境内/境外:IS_DOM + erpContractDO.setIsDomestic(contractMainDO.getIsDomestic()); + // 达到收款条件金额:PYEE_CND_AMT + erpContractDO.setPayeeConditionAmount(contractMainDO.getPayeeConditionAmount()); + // 建筑服务发生地:ARCH_SVC_PLCE + erpContractDO.setArchitectureService‌Place(contractMainDO.getArchitectureServicePlace()); + + // 调用ERP模块 + } + }); + } + /** * 校验合同内容 * @@ -818,7 +989,7 @@ public class ContractServiceImpl implements ContractService { throw exception(CONTRACT_DATA_NOT_EXISTS, TableFieldConstants.BSE_CTRT_MAIN_HS_DPST_LABEL); } // 是否有履约保证金为是的情况 - if (ErpCtrtYesNoEnum.YES.getCode().equals(contract.getHasDeposit())) { + if (DictEnum.ERP_CTRT_YN_YES.getCode().equals(contract.getHasDeposit())) { // 原币履约保证金不能为空 if (contract.getCooAmountDeposit() == null) { throw exception(CONTRACT_DATA_NOT_EXISTS, TableFieldConstants.BSE_CTRT_MAIN_COO_AMT_DPST_LABEL); @@ -833,7 +1004,7 @@ public class ContractServiceImpl implements ContractService { throw exception(CONTRACT_DATA_NOT_EXISTS, TableFieldConstants.BSE_CTRT_MAIN_HS_PPYM_LABEL); } // 是否有预付款为是的情况 - if (ErpCtrtYesNoEnum.YES.getCode().equals(contract.getHasPrepayment())) { + if (DictEnum.ERP_CTRT_YN_YES.getCode().equals(contract.getHasPrepayment())) { // 预付款比例不能为空 if (contract.getPrepaymentRatio() == null) { throw exception(CONTRACT_DATA_NOT_EXISTS, TableFieldConstants.BSE_CTRT_MAIN_PPYM_RTIO_LABEL); @@ -848,7 +1019,7 @@ public class ContractServiceImpl implements ContractService { throw exception(CONTRACT_DATA_NOT_EXISTS, TableFieldConstants.BSE_CTRT_MAIN_HS_QLT_AMT_LABEL); } // 是否有质保金为是的情况 - if (ErpCtrtYesNoEnum.YES.getCode().equals(contract.getHasPrepayment())) { + if (DictEnum.ERP_CTRT_YN_YES.getCode().equals(contract.getHasPrepayment())) { // 质保金比例不能为空 if (contract.getQualityRatio() == null) { throw exception(CONTRACT_DATA_NOT_EXISTS, TableFieldConstants.BSE_CTRT_MAIN_QLT_RTIO_LABEL); diff --git a/zt-module-erp/zt-module-erp-api/src/main/java/com/zt/plat/module/erp/api/ErpExternalApi.java b/zt-module-erp/zt-module-erp-api/src/main/java/com/zt/plat/module/erp/api/ErpExternalApi.java index 457c0cd..e37718b 100644 --- a/zt-module-erp/zt-module-erp-api/src/main/java/com/zt/plat/module/erp/api/ErpExternalApi.java +++ b/zt-module-erp/zt-module-erp-api/src/main/java/com/zt/plat/module/erp/api/ErpExternalApi.java @@ -1,15 +1,18 @@ package com.zt.plat.module.erp.api; +import com.zt.plat.module.erp.api.dto.ErpQueryReqDTO; import com.zt.plat.module.erp.api.dto.ErpSubmitReqDTO; import com.zt.plat.module.erp.enums.ApiConstants; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.validation.Valid; import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import java.util.HashMap; +import java.util.Map; @FeignClient(name = ApiConstants.NAME) @Tag(name = "RPC 服务 - ERP") @@ -21,4 +24,8 @@ public interface ErpExternalApi { @Operation(summary = "erp数据提交") HashMap submitDataToErp(@Valid @RequestBody ErpSubmitReqDTO reqDTO); + @GetMapping(PREFIX + "/query") + @Operation(summary = "erp数据查询") + HashMap queryDataToErp(@Valid @RequestBody ErpQueryReqDTO reqDTO); + } diff --git a/zt-module-erp/zt-module-erp-api/src/main/java/com/zt/plat/module/erp/api/dto/ErpQueryReqDTO.java b/zt-module-erp/zt-module-erp-api/src/main/java/com/zt/plat/module/erp/api/dto/ErpQueryReqDTO.java new file mode 100644 index 0000000..1648ad4 --- /dev/null +++ b/zt-module-erp/zt-module-erp-api/src/main/java/com/zt/plat/module/erp/api/dto/ErpQueryReqDTO.java @@ -0,0 +1,21 @@ +package com.zt.plat.module.erp.api.dto; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.Map; + +@Schema(description = "RPC 服务 - 查询 ERP DTO") +@Data +public class ErpQueryReqDTO { + /** + * 调用ERP接口查询erp数据 + * + * 请求参数说明: + * "funcnr": 接口编号,必须,参见RFC功能列表,可调用接口编号范围001-021 + * "req": {具体参数,参见RFC功能列表} + */ + private String funcnr; + private Map req; + +} diff --git a/zt-module-erp/zt-module-erp-api/src/main/java/com/zt/plat/module/erp/enums/ErrorCodeConstants.java b/zt-module-erp/zt-module-erp-api/src/main/java/com/zt/plat/module/erp/enums/ErrorCodeConstants.java index b9f1f52..9c7b04f 100644 --- a/zt-module-erp/zt-module-erp-api/src/main/java/com/zt/plat/module/erp/enums/ErrorCodeConstants.java +++ b/zt-module-erp/zt-module-erp-api/src/main/java/com/zt/plat/module/erp/enums/ErrorCodeConstants.java @@ -13,6 +13,10 @@ public interface ErrorCodeConstants { ErrorCode ERP_CUSTOMER_NOT_EXISTS = new ErrorCode(1_001_000_001, "ERP客商主数据不存在"); ErrorCode ERP_MATERIAL_NOT_EXISTS = new ErrorCode(1_002_000_001, "ERP物料数据不存在"); + ErrorCode ERP_MATERIAL_NOT_ALLOW_UPDATE = new ErrorCode(1_002_000_002, "只允许编辑状态为“供应链”的数据"); + ErrorCode ERP_MATERIAL_NOT_ALLOW_DELETE = new ErrorCode(1_002_000_003, "不允许删除状态为“ERP”的数据"); + ErrorCode ERP_MATERIAL_OTHER_NOT_ALLOW_DELETE = new ErrorCode(1_002_000_004, "只允许删除不存在配置关系的数据"); + ErrorCode ERP_MATERIAL_EXISTS = new ErrorCode(1_002_000_005, "已存在相同中铜编码的物料数据"); ErrorCode ERP_COMPANY_NOT_EXISTS = new ErrorCode(1_003_000_001, "ERP公司数据不存在"); ErrorCode ERP_COMPANY_REDIS_NOT_EXISTS = new ErrorCode(1_003_000_002, "ERP公司代码缓存数据丢失,请重新同步公司代码"); @@ -28,6 +32,7 @@ public interface ErrorCodeConstants { ErrorCode ERP_FACTORY_NOT_EXISTS = new ErrorCode(1_008_000_001, "ERP工厂数据不存在"); ErrorCode ERP_FACTORY_REDIS_NOT_EXISTS = new ErrorCode(1_008_000_002, "ERP工厂redis数据不存在"); ErrorCode ERP_FACTORY_NOT_ALLOW_UPDATE = new ErrorCode(1_008_000_003, "类型为ERP的数据或启用的数据不允许编辑"); + ErrorCode ERP_FACTORY_EXISTS = new ErrorCode(1_008_000_004, "工厂编码重复,数据已存在"); ErrorCode ERP_COSTCENTER_NOT_EXISTS = new ErrorCode(1_009_000_001, "ERP成本中心数据不存在"); @@ -40,6 +45,8 @@ public interface ErrorCodeConstants { ErrorCode ERP_SALES_ORGANIZATION_NOT_EXISTS = new ErrorCode(1_013_000_001, "ERP销售组织数据不存在"); ErrorCode ERP_WAREHOUSE_NOT_EXISTS = new ErrorCode(1_014_000_001, "ERP库位数据不存在"); + ErrorCode ERP_WAREHOUSE_NOT_ALLOW_UPDATE = new ErrorCode(1_014_000_002, "只允许状态为“供应链”,且“禁用”的数据编辑"); + ErrorCode ERP_WAREHOUSE_EXISTS = new ErrorCode(1_014_000_003, "已存在相同库位编码和工厂编码的记录"); ErrorCode ERP_ASSET_NOT_EXISTS = new ErrorCode(1_015_000_001, "ERP资产卡片数据不存在"); 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 ade41ae..bbf5b2e 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 @@ -1,5 +1,6 @@ package com.zt.plat.module.erp.api; +import com.zt.plat.module.erp.api.dto.ErpQueryReqDTO; import com.zt.plat.module.erp.api.dto.ErpSubmitReqDTO; import com.zt.plat.module.erp.utils.ErpConfig; import jakarta.annotation.Resource; @@ -7,6 +8,7 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.RestController; import java.util.HashMap; +import java.util.Map; /** * ERP Api 实现类 @@ -25,4 +27,11 @@ public class ErpExternalApiImpl implements ErpExternalApi { public HashMap submitDataToErp(ErpSubmitReqDTO reqDTO) { return erpConfig.pushDataToErp(reqDTO); } + + @Override + public HashMap queryDataToErp(ErpQueryReqDTO reqDTO) { + String funcnr = reqDTO.getFuncnr(); + Map req = new HashMap<>(); + return erpConfig.fetchDataFromERP(funcnr, req); + } } diff --git a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpFactoryController.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpFactoryController.java index 5878582..34dcb52 100644 --- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpFactoryController.java +++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpFactoryController.java @@ -88,14 +88,6 @@ public class ErpFactoryController { return success(BeanUtils.toBean(pageResult, ErpFactoryRespVO.class)); } - @GetMapping("/pageByCpn") - @Operation(summary = "获得ERP工厂分页") - @PreAuthorize("@ss.hasPermission('base:erp-factory:query')") - public CommonResult> getErpFactoryPageByCpn(@Valid ErpFactoryPageReqVO pageReqVO) { - PageResult pageResult = erpFactoryService.getErpFactoryPageByCpn(pageReqVO); - return success(BeanUtils.toBean(pageResult, ErpFactoryRespVO.class)); - } - @GetMapping("/export-excel") @Operation(summary = "导出ERP工厂 Excel") @PreAuthorize("@ss.hasPermission('base:erp-factory:export')") diff --git a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpWarehouseController.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpWarehouseController.java index 712da49..08c69a3 100644 --- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpWarehouseController.java +++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpWarehouseController.java @@ -101,6 +101,14 @@ public class ErpWarehouseController { BeanUtils.toBean(list, ErpWarehouseRespVO.class)); } + @PutMapping("/enable-list") + @Operation(summary = "批量更新") + @PreAuthorize("@ss.hasPermission('base:warehouse:update')") + public CommonResult enableWarehouseList(@RequestBody List saveReqVOS) { + erpWarehouseService.enableWarehouseList(saveReqVOS); + return success(true); + } + @PostMapping("/getErpWarehouseTask") @Operation(summary = "定时获得erp更新库位") @PreAuthorize("@ss.hasPermission('sply:erp-warehouse:create')") diff --git a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/vo/ErpFactoryPageReqVO.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/vo/ErpFactoryPageReqVO.java index bf71059..e550f77 100644 --- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/vo/ErpFactoryPageReqVO.java +++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/vo/ErpFactoryPageReqVO.java @@ -16,10 +16,10 @@ public class ErpFactoryPageReqVO extends PageParam { private String number; @Schema(description = "公司编号") - private String companyNumber; + private String erpCompanyNumber; @Schema(description = "公司名称") - private String companyName; + private String erpCompanyName; @Schema(description = "类型") private String type; diff --git a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/vo/ErpFactoryRespVO.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/vo/ErpFactoryRespVO.java index 9700347..e71e7d2 100644 --- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/vo/ErpFactoryRespVO.java +++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/vo/ErpFactoryRespVO.java @@ -23,7 +23,10 @@ public class ErpFactoryRespVO { private String number; @Schema(description = "公司编号") - private String companyNumber; + private String erpCompanyNumber; + + @Schema(description = "公司编号") + private String erpCompanyName; @Schema(description = "类型") private String type; diff --git a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/vo/ErpFactorySaveReqVO.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/vo/ErpFactorySaveReqVO.java index f93795f..9730222 100644 --- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/vo/ErpFactorySaveReqVO.java +++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/vo/ErpFactorySaveReqVO.java @@ -20,10 +20,7 @@ public class ErpFactorySaveReqVO { private String number; @Schema(description = "公司编号") - private String companyNumber; - - @Schema(description = "公司编号") - private String companyName; + private String erpCompanyNumber; @Schema(description = "类型") private String type; diff --git a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/vo/ErpWarehousePageReqVO.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/vo/ErpWarehousePageReqVO.java index 7c73ae0..def8141 100644 --- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/vo/ErpWarehousePageReqVO.java +++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/vo/ErpWarehousePageReqVO.java @@ -8,6 +8,9 @@ import lombok.Data; @Data public class ErpWarehousePageReqVO extends PageParam { + @Schema(description = "工厂名称") + private String factoryName; + @Schema(description = "工厂编码;将查询参数存入") private String factoryNumber; @@ -17,4 +20,8 @@ public class ErpWarehousePageReqVO extends PageParam { @Schema(description = "库位编码") private String number; + @Schema(description = "类型") + private String type; + + } \ 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/ErpWarehouseRespVO.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/vo/ErpWarehouseRespVO.java index b0e10f9..cac2001 100644 --- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/vo/ErpWarehouseRespVO.java +++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/vo/ErpWarehouseRespVO.java @@ -2,6 +2,7 @@ package com.zt.plat.module.erp.controller.admin.erp.vo; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; +import com.baomidou.mybatisplus.annotation.TableField; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -18,6 +19,9 @@ public class ErpWarehouseRespVO { @ExcelProperty("工厂编码;将查询参数存入") private String factoryNumber; + @Schema(description = "工厂名称") + private String factoryName; + @Schema(description = "库位描述", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三") @ExcelProperty("库位描述") private String name; @@ -26,4 +30,16 @@ public class ErpWarehouseRespVO { @ExcelProperty("库位编码") private String number; + @Schema(description = "类别") + private String type; + + @Schema(description = "绑定库位名") + private String relName; + + @Schema(description = "绑定库位编码") + private String relnumber; + + @Schema(description = "是否启用") + private String isEnable; + } \ 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/ErpWarehouseSaveReqVO.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/vo/ErpWarehouseSaveReqVO.java index 1ed798e..548b700 100644 --- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/vo/ErpWarehouseSaveReqVO.java +++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/vo/ErpWarehouseSaveReqVO.java @@ -22,4 +22,16 @@ public class ErpWarehouseSaveReqVO { @NotEmpty(message = "库位编码不能为空") private String number; + @Schema(description = "类别") + private String type; + + @Schema(description = "绑定库位名") + private String relName; + + @Schema(description = "绑定库位编码") + private String relnumber; + + @Schema(description = "是否启用") + private String isEnable; + } \ 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/ErpFactoryDO.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/dal/dataobject/erp/ErpFactoryDO.java index 61a613b..e86556c 100644 --- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/dal/dataobject/erp/ErpFactoryDO.java +++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/dal/dataobject/erp/ErpFactoryDO.java @@ -41,13 +41,13 @@ public class ErpFactoryDO extends BusinessBaseDO { * 公司编号 */ @TableField("CPN_ID") - private String companyNumber; + private String erpCompanyNumber; /** * 公司名称 */ @TableField(exist = false) - private String companyName; + private String erpCompanyName; /** * 类型 diff --git a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/dal/dataobject/erp/ErpWarehouseDO.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/dal/dataobject/erp/ErpWarehouseDO.java index 95a54c2..60bccd7 100644 --- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/dal/dataobject/erp/ErpWarehouseDO.java +++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/dal/dataobject/erp/ErpWarehouseDO.java @@ -1,6 +1,7 @@ package com.zt.plat.module.erp.dal.dataobject.erp; import com.baomidou.mybatisplus.annotation.*; +import com.zt.plat.framework.mybatis.core.dataobject.BusinessBaseDO; import lombok.*; /** * ERP库位 DO @@ -18,7 +19,7 @@ import lombok.*; /** * 支持业务基类继承:isBusiness=true 时继承 BusinessBaseDO,否则继承 BaseDO */ -public class ErpWarehouseDO { +public class ErpWarehouseDO extends BusinessBaseDO { /** * 主键 @@ -30,6 +31,11 @@ public class ErpWarehouseDO { */ @TableField("FACT_NUM") private String factoryNumber; + /** + * 工厂名称;将查询参数存入 + */ + @TableField(exist = false) + private String factoryName; /** * 库位描述 */ @@ -47,4 +53,22 @@ public class ErpWarehouseDO { @TableField("TP") private String type; + /** + * 绑定库位名 + */ + @TableField("REL_NAME") + private String relName; + + /** + * 绑定库位编码 + */ + @TableField("REL_NUM") + private String relnumber; + + /** + * 类型 + */ + @TableField("IS_ENB") + private String isEnable; + } \ 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/mysql/erp/ErpFactoryMapper.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/dal/mysql/erp/ErpFactoryMapper.java index 4661051..ce1ea5b 100644 --- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/dal/mysql/erp/ErpFactoryMapper.java +++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/dal/mysql/erp/ErpFactoryMapper.java @@ -18,14 +18,6 @@ import java.util.List; @Mapper public interface ErpFactoryMapper extends BaseMapperX { - default PageResult selectPage(ErpFactoryPageReqVO reqVO) { - return selectPage(reqVO, new LambdaQueryWrapperX() - .likeIfPresent(ErpFactoryDO::getName, reqVO.getName()) - .eqIfPresent(ErpFactoryDO::getNumber, reqVO.getNumber()) - .eqIfPresent(ErpFactoryDO::getType, reqVO.getType()) - .orderByDesc(ErpFactoryDO::getId)); - } - String selectMaxCode(); List getPageByReq(ErpFactoryPageReqVO pageReqVO); diff --git a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/dal/mysql/erp/ErpMaterialMapper.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/dal/mysql/erp/ErpMaterialMapper.java index 1330186..ded32ed 100644 --- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/dal/mysql/erp/ErpMaterialMapper.java +++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/dal/mysql/erp/ErpMaterialMapper.java @@ -37,4 +37,8 @@ public interface ErpMaterialMapper extends BaseMapperX { } void updateBatchByNumber(@Param("toUpdate") List toUpdate); + + String selectMaxCode(); + + Integer selectByErpMNumbers(List erpMNumber); } \ 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/mysql/erp/ErpWarehouseMapper.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/dal/mysql/erp/ErpWarehouseMapper.java index 80bb229..ee619cb 100644 --- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/dal/mysql/erp/ErpWarehouseMapper.java +++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/dal/mysql/erp/ErpWarehouseMapper.java @@ -7,6 +7,8 @@ import com.zt.plat.module.erp.controller.admin.erp.vo.ErpWarehousePageReqVO; import com.zt.plat.module.erp.dal.dataobject.erp.ErpWarehouseDO; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** * ERP库位 Mapper * @@ -15,13 +17,7 @@ import org.apache.ibatis.annotations.Mapper; @Mapper public interface ErpWarehouseMapper extends BaseMapperX { - default PageResult selectPage(ErpWarehousePageReqVO reqVO) { - return selectPage(reqVO, new LambdaQueryWrapperX() - .eqIfPresent(ErpWarehouseDO::getFactoryNumber, reqVO.getFactoryNumber()) - .likeIfPresent(ErpWarehouseDO::getName, reqVO.getName()) -// .betweenIfPresent(ErpWarehouseDO::getCreateTime, reqVO.getCreateTime()) - .eqIfPresent(ErpWarehouseDO::getNumber, reqVO.getNumber()) - .orderByDesc(ErpWarehouseDO::getId)); - } + String selectMaxCode(); + List getPageByReq(ErpWarehousePageReqVO pageReqVO); } \ No newline at end of file diff --git a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/job/erpJob.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/job/erpJob.java new file mode 100644 index 0000000..38fe33f --- /dev/null +++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/job/erpJob.java @@ -0,0 +1,9 @@ +package com.zt.plat.module.erp.job; + +public class erpJob { + + public void execute() throws Exception { + // TODO Auto-generated method stub + + } +} diff --git a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpFactoryService.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpFactoryService.java index 29f36f0..5f9cb98 100644 --- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpFactoryService.java +++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpFactoryService.java @@ -64,6 +64,4 @@ public interface ErpFactoryService { void callErpRfcInterface(); void enableFactoryList(List saveReqVOS); - - PageResult getErpFactoryPageByCpn(ErpFactoryPageReqVO pageReqVO); } \ 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/ErpFactoryServiceImpl.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpFactoryServiceImpl.java index 06c32fa..0799177 100644 --- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpFactoryServiceImpl.java +++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpFactoryServiceImpl.java @@ -50,6 +50,8 @@ public class ErpFactoryServiceImpl implements ErpFactoryService { @Override public ErpFactoryRespVO createErpFactory(ErpFactorySaveReqVO createReqVO) { + // 校验存在 + validateErpFactoryExistsNumber(createReqVO.getNumber()); // 插入 ErpFactoryDO erpFactory = BeanUtils.toBean(createReqVO, ErpFactoryDO.class); // 工厂编码自动生成,格式 GC-0001,依次新增 @@ -65,7 +67,7 @@ public class ErpFactoryServiceImpl implements ErpFactoryService { erpFactory.setNumber(nextCode); } } - erpFactory.setType("供应链"); + erpFactory.setType("SPLY"); erpFactory.setIsEnable("1"); erpFactoryMapper.insert(erpFactory); // 返回 @@ -113,6 +115,14 @@ public class ErpFactoryServiceImpl implements ErpFactoryService { } } + private void validateErpFactoryExistsNumber(String number) { + List list = erpFactoryMapper.selectList(new LambdaQueryWrapperX()) + .stream().filter(erpFactoryDO -> erpFactoryDO.getNumber().equals(number)).toList(); + if (!list.isEmpty()) { + throw exception(ERP_FACTORY_EXISTS); + } + } + @Override public ErpFactoryDO getErpFactory(Long id) { return erpFactoryMapper.selectById(id); @@ -120,20 +130,6 @@ public class ErpFactoryServiceImpl implements ErpFactoryService { @Override public PageResult getErpFactoryPage(ErpFactoryPageReqVO pageReqVO) { - return erpFactoryMapper.selectPage(pageReqVO); - } - - @Override - public void enableFactoryList(List saveReqVOS) { - List updateObj = BeanUtils.toBean(saveReqVOS, ErpFactoryDO.class); - List count = erpFactoryMapper.updateById(updateObj); - if (CollUtil.isEmpty(count)) { - throw exception(ERP_FACTORY_NOT_EXISTS); - } - } - - @Override - public PageResult getErpFactoryPageByCpn(ErpFactoryPageReqVO pageReqVO) { // 获取分页数据 List list = erpFactoryMapper.getPageByReq(pageReqVO); if (list == null) { @@ -155,6 +151,15 @@ public class ErpFactoryServiceImpl implements ErpFactoryService { return new PageResult<>(pageList, (long) total); } + @Override + public void enableFactoryList(List saveReqVOS) { + List updateObj = BeanUtils.toBean(saveReqVOS, ErpFactoryDO.class); + List count = erpFactoryMapper.updateById(updateObj); + if (CollUtil.isEmpty(count)) { + throw exception(ERP_FACTORY_NOT_EXISTS); + } + } + @Override @Transactional @XxlJob("getErpFactoryTask") @@ -170,7 +175,7 @@ public class ErpFactoryServiceImpl implements ErpFactoryService { // 1. 调用ERP接口获取数据 Map req = new HashMap<>(); JSONArray dataArrayALL = new JSONArray(); - String companykey = "erp" + OftenEnum.FuncnrEnum.公司代码.getFuncnr(); + String companykey = "erpMap" + OftenEnum.FuncnrEnum.公司代码.getFuncnr(); Map redisCache = myRedisConfig.getRedisCacheMap(companykey); if (CollUtil.isEmpty(redisCache)) { throw exception(ERP_COMPANY_REDIS_NOT_EXISTS); @@ -225,7 +230,7 @@ public class ErpFactoryServiceImpl implements ErpFactoryService { ErpFactoryDO DO = new ErpFactoryDO(); DO.setName(dataJson.getString("NAME1")); DO.setNumber(number); - DO.setCompanyNumber(dataJson.getString("BUKRS")); + DO.setErpCompanyNumber(dataJson.getString("BUKRS")); DO.setType("ERP"); if (numbers.get(number)!=null) { // 更新 diff --git a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpMaterialServiceImpl.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpMaterialServiceImpl.java index 224ed84..7c6f4ff 100644 --- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpMaterialServiceImpl.java +++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpMaterialServiceImpl.java @@ -7,6 +7,7 @@ import com.xxl.job.core.handler.annotation.XxlJob; import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.framework.common.util.object.BeanUtils; import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.zt.plat.module.erp.dal.dataobject.erp.ErpWarehouseDO; import com.zt.plat.module.erp.utils.ErpConfig; import com.zt.plat.module.erp.utils.MyRedisConfig; import com.zt.plat.module.erp.enums.OftenEnum; @@ -29,8 +30,7 @@ import java.util.Map; import java.util.stream.Collectors; import static com.zt.plat.framework.common.exception.util.ServiceExceptionUtil.exception; -import static com.zt.plat.module.erp.enums.ErrorCodeConstants.ERP_INTERNAL_ORDER_NOT_EXISTS; -import static com.zt.plat.module.erp.enums.ErrorCodeConstants.ERP_MATERIAL_NOT_EXISTS; +import static com.zt.plat.module.erp.enums.ErrorCodeConstants.*; import static dm.jdbc.util.DriverUtil.log; /** @@ -51,8 +51,24 @@ public class ErpMaterialServiceImpl implements ErpMaterialService { @Override public ErpMaterialRespVO createErpMaterial(ErpMaterialSaveReqVO createReqVO) { + // 校验存在 + validateErpFactoryExistsNumber(createReqVO.getDownCenterNumber()); // 插入 ErpMaterialDO erpMaterial = BeanUtils.toBean(createReqVO, ErpMaterialDO.class); + // 工厂编码自动生成,格式 GC-0001,依次新增 + if (erpMaterial.getDownCenterNumber() == null) { + String maxCode = erpMaterialMapper.selectMaxCode(); + if (maxCode == null) { + erpMaterial.setDownCenterNumber("WL-0001"); + } else { + String prefix = "WL-"; + String numberPart = maxCode.substring(prefix.length()); + int nextNumber = Integer.parseInt(numberPart) + 1; + String nextCode = prefix + String.format("%04d", nextNumber); + erpMaterial.setDownCenterNumber(nextCode); + } + } + erpMaterial.setType("SPLY"); erpMaterialMapper.insert(erpMaterial); // 返回 return BeanUtils.toBean(erpMaterial, ErpMaterialRespVO.class); @@ -64,7 +80,11 @@ public class ErpMaterialServiceImpl implements ErpMaterialService { validateErpMaterialExists(updateReqVO.getId()); // 更新 ErpMaterialDO updateObj = BeanUtils.toBean(updateReqVO, ErpMaterialDO.class); - erpMaterialMapper.updateById(updateObj); + if (updateObj.getType().equals("SPLY")) { + erpMaterialMapper.updateById(updateObj); + } else { + throw exception(ERP_MATERIAL_NOT_ALLOW_UPDATE); + } } @Override @@ -76,18 +96,34 @@ public class ErpMaterialServiceImpl implements ErpMaterialService { } @Override - public void deleteErpMaterialListByIds(List ids) { + public void deleteErpMaterialListByIds(List ids) { // 校验存在 validateErpMaterialExists(ids); // 删除 erpMaterialMapper.deleteByIds(ids); - } + } private void validateErpMaterialExists(List ids) { List list = erpMaterialMapper.selectByIds(ids); if (CollUtil.isEmpty(list) || list.size() != ids.size()) { throw exception(ERP_MATERIAL_NOT_EXISTS); } + List erpMaterialDOList = list.stream() + .filter(erpMaterialDO -> erpMaterialDO.getType().equals("ERP")) + .collect(Collectors.toList()); + if (CollUtil.isEmpty(erpMaterialDOList)) { + throw exception(ERP_MATERIAL_NOT_ALLOW_DELETE); + } + // 优化成批量查询,使用IN语句 + List downCenterNumbers = list.stream() + .map(ErpMaterialDO::getDownCenterNumber) + .collect(Collectors.toList()); + + // 使用IN语句批量查询所有物料编码的数量 + Integer countMap = erpMaterialMapper.selectByErpMNumbers(downCenterNumbers); + if (countMap > 1) { + throw exception(ERP_MATERIAL_OTHER_NOT_ALLOW_DELETE); + } } private void validateErpMaterialExists(Long id) { @@ -96,6 +132,15 @@ public class ErpMaterialServiceImpl implements ErpMaterialService { } } + private void validateErpFactoryExistsNumber(String number) { + List list = erpMaterialMapper.selectList(new LambdaQueryWrapperX()).stream() + .filter(erpWarehouseDO -> erpWarehouseDO.getDownCenterNumber().equals(number)) + .toList(); + if (!list.isEmpty()) { + throw exception(ERP_MATERIAL_EXISTS); + } + } + @Override public ErpMaterialDO getErpMaterial(Long id) { return erpMaterialMapper.selectById(id); @@ -111,11 +156,11 @@ public class ErpMaterialServiceImpl implements ErpMaterialService { @XxlJob("getErpMaterialTask") public void callErpRfcInterface() { try { - OftenEnum.FuncnrEnum funcnrEnum =OftenEnum.FuncnrEnum.物料数据; + OftenEnum.FuncnrEnum funcnrEnum = OftenEnum.FuncnrEnum.物料数据; String funcnr = funcnrEnum.getFuncnr(); //防止缓存数据丢失 String key = "erp" + funcnrEnum.getFuncnr(); - if (myRedisConfig.getRedisCache(key)==null) { + if (myRedisConfig.getRedisCache(key) == null) { initialize(key); } @@ -138,7 +183,7 @@ public class ErpMaterialServiceImpl implements ErpMaterialService { } // 2. 处理公司数据,区分新增和更新 - ProcessingResult result = processData(dataArray,funcnrEnum); + ProcessingResult result = processData(dataArray, funcnrEnum); // 3. 批量保存数据 saveData(result); @@ -154,7 +199,7 @@ public class ErpMaterialServiceImpl implements ErpMaterialService { */ private ProcessingResult processData(JSONArray dataArray, OftenEnum.FuncnrEnum funcnr) { String key = "erp" + funcnr.getFuncnr(); - Map> numbers = myRedisConfig.numbers(dataArray, key,funcnr.getDatakey()); + Map> numbers = myRedisConfig.numbers(dataArray, key, funcnr.getDatakey()); List allnumbers = numbers.get("all"); List comnumbers = numbers.get("com"); List toUpdate = new ArrayList<>(); @@ -168,7 +213,7 @@ public class ErpMaterialServiceImpl implements ErpMaterialService { DO.setDownCenterNumber(number); DO.setCenterNumber(dataJson.getString("BISMT")); if (!dataJson.getString("ERSDA").equals("0000-00-00")) { - DO.setCreateDate(LocalDateTime.parse(dataJson.getString("ERSDA")+"T00:00:00")); + DO.setCreateDate(LocalDateTime.parse(dataJson.getString("ERSDA") + "T00:00:00")); } DO.setMaterialType(dataJson.getString("MTART")); DO.setMaterialGroupDate(dataJson.getString("MATKL")); @@ -192,7 +237,7 @@ public class ErpMaterialServiceImpl implements ErpMaterialService { } } - return new ProcessingResult(toUpdate, toInsert,key,allnumbers); + return new ProcessingResult(toUpdate, toInsert, key, allnumbers); } /** @@ -206,7 +251,7 @@ public class ErpMaterialServiceImpl implements ErpMaterialService { if (!result.toUpdate.isEmpty()) { erpMaterialMapper.updateBatchByNumber(result.toUpdate); } - myRedisConfig.updateRedisCache(result.key,result.allnumbers); + myRedisConfig.updateRedisCache(result.key, result.allnumbers); } /** @@ -218,7 +263,7 @@ public class ErpMaterialServiceImpl implements ErpMaterialService { private final String key; private final List allnumbers; - public ProcessingResult(List toUpdate, List toInsert,String key,List allnumbers) { + public ProcessingResult(List toUpdate, List toInsert, String key, List allnumbers) { this.toUpdate = toUpdate; this.toInsert = toInsert; this.key = key; @@ -228,7 +273,7 @@ public class ErpMaterialServiceImpl implements ErpMaterialService { private void initialize(String key) { List existingNumbers = erpMaterialMapper.selectList(new LambdaQueryWrapperX()) - .stream( ) + .stream() .filter(ErpMaterialDO -> ErpMaterialDO.getType().equals("ERP")) .map(ErpMaterialDO::getDownCenterNumber) .collect(Collectors.toList()); diff --git a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpWarehouseService.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpWarehouseService.java index 79c5a09..9a52a72 100644 --- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpWarehouseService.java +++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpWarehouseService.java @@ -62,4 +62,6 @@ public interface ErpWarehouseService { PageResult getErpWarehousePage(ErpWarehousePageReqVO pageReqVO); void callErpRfcInterface(); + + void enableWarehouseList(List saveReqVOS); } \ 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/ErpWarehouseServiceImpl.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpWarehouseServiceImpl.java index f7028bf..dff374d 100644 --- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpWarehouseServiceImpl.java +++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpWarehouseServiceImpl.java @@ -7,6 +7,7 @@ import com.xxl.job.core.handler.annotation.XxlJob; import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.framework.common.util.object.BeanUtils; import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.zt.plat.module.erp.dal.dataobject.erp.ErpFactoryDO; import com.zt.plat.module.erp.utils.ErpConfig; import com.zt.plat.module.erp.utils.MyRedisConfig; import com.zt.plat.module.erp.enums.OftenEnum; @@ -16,6 +17,7 @@ import com.zt.plat.module.erp.controller.admin.erp.vo.ErpWarehouseSaveReqVO; import com.zt.plat.module.erp.dal.dataobject.erp.ErpWarehouseDO; import com.zt.plat.module.erp.dal.mysql.erp.ErpWarehouseMapper; import jakarta.annotation.Resource; +import org.apache.ibatis.executor.BatchResult; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; @@ -49,11 +51,28 @@ public class ErpWarehouseServiceImpl implements ErpWarehouseService { @Override public ErpWarehouseRespVO createErpWarehouse(ErpWarehouseSaveReqVO createReqVO) { + // 校验存在 + validateErpFactoryExistsNumber(createReqVO.getNumber(), createReqVO.getFactoryNumber()); // 插入 - ErpWarehouseDO erpWarehouse = BeanUtils.toBean(createReqVO, ErpWarehouseDO.class); - erpWarehouseMapper.insert(erpWarehouse); + ErpWarehouseDO warehouse = BeanUtils.toBean(createReqVO, ErpWarehouseDO.class); + // 库位编码自动生成,格式 KW-0001,依次新增 + if (warehouse.getNumber() == null) { + String maxCode = erpWarehouseMapper.selectMaxCode(); + if (maxCode == null) { + warehouse.setNumber("KW-0001"); + } else { + String prefix = "KW-"; + String numberPart = maxCode.substring(prefix.length()); + int nextNumber = Integer.parseInt(numberPart) + 1; + String nextCode = prefix + String.format("%04d", nextNumber); + warehouse.setNumber(nextCode); + } + } + warehouse.setType("SPLY"); + warehouse.setIsEnable("1"); + erpWarehouseMapper.insert(warehouse); // 返回 - return BeanUtils.toBean(erpWarehouse, ErpWarehouseRespVO.class); + return BeanUtils.toBean(warehouse, ErpWarehouseRespVO.class); } @Override @@ -62,7 +81,11 @@ public class ErpWarehouseServiceImpl implements ErpWarehouseService { validateErpWarehouseExists(updateReqVO.getId()); // 更新 ErpWarehouseDO updateObj = BeanUtils.toBean(updateReqVO, ErpWarehouseDO.class); - erpWarehouseMapper.updateById(updateObj); + if (updateObj.getType().equals("SPLY") && updateObj.getIsEnable().equals("0")) { + erpWarehouseMapper.updateById(updateObj); + } else { + throw exception(ERP_WAREHOUSE_NOT_ALLOW_UPDATE); + } } @Override @@ -94,14 +117,52 @@ public class ErpWarehouseServiceImpl implements ErpWarehouseService { } } + private void validateErpFactoryExistsNumber(String number, String factoryNumber) { + List list = erpWarehouseMapper.selectList(new LambdaQueryWrapperX()).stream() + .filter(erpWarehouseDO -> erpWarehouseDO.getNumber().equals(number)) + .filter(erpWarehouseDO -> erpWarehouseDO.getFactoryNumber().equals(factoryNumber)) + .toList(); + if (!list.isEmpty()) { + throw exception(ERP_WAREHOUSE_EXISTS); + } + } + @Override public ErpWarehouseDO getErpWarehouse(Long id) { return erpWarehouseMapper.selectById(id); } + @Override + public void enableWarehouseList(List saveReqVOS) { + List updateObj = BeanUtils.toBean(saveReqVOS, ErpWarehouseDO.class); + List count = erpWarehouseMapper.updateById(updateObj); + if (CollUtil.isEmpty(count)) { + throw exception(ERP_WAREHOUSE_NOT_EXISTS); + } + } + + @Override public PageResult getErpWarehousePage(ErpWarehousePageReqVO pageReqVO) { - return erpWarehouseMapper.selectPage(pageReqVO); + // 获取分页数据 + List list = erpWarehouseMapper.getPageByReq(pageReqVO); + if (list == null) { + list = CollUtil.newArrayList(); + } + // 分页处理 + int pageNo = pageReqVO.getPageNo(); + int pageSize = pageReqVO.getPageSize(); + int total = list.size(); + // 计算分页起始和结束位置 + int fromIndex = (pageNo - 1) * pageSize; + int toIndex = Math.min(fromIndex + pageSize, total); + // 如果起始位置超出范围,则返回空列表 + if (fromIndex >= total) { + return new PageResult<>(new ArrayList<>(), (long) total); + } + // 截取当前页数据 + List pageList = list.subList(fromIndex, toIndex); + return new PageResult<>(pageList, (long) total); } @Override @@ -142,7 +203,7 @@ public class ErpWarehouseServiceImpl implements ErpWarehouseService { } dataArrayALL.addAll(dataArray); } - if (dataArrayALL.isEmpty()){ + if (dataArrayALL.isEmpty()) { throw exception(ERP_WAREHOUSE_NOT_EXISTS); } @@ -191,7 +252,7 @@ public class ErpWarehouseServiceImpl implements ErpWarehouseService { Map deleteNumbers = new HashMap<>(); for (String number : numbers.keySet()) { if (!dataArrayNumbers.contains(number)) { - deleteNumbers.put(number,numbers.get(number)); + deleteNumbers.put(number, numbers.get(number)); } } @@ -213,7 +274,7 @@ public class ErpWarehouseServiceImpl implements ErpWarehouseService { ); Map numberIdMap = insertedRecords.stream() .collect(Collectors.toMap(asset -> asset.getFactoryNumber() + "-" + asset.getNumber(), ErpWarehouseDO::getId)); - myRedisConfig.addRedisCacheMap(result.key,numberIdMap); + myRedisConfig.addRedisCacheMap(result.key, numberIdMap); } if (!result.toUpdate.isEmpty()) { erpWarehouseMapper.updateBatch(result.toUpdate); diff --git a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/utils/ErpConfig.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/utils/ErpConfig.java index 114ccda..2548206 100644 --- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/utils/ErpConfig.java +++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/utils/ErpConfig.java @@ -5,10 +5,8 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.zt.plat.module.erp.api.dto.ErpSubmitReqDTO; -import jakarta.annotation.Resource; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Configuration; -import org.springframework.data.redis.core.RedisTemplate; import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; import org.springframework.http.MediaType; @@ -16,7 +14,6 @@ import org.springframework.http.ResponseEntity; import org.springframework.web.client.RestTemplate; import java.util.*; -import java.util.stream.Collectors; import static com.zt.plat.framework.common.exception.util.ServiceExceptionUtil.exception; import static com.zt.plat.module.erp.enums.ErrorCodeConstants.*; @@ -25,7 +22,6 @@ import static dm.jdbc.util.DriverUtil.log; @Configuration public class ErpConfig { - @Value("${erp.address}") private String erpAddress; diff --git a/zt-module-erp/zt-module-erp-server/src/main/resources/mapper/ErpFactoryMapper.xml b/zt-module-erp/zt-module-erp-server/src/main/resources/mapper/ErpFactoryMapper.xml index baadafd..36139fc 100644 --- a/zt-module-erp/zt-module-erp-server/src/main/resources/mapper/ErpFactoryMapper.xml +++ b/zt-module-erp/zt-module-erp-server/src/main/resources/mapper/ErpFactoryMapper.xml @@ -10,27 +10,35 @@ --> \ No newline at end of file diff --git a/zt-module-erp/zt-module-erp-server/src/main/resources/mapper/ErpMaterialMapper.xml b/zt-module-erp/zt-module-erp-server/src/main/resources/mapper/ErpMaterialMapper.xml index 458ea05..44c148f 100644 --- a/zt-module-erp/zt-module-erp-server/src/main/resources/mapper/ErpMaterialMapper.xml +++ b/zt-module-erp/zt-module-erp-server/src/main/resources/mapper/ErpMaterialMapper.xml @@ -33,5 +33,21 @@ WHERE DOWN_CTR_NUM = #{item.downCenterNumber} + + + + + diff --git a/zt-module-erp/zt-module-erp-server/src/main/resources/mapper/ErpWarehouseMapper.xml b/zt-module-erp/zt-module-erp-server/src/main/resources/mapper/ErpWarehouseMapper.xml index 533eb39..4308b67 100644 --- a/zt-module-erp/zt-module-erp-server/src/main/resources/mapper/ErpWarehouseMapper.xml +++ b/zt-module-erp/zt-module-erp-server/src/main/resources/mapper/ErpWarehouseMapper.xml @@ -9,4 +9,36 @@ 文档可见:https://www.iocoder.cn/MyBatis/x-plugins/ --> + + + \ No newline at end of file