Commit 3a8fe285514a3480608c89d9503f52beb65f87a5

Authored by YunaiV
1 parent 88ddc22e

✨ feat(mes): 新增库存记录编号字段并优化盘点行创建逻辑

yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/stocktaking/task/vo/line/MesWmStockTakingTaskLineSaveReqVO.java
@@ -17,6 +17,9 @@ public class MesWmStockTakingTaskLineSaveReqVO { @@ -17,6 +17,9 @@ public class MesWmStockTakingTaskLineSaveReqVO {
17 @NotNull(message = "盘点任务编号不能为空") 17 @NotNull(message = "盘点任务编号不能为空")
18 private Long taskId; 18 private Long taskId;
19 19
  20 + @Schema(description = "库存记录编号", example = "1")
  21 + private Long materialStockId;
  22 +
20 @Schema(description = "物料编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") 23 @Schema(description = "物料编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
21 @NotNull(message = "物料编号不能为空") 24 @NotNull(message = "物料编号不能为空")
22 private Long itemId; 25 private Long itemId;
@@ -38,10 +41,6 @@ public class MesWmStockTakingTaskLineSaveReqVO { @@ -38,10 +41,6 @@ public class MesWmStockTakingTaskLineSaveReqVO {
38 @Schema(description = "库位编号", example = "1") 41 @Schema(description = "库位编号", example = "1")
39 private Long areaId; 42 private Long areaId;
40 43
41 - @Schema(description = "盘点状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")  
42 - @NotNull(message = "盘点状态不能为空")  
43 - private Integer status;  
44 -  
45 @Schema(description = "备注", example = "备注") 44 @Schema(description = "备注", example = "备注")
46 private String remark; 45 private String remark;
47 46
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/dv/checkplan/MesDvCheckPlanMachineryServiceImpl.java
@@ -46,7 +46,7 @@ public class MesDvCheckPlanMachineryServiceImpl implements MesDvCheckPlanMachine @@ -46,7 +46,7 @@ public class MesDvCheckPlanMachineryServiceImpl implements MesDvCheckPlanMachine
46 if (checkPlanMachineryMapper.selectByPlanIdAndMachineryId(createReqVO.getPlanId(), createReqVO.getMachineryId()) != null) { 46 if (checkPlanMachineryMapper.selectByPlanIdAndMachineryId(createReqVO.getPlanId(), createReqVO.getMachineryId()) != null) {
47 throw exception(DV_CHECK_PLAN_MACHINERY_DUPLICATE); 47 throw exception(DV_CHECK_PLAN_MACHINERY_DUPLICATE);
48 } 48 }
49 - // 1.4 跨方案类型唯一性校验(对齐 KTG 业务约束:设备不能存在于同类型多个方案中) 49 + // 1.4 跨方案类型唯一性校验(设备不能存在于同类型多个方案中)
50 List<MesDvCheckPlanMachineryDO> existingMachineryList = getCheckPlanMachineryListByMachineryId(createReqVO.getMachineryId()); 50 List<MesDvCheckPlanMachineryDO> existingMachineryList = getCheckPlanMachineryListByMachineryId(createReqVO.getMachineryId());
51 if (CollUtil.isNotEmpty(existingMachineryList)) { 51 if (CollUtil.isNotEmpty(existingMachineryList)) {
52 List<Long> existingPlanIds = existingMachineryList.stream().map(MesDvCheckPlanMachineryDO::getPlanId).toList(); 52 List<Long> existingPlanIds = existingMachineryList.stream().map(MesDvCheckPlanMachineryDO::getPlanId).toList();
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/stocktaking/task/MesWmStockTakingTaskLineServiceImpl.java
@@ -93,6 +93,7 @@ public class MesWmStockTakingTaskLineServiceImpl implements MesWmStockTakingTask @@ -93,6 +93,7 @@ public class MesWmStockTakingTaskLineServiceImpl implements MesWmStockTakingTask
93 93
94 // 2. 创建盘点任务行 94 // 2. 创建盘点任务行
95 MesWmStockTakingTaskLineDO line = BeanUtils.toBean(createReqVO, MesWmStockTakingTaskLineDO.class); 95 MesWmStockTakingTaskLineDO line = BeanUtils.toBean(createReqVO, MesWmStockTakingTaskLineDO.class);
  96 + line.setStatus(MesWmStockTakingTaskLineStatusEnum.LOSS.getStatus()); // 默认状态:盘亏(与 generateStockTakingLines 保持一致,待盘点后由 calculateLineStatus 更新)
96 stockTakingTaskLineMapper.insert(line); 97 stockTakingTaskLineMapper.insert(line);
97 return line.getId(); 98 return line.getId();
98 } 99 }