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 fe20ea7f..cb448324 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 @@ -1135,6 +1135,27 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService { } } + // 简单更新:记录调拨日志(operationType=3) + // 如果老的和新的实际库区相等则不用创建记录 + Long oldActualWarehouseId = oldCoil.getActualWarehouseId(); + Long newActualWarehouseId = bo.getActualWarehouseId(); + if (!Objects.equals(oldActualWarehouseId, newActualWarehouseId)) { + // 如果以前有真实库区,加一条调拨的出库记录 + if (oldActualWarehouseId != null && oldActualWarehouseId != -1L) { + recordWarehouseOperationLog(bo.getCoilId(), oldActualWarehouseId, 3, 2, "简单更新-调拨出库"); + } + // 如果前端传了新的(非-1表示入库,-1表示置空出库) + if (newActualWarehouseId != null) { + if (newActualWarehouseId == -1L) { + // 传-1置空,算出库 + recordWarehouseOperationLog(bo.getCoilId(), oldActualWarehouseId, 3, 2, "简单更新-调拨出库"); + } else { + // 有新库区,算入库 + recordWarehouseOperationLog(bo.getCoilId(), newActualWarehouseId, 3, 1, "简单更新-调拨入库"); + } + } + } + return flag; } @@ -1208,6 +1229,31 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService { if (bo.getActualWarehouseId() != null) { updateActualWarehouseEnableStatus(null, bo.getActualWarehouseId()); } + + // 单个更新:记录加工日志(operationType=2) + // 老的实际库区存在则加一条加工出库记录(使用老钢卷ID) + // 新的实际库区存在则加一条加工入库记录(使用新钢卷ID) + // 新的传-1置空则算一条出库记录 + // 就算老的和新的实际库区相等也应该建两条,因为钢卷ID不一样 + Long oldActualWarehouseId = oldCoil.getActualWarehouseId(); + Long newActualWarehouseId = bo.getActualWarehouseId(); + + // 老的实际库区存在,加一条加工出库记录 + if (oldActualWarehouseId != null && oldActualWarehouseId != -1L) { + recordWarehouseOperationLog(oldCoil.getCoilId(), oldActualWarehouseId, 2, 2, "单个更新-加工出库"); + } + // 新的实际库区存在,加一条加工入库记录(传-1置空时算出库) + if (newActualWarehouseId != null) { + if (newActualWarehouseId == -1L) { + // 传-1置空,算出库(使用老钢卷ID和老的库区) + if (oldActualWarehouseId != null && oldActualWarehouseId != -1L) { + recordWarehouseOperationLog(oldCoil.getCoilId(), oldActualWarehouseId, 2, 2, "单个更新-加工出库"); + } + } else { + // 有新库区,算入库 + recordWarehouseOperationLog(newCoil.getCoilId(), newActualWarehouseId, 2, 1, "单个更新-加工入库"); + } + } } return flag; @@ -1432,6 +1478,20 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService { } } + // 分卷操作:记录加工日志(operationType=2) + // 老的实际库区存在则加一条加工出库记录 + Long oldSplitActualWarehouseId = oldCoil.getActualWarehouseId(); + if (oldSplitActualWarehouseId != null && oldSplitActualWarehouseId != -1L) { + recordWarehouseOperationLog(oldCoil.getCoilId(), oldSplitActualWarehouseId, 2, 2, "分卷操作-加工出库"); + } + // 为每个子钢卷的实际库区加一条加工入库记录(有的加,没有不加) + for (WmsMaterialCoil childCoil : newCoils) { + Long childActualWarehouseId = childCoil.getActualWarehouseId(); + if (childActualWarehouseId != null && childActualWarehouseId != -1L) { + recordWarehouseOperationLog(childCoil.getCoilId(), childActualWarehouseId, 2, 1, "分卷操作-加工入库"); + } + } + } else if (isMerge) { // 合卷:将bo作为合卷后的新钢卷,newCoils中的对象作为参与合卷的原始钢卷 // 1. 将参与合卷的原始钢卷的二维码标记为失效,并将钢卷标记为历史数据 @@ -1528,6 +1588,23 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService { enableWarehouseBo.setIsEnabled(0); // 设置为禁用状态 actualWarehouseService.updateByBo(enableWarehouseBo); } + + // 合卷操作:记录加工日志(operationType=2) + // 为每个参与合卷的原始钢卷加一条加工出库记录 + for (WmsMaterialCoilBo originalCoilBo : bo.getNewCoils()) { + if (originalCoilBo.getCoilId() != null) { + WmsMaterialCoil originalCoil = baseMapper.selectById(originalCoilBo.getCoilId()); + if (originalCoil != null && originalCoil.getActualWarehouseId() != null + && originalCoil.getActualWarehouseId() != -1L) { + recordWarehouseOperationLog(originalCoil.getCoilId(), originalCoil.getActualWarehouseId(), 2, 2, "合卷操作-加工出库"); + } + } + } + // 为新合卷的钢卷加一条加工入库记录 + Long mergeNewActualWarehouseId = bo.getActualWarehouseId(); + if (mergeNewActualWarehouseId != null && mergeNewActualWarehouseId != -1L) { + recordWarehouseOperationLog(newCoil.getCoilId(), mergeNewActualWarehouseId, 2, 1, "合卷操作-加工入库"); + } } return true; @@ -4024,6 +4101,20 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService { completePendingBo.setCompleteTime(new Date()); coilPendingActionService.updateByBo(completePendingBo); + // 7.1 单步分卷完成:记录加工日志(operationType=2) + // 老的实际库区存在则加一条加工出库记录 + Long parentActualWarehouseId = parentCoil.getActualWarehouseId(); + if (parentActualWarehouseId != null && parentActualWarehouseId != -1L) { + recordWarehouseOperationLog(parentCoilId, parentActualWarehouseId, 2, 2, "单步分卷完成-加工出库"); + } + // 为每个子钢卷的实际库区加一条加工入库记录(有的加,没有不加) + for (WmsMaterialCoil childCoil : childCoils) { + Long childActualWarehouseId = childCoil.getActualWarehouseId(); + if (childActualWarehouseId != null && childActualWarehouseId != -1L) { + recordWarehouseOperationLog(childCoil.getCoilId(), childActualWarehouseId, 2, 1, "单步分卷完成-加工入库"); + } + } + // 8. 返回结果 result.put("success", true); result.put("parentCoilId", parentCoilId);