昨天 7a681887e5a8e1aab49acc886974d354c69a280e
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/indicatorresult/MesQcIndicatorResultServiceImpl.java
@@ -14,6 +14,7 @@
import cn.iocoder.yudao.module.mes.dal.dataobject.qc.oqc.MesQcOqcDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.qc.rqc.MesQcRqcDO;
import cn.iocoder.yudao.module.mes.dal.mysql.qc.indicatorresult.MesQcIndicatorResultMapper;
import cn.iocoder.yudao.module.mes.enums.qc.MesQcIndicatorItemTypeEnum;
import cn.iocoder.yudao.module.mes.enums.qc.MesQcResultValueTypeEnum;
import cn.iocoder.yudao.module.mes.enums.qc.MesQcTypeEnum;
import cn.iocoder.yudao.module.mes.service.qc.indicator.MesQcIndicatorService;
@@ -82,7 +83,8 @@
        // 2.2 批量插入明细
        List<MesQcIndicatorResultDetailDO> details = BeanUtils.toBean(createReqVO.getItems(),
                MesQcIndicatorResultDetailDO.class);
        details.forEach(detail -> detail.setResultId(result.getId()));
        details.forEach(detail -> detail.setResultId(result.getId())
                .setMeasureNo(Objects.requireNonNullElse(detail.getMeasureNo(), 1)));
        resultDetailService.createDetailList(details);
        return result.getId();
    }
@@ -102,6 +104,7 @@
        // 2.2 批量更新明细
        List<MesQcIndicatorResultDetailDO> details = BeanUtils.toBean(updateReqVO.getItems(),
                MesQcIndicatorResultDetailDO.class);
        details.forEach(detail -> detail.setMeasureNo(Objects.requireNonNullElse(detail.getMeasureNo(), 1)));
        resultDetailService.createOrUpdateDetailList(details);
    }
@@ -135,6 +138,34 @@
    @Override
    public Long getIndicatorResultCountByQcIdAndType(Long qcId, Integer qcType) {
        return resultMapper.selectCountByQcIdAndType(qcId, qcType);
    }
    /**
     * 获取指定质检单下的检验结果列表
     *
     * @param qcId   质检单 ID
     * @param qcType 质检类型
     * @return 结果列表
     */
    @Override
    public List<MesQcIndicatorResultDO> getIndicatorResultListByQcIdAndType(Long qcId, Integer qcType) {
        return resultMapper.selectListByQcIdAndType(qcId, qcType);
    }
    @Override
    public List<MesQcIndicatorResultDO> getIndicatorResultListByQcIdsAndType(List<Long> qcIds, Integer qcType) {
        if (CollUtil.isEmpty(qcIds)) {
            return Collections.emptyList();
        }
        return resultMapper.selectListByQcIdsAndType(qcIds, qcType);
    }
    @Override
    public List<MesQcIndicatorResultDetailDO> getIndicatorResultDetailListByResultIds(List<Long> resultIds) {
        if (CollUtil.isEmpty(resultIds)) {
            return Collections.emptyList();
        }
        return resultDetailService.getDetailListByResultIds(resultIds);
    }
    @Override
@@ -197,6 +228,10 @@
            if (indicator == null || indicator.getResultType() == null) {
                continue;
            }
            // 分组项(GROUP)仅承载层级/公式文本,不录入值,跳过格式校验
            if (Objects.equals(indicator.getItemType(), MesQcIndicatorItemTypeEnum.GROUP.getType())) {
                continue;
            }
            Integer resultType = indicator.getResultType();
            if (Objects.equals(resultType, MesQcResultValueTypeEnum.FLOAT.getType())) {
                try {