From df65d8a0210a3aaaab092cf286a71032bc90d807 Mon Sep 17 00:00:00 2001 From: 86156 <823267011@qq.com> Date: Tue, 11 Nov 2025 09:20:09 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=89=E7=BA=A7=E9=A1=B5=E9=9D=A2=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/WmsMaterialCoilServiceImpl.java | 40 ++++++++++++++++--- 1 file changed, 35 insertions(+), 5 deletions(-) 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 987dd107..aa8b62af 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 @@ -364,7 +364,7 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService { } /** - * 单个更新(正常更新,不产生新记录,二维码不变) + * 单个更新(正常更新,记录历史变更) */ private Boolean updateBySingle(WmsMaterialCoilBo bo) { // 查询原钢卷 @@ -400,7 +400,9 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService { if (flag) { // 更新二维码内容(添加新的step) - updateQrcodeContentForNormalUpdate(oldCoil, bo); + if (oldCoil.getQrcodeRecordId() != null) { + updateQrcodeContentForNormalUpdate(oldCoil, bo); + } } return flag; @@ -866,18 +868,46 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService { Map newStep = new HashMap<>(); newStep.put("step", steps.size() + 1); newStep.put("action", "更新"); - newStep.put("operation", "更新"); + newStep.put("operation", "信息更新"); newStep.put("old_current_coil_no", oldCoil.getCurrentCoilNo()); newStep.put("new_current_coil_no", bo.getCurrentCoilNo()); - newStep.put("coil_id", String.valueOf(bo.getCoilId())); + newStep.put("old_coil_id", String.valueOf(oldCoil.getCoilId())); newStep.put("operator", LoginHelper.getUsername()); + + // 记录具体的变更字段 + List changedFields = new ArrayList<>(); + if (bo.getCurrentCoilNo() != null && !bo.getCurrentCoilNo().equals(oldCoil.getCurrentCoilNo())) { + changedFields.add("钢卷号: " + oldCoil.getCurrentCoilNo() + " → " + bo.getCurrentCoilNo()); + } + if (bo.getTeam() != null && !bo.getTeam().equals(oldCoil.getTeam())) { + changedFields.add("班组: " + oldCoil.getTeam() + " → " + bo.getTeam()); + } + if (bo.getWarehouseId() != null && !bo.getWarehouseId().equals(oldCoil.getWarehouseId())) { + changedFields.add("逻辑库区ID: " + oldCoil.getWarehouseId() + " → " + bo.getWarehouseId()); + } + if (bo.getActualWarehouseId() != null && !bo.getActualWarehouseId().equals(oldCoil.getActualWarehouseId())) { + changedFields.add("真实库区ID: " + oldCoil.getActualWarehouseId() + " → " + bo.getActualWarehouseId()); + } + if (bo.getGrossWeight() != null && !bo.getGrossWeight().equals(oldCoil.getGrossWeight())) { + changedFields.add("毛重: " + oldCoil.getGrossWeight() + " → " + bo.getGrossWeight()); + } + if (bo.getNetWeight() != null && !bo.getNetWeight().equals(oldCoil.getNetWeight())) { + changedFields.add("净重: " + oldCoil.getNetWeight() + " → " + bo.getNetWeight()); + } + if (bo.getRemark() != null && !bo.getRemark().equals(oldCoil.getRemark())) { + changedFields.add("备注: " + oldCoil.getRemark() + " → " + bo.getRemark()); + } + + newStep.put("changed_fields", String.join("; ", changedFields)); newStep.put("update_time", new java.util.Date()); steps.add(newStep); contentMap.put("steps", steps); // 更新当前钢卷号 - contentMap.put("current_coil_no", bo.getCurrentCoilNo()); + if (bo.getCurrentCoilNo() != null) { + contentMap.put("current_coil_no", bo.getCurrentCoilNo()); + } // current_coil_id保持不变(因为coilId没有变化)