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
|
||||
@@ -3522,10 +3449,7 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService {
|
||||
validEntityBeforeSave(childCoil);
|
||||
baseMapper.insert(childCoil);
|
||||
|
||||
if (childCoilBo.getActualWarehouseId() != null) {
|
||||
updateActualWarehouseEnableStatus(childCoilBo.getActualWarehouseId(), null);
|
||||
}
|
||||
updateActualWarehouseEnableStatus(null, childCoilBo.getActualWarehouseId());
|
||||
updateActualWarehouseEnableStatus(parentCoil.getActualWarehouseId(), childCoilBo.getActualWarehouseId());
|
||||
|
||||
// 8. 更新二维码中的coilId
|
||||
updateQrcodeCoilId(childQrcodeId, childCoil.getCoilId());
|
||||
|
||||
Reference in New Issue
Block a user