From 3302a2ee7ca52c37a0f1a2247e0739fe01ca93da Mon Sep 17 00:00:00 2001 From: wxr Date: Fri, 30 Jan 2026 16:58:32 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A1=A5=E6=AD=A3=E7=B3=BB=E6=95=B0=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/SampleTaskAssignController.java | 1 - .../BusinessAssayProjectDataExtendRespVO.java | 3 ++ .../vo/BusinessAssayTaskDataExtendRespVO.java | 3 ++ .../BusinessAssayProjectDataMapper.java | 3 ++ .../mapper/BusinessAssayTaskDataMapper.java | 14 +++++++ .../SampleAnalysisAuditServiceImpl.java | 33 ++++++++++----- .../service/SampleAnalysisServiceImpl.java | 41 ++++++++++++++++++- ...ssayMethodProjectCoefficientPageReqVO.java | 3 ++ ...igAssayMethodProjectCoefficientRespVO.java | 3 ++ ...ssayMethodProjectCoefficientSaveReqVO.java | 3 ++ ...onfigAssayMethodProjectRangePageReqVO.java | 3 ++ .../ConfigAssayMethodProjectRangeRespVO.java | 3 ++ ...onfigAssayMethodProjectRangeSaveReqVO.java | 3 ++ ...ConfigAssayMethodProjectCoefficientDO.java | 5 +++ .../ConfigAssayMethodProjectRangeDO.java | 5 +++ ...igAssayMethodProjectCoefficientMapper.java | 6 +++ .../ConfigAssayMethodProjectRangeMapper.java | 1 + .../service/AutoIngredientsServiceImpl.java | 9 +++- 18 files changed, 129 insertions(+), 13 deletions(-) diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/SampleTaskAssignController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/SampleTaskAssignController.java index 3da9459..b502f8a 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/SampleTaskAssignController.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/SampleTaskAssignController.java @@ -25,7 +25,6 @@ import com.zt.plat.module.qms.business.bus.liteflow.param.SampleTaskAssignSample import com.zt.plat.module.qms.business.bus.service.SampleTaskAssignService; import com.zt.plat.module.system.api.user.dto.AdminUserRespDTO; -import cn.hutool.core.collection.CollUtil; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.annotation.Resource; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayProjectDataExtendRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayProjectDataExtendRespVO.java index 7017e24..961eefa 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayProjectDataExtendRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayProjectDataExtendRespVO.java @@ -8,6 +8,9 @@ public class BusinessAssayProjectDataExtendRespVO extends BusinessAssayProjectDa @Schema(description = "样品主样ID", example = "23293") private Long businessBaseSampleId; + + @Schema(description = "主样配置ID") + private Long configBaseSampleId; @Schema(description = "样品分样ID", example = "15024") private Long businessSubParentSampleId; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDataExtendRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDataExtendRespVO.java index c20e850..abb66a9 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDataExtendRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDataExtendRespVO.java @@ -21,6 +21,9 @@ public class BusinessAssayTaskDataExtendRespVO extends BusinessAssayTaskDataResp @Schema(description = "检测方法配置名称及类别") private String configAssayMethodNameAndCategory; + @Schema(description = "主样配置id") + private Long configBaseSampleId; + @Schema(description = "子样配置id") private Long configSubSampleId; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayProjectDataMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayProjectDataMapper.java index 92238ab..ca1a6cb 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayProjectDataMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayProjectDataMapper.java @@ -8,6 +8,7 @@ import com.zt.plat.framework.mybatis.core.query.MPJLambdaWrapperX; import com.zt.plat.module.qms.business.bus.controller.vo.*; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayProjectDataDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDataDO; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessBaseSampleDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubSampleDO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodProjectDO; import com.zt.plat.module.qms.business.dic.dal.dataobject.DictionaryProjectDO; @@ -117,6 +118,7 @@ public interface BusinessAssayProjectDataMapper extends BaseMapperX selectByBusinessAssayTaskDataIds(List businessAssayTaskDataIds) { return selectJoinList(BusinessAssayProjectDataExtendRespVO.class, new MPJLambdaWrapperX() .leftJoin(BusinessAssayTaskDataDO.class, BusinessAssayTaskDataDO::getId, BusinessAssayProjectDataDO::getBusinessAssayTaskDataId) + .leftJoin(BusinessBaseSampleDO.class, BusinessBaseSampleDO::getId, BusinessAssayTaskDataDO::getBusinessBaseSampleId) .leftJoin(DictionaryProjectDO.class, DictionaryProjectDO::getId, BusinessAssayProjectDataDO::getDictionaryProjectId) .selectAll(BusinessAssayProjectDataDO.class) .selectAs(DictionaryProjectDO::getKey, BusinessAssayProjectDataExtendRespVO::getDictionaryProjectKey) @@ -128,6 +130,7 @@ public interface BusinessAssayProjectDataMapper extends BaseMapperX() .eq(BusinessAssayTaskDataDO::getBusinessAssayTaskId, businessAssayTaskId)); } + + /** + * 根据任务分配单id查询分析任务 + * @param businessAssayTaskId 任务分配单id + * @return + */ + default List selectExtendByBusinessAssayTaskId(Long businessAssayTaskId) { + return selectJoinList(BusinessAssayTaskDataExtendRespVO.class, new MPJLambdaWrapperX() + .leftJoin(BusinessBaseSampleDO.class, BusinessBaseSampleDO::getId, BusinessAssayTaskDataDO::getBusinessBaseSampleId) + .selectAll(BusinessAssayTaskDataDO.class) + .selectAs(BusinessBaseSampleDO::getConfigBaseSampleId, BusinessAssayTaskDataExtendRespVO::getConfigBaseSampleId) + .eq(BusinessAssayTaskDataDO::getBusinessAssayTaskId, businessAssayTaskId)); + } /** * 根据子样查询分析任务 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 abf15d9..43a9fd8 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 @@ -68,10 +68,12 @@ import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSubSampleAssessmen 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.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.ConfigProjectMapper; import com.zt.plat.module.qms.business.config.dal.mapper.ConfigReportFieldMapper; @@ -153,6 +155,9 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic @Resource private ConfigAssayMethodProjectMapper configAssayMethodProjectMapper; + @Resource + private ConfigAssayMethodProjectCoefficientMapper configAssayMethodProjectCoefficientMapper; + @Resource private ConfigSubSampleMethodMapper configSubSampleMethodMapper; @@ -218,7 +223,15 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic List businessAssayProjectDataList = businessAssayProjectDataMapper.selectByBusinessAssayTaskDataId(businessAssayTaskDataExtendRespVO.getId()); for (BusinessAssayProjectDataExtendRespVO businessAssayProjectData : businessAssayProjectDataList) { - businessAssayTaskDataMap.put(businessAssayProjectData.getSimpleName(), businessAssayProjectData.getValue()); +// String value = businessAssayProjectData.getValueAfter(); +// if (businessAssayProjectData.getCoefficient() != null) { +// value = value + "(" + businessAssayProjectData.getValue() + "x" + businessAssayProjectData.getCoefficient().setScale(3, RoundingMode.HALF_EVEN).toPlainString()+ ")"; +// } +// businessAssayTaskDataMap.put(businessAssayProjectData.getSimpleName(), value); + businessAssayTaskDataMap.put(businessAssayProjectData.getSimpleName(), businessAssayProjectData.getValueAfter()); +// businessAssayTaskDataMap.put(businessAssayProjectData.getSimpleName(), businessAssayProjectData.getValue()); +// businessAssayTaskDataMap.put(businessAssayProjectData.getSimpleName() + "_coefficient", businessAssayProjectData.getCoefficient()); +// businessAssayTaskDataMap.put(businessAssayProjectData.getSimpleName() + "_after", businessAssayProjectData.getValueAfter()); businessAssayTaskDataMap.put("isNotAssessment_" + businessAssayProjectData.getSimpleName(), businessAssayProjectData.getIsNotAssessment()); //添加判定状态 businessAssayTaskDataMap.put("assessmentStatus", assessmentMap.get("assessmentStatus")); @@ -272,6 +285,11 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic Map businessSubSampleAssessmentMap = BeanUtil.beanToMap(businessSubSampleAssessment); List businessAssayProjectDataSingleList = businessAssayProjectDataList.stream().filter(f -> f.getDictionaryProjectId().equals(businessSubSampleAssessment.getDictionaryProjectId())).collect(Collectors.toList()); for (BusinessAssayProjectDataExtendRespVO businessAssayProjectDataExtendRespVO : businessAssayProjectDataSingleList) { +// String value = businessAssayProjectDataExtendRespVO.getValueAfter(); +// if (businessAssayProjectDataExtendRespVO.getCoefficient() != null) { +// value = value + "(" + businessAssayProjectDataExtendRespVO.getValue() + "x" + businessAssayProjectDataExtendRespVO.getCoefficient().setScale(3, RoundingMode.HALF_EVEN).toPlainString()+ ")"; +// } +// businessSubSampleAssessmentMap.put(businessAssayProjectDataExtendRespVO.getBusinessAssayTaskDataId() + ";" + businessAssayProjectDataExtendRespVO.getBusinessSubSampleId() + ";" + businessAssayProjectDataExtendRespVO.getRecheckCount(), value); businessSubSampleAssessmentMap.put(businessAssayProjectDataExtendRespVO.getBusinessAssayTaskDataId() + ";" + businessAssayProjectDataExtendRespVO.getBusinessSubSampleId() + ";" + businessAssayProjectDataExtendRespVO.getRecheckCount(), businessAssayProjectDataExtendRespVO.getValue()); } dataList.add(businessSubSampleAssessmentMap); @@ -647,11 +665,6 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic //查询分析任务明细 List businessAssayTaskDataDOList = businessAssayTaskDataMapper.selectByBusinessAssayTaskId(businessAssayTaskId); - -// Integer recheckCount = businessAssayTaskDataDOList.get(0).getRetestCount(); -// List businessSubSampleIdList = businessAssayTaskDataDOList.stream().map(m -> m.getBusinessSubSampleId()).distinct().collect(Collectors.toList()); -// List businessSubSampleAssessmentDOList = businessSubSampleAssessmentMapper.selectByBusinessSubSampleIdsAndConfigAssayMethodIdAndRetestCount(businessSubSampleIdList, businessAssayTaskDO.getConfigAssayMethodId(), recheckCount); - //获取任务明细对应的判定id List businessSubSampleAssessmentIdList = businessAssayTaskDataDOList.stream().map(m -> m.getBusinessSubSampleAssessmentId()).distinct().collect(Collectors.toList()); //获取子样判定数据 @@ -734,7 +747,7 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic // 排序并处理 null List sortedValues = val1.stream() .map(v -> { - String val = v.getValue(); + String val = v.getValueAfter();//补正后的值 return val == null || val.trim().isEmpty() ? BigDecimal.ZERO : new BigDecimal(val.trim()); }) .sorted() @@ -825,7 +838,7 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic businessSubSampleAssessmentProjectDO.setMinimumLimitValue(businessAssayProjectDataDO.getMinimumLimitValue()); businessSubSampleAssessmentProjectDO.setSymbol(businessAssayProjectDataDO.getSymbol()); businessSubSampleAssessmentProjectDO.setAssessmentStatus(QmsCommonConstant.NORMAL); - businessSubSampleAssessmentProjectDO.setAssessmentValue(businessAssayProjectDataDO.getValue()); + businessSubSampleAssessmentProjectDO.setAssessmentValue(businessAssayProjectDataDO.getValueAfter());//修改为赋值补正后的值 } @@ -854,7 +867,7 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic businessAssayTaskDO.setFlowStatus(QmsCommonConstant.RETURNED); } businessAssayTaskMapper.updateById(businessAssayTaskDO); - + if (updateBusinessSubSampleAssessmentDOList.size() > 0) { businessSubSampleAssessmentMapper.updateBatch(updateBusinessSubSampleAssessmentDOList); } @@ -1186,7 +1199,7 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic List sortedValues = businessAssayProjectDataDOList.stream() .filter(f -> f.getIsNotAssessment().equals(QmsCommonConstant.NO)) .map(v -> { - String val = v.getValue(); + String val = v.getValueAfter();//设置为补正后的 return val == null || val.trim().isEmpty() ? BigDecimal.ZERO : new BigDecimal(val.trim()); }) .sorted() diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisServiceImpl.java index 9d55857..8ac8bfb 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisServiceImpl.java @@ -1267,12 +1267,51 @@ public class SampleAnalysisServiceImpl implements SampleAnalysisService { @Override public void submitSampleAnalysisByTaskId(Long businessAssayTaskId) { - String loginUserNickname = SecurityFrameworkUtils.getLoginUserNickname(); +// String loginUserNickname = SecurityFrameworkUtils.getLoginUserNickname(); BusinessAssayTaskDO businessAssayTaskDO = businessAssayTaskMapper.selectById(businessAssayTaskId); businessAssayTaskDO.setTaskAssayStatus(QmsCommonConstant.SUBMITTED); businessAssayTaskDO.setAssaySubmitTime(LocalDateTime.now()); businessAssayTaskDO.setFinishStatus(QmsCommonConstant.IN_PROGRESS); businessAssayTaskDO.setFlowStatus(QmsCommonConstant.IN_PROGRESS); + + List businessAssayTaskDataExtendList = businessAssayTaskDataMapper.selectExtendByBusinessAssayTaskId(businessAssayTaskId); + + //补正系数列表 + List configAssayMethodProjectCoefficientList = new ArrayList<>(); + if (businessAssayTaskDO.getIsIngredients().equals(QmsCommonConstant.YES) && QmsCommonConstant.MANUAL.equals(businessAssayTaskDO.getIngredientsWay())) {//如果是需要配料,并且是人工配料的 + List configBaseSampleIdList = businessAssayTaskDataExtendList.stream().map(m -> m.getConfigBaseSampleId()).distinct().collect(Collectors.toList()); + configAssayMethodProjectCoefficientList = configAssayMethodProjectCoefficientMapper.selectByConfigBaseSampleIds(configBaseSampleIdList); + } + + List businessAssayTaskDataIdList = businessAssayTaskDataExtendList.stream().map(m -> m.getId()).collect(Collectors.toList()); + List businessAssayProjectDataExtendList = businessAssayProjectDataMapper.selectByBusinessAssayTaskDataIds(businessAssayTaskDataIdList); + for (BusinessAssayProjectDataExtendRespVO businessAssayProjectDataExtend : businessAssayProjectDataExtendList) { + if (businessAssayTaskDO.getIsIngredients().equals(QmsCommonConstant.YES) && QmsCommonConstant.MANUAL.equals(businessAssayTaskDO.getIngredientsWay())) { + ConfigAssayMethodProjectCoefficientDO configAssayMethodProjectCoefficientDO = configAssayMethodProjectCoefficientList.stream().filter(f -> + businessAssayProjectDataExtend.getConfigBaseSampleId().equals(f.getConfigBaseSampleId()) + && businessAssayTaskDO.getConfigAssayMethodId().equals(f.getConfigAssayMethodId()) + && businessAssayProjectDataExtend.getConfigAssayMethodProjectId().equals(f.getConfigAssayMethodProjectId()) + && new BigDecimal(businessAssayProjectDataExtend.getValue()).compareTo(new BigDecimal(f.getMinimumValue())) > 0 + && new BigDecimal(businessAssayProjectDataExtend.getValue()).compareTo(new BigDecimal(f.getMaximumValue())) <= 0 + ).findFirst().orElse(null); + if (configAssayMethodProjectCoefficientDO != null) { + businessAssayProjectDataExtend.setConfigAssayMethodProjectCoefficientId(configAssayMethodProjectCoefficientDO.getId());//补正系数的id + businessAssayProjectDataExtend.setCoefficient(configAssayMethodProjectCoefficientDO.getCoefficient());//补正系数 + String valueAfter = new BigDecimal(businessAssayProjectDataExtend.getValue()).multiply(configAssayMethodProjectCoefficientDO.getCoefficient()).setScale(businessAssayProjectDataExtend.getDecimalPosition(), RoundingMode.HALF_EVEN).toPlainString(); + businessAssayProjectDataExtend.setValueAfter(valueAfter);//补正后的值 + } else { //未找到补正系数,默认为1 + businessAssayProjectDataExtend.setCoefficient(new BigDecimal("1")); + businessAssayProjectDataExtend.setValueAfter(businessAssayProjectDataExtend.getValue()); + } + } else { + businessAssayProjectDataExtend.setValueAfter(businessAssayProjectDataExtend.getValue());//不需要配料,补正后的值与补正前一致 + } + } + if (businessAssayProjectDataExtendList.size() > 0) { + List businessAssayProjectDataList = BeanUtils.toBean(businessAssayProjectDataExtendList, BusinessAssayProjectDataDO.class); + businessAssayProjectDataMapper.updateBatch(businessAssayProjectDataList); + } + businessAssayTaskMapper.updateById(businessAssayTaskDO); } diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectCoefficientPageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectCoefficientPageReqVO.java index 716b853..76dc0fd 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectCoefficientPageReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectCoefficientPageReqVO.java @@ -14,6 +14,9 @@ import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH @Data public class ConfigAssayMethodProjectCoefficientPageReqVO extends PageParam { + @Schema(description = "主样配置ID", example = "30107") + private Long configBaseSampleId; + @Schema(description = "检测方法配置ID", example = "10243") private Long configAssayMethodId; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectCoefficientRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectCoefficientRespVO.java index 83cd2c9..4cdc1aa 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectCoefficientRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectCoefficientRespVO.java @@ -17,6 +17,9 @@ public class ConfigAssayMethodProjectCoefficientRespVO { @ExcelProperty("ID") private Long id; + @Schema(description = "主样配置ID", example = "30107") + private Long configBaseSampleId; + @Schema(description = "检测方法配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "10243") @ExcelProperty("检测方法配置ID") private Long configAssayMethodId; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectCoefficientSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectCoefficientSaveReqVO.java index d588ce5..f0c7a60 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectCoefficientSaveReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectCoefficientSaveReqVO.java @@ -13,6 +13,9 @@ public class ConfigAssayMethodProjectCoefficientSaveReqVO { @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "26850") private Long id; + @Schema(description = "主样配置ID", example = "30107") + private Long configBaseSampleId; + @Schema(description = "检测方法配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "10243") @NotNull(message = "检测方法配置ID不能为空") private Long configAssayMethodId; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectRangePageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectRangePageReqVO.java index d476294..dc9061f 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectRangePageReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectRangePageReqVO.java @@ -13,6 +13,9 @@ import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH @Data public class ConfigAssayMethodProjectRangePageReqVO extends PageParam { + @Schema(description = "主样配置ID", example = "30107") + private Long configBaseSampleId; + @Schema(description = "检测方法配置ID", example = "6862") private Long configAssayMethodId; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectRangeRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectRangeRespVO.java index d03ffb1..6abd4d8 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectRangeRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectRangeRespVO.java @@ -16,6 +16,9 @@ public class ConfigAssayMethodProjectRangeRespVO { @ExcelProperty("ID") private Long id; + @Schema(description = "主样配置ID", example = "30107") + private Long configBaseSampleId; + @Schema(description = "检测方法配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "6862") @ExcelProperty("检测方法配置ID") private Long configAssayMethodId; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectRangeSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectRangeSaveReqVO.java index b063629..188f92e 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectRangeSaveReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectRangeSaveReqVO.java @@ -12,6 +12,9 @@ public class ConfigAssayMethodProjectRangeSaveReqVO { @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "25632") private Long id; + @Schema(description = "主样配置ID", example = "30107") + private Long configBaseSampleId; + @Schema(description = "检测方法配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "6862") @NotNull(message = "检测方法配置ID不能为空") private Long configAssayMethodId; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigAssayMethodProjectCoefficientDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigAssayMethodProjectCoefficientDO.java index 8902230..7482778 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigAssayMethodProjectCoefficientDO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigAssayMethodProjectCoefficientDO.java @@ -33,6 +33,11 @@ public class ConfigAssayMethodProjectCoefficientDO extends BusinessBaseDO { @TableId(type = IdType.ASSIGN_ID) private Long id; /** + * 主样配置ID + */ + @TableField("CFG_BSE_SMP_ID") + private Long configBaseSampleId; + /** * 检测方法配置ID */ @TableField("CFG_ASY_MTHD_ID") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigAssayMethodProjectRangeDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigAssayMethodProjectRangeDO.java index 066780e..61bfca3 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigAssayMethodProjectRangeDO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigAssayMethodProjectRangeDO.java @@ -32,6 +32,11 @@ public class ConfigAssayMethodProjectRangeDO extends BusinessBaseDO { @TableId(type = IdType.ASSIGN_ID) private Long id; /** + * 主样配置ID + */ + @TableField("CFG_BSE_SMP_ID") + private Long configBaseSampleId; + /** * 检测方法配置ID */ @TableField("CFG_ASY_MTHD_ID") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigAssayMethodProjectCoefficientMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigAssayMethodProjectCoefficientMapper.java index bc2eda1..7b98810 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigAssayMethodProjectCoefficientMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigAssayMethodProjectCoefficientMapper.java @@ -19,6 +19,7 @@ public interface ConfigAssayMethodProjectCoefficientMapper extends BaseMapperX selectPage(ConfigAssayMethodProjectCoefficientPageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(ConfigAssayMethodProjectCoefficientDO::getConfigBaseSampleId, reqVO.getConfigBaseSampleId()) .eqIfPresent(ConfigAssayMethodProjectCoefficientDO::getConfigAssayMethodId, reqVO.getConfigAssayMethodId()) .eqIfPresent(ConfigAssayMethodProjectCoefficientDO::getConfigAssayMethodProjectId, reqVO.getConfigAssayMethodProjectId()) .eqIfPresent(ConfigAssayMethodProjectCoefficientDO::getDictionaryProjectId, reqVO.getDictionaryProjectId()) @@ -34,4 +35,9 @@ public interface ConfigAssayMethodProjectCoefficientMapper extends BaseMapperX selectByConfigBaseSampleIds(List configBaseSampleIdList){ + return selectList(new LambdaQueryWrapperX() + .in(ConfigAssayMethodProjectCoefficientDO::getConfigBaseSampleId, configBaseSampleIdList)); + } + } \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigAssayMethodProjectRangeMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigAssayMethodProjectRangeMapper.java index 5472299..1e875aa 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigAssayMethodProjectRangeMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigAssayMethodProjectRangeMapper.java @@ -18,6 +18,7 @@ public interface ConfigAssayMethodProjectRangeMapper extends BaseMapperX selectPage(ConfigAssayMethodProjectRangePageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(ConfigAssayMethodProjectRangeDO::getConfigBaseSampleId, reqVO.getConfigBaseSampleId()) .eqIfPresent(ConfigAssayMethodProjectRangeDO::getConfigAssayMethodId, reqVO.getConfigAssayMethodId()) .eqIfPresent(ConfigAssayMethodProjectRangeDO::getConfigAssayMethodProjectId, reqVO.getConfigAssayMethodProjectId()) .eqIfPresent(ConfigAssayMethodProjectRangeDO::getDictionaryProjectId, reqVO.getDictionaryProjectId()) diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/thirdpartyapi/service/AutoIngredientsServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/thirdpartyapi/service/AutoIngredientsServiceImpl.java index 7bd8d4f..6bf8243 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/thirdpartyapi/service/AutoIngredientsServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/thirdpartyapi/service/AutoIngredientsServiceImpl.java @@ -35,7 +35,6 @@ import com.zt.plat.module.qms.business.config.controller.vo.ConfigSubSampleMetho import com.zt.plat.module.qms.business.config.controller.vo.ConfigSubSampleMethodConfItem; import com.zt.plat.module.qms.business.config.controller.vo.ConfigSubSampleMethodConfPoint; import com.zt.plat.module.qms.business.config.controller.vo.ConfigSubSampleMethodExtendRespVO; -import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigSubSampleMethodDO; import com.zt.plat.module.qms.business.config.dal.mapper.ConfigSubSampleMethodMapper; import com.zt.plat.module.qms.enums.QmsCommonConstant; import com.zt.plat.module.qms.thirdpartyapi.controller.vo.AutoIngredientsTaskAssayResultReqVO; @@ -81,6 +80,7 @@ public class AutoIngredientsServiceImpl implements AutoIngredientsService { public List taskList(AutoIngredientsTaskQueryReqVO reqVO) { BusinessAssayTaskPageReqVO search = new BusinessAssayTaskPageReqVO(); search.setIsIngredients(QmsCommonConstant.YES); + search.setIngredientsWay(QmsCommonConstant.AUTOMATIC);//自动火试金配料 search.setIngredientsStatus(QmsCommonConstant.IN_PROGRESS); if (reqVO.getTaskTimeStart() != null && reqVO.getTaskTimeEnd() != null) { LocalDateTime[] taskAssignSubmiTimes = {reqVO.getTaskTimeStart(), reqVO.getTaskTimeEnd()}; @@ -186,6 +186,13 @@ public class AutoIngredientsServiceImpl implements AutoIngredientsService { Long taskId = body.getTaskId(); //查询任务分配信息 BusinessAssayTaskDO businessAssayTaskDO = businessAssayTaskMapper.selectById(taskId); + if (QmsCommonConstant.MANUAL.equals(businessAssayTaskDO.getIngredientsWay())) { + throw new ServiceException(1_032_001_000, "当前任务已人工配料"); + } + if (QmsCommonConstant.SUBMITTED.equals(businessAssayTaskDO.getTaskAssayStatus())) { + throw new ServiceException(1_032_001_000, "当前任务已提交"); + } + List sampleList = body.getSampleList(); //获取检测任务id List businessAssayTaskDataIdList = sampleList.stream().map(m -> m.getId()).collect(Collectors.toList());