14 小时以前 3ce57820e618b704ce61487b7cdb38fdd6b0f44a
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/indicatorresult/MesQcReportServiceImpl.java
@@ -1,6 +1,7 @@
package cn.iocoder.yudao.module.mes.service.qc.indicatorresult;
import cn.hutool.core.collection.CollUtil;
import cn.iocoder.yudao.framework.dict.core.DictFrameworkUtils;
import cn.iocoder.yudao.module.mes.controller.admin.qc.indicatorresult.vo.MesQcQcReportRespVO;
import cn.iocoder.yudao.module.mes.dal.dataobject.md.item.MesMdItemDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.qc.indicator.MesQcIndicatorDO;
@@ -14,6 +15,7 @@
import cn.iocoder.yudao.module.mes.dal.dataobject.qc.oqc.MesQcOqcLineDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.qc.rqc.MesQcRqcDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.qc.rqc.MesQcRqcLineDO;
import cn.iocoder.yudao.module.mes.enums.DictTypeConstants;
import cn.iocoder.yudao.module.mes.enums.qc.MesQcIndicatorItemTypeEnum;
import cn.iocoder.yudao.module.mes.enums.qc.MesQcTypeEnum;
import cn.iocoder.yudao.module.mes.service.md.item.MesMdItemService;
@@ -109,6 +111,7 @@
                    .setExecuteStandard(doc.getExecuteStandard())
                    .setInspectorUserId(doc.getInspectorUserId()).setAuditUserId(doc.getAuditUserId())
                    .setApproveUserId(doc.getApproveUserId()).setCheckResult(doc.getCheckResult())
                    .setInspectDate(doc.getInspectDate()).setDocCreateTime(doc.getCreateTime())
                    .setRemark(doc.getRemark());
            List<MesQcIqcLineDO> lines = iqcLineService.getIqcLineListByIqcId(qcId);
            for (MesQcIqcLineDO line : lines) {
@@ -126,6 +129,7 @@
                    .setExecuteStandard(doc.getExecuteStandard())
                    .setInspectorUserId(doc.getInspectorUserId()).setAuditUserId(doc.getAuditUserId())
                    .setApproveUserId(doc.getApproveUserId()).setCheckResult(doc.getCheckResult())
                    .setInspectDate(doc.getInspectDate()).setDocCreateTime(doc.getCreateTime())
                    .setRemark(doc.getRemark());
            List<MesQcIpqcLineDO> lines = ipqcLineService.getIpqcLineListByIpqcId(qcId);
            for (MesQcIpqcLineDO line : lines) {
@@ -143,6 +147,7 @@
                    .setExecuteStandard(doc.getExecuteStandard())
                    .setInspectorUserId(doc.getInspectorUserId()).setAuditUserId(doc.getAuditUserId())
                    .setApproveUserId(doc.getApproveUserId()).setCheckResult(doc.getCheckResult())
                    .setInspectDate(doc.getInspectDate()).setDocCreateTime(doc.getCreateTime())
                    .setRemark(doc.getRemark());
            List<MesQcOqcLineDO> lines = oqcLineService.getOqcLineListByOqcId(qcId);
            for (MesQcOqcLineDO line : lines) {
@@ -160,6 +165,7 @@
                    .setExecuteStandard(doc.getExecuteStandard())
                    .setInspectorUserId(doc.getInspectorUserId()).setAuditUserId(doc.getAuditUserId())
                    .setApproveUserId(doc.getApproveUserId()).setCheckResult(doc.getCheckResult())
                    .setInspectDate(doc.getInspectDate()).setDocCreateTime(doc.getCreateTime())
                    .setRemark(doc.getRemark());
            List<MesQcRqcLineDO> lines = rqcLineService.getRqcLineListByRqcId(qcId);
            for (MesQcRqcLineDO line : lines) {
@@ -227,10 +233,23 @@
                report.setApproveName(userMap.get(report.getApproveUserId()).getNickname());
            }
        }
        report.setCheckResultText(resolveCheckResultText(qcType, report.getCheckResult()));
        return report;
    }
    /**
     * 检测结果文案:OQC 按产品等级判定(mes_oqc_check_result),其余走通用检测结果字典(mes_qc_check_result)
     */
    private String resolveCheckResultText(Integer qcType, Integer checkResult) {
        if (checkResult == null) {
            return null;
        }
        String dictType = Objects.equals(qcType, MesQcTypeEnum.OQC.getType())
                ? DictTypeConstants.MES_OQC_CHECK_RESULT : DictTypeConstants.MES_QC_CHECK_RESULT;
        return DictFrameworkUtils.parseDictDataLabel(dictType, String.valueOf(checkResult));
    }
    /**
     * 组装报告检验项树;顺带收集全局 measureNos 列头
     */
    private List<MesQcQcReportRespVO.ReportItem> buildReportItems(