From ad667e6fb497960a9d78da5f20441b5c9faabdee Mon Sep 17 00:00:00 2001 From: wxr Date: Thu, 16 Oct 2025 09:19:57 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AD=97=E6=AE=B5=E4=BF=AE=E6=94=B9=E7=AD=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/SampleAnalysisAuditController.java | 6 ++ .../BusinessAssayProjectDataExtendRespVO.java | 15 ++++ ...sinessSubSampleAssessmentExtendRespVO.java | 3 + .../BusinessAssayProjectDataMapper.java | 4 + .../BusinessSubSampleAssessmentMapper.java | 3 + .../service/SampleAnalysisAuditService.java | 2 + .../SampleAnalysisAuditServiceImpl.java | 74 +++++++++++++++---- .../vo/ConfigSubSamplePageReqVO.java | 2 +- .../controller/vo/ConfigSubSampleRespVO.java | 2 +- .../vo/ConfigSubSampleSaveReqVO.java | 2 +- .../dal/dataobject/ConfigSubSampleDO.java | 4 +- .../dal/mapper/ConfigSubSampleMapper.java | 2 +- 12 files changed, 97 insertions(+), 22 deletions(-) diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/SampleAnalysisAuditController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/SampleAnalysisAuditController.java index ddf6f08..0ff6cc3 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/SampleAnalysisAuditController.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/SampleAnalysisAuditController.java @@ -76,4 +76,10 @@ public class SampleAnalysisAuditController { return success("成功"); } + //重新创建复检委托 + @PostMapping("/createReAnalysis") + public CommonResult createReAnalysis(Long businessSubSampleId, Long configAssayMethodId) { + sampleAnalysisAuditService.createReAnalysis(businessSubSampleId, configAssayMethodId); + return success("成功"); + } } 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 5a6e367..397744f 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 @@ -5,6 +5,18 @@ import lombok.Data; @Data public class BusinessAssayProjectDataExtendRespVO extends BusinessAssayProjectDataRespVO { + + @Schema(description = "样品主样ID", example = "23293") + private Long businessBaseSampleId; + + @Schema(description = "样品分样ID", example = "15024") + private Long businessSubParentSampleId; + + @Schema(description = "分样子样ID", example = "20464") + private Long businessSubSampleId; + + @Schema(description = "任务分配单Id") + private Long businessAssayTaskId; @Schema(description = "样品名称", example = "张三") private String sampleName; @@ -32,4 +44,7 @@ public class BusinessAssayProjectDataExtendRespVO extends BusinessAssayProjectDa @Schema(description = "单位") private String dictionaryProjectUnit; + + @Schema(description = "分析次数") + private Integer analysisCount; } diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubSampleAssessmentExtendRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubSampleAssessmentExtendRespVO.java index aa9a947..077bb5e 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubSampleAssessmentExtendRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubSampleAssessmentExtendRespVO.java @@ -8,6 +8,9 @@ public class BusinessSubSampleAssessmentExtendRespVO extends BusinessSubSampleAs @Schema(description = "检测项目key") private String dictionaryProjectKey; + + @Schema(description = "检测项目单位") + private String dictionaryProjectUnit; @Schema(description = "检测项目缩写") private String simpleName; 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 a4e3e2e..46ba28a 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 @@ -97,6 +97,10 @@ public interface BusinessAssayProjectDataMapper extends BaseMapperX selectByBusinessSubSampleIdAndConfigAssayMethodId(Long businessSubSampleId, Long configAssayMethodId) { return selectJoinList(BusinessSubSampleAssessmentExtendRespVO.class, new MPJLambdaWrapperX() + .leftJoin(ConfigAssayMethodProjectDO.class, ConfigAssayMethodProjectDO::getId, BusinessSubSampleAssessmentDO::getConfigAssayMethodProjectId) .leftJoin(DictionaryProjectDO.class, DictionaryProjectDO::getId, BusinessSubSampleAssessmentDO::getDictionaryProjectId) .selectAll(BusinessSubSampleAssessmentDO.class) + .selectAs(ConfigAssayMethodProjectDO::getDictionaryProjectUnit, BusinessSubSampleAssessmentExtendRespVO::getDictionaryProjectUnit) .selectAs(DictionaryProjectDO::getKey, BusinessSubSampleAssessmentExtendRespVO::getDictionaryProjectKey) .selectAs(DictionaryProjectDO::getSimpleName, BusinessSubSampleAssessmentExtendRespVO::getSimpleName) .selectAs(DictionaryProjectDO::getShowName, BusinessSubSampleAssessmentExtendRespVO::getShowName) diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisAuditService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisAuditService.java index b6b2880..4a11e07 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisAuditService.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisAuditService.java @@ -26,4 +26,6 @@ public interface SampleAnalysisAuditService { void assessmentDataReporting(Long businessSubSampleId, Long configAssayMethodId); + void createReAnalysis(Long businessSubSampleId, Long configAssayMethodId); + } 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 d2b31a7..1d3e7db 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 @@ -30,6 +30,7 @@ import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDO; 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.BusinessSubSampleAssessmentDO; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubSampleDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessTeamAssessmentDO; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayProjectDataMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayReportDataMapper; @@ -38,16 +39,19 @@ import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayTaskDetailMap import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayTaskMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessBaseSampleMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSubSampleAssessmentMapper; +import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSubSampleMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessTeamAssessmentMapper; 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.ConfigReportFieldDO; +import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigSubSampleDO; import com.zt.plat.module.qms.business.config.dal.mapper.ConfigAssayMethodProjectAssessmentMapper; 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; import com.zt.plat.module.qms.business.config.dal.mapper.ConfigReportTypeMapper; import com.zt.plat.module.qms.business.config.dal.mapper.ConfigSampleReportMapper; +import com.zt.plat.module.qms.business.config.dal.mapper.ConfigSubSampleMapper; import com.zt.plat.module.qms.core.qlexpress.cmp.AllowanceCalculatorComponent; import com.zt.plat.module.qms.enums.QmsCommonConstant; @@ -169,8 +173,9 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic List businessSubSampleAssessmentList = businessSubSampleAssessmentMapper.selectByBusinessSubSampleIdAndConfigAssayMethodId(businessAssayTaskDataExtendRespVO.getBusinessSubSampleId(), configAssayMethodId); for (BusinessSubSampleAssessmentExtendRespVO businessSubSampleAssessment : businessSubSampleAssessmentList) { businessAssayTaskDataAssessmentMap.put("id", businessSubSampleAssessment.getId()); + businessAssayTaskDataAssessmentMap.put("assessmentStatus", businessSubSampleAssessment.getAssessmentStatus()); businessAssayTaskDataAssessmentMap.put(businessSubSampleAssessment.getSimpleName(), businessSubSampleAssessment.getAssessmentValue()); - businessAssayTaskDataAssessmentMap.put("assessmentStatus", businessSubSampleAssessment.getAssessmentValue()); + businessAssayTaskDataAssessmentMap.put("assessmentValue", businessSubSampleAssessment.getAssessmentValue()); } } else if ("双杯".equals(businessAssayTaskDataExtendRespVO.getAssayType())) { //businessTeamAssessmentMapper.selectBy @@ -200,27 +205,43 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic List> columnList = new ArrayList<>(); List> dataList = new ArrayList<>(); - //查询判定值 - List businessSubSampleAssessmentList = businessSubSampleAssessmentMapper.selectByBusinessSubSampleIdAndConfigAssayMethodId(businessSubSampleId, configAssayMethodId); - - for (BusinessSubSampleAssessmentExtendRespVO businessSubSampleAssessment : businessSubSampleAssessmentList) { - Map businessSubSampleAssessmentMap = BeanUtil.beanToMap(businessSubSampleAssessment); - - - - dataList.add(businessSubSampleAssessmentMap); - } - //查询子样平行分析结果 BusinessAssayProjectDataReqVO search = new BusinessAssayProjectDataReqVO(); search.setBusinessSubSampleId(businessSubSampleId); search.setConfigAssayMethodId(configAssayMethodId); List businessAssayProjectDataList = businessAssayProjectDataMapper.selectAnalysisBy(search); -// BusinessAssayTaskDataReqVO search = new BusinessAssayTaskDataReqVO(); -// search.setBusinessSubSampleId(businessSubSampleId); -// search.setConfigAssayMethodId(configAssayMethodId); -// List resultAssessmentList = businessAssayTaskDataMapper.selectResultAssessmentList(search); + //已检测项目分组,取第一个 + Map> businessAssayProjectDataMap = businessAssayProjectDataList.stream().collect(Collectors.groupingBy(BusinessAssayProjectDataExtendRespVO::getConfigAssayMethodProjectId)); + for (Map.Entry> businessAssayProjectDataEntry : businessAssayProjectDataMap.entrySet()) { + //单个检测项目的分析结果 + List businessAssayProjectDataSingleList = businessAssayProjectDataEntry.getValue(); + for (BusinessAssayProjectDataExtendRespVO businessAssayProjectDataExtendRespVO : businessAssayProjectDataSingleList) {//每个检测结果作为一个动态列 + columnList.add(new HashMap() {{ + put("title", businessAssayProjectDataExtendRespVO.getSampleAssayCode() + "(" + businessAssayProjectDataExtendRespVO.getAssayOperator() + ")"); + put("field", businessAssayProjectDataExtendRespVO.getId() + ";" + businessAssayProjectDataExtendRespVO.getConfigAssayMethodProjectId() + ";" + businessAssayProjectDataExtendRespVO.getBusinessSubSampleId() + ";" + businessAssayProjectDataExtendRespVO.getAnalysisCount()); +// put("dataType", configAssayMethodProject.getDataType()); +// put("decimalPosition", configAssayMethodProject.getDecimalPosition()); +// put("isEdit", true); + }}); + } + + //取第一个后跳出循环 + break; + } + + //查询判定值 + List businessSubSampleAssessmentList = businessSubSampleAssessmentMapper.selectByBusinessSubSampleIdAndConfigAssayMethodId(businessSubSampleId, configAssayMethodId); + + for (BusinessSubSampleAssessmentExtendRespVO businessSubSampleAssessment : businessSubSampleAssessmentList) { + Map businessSubSampleAssessmentMap = BeanUtil.beanToMap(businessSubSampleAssessment); + List businessAssayProjectDataSingleList = businessAssayProjectDataList.stream().filter(f -> f.getDictionaryProjectId().equals(businessSubSampleAssessment.getDictionaryProjectId())).collect(Collectors.toList()); + for (BusinessAssayProjectDataExtendRespVO businessAssayProjectDataExtendRespVO : businessAssayProjectDataSingleList) { + businessSubSampleAssessmentMap.put(businessAssayProjectDataExtendRespVO.getId() + ";" + businessAssayProjectDataExtendRespVO.getConfigAssayMethodProjectId() + ";" + businessAssayProjectDataExtendRespVO.getBusinessSubSampleId() + ";" + businessAssayProjectDataExtendRespVO.getAnalysisCount(), businessAssayProjectDataExtendRespVO.getValue()); + } + dataList.add(businessSubSampleAssessmentMap); + } + JSONObject json = new JSONObject(); json.put("columns", columnList); @@ -549,6 +570,27 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic .in(BusinessSubSampleAssessmentDO::getId, businessSubSampleAssessmentIdList)); } + @Resource + private ConfigSubSampleMapper configSubSampleMapper; + + @Resource + private BusinessSubSampleMapper businessSubSampleMapper; + + @Override + @Transactional(rollbackFor = Exception.class) + public void createReAnalysis(Long businessSubSampleId, Long configAssayMethodId) { + //子样数据 + BusinessSubSampleDO businessSubSampleDO = businessSubSampleMapper.selectById(businessSubSampleId); + + //子样配置数据 + ConfigSubSampleDO configSubSampleDO = configSubSampleMapper.selectById(businessSubSampleDO.getConfigSubSampleId()); + + + + //businessAssayTaskDataMapper.select + + } + } diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSamplePageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSamplePageReqVO.java index b9845c5..b6b44b8 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSamplePageReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSamplePageReqVO.java @@ -38,7 +38,7 @@ public class ConfigSubSamplePageReqVO extends PageParam { private Integer isPrint; @Schema(description = "复检节点") - private String recheckFlowCode; + private String recheckFlowNodeKey; @Schema(description = "样品名称", example = "芋艿") private String sampleName; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleRespVO.java index fbd2a11..ede36a2 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleRespVO.java @@ -50,7 +50,7 @@ public class ConfigSubSampleRespVO { @Schema(description = "复检节点") @ExcelProperty("复检节点") - private String recheckFlowCode; + private String recheckFlowNodeKey; @Schema(description = "样品名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") @ExcelProperty("样品名称") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleSaveReqVO.java index cafb9c2..b46f509 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleSaveReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleSaveReqVO.java @@ -44,7 +44,7 @@ public class ConfigSubSampleSaveReqVO { private Integer isPrint; @Schema(description = "复检节点") - private String recheckFlowCode; + private String recheckFlowNodeKey; @Schema(description = "样品名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") @NotEmpty(message = "样品名称不能为空") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigSubSampleDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigSubSampleDO.java index 322dbe3..45acba8 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigSubSampleDO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigSubSampleDO.java @@ -74,8 +74,8 @@ public class ConfigSubSampleDO extends BusinessBaseDO { /** * 复检节点 */ - @TableField("RCHK_FLW_CD") - private String recheckFlowCode; + @TableField("RCHK_FLW_NDE_KY") + private String recheckFlowNodeKey; /** * 样品名称 */ diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigSubSampleMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigSubSampleMapper.java index e9a115e..d6a6072 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigSubSampleMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigSubSampleMapper.java @@ -26,7 +26,7 @@ public interface ConfigSubSampleMapper extends BaseMapperX { .eqIfPresent(ConfigSubSampleDO::getSimpleCodeRule, reqVO.getSimpleCodeRule()) .eqIfPresent(ConfigSubSampleDO::getCodeRule, reqVO.getCodeRule()) .eqIfPresent(ConfigSubSampleDO::getIsPrint, reqVO.getIsPrint()) - .eqIfPresent(ConfigSubSampleDO::getRecheckFlowCode, reqVO.getRecheckFlowCode()) + .eqIfPresent(ConfigSubSampleDO::getRecheckFlowNodeKey, reqVO.getRecheckFlowNodeKey()) .likeIfPresent(ConfigSubSampleDO::getSampleName, reqVO.getSampleName()) .eqIfPresent(ConfigSubSampleDO::getSampleSaveDay, reqVO.getSampleSaveDay()) .eqIfPresent(ConfigSubSampleDO::getSystemDepartmentCode, reqVO.getSystemDepartmentCode())