From 7f1a89eb61d60caf627f9b385579ccf5f488fa1b Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Thu, 18 Jun 2026 13:34:47 +0800 Subject: [PATCH] =?UTF-8?q?feat(furnace-plan):=20=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E5=90=88=E5=90=8CID=E5=AD=97=E6=AE=B5=E5=B9=B6=E5=AE=9E?= =?UTF-8?q?=E7=8E=B0=E5=90=88=E5=90=8C=E5=85=B3=E8=81=94=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 WmsFurnacePlanLocationItemBo 中新增 contractId 字段 - 实现合同ID映射关系构建和数据流转 - 移除二维码步骤类型的空值检查条件 - 完成合同信息在退火加工流程中的传递 --- .../com/klp/domain/bo/WmsFurnacePlanLocationItemBo.java | 5 +++++ .../com/klp/service/impl/WmsFurnacePlanServiceImpl.java | 8 ++++++++ .../com/klp/service/impl/WmsMaterialCoilServiceImpl.java | 2 +- 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/klp-wms/src/main/java/com/klp/domain/bo/WmsFurnacePlanLocationItemBo.java b/klp-wms/src/main/java/com/klp/domain/bo/WmsFurnacePlanLocationItemBo.java index 2498f498..6ac9c7f6 100644 --- a/klp-wms/src/main/java/com/klp/domain/bo/WmsFurnacePlanLocationItemBo.java +++ b/klp-wms/src/main/java/com/klp/domain/bo/WmsFurnacePlanLocationItemBo.java @@ -18,4 +18,9 @@ public class WmsFurnacePlanLocationItemBo { @NotNull(message = "逻辑库位不能为空") private Long warehouseId; + + /** + * 合同ID + */ + private Long contractId; } diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsFurnacePlanServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsFurnacePlanServiceImpl.java index b2698a58..a609b4a5 100644 --- a/klp-wms/src/main/java/com/klp/service/impl/WmsFurnacePlanServiceImpl.java +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsFurnacePlanServiceImpl.java @@ -380,6 +380,13 @@ public class WmsFurnacePlanServiceImpl implements IWmsFurnacePlanService { .collect(java.util.stream.Collectors.toMap(com.klp.domain.bo.WmsFurnacePlanLocationItemBo::getCoilId, com.klp.domain.bo.WmsFurnacePlanLocationItemBo::getWarehouseId, (a, b) -> a)); + java.util.Map contractIdMap = locations.stream() + .filter(l -> l.getContractId() != null) + .collect(java.util.stream.Collectors.toMap( + com.klp.domain.bo.WmsFurnacePlanLocationItemBo::getCoilId, + com.klp.domain.bo.WmsFurnacePlanLocationItemBo::getContractId, + (a, b) -> a)); + for (WmsFurnacePlanCoilVo coil : coils) { Long targetLocation = locationMap.get(coil.getCoilId()); if (targetLocation == null) { @@ -407,6 +414,7 @@ public class WmsFurnacePlanServiceImpl implements IWmsFurnacePlanService { updateBo.setStatus(0); updateBo.setExportBy(null); updateBo.setExportTime(null); + updateBo.setContractId(contractIdMap.get(coil.getCoilId())); materialCoilService.updateByBo(updateBo, "annealing"); diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsMaterialCoilServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsMaterialCoilServiceImpl.java index f236b436..cd1aa521 100644 --- a/klp-wms/src/main/java/com/klp/service/impl/WmsMaterialCoilServiceImpl.java +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsMaterialCoilServiceImpl.java @@ -2044,7 +2044,7 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService { // } // 加工操作必须绑定合同 - if (bo.getContractId() == null && StringUtils.isBlank(qrcodeStepType)) { + if (bo.getContractId() == null) { throw new RuntimeException("未填写合同"); }