From 618030e495a9520291ebfd709c80c4c8a8b73451 Mon Sep 17 00:00:00 2001
From: quxin <592870522@qq.com>
Date: 星期五, 04 九月 2026 11:36:26 +0800
Subject: [PATCH] 修复: 生产领料后的退料应该是选择领料的记录,不是选择库存的记录(同时库存数据需要根据领料退料变动,比如库存100,领用80,然后领用80中退料30,库存应由原来的20变成50)
---
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/returnissue/MesWmReturnIssueLineServiceImpl.java | 27 ++++++++++++++++++++++-----
1 files changed, 22 insertions(+), 5 deletions(-)
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/returnissue/MesWmReturnIssueLineServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/returnissue/MesWmReturnIssueLineServiceImpl.java
index 60ef865..4d93f66 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/returnissue/MesWmReturnIssueLineServiceImpl.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/returnissue/MesWmReturnIssueLineServiceImpl.java
@@ -8,17 +8,20 @@
import cn.iocoder.yudao.module.mes.controller.admin.wm.returnissue.vo.line.MesWmReturnIssueLineSaveReqVO;
import cn.iocoder.yudao.module.mes.dal.dataobject.wm.returnissue.MesWmReturnIssueDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.wm.returnissue.MesWmReturnIssueLineDO;
+import cn.iocoder.yudao.module.mes.dal.dataobject.wm.returnissue.MesWmReturnIssueLinePageVO;
import cn.iocoder.yudao.module.mes.dal.mysql.wm.returnissue.MesWmReturnIssueLineMapper;
import cn.iocoder.yudao.module.mes.enums.wm.MesWmQualityStatusEnum;
import cn.iocoder.yudao.module.mes.enums.wm.MesWmReturnIssueStatusEnum;
import cn.iocoder.yudao.module.mes.enums.wm.MesWmReturnIssueTypeEnum;
-import cn.iocoder.yudao.module.mes.service.md.item.MesMdItemService;
+import cn.iocoder.yudao.module.mes.service.mdm.MesMdmItemService;
import jakarta.annotation.Resource;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
import java.math.BigDecimal;
+import java.util.Collection;
+import java.util.Collections;
import java.util.List;
import java.util.Objects;
@@ -39,7 +42,7 @@
@Lazy
private MesWmReturnIssueService issueService;
@Resource
- private MesMdItemService itemService;
+ private MesMdmItemService mdmItemService;
@Resource
@Lazy
private MesWmReturnIssueDetailService issueDetailService;
@@ -51,6 +54,8 @@
// 鎻掑叆
MesWmReturnIssueLineDO line = BeanUtils.toBean(createReqVO, MesWmReturnIssueLineDO.class);
+ // 鍏滃簳锛氬墠绔湭浼犻渶瑕佽川妫�鏃堕粯璁や笉闇�瑕佽川妫�
+ line.setRqcCheckFlag(Boolean.TRUE.equals(line.getRqcCheckFlag()));
line.setQualityStatus(calculateQualityStatus(line.getRqcCheckFlag(), issue.getType())); // 璐ㄩ噺鐘舵�佽嚜鍔ㄨ祴鍊�
issueLineMapper.insert(line);
return line.getId();
@@ -59,12 +64,16 @@
@Override
public void updateReturnIssueLine(MesWmReturnIssueLineSaveReqVO updateReqVO) {
// 鏍¢獙瀛樺湪
- validateReturnIssueLineExists(updateReqVO.getId());
+ MesWmReturnIssueLineDO line = validateReturnIssueLineExists(updateReqVO.getId());
// 鏍¢獙鏁版嵁
MesWmReturnIssueDO issue = validateReturnIssueLineSaveData(updateReqVO);
// 鏇存柊
MesWmReturnIssueLineDO updateObj = BeanUtils.toBean(updateReqVO, MesWmReturnIssueLineDO.class);
+ // 鍏滃簳锛氱紪杈戞椂鏈紶闇�瑕佽川妫�瀛楁锛屾部鐢ㄥ師鍊硷紝閬垮厤璇鐩�
+ if (updateObj.getRqcCheckFlag() == null) {
+ updateObj.setRqcCheckFlag(line.getRqcCheckFlag());
+ }
updateObj.setQualityStatus(calculateQualityStatus(updateObj.getRqcCheckFlag(), issue.getType())); // 璐ㄩ噺鐘舵�佽嚜鍔ㄨ祴鍊�
issueLineMapper.updateById(updateObj);
}
@@ -87,7 +96,7 @@
}
@Override
- public PageResult<MesWmReturnIssueLineDO> getReturnIssueLinePage(MesWmReturnIssueLinePageReqVO pageReqVO) {
+ public PageResult<MesWmReturnIssueLinePageVO> getReturnIssueLinePage(MesWmReturnIssueLinePageReqVO pageReqVO) {
return issueLineMapper.selectPage(pageReqVO);
}
@@ -117,7 +126,7 @@
// 鏍¢獙鐖舵暟鎹瓨鍦� + 鑽夌鐘舵��
MesWmReturnIssueDO issue = issueService.validateReturnIssueExistsAndPrepare(reqVO.getIssueId());
// 鏍¢獙鐗╂枡瀛樺湪
- itemService.validateItemExistsAndEnable(reqVO.getItemId());
+ mdmItemService.validateItemExistsAndEnable(reqVO.getItemId());
return issue;
}
@@ -198,4 +207,12 @@
}
}
+ @Override
+ public List<MesWmReturnIssueLineDO> getReturnIssueLineListByIssueLineIds(Collection<Long> issueLineIds) {
+ if (CollUtil.isEmpty(issueLineIds)) {
+ return Collections.emptyList();
+ }
+ return issueLineMapper.selectListByIssueLineIds(issueLineIds);
+ }
+
}
--
Gitblit v1.9.3