2026-09-03 f4a412cebe9532833320bad81cc92e7930d7715a
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/returnissue/MesWmReturnIssueLineServiceImpl.java
@@ -8,11 +8,12 @@
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;
@@ -39,7 +40,7 @@
    @Lazy
    private MesWmReturnIssueService issueService;
    @Resource
    private MesMdItemService itemService;
    private MesMdmItemService mdmItemService;
    @Resource
    @Lazy
    private MesWmReturnIssueDetailService issueDetailService;
@@ -51,6 +52,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 +62,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 +94,7 @@
    }
    @Override
    public PageResult<MesWmReturnIssueLineDO> getReturnIssueLinePage(MesWmReturnIssueLinePageReqVO pageReqVO) {
    public PageResult<MesWmReturnIssueLinePageVO> getReturnIssueLinePage(MesWmReturnIssueLinePageReqVO pageReqVO) {
        return issueLineMapper.selectPage(pageReqVO);
    }
@@ -117,7 +124,7 @@
        // 校验父数据存在 + 草稿状态
        MesWmReturnIssueDO issue = issueService.validateReturnIssueExistsAndPrepare(reqVO.getIssueId());
        // 校验物料存在
        itemService.validateItemExistsAndEnable(reqVO.getItemId());
        mdmItemService.validateItemExistsAndEnable(reqVO.getItemId());
        return issue;
    }