From 8c65f898ed6e5b0c7a94c792c4562f6ec831dccd Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期六, 07 十一月 2026 08:50:53 +0800
Subject: [PATCH] feat: 完善质检、生产、销售、财务与人事模块并接入审批流程
---
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/stocktaking/task/MesWmStockTakingTaskLineServiceImpl.java | 23 ++++++++++++++++++++---
1 files changed, 20 insertions(+), 3 deletions(-)
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/stocktaking/task/MesWmStockTakingTaskLineServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/stocktaking/task/MesWmStockTakingTaskLineServiceImpl.java
index 5f68604..22e8c6a 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/stocktaking/task/MesWmStockTakingTaskLineServiceImpl.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/stocktaking/task/MesWmStockTakingTaskLineServiceImpl.java
@@ -30,6 +30,7 @@
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertList;
import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.WM_STOCK_TAKING_TASK_LINE_NOT_EXISTS;
+import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.WM_STOCK_TAKING_TASK_LINE_TASK_MISMATCH;
import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.WM_STOCK_TAKING_TASK_NO_STOCK;
/**
@@ -104,11 +105,15 @@
public void updateStockTakingTaskLine(MesWmStockTakingTaskLineSaveReqVO updateReqVO) {
// 1.1 鏍¢獙鐩樼偣浠诲姟琛屽瓨鍦�
MesWmStockTakingTaskLineDO line = validateStockTakingTaskLineExists(updateReqVO.getId());
+ if (!Objects.equals(line.getTaskId(), updateReqVO.getTaskId())) {
+ throw exception(WM_STOCK_TAKING_TASK_LINE_TASK_MISMATCH);
+ }
// 1.2 鏍¢獙鐩樼偣浠诲姟瀛樺湪锛屽苟涓斿浜庛�愬噯澶囦腑銆戠姸鎬�
- stockTakingTaskService.validateStockTakingTaskExistsAndPrepare(updateReqVO.getTaskId());
+ stockTakingTaskService.validateStockTakingTaskExistsAndPrepare(line.getTaskId());
// 2. 鏇存柊鐩樼偣浠诲姟琛�
MesWmStockTakingTaskLineDO updateObj = BeanUtils.toBean(updateReqVO, MesWmStockTakingTaskLineDO.class);
+ updateObj.setTaskId(line.getTaskId());
stockTakingTaskLineMapper.updateById(updateObj);
}
@@ -171,8 +176,10 @@
}
@Override
- public MesWmStockTakingTaskLineDO getStockTakingTaskLine(Long taskId, Long itemId, Long areaId) {
- return stockTakingTaskLineMapper.selectByTaskIdAndItemIdAndAreaId(taskId, itemId, areaId);
+ public MesWmStockTakingTaskLineDO getStockTakingTaskLine(Long taskId, Long itemId, Long warehouseId,
+ Long locationId, Long areaId, Long batchId) {
+ return stockTakingTaskLineMapper.selectByStockDimensions(taskId, itemId, warehouseId,
+ locationId, areaId, batchId);
}
@Override
@@ -189,6 +196,7 @@
public Long createStockTakingTaskLine(MesWmStockTakingTaskResultSaveReqVO createReqVO) {
MesWmStockTakingTaskLineDO line = new MesWmStockTakingTaskLineDO()
.setTaskId(createReqVO.getTaskId()).setItemId(createReqVO.getItemId()).setBatchId(createReqVO.getBatchId())
+ .setBatchCode(createReqVO.getBatchCode())
.setWarehouseId(createReqVO.getWarehouseId()).setLocationId(createReqVO.getLocationId()).setAreaId(createReqVO.getAreaId())
.setQuantity(BigDecimal.ZERO) // 璐﹂潰鏁伴噺榛樿涓� 0
.setTakingQuantity(createReqVO.getTakingQuantity()) // 鐩樼偣鏁伴噺
@@ -197,6 +205,15 @@
return line.getId();
}
+ @Override
+ public void deleteAutoGeneratedLine(Long lineId) {
+ MesWmStockTakingTaskLineDO line = validateStockTakingTaskLineExists(lineId);
+ if (line.getMaterialStockId() == null && line.getQuantity() != null
+ && line.getQuantity().compareTo(BigDecimal.ZERO) == 0) {
+ stockTakingTaskLineMapper.deleteById(lineId);
+ }
+ }
+
/**
* 璁$畻鐩樼偣浠诲姟琛岀姸鎬�
*
--
Gitblit v1.9.3