From 287ec65de40bec1fa29ecdb836f1ab408404287a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=BD=98=E8=8D=A3=E6=99=9F?= <9691125+pan-rongsheng@user.noreply.gitee.com> Date: Mon, 9 Feb 2026 14:18:14 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A7=94=E6=89=98=E5=8A=A0=E5=B7=A5=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E5=8F=91=E8=B4=A7=E5=B7=A5=E5=8E=82=E5=AD=97=E6=AE=B5?= =?UTF-8?q?=E5=92=8C=E6=98=8E=E7=BB=86=E6=B7=BB=E5=8A=A0=E9=87=91=E5=B1=9E?= =?UTF-8?q?=E5=85=83=E7=B4=A0=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../contractorder/enums/ErpConstants.java | 3 ++ .../vo/EntrustOrderDetailPageReqVO.java | 6 ++++ .../vo/EntrustOrderDetailRespVO.java | 9 ++++++ .../vo/EntrustOrderDetailSaveReqVO.java | 7 +++++ .../vo/EntrustOrderOrderPageReqVO.java | 8 +++++ .../vo/EntrustOrderOrderRespVO.java | 12 ++++++++ .../vo/EntrustOrderOrderSaveReqVO.java | 9 +++++- .../entrustorder/EntrustOrderDetailDO.java | 16 ++++++++++ .../entrustorder/EntrustOrderOrderDO.java | 22 ++++++++++++++ .../EntrustOrderDetailServiceImpl.java | 30 +++++++++++-------- .../PurchaseOrderServiceImpl.java | 17 ++++++----- 11 files changed, 117 insertions(+), 22 deletions(-) diff --git a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/enums/ErpConstants.java b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/enums/ErpConstants.java index e1d54b5d..8f433489 100644 --- a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/enums/ErpConstants.java +++ b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/enums/ErpConstants.java @@ -17,4 +17,7 @@ public class ErpConstants { public static final String SALES_DOCUMENT_REQUEST_FLAG_D = "D";//删除 public static final String SALES_DOCUMENT_REQUEST_FLAG_I = "I";//插入 public static final String CONSTANTS_L = "L";//科目类别L + public static final String TOKEN_ = "-";//连接标识 + public static final String DATE_FORMAT_YYYYMMDD = "yyyyMMdd"; + public static final String MTRL_ZHONGTONG_CODE = "mtrlZhongtongCode"; } diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/entrustorder/vo/EntrustOrderDetailPageReqVO.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/entrustorder/vo/EntrustOrderDetailPageReqVO.java index cf9e1e42..0c19390b 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/entrustorder/vo/EntrustOrderDetailPageReqVO.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/entrustorder/vo/EntrustOrderDetailPageReqVO.java @@ -103,5 +103,11 @@ public class EntrustOrderDetailPageReqVO extends PageParam { private BigDecimal recoveryRate; @Schema(description = "行项目号") private Integer lineNumber; + @Schema(description = "金属元素缩写") + private String elementAbbreviation; + @Schema(description = "金属元素名称") + private String elementName; + @Schema(description = "金属元素编码") + private String elementNumber; } \ 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/entrustorder/vo/EntrustOrderDetailRespVO.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/entrustorder/vo/EntrustOrderDetailRespVO.java index 754d631d..7e91a140 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/entrustorder/vo/EntrustOrderDetailRespVO.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/entrustorder/vo/EntrustOrderDetailRespVO.java @@ -142,5 +142,14 @@ public class EntrustOrderDetailRespVO { @Schema(description = "删除标识") @ExcelProperty("删除标识") private Boolean deleted; + @ExcelProperty("金属元素缩写") + @Schema(description = "金属元素缩写") + private String elementAbbreviation; + @ExcelProperty("金属元素名称") + @Schema(description = "金属元素名称") + private String elementName; + @ExcelProperty("金属元素编码") + @Schema(description = "金属元素编码") + private String elementNumber; } \ 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/entrustorder/vo/EntrustOrderDetailSaveReqVO.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/entrustorder/vo/EntrustOrderDetailSaveReqVO.java index fb3557da..e141b02c 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/entrustorder/vo/EntrustOrderDetailSaveReqVO.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/entrustorder/vo/EntrustOrderDetailSaveReqVO.java @@ -105,4 +105,11 @@ public class EntrustOrderDetailSaveReqVO { private BigDecimal recoveryRate; @Schema(description = "行项目号") private Integer lineNumber; + + @Schema(description = "金属元素缩写") + private String elementAbbreviation; + @Schema(description = "金属元素名称") + private String elementName; + @Schema(description = "金属元素编码") + private String elementNumber; } \ 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/entrustorder/vo/EntrustOrderOrderPageReqVO.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/entrustorder/vo/EntrustOrderOrderPageReqVO.java index db20f377..47d8016b 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/entrustorder/vo/EntrustOrderOrderPageReqVO.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/entrustorder/vo/EntrustOrderOrderPageReqVO.java @@ -130,5 +130,13 @@ public class EntrustOrderOrderPageReqVO extends PageParam { @Schema(description = "物料类型", example = "张三") private String mtrlTp; + @Schema(description = "发货工厂名称", example = "张三") + private String sendFactoryName; + @Schema(description = "发货工厂编码", example = "张三") + private String sendFactoryNumber; + @Schema(description = "发货库位名称", example = "张三") + private String sendWarehouseName; + @Schema(description = "发货库位编码", example = "张三") + private String sendWarehouseNumber; } \ 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/entrustorder/vo/EntrustOrderOrderRespVO.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/entrustorder/vo/EntrustOrderOrderRespVO.java index 1b5a39a2..447ef01a 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/entrustorder/vo/EntrustOrderOrderRespVO.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/entrustorder/vo/EntrustOrderOrderRespVO.java @@ -175,4 +175,16 @@ public class EntrustOrderOrderRespVO { @ExcelProperty("物料类型") @Schema(description = "物料类型", example = "张三") private String mtrlTp; + @ExcelProperty("发货工厂名称") + @Schema(description = "发货工厂名称", example = "张三") + private String sendFactoryName; + @ExcelProperty("发货工厂编码") + @Schema(description = "发货工厂编码", example = "张三") + private String sendFactoryNumber; + @ExcelProperty("发货库位名称") + @Schema(description = "发货库位名称", example = "张三") + private String sendWarehouseName; + @ExcelProperty("发货库位编码") + @Schema(description = "发货库位编码", example = "张三") + private String sendWarehouseNumber; } \ 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/entrustorder/vo/EntrustOrderOrderSaveReqVO.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/entrustorder/vo/EntrustOrderOrderSaveReqVO.java index e96ce7ef..f0fb664b 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/entrustorder/vo/EntrustOrderOrderSaveReqVO.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/entrustorder/vo/EntrustOrderOrderSaveReqVO.java @@ -151,5 +151,12 @@ public class EntrustOrderOrderSaveReqVO { @Schema(description = "物料类型", example = "张三") private String mtrlTp; - + @Schema(description = "发货工厂名称", example = "张三") + private String sendFactoryName; + @Schema(description = "发货工厂编码", example = "张三") + private String sendFactoryNumber; + @Schema(description = "发货库位名称", example = "张三") + private String sendWarehouseName; + @Schema(description = "发货库位编码", example = "张三") + private String sendWarehouseNumber; } \ 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/entrustorder/EntrustOrderDetailDO.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/dal/dataobject/entrustorder/EntrustOrderDetailDO.java index cce9e98b..4677b5fd 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/dal/dataobject/entrustorder/EntrustOrderDetailDO.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/dal/dataobject/entrustorder/EntrustOrderDetailDO.java @@ -176,4 +176,20 @@ public class EntrustOrderDetailDO extends BusinessBaseDO { @TableField("LINE_NUM") private Integer lineNumber; + + /** + * 金属元素缩写 + */ + @TableField("ELEM_ABBR") + private String elementAbbreviation; + /** + * 金属元素名称 + */ + @TableField("ELEM_NAME") + private String elementName; + /** + * 金属元素编码 + */ + @TableField("ELEM_NUM") + private String elementNumber; } \ 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/entrustorder/EntrustOrderOrderDO.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/dal/dataobject/entrustorder/EntrustOrderOrderDO.java index 34db2567..c6095bcb 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/dal/dataobject/entrustorder/EntrustOrderOrderDO.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/dal/dataobject/entrustorder/EntrustOrderOrderDO.java @@ -230,4 +230,26 @@ public class EntrustOrderOrderDO extends BusinessBaseDO { */ @TableField("MTRL_TP") private String mtrlTp; + + /** + * 发货工厂名称 + */ + @TableField("SND_FACT_NAME") + private String sendFactoryName; + /** + * 发货工厂编码 + */ + @TableField("SND_FACT_NUM") + private String sendFactoryNumber; + + /** + * 发货库位名称 + */ + @TableField("SND_WRH_NAME") + private String sendWarehouseName; + /** + * 发货库位编码 + */ + @TableField("SND_WRH_NUM") + private String sendWarehouseNumber; } \ 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/service/entrustorder/EntrustOrderDetailServiceImpl.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/entrustorder/EntrustOrderDetailServiceImpl.java index aedfccf3..9a59f389 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/entrustorder/EntrustOrderDetailServiceImpl.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/entrustorder/EntrustOrderDetailServiceImpl.java @@ -57,6 +57,7 @@ public class EntrustOrderDetailServiceImpl implements EntrustOrderDetailService public EntrustOrderDetailRespVO createEntrustOrderDetail(EntrustOrderDetailSaveReqVO createReqVO) { // 插入 EntrustOrderDetailDO entrustOrderDetail = BeanUtils.toBean(createReqVO, EntrustOrderDetailDO.class); + setElemInfo(entrustOrderDetail); entrustOrderDetailMapper.insert(entrustOrderDetail); // 返回 return BeanUtils.toBean(entrustOrderDetail, EntrustOrderDetailRespVO.class); @@ -68,6 +69,7 @@ public class EntrustOrderDetailServiceImpl implements EntrustOrderDetailService validateEntrustOrderDetailExists(updateReqVO.getId()); // 更新 EntrustOrderDetailDO updateObj = BeanUtils.toBean(updateReqVO, EntrustOrderDetailDO.class); + setElemInfo(updateObj); entrustOrderDetailMapper.updateById(updateObj); } @@ -188,6 +190,7 @@ public class EntrustOrderDetailServiceImpl implements EntrustOrderDetailService @Override public List insertBatchSomeColumn(List entrustOrderOrderDetails) { List entrustOrderDetail = BeanUtils.toBean(entrustOrderOrderDetails, EntrustOrderDetailDO.class); + entrustOrderDetail.forEach(this::setElemInfo); entrustOrderDetailMapper.insertBatch(entrustOrderDetail); return BeanUtils.toBean(entrustOrderDetail, EntrustOrderDetailRespVO.class); } @@ -195,6 +198,7 @@ public class EntrustOrderDetailServiceImpl implements EntrustOrderDetailService @Override public void updateBatchSomeColumn(List entrustOrderOrderDetails) { List updateList = BeanUtils.toBean(entrustOrderOrderDetails, EntrustOrderDetailDO.class); + updateList.forEach(this::setElemInfo); entrustOrderDetailMapper.insertOrUpdate(updateList); } @@ -227,17 +231,17 @@ public class EntrustOrderDetailServiceImpl implements EntrustOrderDetailService return mtrlZhongtongCode; } -// private void setElemInfo(EntrustOrderDetailDO entrustOrderDetailDO) { -// if (entrustOrderDetailDO.getElemAbbr() == null) { -// return; -// } -// ElementDO elementBySymbol = elementService.getElementBySymbol(entrustOrderDetailDO.getElemAbbr()); -// if (elementBySymbol != null) { -// entrustOrderDetailDO.setElemName(elementBySymbol.getName()); -// entrustOrderDetailDO.setElemCdg(elementBySymbol.getCoding()); -// } else { -// log.warn("元素【{}】不存在,订单ID【{}】", entrustOrderDetailDO.getElemAbbr(), entrustOrderDetailDO.getOrdId()); -// } -// -// } + private void setElemInfo(EntrustOrderDetailDO entrustOrderDetailDO) { + if (entrustOrderDetailDO.getElementAbbreviation() == null) { + return; + } + ElementDO elementBySymbol = elementService.getElementBySymbol(entrustOrderDetailDO.getElementAbbreviation()); + if (elementBySymbol != null) { + entrustOrderDetailDO.setElementName(elementBySymbol.getName()); + entrustOrderDetailDO.setElementNumber(elementBySymbol.getCoding()); + } else { + log.warn("元素【{}】不存在,订单ID【{}】", entrustOrderDetailDO.getElementAbbreviation(), entrustOrderDetailDO.getOrderId()); + } + + } } \ 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/service/purchaseorder/PurchaseOrderServiceImpl.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/purchaseorder/PurchaseOrderServiceImpl.java index 514fb610..c2d26fb7 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/purchaseorder/PurchaseOrderServiceImpl.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/purchaseorder/PurchaseOrderServiceImpl.java @@ -58,6 +58,7 @@ import java.time.format.DateTimeFormatter; import java.util.*; import static com.zt.plat.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.zt.plat.module.contractorder.enums.ErpConstants.*; import static com.zt.plat.module.contractorder.enums.ErrorCodeConstants.CONTRACT_ORDER_EXISTS; import static com.zt.plat.module.contractorder.enums.purchaseorder.ErrorCodeConstants.*; import static com.zt.plat.module.receivedeliver.enums.ErrorCodeConstants.PURCHASE_ORDER_DETAIL_NOT_EXISTS; @@ -330,7 +331,7 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService { MaterialInfomationRespDTO materialInfomationRespDTO = materialInfomationPage.getData().getList().get(0); Map flatAttributes = materialInfomationRespDTO.getFlatAttributes(); //获取中铜物料编码 - String mtrlZhongtongCode = flatAttributes.getOrDefault("mtrlZhongtongCode", "").toString(); + String mtrlZhongtongCode = flatAttributes.getOrDefault(MTRL_ZHONGTONG_CODE, "").toString(); if (mtrlZhongtongCode.isEmpty()) { throw exception(MTRL_CODE_NOT_EXISTS); } @@ -346,7 +347,7 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService { item.setNet_price(detail.getInTaxUprc()); // 含税单价 -> 含税单价 item.setPrice_unit(detail.getPrcUnt() != null ? detail.getPrcUnt().intValue() : 1); // 价格单位 -> 价格单位 item.setTax_code(detail.getTaxNum()); // 税码 -> 税码 - item.setGr_basediv(detail.getIsGrInv()); // 是否基于GR的发票校验 -> 基于GR的发票校验 + // item.setGr_basediv(detail.getIsGrInv()); // 是否基于GR的发票校验 -> 基于GR的发票校验 item.setUnlimited_dlv(detail.getIsUnlRcv()); // 是否允许无限制收货 -> 允许无限制过量交货 item.setBatch(detail.getBat()); // 批次 -> 批次 item.setAcctasscat(detail.getActsCtgr()); // 科目分配类别 -> 科目分配类别 @@ -357,17 +358,17 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService { item.setVendrbatch(String.valueOf(detail.getOutLineNum())); // 外部行项目号 -> 外部行项目号 item.setNote_xq(detail.getRmkUnt()); // 备注信息-需求单位 -> 备注信息-需求单位 item.setNote_wl(detail.getRmkMtrl()); // 备注信息-物料详细 -> 备注信息-物料详细 - item.setGr_basediv("1");//TODO GR发票校验 + //item.setGr_basediv("1");//TODO GR发票校验 // 处理交货起止日期(格式:YYYYMMDD-YYYYMMDD) StringBuilder vendMat = new StringBuilder(); if (detail.getBgnDt() != null) { - vendMat.append(detail.getBgnDt().format(DateTimeFormatter.ofPattern("yyyyMMdd"))); + vendMat.append(detail.getBgnDt().format(DateTimeFormatter.ofPattern(DATE_FORMAT_YYYYMMDD))); } - vendMat.append("-"); + vendMat.append(TOKEN_); if (detail.getDdlDt() != null) { - vendMat.append(detail.getDdlDt().format(DateTimeFormatter.ofPattern("yyyyMMdd"))); + vendMat.append(detail.getDdlDt().format(DateTimeFormatter.ofPattern(DATE_FORMAT_YYYYMMDD))); } - item.setVend_mat(vendMat.toString()); + item.setVend_mat(TOKEN_.contentEquals(vendMat) ? null : vendMat.toString()); // 3.2 行项目扩展信息(Itex) ErpOrderSaveReqVO.Itex itex = new ErpOrderSaveReqVO.Itex(); itex.setZmatnr(detail.getSaleMtrlNum()); // 销售物料号 -> 销售物料号 @@ -612,7 +613,7 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService { MaterialInfomationRespDTO materialInfomationRespDTO = materialInfomationPage.getData().getList().get(0); Map flatAttributes = materialInfomationRespDTO.getFlatAttributes(); //获取中铜物料编码 - String mtrlZhongtongCode = flatAttributes.getOrDefault("mtrlZhongtongCode", "").toString(); + String mtrlZhongtongCode = flatAttributes.getOrDefault(MTRL_ZHONGTONG_CODE, "").toString(); if (mtrlZhongtongCode.isEmpty()) { throw exception(MTRL_CODE_NOT_EXISTS); }