Browse Source

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

YunaiV 2 months ago
parent
commit
3a8fe28551

+ 3 - 4
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 {
     @NotNull(message = "盘点任务编号不能为空")
     private Long taskId;
 
+    @Schema(description = "库存记录编号", example = "1")
+    private Long materialStockId;
+
     @Schema(description = "物料编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "物料编号不能为空")
     private Long itemId;
@@ -38,10 +41,6 @@ public class MesWmStockTakingTaskLineSaveReqVO {
     @Schema(description = "库位编号", example = "1")
     private Long areaId;
 
-    @Schema(description = "盘点状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
-    @NotNull(message = "盘点状态不能为空")
-    private Integer status;
-
     @Schema(description = "备注", example = "备注")
     private String remark;
 

+ 1 - 1
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
         if (checkPlanMachineryMapper.selectByPlanIdAndMachineryId(createReqVO.getPlanId(), createReqVO.getMachineryId()) != null) {
             throw exception(DV_CHECK_PLAN_MACHINERY_DUPLICATE);
         }
-        // 1.4 跨方案类型唯一性校验(对齐 KTG 业务约束:设备不能存在于同类型多个方案中)
+        // 1.4 跨方案类型唯一性校验(设备不能存在于同类型多个方案中)
         List<MesDvCheckPlanMachineryDO> existingMachineryList = getCheckPlanMachineryListByMachineryId(createReqVO.getMachineryId());
         if (CollUtil.isNotEmpty(existingMachineryList)) {
             List<Long> existingPlanIds = existingMachineryList.stream().map(MesDvCheckPlanMachineryDO::getPlanId).toList();

+ 1 - 0
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
 
         // 2. 创建盘点任务行
         MesWmStockTakingTaskLineDO line = BeanUtils.toBean(createReqVO, MesWmStockTakingTaskLineDO.class);
+        line.setStatus(MesWmStockTakingTaskLineStatusEnum.LOSS.getStatus()); // 默认状态:盘亏(与 generateStockTakingLines 保持一致,待盘点后由 calculateLineStatus 更新)
         stockTakingTaskLineMapper.insert(line);
         return line.getId();
     }