gaoluyang
5 天以前 6fa82a1ad7c3ae061ef499f0d0806a16846e122b
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/arrivalnotice/MesWmArrivalNoticeLineServiceImpl.java
@@ -8,13 +8,14 @@
import cn.iocoder.yudao.module.mes.controller.admin.wm.arrivalnotice.vo.line.MesWmArrivalNoticeLineSaveReqVO;
import cn.iocoder.yudao.module.mes.dal.dataobject.wm.arrivalnotice.MesWmArrivalNoticeLineDO;
import cn.iocoder.yudao.module.mes.dal.mysql.wm.arrivalnotice.MesWmArrivalNoticeLineMapper;
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.List;
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
@@ -34,7 +35,7 @@
    @Lazy
    private MesWmArrivalNoticeService arrivalNoticeService;
    @Resource
    private MesMdItemService itemService;
    private MesMdmItemService mdmItemService;
    @Override
    public Long createArrivalNoticeLine(MesWmArrivalNoticeLineSaveReqVO createReqVO) {
@@ -66,7 +67,7 @@
        // 校验父单据存在且为草稿状态
        arrivalNoticeService.validateArrivalNoticeExistsAndDraft(reqVO.getNoticeId());
        // 校验物料存在
        itemService.validateItemExistsAndEnable(reqVO.getItemId());
        mdmItemService.validateItemExistsAndEnable(reqVO.getItemId());
    }
    /**
@@ -107,17 +108,22 @@
    }
    @Override
    public List<MesWmArrivalNoticeLineDO> getArrivalNoticeLineListByNoticeIds(Collection<Long> noticeIds) {
        return arrivalNoticeLineMapper.selectListByNoticeIds(noticeIds);
    }
    @Override
    public void deleteArrivalNoticeLineByNoticeId(Long noticeId) {
        arrivalNoticeLineMapper.deleteByNoticeId(noticeId);
    }
    @Override
    public void updateArrivalNoticeLineWhenIqcFinish(Long lineId, Long iqcId, BigDecimal qualifiedQuantity) {
    public void updateArrivalNoticeLineWhenIqcFinish(Long lineId, Long iqcId, Integer checkResult, BigDecimal qualifiedQuantity) {
        // 校验行存在
        validateArrivalNoticeLineExists(lineId);
        // 更新
        // 更新:绑定 iqcId + 质检结果 + 合格数量
        arrivalNoticeLineMapper.updateById(new MesWmArrivalNoticeLineDO()
                .setId(lineId).setIqcId(iqcId).setQualifiedQuantity(qualifiedQuantity));
                .setId(lineId).setIqcId(iqcId).setIqcCheckResult(checkResult).setQualifiedQuantity(qualifiedQuantity));
    }
    @Override
@@ -139,4 +145,17 @@
        return line;
    }
    @Override
    public void createArrivalNoticeLineFromPurchaseOrderItem(MesWmArrivalNoticeLineDO line) {
        // 内部方法,不做校验,直接插入
        initQualifiedQuantityIfNoIqc(line);
        arrivalNoticeLineMapper.insert(line);
    }
    @Override
    public void updateArrivalNoticeLineIqcId(Long lineId, Long iqcId) {
        arrivalNoticeLineMapper.updateById(new MesWmArrivalNoticeLineDO()
                .setId(lineId).setIqcId(iqcId));
    }
}