gaoluyang
9 天以前 8e4eee5ad4d74e1a4e6ab4de3a9c28000700dce0
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/stocktaking/task/MesWmStockTakingTaskServiceImpl.java
@@ -2,6 +2,7 @@
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjUtil;
import cn.iocoder.yudao.framework.common.exception.ServiceException;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.module.mes.controller.admin.wm.stocktaking.task.vo.MesWmStockTakingTaskPageReqVO;
@@ -237,6 +238,11 @@
        if (!MesWmStockTakingTaskStatusEnum.FINISHED.getStatus().equals(task.getStatus())) {
            throw exception(WM_STOCK_TAKING_TASK_NOT_FINISHED);
        }
        if (Boolean.TRUE.equals(task.getDifferenceProcessed())) {
            throw new ServiceException(WM_STOCK_TAKING_TASK_DIFFERENCE_PROCESSED.getCode(),
                    "盘点任务[" + task.getCode() + "]的差异已于此前调整过库存,"
                            + "再次处理会重复增加/扣减库存。若仍需调整,请新建一次盘库任务重新盘点。");
        }
        // 2. 获取盘点结果列表
        List<MesWmStockTakingTaskResultDO> results = stockTakingTaskResultService.getStockTakingTaskResultListByTaskId(id);
@@ -286,6 +292,10 @@
            wmTransactionService.createTransaction(transaction);
        }
        // 5. 标记差异已处理,防止重复调整库存
        stockTakingTaskMapper.updateById(new MesWmStockTakingTaskDO().setId(id)
                .setDifferenceProcessed(true));
    }
}