feat(wms): 添加钢卷操作日志记录功能
- 在简单更新操作中添加调拨日志记录,区分入库和出库操作 - 在单个更新操作中添加加工日志记录,处理钢卷ID变化的情况 - 在分卷操作中添加加工日志记录,为原钢卷和子钢卷分别记录出入库 - 在合卷操作中添加加工日志记录,为参与合卷的钢卷记录出入库 - 在单步分卷完成操作中添加加工日志记录,确保完整流程追踪 - 根据实际库区变化判断是否需要记录操作日志,避免重复记录
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user