云
5 小时以前 c215f6c20445b973ff730dcdf4206426992da81d
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/ipqc/MesQcIpqcServiceImpl.java
@@ -18,6 +18,7 @@
import cn.iocoder.yudao.module.mes.dal.dataobject.qc.template.MesQcTemplateItemDO;
import cn.iocoder.yudao.module.mes.dal.mysql.qc.ipqc.MesQcIpqcMapper;
import cn.iocoder.yudao.module.mes.enums.qc.MesQcDefectLevelEnum;
import cn.iocoder.yudao.module.mes.enums.qc.MesQcCheckResultEnum;
import cn.iocoder.yudao.module.mes.enums.qc.MesQcStatusEnum;
import cn.iocoder.yudao.module.mes.enums.qc.MesQcTypeEnum;
import cn.iocoder.yudao.module.mes.enums.pro.MesProFeedbackStatusEnum;
@@ -215,6 +216,14 @@
        if (ipqc.getCheckResult() == null) {
            throw exception(QC_IPQC_CHECK_RESULT_EMPTY);
        }
        if (ipqc.getUnqualifiedQuantity() != null && ipqc.getUnqualifiedQuantity().compareTo(BigDecimal.ZERO) > 0
                && MesQcCheckResultEnum.QUALIFIED.getType().equals(ipqc.getCheckResult())) {
            throw new IllegalArgumentException("存在不合格品时,过程检验结论不能为合格");
        }
        if ((ipqc.getUnqualifiedQuantity() == null || ipqc.getUnqualifiedQuantity().compareTo(BigDecimal.ZERO) == 0)
                && !MesQcCheckResultEnum.QUALIFIED.getType().equals(ipqc.getCheckResult())) {
            throw new IllegalArgumentException("不合格数量为 0 时,过程检验结论必须为合格");
        }
        // 1.3 校验至少存在一条检测结果
        indicatorResultService.validateIndicatorResultExistsByQcIdAndType(id, MesQcTypeEnum.IPQC.getType());