From 2a4fc70b7271b5d2af64a81cbdad2928e8e23607 Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Thu, 19 Mar 2026 11:52:35 +0800 Subject: [PATCH] =?UTF-8?q?feat(wms):=20=E9=92=A2=E5=8D=B7=E5=8A=A0?= =?UTF-8?q?=E5=B7=A5=E6=97=B6=E6=B7=BB=E5=8A=A0=E5=BC=82=E5=B8=B8=E4=BF=A1?= =?UTF-8?q?=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 WmsMaterialCoilBo 中新增 abnormals 字段用于存储钢卷异常信息列表 - 注入 IWmsCoilAbnormalService 服务用于处理异常信息插入操作 - 在更新钢卷时同步插入关联的异常信息记录 - 在分卷操作中为子钢卷插入对应的异常信息 - 在合卷操作中为新钢卷插入合并的异常信息 - 在创建子钢卷时同时插入其异常信息记录 --- .../com/klp/domain/bo/WmsMaterialCoilBo.java | 5 +++ .../impl/WmsMaterialCoilServiceImpl.java | 35 +++++++++++++++++++ 2 files changed, 40 insertions(+) diff --git a/klp-wms/src/main/java/com/klp/domain/bo/WmsMaterialCoilBo.java b/klp-wms/src/main/java/com/klp/domain/bo/WmsMaterialCoilBo.java index 0861ca46..fba2faa8 100644 --- a/klp-wms/src/main/java/com/klp/domain/bo/WmsMaterialCoilBo.java +++ b/klp-wms/src/main/java/com/klp/domain/bo/WmsMaterialCoilBo.java @@ -314,5 +314,10 @@ public class WmsMaterialCoilBo extends BaseEntity { * 操作记录ID列表(逗号分隔,用于根据actionIds查询钢卷) */ private String actionIds; + + /** + * 钢卷异常信息列表(用于更新钢卷时同时插入异常信息) + */ + private List abnormals; } 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 f5f7faed..5164a25f 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 @@ -42,6 +42,7 @@ import com.klp.service.IWmsRawMaterialService; import com.klp.service.IWmsBomItemService; import com.klp.service.IWmsCoilPendingActionService; import com.klp.service.IWmsProductService; +import com.klp.service.IWmsCoilAbnormalService; import com.fasterxml.jackson.databind.ObjectMapper; import java.util.*; @@ -78,6 +79,7 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService { // private final WmsRawMaterialMapper rawMaterialMapper; private final WmsDeliveryWaybillDetailMapper deliveryWaybillDetailMapper; private final WmsCoilWarehouseOperationLogMapper wmsCoilWarehouseOperationLogMapper; + private final IWmsCoilAbnormalService coilAbnormalService; /** * 查询钢卷物料表 @@ -1323,6 +1325,14 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService { // 有新库区,算入库 recordWarehouseOperationLog(newCoil.getCoilId(), newActualWarehouseId, 2, 1, "单个更新-加工入库"); } + + // 插入钢卷异常信息 + if (bo.getAbnormals() != null && !bo.getAbnormals().isEmpty()) { + for (WmsCoilAbnormalBo abnormalBo : bo.getAbnormals()) { + abnormalBo.setCoilId(newCoil.getCoilId()); + coilAbnormalService.insertByBo(abnormalBo); + } + } } return flag; @@ -1536,6 +1546,14 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService { // 更新实际库区的启用状态 updateActualWarehouseEnableStatus(oldCoil.getActualWarehouseId(), newCoilBo.getActualWarehouseId()); + + // 插入子钢卷的异常信息 + if (newCoilBo.getAbnormals() != null && !newCoilBo.getAbnormals().isEmpty()) { + for (WmsCoilAbnormalBo abnormalBo : newCoilBo.getAbnormals()) { + abnormalBo.setCoilId(newCoil.getCoilId()); + coilAbnormalService.insertByBo(abnormalBo); + } + } } // 更新所有子钢卷二维码中的分卷步骤child_coil_ids List newCoilIds = newCoils.stream() @@ -1682,6 +1700,15 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService { if (mergeNewActualWarehouseId != null && mergeNewActualWarehouseId != -1L) { recordWarehouseOperationLog(newCoil.getCoilId(), mergeNewActualWarehouseId, 2, 1, "合卷操作-加工入库"); } + + // 插入合卷钢卷的异常信息 + if (bo.getAbnormals() != null && !bo.getAbnormals().isEmpty()) { + for (WmsCoilAbnormalBo abnormalBo : bo.getAbnormals()) { + abnormalBo.setCoilId(newCoil.getCoilId()); + coilAbnormalService.insertByBo(abnormalBo); + } + } + // 合卷完成后,设置新钢卷ID到bo对象中,方便外部获取 bo.setMergedCoilId(newCoil.getCoilId()); } @@ -4130,6 +4157,14 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService { childCoil.setParentCoilId(String.valueOf(parentCoilId)); baseMapper.insert(childCoil); + // 插入子钢卷的异常信息 + if (childCoilBo.getAbnormals() != null && !childCoilBo.getAbnormals().isEmpty()) { + for (WmsCoilAbnormalBo abnormalBo : childCoilBo.getAbnormals()) { + abnormalBo.setCoilId(childCoil.getCoilId()); + coilAbnormalService.insertByBo(abnormalBo); + } + } + updateActualWarehouseEnableStatus(null, childCoilBo.getActualWarehouseId()); // 8. 更新二维码中的coilId