From b315bec6341901eab8cad35c3e4ccc3c822daa45 Mon Sep 17 00:00:00 2001 From: wxr Date: Mon, 9 Feb 2026 20:18:30 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AF=95=E9=87=91=E5=8F=91=E8=B5=B7=E5=A4=8D?= =?UTF-8?q?=E6=A3=80=E5=A7=94=E6=89=98=E6=97=B6=EF=BC=8C=E9=85=8D=E6=96=99?= =?UTF-8?q?=E9=9C=80=E8=A6=81=E5=B8=A6=E4=B8=8A=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SampleAnalysisAuditServiceImpl.java | 56 +++++++++++++++++-- 1 file changed, 52 insertions(+), 4 deletions(-) diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisAuditServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisAuditServiceImpl.java index 4ff36f80..c01eadac 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisAuditServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisAuditServiceImpl.java @@ -69,12 +69,14 @@ import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSubSampleMapper; import com.zt.plat.module.qms.business.config.controller.vo.*; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodProjectAssessmentDO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodProjectCoefficientDO; +import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodProjectParameterDO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigRuleDO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigSubSampleDO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigSubSampleParentMethodDO; import com.zt.plat.module.qms.business.config.dal.mapper.ConfigAssayMethodProjectAssessmentMapper; import com.zt.plat.module.qms.business.config.dal.mapper.ConfigAssayMethodProjectCoefficientMapper; import com.zt.plat.module.qms.business.config.dal.mapper.ConfigAssayMethodProjectMapper; +import com.zt.plat.module.qms.business.config.dal.mapper.ConfigAssayMethodProjectParameterMapper; import com.zt.plat.module.qms.business.config.dal.mapper.ConfigProjectMapper; import com.zt.plat.module.qms.business.config.dal.mapper.ConfigReportFieldMapper; import com.zt.plat.module.qms.business.config.dal.mapper.ConfigReportTypeMapper; @@ -87,6 +89,7 @@ import com.zt.plat.module.qms.core.qlexpress.cmp.AllowanceCalculatorComponent; import com.zt.plat.module.qms.enums.QmsCommonConstant; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollUtil; import jakarta.annotation.Resource; /** @@ -155,6 +158,9 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic @Resource private ConfigAssayMethodProjectMapper configAssayMethodProjectMapper; + @Resource + private ConfigAssayMethodProjectParameterMapper configAssayMethodProjectParameterMapper; + @Resource private ConfigAssayMethodProjectCoefficientMapper configAssayMethodProjectCoefficientMapper; @@ -1073,19 +1079,47 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic throw new ServiceException(1_032_100_000, "未配置复检流程,不能发起复检委托!"); } + //查询当前子样方法配置 + ConfigSubSampleMethodExtendRespVO configSubSampleMethod = configSubSampleMethodMapper.selectByConfigSubSampleIdAndConfigAssayMethodId(businessSubSampleDO.getConfigSubSampleId(), configAssayMethodId); + //扩展配置 + String configInfomation = configSubSampleMethod.getConfigInfomation(); + List getParamList = null; + if (StringUtils.isNotBlank(configInfomation)) { + //解析配置 + ConfigSubSampleMethodConfInfo configSubSampleMethodConfInfo = JSON.parseObject(configInfomation, ConfigSubSampleMethodConfInfo.class); + getParamList = configSubSampleMethodConfInfo.getGetParam(); + } + + List newBusinessAssayTaskDataDOList = new ArrayList<>(); List newBusinessAssayProjectDataDOList = new ArrayList<>(); List newBusinessAssayParameterDataDOList = new ArrayList<>(); + //查询当前子样判定 BusinessSubSampleAssessmentDO businessSubSampleAssessmentDO = businessSubSampleAssessmentMapper.selectByBusinessSubSampleIdAndConfigAssayMethodIdAndRetestCount(businessSubSampleId, configAssayMethodId, retestCount); BusinessAssayTaskDataDO newBusinessAssayTaskDataDO = null; + //查询分析任务列表 List businessAssayTaskDataDOList = businessAssayTaskDataMapper.selectMaxRecheckCountByBusinessSubSampleIdAndConfigAssayMethodId(businessSubSampleId, configAssayMethodId); + //查询分析任务Id列表 List businessAssayTaskDataDOIdList = businessAssayTaskDataDOList.stream().map(m -> m.getId()).collect(Collectors.toList()); + //查询检测项目 List businessAssayProjectDataDOList = businessAssayProjectDataMapper.selectByBusinessAssayTaskDataIds(businessAssayTaskDataDOIdList); + //查询检测项目id列表 List businessAssayProjectDataDOIdList = businessAssayProjectDataDOList.stream().map(m -> m.getId()).collect(Collectors.toList()); - List businessAssayParameterDataDOList = businessAssayParameterDataMapper.selectByBusinessAssayProjectDataIds(businessAssayProjectDataDOIdList); - + //查询检测项目参数列表 + List businessAssayParameterDataDOList = new ArrayList<>(); + if (CollUtil.isNotEmpty(businessAssayProjectDataDOIdList)) { + businessAssayParameterDataDOList = businessAssayParameterDataMapper.selectExtendByBusinessAssayProjectDataIds(businessAssayProjectDataDOIdList); + } + //查询检测项目参数配置id列表 + List configAssayMethodProjectParameterIdList = businessAssayParameterDataDOList.stream().map(m -> m.getConfigAssayMethodProjectParameterId()).distinct().collect(Collectors.toList()); + List configAssayMethodProjectParameterList = new ArrayList<>(); + //查询检测项目参数配置列表 + if (CollUtil.isNotEmpty(configAssayMethodProjectParameterIdList)) { + configAssayMethodProjectParameterList = configAssayMethodProjectParameterMapper.selectByIds(configAssayMethodProjectParameterIdList); + } + //循环检测任务 for (BusinessAssayTaskDataDO businessAssayTaskDataDO : businessAssayTaskDataDOList) { // 子样检测任务 newBusinessAssayTaskDataDO = new BusinessAssayTaskDataDO(); @@ -1121,8 +1155,11 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic newBusinessAssayProjectDataDOList.add(businessAssayProjectDataDO); - List businessAssayParameterDataList = businessAssayParameterDataDOList.stream().filter(f -> f.getBusinessAssayProjectDataId().equals(businessAssayProjectData.getId())).collect(Collectors.toList()); - for (BusinessAssayParameterDataDO businessAssayParameterData : businessAssayParameterDataList) { + List businessAssayParameterDataList = businessAssayParameterDataDOList.stream().filter(f -> f.getBusinessAssayProjectDataId().equals(businessAssayProjectData.getId())).collect(Collectors.toList()); + for (BusinessAssayParameterDataExtendRespVO businessAssayParameterData : businessAssayParameterDataList) { + + ConfigAssayMethodProjectParameterDO configAssayMethodProjectParameter = configAssayMethodProjectParameterList.stream().filter(f -> businessAssayParameterData.getConfigAssayMethodProjectParameterId().equals(f.getId())).findFirst().orElse(null); + BusinessAssayParameterDataDO businessAssayParameterDataDO = new BusinessAssayParameterDataDO(); businessAssayParameterDataDO.setId(IdWorker.getId()); businessAssayParameterDataDO.setBusinessAssayProjectDataId(businessAssayProjectDataDO.getId()); @@ -1131,6 +1168,17 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic businessAssayParameterDataDO.setDataType(businessAssayParameterData.getDataType()); businessAssayParameterDataDO.setDecimalPosition(businessAssayParameterData.getDecimalPosition()); + if (StringUtils.isNotBlank(configAssayMethodProjectParameter.getDefaultValue())) { + businessAssayParameterDataDO.setValue(configAssayMethodProjectParameter.getDefaultValue()); + } + + if (getParamList != null) { + List targetParameterList = getParamList.stream().filter(f -> f.getTarget().getProject().contains(businessAssayProjectData.getSimpleName())).map(m -> m.getTarget().getParameter()).collect(Collectors.toList()); + if (StringUtils.isNotBlank(businessAssayParameterData.getParameterKey()) && targetParameterList.contains(businessAssayParameterData.getParameterKey())) { + businessAssayParameterDataDO.setValue(businessAssayParameterData.getValue()); + } + } + newBusinessAssayParameterDataDOList.add(businessAssayParameterDataDO); } }