refactor(WmsMaterialCoilService): 移除废弃的二维码生成方法并优化库位更新逻辑
- 删除了generateQrcodeForUpdate方法,该方法已不再使用 - 简化了分卷操作后的库位状态更新逻辑 - 统一了实际库位启用状态更新的方法调用参数
This commit is contained in:
@@ -1238,79 +1238,6 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 生成二维码(更新时库区变化)
|
|
||||||
*/
|
|
||||||
private Long generateQrcodeForUpdate(WmsMaterialCoil oldCoil, WmsMaterialCoilBo bo) {
|
|
||||||
try {
|
|
||||||
// 1. 将原二维码标记为历史码(status = 0)
|
|
||||||
if (oldCoil.getQrcodeRecordId() != null) {
|
|
||||||
WmsGenerateRecordBo oldQrBo = new WmsGenerateRecordBo();
|
|
||||||
oldQrBo.setRecordId(oldCoil.getQrcodeRecordId());
|
|
||||||
oldQrBo.setStatus(0); // 0=历史码
|
|
||||||
generateRecordService.updateByBo(oldQrBo);
|
|
||||||
}
|
|
||||||
|
|
||||||
Map<String, Object> contentMap = new HashMap<>();
|
|
||||||
String currentCoilNo = bo.getCurrentCoilNo() != null ? bo.getCurrentCoilNo() : oldCoil.getCurrentCoilNo();
|
|
||||||
|
|
||||||
contentMap.put("enter_coil_no", oldCoil.getEnterCoilNo()); // 入场钢卷号(始终不变)
|
|
||||||
contentMap.put("current_coil_no", currentCoilNo); // 当前钢卷号
|
|
||||||
contentMap.put("coil_id", String.valueOf(oldCoil.getCoilId())); // 初始钢卷ID(记录最初的ID)
|
|
||||||
contentMap.put("current_coil_id", "null"); // 当前钢卷ID(更新时暂时为null,插入后更新)
|
|
||||||
|
|
||||||
// 复制原钢卷的历史steps
|
|
||||||
List<Map<String, Object>> steps = new ArrayList<>();
|
|
||||||
if (oldCoil.getQrcodeRecordId() != null) {
|
|
||||||
WmsGenerateRecordVo oldRecord = generateRecordService.queryById(oldCoil.getQrcodeRecordId());
|
|
||||||
if (oldRecord != null) {
|
|
||||||
ObjectMapper objectMapper = new ObjectMapper();
|
|
||||||
@SuppressWarnings("unchecked")
|
|
||||||
Map<String, Object> oldContentMap = objectMapper.readValue(oldRecord.getContent(), Map.class);
|
|
||||||
@SuppressWarnings("unchecked")
|
|
||||||
List<Map<String, Object>> oldSteps = (List<Map<String, Object>>) oldContentMap.get("steps");
|
|
||||||
if (oldSteps != null) {
|
|
||||||
steps.addAll(oldSteps);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 添加更新步骤(库区变化)
|
|
||||||
Map<String, Object> updateStep = new HashMap<>();
|
|
||||||
updateStep.put("step", steps.size() + 1);
|
|
||||||
updateStep.put("action", "更新");
|
|
||||||
updateStep.put("operation", "库区变更");
|
|
||||||
updateStep.put("old_warehouse_id", String.valueOf(oldCoil.getWarehouseId()));
|
|
||||||
updateStep.put("new_warehouse_id", String.valueOf(bo.getWarehouseId()));
|
|
||||||
//放入真实库区
|
|
||||||
updateStep.put("old_actual_warehouse_id", String.valueOf(oldCoil.getActualWarehouseId()));
|
|
||||||
updateStep.put("new_actual_warehouse_id", String.valueOf(bo.getActualWarehouseId()));
|
|
||||||
updateStep.put("old_coil_id", String.valueOf(oldCoil.getCoilId()));
|
|
||||||
updateStep.put("current_coil_no", currentCoilNo);
|
|
||||||
updateStep.put("operator", LoginHelper.getUsername()); // 操作者
|
|
||||||
steps.add(updateStep);
|
|
||||||
|
|
||||||
contentMap.put("steps", steps);
|
|
||||||
|
|
||||||
ObjectMapper objectMapper = new ObjectMapper();
|
|
||||||
String contentJson = objectMapper.writeValueAsString(contentMap);
|
|
||||||
|
|
||||||
// 2. 生成新的二维码(status = 1)
|
|
||||||
WmsGenerateRecordBo recordBo = new WmsGenerateRecordBo();
|
|
||||||
recordBo.setContent(contentJson);
|
|
||||||
recordBo.setSerialNumber(oldCoil.getEnterCoilNo() + "-W" + bo.getWarehouseId()); // 使用入场钢卷号+库区ID作为编号
|
|
||||||
recordBo.setQrcodeType(0L);
|
|
||||||
recordBo.setIsEnabled(0L);
|
|
||||||
recordBo.setSize(200L);
|
|
||||||
recordBo.setStatus(1); // 1=当前有效码
|
|
||||||
|
|
||||||
WmsGenerateRecordVo record = generateRecordService.insertByBo(recordBo);
|
|
||||||
return record.getRecordId();
|
|
||||||
} catch (Exception e) {
|
|
||||||
throw new RuntimeException("生成更新二维码失败: " + e.getMessage());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 检查钢卷是否被独占(用于单步分卷操作)
|
* 检查钢卷是否被独占(用于单步分卷操作)
|
||||||
* @param coilId 钢卷ID
|
* @param coilId 钢卷ID
|
||||||
@@ -3522,10 +3449,7 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService {
|
|||||||
validEntityBeforeSave(childCoil);
|
validEntityBeforeSave(childCoil);
|
||||||
baseMapper.insert(childCoil);
|
baseMapper.insert(childCoil);
|
||||||
|
|
||||||
if (childCoilBo.getActualWarehouseId() != null) {
|
updateActualWarehouseEnableStatus(parentCoil.getActualWarehouseId(), childCoilBo.getActualWarehouseId());
|
||||||
updateActualWarehouseEnableStatus(childCoilBo.getActualWarehouseId(), null);
|
|
||||||
}
|
|
||||||
updateActualWarehouseEnableStatus(null, childCoilBo.getActualWarehouseId());
|
|
||||||
|
|
||||||
// 8. 更新二维码中的coilId
|
// 8. 更新二维码中的coilId
|
||||||
updateQrcodeCoilId(childQrcodeId, childCoil.getCoilId());
|
updateQrcodeCoilId(childQrcodeId, childCoil.getCoilId());
|
||||||
|
|||||||
Reference in New Issue
Block a user