From ae90142aad116467ec759934ef8ecfef55e7b0b7 Mon Sep 17 00:00:00 2001 From: wxr Date: Thu, 18 Dec 2025 13:55:32 +0800 Subject: [PATCH 01/16] =?UTF-8?q?=E8=B4=A8=E6=8E=A7=E7=A9=BA=E7=99=BD?= =?UTF-8?q?=E6=A0=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/SampleTaskAssignController.java | 8 - .../SampleTaskAssignDataSaveOrUpdateCmp.java | 33 +++ .../SampleTaskAssignQCSampleCmp.java | 189 +++++++++++++---- .../slot/SampleTaskAssignContext.java | 12 ++ .../service/SampleAnalysisServiceImpl.java | 2 +- .../bus/service/SampleTaskAssignService.java | 8 - .../service/SampleTaskAssignServiceImpl.java | 200 ------------------ 7 files changed, 190 insertions(+), 262 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 8e962b0..772e60a 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 @@ -56,14 +56,6 @@ public class SampleTaskAssignController implements BusinessControllerMarker { return success(list); } - /** - @GetMapping("/getAssayMethodList") - public CommonResult getAssayMethodList(Long businessSubSampleId, Long configAssayMethodId) { - List list = sampleTaskAssignService.getAssayMethodList(businessSubSampleId, configAssayMethodId); - return success(list); - } - **/ - @GetMapping("/getAssayMethodProjectList") public CommonResult getAssayMethodProjectList(String businessSubSampleIds, Long configAssayMethodId) { List businessSubSampleIdList = Arrays.asList(businessSubSampleIds.split(",")).stream().map(Long::parseLong).toList(); diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/taskassign/SampleTaskAssignDataSaveOrUpdateCmp.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/taskassign/SampleTaskAssignDataSaveOrUpdateCmp.java index c8a6723..42a47d1 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/taskassign/SampleTaskAssignDataSaveOrUpdateCmp.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/taskassign/SampleTaskAssignDataSaveOrUpdateCmp.java @@ -11,11 +11,17 @@ import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDataD import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDetailDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCCoefficientDataDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCCoefficientParameterDataDO; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCManagementDataDO; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCManagementParameterDataDO; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCManagementProjectDataDO; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayTaskDataMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayTaskDetailMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayTaskMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCCoefficientDataMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCCoefficientParameterDataMapper; +import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCManagementDataMapper; +import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCManagementParameterDataMapper; +import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCManagementProjectDataMapper; import com.zt.plat.module.qms.business.bus.liteflow.slot.SampleTaskAssignContext; import jakarta.annotation.Resource; @@ -36,6 +42,15 @@ public class SampleTaskAssignDataSaveOrUpdateCmp extends NodeComponent { @Resource private BusinessQCCoefficientParameterDataMapper businessQCCoefficientParameterDataMapper; + + @Resource + private BusinessQCManagementDataMapper businessQCManagementDataMapper; + + @Resource + private BusinessQCManagementProjectDataMapper businessQCManagementProjectDataMapper; + + @Resource + private BusinessQCManagementParameterDataMapper businessQCManagementParameterDataMapper; @Override public void process() throws Exception { @@ -53,6 +68,12 @@ public class SampleTaskAssignDataSaveOrUpdateCmp extends NodeComponent { List businessQCCoefficientParameterDataList = sampleTaskAssignContext.getBusinessQCCoefficientParameterDataList(); + List businessQCManagementDataDOList = sampleTaskAssignContext.getBusinessQCManagementDataDOList(); + + List businessQCManagementProjectDataDOList = sampleTaskAssignContext.getBusinessQCManagementProjectDataDOList(); + + List businessQCManagementParameterDataDOList = sampleTaskAssignContext.getBusinessQCManagementParameterDataDOList(); + if (CollUtil.isNotEmpty(savebusinessAssayTaskList)) { this.businessAssayTaskMapper.insertBatch(savebusinessAssayTaskList); } @@ -76,6 +97,18 @@ public class SampleTaskAssignDataSaveOrUpdateCmp extends NodeComponent { if (CollUtil.isNotEmpty(businessQCCoefficientParameterDataList)) { this.businessQCCoefficientParameterDataMapper.insertBatch(businessQCCoefficientParameterDataList); } + + if (CollUtil.isNotEmpty(businessQCManagementDataDOList)) { + this.businessQCManagementDataMapper.insertBatch(businessQCManagementDataDOList); + } + + if (CollUtil.isNotEmpty(businessQCManagementProjectDataDOList)) { + this.businessQCManagementProjectDataMapper.insertBatch(businessQCManagementProjectDataDOList); + } + + if (CollUtil.isNotEmpty(businessQCManagementParameterDataDOList)) { + this.businessQCManagementParameterDataMapper.insertBatch(businessQCManagementParameterDataDOList); + } } } diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/taskassign/SampleTaskAssignQCSampleCmp.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/taskassign/SampleTaskAssignQCSampleCmp.java index e19d749..baea2ae 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/taskassign/SampleTaskAssignQCSampleCmp.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/taskassign/SampleTaskAssignQCSampleCmp.java @@ -11,12 +11,20 @@ import com.yomahub.liteflow.core.NodeComponent; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCCoefficientDataDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCCoefficientParameterDataDO; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCManagementDataDO; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCManagementParameterDataDO; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCManagementProjectDataDO; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCCoefficientDataMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCCoefficientParameterDataMapper; +import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCManagementDataMapper; +import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCManagementParameterDataMapper; +import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCManagementProjectDataMapper; import com.zt.plat.module.qms.business.bus.liteflow.slot.SampleTaskAssignContext; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigAssayMethodProjectExtendRespVO; import com.zt.plat.module.qms.business.config.controller.vo.ConfigQCSampleMethodExtendRespVO; import com.zt.plat.module.qms.business.config.controller.vo.ConfigQCSampleMethodParameterExtendRespVO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodDO; +import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodProjectParameterDO; import com.zt.plat.module.qms.business.config.dal.mapper.ConfigAssayMethodMapper; import com.zt.plat.module.qms.business.config.dal.mapper.ConfigAssayMethodProjectMapper; import com.zt.plat.module.qms.business.config.dal.mapper.ConfigAssayMethodProjectParameterMapper; @@ -55,6 +63,15 @@ public class SampleTaskAssignQCSampleCmp extends NodeComponent { @Resource private BusinessQCCoefficientParameterDataMapper businessQCCoefficientParameterDataMapper; + @Resource + private BusinessQCManagementDataMapper businessQCManagementDataMapper; + + @Resource + private BusinessQCManagementProjectDataMapper businessQCManagementProjectDataMapper; + + @Resource + private BusinessQCManagementParameterDataMapper businessQCManagementParameterDataMapper; + @Override public void process() throws Exception { SampleTaskAssignContext sampleTaskAssignContext = this.getContextBean(SampleTaskAssignContext.class); @@ -62,6 +79,11 @@ public class SampleTaskAssignQCSampleCmp extends NodeComponent { List businessQCCoefficientDataDOList = new ArrayList<>(); List businessQCCoefficientParameterDataDOList = new ArrayList<>(); + + List businessQCManagementDataDOList = new ArrayList<>(); + List businessQCManagementProjectDataDOList = new ArrayList<>(); + List businessQCManagementParameterDataDOList = new ArrayList<>(); + //分配任务 List businessAssayTaskList = new ArrayList<>(); //获取需要保存的分配任务 @@ -86,63 +108,140 @@ public class SampleTaskAssignQCSampleCmp extends NodeComponent { //循环分配任务 for (BusinessAssayTaskDO businessAssayTaskDO : businessAssayTaskList) { - ConfigQCSampleMethodExtendRespVO configQCSampleMethodExtendRespVO = configQCSampleMethodList.stream().filter(f -> f.getConfigAssayMethodId().equals(businessAssayTaskDO.getConfigAssayMethodId()) && "kby".equals(f.getDictionaryBusinessKey())).findFirst().orElse(null); + ConfigQCSampleMethodExtendRespVO configQCSampleMethodExtendRespVO = configQCSampleMethodList.stream().filter(f -> f.getConfigAssayMethodId().equals(businessAssayTaskDO.getConfigAssayMethodId()) && ("kby".equals(f.getDictionaryBusinessKey()) || "zkkby".equals(f.getDictionaryBusinessKey()))).findFirst().orElse(null); //不存在空白样,直接跳出 if (configQCSampleMethodExtendRespVO == null) { - break; + continue; } ConfigAssayMethodDO configAssayMethodDO = configAssayMethodMapper.selectById(businessAssayTaskDO.getConfigAssayMethodId()); - //查询下质控数据,如果存在则跳出循环 - List businessQCCoefficientDataList = businessQCCoefficientDataMapper.selectByBusinessAssayTaskId(businessAssayTaskDO.getId()); - //如果存在则跳出循环 - if (CollUtil.isNotEmpty(businessQCCoefficientDataList)) { - break; + if ("kby".equals(configQCSampleMethodExtendRespVO.getDictionaryBusinessKey())) { //普通空白样 + + //查询下质控数据,如果存在则跳出循环 + List businessQCCoefficientDataList = businessQCCoefficientDataMapper.selectByBusinessAssayTaskId(businessAssayTaskDO.getId()); + //如果存在则跳出循环 + if (CollUtil.isNotEmpty(businessQCCoefficientDataList)) { + continue; + } + + //根据默认配置的个数生成空白样 + for (int i = 0; i < configQCSampleMethodExtendRespVO.getDefaultCount(); i++) { + + BusinessQCCoefficientDataDO businessQCCoefficientDataDO = new BusinessQCCoefficientDataDO(); + businessQCCoefficientDataDO.setId(IdWorker.getId()); + businessQCCoefficientDataDO.setBusinessAssayTaskId(businessAssayTaskDO.getId()); + businessQCCoefficientDataDO.setConfigAssayMethodId(configQCSampleMethodExtendRespVO.getConfigAssayMethodId()); + businessQCCoefficientDataDO.setSampleName(configQCSampleMethodExtendRespVO.getDictionaryBusinessName()); + if (StringUtils.isNotBlank(configQCSampleMethodExtendRespVO.getCodeRule())) { + String codeSample = sequenceUtil.genCode(configQCSampleMethodExtendRespVO.getCodeRule()); + businessQCCoefficientDataDO.setSampleCode(codeSample); + } + businessQCCoefficientDataDO.setDictionaryBusinessId(configQCSampleMethodExtendRespVO.getDictionaryBusinessId()); + businessQCCoefficientDataDO.setDictionaryBusinessKey(configQCSampleMethodExtendRespVO.getDictionaryBusinessKey()); + businessQCCoefficientDataDO.setAssayDepartmentId(configAssayMethodDO.getAssayDepartmentId()); + businessQCCoefficientDataDO.setAssayDepartmentName(configAssayMethodDO.getAssayDepartmentName()); + businessQCCoefficientDataDO.setAssayOperator(businessAssayTaskDO.getAssayOperator()); + businessQCCoefficientDataDO.setAssayOperatorId(businessAssayTaskDO.getAssayOperatorId()); + businessQCCoefficientDataDO.setAssayProject(""); + businessQCCoefficientDataDO.setAssignTaskTime(businessAssayTaskDO.getTaskAssignTime()); + businessQCCoefficientDataDO.setIsAssignTasked(QmsCommonConstant.YES); + businessQCCoefficientDataDO.setIsReported(QmsCommonConstant.NO); + + businessQCCoefficientDataDOList.add(businessQCCoefficientDataDO); + + List configQCSampleMethodParameterExtendRespVOs = configQcSampleMethodParameterList.stream().filter(f -> f.getConfigQCSampleMethodId().equals(configQCSampleMethodExtendRespVO.getId())).collect(Collectors.toList()); + for (ConfigQCSampleMethodParameterExtendRespVO configQCSampleMethodParameterExtendRespVO : configQCSampleMethodParameterExtendRespVOs) { + BusinessQCCoefficientParameterDataDO businessQCCoefficientParameterDataDO = new BusinessQCCoefficientParameterDataDO(); + businessQCCoefficientParameterDataDO.setBusinessQCCoefficientDataId(businessQCCoefficientDataDO.getId()); + businessQCCoefficientParameterDataDO.setConfigQCSampleMethodParameterId(configQCSampleMethodParameterExtendRespVO.getId()); + businessQCCoefficientParameterDataDO.setDictionaryParameterId(configQCSampleMethodParameterExtendRespVO.getDictionaryParameterId()); + businessQCCoefficientParameterDataDO.setDataType(configQCSampleMethodParameterExtendRespVO.getDataType()); + businessQCCoefficientParameterDataDO.setDecimalPosition(configQCSampleMethodParameterExtendRespVO.getDecimalPosition()); + businessQCCoefficientParameterDataDO.setValue(configQCSampleMethodParameterExtendRespVO.getDefaultValue()); + + businessQCCoefficientParameterDataDOList.add(businessQCCoefficientParameterDataDO); + } + } + + } else if ("zkkby".equals(configQCSampleMethodExtendRespVO.getDictionaryBusinessKey())) {//质控空白样 + //查询质控数据,如果存在则跳出循环 + List businessQCManagementDataList = businessQCManagementDataMapper.selectByBusinessAssayTaskId(businessAssayTaskDO.getId()); + if (CollUtil.isNotEmpty(businessQCManagementDataList)) { + continue; + } + + //分析项目 + List configAssayMethodProjectExtendRespList = configAssayMethodProjectMapper.selectByConfigAssayMethodId(businessAssayTaskDO.getConfigAssayMethodId()); + List configAssayMethodProjectIds = configAssayMethodProjectExtendRespList.stream().map(m -> m.getId()).collect(Collectors.toList()); + //分析项目参数 + List configAssayMethodProjectParameterList = configAssayMethodProjectParameterMapper.selectByConfigAssayMethodProjectIds(configAssayMethodProjectIds); + //分析项目 + String assayProject = configAssayMethodProjectExtendRespList.stream().map(m -> m.getShowName()).collect(Collectors.joining(",")); + + for (int i = 0; i < configQCSampleMethodExtendRespVO.getDefaultCount(); i++) { + + BusinessQCManagementDataDO businessQCManagementDataDO = new BusinessQCManagementDataDO(); + businessQCManagementDataDO.setId(IdWorker.getId()); + businessQCManagementDataDO.setBusinessAssayTaskId(businessAssayTaskDO.getId()); + businessQCManagementDataDO.setConfigAssayMethodId(businessAssayTaskDO.getConfigAssayMethodId()); + businessQCManagementDataDO.setSampleName(configQCSampleMethodExtendRespVO.getDictionaryBusinessName()); + if (StringUtils.isNotBlank(configQCSampleMethodExtendRespVO.getCodeRule())) { + String codeSample = sequenceUtil.genCode(configQCSampleMethodExtendRespVO.getCodeRule()); + businessQCManagementDataDO.setSampleCode(codeSample); + } + businessQCManagementDataDO.setBusinessStandardSampleId(null);//特殊空白样无定值样 + businessQCManagementDataDO.setDictionaryBusinessId(configQCSampleMethodExtendRespVO.getDictionaryBusinessId()); + businessQCManagementDataDO.setDictionaryBusinessKey(configQCSampleMethodExtendRespVO.getDictionaryBusinessKey()); + businessQCManagementDataDO.setAssayDepartmentId(configAssayMethodDO.getAssayDepartmentId()); + businessQCManagementDataDO.setAssayDepartmentName(configAssayMethodDO.getAssayDepartmentName()); + businessQCManagementDataDO.setAssayOperator(businessAssayTaskDO.getAssayOperator()); + businessQCManagementDataDO.setAssayOperatorId(businessAssayTaskDO.getAssayOperatorId()); + businessQCManagementDataDO.setAssayProject(assayProject); + businessQCManagementDataDO.setAssignTaskTime(businessAssayTaskDO.getTaskAssignTime()); + businessQCManagementDataDO.setIsAssignTasked(QmsCommonConstant.YES); + businessQCManagementDataDO.setIsReported(QmsCommonConstant.NO); + + businessQCManagementDataDOList.add(businessQCManagementDataDO); + + for (ConfigAssayMethodProjectExtendRespVO configAssayMethodProjectExtendRespVO : configAssayMethodProjectExtendRespList) { + BusinessQCManagementProjectDataDO businessQCManagementProjectDataDO = new BusinessQCManagementProjectDataDO(); + businessQCManagementProjectDataDO.setId(IdWorker.getId()); + businessQCManagementProjectDataDO.setBusinessQCManagementDataId(businessQCManagementDataDO.getId()); + businessQCManagementProjectDataDO.setConfigAssayMethodProjectId(configAssayMethodProjectExtendRespVO.getId()); + businessQCManagementProjectDataDO.setDictionaryProjectId(configAssayMethodProjectExtendRespVO.getDictionaryProjectId()); + businessQCManagementProjectDataDO.setUsage(QmsCommonConstant.ASSAY_PROJECT_USAGE_QUALITY_CONTROL); + businessQCManagementProjectDataDO.setSymbol("="); + businessQCManagementProjectDataDO.setDataType(configAssayMethodProjectExtendRespVO.getDataType()); + businessQCManagementProjectDataDO.setDecimalPosition(configAssayMethodProjectExtendRespVO.getDecimalPosition()); + businessQCManagementProjectDataDO.setIsEnabled(configAssayMethodProjectExtendRespVO.getIsDefaultEnabled()); + + businessQCManagementProjectDataDOList.add(businessQCManagementProjectDataDO); + + List configAssayMethodProjectParameterDoList = configAssayMethodProjectParameterList.stream().filter(f -> f.getConfigAssayMethodProjectId().equals(configAssayMethodProjectExtendRespVO.getId())).collect(Collectors.toList()); + for (ConfigAssayMethodProjectParameterDO configAssayMethodProjectParameterDO : configAssayMethodProjectParameterDoList) { + BusinessQCManagementParameterDataDO businessQCManagementParameterDataDO = new BusinessQCManagementParameterDataDO(); + businessQCManagementParameterDataDO.setBusinessQCManagementProjectDataId(businessQCManagementProjectDataDO.getId()); + businessQCManagementParameterDataDO.setConfigAssayMethodProjectParameterId(configAssayMethodProjectParameterDO.getId()); + businessQCManagementParameterDataDO.setDictionaryParameterId(configAssayMethodProjectParameterDO.getDictionaryParameterId()); + businessQCManagementParameterDataDO.setDataType(configAssayMethodProjectParameterDO.getDataType()); + businessQCManagementParameterDataDO.setDecimalPosition(configAssayMethodProjectParameterDO.getDecimalPosition()); + + businessQCManagementParameterDataDOList.add(businessQCManagementParameterDataDO); + } + + } + } + } - //根据默认配置的个数生成空白样 - for (int i = 0; i < configQCSampleMethodExtendRespVO.getDefaultCount(); i++) { - - BusinessQCCoefficientDataDO businessQCCoefficientDataDO = new BusinessQCCoefficientDataDO(); - businessQCCoefficientDataDO.setId(IdWorker.getId()); - businessQCCoefficientDataDO.setBusinessAssayTaskId(businessAssayTaskDO.getId()); - businessQCCoefficientDataDO.setConfigAssayMethodId(configQCSampleMethodExtendRespVO.getConfigAssayMethodId()); - businessQCCoefficientDataDO.setSampleName(configQCSampleMethodExtendRespVO.getDictionaryBusinessName()); - if (StringUtils.isNotBlank(configQCSampleMethodExtendRespVO.getCodeRule())) { - String codeSample = sequenceUtil.genCode(configQCSampleMethodExtendRespVO.getCodeRule()); - businessQCCoefficientDataDO.setSampleCode(codeSample); - } - businessQCCoefficientDataDO.setDictionaryBusinessId(configQCSampleMethodExtendRespVO.getDictionaryBusinessId()); - businessQCCoefficientDataDO.setDictionaryBusinessKey(configQCSampleMethodExtendRespVO.getDictionaryBusinessKey()); - businessQCCoefficientDataDO.setAssayDepartmentId(configAssayMethodDO.getAssayDepartmentId()); - businessQCCoefficientDataDO.setAssayDepartmentName(configAssayMethodDO.getAssayDepartmentName()); - businessQCCoefficientDataDO.setAssayOperator(businessAssayTaskDO.getAssayOperator()); - businessQCCoefficientDataDO.setAssayOperatorId(businessAssayTaskDO.getAssayOperatorId()); - businessQCCoefficientDataDO.setAssayProject(""); - businessQCCoefficientDataDO.setAssignTaskTime(businessAssayTaskDO.getTaskAssignTime()); - businessQCCoefficientDataDO.setIsAssignTasked(QmsCommonConstant.YES); - businessQCCoefficientDataDO.setIsReported(QmsCommonConstant.NO); - - businessQCCoefficientDataDOList.add(businessQCCoefficientDataDO); - - List configQCSampleMethodParameterExtendRespVOs = configQcSampleMethodParameterList.stream().filter(f -> f.getConfigQCSampleMethodId().equals(configQCSampleMethodExtendRespVO.getId())).collect(Collectors.toList()); - for (ConfigQCSampleMethodParameterExtendRespVO configQCSampleMethodParameterExtendRespVO : configQCSampleMethodParameterExtendRespVOs) { - BusinessQCCoefficientParameterDataDO businessQCCoefficientParameterDataDO = new BusinessQCCoefficientParameterDataDO(); - businessQCCoefficientParameterDataDO.setBusinessQCCoefficientDataId(businessQCCoefficientDataDO.getId()); - businessQCCoefficientParameterDataDO.setConfigQCSampleMethodParameterId(configQCSampleMethodParameterExtendRespVO.getId()); - businessQCCoefficientParameterDataDO.setDictionaryParameterId(configQCSampleMethodParameterExtendRespVO.getDictionaryParameterId()); - businessQCCoefficientParameterDataDO.setDataType(configQCSampleMethodParameterExtendRespVO.getDataType()); - businessQCCoefficientParameterDataDO.setDecimalPosition(configQCSampleMethodParameterExtendRespVO.getDecimalPosition()); - businessQCCoefficientParameterDataDO.setValue(configQCSampleMethodParameterExtendRespVO.getDefaultValue()); - - businessQCCoefficientParameterDataDOList.add(businessQCCoefficientParameterDataDO); - } - } } sampleTaskAssignContext.setBusinessQCCoefficientDataList(businessQCCoefficientDataDOList); sampleTaskAssignContext.setBusinessQCCoefficientParameterDataList(businessQCCoefficientParameterDataDOList); + sampleTaskAssignContext.setBusinessQCManagementDataDOList(businessQCManagementDataDOList); + sampleTaskAssignContext.setBusinessQCManagementProjectDataDOList(businessQCManagementProjectDataDOList); + sampleTaskAssignContext.setBusinessQCManagementParameterDataDOList(businessQCManagementParameterDataDOList); } } diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/slot/SampleTaskAssignContext.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/slot/SampleTaskAssignContext.java index 8c00403..187bfd7 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/slot/SampleTaskAssignContext.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/slot/SampleTaskAssignContext.java @@ -10,6 +10,9 @@ import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDataD import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDetailDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCCoefficientDataDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCCoefficientParameterDataDO; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCManagementDataDO; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCManagementParameterDataDO; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCManagementProjectDataDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubSampleDO; import com.zt.plat.module.qms.business.bus.liteflow.param.AssignAssayUser; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodDO; @@ -89,5 +92,14 @@ public class SampleTaskAssignContext { /** 质控样-(空白、标准)检测参数数据 **/ private List businessQCCoefficientParameterDataList; + + /** 质控样-(质控空白) **/ + private List businessQCManagementDataDOList; + + /** 质控样-(质控空白)检测项目 **/ + private List businessQCManagementProjectDataDOList; + + /** 质控样-(质控空白)检测项目参数 **/ + private List businessQCManagementParameterDataDOList; } 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 21edfe2..ede664e 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 @@ -947,7 +947,7 @@ public class SampleAnalysisServiceImpl implements SampleAnalysisService { businessAssayParameterDataMapper.updateBatch(businessAssayParameterDataList); } - } else if ("zky".equals(businessAssayTaskAnalysisDataRespVO.getAnalysisType())) { + } else if ("zky".equals(businessAssayTaskAnalysisDataRespVO.getAnalysisType()) || "zkkby".equals(businessAssayTaskAnalysisDataRespVO.getAnalysisType())) { List BusinessQCManagementDataList = businessQCManagementDataMapper.selectByBusinessAssayTaskId(businessAssayTaskDO.getId()); List businessQCManagementDataIdList = BusinessQCManagementDataList.stream().map(m -> m.getId()).collect(Collectors.toList()); diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleTaskAssignService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleTaskAssignService.java index c0dda7d..bad10e0 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleTaskAssignService.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleTaskAssignService.java @@ -31,14 +31,6 @@ public interface SampleTaskAssignService { */ List getAssaySampleList(BusinessAssayTaskDataReqVO reqVO); - /** - * 根据子样id查询分析方法 - * @param businessSubSampleId - * @param configAssayMethodId - * @return - */ -// List getAssayMethodList(Long businessSubSampleId, Long configAssayMethodId); - /** * 根据子样id列表,查询分析方法项目 * @param businessSubSampleIdList 子样id列表 diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleTaskAssignServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleTaskAssignServiceImpl.java index 49cfd46..2fcfd04 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleTaskAssignServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleTaskAssignServiceImpl.java @@ -187,65 +187,6 @@ public class SampleTaskAssignServiceImpl implements SampleTaskAssignService { List list = businessAssayTaskDataMapper.selectUnAssignTaskedSubSample(reqVO); return list; } - - /** - @Override - public List getAssayMethodList(Long businessSubSampleId, Long configAssayMethodId) { - List resutList = new ArrayList<>(); - //当前登录用户 - LoginUser loginUser = SecurityFrameworkUtils.getLoginUser(); - Long visitDeptId = loginUser.getVisitDeptId(); - - //子样 - BusinessSubSampleDO businessSubSampleDO = businessSubSampleMapper.selectById(businessSubSampleId); - //原检测项目 - List oldConfigAssayMethodProjectList = configAssayMethodProjectMapper.selectByConfigAssayMethodId(configAssayMethodId); - //原检测项目字典id列表 - List oldDictionaryProjectIdList = oldConfigAssayMethodProjectList.stream().map(m -> m.getDictionaryProjectId()).collect(Collectors.toList()); - - - //子样对应的检测任务 - List businessAssayTaskDataDOList = businessAssayTaskDataMapper.selectByBusinessSubSampleId(businessSubSampleId); - - //查询子样配置的方法 - List configSubSampleMethodList = configSubSampleMethodMapper.selectByConfigSubSampleIdAndAssayDepartmentId(businessSubSampleDO.getConfigSubSampleId(), visitDeptId); - - JSONObject jsonObject = null; - for (ConfigSubSampleMethodExtendRespVO configSubSampleMethod : configSubSampleMethodList) { - jsonObject = new JSONObject(); - jsonObject.put("configAssayMethodId", configSubSampleMethod.getConfigAssayMethodId()); - jsonObject.put("configAssayMethodName", configSubSampleMethod.getConfigAssayMethodName()); - jsonObject.put("configAssayMethodNameAndCategory", configSubSampleMethod.getConfigAssayMethodNameAndCategory()); - jsonObject.put("configAssayMethodCode", configSubSampleMethod.getConfigAssayMethodCode()); - - StringBuilder assayProjectBuilder = new StringBuilder(); - List configAssayMethodProjectList = configAssayMethodProjectMapper.selectByConfigAssayMethodId(configSubSampleMethod.getConfigAssayMethodId()); - - //判定是否存在原检测项目 - boolean isExistProject = configAssayMethodProjectList.stream().anyMatch(m -> oldDictionaryProjectIdList.contains(m.getDictionaryProjectId())); - if (!isExistProject) {//如果不存在,则跳出循环 - continue; - } - - - for (ConfigAssayMethodProjectExtendRespVO configAssayMethodProject : configAssayMethodProjectList) { - assayProjectBuilder.append(configAssayMethodProject.getShowName()).append(","); - } - assayProjectBuilder.delete(assayProjectBuilder.length() - 1 , assayProjectBuilder.length()); - - jsonObject.put("assayProject", assayProjectBuilder.toString()); - - boolean checked = businessAssayTaskDataDOList.stream().anyMatch(m -> m.getConfigAssayMethodId().equals(configSubSampleMethod.getConfigAssayMethodId())); - boolean disabled = businessAssayTaskDataDOList.stream().anyMatch(m -> m.getConfigAssayMethodId().equals(configSubSampleMethod.getConfigAssayMethodId()) && m.getIsAssignTasked().equals(QmsCommonConstant.YES)); - jsonObject.put("checked", checked); - jsonObject.put("disabled", disabled); - - resutList.add(jsonObject); - } - - return resutList; - } - **/ @Override public List getAssayMethodProjectList(List businessSubSampleIdList, Long configAssayMethodId) { @@ -709,147 +650,6 @@ public class SampleTaskAssignServiceImpl implements SampleTaskAssignService { } - /** - @Override - @Transactional(rollbackFor = Exception.class) - public void changeMethod(ChangeAssayMethodReqVO req) { - - List updateBusinessAssayReportDataDOList = new ArrayList<>(); - List saveBusinessAssayTaskDataDOList = new ArrayList<>(); - List saveBusinessAssayProjectDataDOList = new ArrayList<>(); - List saveBusinessAssayParameterDataDOList = new ArrayList<>(); - - List removeProjectIdList = new ArrayList<>(); - List removeParameterIdList = new ArrayList<>(); - //子样 - BusinessSubSampleDO businessSubSampleDO = businessSubSampleMapper.selectById(req.getBusinessSubSampleId()); - - //查询检测任务 - List businessAssayTaskDataDOList = businessAssayTaskDataMapper.selectByBusinessSubParentSampleIdAndConfigAssayMethodId(businessSubSampleDO.getBusinessSubParentSampleId(), req.getConfigAssayMethodId()); - - boolean disabled = businessAssayTaskDataDOList.stream().anyMatch(m -> m.getIsAssignTasked().equals(QmsCommonConstant.YES)); - if (disabled) { - throw new ServiceException(10010, "当前样品存在已分配任务,不允许修改分析方法"); - } - //查询报表数据 - List businessAssayReportDataDOList = businessAssayReportDataMapper.selectBytBusinessBaseSampleId(businessSubSampleDO.getBusinessBaseSampleId()); - for (BusinessAssayReportDataDO businessAssayReportDataDO : businessAssayReportDataDOList) { - String dataSource = businessAssayReportDataDO.getDataSource(); - if (dataSource.contains(req.getConfigAssayMethodId().toString())) {//判定是否存在 - List dataSourceList = new ArrayList<>(); - String[] dataSourceSplit = dataSource.split(","); - for (int i = 0; i < dataSourceSplit.length; i++) { - dataSourceList.add(Long.parseLong(dataSourceSplit[i])); - } - //移除当前的 - dataSourceList.remove(req.getConfigAssayMethodId()); - //添加新的 - dataSourceList.addAll(req.getChangeConfigAssayMethodIdList()); - - //重新赋值 - businessAssayReportDataDO.setDataSource(CollUtil.join(dataSourceList, ",")); - - //添加到更新列表 - updateBusinessAssayReportDataDOList.add(businessAssayReportDataDO); - } - - } - - for (BusinessAssayTaskDataDO businessAssayTaskDataDO : businessAssayTaskDataDOList) { - //查询旧的 - List businessAssayProjectDataExtendRespVOs = businessAssayProjectDataMapper.selectByBusinessAssayTaskDataId(businessAssayTaskDataDO.getId()); - List businessAssayProjectDataIdList = businessAssayProjectDataExtendRespVOs.stream().map(m -> m.getId()).collect(Collectors.toList()); - removeProjectIdList.addAll(businessAssayProjectDataIdList); - List businessAssayParameterDataDOList = businessAssayParameterDataMapper.selectByBusinessAssayProjectDataIds(businessAssayProjectDataIdList); - List businessAssayParameterDataDOIdList = businessAssayParameterDataDOList.stream().map(m -> m.getId()).collect(Collectors.toList()); - removeParameterIdList.addAll(businessAssayParameterDataDOIdList); - - int i = 0; - for (Long configAssayMethodId : req.getChangeConfigAssayMethodIdList()) { - Long businessAssayTaskDataId = null; - if (i == 0) { - businessAssayTaskDataId = businessAssayTaskDataDO.getId(); - businessAssayTaskDataDO.setConfigAssayMethodId(configAssayMethodId); - } else { - businessAssayTaskDataId = IdWorker.getId(); - BusinessAssayTaskDataDO newBusinessAssayTaskDataDO = new BusinessAssayTaskDataDO(); - newBusinessAssayTaskDataDO.setId(businessAssayTaskDataId); - newBusinessAssayTaskDataDO.setBusinessBaseSampleId(businessSubSampleDO.getBusinessBaseSampleId()); - newBusinessAssayTaskDataDO.setBusinessSubParentSampleId(businessSubSampleDO.getBusinessSubParentSampleId()); - newBusinessAssayTaskDataDO.setBusinessSubSampleId(businessSubSampleDO.getId()); - newBusinessAssayTaskDataDO.setConfigAssayMethodId(configAssayMethodId); - newBusinessAssayTaskDataDO.setAssayType(businessAssayTaskDataDO.getAssayType()); - newBusinessAssayTaskDataDO.setTaskType(businessAssayTaskDataDO.getTaskType()); - newBusinessAssayTaskDataDO.setConfigSampleFlowId(businessAssayTaskDataDO.getConfigSampleFlowId()); - newBusinessAssayTaskDataDO.setSampleFlowNodeKey(businessAssayTaskDataDO.getSampleFlowNodeKey()); - newBusinessAssayTaskDataDO.setSampleFlowNodeTime(businessAssayTaskDataDO.getSampleFlowNodeTime()); - newBusinessAssayTaskDataDO.setAssayDepartmentId(businessAssayTaskDataDO.getAssayDepartmentId()); - newBusinessAssayTaskDataDO.setAssayDepartmentName(businessAssayTaskDataDO.getAssayDepartmentName()); - - saveBusinessAssayTaskDataDOList.add(newBusinessAssayTaskDataDO); - } - - //查询新的检测项目 - List configAssayMethodProjectDOList = configAssayMethodProjectMapper.selectByConfigAssayMethodId(businessAssayTaskDataDO.getConfigAssayMethodId()); - - StringBuilder assayProjectBuilder = new StringBuilder(); - - for (ConfigAssayMethodProjectExtendRespVO configAssayMethodProjectDO : configAssayMethodProjectDOList) { - assayProjectBuilder.append(configAssayMethodProjectDO.getShowName()).append(","); - - //检测项目 - BusinessAssayProjectDataDO businessAssayProjectDataDO = new BusinessAssayProjectDataDO(); - businessAssayProjectDataDO.setId(IdWorker.getId()); - businessAssayProjectDataDO.setBusinessAssayTaskDataId(businessAssayTaskDataDO.getId()); - businessAssayProjectDataDO.setConfigAssayMethodProjectId(configAssayMethodProjectDO.getId()); - businessAssayProjectDataDO.setDictionaryProjectId(configAssayMethodProjectDO.getDictionaryProjectId()); - businessAssayProjectDataDO.setDataType(configAssayMethodProjectDO.getDataType()); - businessAssayProjectDataDO.setDecimalPosition(configAssayMethodProjectDO.getDecimalPosition()); - businessAssayProjectDataDO.setIsEnabled(1); - businessAssayProjectDataDO.setIsNotAssessment(0); - - saveBusinessAssayProjectDataDOList.add(businessAssayProjectDataDO); - - List configAssayMethodProjectParameterDOList = configAssayMethodProjectParameterMapper.selectByConfigAssayMethodProjectId(configAssayMethodProjectDO.getId()); - for (ConfigAssayMethodProjectParameterDO configAssayMethodProjectParameterDO : configAssayMethodProjectParameterDOList) { - BusinessAssayParameterDataDO businessAssayParameterDataDO = new BusinessAssayParameterDataDO(); - businessAssayParameterDataDO.setId(IdWorker.getId()); - businessAssayParameterDataDO.setConfigAssayMethodProjectParameterId(configAssayMethodProjectParameterDO.getId()); - businessAssayParameterDataDO.setBusinessAssayProjectDataId(businessAssayProjectDataDO.getId()); - businessAssayParameterDataDO.setDictionaryParameterId(configAssayMethodProjectParameterDO.getDictionaryParameterId()); - businessAssayParameterDataDO.setDataType(configAssayMethodProjectParameterDO.getDataType()); - businessAssayParameterDataDO.setDecimalPosition(configAssayMethodProjectParameterDO.getDecimalPosition()); - - - saveBusinessAssayParameterDataDOList.add(businessAssayParameterDataDO); - } - } - - i++; - } - - - } - - businessAssayTaskDataMapper.updateBatch(businessAssayTaskDataDOList); - businessAssayProjectDataMapper.deleteByIds(removeProjectIdList); - businessAssayParameterDataMapper.deleteByIds(removeParameterIdList); - //更新报表数据来源 - if (updateBusinessAssayReportDataDOList.size() > 0) { - businessAssayReportDataMapper.updateBatch(updateBusinessAssayReportDataDOList); - } - if (saveBusinessAssayTaskDataDOList.size() > 0) { - businessAssayTaskDataMapper.insertBatch(saveBusinessAssayTaskDataDOList); - } - if (saveBusinessAssayProjectDataDOList.size() > 0) { - businessAssayProjectDataMapper.insertBatch(saveBusinessAssayProjectDataDOList); - } - if (saveBusinessAssayParameterDataDOList.size() > 0) { - businessAssayParameterDataMapper.insertBatch(saveBusinessAssayParameterDataDOList); - } - } - **/ - @Override @Transactional(rollbackFor = Exception.class) public LiteflowResponse methodAssign(SampleTaskAssignMethodParam param) { From e75ebd9a2c9961ac289e186ee52048ea79a45d0a Mon Sep 17 00:00:00 2001 From: wxr Date: Thu, 18 Dec 2025 20:22:41 +0800 Subject: [PATCH 02/16] =?UTF-8?q?=E5=A7=94=E6=89=98=E6=A0=B7=E5=93=81?= =?UTF-8?q?=E7=94=9F=E6=88=90=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sample/entrust/SampleEntrustGenSampleDataCmp.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/entrust/SampleEntrustGenSampleDataCmp.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/entrust/SampleEntrustGenSampleDataCmp.java index 175f5af..8019665 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/entrust/SampleEntrustGenSampleDataCmp.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/entrust/SampleEntrustGenSampleDataCmp.java @@ -273,9 +273,6 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent { //获取当前样品的检测项目 List sampleEntrustProjectDOList = sampleEntrustProjectList.stream().filter(f -> businessSampleEntrustDetailDO.getId().equals(f.getBusinessSampleEntrustDetailId())).collect(Collectors.toList()); - //当前样品检测项目字典id列表 - List dictionaryProjectIdList = sampleEntrustProjectDOList.stream().map(m -> m.getDictionaryProjectId()).collect(Collectors.toList()); - //获取物料检测标准检测项目id列表 List materialAssayStandardDetailIdList = sampleEntrustProjectDOList.stream().map(m -> m.getMaterialAssayStandardDetailId()).collect(Collectors.toList()); @@ -410,6 +407,12 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent { BusinessSubSampleAnalysisGroupDO businessSubSampleAnalysisGroupDO = null; for (Long configAssayMethodId : materialAssayStandardConfigAssayMethodIdList) { + //获取分析方法对应的分析标准 + List currentMaterialAssayStandardMethodList = materialAssayStandardMethodList.stream().filter(f -> f.getConfigAssayMethodId().equals(configAssayMethodId)).collect(Collectors.toList()); + //获取分析标准的明细id + List currentMaterialAssayStandardDetailIdList = currentMaterialAssayStandardMethodList.stream().map(m -> m.getMaterialAssayStandardDetailId()).collect(Collectors.toList()); + //获取当前分析方法对应的检测项目 + List dictionaryProjectIdList = sampleEntrustProjectDOList.stream().filter(f -> currentMaterialAssayStandardDetailIdList.contains(f.getMaterialAssayStandardDetailId())).map(m -> m.getDictionaryProjectId()).collect(Collectors.toList()); //查询分析方法 ConfigAssayMethodDO configAssayMethodDO = configAssayMethodList.stream().filter(f -> f.getId().equals(configAssayMethodId)).findFirst().orElse(null); From 6607abd6c52d70d16cd92ccdf040493ec76ac393 Mon Sep 17 00:00:00 2001 From: wxr Date: Fri, 19 Dec 2025 09:10:07 +0800 Subject: [PATCH 03/16] =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E5=88=86=E9=85=8D-?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E7=AE=A1=E7=90=86=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/qms/enums/ErrorCodeConstants.java | 2 + ...inessAssayTaskParameterDataController.java | 106 ++++++++++++++++ .../BusinessQCCoefficientDataController.java | 16 +-- .../BusinessQCManagementDataController.java | 14 +- ...sinessAssayTaskParameterDataPageReqVO.java | 44 +++++++ .../BusinessAssayTaskParameterDataRespVO.java | 55 ++++++++ ...sinessAssayTaskParameterDataSaveReqVO.java | 43 +++++++ ...BusinessQCCoefficientDataExtendRespVO.java | 16 +++ .../BusinessQCManagementDataExtendRespVO.java | 16 +++ .../controller/vo/CreateQcSampleReqVO.java | 3 + .../controller/vo/DeleteQcSampleReqVO.java | 3 + .../BusinessAssayTaskParameterDataDO.java | 75 +++++++++++ .../BusinessAssayProjectDataMapper.java | 13 ++ .../BusinessAssayTaskParameterDataMapper.java | 34 +++++ .../BusinessQCCoefficientDataMapper.java | 120 ++++++++++-------- .../BusinessQCManagementDataMapper.java | 119 +++++++++-------- .../SampleTaskAssignQCSampleCmp.java | 34 ++++- ...BusinessAssayTaskParameterDataService.java | 61 +++++++++ ...nessAssayTaskParameterDataServiceImpl.java | 91 +++++++++++++ .../BusinessQCCoefficientDataService.java | 4 +- .../BusinessQCCoefficientDataServiceImpl.java | 4 +- .../BusinessQCManagementDataService.java | 4 +- .../BusinessQCManagementDataServiceImpl.java | 4 +- .../service/SampleTaskAssignServiceImpl.java | 30 ++++- .../ConfigAssayMethodParameterController.java | 106 ++++++++++++++++ .../ConfigAssayMethodParameterPageReqVO.java | 71 +++++++++++ .../vo/ConfigAssayMethodParameterRespVO.java | 91 +++++++++++++ .../ConfigAssayMethodParameterSaveReqVO.java | 74 +++++++++++ .../vo/ConfigQCSampleMethodExtendRespVO.java | 6 + .../vo/ConfigQCSampleMethodPageReqVO.java | 3 + .../vo/ConfigQCSampleMethodRespVO.java | 4 + .../vo/ConfigQCSampleMethodSaveReqVO.java | 3 + .../ConfigAssayMethodParameterDO.java | 120 ++++++++++++++++++ .../dataobject/ConfigQCSampleMethodDO.java | 5 + .../ConfigAssayMethodParameterMapper.java | 43 +++++++ .../mapper/ConfigQCSampleMethodMapper.java | 11 +- .../ConfigAssayMethodParameterService.java | 62 +++++++++ ...ConfigAssayMethodParameterServiceImpl.java | 91 +++++++++++++ .../BusinessAssayTaskParameterDataMapper.xml | 12 ++ .../ConfigAssayMethodParameterMapper.xml | 12 ++ 40 files changed, 1491 insertions(+), 134 deletions(-) create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessAssayTaskParameterDataController.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskParameterDataPageReqVO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskParameterDataRespVO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskParameterDataSaveReqVO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessQCCoefficientDataExtendRespVO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessQCManagementDataExtendRespVO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessAssayTaskParameterDataDO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskParameterDataMapper.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessAssayTaskParameterDataService.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessAssayTaskParameterDataServiceImpl.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigAssayMethodParameterController.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodParameterPageReqVO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodParameterRespVO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodParameterSaveReqVO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigAssayMethodParameterDO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigAssayMethodParameterMapper.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigAssayMethodParameterService.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigAssayMethodParameterServiceImpl.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskParameterDataMapper.xml create mode 100644 zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/config/dal/mapper/ConfigAssayMethodParameterMapper.xml diff --git a/zt-module-qms/zt-module-qms-api/src/main/java/com/zt/plat/module/qms/enums/ErrorCodeConstants.java b/zt-module-qms/zt-module-qms-api/src/main/java/com/zt/plat/module/qms/enums/ErrorCodeConstants.java index d512974..59959e2 100644 --- a/zt-module-qms/zt-module-qms-api/src/main/java/com/zt/plat/module/qms/enums/ErrorCodeConstants.java +++ b/zt-module-qms/zt-module-qms-api/src/main/java/com/zt/plat/module/qms/enums/ErrorCodeConstants.java @@ -37,6 +37,7 @@ public interface ErrorCodeConstants { /*==============================config 配置模块 1_032_050_000 ~ 1_032_099_999 ===============================*/ ErrorCode CONFIG_REPORT_TEMPLATE_NOT_EXISTS = new ErrorCode(1_032_050_000, "报表模版配置不存在"); ErrorCode CONFIG_ASSAY_METHOD_NOT_EXISTS = new ErrorCode(1_032_050_000, "检测方法配置不存在"); + ErrorCode CONFIG_ASSAY_METHOD_PARAMETER_NOT_EXISTS = new ErrorCode(1_032_050_000, "检测方法参数配置不存在"); ErrorCode CONFIG_ASSAY_METHOD_PROJECT_NOT_EXISTS = new ErrorCode(1_032_050_000, "检测方法分析项目配置不存在"); ErrorCode CONFIG_ASSAY_METHOD_PROJECT_RANGE_NOT_EXISTS = new ErrorCode(1_032_050_000, "检测方法分析项目区间不存在"); ErrorCode CONFIG_ASSAY_METHOD_PROJECT_ASSESSMENT_NOT_EXISTS = new ErrorCode(1_032_050_000, "检测方法分析项目判定不存在"); @@ -101,6 +102,7 @@ public interface ErrorCodeConstants { ErrorCode BUSINESS_HANDOVER_RECORD_SUB_NOT_EXISTS = new ErrorCode(1_032_100_000, "子样交接记录业务不存在"); ErrorCode BUSINESS_SAMPLE_ASSAY_RESULT_NOT_EXISTS = new ErrorCode(1_032_100_000, "委检登记来样品位不存在"); ErrorCode BUSINESS_ASSAY_TASK_DATA_NOT_EXISTS = new ErrorCode(1_032_100_000, "子样检测任务业务不存在"); + ErrorCode BUSINESS_ASSAY_TASK_PARAMETER_DATA_NOT_EXISTS = new ErrorCode(1_032_100_000, "子样检测任务参数业务不存在"); ErrorCode BUSINESS_ASSAY_PROJECT_DATA_NOT_EXISTS = new ErrorCode(1_032_100_000, "检测项目数据业务不存在"); ErrorCode BUSINESS_ASSAY_PARAMETER_DATA_NOT_EXISTS = new ErrorCode(1_032_100_000, "检测参数数据业务不存在"); ErrorCode BUSINESS_SUB_SAMPLE_ASSESSMENT_NOT_EXISTS = new ErrorCode(1_032_100_000, "子样判定业务不存在"); diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessAssayTaskParameterDataController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessAssayTaskParameterDataController.java new file mode 100644 index 0000000..b62186b --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessAssayTaskParameterDataController.java @@ -0,0 +1,106 @@ +package com.zt.plat.module.qms.business.bus.controller.admin; + +import org.springframework.web.bind.annotation.*; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import com.zt.plat.framework.business.interceptor.BusinessControllerMarker; + +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import jakarta.validation.constraints.*; +import jakarta.validation.*; +import jakarta.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO; +import com.zt.plat.framework.common.pojo.PageParam; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.common.pojo.CommonResult; +import com.zt.plat.framework.common.util.object.BeanUtils; +import static com.zt.plat.framework.common.pojo.CommonResult.success; + +import com.zt.plat.framework.excel.core.util.ExcelUtils; +import com.zt.plat.module.qms.business.bus.controller.vo.*; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskParameterDataDO; +import com.zt.plat.module.qms.business.bus.service.BusinessAssayTaskParameterDataService; +import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog; +import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*; + +@Tag(name = "管理后台 - 子样检测任务参数业务") +@RestController +@RequestMapping("/qms/business-assay-task-parameter-data") +@Validated +public class BusinessAssayTaskParameterDataController implements BusinessControllerMarker { + + + @Resource + private BusinessAssayTaskParameterDataService businessAssayTaskParameterDataService; + + @PostMapping("/create") + @Operation(summary = "创建子样检测任务参数业务") + @PreAuthorize("@ss.hasPermission('qms:business-assay-task-parameter-data:create')") + public CommonResult createBusinessAssayTaskParameterData(@Valid @RequestBody BusinessAssayTaskParameterDataSaveReqVO createReqVO) { + return success(businessAssayTaskParameterDataService.createBusinessAssayTaskParameterData(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新子样检测任务参数业务") + @PreAuthorize("@ss.hasPermission('qms:business-assay-task-parameter-data:update')") + public CommonResult updateBusinessAssayTaskParameterData(@Valid @RequestBody BusinessAssayTaskParameterDataSaveReqVO updateReqVO) { + businessAssayTaskParameterDataService.updateBusinessAssayTaskParameterData(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除子样检测任务参数业务") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('qms:business-assay-task-parameter-data:delete')") + public CommonResult deleteBusinessAssayTaskParameterData(@RequestParam("id") Long id) { + businessAssayTaskParameterDataService.deleteBusinessAssayTaskParameterData(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除子样检测任务参数业务") + @PreAuthorize("@ss.hasPermission('qms:business-assay-task-parameter-data:delete')") + public CommonResult deleteBusinessAssayTaskParameterDataList(@RequestBody BatchDeleteReqVO req) { + businessAssayTaskParameterDataService.deleteBusinessAssayTaskParameterDataListByIds(req.getIds()); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得子样检测任务参数业务") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('qms:business-assay-task-parameter-data:query')") + public CommonResult getBusinessAssayTaskParameterData(@RequestParam("id") Long id) { + BusinessAssayTaskParameterDataDO businessAssayTaskParameterData = businessAssayTaskParameterDataService.getBusinessAssayTaskParameterData(id); + return success(BeanUtils.toBean(businessAssayTaskParameterData, BusinessAssayTaskParameterDataRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得子样检测任务参数业务分页") + @PreAuthorize("@ss.hasPermission('qms:business-assay-task-parameter-data:query')") + public CommonResult> getBusinessAssayTaskParameterDataPage(@Valid BusinessAssayTaskParameterDataPageReqVO pageReqVO) { + PageResult pageResult = businessAssayTaskParameterDataService.getBusinessAssayTaskParameterDataPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, BusinessAssayTaskParameterDataRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出子样检测任务参数业务 Excel") + @PreAuthorize("@ss.hasPermission('qms:business-assay-task-parameter-data:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportBusinessAssayTaskParameterDataExcel(@Valid BusinessAssayTaskParameterDataPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = businessAssayTaskParameterDataService.getBusinessAssayTaskParameterDataPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "子样检测任务参数业务.xls", "数据", BusinessAssayTaskParameterDataRespVO.class, + BeanUtils.toBean(list, BusinessAssayTaskParameterDataRespVO.class)); + } + +} \ 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/bus/controller/admin/BusinessQCCoefficientDataController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessQCCoefficientDataController.java index 59b1305..c8ca6be 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessQCCoefficientDataController.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessQCCoefficientDataController.java @@ -84,18 +84,18 @@ public class BusinessQCCoefficientDataController implements BusinessControllerMa @GetMapping("/page") @Operation(summary = "获得质控样检测系数任务数据,空白样、标样分页") - @PreAuthorize("@ss.hasPermission('qms:business-QC-coefficient-data:query')") - public CommonResult> getBusinessQCCoefficientDataPage(@Valid BusinessQCCoefficientDataPageReqVO pageReqVO) { - PageResult pageResult = businessQCCoefficientDataService.getBusinessQCCoefficientDataPage(pageReqVO); - return success(BeanUtils.toBean(pageResult, BusinessQCCoefficientDataRespVO.class)); +// @PreAuthorize("@ss.hasPermission('qms:business-QC-coefficient-data:query')") + public CommonResult> getBusinessQCCoefficientDataPage(@Valid BusinessQCCoefficientDataPageReqVO pageReqVO) { + PageResult pageResult = businessQCCoefficientDataService.getBusinessQCCoefficientDataPage(pageReqVO); + return success(pageResult); } @GetMapping("/list") @Operation(summary = "获得质控样检测系数任务数据,空白样、标样分页") // @PreAuthorize("@ss.hasPermission('qms:business-QC-coefficient-data:query')") - public CommonResult> getBusinessQCCoefficientDataPage(@Valid BusinessQCCoefficientDataReqVO reqVO) { - List pageResult = businessQCCoefficientDataService.getBusinessQCCoefficientDataList(reqVO); - return success(BeanUtils.toBean(pageResult, BusinessQCCoefficientDataRespVO.class)); + public CommonResult> getBusinessQCCoefficientDataPage(@Valid BusinessQCCoefficientDataReqVO reqVO) { + List listResult = businessQCCoefficientDataService.getBusinessQCCoefficientDataList(reqVO); + return success(listResult); } @GetMapping("/export-excel") @@ -105,7 +105,7 @@ public class BusinessQCCoefficientDataController implements BusinessControllerMa public void exportBusinessQCCoefficientDataExcel(@Valid BusinessQCCoefficientDataPageReqVO pageReqVO, HttpServletResponse response) throws IOException { pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); - List list = businessQCCoefficientDataService.getBusinessQCCoefficientDataPage(pageReqVO).getList(); + List list = businessQCCoefficientDataService.getBusinessQCCoefficientDataPage(pageReqVO).getList(); // 导出 Excel ExcelUtils.write(response, "质控样检测系数任务数据,空白样、标样.xls", "数据", BusinessQCCoefficientDataRespVO.class, BeanUtils.toBean(list, BusinessQCCoefficientDataRespVO.class)); diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessQCManagementDataController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessQCManagementDataController.java index f3e667e..28c20ab 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessQCManagementDataController.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessQCManagementDataController.java @@ -85,17 +85,17 @@ public class BusinessQCManagementDataController implements BusinessControllerMar @GetMapping("/page") @Operation(summary = "获得质控管理样检测任务数据,管理样、标准样分页") @PreAuthorize("@ss.hasPermission('qms:business-QC-management-data:query')") - public CommonResult> getBusinessQCManagementDataPage(@Valid BusinessQCManagementDataPageReqVO pageReqVO) { - PageResult pageResult = businessQCManagementDataService.getBusinessQCManagementDataPage(pageReqVO); - return success(BeanUtils.toBean(pageResult, BusinessQCManagementDataRespVO.class)); + public CommonResult> getBusinessQCManagementDataPage(@Valid BusinessQCManagementDataPageReqVO pageReqVO) { + PageResult pageResult = businessQCManagementDataService.getBusinessQCManagementDataPage(pageReqVO); + return success(pageResult); } @GetMapping("/list") @Operation(summary = "获得质控管理样检测任务数据,管理样、标准样列表") // @PreAuthorize("@ss.hasPermission('qms:business-QC-management-data:query')") - public CommonResult> getBusinessQCManagementDataList(@Valid BusinessQCManagementDataReqVO reqVO) { - List pageResult = businessQCManagementDataService.getBusinessQCManagementDataList(reqVO); - return success(BeanUtils.toBean(pageResult, BusinessQCManagementDataRespVO.class)); + public CommonResult> getBusinessQCManagementDataList(@Valid BusinessQCManagementDataReqVO reqVO) { + List listResult = businessQCManagementDataService.getBusinessQCManagementDataList(reqVO); + return success(listResult); } @GetMapping("/export-excel") @@ -105,7 +105,7 @@ public class BusinessQCManagementDataController implements BusinessControllerMar public void exportBusinessQCManagementDataExcel(@Valid BusinessQCManagementDataPageReqVO pageReqVO, HttpServletResponse response) throws IOException { pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); - List list = businessQCManagementDataService.getBusinessQCManagementDataPage(pageReqVO).getList(); + List list = businessQCManagementDataService.getBusinessQCManagementDataPage(pageReqVO).getList(); // 导出 Excel ExcelUtils.write(response, "质控管理样检测任务数据,管理样、标准样.xls", "数据", BusinessQCManagementDataRespVO.class, BeanUtils.toBean(list, BusinessQCManagementDataRespVO.class)); diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskParameterDataPageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskParameterDataPageReqVO.java new file mode 100644 index 0000000..c14ae8a --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskParameterDataPageReqVO.java @@ -0,0 +1,44 @@ +package com.zt.plat.module.qms.business.bus.controller.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import com.zt.plat.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 子样检测任务参数业务分页 Request VO") +@Data +public class BusinessAssayTaskParameterDataPageReqVO extends PageParam { + + @Schema(description = "检测任务ID", example = "11383") + private Long businessAssayTaskDataId; + + @Schema(description = "检测方法参数配置ID", example = "9000") + private Long configAssayMethodParameterId; + + @Schema(description = "值") + private String value; + + @Schema(description = "数据类型,字典表【T_DIC_BSN】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间", example = "1") + private String dataType; + + @Schema(description = "小数位") + private Integer decimalPosition; + + @Schema(description = "乐观锁", example = "3750") + private Integer updateCount; + + @Schema(description = "所属部门") + private String systemDepartmentCode; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "备注") + private String remark; + +} \ 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/bus/controller/vo/BusinessAssayTaskParameterDataRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskParameterDataRespVO.java new file mode 100644 index 0000000..120708d --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskParameterDataRespVO.java @@ -0,0 +1,55 @@ +package com.zt.plat.module.qms.business.bus.controller.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import com.alibaba.excel.annotation.*; + +@Schema(description = "管理后台 - 子样检测任务参数业务 Response VO") +@Data +@ExcelIgnoreUnannotated +public class BusinessAssayTaskParameterDataRespVO { + + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "2727") + @ExcelProperty("ID") + private Long id; + + @Schema(description = "检测任务ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "11383") + @ExcelProperty("检测任务ID") + private Long businessAssayTaskDataId; + + @Schema(description = "检测方法参数配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "9000") + @ExcelProperty("检测方法参数配置ID") + private Long configAssayMethodParameterId; + + @Schema(description = "值") + @ExcelProperty("值") + private String value; + + @Schema(description = "数据类型,字典表【T_DIC_BSN】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @ExcelProperty("数据类型,字典表【T_DIC_BSN】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间") + private String dataType; + + @Schema(description = "小数位") + @ExcelProperty("小数位") + private Integer decimalPosition; + + @Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "3750") + @ExcelProperty("乐观锁") + private Integer updateCount; + + @Schema(description = "所属部门") + @ExcelProperty("所属部门") + private String systemDepartmentCode; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @Schema(description = "备注") + @ExcelProperty("备注") + private String remark; + +} \ 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/bus/controller/vo/BusinessAssayTaskParameterDataSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskParameterDataSaveReqVO.java new file mode 100644 index 0000000..39a18c4 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskParameterDataSaveReqVO.java @@ -0,0 +1,43 @@ +package com.zt.plat.module.qms.business.bus.controller.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; + +@Schema(description = "管理后台 - 子样检测任务参数业务新增/修改 Request VO") +@Data +public class BusinessAssayTaskParameterDataSaveReqVO { + + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "2727") + private Long id; + + @Schema(description = "检测任务ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "11383") + @NotNull(message = "检测任务ID不能为空") + private Long businessAssayTaskDataId; + + @Schema(description = "检测方法参数配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "9000") + @NotNull(message = "检测方法参数配置ID不能为空") + private Long configAssayMethodParameterId; + + @Schema(description = "值") + private String value; + + @Schema(description = "数据类型,字典表【T_DIC_BSN】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotEmpty(message = "数据类型,字典表【T_DIC_BSN】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间不能为空") + private String dataType; + + @Schema(description = "小数位") + private Integer decimalPosition; + + @Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "3750") + @NotNull(message = "乐观锁不能为空") + private Integer updateCount; + + @Schema(description = "所属部门") + private String systemDepartmentCode; + + @Schema(description = "备注") + private String remark; + +} \ 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/bus/controller/vo/BusinessQCCoefficientDataExtendRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessQCCoefficientDataExtendRespVO.java new file mode 100644 index 0000000..3a55146 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessQCCoefficientDataExtendRespVO.java @@ -0,0 +1,16 @@ +package com.zt.plat.module.qms.business.bus.controller.vo; + +import lombok.Data; + +@Data +public class BusinessQCCoefficientDataExtendRespVO extends BusinessQCCoefficientDataRespVO { + + private String dictionaryBusinessName; + + private String parentDictionaryBusinessId; + + private String parentDictionaryBusinessName; + + private String parentDictionaryBusinesskey; + +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessQCManagementDataExtendRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessQCManagementDataExtendRespVO.java new file mode 100644 index 0000000..bdf61b8 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessQCManagementDataExtendRespVO.java @@ -0,0 +1,16 @@ +package com.zt.plat.module.qms.business.bus.controller.vo; + +import lombok.Data; + +@Data +public class BusinessQCManagementDataExtendRespVO extends BusinessQCManagementDataRespVO { + + private String dictionaryBusinessName; + + private String parentDictionaryBusinessId; + + private String parentDictionaryBusinessName; + + private String parentDictionaryBusinesskey; + +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/CreateQcSampleReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/CreateQcSampleReqVO.java index 791ac1c..6afd2e7 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/CreateQcSampleReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/CreateQcSampleReqVO.java @@ -26,4 +26,7 @@ public class CreateQcSampleReqVO { @Schema(description = "质控类型_Key,字典表【T_DIC_BSN】质控类型:空白样、管理样、标准样、标样") private String dictionaryBusinessKey; + + @Schema(description = "质控类型_父类_Key,字典表【T_DIC_BSN】质控类型:带检测项-withProject 不带检测项目-withoutProject") + private String parentDictionaryBusinesskey; } diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/DeleteQcSampleReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/DeleteQcSampleReqVO.java index 370da2d..8228ca7 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/DeleteQcSampleReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/DeleteQcSampleReqVO.java @@ -13,6 +13,9 @@ public class DeleteQcSampleReqVO { @Schema(description = "质控类型_Key,字典表【T_DIC_BSN】质控类型:空白样、管理样、标准样、标样") private String dictionaryBusinessKey; + + @Schema(description = "质控类型_父类_Key,字典表【T_DIC_BSN】质控类型:带检测项-withProject 不带检测项目-withoutProject") + private String parentDictionaryBusinesskey; @Schema(description = "质控样id") private List qcSampleIdList; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessAssayTaskParameterDataDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessAssayTaskParameterDataDO.java new file mode 100644 index 0000000..e47bf67 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessAssayTaskParameterDataDO.java @@ -0,0 +1,75 @@ +package com.zt.plat.module.qms.business.bus.dal.dataobject; + +import lombok.*; +import java.util.*; + import java.time.LocalDateTime; + import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import com.zt.plat.framework.mybatis.core.dataobject.BusinessBaseDO; +/** +* 子样检测任务参数业务 DO +* +* @author 后台管理-1 +*/ +@TableName("t_bsn_asy_tsk_prm_dat") +@KeySequence("t_bsn_asy_tsk_prm_dat_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +/** +* 支持业务基类继承:isBusiness=true 时继承 BusinessBaseDO,否则继承 BaseDO +*/ +public class BusinessAssayTaskParameterDataDO extends BusinessBaseDO { + + + + /** + * ID + */ + @TableId(type = IdType.ASSIGN_ID) + private Long id; + /** + * 检测任务ID + */ + @TableField("BSN_ASY_TSK_DAT_ID") + private Long businessAssayTaskDataId; + /** + * 检测方法参数配置ID + */ + @TableField("CFG_ASY_MTHD_PRM_ID") + private Long configAssayMethodParameterId; + /** + * 值 + */ + @TableField("VAL") + private String value; + /** + * 数据类型,字典表【T_DIC_BSN】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间 + */ + @TableField("DAT_TP") + private String dataType; + /** + * 小数位 + */ + @TableField("DEC_POS") + private Integer decimalPosition; + /** + * 乐观锁 + */ + @TableField("UPD_CNT") + private Integer updateCount; + /** + * 所属部门 + */ + @TableField("SYS_DEPT_CD") + private String systemDepartmentCode; + /** + * 备注 + */ + @TableField("RMK") + private String remark; + +} \ 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/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 7d3e037..712e614 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 @@ -12,6 +12,7 @@ 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; import com.zt.plat.module.qms.common.dic.dal.dataobject.DictionaryBusinessDO; +import com.zt.plat.module.qms.enums.QmsCommonConstant; import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -83,6 +84,18 @@ public interface BusinessAssayProjectDataMapper extends BaseMapperX selectByBusinessAssayTaskId(Long businessAssayTaskId) { + return selectJoinList(BusinessAssayProjectDataExtendRespVO.class, new MPJLambdaWrapperX() + .leftJoin(BusinessAssayTaskDataDO.class, BusinessAssayTaskDataDO::getId, BusinessAssayProjectDataDO::getBusinessAssayTaskDataId) + .leftJoin(DictionaryProjectDO.class, DictionaryProjectDO::getId, BusinessAssayProjectDataDO::getDictionaryProjectId) + .selectAll(BusinessAssayProjectDataDO.class) + .selectAs(DictionaryProjectDO::getKey, BusinessAssayProjectDataExtendRespVO::getDictionaryProjectKey) + .selectAs(DictionaryProjectDO::getSimpleName, BusinessAssayProjectDataExtendRespVO::getSimpleName) + .selectAs(DictionaryProjectDO::getShowName, BusinessAssayProjectDataExtendRespVO::getShowName) + .eq(BusinessAssayTaskDataDO::getBusinessAssayTaskId, businessAssayTaskId) + .eq(BusinessAssayProjectDataDO::getIsEnabled, QmsCommonConstant.YES)); + } + default List selectByBusinessAssayTaskDataId(Long businessAssayTaskDataId) { return selectJoinList(BusinessAssayProjectDataExtendRespVO.class, new MPJLambdaWrapperX() .leftJoin(DictionaryProjectDO.class, DictionaryProjectDO::getId, BusinessAssayProjectDataDO::getDictionaryProjectId) diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskParameterDataMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskParameterDataMapper.java new file mode 100644 index 0000000..a2d21ce --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskParameterDataMapper.java @@ -0,0 +1,34 @@ +package com.zt.plat.module.qms.business.bus.dal.mapper; + +import java.util.*; + +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.zt.plat.module.qms.business.bus.controller.vo.*; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskParameterDataDO; +import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; +import org.apache.ibatis.annotations.Mapper; + +/** + * 子样检测任务参数业务 Mapper + * + * @author 后台管理-1 + */ +@Mapper +public interface BusinessAssayTaskParameterDataMapper extends BaseMapperX { + + default PageResult selectPage(BusinessAssayTaskParameterDataPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(BusinessAssayTaskParameterDataDO::getBusinessAssayTaskDataId, reqVO.getBusinessAssayTaskDataId()) + .eqIfPresent(BusinessAssayTaskParameterDataDO::getConfigAssayMethodParameterId, reqVO.getConfigAssayMethodParameterId()) + .eqIfPresent(BusinessAssayTaskParameterDataDO::getValue, reqVO.getValue()) + .eqIfPresent(BusinessAssayTaskParameterDataDO::getDataType, reqVO.getDataType()) + .eqIfPresent(BusinessAssayTaskParameterDataDO::getDecimalPosition, reqVO.getDecimalPosition()) + .eqIfPresent(BusinessAssayTaskParameterDataDO::getUpdateCount, reqVO.getUpdateCount()) + .eqIfPresent(BusinessAssayTaskParameterDataDO::getSystemDepartmentCode, reqVO.getSystemDepartmentCode()) + .betweenIfPresent(BusinessAssayTaskParameterDataDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(BusinessAssayTaskParameterDataDO::getRemark, reqVO.getRemark()) + .orderByDesc(BusinessAssayTaskParameterDataDO::getId)); + } + +} \ 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/bus/dal/mapper/BusinessQCCoefficientDataMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessQCCoefficientDataMapper.java index a081272..b509345 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessQCCoefficientDataMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessQCCoefficientDataMapper.java @@ -6,7 +6,10 @@ import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; 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.BusinessQCCoefficientDataDO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigQCSampleMethodExtendRespVO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodDO; +import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigQCSampleMethodDO; +import com.zt.plat.module.qms.common.dic.dal.dataobject.DictionaryBusinessDO; import com.zt.plat.module.qms.enums.QmsCommonConstant; import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; import org.apache.ibatis.annotations.Mapper; @@ -19,58 +22,75 @@ import org.apache.ibatis.annotations.Mapper; @Mapper public interface BusinessQCCoefficientDataMapper extends BaseMapperX { - default PageResult selectPage(BusinessQCCoefficientDataPageReqVO reqVO) { - return selectPage(reqVO, new LambdaQueryWrapperX() - .eqIfPresent(BusinessQCCoefficientDataDO::getSampleCode, reqVO.getSampleCode()) - .likeIfPresent(BusinessQCCoefficientDataDO::getSampleName, reqVO.getSampleName()) - .eqIfPresent(BusinessQCCoefficientDataDO::getConfigAssayMethodId, reqVO.getConfigAssayMethodId()) - .eqIfPresent(BusinessQCCoefficientDataDO::getBusinessAssayTaskId, reqVO.getBusinessAssayTaskId()) - .eqIfPresent(BusinessQCCoefficientDataDO::getBusinessStandardSampleId, reqVO.getBusinessStandardSampleId()) - .eqIfPresent(BusinessQCCoefficientDataDO::getDictionaryBusinessId, reqVO.getDictionaryBusinessId()) - .eqIfPresent(BusinessQCCoefficientDataDO::getDictionaryBusinessKey, reqVO.getDictionaryBusinessKey()) - .eqIfPresent(BusinessQCCoefficientDataDO::getAssayProject, reqVO.getAssayProject()) - .eqIfPresent(BusinessQCCoefficientDataDO::getAssayDepartmentId, reqVO.getAssayDepartmentId()) - .likeIfPresent(BusinessQCCoefficientDataDO::getAssayDepartmentName, reqVO.getAssayDepartmentName()) - .eqIfPresent(BusinessQCCoefficientDataDO::getAssayOperator, reqVO.getAssayOperator()) - .eqIfPresent(BusinessQCCoefficientDataDO::getAssayOperatorId, reqVO.getAssayOperatorId()) - .betweenIfPresent(BusinessQCCoefficientDataDO::getAssignTaskTime, reqVO.getAssignTaskTime()) - .eqIfPresent(BusinessQCCoefficientDataDO::getIsAssignTasked, reqVO.getIsAssignTasked()) - .eqIfPresent(BusinessQCCoefficientDataDO::getIsReported, reqVO.getIsReported()) - .eqIfPresent(BusinessQCCoefficientDataDO::getReporter, reqVO.getReporter()) - .eqIfPresent(BusinessQCCoefficientDataDO::getReporterId, reqVO.getReporterId()) - .betweenIfPresent(BusinessQCCoefficientDataDO::getReportTime, reqVO.getReportTime()) - .eqIfPresent(BusinessQCCoefficientDataDO::getUpdateCount, reqVO.getUpdateCount()) - .eqIfPresent(BusinessQCCoefficientDataDO::getSystemDepartmentCode, reqVO.getSystemDepartmentCode()) - .betweenIfPresent(BusinessQCCoefficientDataDO::getCreateTime, reqVO.getCreateTime()) - .eqIfPresent(BusinessQCCoefficientDataDO::getRemark, reqVO.getRemark()) - .orderByDesc(BusinessQCCoefficientDataDO::getId)); + default PageResult selectPage(BusinessQCCoefficientDataPageReqVO reqVO) { + MPJLambdaWrapperX queryLambdaWrapperX = new MPJLambdaWrapperX(); + queryLambdaWrapperX = (MPJLambdaWrapperX) queryLambdaWrapperX.leftJoin(DictionaryBusinessDO.class, "dbd1", DictionaryBusinessDO::getId, BusinessQCCoefficientDataDO::getDictionaryBusinessId); + queryLambdaWrapperX = (MPJLambdaWrapperX) queryLambdaWrapperX.leftJoin(DictionaryBusinessDO.class, "dbd2", DictionaryBusinessDO::getId, "dbd1", DictionaryBusinessDO::getParentId); + queryLambdaWrapperX = queryLambdaWrapperX.selectAll(BusinessQCCoefficientDataDO.class); + queryLambdaWrapperX = (MPJLambdaWrapperX) queryLambdaWrapperX.selectAs("dbd1", DictionaryBusinessDO::getName, ConfigQCSampleMethodExtendRespVO::getDictionaryBusinessName); + queryLambdaWrapperX = (MPJLambdaWrapperX) queryLambdaWrapperX.selectAs("dbd1", DictionaryBusinessDO::getParentId, ConfigQCSampleMethodExtendRespVO::getParentDictionaryBusinessId); + queryLambdaWrapperX = (MPJLambdaWrapperX) queryLambdaWrapperX.selectAs("dbd2", DictionaryBusinessDO::getKey, ConfigQCSampleMethodExtendRespVO::getParentDictionaryBusinesskey); + queryLambdaWrapperX = (MPJLambdaWrapperX) queryLambdaWrapperX.selectAs("dbd2", DictionaryBusinessDO::getName, ConfigQCSampleMethodExtendRespVO::getParentDictionaryBusinessName); + queryLambdaWrapperX.eqIfPresent(BusinessQCCoefficientDataDO::getSampleCode, reqVO.getSampleCode()) + .likeIfPresent(BusinessQCCoefficientDataDO::getSampleName, reqVO.getSampleName()) + .eqIfPresent(BusinessQCCoefficientDataDO::getConfigAssayMethodId, reqVO.getConfigAssayMethodId()) + .eqIfPresent(BusinessQCCoefficientDataDO::getBusinessAssayTaskId, reqVO.getBusinessAssayTaskId()) + .eqIfPresent(BusinessQCCoefficientDataDO::getBusinessStandardSampleId, reqVO.getBusinessStandardSampleId()) + .eqIfPresent(BusinessQCCoefficientDataDO::getDictionaryBusinessId, reqVO.getDictionaryBusinessId()) + .eqIfPresent(BusinessQCCoefficientDataDO::getDictionaryBusinessKey, reqVO.getDictionaryBusinessKey()) + .eqIfPresent(BusinessQCCoefficientDataDO::getAssayProject, reqVO.getAssayProject()) + .eqIfPresent(BusinessQCCoefficientDataDO::getAssayDepartmentId, reqVO.getAssayDepartmentId()) + .likeIfPresent(BusinessQCCoefficientDataDO::getAssayDepartmentName, reqVO.getAssayDepartmentName()) + .eqIfPresent(BusinessQCCoefficientDataDO::getAssayOperator, reqVO.getAssayOperator()) + .eqIfPresent(BusinessQCCoefficientDataDO::getAssayOperatorId, reqVO.getAssayOperatorId()) + .betweenIfPresent(BusinessQCCoefficientDataDO::getAssignTaskTime, reqVO.getAssignTaskTime()) + .eqIfPresent(BusinessQCCoefficientDataDO::getIsAssignTasked, reqVO.getIsAssignTasked()) + .eqIfPresent(BusinessQCCoefficientDataDO::getIsReported, reqVO.getIsReported()) + .eqIfPresent(BusinessQCCoefficientDataDO::getReporter, reqVO.getReporter()) + .eqIfPresent(BusinessQCCoefficientDataDO::getReporterId, reqVO.getReporterId()) + .betweenIfPresent(BusinessQCCoefficientDataDO::getReportTime, reqVO.getReportTime()) + .eqIfPresent(BusinessQCCoefficientDataDO::getUpdateCount, reqVO.getUpdateCount()) + .eqIfPresent(BusinessQCCoefficientDataDO::getSystemDepartmentCode, reqVO.getSystemDepartmentCode()) + .betweenIfPresent(BusinessQCCoefficientDataDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(BusinessQCCoefficientDataDO::getRemark, reqVO.getRemark()) + .orderByDesc(BusinessQCCoefficientDataDO::getId); + + return selectJoinPage(reqVO, BusinessQCCoefficientDataExtendRespVO.class, queryLambdaWrapperX); } - default List selectList(BusinessQCCoefficientDataReqVO reqVO) { - return selectList(new LambdaQueryWrapperX() - .eqIfPresent(BusinessQCCoefficientDataDO::getSampleCode, reqVO.getSampleCode()) - .likeIfPresent(BusinessQCCoefficientDataDO::getSampleName, reqVO.getSampleName()) - .eqIfPresent(BusinessQCCoefficientDataDO::getConfigAssayMethodId, reqVO.getConfigAssayMethodId()) - .eqIfPresent(BusinessQCCoefficientDataDO::getBusinessAssayTaskId, reqVO.getBusinessAssayTaskId()) - .eqIfPresent(BusinessQCCoefficientDataDO::getBusinessStandardSampleId, reqVO.getBusinessStandardSampleId()) - .eqIfPresent(BusinessQCCoefficientDataDO::getDictionaryBusinessId, reqVO.getDictionaryBusinessId()) - .eqIfPresent(BusinessQCCoefficientDataDO::getDictionaryBusinessKey, reqVO.getDictionaryBusinessKey()) - .eqIfPresent(BusinessQCCoefficientDataDO::getAssayProject, reqVO.getAssayProject()) - .eqIfPresent(BusinessQCCoefficientDataDO::getAssayDepartmentId, reqVO.getAssayDepartmentId()) - .likeIfPresent(BusinessQCCoefficientDataDO::getAssayDepartmentName, reqVO.getAssayDepartmentName()) - .eqIfPresent(BusinessQCCoefficientDataDO::getAssayOperator, reqVO.getAssayOperator()) - .eqIfPresent(BusinessQCCoefficientDataDO::getAssayOperatorId, reqVO.getAssayOperatorId()) - .betweenIfPresent(BusinessQCCoefficientDataDO::getAssignTaskTime, reqVO.getAssignTaskTime()) - .eqIfPresent(BusinessQCCoefficientDataDO::getIsAssignTasked, reqVO.getIsAssignTasked()) - .eqIfPresent(BusinessQCCoefficientDataDO::getIsReported, reqVO.getIsReported()) - .eqIfPresent(BusinessQCCoefficientDataDO::getReporter, reqVO.getReporter()) - .eqIfPresent(BusinessQCCoefficientDataDO::getReporterId, reqVO.getReporterId()) - .betweenIfPresent(BusinessQCCoefficientDataDO::getReportTime, reqVO.getReportTime()) - .eqIfPresent(BusinessQCCoefficientDataDO::getUpdateCount, reqVO.getUpdateCount()) - .eqIfPresent(BusinessQCCoefficientDataDO::getSystemDepartmentCode, reqVO.getSystemDepartmentCode()) - .betweenIfPresent(BusinessQCCoefficientDataDO::getCreateTime, reqVO.getCreateTime()) - .eqIfPresent(BusinessQCCoefficientDataDO::getRemark, reqVO.getRemark()) - .orderByDesc(BusinessQCCoefficientDataDO::getId)); + default List selectList(BusinessQCCoefficientDataReqVO reqVO) { + MPJLambdaWrapperX queryLambdaWrapperX = new MPJLambdaWrapperX(); + queryLambdaWrapperX = (MPJLambdaWrapperX) queryLambdaWrapperX.leftJoin(DictionaryBusinessDO.class, "dbd1", DictionaryBusinessDO::getId, BusinessQCCoefficientDataDO::getDictionaryBusinessId); + queryLambdaWrapperX = (MPJLambdaWrapperX) queryLambdaWrapperX.leftJoin(DictionaryBusinessDO.class, "dbd2", DictionaryBusinessDO::getId, "dbd1", DictionaryBusinessDO::getParentId); + queryLambdaWrapperX = queryLambdaWrapperX.selectAll(BusinessQCCoefficientDataDO.class); + queryLambdaWrapperX = (MPJLambdaWrapperX) queryLambdaWrapperX.selectAs("dbd1", DictionaryBusinessDO::getName, ConfigQCSampleMethodExtendRespVO::getDictionaryBusinessName); + queryLambdaWrapperX = (MPJLambdaWrapperX) queryLambdaWrapperX.selectAs("dbd1", DictionaryBusinessDO::getParentId, ConfigQCSampleMethodExtendRespVO::getParentDictionaryBusinessId); + queryLambdaWrapperX = (MPJLambdaWrapperX) queryLambdaWrapperX.selectAs("dbd2", DictionaryBusinessDO::getKey, ConfigQCSampleMethodExtendRespVO::getParentDictionaryBusinesskey); + queryLambdaWrapperX = (MPJLambdaWrapperX) queryLambdaWrapperX.selectAs("dbd2", DictionaryBusinessDO::getName, ConfigQCSampleMethodExtendRespVO::getParentDictionaryBusinessName); + queryLambdaWrapperX.eqIfPresent(BusinessQCCoefficientDataDO::getSampleCode, reqVO.getSampleCode()) + .likeIfPresent(BusinessQCCoefficientDataDO::getSampleName, reqVO.getSampleName()) + .eqIfPresent(BusinessQCCoefficientDataDO::getConfigAssayMethodId, reqVO.getConfigAssayMethodId()) + .eqIfPresent(BusinessQCCoefficientDataDO::getBusinessAssayTaskId, reqVO.getBusinessAssayTaskId()) + .eqIfPresent(BusinessQCCoefficientDataDO::getBusinessStandardSampleId, reqVO.getBusinessStandardSampleId()) + .eqIfPresent(BusinessQCCoefficientDataDO::getDictionaryBusinessId, reqVO.getDictionaryBusinessId()) + .eqIfPresent(BusinessQCCoefficientDataDO::getDictionaryBusinessKey, reqVO.getDictionaryBusinessKey()) + .eqIfPresent(BusinessQCCoefficientDataDO::getAssayProject, reqVO.getAssayProject()) + .eqIfPresent(BusinessQCCoefficientDataDO::getAssayDepartmentId, reqVO.getAssayDepartmentId()) + .likeIfPresent(BusinessQCCoefficientDataDO::getAssayDepartmentName, reqVO.getAssayDepartmentName()) + .eqIfPresent(BusinessQCCoefficientDataDO::getAssayOperator, reqVO.getAssayOperator()) + .eqIfPresent(BusinessQCCoefficientDataDO::getAssayOperatorId, reqVO.getAssayOperatorId()) + .betweenIfPresent(BusinessQCCoefficientDataDO::getAssignTaskTime, reqVO.getAssignTaskTime()) + .eqIfPresent(BusinessQCCoefficientDataDO::getIsAssignTasked, reqVO.getIsAssignTasked()) + .eqIfPresent(BusinessQCCoefficientDataDO::getIsReported, reqVO.getIsReported()) + .eqIfPresent(BusinessQCCoefficientDataDO::getReporter, reqVO.getReporter()) + .eqIfPresent(BusinessQCCoefficientDataDO::getReporterId, reqVO.getReporterId()) + .betweenIfPresent(BusinessQCCoefficientDataDO::getReportTime, reqVO.getReportTime()) + .eqIfPresent(BusinessQCCoefficientDataDO::getUpdateCount, reqVO.getUpdateCount()) + .eqIfPresent(BusinessQCCoefficientDataDO::getSystemDepartmentCode, reqVO.getSystemDepartmentCode()) + .betweenIfPresent(BusinessQCCoefficientDataDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(BusinessQCCoefficientDataDO::getRemark, reqVO.getRemark()) + .orderByDesc(BusinessQCCoefficientDataDO::getId); + return selectJoinList(BusinessQCCoefficientDataExtendRespVO.class, queryLambdaWrapperX); } default List selectByBusinessAssayTaskId(Long businessAssayTaskId) { diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessQCManagementDataMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessQCManagementDataMapper.java index c5c2727..9d64dff 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessQCManagementDataMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessQCManagementDataMapper.java @@ -7,7 +7,9 @@ import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; 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.BusinessQCManagementDataDO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigQCSampleMethodExtendRespVO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodDO; +import com.zt.plat.module.qms.common.dic.dal.dataobject.DictionaryBusinessDO; import com.zt.plat.module.qms.enums.QmsCommonConstant; import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; import org.apache.ibatis.annotations.Mapper; @@ -20,58 +22,75 @@ import org.apache.ibatis.annotations.Mapper; @Mapper public interface BusinessQCManagementDataMapper extends BaseMapperX { - default PageResult selectPage(BusinessQCManagementDataPageReqVO reqVO) { - return selectPage(reqVO, new LambdaQueryWrapperX() - .eqIfPresent(BusinessQCManagementDataDO::getSampleCode, reqVO.getSampleCode()) - .likeIfPresent(BusinessQCManagementDataDO::getSampleName, reqVO.getSampleName()) - .eqIfPresent(BusinessQCManagementDataDO::getConfigAssayMethodId, reqVO.getConfigAssayMethodId()) - .eqIfPresent(BusinessQCManagementDataDO::getBusinessAssayTaskId, reqVO.getBusinessAssayTaskId()) - .eqIfPresent(BusinessQCManagementDataDO::getBusinessStandardSampleId, reqVO.getBusinessStandardSampleId()) - .eqIfPresent(BusinessQCManagementDataDO::getDictionaryBusinessId, reqVO.getDictionaryBusinessId()) - .eqIfPresent(BusinessQCManagementDataDO::getDictionaryBusinessKey, reqVO.getDictionaryBusinessKey()) - .eqIfPresent(BusinessQCManagementDataDO::getAssayProject, reqVO.getAssayProject()) - .eqIfPresent(BusinessQCManagementDataDO::getAssayDepartmentId, reqVO.getAssayDepartmentId()) - .likeIfPresent(BusinessQCManagementDataDO::getAssayDepartmentName, reqVO.getAssayDepartmentName()) - .eqIfPresent(BusinessQCManagementDataDO::getAssayOperator, reqVO.getAssayOperator()) - .eqIfPresent(BusinessQCManagementDataDO::getAssayOperatorId, reqVO.getAssayOperatorId()) - .betweenIfPresent(BusinessQCManagementDataDO::getAssignTaskTime, reqVO.getAssignTaskTime()) - .eqIfPresent(BusinessQCManagementDataDO::getIsAssignTasked, reqVO.getIsAssignTasked()) - .eqIfPresent(BusinessQCManagementDataDO::getIsReported, reqVO.getIsReported()) - .eqIfPresent(BusinessQCManagementDataDO::getReporter, reqVO.getReporter()) - .eqIfPresent(BusinessQCManagementDataDO::getReporterId, reqVO.getReporterId()) - .betweenIfPresent(BusinessQCManagementDataDO::getReportTime, reqVO.getReportTime()) - .eqIfPresent(BusinessQCManagementDataDO::getUpdateCount, reqVO.getUpdateCount()) - .eqIfPresent(BusinessQCManagementDataDO::getSystemDepartmentCode, reqVO.getSystemDepartmentCode()) - .betweenIfPresent(BusinessQCManagementDataDO::getCreateTime, reqVO.getCreateTime()) - .eqIfPresent(BusinessQCManagementDataDO::getRemark, reqVO.getRemark()) - .orderByDesc(BusinessQCManagementDataDO::getId)); + default PageResult selectPage(BusinessQCManagementDataPageReqVO reqVO) { + MPJLambdaWrapperX queryLambdaWrapperX = new MPJLambdaWrapperX<>(); + queryLambdaWrapperX = (MPJLambdaWrapperX) queryLambdaWrapperX.leftJoin(DictionaryBusinessDO.class, "dbd1", DictionaryBusinessDO::getId, BusinessQCManagementDataDO::getDictionaryBusinessId); + queryLambdaWrapperX = (MPJLambdaWrapperX) queryLambdaWrapperX.leftJoin(DictionaryBusinessDO.class, "dbd2", DictionaryBusinessDO::getId, "dbd1", DictionaryBusinessDO::getParentId); + queryLambdaWrapperX = queryLambdaWrapperX.selectAll(BusinessQCManagementDataDO.class); + queryLambdaWrapperX = (MPJLambdaWrapperX) queryLambdaWrapperX.selectAs("dbd1", DictionaryBusinessDO::getName, ConfigQCSampleMethodExtendRespVO::getDictionaryBusinessName); + queryLambdaWrapperX = (MPJLambdaWrapperX) queryLambdaWrapperX.selectAs("dbd1", DictionaryBusinessDO::getParentId, ConfigQCSampleMethodExtendRespVO::getParentDictionaryBusinessId); + queryLambdaWrapperX = (MPJLambdaWrapperX) queryLambdaWrapperX.selectAs("dbd2", DictionaryBusinessDO::getKey, ConfigQCSampleMethodExtendRespVO::getParentDictionaryBusinesskey); + queryLambdaWrapperX = (MPJLambdaWrapperX) queryLambdaWrapperX.selectAs("dbd2", DictionaryBusinessDO::getName, ConfigQCSampleMethodExtendRespVO::getParentDictionaryBusinessName); + queryLambdaWrapperX.eqIfPresent(BusinessQCManagementDataDO::getSampleCode, reqVO.getSampleCode()) + .likeIfPresent(BusinessQCManagementDataDO::getSampleName, reqVO.getSampleName()) + .eqIfPresent(BusinessQCManagementDataDO::getConfigAssayMethodId, reqVO.getConfigAssayMethodId()) + .eqIfPresent(BusinessQCManagementDataDO::getBusinessAssayTaskId, reqVO.getBusinessAssayTaskId()) + .eqIfPresent(BusinessQCManagementDataDO::getBusinessStandardSampleId, reqVO.getBusinessStandardSampleId()) + .eqIfPresent(BusinessQCManagementDataDO::getDictionaryBusinessId, reqVO.getDictionaryBusinessId()) + .eqIfPresent(BusinessQCManagementDataDO::getDictionaryBusinessKey, reqVO.getDictionaryBusinessKey()) + .eqIfPresent(BusinessQCManagementDataDO::getAssayProject, reqVO.getAssayProject()) + .eqIfPresent(BusinessQCManagementDataDO::getAssayDepartmentId, reqVO.getAssayDepartmentId()) + .likeIfPresent(BusinessQCManagementDataDO::getAssayDepartmentName, reqVO.getAssayDepartmentName()) + .eqIfPresent(BusinessQCManagementDataDO::getAssayOperator, reqVO.getAssayOperator()) + .eqIfPresent(BusinessQCManagementDataDO::getAssayOperatorId, reqVO.getAssayOperatorId()) + .betweenIfPresent(BusinessQCManagementDataDO::getAssignTaskTime, reqVO.getAssignTaskTime()) + .eqIfPresent(BusinessQCManagementDataDO::getIsAssignTasked, reqVO.getIsAssignTasked()) + .eqIfPresent(BusinessQCManagementDataDO::getIsReported, reqVO.getIsReported()) + .eqIfPresent(BusinessQCManagementDataDO::getReporter, reqVO.getReporter()) + .eqIfPresent(BusinessQCManagementDataDO::getReporterId, reqVO.getReporterId()) + .betweenIfPresent(BusinessQCManagementDataDO::getReportTime, reqVO.getReportTime()) + .eqIfPresent(BusinessQCManagementDataDO::getUpdateCount, reqVO.getUpdateCount()) + .eqIfPresent(BusinessQCManagementDataDO::getSystemDepartmentCode, reqVO.getSystemDepartmentCode()) + .betweenIfPresent(BusinessQCManagementDataDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(BusinessQCManagementDataDO::getRemark, reqVO.getRemark()) + .orderByDesc(BusinessQCManagementDataDO::getId); + + return selectJoinPage(reqVO, BusinessQCManagementDataExtendRespVO.class, queryLambdaWrapperX); } - default List selectList(BusinessQCManagementDataReqVO reqVO) { - return selectList(new LambdaQueryWrapperX() - .eqIfPresent(BusinessQCManagementDataDO::getSampleCode, reqVO.getSampleCode()) - .likeIfPresent(BusinessQCManagementDataDO::getSampleName, reqVO.getSampleName()) - .eqIfPresent(BusinessQCManagementDataDO::getConfigAssayMethodId, reqVO.getConfigAssayMethodId()) - .eqIfPresent(BusinessQCManagementDataDO::getBusinessAssayTaskId, reqVO.getBusinessAssayTaskId()) - .eqIfPresent(BusinessQCManagementDataDO::getBusinessStandardSampleId, reqVO.getBusinessStandardSampleId()) - .eqIfPresent(BusinessQCManagementDataDO::getDictionaryBusinessId, reqVO.getDictionaryBusinessId()) - .eqIfPresent(BusinessQCManagementDataDO::getDictionaryBusinessKey, reqVO.getDictionaryBusinessKey()) - .eqIfPresent(BusinessQCManagementDataDO::getAssayProject, reqVO.getAssayProject()) - .eqIfPresent(BusinessQCManagementDataDO::getAssayDepartmentId, reqVO.getAssayDepartmentId()) - .likeIfPresent(BusinessQCManagementDataDO::getAssayDepartmentName, reqVO.getAssayDepartmentName()) - .eqIfPresent(BusinessQCManagementDataDO::getAssayOperator, reqVO.getAssayOperator()) - .eqIfPresent(BusinessQCManagementDataDO::getAssayOperatorId, reqVO.getAssayOperatorId()) - .betweenIfPresent(BusinessQCManagementDataDO::getAssignTaskTime, reqVO.getAssignTaskTime()) - .eqIfPresent(BusinessQCManagementDataDO::getIsAssignTasked, reqVO.getIsAssignTasked()) - .eqIfPresent(BusinessQCManagementDataDO::getIsReported, reqVO.getIsReported()) - .eqIfPresent(BusinessQCManagementDataDO::getReporter, reqVO.getReporter()) - .eqIfPresent(BusinessQCManagementDataDO::getReporterId, reqVO.getReporterId()) - .betweenIfPresent(BusinessQCManagementDataDO::getReportTime, reqVO.getReportTime()) - .eqIfPresent(BusinessQCManagementDataDO::getUpdateCount, reqVO.getUpdateCount()) - .eqIfPresent(BusinessQCManagementDataDO::getSystemDepartmentCode, reqVO.getSystemDepartmentCode()) - .betweenIfPresent(BusinessQCManagementDataDO::getCreateTime, reqVO.getCreateTime()) - .eqIfPresent(BusinessQCManagementDataDO::getRemark, reqVO.getRemark()) - .orderByDesc(BusinessQCManagementDataDO::getId)); + default List selectList(BusinessQCManagementDataReqVO reqVO) { + MPJLambdaWrapperX queryLambdaWrapperX = new MPJLambdaWrapperX<>(); + queryLambdaWrapperX = (MPJLambdaWrapperX) queryLambdaWrapperX.leftJoin(DictionaryBusinessDO.class, "dbd1", DictionaryBusinessDO::getId, BusinessQCManagementDataDO::getDictionaryBusinessId); + queryLambdaWrapperX = (MPJLambdaWrapperX) queryLambdaWrapperX.leftJoin(DictionaryBusinessDO.class, "dbd2", DictionaryBusinessDO::getId, "dbd1", DictionaryBusinessDO::getParentId); + queryLambdaWrapperX = queryLambdaWrapperX.selectAll(BusinessQCManagementDataDO.class); + queryLambdaWrapperX = (MPJLambdaWrapperX) queryLambdaWrapperX.selectAs("dbd1", DictionaryBusinessDO::getName, ConfigQCSampleMethodExtendRespVO::getDictionaryBusinessName); + queryLambdaWrapperX = (MPJLambdaWrapperX) queryLambdaWrapperX.selectAs("dbd1", DictionaryBusinessDO::getParentId, ConfigQCSampleMethodExtendRespVO::getParentDictionaryBusinessId); + queryLambdaWrapperX = (MPJLambdaWrapperX) queryLambdaWrapperX.selectAs("dbd2", DictionaryBusinessDO::getKey, ConfigQCSampleMethodExtendRespVO::getParentDictionaryBusinesskey); + queryLambdaWrapperX = (MPJLambdaWrapperX) queryLambdaWrapperX.selectAs("dbd2", DictionaryBusinessDO::getName, ConfigQCSampleMethodExtendRespVO::getParentDictionaryBusinessName); + queryLambdaWrapperX.eqIfPresent(BusinessQCManagementDataDO::getSampleCode, reqVO.getSampleCode()) + .likeIfPresent(BusinessQCManagementDataDO::getSampleName, reqVO.getSampleName()) + .eqIfPresent(BusinessQCManagementDataDO::getConfigAssayMethodId, reqVO.getConfigAssayMethodId()) + .eqIfPresent(BusinessQCManagementDataDO::getBusinessAssayTaskId, reqVO.getBusinessAssayTaskId()) + .eqIfPresent(BusinessQCManagementDataDO::getBusinessStandardSampleId, reqVO.getBusinessStandardSampleId()) + .eqIfPresent(BusinessQCManagementDataDO::getDictionaryBusinessId, reqVO.getDictionaryBusinessId()) + .eqIfPresent(BusinessQCManagementDataDO::getDictionaryBusinessKey, reqVO.getDictionaryBusinessKey()) + .eqIfPresent(BusinessQCManagementDataDO::getAssayProject, reqVO.getAssayProject()) + .eqIfPresent(BusinessQCManagementDataDO::getAssayDepartmentId, reqVO.getAssayDepartmentId()) + .likeIfPresent(BusinessQCManagementDataDO::getAssayDepartmentName, reqVO.getAssayDepartmentName()) + .eqIfPresent(BusinessQCManagementDataDO::getAssayOperator, reqVO.getAssayOperator()) + .eqIfPresent(BusinessQCManagementDataDO::getAssayOperatorId, reqVO.getAssayOperatorId()) + .betweenIfPresent(BusinessQCManagementDataDO::getAssignTaskTime, reqVO.getAssignTaskTime()) + .eqIfPresent(BusinessQCManagementDataDO::getIsAssignTasked, reqVO.getIsAssignTasked()) + .eqIfPresent(BusinessQCManagementDataDO::getIsReported, reqVO.getIsReported()) + .eqIfPresent(BusinessQCManagementDataDO::getReporter, reqVO.getReporter()) + .eqIfPresent(BusinessQCManagementDataDO::getReporterId, reqVO.getReporterId()) + .betweenIfPresent(BusinessQCManagementDataDO::getReportTime, reqVO.getReportTime()) + .eqIfPresent(BusinessQCManagementDataDO::getUpdateCount, reqVO.getUpdateCount()) + .eqIfPresent(BusinessQCManagementDataDO::getSystemDepartmentCode, reqVO.getSystemDepartmentCode()) + .betweenIfPresent(BusinessQCManagementDataDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(BusinessQCManagementDataDO::getRemark, reqVO.getRemark()) + .orderByDesc(BusinessQCManagementDataDO::getId); + return selectJoinList(BusinessQCManagementDataExtendRespVO.class, queryLambdaWrapperX); } default List selectByBusinessAssayTaskId(Long businessAssayTaskId) { diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/taskassign/SampleTaskAssignQCSampleCmp.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/taskassign/SampleTaskAssignQCSampleCmp.java index baea2ae..6bfbc6b 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/taskassign/SampleTaskAssignQCSampleCmp.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/taskassign/SampleTaskAssignQCSampleCmp.java @@ -8,12 +8,15 @@ import org.apache.commons.lang3.StringUtils; import com.baomidou.mybatisplus.core.toolkit.IdWorker; import com.yomahub.liteflow.annotation.LiteflowComponent; import com.yomahub.liteflow.core.NodeComponent; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayProjectDataExtendRespVO; 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.BusinessQCCoefficientDataDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCCoefficientParameterDataDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCManagementDataDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCManagementParameterDataDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCManagementProjectDataDO; +import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayProjectDataMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCCoefficientDataMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCCoefficientParameterDataMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCManagementDataMapper; @@ -56,6 +59,9 @@ public class SampleTaskAssignQCSampleCmp extends NodeComponent { @Resource private ConfigAssayMethodProjectParameterMapper configAssayMethodProjectParameterMapper; + + @Resource + private BusinessAssayProjectDataMapper businessAssayProjectDataMapper; @Resource private BusinessQCCoefficientDataMapper businessQCCoefficientDataMapper; @@ -93,6 +99,9 @@ public class SampleTaskAssignQCSampleCmp extends NodeComponent { businessAssayTaskList.addAll(saveBusinessAssayTaskList); businessAssayTaskList.addAll(updateBusinessAssayTaskList); + //检测任务 + List businessAssayTaskDataList = sampleTaskAssignContext.getBusinessAssayTaskDataList(); + //获取分配任务的分析方法id列表 List configAssayMethodIdList = businessAssayTaskList.stream().map(m -> m.getConfigAssayMethodId()).distinct().collect(Collectors.toList()); @@ -170,10 +179,28 @@ public class SampleTaskAssignQCSampleCmp extends NodeComponent { if (CollUtil.isNotEmpty(businessQCManagementDataList)) { continue; } - //分析项目 List configAssayMethodProjectExtendRespList = configAssayMethodProjectMapper.selectByConfigAssayMethodId(businessAssayTaskDO.getConfigAssayMethodId()); - List configAssayMethodProjectIds = configAssayMethodProjectExtendRespList.stream().map(m -> m.getId()).collect(Collectors.toList()); + + List businessAssayTaskDataIdList = businessAssayTaskDataList.stream().filter(f -> f.getBusinessAssayTaskId().equals(businessAssayTaskDO.getId())).map(m -> m.getId()).collect(Collectors.toList()); + List businessAssayProjectDataList = businessAssayProjectDataMapper.selectByBusinessAssayTaskDataIds(businessAssayTaskDataIdList); + //检测项目id + List dictionaryProjectIdList = new ArrayList<>(); + //必须要检测的项目 + String mustProject = configQCSampleMethodExtendRespVO.getMustProject(); + if (StringUtils.isNotBlank(mustProject)) { + String[] mustProjects = mustProject.split(","); + for (String dicProjectId : mustProjects) { + dictionaryProjectIdList.add(Long.parseLong(dicProjectId)); + } + } + + //获取当前任务的检测项目id列表 + List busTaskDictionaryProjectIdList = businessAssayProjectDataList.stream().map(m -> m.getDictionaryProjectId()).distinct().collect(Collectors.toList()); + dictionaryProjectIdList.addAll(busTaskDictionaryProjectIdList); + //获取需要创建的检测项目id + List configAssayMethodProjectIds = configAssayMethodProjectExtendRespList.stream().filter(f -> dictionaryProjectIdList.contains(f.getDictionaryProjectId())).map(m -> m.getId()).collect(Collectors.toList()); + //分析项目参数 List configAssayMethodProjectParameterList = configAssayMethodProjectParameterMapper.selectByConfigAssayMethodProjectIds(configAssayMethodProjectIds); //分析项目 @@ -205,6 +232,9 @@ public class SampleTaskAssignQCSampleCmp extends NodeComponent { businessQCManagementDataDOList.add(businessQCManagementDataDO); for (ConfigAssayMethodProjectExtendRespVO configAssayMethodProjectExtendRespVO : configAssayMethodProjectExtendRespList) { + if (!dictionaryProjectIdList.contains(configAssayMethodProjectExtendRespVO.getDictionaryProjectId())) {//不存在则跳过 + continue; + } BusinessQCManagementProjectDataDO businessQCManagementProjectDataDO = new BusinessQCManagementProjectDataDO(); businessQCManagementProjectDataDO.setId(IdWorker.getId()); businessQCManagementProjectDataDO.setBusinessQCManagementDataId(businessQCManagementDataDO.getId()); diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessAssayTaskParameterDataService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessAssayTaskParameterDataService.java new file mode 100644 index 0000000..ef56197 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessAssayTaskParameterDataService.java @@ -0,0 +1,61 @@ +package com.zt.plat.module.qms.business.bus.service; + +import java.util.*; +import jakarta.validation.*; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.module.qms.business.bus.controller.vo.*; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskParameterDataDO; + +/** + * 子样检测任务参数业务 Service 接口 + * + * @author 后台管理-1 + */ +public interface BusinessAssayTaskParameterDataService { + + /** + * 创建子样检测任务参数业务 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + BusinessAssayTaskParameterDataRespVO createBusinessAssayTaskParameterData(@Valid BusinessAssayTaskParameterDataSaveReqVO createReqVO); + + /** + * 更新子样检测任务参数业务 + * + * @param updateReqVO 更新信息 + */ + void updateBusinessAssayTaskParameterData(@Valid BusinessAssayTaskParameterDataSaveReqVO updateReqVO); + + /** + * 删除子样检测任务参数业务 + * + * @param id 编号 + */ + void deleteBusinessAssayTaskParameterData(Long id); + + /** + * 批量删除子样检测任务参数业务 + * + * @param ids 编号 + */ + void deleteBusinessAssayTaskParameterDataListByIds(List ids); + + /** + * 获得子样检测任务参数业务 + * + * @param id 编号 + * @return 子样检测任务参数业务 + */ + BusinessAssayTaskParameterDataDO getBusinessAssayTaskParameterData(Long id); + + /** + * 获得子样检测任务参数业务分页 + * + * @param pageReqVO 分页查询 + * @return 子样检测任务参数业务分页 + */ + PageResult getBusinessAssayTaskParameterDataPage(BusinessAssayTaskParameterDataPageReqVO pageReqVO); + +} \ 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/bus/service/BusinessAssayTaskParameterDataServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessAssayTaskParameterDataServiceImpl.java new file mode 100644 index 0000000..6e872f0 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessAssayTaskParameterDataServiceImpl.java @@ -0,0 +1,91 @@ +package com.zt.plat.module.qms.business.bus.service; + +import cn.hutool.core.collection.CollUtil; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.common.pojo.PageParam; +import com.zt.plat.framework.common.util.object.BeanUtils; +import com.zt.plat.module.qms.business.bus.controller.vo.*; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskParameterDataDO; +import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayTaskParameterDataMapper; + +import static com.zt.plat.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.zt.plat.framework.common.util.collection.CollectionUtils.convertList; +import static com.zt.plat.framework.common.util.collection.CollectionUtils.diffList; +import static com.zt.plat.module.qms.enums.ErrorCodeConstants.*; + +/** + * 子样检测任务参数业务 Service 实现类 + * + * @author 后台管理-1 + */ +@Service +@Validated +public class BusinessAssayTaskParameterDataServiceImpl implements BusinessAssayTaskParameterDataService { + + @Resource + private BusinessAssayTaskParameterDataMapper businessAssayTaskParameterDataMapper; + + @Override + public BusinessAssayTaskParameterDataRespVO createBusinessAssayTaskParameterData(BusinessAssayTaskParameterDataSaveReqVO createReqVO) { + // 插入 + BusinessAssayTaskParameterDataDO businessAssayTaskParameterData = BeanUtils.toBean(createReqVO, BusinessAssayTaskParameterDataDO.class); + businessAssayTaskParameterDataMapper.insert(businessAssayTaskParameterData); + // 返回 + return BeanUtils.toBean(businessAssayTaskParameterData, BusinessAssayTaskParameterDataRespVO.class); + } + + @Override + public void updateBusinessAssayTaskParameterData(BusinessAssayTaskParameterDataSaveReqVO updateReqVO) { + // 校验存在 + validateBusinessAssayTaskParameterDataExists(updateReqVO.getId()); + // 更新 + BusinessAssayTaskParameterDataDO updateObj = BeanUtils.toBean(updateReqVO, BusinessAssayTaskParameterDataDO.class); + businessAssayTaskParameterDataMapper.updateById(updateObj); + } + + @Override + public void deleteBusinessAssayTaskParameterData(Long id) { + // 校验存在 + validateBusinessAssayTaskParameterDataExists(id); + // 删除 + businessAssayTaskParameterDataMapper.deleteById(id); + } + + @Override + public void deleteBusinessAssayTaskParameterDataListByIds(List ids) { + // 校验存在 + validateBusinessAssayTaskParameterDataExists(ids); + // 删除 + businessAssayTaskParameterDataMapper.deleteByIds(ids); + } + + private void validateBusinessAssayTaskParameterDataExists(List ids) { + List list = businessAssayTaskParameterDataMapper.selectByIds(ids); + if (CollUtil.isEmpty(list) || list.size() != ids.size()) { + throw exception(BUSINESS_ASSAY_TASK_PARAMETER_DATA_NOT_EXISTS); + } + } + + private void validateBusinessAssayTaskParameterDataExists(Long id) { + if (businessAssayTaskParameterDataMapper.selectById(id) == null) { + throw exception(BUSINESS_ASSAY_TASK_PARAMETER_DATA_NOT_EXISTS); + } + } + + @Override + public BusinessAssayTaskParameterDataDO getBusinessAssayTaskParameterData(Long id) { + return businessAssayTaskParameterDataMapper.selectById(id); + } + + @Override + public PageResult getBusinessAssayTaskParameterDataPage(BusinessAssayTaskParameterDataPageReqVO pageReqVO) { + return businessAssayTaskParameterDataMapper.selectPage(pageReqVO); + } + +} \ 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/bus/service/BusinessQCCoefficientDataService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessQCCoefficientDataService.java index dc59a8b..5a480bf 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessQCCoefficientDataService.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessQCCoefficientDataService.java @@ -57,8 +57,8 @@ public interface BusinessQCCoefficientDataService { * @param pageReqVO 分页查询 * @return 质控样检测系数任务数据,空白样、标样分页 */ - PageResult getBusinessQCCoefficientDataPage(BusinessQCCoefficientDataPageReqVO pageReqVO); + PageResult getBusinessQCCoefficientDataPage(BusinessQCCoefficientDataPageReqVO pageReqVO); - List getBusinessQCCoefficientDataList(BusinessQCCoefficientDataReqVO reqVO); + List getBusinessQCCoefficientDataList(BusinessQCCoefficientDataReqVO reqVO); } \ 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/bus/service/BusinessQCCoefficientDataServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessQCCoefficientDataServiceImpl.java index 339ce33..3a5878c 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessQCCoefficientDataServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessQCCoefficientDataServiceImpl.java @@ -84,12 +84,12 @@ public class BusinessQCCoefficientDataServiceImpl implements BusinessQCCoefficie } @Override - public PageResult getBusinessQCCoefficientDataPage(BusinessQCCoefficientDataPageReqVO pageReqVO) { + public PageResult getBusinessQCCoefficientDataPage(BusinessQCCoefficientDataPageReqVO pageReqVO) { return businessQCCoefficientDataMapper.selectPage(pageReqVO); } @Override - public List getBusinessQCCoefficientDataList(BusinessQCCoefficientDataReqVO reqVO) { + public List getBusinessQCCoefficientDataList(BusinessQCCoefficientDataReqVO reqVO) { return businessQCCoefficientDataMapper.selectList(reqVO); } diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessQCManagementDataService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessQCManagementDataService.java index 9ab773f..c11500a 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessQCManagementDataService.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessQCManagementDataService.java @@ -57,8 +57,8 @@ public interface BusinessQCManagementDataService { * @param pageReqVO 分页查询 * @return 质控管理样检测任务数据,管理样、标准样分页 */ - PageResult getBusinessQCManagementDataPage(BusinessQCManagementDataPageReqVO pageReqVO); + PageResult getBusinessQCManagementDataPage(BusinessQCManagementDataPageReqVO pageReqVO); - List getBusinessQCManagementDataList(BusinessQCManagementDataReqVO reqVO); + List getBusinessQCManagementDataList(BusinessQCManagementDataReqVO reqVO); } \ 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/bus/service/BusinessQCManagementDataServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessQCManagementDataServiceImpl.java index 7601b09..6be5261 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessQCManagementDataServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessQCManagementDataServiceImpl.java @@ -84,12 +84,12 @@ public class BusinessQCManagementDataServiceImpl implements BusinessQCManagement } @Override - public PageResult getBusinessQCManagementDataPage(BusinessQCManagementDataPageReqVO pageReqVO) { + public PageResult getBusinessQCManagementDataPage(BusinessQCManagementDataPageReqVO pageReqVO) { return businessQCManagementDataMapper.selectPage(pageReqVO); } @Override - public List getBusinessQCManagementDataList(BusinessQCManagementDataReqVO reqVO) { + public List getBusinessQCManagementDataList(BusinessQCManagementDataReqVO reqVO) { return businessQCManagementDataMapper.selectList(reqVO); } diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleTaskAssignServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleTaskAssignServiceImpl.java index 2fcfd04..549a98e 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleTaskAssignServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleTaskAssignServiceImpl.java @@ -769,7 +769,7 @@ public class SampleTaskAssignServiceImpl implements SampleTaskAssignService { ConfigQCSampleMethodExtendRespVO configQCSampleMethod = configQCSampleMethodMapper.selectByConfigAssayMethodIdAndDictionaryBusinessKey(businessAssayTaskDO.getConfigAssayMethodId(), req.getDictionaryBusinessKey()); - if ("kby".equals(req.getDictionaryBusinessKey()) || "by".equals(req.getDictionaryBusinessKey())) {//空白样和标样 + if ("withoutProject".equals(req.getParentDictionaryBusinesskey())) {//不带检测项目的:如 空白样和标样 BusinessQCCoefficientDataDO businessQCCoefficientDataDO = new BusinessQCCoefficientDataDO(); businessQCCoefficientDataDO.setId(IdWorker.getId()); @@ -813,10 +813,26 @@ public class SampleTaskAssignServiceImpl implements SampleTaskAssignService { businessQCCoefficientParameterDataDOList.add(businessQCCoefficientParameterDataDO); } - } else {//管理样与标准样 + } else {//带检测项目的 如: 管理样、标准样、质控空白样、监控样 //分析项目 List configAssayMethodProjectExtendRespList = configAssayMethodProjectMapper.selectByConfigAssayMethodId(businessAssayTaskDO.getConfigAssayMethodId()); - List configAssayMethodProjectIds = configAssayMethodProjectExtendRespList.stream().map(m -> m.getId()).collect(Collectors.toList()); + //检测项目id + List dictionaryProjectIdList = new ArrayList<>(); + //必须要检测的项目 + String mustProject = configQCSampleMethod.getMustProject(); + if (StringUtils.isNotBlank(mustProject)) { + String[] mustProjects = mustProject.split(","); + for (String dicProjectId : mustProjects) { + dictionaryProjectIdList.add(Long.parseLong(dicProjectId)); + } + } + //当前任务的检测项目列表 + List businessAssayProjectDataList = businessAssayProjectDataMapper.selectByBusinessAssayTaskId(req.getBusinessAssayTaskId()); + //获取当前任务的检测项目id列表 + List busTaskDictionaryProjectIdList = businessAssayProjectDataList.stream().map(m -> m.getDictionaryProjectId()).distinct().collect(Collectors.toList()); + dictionaryProjectIdList.addAll(busTaskDictionaryProjectIdList); + //获取需要创建的检测项目id + List configAssayMethodProjectIds = configAssayMethodProjectExtendRespList.stream().filter(f -> dictionaryProjectIdList.contains(f.getDictionaryProjectId())).map(m -> m.getId()).collect(Collectors.toList()); //分析项目参数 List configAssayMethodProjectParameterList = configAssayMethodProjectParameterMapper.selectByConfigAssayMethodProjectIds(configAssayMethodProjectIds); //分析项目 @@ -845,6 +861,10 @@ public class SampleTaskAssignServiceImpl implements SampleTaskAssignService { businessQCManagementDataDOList.add(businessQCManagementDataDO); for (ConfigAssayMethodProjectExtendRespVO configAssayMethodProjectExtendRespVO : configAssayMethodProjectExtendRespList) { + if (!dictionaryProjectIdList.contains(configAssayMethodProjectExtendRespVO.getDictionaryProjectId())) {//不存在则跳过 + continue; + } + BusinessQCManagementProjectDataDO businessQCManagementProjectDataDO = new BusinessQCManagementProjectDataDO(); businessQCManagementProjectDataDO.setId(IdWorker.getId()); businessQCManagementProjectDataDO.setBusinessQCManagementDataId(businessQCManagementDataDO.getId()); @@ -894,10 +914,10 @@ public class SampleTaskAssignServiceImpl implements SampleTaskAssignService { @Override @Transactional(rollbackFor = Exception.class) public void deleteQcSample(DeleteQcSampleReqVO req) { - if ("kby".equals(req.getDictionaryBusinessKey()) || "by".equals(req.getDictionaryBusinessKey())) {//空白样和标样 + if ("withoutProject".equals(req.getParentDictionaryBusinesskey())) {//不带检测项目的 空白样和标样 businessQCCoefficientDataMapper.deleteByIds(req.getQcSampleIdList()); businessQCCoefficientParameterDataMapper.delete(new LambdaQueryWrapperX().in(BusinessQCCoefficientParameterDataDO::getBusinessQCCoefficientDataId, req.getQcSampleIdList())); - } else { //管理样和标准样 + } else { //带检测项目的 管理样和标准样 businessQCManagementDataMapper.deleteByIds(req.getQcSampleIdList()); List businessQCManagementProjectDataList = businessQCManagementProjectDataMapper.selectByBusinessQCManagementDataIds(req.getQcSampleIdList()); List businessQCManagementProjectDataIdList = businessQCManagementProjectDataList.stream().map(m -> m.getId()).collect(Collectors.toList()); diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigAssayMethodParameterController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigAssayMethodParameterController.java new file mode 100644 index 0000000..b68d6f1 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigAssayMethodParameterController.java @@ -0,0 +1,106 @@ +package com.zt.plat.module.qms.business.config.controller.admin; + +import org.springframework.web.bind.annotation.*; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import com.zt.plat.framework.business.interceptor.BusinessControllerMarker; + +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import jakarta.validation.constraints.*; +import jakarta.validation.*; +import jakarta.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO; +import com.zt.plat.framework.common.pojo.PageParam; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.common.pojo.CommonResult; +import com.zt.plat.framework.common.util.object.BeanUtils; +import static com.zt.plat.framework.common.pojo.CommonResult.success; + +import com.zt.plat.framework.excel.core.util.ExcelUtils; +import com.zt.plat.module.qms.business.config.controller.vo.*; +import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodParameterDO; +import com.zt.plat.module.qms.business.config.service.ConfigAssayMethodParameterService; +import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog; +import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*; + +@Tag(name = "管理后台 - 检测方法参数配置") +@RestController +@RequestMapping("/qms/config-assay-method-parameter") +@Validated +public class ConfigAssayMethodParameterController implements BusinessControllerMarker { + + + @Resource + private ConfigAssayMethodParameterService configAssayMethodParameterService; + + @PostMapping("/create") + @Operation(summary = "创建检测方法参数配置") + @PreAuthorize("@ss.hasPermission('qms:config-assay-method-parameter:create')") + public CommonResult createConfigAssayMethodParameter(@Valid @RequestBody ConfigAssayMethodParameterSaveReqVO createReqVO) { + return success(configAssayMethodParameterService.createConfigAssayMethodParameter(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新检测方法参数配置") + @PreAuthorize("@ss.hasPermission('qms:config-assay-method-parameter:update')") + public CommonResult updateConfigAssayMethodParameter(@Valid @RequestBody ConfigAssayMethodParameterSaveReqVO updateReqVO) { + configAssayMethodParameterService.updateConfigAssayMethodParameter(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除检测方法参数配置") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('qms:config-assay-method-parameter:delete')") + public CommonResult deleteConfigAssayMethodParameter(@RequestParam("id") Long id) { + configAssayMethodParameterService.deleteConfigAssayMethodParameter(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除检测方法参数配置") + @PreAuthorize("@ss.hasPermission('qms:config-assay-method-parameter:delete')") + public CommonResult deleteConfigAssayMethodParameterList(@RequestBody BatchDeleteReqVO req) { + configAssayMethodParameterService.deleteConfigAssayMethodParameterListByIds(req.getIds()); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得检测方法参数配置") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('qms:config-assay-method-parameter:query')") + public CommonResult getConfigAssayMethodParameter(@RequestParam("id") Long id) { + ConfigAssayMethodParameterDO configAssayMethodParameter = configAssayMethodParameterService.getConfigAssayMethodParameter(id); + return success(BeanUtils.toBean(configAssayMethodParameter, ConfigAssayMethodParameterRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得检测方法参数配置分页") + @PreAuthorize("@ss.hasPermission('qms:config-assay-method-parameter:query')") + public CommonResult> getConfigAssayMethodParameterPage(@Valid ConfigAssayMethodParameterPageReqVO pageReqVO) { + PageResult pageResult = configAssayMethodParameterService.getConfigAssayMethodParameterPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, ConfigAssayMethodParameterRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出检测方法参数配置 Excel") + @PreAuthorize("@ss.hasPermission('qms:config-assay-method-parameter:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportConfigAssayMethodParameterExcel(@Valid ConfigAssayMethodParameterPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = configAssayMethodParameterService.getConfigAssayMethodParameterPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "检测方法参数配置.xls", "数据", ConfigAssayMethodParameterRespVO.class, + BeanUtils.toBean(list, ConfigAssayMethodParameterRespVO.class)); + } + +} \ 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/controller/vo/ConfigAssayMethodParameterPageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodParameterPageReqVO.java new file mode 100644 index 0000000..a23f3ef --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodParameterPageReqVO.java @@ -0,0 +1,71 @@ +package com.zt.plat.module.qms.business.config.controller.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import com.zt.plat.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 检测方法参数配置分页 Request VO") +@Data +public class ConfigAssayMethodParameterPageReqVO extends PageParam { + + @Schema(description = "检测方法ID", example = "29823") + private Long configAssayMethodId; + + @Schema(description = "参数名称", example = "张三") + private String parameterName; + + @Schema(description = "参数简称", example = "张三") + private String shortName; + + @Schema(description = "参数序号") + private Integer no; + + @Schema(description = "键值") + private String key; + + @Schema(description = "填写方式,字典表【T_DIC_BSN】人工录入,天平采集,计算") + private String fillingWay; + + @Schema(description = "数据类型,【字典】【jy_sample_data_type】字符串,整数,小数,日期,时间", example = "1") + private String dataType; + + @Schema(description = "小数位") + private Integer decimalPosition; + + @Schema(description = "默认值") + private String defaultValue; + + @Schema(description = "是否允许为空") + private Integer isNull; + + @Schema(description = "pc界面是否显示") + private Integer isShow; + + @Schema(description = "排序号") + private Integer sortNo; + + @Schema(description = "参数分组_ID,字典表【T_DIC_BSN】参数分组", example = "14680") + private Long dictionaryBusinessId; + + @Schema(description = "参数分组_Key,字典表【T_DIC_BSN】参数分组") + private String dictionaryBusinessKey; + + @Schema(description = "所属部门") + private String systemDepartmentCode; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "版本") + private Integer version; + +} \ 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/controller/vo/ConfigAssayMethodParameterRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodParameterRespVO.java new file mode 100644 index 0000000..154813e --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodParameterRespVO.java @@ -0,0 +1,91 @@ +package com.zt.plat.module.qms.business.config.controller.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import com.alibaba.excel.annotation.*; + +@Schema(description = "管理后台 - 检测方法参数配置 Response VO") +@Data +@ExcelIgnoreUnannotated +public class ConfigAssayMethodParameterRespVO { + + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "12031") + @ExcelProperty("ID") + private Long id; + + @Schema(description = "检测方法ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "29823") + @ExcelProperty("检测方法ID") + private Long configAssayMethodId; + + @Schema(description = "参数名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三") + @ExcelProperty("参数名称") + private String parameterName; + + @Schema(description = "参数简称", example = "张三") + @ExcelProperty("参数简称") + private String shortName; + + @Schema(description = "参数序号", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("参数序号") + private Integer no; + + @Schema(description = "键值") + @ExcelProperty("键值") + private String key; + + @Schema(description = "填写方式,字典表【T_DIC_BSN】人工录入,天平采集,计算", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("填写方式,字典表【T_DIC_BSN】人工录入,天平采集,计算") + private String fillingWay; + + @Schema(description = "数据类型,【字典】【jy_sample_data_type】字符串,整数,小数,日期,时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @ExcelProperty("数据类型,【字典】【jy_sample_data_type】字符串,整数,小数,日期,时间") + private String dataType; + + @Schema(description = "小数位") + @ExcelProperty("小数位") + private Integer decimalPosition; + + @Schema(description = "默认值") + @ExcelProperty("默认值") + private String defaultValue; + + @Schema(description = "是否允许为空", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("是否允许为空") + private Integer isNull; + + @Schema(description = "pc界面是否显示", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("pc界面是否显示") + private Integer isShow; + + @Schema(description = "排序号") + @ExcelProperty("排序号") + private Integer sortNo; + + @Schema(description = "参数分组_ID,字典表【T_DIC_BSN】参数分组", example = "14680") + @ExcelProperty("参数分组_ID,字典表【T_DIC_BSN】参数分组") + private Long dictionaryBusinessId; + + @Schema(description = "参数分组_Key,字典表【T_DIC_BSN】参数分组") + @ExcelProperty("参数分组_Key,字典表【T_DIC_BSN】参数分组") + private String dictionaryBusinessKey; + + @Schema(description = "所属部门") + @ExcelProperty("所属部门") + private String systemDepartmentCode; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @Schema(description = "备注") + @ExcelProperty("备注") + private String remark; + + @Schema(description = "版本", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("版本") + private Integer version; + +} \ 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/controller/vo/ConfigAssayMethodParameterSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodParameterSaveReqVO.java new file mode 100644 index 0000000..f390c28 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodParameterSaveReqVO.java @@ -0,0 +1,74 @@ +package com.zt.plat.module.qms.business.config.controller.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; + +@Schema(description = "管理后台 - 检测方法参数配置新增/修改 Request VO") +@Data +public class ConfigAssayMethodParameterSaveReqVO { + + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "12031") + private Long id; + + @Schema(description = "检测方法ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "29823") + @NotNull(message = "检测方法ID不能为空") + private Long configAssayMethodId; + + @Schema(description = "参数名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三") + @NotEmpty(message = "参数名称不能为空") + private String parameterName; + + @Schema(description = "参数简称", example = "张三") + private String shortName; + + @Schema(description = "参数序号", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "参数序号不能为空") + private Integer no; + + @Schema(description = "键值") + private String key; + + @Schema(description = "填写方式,字典表【T_DIC_BSN】人工录入,天平采集,计算", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "填写方式,字典表【T_DIC_BSN】人工录入,天平采集,计算不能为空") + private String fillingWay; + + @Schema(description = "数据类型,【字典】【jy_sample_data_type】字符串,整数,小数,日期,时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotEmpty(message = "数据类型,【字典】【jy_sample_data_type】字符串,整数,小数,日期,时间不能为空") + private String dataType; + + @Schema(description = "小数位") + private Integer decimalPosition; + + @Schema(description = "默认值") + private String defaultValue; + + @Schema(description = "是否允许为空", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "是否允许为空不能为空") + private Integer isNull; + + @Schema(description = "pc界面是否显示", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "pc界面是否显示不能为空") + private Integer isShow; + + @Schema(description = "排序号") + private Integer sortNo; + + @Schema(description = "参数分组_ID,字典表【T_DIC_BSN】参数分组", example = "14680") + private Long dictionaryBusinessId; + + @Schema(description = "参数分组_Key,字典表【T_DIC_BSN】参数分组") + private String dictionaryBusinessKey; + + @Schema(description = "所属部门") + private String systemDepartmentCode; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "版本", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "版本不能为空") + private Integer version; + +} \ 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/controller/vo/ConfigQCSampleMethodExtendRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigQCSampleMethodExtendRespVO.java index 277078a..b5032d1 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigQCSampleMethodExtendRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigQCSampleMethodExtendRespVO.java @@ -6,6 +6,12 @@ import lombok.Data; public class ConfigQCSampleMethodExtendRespVO extends ConfigQCSampleMethodRespVO { private String dictionaryBusinessName; + + private String parentDictionaryBusinessId; + + private String parentDictionaryBusinessName; + + private String parentDictionaryBusinesskey; private String configAssayMethodName; } diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigQCSampleMethodPageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigQCSampleMethodPageReqVO.java index 71fa079..37eaf64 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigQCSampleMethodPageReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigQCSampleMethodPageReqVO.java @@ -40,6 +40,9 @@ public class ConfigQCSampleMethodPageReqVO extends PageParam { @Schema(description = "映射检测信息配置") private String configInfomation; + @Schema(description = "必要检测项目") + private String mustProject; + @Schema(description = "排序号") private Integer sortNo; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigQCSampleMethodRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigQCSampleMethodRespVO.java index 34eb738..18dba20 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigQCSampleMethodRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigQCSampleMethodRespVO.java @@ -52,6 +52,10 @@ public class ConfigQCSampleMethodRespVO { @ExcelProperty("映射检测信息配置") private String configInfomation; + @Schema(description = "必要检测项目") + @ExcelProperty("必要检测项目") + private String mustProject; + @Schema(description = "排序号") private Integer sortNo; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigQCSampleMethodSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigQCSampleMethodSaveReqVO.java index 2be5344..ca46435 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigQCSampleMethodSaveReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigQCSampleMethodSaveReqVO.java @@ -46,6 +46,9 @@ public class ConfigQCSampleMethodSaveReqVO { @Schema(description = "映射检测信息配置") private String configInfomation; + @Schema(description = "必要检测项目") + private String mustProject; + @Schema(description = "排序号") private Integer sortNo; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigAssayMethodParameterDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigAssayMethodParameterDO.java new file mode 100644 index 0000000..817c5e9 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigAssayMethodParameterDO.java @@ -0,0 +1,120 @@ +package com.zt.plat.module.qms.business.config.dal.dataobject; + +import lombok.*; +import java.util.*; + import java.time.LocalDateTime; + import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import com.zt.plat.framework.mybatis.core.dataobject.BusinessBaseDO; +/** +* 检测方法参数配置 DO +* +* @author 后台管理-1 +*/ +@TableName("t_cfg_asy_mthd_prm") +@KeySequence("t_cfg_asy_mthd_prm_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +/** +* 支持业务基类继承:isBusiness=true 时继承 BusinessBaseDO,否则继承 BaseDO +*/ +public class ConfigAssayMethodParameterDO extends BusinessBaseDO { + + + + /** + * ID + */ + @TableId(type = IdType.ASSIGN_ID) + private Long id; + /** + * 检测方法ID + */ + @TableField("CFG_ASY_MTHD_ID") + private Long configAssayMethodId; + /** + * 参数名称 + */ + @TableField("PRM_NAME") + private String parameterName; + /** + * 参数简称 + */ + @TableField("SHRT_NAME") + private String shortName; + /** + * 参数序号 + */ + @TableField("NO") + private Integer no; + /** + * 键值 + */ + @TableField("KY") + private String key; + /** + * 填写方式,字典表【T_DIC_BSN】人工录入,天平采集,计算 + */ + @TableField("FIL_WY") + private String fillingWay; + /** + * 数据类型,【字典】【jy_sample_data_type】字符串,整数,小数,日期,时间 + */ + @TableField("DAT_TP") + private String dataType; + /** + * 小数位 + */ + @TableField("DEC_POS") + private Integer decimalPosition; + /** + * 默认值 + */ + @TableField("DFT_VAL") + private String defaultValue; + /** + * 是否允许为空 + */ + @TableField("IS_NLL") + private Integer isNull; + /** + * pc界面是否显示 + */ + @TableField("IS_SHW") + private Integer isShow; + /** + * 排序号 + */ + @TableField("SRT_NO") + private Integer sortNo; + /** + * 参数分组_ID,字典表【T_DIC_BSN】参数分组 + */ + @TableField("DIC_BSN_ID") + private Long dictionaryBusinessId; + /** + * 参数分组_Key,字典表【T_DIC_BSN】参数分组 + */ + @TableField("DIC_BSN_KY") + private String dictionaryBusinessKey; + /** + * 所属部门 + */ + @TableField("SYS_DEPT_CD") + private String systemDepartmentCode; + /** + * 备注 + */ + @TableField("RMK") + private String remark; + /** + * 版本 + */ + @TableField("VER") + private Integer version; + +} \ 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/dataobject/ConfigQCSampleMethodDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigQCSampleMethodDO.java index ba8720c..5703ae0 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigQCSampleMethodDO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigQCSampleMethodDO.java @@ -77,6 +77,11 @@ public class ConfigQCSampleMethodDO extends BusinessBaseDO { @TableField("CFG_INF") private String configInfomation; /** + * 必要检测项目 + */ + @TableField("MUST_PRJ") + private String mustProject; + /** * 排序号 */ @TableField("SRT_NO") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigAssayMethodParameterMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigAssayMethodParameterMapper.java new file mode 100644 index 0000000..5d6668b --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigAssayMethodParameterMapper.java @@ -0,0 +1,43 @@ +package com.zt.plat.module.qms.business.config.dal.mapper; + +import java.util.*; + +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.zt.plat.module.qms.business.config.controller.vo.*; +import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodParameterDO; +import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; +import org.apache.ibatis.annotations.Mapper; + +/** + * 检测方法参数配置 Mapper + * + * @author 后台管理-1 + */ +@Mapper +public interface ConfigAssayMethodParameterMapper extends BaseMapperX { + + default PageResult selectPage(ConfigAssayMethodParameterPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(ConfigAssayMethodParameterDO::getConfigAssayMethodId, reqVO.getConfigAssayMethodId()) + .likeIfPresent(ConfigAssayMethodParameterDO::getParameterName, reqVO.getParameterName()) + .likeIfPresent(ConfigAssayMethodParameterDO::getShortName, reqVO.getShortName()) + .eqIfPresent(ConfigAssayMethodParameterDO::getNo, reqVO.getNo()) + .eqIfPresent(ConfigAssayMethodParameterDO::getKey, reqVO.getKey()) + .eqIfPresent(ConfigAssayMethodParameterDO::getFillingWay, reqVO.getFillingWay()) + .eqIfPresent(ConfigAssayMethodParameterDO::getDataType, reqVO.getDataType()) + .eqIfPresent(ConfigAssayMethodParameterDO::getDecimalPosition, reqVO.getDecimalPosition()) + .eqIfPresent(ConfigAssayMethodParameterDO::getDefaultValue, reqVO.getDefaultValue()) + .eqIfPresent(ConfigAssayMethodParameterDO::getIsNull, reqVO.getIsNull()) + .eqIfPresent(ConfigAssayMethodParameterDO::getIsShow, reqVO.getIsShow()) + .eqIfPresent(ConfigAssayMethodParameterDO::getSortNo, reqVO.getSortNo()) + .eqIfPresent(ConfigAssayMethodParameterDO::getDictionaryBusinessId, reqVO.getDictionaryBusinessId()) + .eqIfPresent(ConfigAssayMethodParameterDO::getDictionaryBusinessKey, reqVO.getDictionaryBusinessKey()) + .eqIfPresent(ConfigAssayMethodParameterDO::getSystemDepartmentCode, reqVO.getSystemDepartmentCode()) + .betweenIfPresent(ConfigAssayMethodParameterDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(ConfigAssayMethodParameterDO::getRemark, reqVO.getRemark()) + .eqIfPresent(ConfigAssayMethodParameterDO::getVersion, reqVO.getVersion()) + .orderByDesc(ConfigAssayMethodParameterDO::getId)); + } + +} \ 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/ConfigQCSampleMethodMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigQCSampleMethodMapper.java index 5a0fc14..1b88f58 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigQCSampleMethodMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigQCSampleMethodMapper.java @@ -6,9 +6,7 @@ import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; import com.zt.plat.framework.mybatis.core.query.MPJLambdaWrapperX; import com.zt.plat.module.qms.business.config.controller.vo.*; -import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodDO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigQCSampleMethodDO; -import com.zt.plat.module.qms.business.dic.dal.dataobject.DictionarySampleTypeDO; import com.zt.plat.module.qms.common.dic.dal.dataobject.DictionaryBusinessDO; import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; import org.apache.ibatis.annotations.Mapper; @@ -32,6 +30,7 @@ public interface ConfigQCSampleMethodMapper extends BaseMapperX selectByConfigAssayMethodId(Long configAssayMethodId) { return selectJoinList(ConfigQCSampleMethodExtendRespVO.class, new MPJLambdaWrapperX() - .leftJoin(DictionaryBusinessDO.class, DictionaryBusinessDO::getId, ConfigQCSampleMethodDO::getDictionaryBusinessId) + .leftJoin(DictionaryBusinessDO.class, "dbd1", DictionaryBusinessDO::getId, ConfigQCSampleMethodDO::getDictionaryBusinessId) + .leftJoin(DictionaryBusinessDO.class, "dbd2", DictionaryBusinessDO::getId, "dbd1", DictionaryBusinessDO::getParentId) .selectAll(ConfigQCSampleMethodDO.class) - .selectAs(DictionaryBusinessDO::getName, ConfigQCSampleMethodExtendRespVO::getDictionaryBusinessName) + .selectAs("dbd1", DictionaryBusinessDO::getName, ConfigQCSampleMethodExtendRespVO::getDictionaryBusinessName) + .selectAs("dbd1", DictionaryBusinessDO::getParentId, ConfigQCSampleMethodExtendRespVO::getParentDictionaryBusinessId) + .selectAs("dbd2", DictionaryBusinessDO::getKey, ConfigQCSampleMethodExtendRespVO::getParentDictionaryBusinesskey) + .selectAs("dbd2", DictionaryBusinessDO::getName, ConfigQCSampleMethodExtendRespVO::getParentDictionaryBusinessName) .eq(ConfigQCSampleMethodDO::getConfigAssayMethodId, configAssayMethodId) .orderByAsc(ConfigQCSampleMethodDO::getSortNo)); } diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigAssayMethodParameterService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigAssayMethodParameterService.java new file mode 100644 index 0000000..0044938 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigAssayMethodParameterService.java @@ -0,0 +1,62 @@ +package com.zt.plat.module.qms.business.config.service; + +import java.util.*; +import jakarta.validation.*; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.module.qms.business.config.controller.vo.*; +import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodParameterDO; +import com.zt.plat.framework.common.pojo.PageParam; + +/** + * 检测方法参数配置 Service 接口 + * + * @author 后台管理-1 + */ +public interface ConfigAssayMethodParameterService { + + /** + * 创建检测方法参数配置 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + ConfigAssayMethodParameterRespVO createConfigAssayMethodParameter(@Valid ConfigAssayMethodParameterSaveReqVO createReqVO); + + /** + * 更新检测方法参数配置 + * + * @param updateReqVO 更新信息 + */ + void updateConfigAssayMethodParameter(@Valid ConfigAssayMethodParameterSaveReqVO updateReqVO); + + /** + * 删除检测方法参数配置 + * + * @param id 编号 + */ + void deleteConfigAssayMethodParameter(Long id); + + /** + * 批量删除检测方法参数配置 + * + * @param ids 编号 + */ + void deleteConfigAssayMethodParameterListByIds(List ids); + + /** + * 获得检测方法参数配置 + * + * @param id 编号 + * @return 检测方法参数配置 + */ + ConfigAssayMethodParameterDO getConfigAssayMethodParameter(Long id); + + /** + * 获得检测方法参数配置分页 + * + * @param pageReqVO 分页查询 + * @return 检测方法参数配置分页 + */ + PageResult getConfigAssayMethodParameterPage(ConfigAssayMethodParameterPageReqVO pageReqVO); + +} \ 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/service/ConfigAssayMethodParameterServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigAssayMethodParameterServiceImpl.java new file mode 100644 index 0000000..311e2e3 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigAssayMethodParameterServiceImpl.java @@ -0,0 +1,91 @@ +package com.zt.plat.module.qms.business.config.service; + +import cn.hutool.core.collection.CollUtil; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.common.pojo.PageParam; +import com.zt.plat.framework.common.util.object.BeanUtils; +import com.zt.plat.module.qms.business.config.controller.vo.*; +import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodParameterDO; +import com.zt.plat.module.qms.business.config.dal.mapper.ConfigAssayMethodParameterMapper; + +import static com.zt.plat.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.zt.plat.framework.common.util.collection.CollectionUtils.convertList; +import static com.zt.plat.framework.common.util.collection.CollectionUtils.diffList; +import static com.zt.plat.module.qms.enums.ErrorCodeConstants.*; + +/** + * 检测方法参数配置 Service 实现类 + * + * @author 后台管理-1 + */ +@Service +@Validated +public class ConfigAssayMethodParameterServiceImpl implements ConfigAssayMethodParameterService { + + @Resource + private ConfigAssayMethodParameterMapper configAssayMethodParameterMapper; + + @Override + public ConfigAssayMethodParameterRespVO createConfigAssayMethodParameter(ConfigAssayMethodParameterSaveReqVO createReqVO) { + // 插入 + ConfigAssayMethodParameterDO configAssayMethodParameter = BeanUtils.toBean(createReqVO, ConfigAssayMethodParameterDO.class); + configAssayMethodParameterMapper.insert(configAssayMethodParameter); + // 返回 + return BeanUtils.toBean(configAssayMethodParameter, ConfigAssayMethodParameterRespVO.class); + } + + @Override + public void updateConfigAssayMethodParameter(ConfigAssayMethodParameterSaveReqVO updateReqVO) { + // 校验存在 + validateConfigAssayMethodParameterExists(updateReqVO.getId()); + // 更新 + ConfigAssayMethodParameterDO updateObj = BeanUtils.toBean(updateReqVO, ConfigAssayMethodParameterDO.class); + configAssayMethodParameterMapper.updateById(updateObj); + } + + @Override + public void deleteConfigAssayMethodParameter(Long id) { + // 校验存在 + validateConfigAssayMethodParameterExists(id); + // 删除 + configAssayMethodParameterMapper.deleteById(id); + } + + @Override + public void deleteConfigAssayMethodParameterListByIds(List ids) { + // 校验存在 + validateConfigAssayMethodParameterExists(ids); + // 删除 + configAssayMethodParameterMapper.deleteByIds(ids); + } + + private void validateConfigAssayMethodParameterExists(List ids) { + List list = configAssayMethodParameterMapper.selectByIds(ids); + if (CollUtil.isEmpty(list) || list.size() != ids.size()) { + throw exception(CONFIG_ASSAY_METHOD_PARAMETER_NOT_EXISTS); + } + } + + private void validateConfigAssayMethodParameterExists(Long id) { + if (configAssayMethodParameterMapper.selectById(id) == null) { + throw exception(CONFIG_ASSAY_METHOD_PARAMETER_NOT_EXISTS); + } + } + + @Override + public ConfigAssayMethodParameterDO getConfigAssayMethodParameter(Long id) { + return configAssayMethodParameterMapper.selectById(id); + } + + @Override + public PageResult getConfigAssayMethodParameterPage(ConfigAssayMethodParameterPageReqVO pageReqVO) { + return configAssayMethodParameterMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskParameterDataMapper.xml b/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskParameterDataMapper.xml new file mode 100644 index 0000000..7eb5d39 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskParameterDataMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/config/dal/mapper/ConfigAssayMethodParameterMapper.xml b/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/config/dal/mapper/ConfigAssayMethodParameterMapper.xml new file mode 100644 index 0000000..b219367 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/config/dal/mapper/ConfigAssayMethodParameterMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file From 9ddb1857e6658429f6e5b632fe3e44566a0f49bb Mon Sep 17 00:00:00 2001 From: wxr Date: Fri, 19 Dec 2025 11:57:02 +0800 Subject: [PATCH 04/16] =?UTF-8?q?=E5=88=86=E6=9E=90=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BusinessAssayTaskParameterDataMapper.java | 30 ++++++++++ .../SampleEntrustGenSampleDataCmp.java | 60 +++++++++++++++++-- .../service/SampleAnalysisServiceImpl.java | 49 ++++++++++++++- .../config/dal/mapper/BaseSampleMapper.java | 5 +- .../ConfigAssayMethodParameterMapper.java | 6 ++ .../ConfigAssayMethodProjectMapper.java | 5 +- 6 files changed, 144 insertions(+), 11 deletions(-) diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskParameterDataMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskParameterDataMapper.java index a2d21ce..1352cc0 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskParameterDataMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskParameterDataMapper.java @@ -4,8 +4,14 @@ import java.util.*; import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; +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.BusinessAssayTaskParameterDataDO; +import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodParameterDO; +import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodProjectDO; +import com.zt.plat.module.qms.business.dic.dal.dataobject.DictionaryProjectDO; +import com.zt.plat.module.qms.common.dic.dal.dataobject.DictionaryBusinessDO; import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; import org.apache.ibatis.annotations.Mapper; @@ -31,4 +37,28 @@ public interface BusinessAssayTaskParameterDataMapper extends BaseMapperX selectByBusinessAssayTaskDataIds(List businessAssayTaskDataIdList) { + return selectJoinList(BusinessAssayProjectAndParameterRespVO.class, new MPJLambdaWrapperX() + .leftJoin(ConfigAssayMethodParameterDO.class, ConfigAssayMethodParameterDO::getId, BusinessAssayTaskParameterDataDO::getConfigAssayMethodParameterId) + .leftJoin(DictionaryBusinessDO.class, DictionaryBusinessDO::getId, ConfigAssayMethodParameterDO::getDictionaryBusinessId) + .selectAs(BusinessAssayTaskParameterDataDO::getId, BusinessAssayProjectAndParameterRespVO::getId) + .selectAs(BusinessAssayTaskParameterDataDO::getConfigAssayMethodParameterId, BusinessAssayProjectAndParameterRespVO::getDicId) + .selectAs(ConfigAssayMethodParameterDO::getKey, BusinessAssayProjectAndParameterRespVO::getDicKey) + .selectAs(ConfigAssayMethodParameterDO::getParameterName, BusinessAssayProjectAndParameterRespVO::getName) + .selectAs(ConfigAssayMethodParameterDO::getShortName, BusinessAssayProjectAndParameterRespVO::getShowName) + .selectAs(BusinessAssayTaskParameterDataDO::getDataType, BusinessAssayProjectAndParameterRespVO::getDataType) + .selectAs(BusinessAssayTaskParameterDataDO::getDecimalPosition, BusinessAssayProjectAndParameterRespVO::getDecimalPosition) + .selectAs(BusinessAssayTaskParameterDataDO::getValue, BusinessAssayProjectAndParameterRespVO::getValue) + //.selectAs(ConfigAssayMethodParameterDO::getDictionaryProjectUnit, BusinessAssayProjectAndParameterRespVO::getUnit) + .selectAs(ConfigAssayMethodParameterDO::getIsNull, BusinessAssayProjectAndParameterRespVO::getIsNull) + //.selectAs(ConfigAssayMethodParameterDO::getFormula, BusinessAssayProjectAndParameterRespVO::getFormula) + .selectAs(ConfigAssayMethodParameterDO::getSortNo, BusinessAssayProjectAndParameterRespVO::getParamNo) + .selectAs("'attribute'", BusinessAssayProjectAndParameterRespVO::getType) + .selectAs(ConfigAssayMethodParameterDO::getDictionaryBusinessId, BusinessAssayProjectAndParameterRespVO::getGroupDictionaryBusinessId) + .selectAs(ConfigAssayMethodParameterDO::getDictionaryBusinessKey, BusinessAssayProjectAndParameterRespVO::getGroupDictionaryBusinessKey) + .selectAs(DictionaryBusinessDO::getName, BusinessAssayProjectAndParameterRespVO::getGroupDictionaryBusinessName) + .in(BusinessAssayTaskParameterDataDO::getBusinessAssayTaskDataId, businessAssayTaskDataIdList) + .orderByAsc(ConfigAssayMethodParameterDO::getSortNo)); + } + } \ 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/bus/liteflow/sample/entrust/SampleEntrustGenSampleDataCmp.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/entrust/SampleEntrustGenSampleDataCmp.java index 8019665..480823a 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/entrust/SampleEntrustGenSampleDataCmp.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/entrust/SampleEntrustGenSampleDataCmp.java @@ -22,6 +22,7 @@ import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayParameter import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayProjectDataDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayReportDataDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDataDO; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskParameterDataDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessBaseSampleDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSampleAssayResultDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSampleEntrustDetailDO; @@ -36,6 +37,7 @@ import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayParameterData import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayProjectDataMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayReportDataMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayTaskDataMapper; +import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayTaskParameterDataMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessBaseSampleMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSampleAssayResultMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSampleEntrustDetailMapper; @@ -54,16 +56,17 @@ import com.zt.plat.module.qms.business.config.controller.vo.ConfigSubSampleMetho import com.zt.plat.module.qms.business.config.controller.vo.ConfigSubSampleMethodExtendRespVO; import com.zt.plat.module.qms.business.config.dal.dataobject.BaseSampleDO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodDO; +import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodParameterDO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodProjectParameterDO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigBaseSampleDO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigSampleFlowDO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigSampleReportDO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigSubSampleDO; -import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigSubSampleMethodDO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigSubSampleParentDO; import com.zt.plat.module.qms.business.config.dal.dataobject.MaterialAssayStandardMethodDO; import com.zt.plat.module.qms.business.config.dal.mapper.BaseSampleMapper; import com.zt.plat.module.qms.business.config.dal.mapper.ConfigAssayMethodMapper; +import com.zt.plat.module.qms.business.config.dal.mapper.ConfigAssayMethodParameterMapper; 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.ConfigBaseSampleMapper; @@ -141,9 +144,15 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent { @Resource private ConfigSubSampleMethodMapper configSubSampleMethodMapper;//子样分析方法关联配置 + @Resource + private ConfigAssayMethodParameterMapper configAssayMethodParameterMapper; + @Resource private BusinessAssayTaskDataMapper businessAssayTaskDataMapper; + @Resource + private BusinessAssayTaskParameterDataMapper businessAssayTaskParameterDataMapper; + @Resource private ConfigAssayMethodProjectMapper configAssayMethodProjectMapper; @@ -210,6 +219,8 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent { List configAssayMethodIdList = configSubSampleMethodList.stream().map(m -> m.getConfigAssayMethodId()).distinct().collect(Collectors.toList()); //分析方法配置 List configAssayMethodList = configAssayMethodMapper.selectByIds(configAssayMethodIdList); + //分析方法参数配置 + List configAssayMethodParameterList = configAssayMethodParameterMapper.selectByConfigAssayMethodIds(configAssayMethodList); //分析方法检测项目配置 List configAssayMethodProjectList = configAssayMethodProjectMapper.selectByConfigAssayMethodIds(configAssayMethodIdList); //分析方法检测项目参数配置 @@ -242,6 +253,8 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent { List businessSubSampleAssessmentDOList = new ArrayList<>(); //子样检测任务 List businessAssayTaskDataDOList = new ArrayList<>(); + //子样检测任务参数 + List businessAssayTaskParameterDataDOList = new ArrayList<>(); //检测任务的分析项目 List businessAssayProjectDataDOList = new ArrayList<>(); //分析项目对应的分析参数 @@ -453,7 +466,7 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent { businessSubSampleAssessmentDOList, businessAssayTaskDataDOList, businessAssayProjectDataDOList, businessAssayParameterDataDOList, configSubSample, configSampleFlowSub, sampleFlowNodeSub, businessSubSampleDO, methodId, - projectIdList); + projectIdList, configAssayMethodParameterList, businessAssayTaskParameterDataDOList); } else if (QmsCommonConstant.ENTRUST_COMPREHENSIVE_INSPECTION_SAMPLE.equals(baseSampleDO.getDictionaryBusinessKey()) && isAssayConditionProjectList) {//如果是商检综合样,并且包含需检查的项目 addAssayTask(currentDateTime, configSubSampleMethodList, configAssayMethodProjectList, configAssayMethodProjectParameterList, dictionaryProjectList, @@ -461,7 +474,7 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent { businessSubSampleAssessmentDOList, businessAssayTaskDataDOList, businessAssayProjectDataDOList, businessAssayParameterDataDOList, configSubSample, configSampleFlowSub, sampleFlowNodeSub, businessSubSampleDO, methodId, - projectIdList); + projectIdList, configAssayMethodParameterList, businessAssayTaskParameterDataDOList); } else if (QmsCommonConstant.ENTRUST_COMMISSION_INSPECTION_SAMPLE.equals(baseSampleDO.getDictionaryBusinessKey()) && isAssayConditionProjectList && !isForecastS ) {//如果是委检样,包含检测项目,未预报S值 addAssayTask(currentDateTime, configSubSampleMethodList, configAssayMethodProjectList, @@ -470,7 +483,7 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent { businessSubSampleAssessmentDOList, businessAssayTaskDataDOList, businessAssayProjectDataDOList, businessAssayParameterDataDOList, configSubSample, configSampleFlowSub, sampleFlowNodeSub, businessSubSampleDO, methodId, - projectIdList); + projectIdList, configAssayMethodParameterList, businessAssayTaskParameterDataDOList); } } @@ -536,7 +549,21 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent { businessAssayTaskDataDO.setAssayDepartmentId(configAssayMethodDO.getAssayDepartmentId()); businessAssayTaskDataDO.setAssayDepartmentName(configAssayMethodDO.getAssayDepartmentName()); + //子样检测任务参数 + List configAssayMethodParameterDOList = configAssayMethodParameterList.stream().filter(f -> f.getConfigAssayMethodId().equals(configAssayMethodId)).collect(Collectors.toList()); + BusinessAssayTaskParameterDataDO businessAssayTaskParameterDataDO = null; + for (ConfigAssayMethodParameterDO configAssayMethodParameterDO : configAssayMethodParameterDOList) { + businessAssayTaskParameterDataDO = new BusinessAssayTaskParameterDataDO(); + businessAssayTaskParameterDataDO.setId(IdWorker.getId()); + businessAssayTaskParameterDataDO.setBusinessAssayTaskDataId(businessAssayTaskDataDO.getId()); + businessAssayTaskParameterDataDO.setConfigAssayMethodParameterId(configAssayMethodParameterDO.getId()); + businessAssayTaskParameterDataDO.setDataType(configAssayMethodParameterDO.getDataType()); + businessAssayTaskParameterDataDO.setDecimalPosition(configAssayMethodParameterDO.getDecimalPosition()); + + businessAssayTaskParameterDataDOList.add(businessAssayTaskParameterDataDO); + } + //子样检测任务检测项目 List configAssayMethodProjectDOList = configAssayMethodProjectList.stream().filter(f -> f.getConfigAssayMethodId().equals(configAssayMethodId)).collect(Collectors.toList()); StringBuilder assayProjectBuilder = new StringBuilder(); @@ -630,7 +657,10 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent { } if (CollUtil.isNotEmpty(businessAssayTaskDataDOList)) { businessAssayTaskDataMapper.insertBatch(businessAssayTaskDataDOList); - } + } + if (CollUtil.isNotEmpty(businessAssayTaskParameterDataDOList)) { + businessAssayTaskParameterDataMapper.insertBatch(businessAssayTaskParameterDataDOList); + } if (CollUtil.isNotEmpty(businessAssayProjectDataDOList)) { businessAssayProjectDataMapper.insertBatch(businessAssayProjectDataDOList); } @@ -653,7 +683,9 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent { List businessAssayProjectDataDOList, List businessAssayParameterDataDOList, ConfigSubSampleDO configSubSample, ConfigSampleFlowDO configSampleFlowSub, SampleFlowNode sampleFlowNodeSub, - BusinessSubSampleDO businessSubSampleDO, Long methodId, List projectIdList) { + BusinessSubSampleDO businessSubSampleDO, Long methodId, List projectIdList, + List configAssayMethodParameterList, + List businessAssayTaskParameterDataDOList) { BusinessSubSampleAnalysisGroupDO businessSubSampleAnalysisGroupDO; ConfigAssayMethodDO addAssayTaskConfigAssayMethod = configAssayMethodMapper.selectById(methodId); Long addAssayTaskAssayDepartmentId = addAssayTaskConfigAssayMethod.getAssayDepartmentId(); @@ -720,6 +752,22 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent { businessAssayTaskDataDO.setAssayDepartmentId(addAssayTaskConfigAssayMethod.getAssayDepartmentId()); businessAssayTaskDataDO.setAssayDepartmentName(addAssayTaskConfigAssayMethod.getAssayDepartmentName()); + + //子样检测任务参数 + List configAssayMethodParameterDOList = configAssayMethodParameterList.stream().filter(f -> f.getConfigAssayMethodId().equals(methodId)).collect(Collectors.toList()); + BusinessAssayTaskParameterDataDO businessAssayTaskParameterDataDO = null; + for (ConfigAssayMethodParameterDO configAssayMethodParameterDO : configAssayMethodParameterDOList) { + businessAssayTaskParameterDataDO = new BusinessAssayTaskParameterDataDO(); + businessAssayTaskParameterDataDO.setId(IdWorker.getId()); + businessAssayTaskParameterDataDO.setBusinessAssayTaskDataId(businessAssayTaskDataDO.getId()); + businessAssayTaskParameterDataDO.setConfigAssayMethodParameterId(configAssayMethodParameterDO.getId()); + businessAssayTaskParameterDataDO.setDataType(configAssayMethodParameterDO.getDataType()); + businessAssayTaskParameterDataDO.setDecimalPosition(configAssayMethodParameterDO.getDecimalPosition()); + + businessAssayTaskParameterDataDOList.add(businessAssayTaskParameterDataDO); + } + + //子样检测任务检测项目 List configAssayMethodProjectDOList = configAssayMethodProjectList.stream().filter(f -> f.getConfigAssayMethodId().equals(methodId)).collect(Collectors.toList()); StringBuilder assayProjectBuilder = new StringBuilder(); 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 ede664e..aa9859d 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 @@ -43,6 +43,7 @@ import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayProjectDa 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.BusinessAssayTaskDetailDO; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskParameterDataDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCCoefficientDataDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCCoefficientParameterDataDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCManagementDataDO; @@ -56,6 +57,7 @@ import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayProjectDataMa import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayTaskDataMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayTaskDetailMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayTaskMapper; +import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayTaskParameterDataMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCCoefficientDataMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCCoefficientParameterDataMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCManagementDataMapper; @@ -119,6 +121,9 @@ public class SampleAnalysisServiceImpl implements SampleAnalysisService { @Resource private BusinessAssayTaskDataMapper businessAssayTaskDataMapper; + @Resource + private BusinessAssayTaskParameterDataMapper businessAssayTaskParameterDataMapper; + @Resource private BusinessAssayProjectDataMapper businessAssayProjectDataMapper; @@ -564,6 +569,15 @@ public class SampleAnalysisServiceImpl implements SampleAnalysisService { List businessAssayTaskDataIdList = businessAssayTaskDataList.stream().map(m -> m.getId()).collect(Collectors.toList()); + //任务参数查询 + List taskParameterList = businessAssayTaskParameterDataMapper.selectByBusinessAssayTaskDataIds(businessAssayTaskDataIdList); + for (BusinessAssayProjectAndParameterRespVO taskParameter : taskParameterList) { + String fieldIndex = "a" + taskParameter.getDicId(); + String title = taskParameter.getShowName() + (StringUtils.isBlank(taskParameter.getUnit()) ? "" : "(" + taskParameter.getUnit() + ")"); + boolean isEdit = StringUtils.isBlank(taskParameter.getFormula()); + cloumns.add(new BatchSampleAnalysisColumnRespVO(fieldIndex, fieldIndex + ".value", title, "", "120px", taskParameter.getDataType(), taskParameter.getDecimalPosition(), null, taskParameter.getFormula(), taskParameter.getParamNo(), isEdit, taskParameter.getUnit(), "project", taskParameter.getFillingWay(), taskParameter.getGroupDictionaryBusinessId(), taskParameter.getGroupDictionaryBusinessKey(), taskParameter.getGroupDictionaryBusinessName())); + } + BusinessAssayProjectDataReqVO projectDataSearch = new BusinessAssayProjectDataReqVO(); projectDataSearch.setBusinessAssayTaskDataIdList(businessAssayTaskDataIdList); List projectAndParameterList = businessAssayProjectDataMapper.selectProjectAndParameterBy(projectDataSearch); @@ -738,7 +752,7 @@ public class SampleAnalysisServiceImpl implements SampleAnalysisService { //处理数据 List> datas = new ArrayList<>(); - if ("kby".equals(configQCSampleMethodExtendRespVO.getDictionaryBusinessKey()) || "by".equals(configQCSampleMethodExtendRespVO.getDictionaryBusinessKey())) { + if ("withoutProject".equals(configQCSampleMethodExtendRespVO.getParentDictionaryBusinesskey())) {//不带检测项目 List businessQCCoefficientDataDOList = businessQCCoefficientDataMapper.selectByBusinessAssayTaskIdAndDictionaryBusinessKey(businessAssayTaskDO.getId(), configQCSampleMethodExtendRespVO.getDictionaryBusinessKey()); if (CollUtil.isEmpty(businessQCCoefficientDataDOList)) { break; @@ -777,7 +791,7 @@ public class SampleAnalysisServiceImpl implements SampleAnalysisService { } - } else { + } else {//带检测项目 List businessQCManagementDataDOList = businessQCManagementDataMapper.selectByBusinessAssayTaskId(businessAssayTaskDO.getId()); if (CollUtil.isEmpty(businessQCManagementDataDOList)) { @@ -868,11 +882,14 @@ public class SampleAnalysisServiceImpl implements SampleAnalysisService { List businessAssayTaskDataIdList = businessAssayTaskDataList.stream().map(m -> m.getId()).collect(Collectors.toList()); + List businessAssayTaskParameterDataList = businessAssayTaskParameterDataMapper.selectList(new LambdaQueryWrapperX().in(BusinessAssayTaskParameterDataDO::getBusinessAssayTaskDataId, businessAssayTaskDataIdList)); + List businessAssayProjectDataList = businessAssayProjectDataMapper.selectList(new LambdaQueryWrapperX().in(BusinessAssayProjectDataDO::getBusinessAssayTaskDataId, businessAssayTaskDataIdList)); List businessAssayProjectDataIdList = businessAssayProjectDataList.stream().map(m -> m.getId()).collect(Collectors.toList()); List businessAssayParameterDataList = businessAssayParameterDataMapper.selectList(new LambdaQueryWrapperX().in(BusinessAssayParameterDataDO::getBusinessAssayProjectDataId, businessAssayProjectDataIdList)); + List> datas = businessAssayTaskAnalysisDataRespVO.getDatas(); for (Map map : datas) { @@ -935,11 +952,39 @@ public class SampleAnalysisServiceImpl implements SampleAnalysisService { } else { businessAssayParameterDataDO.setValue(null); } + } else if ("attribute".equals(pap.getType())) { + BusinessAssayTaskParameterDataDO businessAssayTaskParameterDataDO = businessAssayTaskParameterDataList.stream().filter(f -> f.getId().equals(pap.getId())).findFirst().orElse(null); + if (StringUtils.isNotBlank(pap.getValue())) { + String dataType = pap.getDataType();//string-字符串,int-整数,decimal-小数,date-日期,datetime-时间 + switch (dataType) { + case "int": + case "date": + case "datetime": + case "string": + businessAssayTaskParameterDataDO.setValue(pap.getValue()); + businessAssayTaskParameterDataDO.setRemark(pap.getShowName() + ": " + pap.getValue()); + break; + case "decimal": + BigDecimal value = new BigDecimal(pap.getValue()); + value = value.setScale(pap.getDecimalPosition(), RoundingMode.HALF_EVEN); + businessAssayTaskParameterDataDO.setValue(value.toPlainString()); + businessAssayTaskParameterDataDO.setRemark(pap.getShowName() + ": " + value.toPlainString()); + break; + default: + throw new IllegalArgumentException("Unexpected value: " + dataType); + } + } else { + businessAssayTaskParameterDataDO.setValue(null); + } } } } + if (CollUtil.isNotEmpty(businessAssayTaskParameterDataList)) { + businessAssayTaskParameterDataMapper.updateBatch(businessAssayTaskParameterDataList); + } + if (CollUtil.isNotEmpty(businessAssayProjectDataList)) { businessAssayProjectDataMapper.updateBatch(businessAssayProjectDataList); } diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/BaseSampleMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/BaseSampleMapper.java index fab1519..a0b7272 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/BaseSampleMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/BaseSampleMapper.java @@ -4,6 +4,7 @@ import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.framework.common.util.object.BeanUtils; import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; import com.zt.plat.framework.mybatis.core.query.MPJLambdaWrapperX; +import com.zt.plat.framework.tenant.core.context.TenantContextHolder; import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; import com.zt.plat.module.qms.business.config.controller.vo.*; import com.zt.plat.module.qms.business.config.dal.dataobject.BaseSampleDO; @@ -48,10 +49,10 @@ public interface BaseSampleMapper extends BaseMapperX { .betweenIfPresent(BaseSampleDO::getCreateTime, reqVO.getCreateTime()) .eqIfPresent(BaseSampleDO::getRemark, reqVO.getRemark()); if (ObjectUtil.isNotEmpty(reqVO.getConfigEntrustSourceId())) { - queryWrapperX.inSql(BaseSampleDO::getDictionaryBusinessId, "SELECT tcesst.DIC_BSN_ID FROM T_CFG_ENTT_SRC_SMP_TP tcesst WHERE tcesst.CFG_ENTT_SRC_ID = " + reqVO.getConfigEntrustSourceId()); + queryWrapperX.inSql(BaseSampleDO::getDictionaryBusinessId, "SELECT tcesst.DIC_BSN_ID FROM T_CFG_ENTT_SRC_SMP_TP tcesst WHERE tcesst.DELETED = 0 AND tcesst.TENANT_ID = " + TenantContextHolder.getRequiredTenantId() + " AND tcesst.CFG_ENTT_SRC_ID = " + reqVO.getConfigEntrustSourceId()); } if (QmsCommonConstant.ENTRUST_INSPECTION.equals(reqVO.getEntrustType())) { - queryWrapperX.inSql(BaseSampleDO::getDictionaryBusinessId, "SELECT tcesst.DIC_BSN_ID FROM T_CFG_ENTT_SRC_SMP_TP tcesst LEFT JOIN T_CFG_ENTT_SRC tces ON tcesst.CFG_ENTT_SRC_ID = tces.ID WHERE tces.ENTT_TP = '" + reqVO.getEntrustType() + "'"); + queryWrapperX.inSql(BaseSampleDO::getDictionaryBusinessId, "SELECT tcesst.DIC_BSN_ID FROM T_CFG_ENTT_SRC_SMP_TP tcesst LEFT JOIN T_CFG_ENTT_SRC tces ON tcesst.CFG_ENTT_SRC_ID = tces.ID WHERE tcesst.DELETED = 0 AND tcesst.TENANT_ID = " + TenantContextHolder.getRequiredTenantId() + " AND tces.DELETED = 0 AND tces.TENANT_ID = " + TenantContextHolder.getRequiredTenantId() + " AND tces.ENTT_TP = '" + reqVO.getEntrustType() + "'"); } queryWrapperX.orderByDesc(BaseSampleDO::getId); diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigAssayMethodParameterMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigAssayMethodParameterMapper.java index 5d6668b..abc8d06 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigAssayMethodParameterMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigAssayMethodParameterMapper.java @@ -5,6 +5,7 @@ import java.util.*; import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; import com.zt.plat.module.qms.business.config.controller.vo.*; +import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodDO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodParameterDO; import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; import org.apache.ibatis.annotations.Mapper; @@ -40,4 +41,9 @@ public interface ConfigAssayMethodParameterMapper extends BaseMapperX selectByConfigAssayMethodIds(List configAssayMethodList) { + return selectList(new LambdaQueryWrapperX() + .in(ConfigAssayMethodParameterDO::getConfigAssayMethodId, configAssayMethodList)); + } + } \ 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/ConfigAssayMethodProjectMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigAssayMethodProjectMapper.java index 31c0345..2f997e1 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigAssayMethodProjectMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigAssayMethodProjectMapper.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; import com.zt.plat.framework.mybatis.core.query.MPJLambdaWrapperX; +import com.zt.plat.framework.tenant.core.context.TenantContextHolder; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayProjectDataDO; import com.zt.plat.module.qms.business.config.controller.vo.*; import com.zt.plat.module.qms.business.config.controller.vo.ConfigAssayMethodProjectPageReqVO; @@ -72,7 +73,9 @@ public interface ConfigAssayMethodProjectMapper extends BaseMapperX selectByConfigSubSampleIdsAndAssayDepartmentId(List configSubSampleIds, Long assayDepartmentId) { - StringBuilder inSql = new StringBuilder("SELECT tcssm.CFG_ASY_MTHD_ID FROM T_CFG_SB_SMP_MTHD tcssm WHERE tcssm.DELETED = 0 AND tcssm.CFG_SB_SMP_ID IN ("); + StringBuilder inSql = new StringBuilder("SELECT tcssm.CFG_ASY_MTHD_ID FROM T_CFG_SB_SMP_MTHD tcssm WHERE tcssm.DELETED = 0 AND tcesst.TENANT_ID = "); + inSql.append(TenantContextHolder.getRequiredTenantId()); + inSql.append(" AND tcssm.CFG_SB_SMP_ID IN ("); for (Long configSubSampleId : configSubSampleIds) { inSql.append(configSubSampleId).append(","); } From 20d87e67fe45e5b34a01531a9d6c9a00a015a87c Mon Sep 17 00:00:00 2001 From: wxr Date: Fri, 19 Dec 2025 13:51:51 +0800 Subject: [PATCH 05/16] =?UTF-8?q?bug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../liteflow/sample/entrust/SampleEntrustGenSampleDataCmp.java | 2 +- .../config/dal/mapper/ConfigAssayMethodParameterMapper.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/entrust/SampleEntrustGenSampleDataCmp.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/entrust/SampleEntrustGenSampleDataCmp.java index 480823a..d30b381 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/entrust/SampleEntrustGenSampleDataCmp.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/entrust/SampleEntrustGenSampleDataCmp.java @@ -220,7 +220,7 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent { //分析方法配置 List configAssayMethodList = configAssayMethodMapper.selectByIds(configAssayMethodIdList); //分析方法参数配置 - List configAssayMethodParameterList = configAssayMethodParameterMapper.selectByConfigAssayMethodIds(configAssayMethodList); + List configAssayMethodParameterList = configAssayMethodParameterMapper.selectByConfigAssayMethodIds(configAssayMethodIdList); //分析方法检测项目配置 List configAssayMethodProjectList = configAssayMethodProjectMapper.selectByConfigAssayMethodIds(configAssayMethodIdList); //分析方法检测项目参数配置 diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigAssayMethodParameterMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigAssayMethodParameterMapper.java index abc8d06..ee92e0b 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigAssayMethodParameterMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigAssayMethodParameterMapper.java @@ -41,7 +41,7 @@ public interface ConfigAssayMethodParameterMapper extends BaseMapperX selectByConfigAssayMethodIds(List configAssayMethodList) { + default List selectByConfigAssayMethodIds(List configAssayMethodList) { return selectList(new LambdaQueryWrapperX() .in(ConfigAssayMethodParameterDO::getConfigAssayMethodId, configAssayMethodList)); } From d6f24701040bb07572fc740f45f12142cde750db Mon Sep 17 00:00:00 2001 From: wxr Date: Fri, 19 Dec 2025 13:54:04 +0800 Subject: [PATCH 06/16] fix --- .../config/dal/mapper/ConfigAssayMethodParameterMapper.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigAssayMethodParameterMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigAssayMethodParameterMapper.java index ee92e0b..175cb38 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigAssayMethodParameterMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigAssayMethodParameterMapper.java @@ -41,9 +41,9 @@ public interface ConfigAssayMethodParameterMapper extends BaseMapperX selectByConfigAssayMethodIds(List configAssayMethodList) { + default List selectByConfigAssayMethodIds(List configAssayMethodIdList) { return selectList(new LambdaQueryWrapperX() - .in(ConfigAssayMethodParameterDO::getConfigAssayMethodId, configAssayMethodList)); + .in(ConfigAssayMethodParameterDO::getConfigAssayMethodId, configAssayMethodIdList)); } } \ No newline at end of file From 05ce6a8aa64cdf9f08f2fcf214ee8c2910643480 Mon Sep 17 00:00:00 2001 From: wxr Date: Fri, 19 Dec 2025 14:33:26 +0800 Subject: [PATCH 07/16] =?UTF-8?q?fix=20=E6=96=B9=E6=B3=95=E5=8F=98?= =?UTF-8?q?=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dal/mapper/BusinessAssayTaskParameterDataMapper.java | 2 +- .../qms/business/bus/service/SampleAnalysisServiceImpl.java | 6 ++++++ .../qms/business/config/dal/mapper/BaseSampleMapper.java | 4 ++-- .../config/dal/mapper/ConfigAssayMethodProjectMapper.java | 4 +--- 4 files changed, 10 insertions(+), 6 deletions(-) diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskParameterDataMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskParameterDataMapper.java index 1352cc0..0468b0a 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskParameterDataMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskParameterDataMapper.java @@ -45,7 +45,7 @@ public interface BusinessAssayTaskParameterDataMapper extends BaseMapperX taskParameterList2 = businessAssayTaskParameterDataMapper.selectByBusinessAssayTaskDataIds(Arrays.asList(businessAssayTaskDataDO.getId())); + for (BusinessAssayProjectAndParameterRespVO taskParameter : taskParameterList2) { + map.put("a" + taskParameter.getDicId(), taskParameter); + } BusinessAssayProjectDataReqVO projectDataSearch2 = new BusinessAssayProjectDataReqVO(); projectDataSearch2.setBusinessAssayTaskDataId(businessAssayTaskDataDO.getId()); diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/BaseSampleMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/BaseSampleMapper.java index a0b7272..c728524 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/BaseSampleMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/BaseSampleMapper.java @@ -49,10 +49,10 @@ public interface BaseSampleMapper extends BaseMapperX { .betweenIfPresent(BaseSampleDO::getCreateTime, reqVO.getCreateTime()) .eqIfPresent(BaseSampleDO::getRemark, reqVO.getRemark()); if (ObjectUtil.isNotEmpty(reqVO.getConfigEntrustSourceId())) { - queryWrapperX.inSql(BaseSampleDO::getDictionaryBusinessId, "SELECT tcesst.DIC_BSN_ID FROM T_CFG_ENTT_SRC_SMP_TP tcesst WHERE tcesst.DELETED = 0 AND tcesst.TENANT_ID = " + TenantContextHolder.getRequiredTenantId() + " AND tcesst.CFG_ENTT_SRC_ID = " + reqVO.getConfigEntrustSourceId()); + queryWrapperX.inSql(BaseSampleDO::getDictionaryBusinessId, "SELECT tcesst.DIC_BSN_ID FROM T_CFG_ENTT_SRC_SMP_TP tcesst WHERE tcesst.DELETED = 0 AND tcesst.CFG_ENTT_SRC_ID = " + reqVO.getConfigEntrustSourceId()); } if (QmsCommonConstant.ENTRUST_INSPECTION.equals(reqVO.getEntrustType())) { - queryWrapperX.inSql(BaseSampleDO::getDictionaryBusinessId, "SELECT tcesst.DIC_BSN_ID FROM T_CFG_ENTT_SRC_SMP_TP tcesst LEFT JOIN T_CFG_ENTT_SRC tces ON tcesst.CFG_ENTT_SRC_ID = tces.ID WHERE tcesst.DELETED = 0 AND tcesst.TENANT_ID = " + TenantContextHolder.getRequiredTenantId() + " AND tces.DELETED = 0 AND tces.TENANT_ID = " + TenantContextHolder.getRequiredTenantId() + " AND tces.ENTT_TP = '" + reqVO.getEntrustType() + "'"); + queryWrapperX.inSql(BaseSampleDO::getDictionaryBusinessId, "SELECT tcesst.DIC_BSN_ID FROM T_CFG_ENTT_SRC_SMP_TP tcesst LEFT JOIN T_CFG_ENTT_SRC tces ON tcesst.CFG_ENTT_SRC_ID = tces.ID WHERE tcesst.DELETED = 0 AND tces.DELETED = 0 AND tces.ENTT_TP = '" + reqVO.getEntrustType() + "'"); } queryWrapperX.orderByDesc(BaseSampleDO::getId); diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigAssayMethodProjectMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigAssayMethodProjectMapper.java index 2f997e1..d0a6a85 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigAssayMethodProjectMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigAssayMethodProjectMapper.java @@ -73,9 +73,7 @@ public interface ConfigAssayMethodProjectMapper extends BaseMapperX selectByConfigSubSampleIdsAndAssayDepartmentId(List configSubSampleIds, Long assayDepartmentId) { - StringBuilder inSql = new StringBuilder("SELECT tcssm.CFG_ASY_MTHD_ID FROM T_CFG_SB_SMP_MTHD tcssm WHERE tcssm.DELETED = 0 AND tcesst.TENANT_ID = "); - inSql.append(TenantContextHolder.getRequiredTenantId()); - inSql.append(" AND tcssm.CFG_SB_SMP_ID IN ("); + StringBuilder inSql = new StringBuilder("SELECT tcssm.CFG_ASY_MTHD_ID FROM T_CFG_SB_SMP_MTHD tcssm WHERE tcssm.DELETED = 0 AND tcssm.CFG_SB_SMP_ID IN ("); for (Long configSubSampleId : configSubSampleIds) { inSql.append(configSubSampleId).append(","); } From 0f379a035b265388f8c55bebe4ff5dd3cc9d7708 Mon Sep 17 00:00:00 2001 From: wxr Date: Fri, 19 Dec 2025 14:53:54 +0800 Subject: [PATCH 08/16] =?UTF-8?q?=E5=88=86=E6=9E=90=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../qms/business/bus/service/SampleAnalysisServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 2c805a4..f0fb2de 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 @@ -575,7 +575,7 @@ public class SampleAnalysisServiceImpl implements SampleAnalysisService { String fieldIndex = "a" + taskParameter.getDicId(); String title = taskParameter.getShowName() + (StringUtils.isBlank(taskParameter.getUnit()) ? "" : "(" + taskParameter.getUnit() + ")"); boolean isEdit = StringUtils.isBlank(taskParameter.getFormula()); - cloumns.add(new BatchSampleAnalysisColumnRespVO(fieldIndex, fieldIndex + ".value", title, "", "120px", taskParameter.getDataType(), taskParameter.getDecimalPosition(), null, taskParameter.getFormula(), taskParameter.getParamNo(), isEdit, taskParameter.getUnit(), "project", taskParameter.getFillingWay(), taskParameter.getGroupDictionaryBusinessId(), taskParameter.getGroupDictionaryBusinessKey(), taskParameter.getGroupDictionaryBusinessName())); + cloumns.add(new BatchSampleAnalysisColumnRespVO(fieldIndex, fieldIndex + ".value", title, "", "120px", taskParameter.getDataType(), taskParameter.getDecimalPosition(), null, taskParameter.getFormula(), taskParameter.getParamNo(), isEdit, taskParameter.getUnit(), "attribute", taskParameter.getFillingWay(), taskParameter.getGroupDictionaryBusinessId(), taskParameter.getGroupDictionaryBusinessKey(), taskParameter.getGroupDictionaryBusinessName())); } BusinessAssayProjectDataReqVO projectDataSearch = new BusinessAssayProjectDataReqVO(); From 9faf6091cf25b8de49105675925a891649876df4 Mon Sep 17 00:00:00 2001 From: wxr Date: Fri, 19 Dec 2025 16:25:29 +0800 Subject: [PATCH 09/16] =?UTF-8?q?=E5=88=86=E6=9E=90=E5=8F=96=E5=8F=82?= =?UTF-8?q?=E6=95=B0=E9=85=8D=E7=BD=AE=E9=94=99=E8=AF=AF=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../qms/business/bus/service/SampleAnalysisServiceImpl.java | 4 ++++ 1 file changed, 4 insertions(+) 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 f0fb2de..c5c18fb 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 @@ -632,6 +632,10 @@ public class SampleAnalysisServiceImpl implements SampleAnalysisService { String targetParameter = target.getParameter(); BusinessAssayParameterDataDO businessAssayParameterDataDO = businessAssayParameterDataMapper.selectByBusinessAssayTaskDataIdAndProjectSimpleNameAndParameterKey(businessAssayTaskDataDO.getId(), targetProject, targetParameter); + if (businessAssayParameterDataDO == null) { + throw new ServiceException(1_032_100_000, "子样检测方法映射配置错误"); + } + if (StringUtils.isBlank(businessAssayParameterDataDO.getValue())) { //1 查询委托明细 BusinessSampleEntrustDetailDO businessSampleEntrustDetailDO = businessSampleEntrustDetailMapper.selectByBusinessBaseSampleId(businessAssayTaskDataDO.getBusinessBaseSampleId()); From b6b576e2ae55885ffd79efdacd90e3818c7d79b6 Mon Sep 17 00:00:00 2001 From: wxr Date: Fri, 19 Dec 2025 17:19:52 +0800 Subject: [PATCH 10/16] =?UTF-8?q?=E5=88=86=E6=9E=90=E6=96=B9=E6=B3=95?= =?UTF-8?q?=E5=8F=82=E6=95=B0=E9=87=8D=E5=A4=8Dbug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../business/bus/service/SampleAnalysisServiceImpl.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) 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 c5c18fb..7982915 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 @@ -571,7 +571,12 @@ public class SampleAnalysisServiceImpl implements SampleAnalysisService { //任务参数查询 List taskParameterList = businessAssayTaskParameterDataMapper.selectByBusinessAssayTaskDataIds(businessAssayTaskDataIdList); - for (BusinessAssayProjectAndParameterRespVO taskParameter : taskParameterList) { + Map> taskParameterMap = taskParameterList.stream().sorted(Comparator.comparing(BusinessAssayProjectAndParameterRespVO::getParamNo)).collect(Collectors.groupingBy(BusinessAssayProjectAndParameterRespVO::getDicId, + LinkedHashMap::new, // 保持组首次出现的顺序(可选) + Collectors.toList() // ArrayList 保持组内顺序 + )); + for (Map.Entry> entry : taskParameterMap.entrySet()) { + BusinessAssayProjectAndParameterRespVO taskParameter = entry.getValue().get(0); String fieldIndex = "a" + taskParameter.getDicId(); String title = taskParameter.getShowName() + (StringUtils.isBlank(taskParameter.getUnit()) ? "" : "(" + taskParameter.getUnit() + ")"); boolean isEdit = StringUtils.isBlank(taskParameter.getFormula()); From 9110b2a546952e4c4774f002327e8a9f34e6198b Mon Sep 17 00:00:00 2001 From: wxr Date: Sat, 20 Dec 2025 14:40:10 +0800 Subject: [PATCH 11/16] =?UTF-8?q?=E5=B8=A6=E6=A3=80=E6=B5=8B=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=E7=9A=84=E8=B4=A8=E6=8E=A7=E6=A0=B7=EF=BC=8C=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/qms/enums/ErrorCodeConstants.java | 1 + ...nagementSampleParameterDataController.java | 106 ++++++++++++++++++ .../admin/SampleAnalysisController.java | 4 +- ...anagementSampleParameterDataPageReqVO.java | 44 ++++++++ ...QCManagementSampleParameterDataRespVO.java | 55 +++++++++ ...anagementSampleParameterDataSaveReqVO.java | 43 +++++++ ...nessQCManagementSampleParameterDataDO.java | 75 +++++++++++++ ...QCManagementSampleParameterDataMapper.java | 61 ++++++++++ .../SampleTaskAssignQCSampleCmp.java | 24 +++- .../slot/SampleTaskAssignContext.java | 4 + ...CManagementSampleParameterDataService.java | 62 ++++++++++ ...agementSampleParameterDataServiceImpl.java | 91 +++++++++++++++ .../service/SampleAnalysisServiceImpl.java | 72 +++++++++++- .../service/SampleTaskAssignServiceImpl.java | 29 +++++ .../ConfigAssayMethodParameterMapper.java | 6 +- .../vo/DictionaryBusinessExtendRespVO.java | 11 ++ .../dal/mapper/DictionaryBusinessMapper.java | 11 ++ 17 files changed, 693 insertions(+), 6 deletions(-) create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessQCManagementSampleParameterDataController.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessQCManagementSampleParameterDataPageReqVO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessQCManagementSampleParameterDataRespVO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessQCManagementSampleParameterDataSaveReqVO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessQCManagementSampleParameterDataDO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessQCManagementSampleParameterDataMapper.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessQCManagementSampleParameterDataService.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessQCManagementSampleParameterDataServiceImpl.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/common/dic/controller/vo/DictionaryBusinessExtendRespVO.java diff --git a/zt-module-qms/zt-module-qms-api/src/main/java/com/zt/plat/module/qms/enums/ErrorCodeConstants.java b/zt-module-qms/zt-module-qms-api/src/main/java/com/zt/plat/module/qms/enums/ErrorCodeConstants.java index 59959e2..73d6a2f 100644 --- a/zt-module-qms/zt-module-qms-api/src/main/java/com/zt/plat/module/qms/enums/ErrorCodeConstants.java +++ b/zt-module-qms/zt-module-qms-api/src/main/java/com/zt/plat/module/qms/enums/ErrorCodeConstants.java @@ -131,6 +131,7 @@ public interface ErrorCodeConstants { ErrorCode BUSINESS_QC_MANAGEMENT_DATA_NOT_EXISTS = new ErrorCode(1_032_100_000, "质控管理样检测任务数据,管理样、标准样不存在"); ErrorCode BUSINESS_QC_MANAGEMENT_PROJECT_DATA_NOT_EXISTS = new ErrorCode(1_032_100_000, "质控样检测项目数据业务不存在"); ErrorCode BUSINESS_QC_MANAGEMENT_PARAMETER_DATA_NOT_EXISTS = new ErrorCode(1_032_100_000, "质控样检测参数数据业务不存在"); + ErrorCode BUSINESS_QC_MANAGEMENT_SAMPLE_PARAMETER_DATA_NOT_EXISTS = new ErrorCode(1_032_100_000, "质控管理样检测任务参数业务表,与子样检测任务参数业务表T_BSN_ASY_TSK_PRM_DAT一样,针对标准样、管理样、质控样、监控样等样品的参数不存在"); ErrorCode BUSINESS_QC_COEFFICIENT_DATA_NOT_EXISTS = new ErrorCode(1_032_100_000, "质控样检测系数任务数据,空白样、标样不存在"); ErrorCode BUSINESS_QC_COEFFICIENT_PARAMETER_DATA_NOT_EXISTS = new ErrorCode(1_032_100_000, "质控样检测系数参数业务不存在"); diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessQCManagementSampleParameterDataController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessQCManagementSampleParameterDataController.java new file mode 100644 index 0000000..5323623 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessQCManagementSampleParameterDataController.java @@ -0,0 +1,106 @@ +package com.zt.plat.module.qms.business.bus.controller.admin; + +import org.springframework.web.bind.annotation.*; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import com.zt.plat.framework.business.interceptor.BusinessControllerMarker; + +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import jakarta.validation.constraints.*; +import jakarta.validation.*; +import jakarta.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO; +import com.zt.plat.framework.common.pojo.PageParam; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.common.pojo.CommonResult; +import com.zt.plat.framework.common.util.object.BeanUtils; +import static com.zt.plat.framework.common.pojo.CommonResult.success; + +import com.zt.plat.framework.excel.core.util.ExcelUtils; +import com.zt.plat.module.qms.business.bus.controller.vo.*; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCManagementSampleParameterDataDO; +import com.zt.plat.module.qms.business.bus.service.BusinessQCManagementSampleParameterDataService; +import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog; +import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*; + +@Tag(name = "管理后台 - 质控管理样检测任务参数业务表,与子样检测任务参数业务表T_BSN_ASY_TSK_PRM_DAT一样,针对标准样、管理样、质控样、监控样等样品的参数") +@RestController +@RequestMapping("/qms/business-QC-management-sample-parameter-data") +@Validated +public class BusinessQCManagementSampleParameterDataController implements BusinessControllerMarker { + + + @Resource + private BusinessQCManagementSampleParameterDataService businessQCManagementSampleParameterDataService; + + @PostMapping("/create") + @Operation(summary = "创建质控管理样检测任务参数业务表,与子样检测任务参数业务表T_BSN_ASY_TSK_PRM_DAT一样,针对标准样、管理样、质控样、监控样等样品的参数") + @PreAuthorize("@ss.hasPermission('qms:business-QC-management-sample-parameter-data:create')") + public CommonResult createBusinessQCManagementSampleParameterData(@Valid @RequestBody BusinessQCManagementSampleParameterDataSaveReqVO createReqVO) { + return success(businessQCManagementSampleParameterDataService.createBusinessQCManagementSampleParameterData(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新质控管理样检测任务参数业务表,与子样检测任务参数业务表T_BSN_ASY_TSK_PRM_DAT一样,针对标准样、管理样、质控样、监控样等样品的参数") + @PreAuthorize("@ss.hasPermission('qms:business-QC-management-sample-parameter-data:update')") + public CommonResult updateBusinessQCManagementSampleParameterData(@Valid @RequestBody BusinessQCManagementSampleParameterDataSaveReqVO updateReqVO) { + businessQCManagementSampleParameterDataService.updateBusinessQCManagementSampleParameterData(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除质控管理样检测任务参数业务表,与子样检测任务参数业务表T_BSN_ASY_TSK_PRM_DAT一样,针对标准样、管理样、质控样、监控样等样品的参数") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('qms:business-QC-management-sample-parameter-data:delete')") + public CommonResult deleteBusinessQCManagementSampleParameterData(@RequestParam("id") Long id) { + businessQCManagementSampleParameterDataService.deleteBusinessQCManagementSampleParameterData(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除质控管理样检测任务参数业务表,与子样检测任务参数业务表T_BSN_ASY_TSK_PRM_DAT一样,针对标准样、管理样、质控样、监控样等样品的参数") + @PreAuthorize("@ss.hasPermission('qms:business-QC-management-sample-parameter-data:delete')") + public CommonResult deleteBusinessQCManagementSampleParameterDataList(@RequestBody BatchDeleteReqVO req) { + businessQCManagementSampleParameterDataService.deleteBusinessQCManagementSampleParameterDataListByIds(req.getIds()); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得质控管理样检测任务参数业务表,与子样检测任务参数业务表T_BSN_ASY_TSK_PRM_DAT一样,针对标准样、管理样、质控样、监控样等样品的参数") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('qms:business-QC-management-sample-parameter-data:query')") + public CommonResult getBusinessQCManagementSampleParameterData(@RequestParam("id") Long id) { + BusinessQCManagementSampleParameterDataDO businessQCManagementSampleParameterData = businessQCManagementSampleParameterDataService.getBusinessQCManagementSampleParameterData(id); + return success(BeanUtils.toBean(businessQCManagementSampleParameterData, BusinessQCManagementSampleParameterDataRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得质控管理样检测任务参数业务表,与子样检测任务参数业务表T_BSN_ASY_TSK_PRM_DAT一样,针对标准样、管理样、质控样、监控样等样品的参数分页") + @PreAuthorize("@ss.hasPermission('qms:business-QC-management-sample-parameter-data:query')") + public CommonResult> getBusinessQCManagementSampleParameterDataPage(@Valid BusinessQCManagementSampleParameterDataPageReqVO pageReqVO) { + PageResult pageResult = businessQCManagementSampleParameterDataService.getBusinessQCManagementSampleParameterDataPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, BusinessQCManagementSampleParameterDataRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出质控管理样检测任务参数业务表,与子样检测任务参数业务表T_BSN_ASY_TSK_PRM_DAT一样,针对标准样、管理样、质控样、监控样等样品的参数 Excel") + @PreAuthorize("@ss.hasPermission('qms:business-QC-management-sample-parameter-data:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportBusinessQCManagementSampleParameterDataExcel(@Valid BusinessQCManagementSampleParameterDataPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = businessQCManagementSampleParameterDataService.getBusinessQCManagementSampleParameterDataPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "质控管理样检测任务参数业务表,与子样检测任务参数业务表T_BSN_ASY_TSK_PRM_DAT一样,针对标准样、管理样、质控样、监控样等样品的参数.xls", "数据", BusinessQCManagementSampleParameterDataRespVO.class, + BeanUtils.toBean(list, BusinessQCManagementSampleParameterDataRespVO.class)); + } + +} \ 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/bus/controller/admin/SampleAnalysisController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/SampleAnalysisController.java index 255e6a8..e11fec3 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/SampleAnalysisController.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/SampleAnalysisController.java @@ -29,12 +29,14 @@ public class SampleAnalysisController implements BusinessControllerMarker { @Resource private SampleAnalysisService sampleAnalysisService ; + @Deprecated @GetMapping("/batchSampleAnalysisByTaskId") public CommonResult batchSampleAnalysisByTaskId(Long businessAssayTaskId) { BusinessAssayTaskAnalysisSampleProjectRespVO businessAssayTaskAnalysisSampleProject = sampleAnalysisService.batchSampleAnalysisByTaskId(businessAssayTaskId); return success(businessAssayTaskAnalysisSampleProject); } - + + @Deprecated @PostMapping("/saveBatchSampleAnalysis") public CommonResult saveBatchSampleAnalysis(@RequestBody BusinessAssayTaskAnalysisSampleProjectRespVO vo) { sampleAnalysisService.saveBatchSampleAnalysis(vo); diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessQCManagementSampleParameterDataPageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessQCManagementSampleParameterDataPageReqVO.java new file mode 100644 index 0000000..7232a34 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessQCManagementSampleParameterDataPageReqVO.java @@ -0,0 +1,44 @@ +package com.zt.plat.module.qms.business.bus.controller.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import com.zt.plat.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 质控管理样检测任务参数业务表,与子样检测任务参数业务表T_BSN_ASY_TSK_PRM_DAT一样,针对标准样、管理样、质控样、监控样等样品的参数分页 Request VO") +@Data +public class BusinessQCManagementSampleParameterDataPageReqVO extends PageParam { + + @Schema(description = "质控管理样检测任务ID", example = "100") + private Long businessQCManagementDataId; + + @Schema(description = "检测方法参数配置ID", example = "10419") + private Long configAssayMethodParameterId; + + @Schema(description = "值") + private String value; + + @Schema(description = "数据类型,字典表【T_DIC_BSN】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间", example = "2") + private String dataType; + + @Schema(description = "小数位") + private Integer decimalPosition; + + @Schema(description = "乐观锁", example = "2766") + private Integer updateCount; + + @Schema(description = "所属部门") + private String systemDepartmentCode; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "备注") + private String remark; + +} \ 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/bus/controller/vo/BusinessQCManagementSampleParameterDataRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessQCManagementSampleParameterDataRespVO.java new file mode 100644 index 0000000..c98d8f1 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessQCManagementSampleParameterDataRespVO.java @@ -0,0 +1,55 @@ +package com.zt.plat.module.qms.business.bus.controller.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import com.alibaba.excel.annotation.*; + +@Schema(description = "管理后台 - 质控管理样检测任务参数业务表,与子样检测任务参数业务表T_BSN_ASY_TSK_PRM_DAT一样,针对标准样、管理样、质控样、监控样等样品的参数 Response VO") +@Data +@ExcelIgnoreUnannotated +public class BusinessQCManagementSampleParameterDataRespVO { + + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1205") + @ExcelProperty("ID") + private Long id; + + @Schema(description = "质控管理样检测任务ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "100") + @ExcelProperty("质控管理样检测任务ID") + private Long businessQCManagementDataId; + + @Schema(description = "检测方法参数配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "10419") + @ExcelProperty("检测方法参数配置ID") + private Long configAssayMethodParameterId; + + @Schema(description = "值") + @ExcelProperty("值") + private String value; + + @Schema(description = "数据类型,字典表【T_DIC_BSN】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") + @ExcelProperty("数据类型,字典表【T_DIC_BSN】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间") + private String dataType; + + @Schema(description = "小数位") + @ExcelProperty("小数位") + private Integer decimalPosition; + + @Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "2766") + @ExcelProperty("乐观锁") + private Integer updateCount; + + @Schema(description = "所属部门") + @ExcelProperty("所属部门") + private String systemDepartmentCode; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @Schema(description = "备注") + @ExcelProperty("备注") + private String remark; + +} \ 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/bus/controller/vo/BusinessQCManagementSampleParameterDataSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessQCManagementSampleParameterDataSaveReqVO.java new file mode 100644 index 0000000..130879b --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessQCManagementSampleParameterDataSaveReqVO.java @@ -0,0 +1,43 @@ +package com.zt.plat.module.qms.business.bus.controller.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; + +@Schema(description = "管理后台 - 质控管理样检测任务参数业务表,与子样检测任务参数业务表T_BSN_ASY_TSK_PRM_DAT一样,针对标准样、管理样、质控样、监控样等样品的参数新增/修改 Request VO") +@Data +public class BusinessQCManagementSampleParameterDataSaveReqVO { + + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1205") + private Long id; + + @Schema(description = "质控管理样检测任务ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "100") + @NotNull(message = "质控管理样检测任务ID不能为空") + private Long businessQCManagementDataId; + + @Schema(description = "检测方法参数配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "10419") + @NotNull(message = "检测方法参数配置ID不能为空") + private Long configAssayMethodParameterId; + + @Schema(description = "值") + private String value; + + @Schema(description = "数据类型,字典表【T_DIC_BSN】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") + @NotEmpty(message = "数据类型,字典表【T_DIC_BSN】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间不能为空") + private String dataType; + + @Schema(description = "小数位") + private Integer decimalPosition; + + @Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "2766") + @NotNull(message = "乐观锁不能为空") + private Integer updateCount; + + @Schema(description = "所属部门") + private String systemDepartmentCode; + + @Schema(description = "备注") + private String remark; + +} \ 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/bus/dal/dataobject/BusinessQCManagementSampleParameterDataDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessQCManagementSampleParameterDataDO.java new file mode 100644 index 0000000..c84d806 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessQCManagementSampleParameterDataDO.java @@ -0,0 +1,75 @@ +package com.zt.plat.module.qms.business.bus.dal.dataobject; + +import lombok.*; +import java.util.*; + import java.time.LocalDateTime; + import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import com.zt.plat.framework.mybatis.core.dataobject.BusinessBaseDO; +/** +* 质控管理样检测任务参数业务表,与子样检测任务参数业务表T_BSN_ASY_TSK_PRM_DAT一样,针对标准样、管理样、质控样、监控样等样品的参数 DO +* +* @author 后台管理-1 +*/ +@TableName("t_bsn_qc_mngt_smp_prm_dat") +@KeySequence("t_bsn_qc_mngt_smp_prm_dat_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +/** +* 支持业务基类继承:isBusiness=true 时继承 BusinessBaseDO,否则继承 BaseDO +*/ +public class BusinessQCManagementSampleParameterDataDO extends BusinessBaseDO { + + + + /** + * ID + */ + @TableId(type = IdType.ASSIGN_ID) + private Long id; + /** + * 质控管理样检测任务ID + */ + @TableField("BSN_QC_MNGT_DAT_ID") + private Long businessQCManagementDataId; + /** + * 检测方法参数配置ID + */ + @TableField("CFG_ASY_MTHD_PRM_ID") + private Long configAssayMethodParameterId; + /** + * 值 + */ + @TableField("VAL") + private String value; + /** + * 数据类型,字典表【T_DIC_BSN】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间 + */ + @TableField("DAT_TP") + private String dataType; + /** + * 小数位 + */ + @TableField("DEC_POS") + private Integer decimalPosition; + /** + * 乐观锁 + */ + @TableField("UPD_CNT") + private Integer updateCount; + /** + * 所属部门 + */ + @TableField("SYS_DEPT_CD") + private String systemDepartmentCode; + /** + * 备注 + */ + @TableField("RMK") + private String remark; + +} \ 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/bus/dal/mapper/BusinessQCManagementSampleParameterDataMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessQCManagementSampleParameterDataMapper.java new file mode 100644 index 0000000..6590aa7 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessQCManagementSampleParameterDataMapper.java @@ -0,0 +1,61 @@ +package com.zt.plat.module.qms.business.bus.dal.mapper; + +import java.util.*; + +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; +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.BusinessQCManagementSampleParameterDataDO; +import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodParameterDO; +import com.zt.plat.module.qms.common.dic.dal.dataobject.DictionaryBusinessDO; +import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; +import org.apache.ibatis.annotations.Mapper; + +/** + * 质控管理样检测任务参数业务表,与子样检测任务参数业务表T_BSN_ASY_TSK_PRM_DAT一样,针对标准样、管理样、质控样、监控样等样品的参数 Mapper + * + * @author 后台管理-1 + */ +@Mapper +public interface BusinessQCManagementSampleParameterDataMapper extends BaseMapperX { + + default PageResult selectPage(BusinessQCManagementSampleParameterDataPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(BusinessQCManagementSampleParameterDataDO::getBusinessQCManagementDataId, reqVO.getBusinessQCManagementDataId()) + .eqIfPresent(BusinessQCManagementSampleParameterDataDO::getConfigAssayMethodParameterId, reqVO.getConfigAssayMethodParameterId()) + .eqIfPresent(BusinessQCManagementSampleParameterDataDO::getValue, reqVO.getValue()) + .eqIfPresent(BusinessQCManagementSampleParameterDataDO::getDataType, reqVO.getDataType()) + .eqIfPresent(BusinessQCManagementSampleParameterDataDO::getDecimalPosition, reqVO.getDecimalPosition()) + .eqIfPresent(BusinessQCManagementSampleParameterDataDO::getUpdateCount, reqVO.getUpdateCount()) + .eqIfPresent(BusinessQCManagementSampleParameterDataDO::getSystemDepartmentCode, reqVO.getSystemDepartmentCode()) + .betweenIfPresent(BusinessQCManagementSampleParameterDataDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(BusinessQCManagementSampleParameterDataDO::getRemark, reqVO.getRemark()) + .orderByDesc(BusinessQCManagementSampleParameterDataDO::getId)); + } + + default List selectByBusinessQCManagementDataIds(List businessQCManagementDataIdList) { + return selectJoinList(BusinessAssayProjectAndParameterRespVO.class, new MPJLambdaWrapperX() + .leftJoin(ConfigAssayMethodParameterDO.class, ConfigAssayMethodParameterDO::getId, BusinessQCManagementSampleParameterDataDO::getConfigAssayMethodParameterId) + .leftJoin(DictionaryBusinessDO.class, DictionaryBusinessDO::getId, ConfigAssayMethodParameterDO::getDictionaryBusinessId) + .selectAs(BusinessQCManagementSampleParameterDataDO::getId, BusinessAssayProjectAndParameterRespVO::getId) + .selectAs(BusinessQCManagementSampleParameterDataDO::getConfigAssayMethodParameterId, BusinessAssayProjectAndParameterRespVO::getDicId) + .selectAs(ConfigAssayMethodParameterDO::getKey, BusinessAssayProjectAndParameterRespVO::getDicKey) + .selectAs(ConfigAssayMethodParameterDO::getParameterName, BusinessAssayProjectAndParameterRespVO::getName) + .selectAs(ConfigAssayMethodParameterDO::getParameterName, BusinessAssayProjectAndParameterRespVO::getShowName) + .selectAs(BusinessQCManagementSampleParameterDataDO::getDataType, BusinessAssayProjectAndParameterRespVO::getDataType) + .selectAs(BusinessQCManagementSampleParameterDataDO::getDecimalPosition, BusinessAssayProjectAndParameterRespVO::getDecimalPosition) + .selectAs(BusinessQCManagementSampleParameterDataDO::getValue, BusinessAssayProjectAndParameterRespVO::getValue) + //.selectAs(ConfigAssayMethodParameterDO::getDictionaryProjectUnit, BusinessAssayProjectAndParameterRespVO::getUnit) + .selectAs(ConfigAssayMethodParameterDO::getIsNull, BusinessAssayProjectAndParameterRespVO::getIsNull) + //.selectAs(ConfigAssayMethodParameterDO::getFormula, BusinessAssayProjectAndParameterRespVO::getFormula) + .selectAs(ConfigAssayMethodParameterDO::getSortNo, BusinessAssayProjectAndParameterRespVO::getParamNo) + .selectAs("'attribute'", BusinessAssayProjectAndParameterRespVO::getType) + .selectAs(ConfigAssayMethodParameterDO::getDictionaryBusinessId, BusinessAssayProjectAndParameterRespVO::getGroupDictionaryBusinessId) + .selectAs(ConfigAssayMethodParameterDO::getDictionaryBusinessKey, BusinessAssayProjectAndParameterRespVO::getGroupDictionaryBusinessKey) + .selectAs(DictionaryBusinessDO::getName, BusinessAssayProjectAndParameterRespVO::getGroupDictionaryBusinessName) + .in(BusinessQCManagementSampleParameterDataDO::getBusinessQCManagementDataId, businessQCManagementDataIdList) + .orderByAsc(ConfigAssayMethodParameterDO::getSortNo)); + } + +} \ 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/bus/liteflow/sample/taskassign/SampleTaskAssignQCSampleCmp.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/taskassign/SampleTaskAssignQCSampleCmp.java index 6bfbc6b..660304c 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/taskassign/SampleTaskAssignQCSampleCmp.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/taskassign/SampleTaskAssignQCSampleCmp.java @@ -16,6 +16,7 @@ import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCCoefficientP import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCManagementDataDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCManagementParameterDataDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCManagementProjectDataDO; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCManagementSampleParameterDataDO; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayProjectDataMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCCoefficientDataMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCCoefficientParameterDataMapper; @@ -27,8 +28,10 @@ import com.zt.plat.module.qms.business.config.controller.vo.ConfigAssayMethodPro import com.zt.plat.module.qms.business.config.controller.vo.ConfigQCSampleMethodExtendRespVO; import com.zt.plat.module.qms.business.config.controller.vo.ConfigQCSampleMethodParameterExtendRespVO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodDO; +import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodParameterDO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodProjectParameterDO; import com.zt.plat.module.qms.business.config.dal.mapper.ConfigAssayMethodMapper; +import com.zt.plat.module.qms.business.config.dal.mapper.ConfigAssayMethodParameterMapper; 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.ConfigQCSampleMethodMapper; @@ -48,6 +51,9 @@ public class SampleTaskAssignQCSampleCmp extends NodeComponent { @Resource private ConfigAssayMethodMapper configAssayMethodMapper; + @Resource + private ConfigAssayMethodParameterMapper configAssayMethodParameterMapper; + @Resource private ConfigQCSampleMethodMapper configQCSampleMethodMapper; @@ -85,8 +91,8 @@ public class SampleTaskAssignQCSampleCmp extends NodeComponent { List businessQCCoefficientDataDOList = new ArrayList<>(); List businessQCCoefficientParameterDataDOList = new ArrayList<>(); - List businessQCManagementDataDOList = new ArrayList<>(); + List businessQCManagementSampleParameterDataDOList = new ArrayList<>(); List businessQCManagementProjectDataDOList = new ArrayList<>(); List businessQCManagementParameterDataDOList = new ArrayList<>(); @@ -206,6 +212,10 @@ public class SampleTaskAssignQCSampleCmp extends NodeComponent { //分析项目 String assayProject = configAssayMethodProjectExtendRespList.stream().map(m -> m.getShowName()).collect(Collectors.joining(",")); + + //分析方法参数配置 + List configAssayMethodParameterDOList = configAssayMethodParameterMapper.selectByConfigAssayMethodId(businessAssayTaskDO.getConfigAssayMethodId()); + for (int i = 0; i < configQCSampleMethodExtendRespVO.getDefaultCount(); i++) { BusinessQCManagementDataDO businessQCManagementDataDO = new BusinessQCManagementDataDO(); @@ -230,6 +240,18 @@ public class SampleTaskAssignQCSampleCmp extends NodeComponent { businessQCManagementDataDO.setIsReported(QmsCommonConstant.NO); businessQCManagementDataDOList.add(businessQCManagementDataDO); + + BusinessQCManagementSampleParameterDataDO businessQCManagementSampleParameterDataDO = null; + for (ConfigAssayMethodParameterDO configAssayMethodParameterDO : configAssayMethodParameterDOList) { + businessQCManagementSampleParameterDataDO = new BusinessQCManagementSampleParameterDataDO(); + businessQCManagementSampleParameterDataDO.setId(IdWorker.getId()); + businessQCManagementSampleParameterDataDO.setBusinessQCManagementDataId(businessQCManagementDataDO.getId()); + businessQCManagementSampleParameterDataDO.setConfigAssayMethodParameterId(configAssayMethodParameterDO.getId()); + businessQCManagementSampleParameterDataDO.setDataType(configAssayMethodParameterDO.getDataType()); + businessQCManagementSampleParameterDataDO.setDecimalPosition(configAssayMethodParameterDO.getDecimalPosition()); + + businessQCManagementSampleParameterDataDOList.add(businessQCManagementSampleParameterDataDO); + } for (ConfigAssayMethodProjectExtendRespVO configAssayMethodProjectExtendRespVO : configAssayMethodProjectExtendRespList) { if (!dictionaryProjectIdList.contains(configAssayMethodProjectExtendRespVO.getDictionaryProjectId())) {//不存在则跳过 diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/slot/SampleTaskAssignContext.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/slot/SampleTaskAssignContext.java index 187bfd7..1cc292b 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/slot/SampleTaskAssignContext.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/slot/SampleTaskAssignContext.java @@ -13,6 +13,7 @@ import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCCoefficientP import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCManagementDataDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCManagementParameterDataDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCManagementProjectDataDO; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCManagementSampleParameterDataDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubSampleDO; import com.zt.plat.module.qms.business.bus.liteflow.param.AssignAssayUser; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodDO; @@ -96,6 +97,9 @@ public class SampleTaskAssignContext { /** 质控样-(质控空白) **/ private List businessQCManagementDataDOList; + /** 质控样-(质控空白)参数 **/ + private List businessQCManagementSampleParameterDataDOList; + /** 质控样-(质控空白)检测项目 **/ private List businessQCManagementProjectDataDOList; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessQCManagementSampleParameterDataService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessQCManagementSampleParameterDataService.java new file mode 100644 index 0000000..a564f39 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessQCManagementSampleParameterDataService.java @@ -0,0 +1,62 @@ +package com.zt.plat.module.qms.business.bus.service; + +import java.util.*; +import jakarta.validation.*; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.module.qms.business.bus.controller.vo.*; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCManagementSampleParameterDataDO; +import com.zt.plat.framework.common.pojo.PageParam; + +/** + * 质控管理样检测任务参数业务表,与子样检测任务参数业务表T_BSN_ASY_TSK_PRM_DAT一样,针对标准样、管理样、质控样、监控样等样品的参数 Service 接口 + * + * @author 后台管理-1 + */ +public interface BusinessQCManagementSampleParameterDataService { + + /** + * 创建质控管理样检测任务参数业务表,与子样检测任务参数业务表T_BSN_ASY_TSK_PRM_DAT一样,针对标准样、管理样、质控样、监控样等样品的参数 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + BusinessQCManagementSampleParameterDataRespVO createBusinessQCManagementSampleParameterData(@Valid BusinessQCManagementSampleParameterDataSaveReqVO createReqVO); + + /** + * 更新质控管理样检测任务参数业务表,与子样检测任务参数业务表T_BSN_ASY_TSK_PRM_DAT一样,针对标准样、管理样、质控样、监控样等样品的参数 + * + * @param updateReqVO 更新信息 + */ + void updateBusinessQCManagementSampleParameterData(@Valid BusinessQCManagementSampleParameterDataSaveReqVO updateReqVO); + + /** + * 删除质控管理样检测任务参数业务表,与子样检测任务参数业务表T_BSN_ASY_TSK_PRM_DAT一样,针对标准样、管理样、质控样、监控样等样品的参数 + * + * @param id 编号 + */ + void deleteBusinessQCManagementSampleParameterData(Long id); + + /** + * 批量删除质控管理样检测任务参数业务表,与子样检测任务参数业务表T_BSN_ASY_TSK_PRM_DAT一样,针对标准样、管理样、质控样、监控样等样品的参数 + * + * @param ids 编号 + */ + void deleteBusinessQCManagementSampleParameterDataListByIds(List ids); + + /** + * 获得质控管理样检测任务参数业务表,与子样检测任务参数业务表T_BSN_ASY_TSK_PRM_DAT一样,针对标准样、管理样、质控样、监控样等样品的参数 + * + * @param id 编号 + * @return 质控管理样检测任务参数业务表,与子样检测任务参数业务表T_BSN_ASY_TSK_PRM_DAT一样,针对标准样、管理样、质控样、监控样等样品的参数 + */ + BusinessQCManagementSampleParameterDataDO getBusinessQCManagementSampleParameterData(Long id); + + /** + * 获得质控管理样检测任务参数业务表,与子样检测任务参数业务表T_BSN_ASY_TSK_PRM_DAT一样,针对标准样、管理样、质控样、监控样等样品的参数分页 + * + * @param pageReqVO 分页查询 + * @return 质控管理样检测任务参数业务表,与子样检测任务参数业务表T_BSN_ASY_TSK_PRM_DAT一样,针对标准样、管理样、质控样、监控样等样品的参数分页 + */ + PageResult getBusinessQCManagementSampleParameterDataPage(BusinessQCManagementSampleParameterDataPageReqVO pageReqVO); + +} \ 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/bus/service/BusinessQCManagementSampleParameterDataServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessQCManagementSampleParameterDataServiceImpl.java new file mode 100644 index 0000000..ce60fb2 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessQCManagementSampleParameterDataServiceImpl.java @@ -0,0 +1,91 @@ +package com.zt.plat.module.qms.business.bus.service; + +import cn.hutool.core.collection.CollUtil; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.common.pojo.PageParam; +import com.zt.plat.framework.common.util.object.BeanUtils; +import com.zt.plat.module.qms.business.bus.controller.vo.*; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCManagementSampleParameterDataDO; +import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCManagementSampleParameterDataMapper; + +import static com.zt.plat.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.zt.plat.framework.common.util.collection.CollectionUtils.convertList; +import static com.zt.plat.framework.common.util.collection.CollectionUtils.diffList; +import static com.zt.plat.module.qms.enums.ErrorCodeConstants.*; + +/** + * 质控管理样检测任务参数业务表,与子样检测任务参数业务表T_BSN_ASY_TSK_PRM_DAT一样,针对标准样、管理样、质控样、监控样等样品的参数 Service 实现类 + * + * @author 后台管理-1 + */ +@Service +@Validated +public class BusinessQCManagementSampleParameterDataServiceImpl implements BusinessQCManagementSampleParameterDataService { + + @Resource + private BusinessQCManagementSampleParameterDataMapper businessQCManagementSampleParameterDataMapper; + + @Override + public BusinessQCManagementSampleParameterDataRespVO createBusinessQCManagementSampleParameterData(BusinessQCManagementSampleParameterDataSaveReqVO createReqVO) { + // 插入 + BusinessQCManagementSampleParameterDataDO businessQCManagementSampleParameterData = BeanUtils.toBean(createReqVO, BusinessQCManagementSampleParameterDataDO.class); + businessQCManagementSampleParameterDataMapper.insert(businessQCManagementSampleParameterData); + // 返回 + return BeanUtils.toBean(businessQCManagementSampleParameterData, BusinessQCManagementSampleParameterDataRespVO.class); + } + + @Override + public void updateBusinessQCManagementSampleParameterData(BusinessQCManagementSampleParameterDataSaveReqVO updateReqVO) { + // 校验存在 + validateBusinessQCManagementSampleParameterDataExists(updateReqVO.getId()); + // 更新 + BusinessQCManagementSampleParameterDataDO updateObj = BeanUtils.toBean(updateReqVO, BusinessQCManagementSampleParameterDataDO.class); + businessQCManagementSampleParameterDataMapper.updateById(updateObj); + } + + @Override + public void deleteBusinessQCManagementSampleParameterData(Long id) { + // 校验存在 + validateBusinessQCManagementSampleParameterDataExists(id); + // 删除 + businessQCManagementSampleParameterDataMapper.deleteById(id); + } + + @Override + public void deleteBusinessQCManagementSampleParameterDataListByIds(List ids) { + // 校验存在 + validateBusinessQCManagementSampleParameterDataExists(ids); + // 删除 + businessQCManagementSampleParameterDataMapper.deleteByIds(ids); + } + + private void validateBusinessQCManagementSampleParameterDataExists(List ids) { + List list = businessQCManagementSampleParameterDataMapper.selectByIds(ids); + if (CollUtil.isEmpty(list) || list.size() != ids.size()) { + throw exception(BUSINESS_QC_MANAGEMENT_SAMPLE_PARAMETER_DATA_NOT_EXISTS); + } + } + + private void validateBusinessQCManagementSampleParameterDataExists(Long id) { + if (businessQCManagementSampleParameterDataMapper.selectById(id) == null) { + throw exception(BUSINESS_QC_MANAGEMENT_SAMPLE_PARAMETER_DATA_NOT_EXISTS); + } + } + + @Override + public BusinessQCManagementSampleParameterDataDO getBusinessQCManagementSampleParameterData(Long id) { + return businessQCManagementSampleParameterDataMapper.selectById(id); + } + + @Override + public PageResult getBusinessQCManagementSampleParameterDataPage(BusinessQCManagementSampleParameterDataPageReqVO pageReqVO) { + return businessQCManagementSampleParameterDataMapper.selectPage(pageReqVO); + } + +} \ 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/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 7982915..48b3fd0 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 @@ -49,6 +49,7 @@ import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCCoefficientP import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCManagementDataDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCManagementParameterDataDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCManagementProjectDataDO; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCManagementSampleParameterDataDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSampleEntrustDetailDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubParentSampleDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubSampleDO; @@ -63,6 +64,7 @@ import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCCoefficientParam import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCManagementDataMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCManagementParameterDataMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCManagementProjectDataMapper; +import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCManagementSampleParameterDataMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSampleEntrustDetailMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSubParentSampleAssessmentProjectMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSubParentSampleMapper; @@ -88,6 +90,8 @@ import com.zt.plat.module.qms.business.config.dal.mapper.ConfigQCSampleMethodMap import com.zt.plat.module.qms.business.config.dal.mapper.ConfigSubSampleMethodMapper; import com.zt.plat.module.qms.common.data.dal.dataobject.DataCollectionDO; import com.zt.plat.module.qms.common.data.service.DataCollectionService; +import com.zt.plat.module.qms.common.dic.controller.vo.DictionaryBusinessExtendRespVO; +import com.zt.plat.module.qms.common.dic.dal.mapper.DictionaryBusinessMapper; import com.zt.plat.module.qms.enums.QmsCommonConstant; import cn.hutool.core.bean.BeanUtil; @@ -97,6 +101,9 @@ import jakarta.annotation.Resource; @Service public class SampleAnalysisServiceImpl implements SampleAnalysisService { + @Resource + private DictionaryBusinessMapper dictionaryBusinessMapper; + @Resource private ConfigAssayMethodMapper configAssayMethodMapper; @@ -142,6 +149,9 @@ public class SampleAnalysisServiceImpl implements SampleAnalysisService { @Resource private BusinessQCManagementDataMapper businessQCManagementDataMapper; + @Resource + private BusinessQCManagementSampleParameterDataMapper businessQCManagementSampleParameterDataMapper; + @Resource private BusinessQCManagementProjectDataMapper businessQCManagementProjectDataMapper; @@ -813,6 +823,22 @@ public class SampleAnalysisServiceImpl implements SampleAnalysisService { break; } BusinessQCManagementDataDO businessQCManagementDataDO = businessQCManagementDataDOList.get(0); + + + //任务参数查询 + List taskParameterList = businessQCManagementSampleParameterDataMapper.selectByBusinessQCManagementDataIds(Arrays.asList(businessQCManagementDataDO.getId())); + Map> taskParameterMap = taskParameterList.stream().sorted(Comparator.comparing(BusinessAssayProjectAndParameterRespVO::getParamNo)).collect(Collectors.groupingBy(BusinessAssayProjectAndParameterRespVO::getDicId, + LinkedHashMap::new, // 保持组首次出现的顺序(可选) + Collectors.toList() // ArrayList 保持组内顺序 + )); + for (Map.Entry> entry : taskParameterMap.entrySet()) { + BusinessAssayProjectAndParameterRespVO taskParameter = entry.getValue().get(0); + String fieldIndex = "a" + taskParameter.getDicId(); + String title = taskParameter.getShowName() + (StringUtils.isBlank(taskParameter.getUnit()) ? "" : "(" + taskParameter.getUnit() + ")"); + boolean isEdit = StringUtils.isBlank(taskParameter.getFormula()); + cloumns.add(new BatchSampleAnalysisColumnRespVO(fieldIndex, fieldIndex + ".value", title, "", "120px", taskParameter.getDataType(), taskParameter.getDecimalPosition(), null, taskParameter.getFormula(), taskParameter.getParamNo(), isEdit, taskParameter.getUnit(), "attribute", taskParameter.getFillingWay(), taskParameter.getGroupDictionaryBusinessId(), taskParameter.getGroupDictionaryBusinessKey(), taskParameter.getGroupDictionaryBusinessName())); + } + BusinessQCManagementProjectDataReqVO projectDataSearch = new BusinessQCManagementProjectDataReqVO(); projectDataSearch.setBusinessQCManagementDataId(businessQCManagementDataDO.getId()); @@ -846,6 +872,12 @@ public class SampleAnalysisServiceImpl implements SampleAnalysisService { map.put("businessAssayTaskDetailId", ""); map.put("sampleCode", businessQCManagementData.getSampleCode()); map.put("sampleName", businessQCManagementData.getSampleName()); + + List taskParameterList2 = businessQCManagementSampleParameterDataMapper.selectByBusinessQCManagementDataIds(Arrays.asList(businessQCManagementData.getId())); + for (BusinessAssayProjectAndParameterRespVO taskParameter : taskParameterList2) { + map.put("a" + taskParameter.getDicId(), taskParameter); + } + BusinessQCManagementProjectDataReqVO projectDataSearch2 = new BusinessQCManagementProjectDataReqVO(); projectDataSearch2.setBusinessQCManagementDataId(businessQCManagementData.getId()); @@ -890,9 +922,13 @@ public class SampleAnalysisServiceImpl implements SampleAnalysisService { } List assayTaskAnalysisDataList = vo.getAssayTaskAnalysisDataList(); + + List dictionaryBusinessItemList = dictionaryBusinessMapper.selectItemByCategoryKeys(Arrays.asList("withProject", "withoutProject")); + if (CollUtil.isNotEmpty(assayTaskAnalysisDataList)) { for (BusinessAssayTaskAnalysisDataRespVO businessAssayTaskAnalysisDataRespVO : assayTaskAnalysisDataList) { - if ("analysis".equals(businessAssayTaskAnalysisDataRespVO.getAnalysisType())) { + DictionaryBusinessExtendRespVO dictionaryBusinessItem = dictionaryBusinessItemList.stream().filter(f -> f.getKey().equals(businessAssayTaskAnalysisDataRespVO.getAnalysisType())).findFirst().orElse(null); + if ("analysis".equals(businessAssayTaskAnalysisDataRespVO.getAnalysisType())) {//分析样 List businessAssayTaskDataList = businessAssayTaskDataMapper.selectList(new LambdaQueryWrapperX().eq(BusinessAssayTaskDataDO::getBusinessAssayTaskId, vo.getBusinessAssayTaskId()).eq(BusinessAssayTaskDataDO::getConfigAssayMethodId, businessAssayTaskDO.getConfigAssayMethodId())); List businessAssayTaskDataIdList = businessAssayTaskDataList.stream().map(m -> m.getId()).collect(Collectors.toList()); @@ -1007,10 +1043,12 @@ public class SampleAnalysisServiceImpl implements SampleAnalysisService { businessAssayParameterDataMapper.updateBatch(businessAssayParameterDataList); } - } else if ("zky".equals(businessAssayTaskAnalysisDataRespVO.getAnalysisType()) || "zkkby".equals(businessAssayTaskAnalysisDataRespVO.getAnalysisType())) { + } else if (dictionaryBusinessItem != null && "withProject".equals(dictionaryBusinessItem.getParentDictionaryBusinesskey())) {//带检测项目 List BusinessQCManagementDataList = businessQCManagementDataMapper.selectByBusinessAssayTaskId(businessAssayTaskDO.getId()); List businessQCManagementDataIdList = BusinessQCManagementDataList.stream().map(m -> m.getId()).collect(Collectors.toList()); + + List businessQCManagementSampleParameterDataDOList = businessQCManagementSampleParameterDataMapper.selectList(new LambdaQueryWrapperX().in(BusinessQCManagementSampleParameterDataDO::getBusinessQCManagementDataId, businessQCManagementDataIdList)); List businessQCManagementProjectDataList = businessQCManagementProjectDataMapper.selectByBusinessQCManagementDataIds(businessQCManagementDataIdList); List businessQCManagementProjectDataIdList = businessQCManagementProjectDataList.stream().map(m -> m.getId()).collect(Collectors.toList()); @@ -1079,11 +1117,39 @@ public class SampleAnalysisServiceImpl implements SampleAnalysisService { } else { businessQCManagementParameterDataDO.setValue(null); } + } else if ("attribute".equals(pap.getType())) { + BusinessQCManagementSampleParameterDataDO businessQCManagementSampleParameterDataDO = businessQCManagementSampleParameterDataDOList.stream().filter(f -> f.getId().equals(pap.getId())).findFirst().orElse(null); + if (StringUtils.isNotBlank(pap.getValue())) { + String dataType = pap.getDataType();//string-字符串,int-整数,decimal-小数,date-日期,datetime-时间 + switch (dataType) { + case "int": + case "date": + case "datetime": + case "string": + businessQCManagementSampleParameterDataDO.setValue(pap.getValue()); + businessQCManagementSampleParameterDataDO.setRemark(pap.getShowName() + ": " + pap.getValue()); + break; + case "decimal": + BigDecimal value = new BigDecimal(pap.getValue()); + value = value.setScale(pap.getDecimalPosition(), RoundingMode.HALF_EVEN); + businessQCManagementSampleParameterDataDO.setValue(value.toPlainString()); + businessQCManagementSampleParameterDataDO.setRemark(pap.getShowName() + ": " + value.toPlainString()); + break; + default: + throw new IllegalArgumentException("Unexpected value: " + dataType); + } + } else { + businessQCManagementSampleParameterDataDO.setValue(null); + } } } } + if (CollUtil.isNotEmpty(businessQCManagementSampleParameterDataDOList)) { + businessQCManagementSampleParameterDataMapper.updateBatch(businessQCManagementSampleParameterDataDOList); + } + if (CollUtil.isNotEmpty(businessQCManagementProjectDataList)) { businessQCManagementProjectDataMapper.updateBatch(businessQCManagementProjectDataList); } @@ -1091,7 +1157,7 @@ public class SampleAnalysisServiceImpl implements SampleAnalysisService { if (CollUtil.isNotEmpty(businessQCManagementParameterDataList)) { businessQCManagementParameterDataMapper.updateBatch(businessQCManagementParameterDataList); } - } else { + } else { //不带检测项目的 List businessQCCoefficientDataList = businessQCCoefficientDataMapper.selectByBusinessAssayTaskId(businessAssayTaskDO.getId()); List businessQCCoefficientDataIdList = businessQCCoefficientDataList.stream().map(m -> m.getId()).collect(Collectors.toList()); diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleTaskAssignServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleTaskAssignServiceImpl.java index 549a98e..f855e32 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleTaskAssignServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleTaskAssignServiceImpl.java @@ -33,6 +33,7 @@ import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCCoefficientP import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCManagementDataDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCManagementParameterDataDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCManagementProjectDataDO; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCManagementSampleParameterDataDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubParentSampleAssessmentDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubSampleAssessmentDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubSampleDO; @@ -47,6 +48,7 @@ import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCCoefficientParam import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCManagementDataMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCManagementParameterDataMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCManagementProjectDataMapper; +import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCManagementSampleParameterDataMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSubParentSampleAssessmentMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSubSampleAssessmentMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSubSampleMapper; @@ -59,8 +61,10 @@ import com.zt.plat.module.qms.business.config.controller.vo.ConfigQCSampleMethod import com.zt.plat.module.qms.business.config.controller.vo.ConfigQCSampleMethodParameterExtendRespVO; import com.zt.plat.module.qms.business.config.controller.vo.ConfigSubSampleMethodExtendRespVO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodDO; +import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodParameterDO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodProjectParameterDO; import com.zt.plat.module.qms.business.config.dal.mapper.ConfigAssayMethodMapper; +import com.zt.plat.module.qms.business.config.dal.mapper.ConfigAssayMethodParameterMapper; 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.ConfigQCSampleMethodMapper; @@ -125,6 +129,9 @@ public class SampleTaskAssignServiceImpl implements SampleTaskAssignService { @Resource private ConfigAssayMethodMapper configAssayMethodMapper; + @Resource + private ConfigAssayMethodParameterMapper configAssayMethodParameterMapper; + @Resource private ConfigAssayMethodProjectMapper configAssayMethodProjectMapper; @@ -149,6 +156,9 @@ public class SampleTaskAssignServiceImpl implements SampleTaskAssignService { @Resource private BusinessQCManagementDataMapper businessQCManagementDataMapper; + @Resource + private BusinessQCManagementSampleParameterDataMapper businessQCManagementSampleParameterDataMapper; + @Resource private BusinessQCManagementProjectDataMapper businessQCManagementProjectDataMapper; @@ -755,6 +765,7 @@ public class SampleTaskAssignServiceImpl implements SampleTaskAssignService { @Transactional(rollbackFor = Exception.class) public void createQcSample(CreateQcSampleReqVO req) { List businessQCManagementDataDOList = new ArrayList<>(); + List businessQCManagementSampleParameterDataDOList = new ArrayList<>(); List businessQCManagementProjectDataDOList = new ArrayList<>(); List businessQCManagementParameterDataDOList = new ArrayList<>(); @@ -859,6 +870,21 @@ public class SampleTaskAssignServiceImpl implements SampleTaskAssignService { businessQCManagementDataDO.setIsReported(QmsCommonConstant.NO); businessQCManagementDataDOList.add(businessQCManagementDataDO); + + + //分析方法参数配置 + List configAssayMethodParameterDOList = configAssayMethodParameterMapper.selectByConfigAssayMethodId(businessAssayTaskDO.getConfigAssayMethodId()); + BusinessQCManagementSampleParameterDataDO businessQCManagementSampleParameterDataDO = null; + for (ConfigAssayMethodParameterDO configAssayMethodParameterDO : configAssayMethodParameterDOList) { + businessQCManagementSampleParameterDataDO = new BusinessQCManagementSampleParameterDataDO(); + businessQCManagementSampleParameterDataDO.setId(IdWorker.getId()); + businessQCManagementSampleParameterDataDO.setBusinessQCManagementDataId(businessQCManagementDataDO.getId()); + businessQCManagementSampleParameterDataDO.setConfigAssayMethodParameterId(configAssayMethodParameterDO.getId()); + businessQCManagementSampleParameterDataDO.setDataType(configAssayMethodParameterDO.getDataType()); + businessQCManagementSampleParameterDataDO.setDecimalPosition(configAssayMethodParameterDO.getDecimalPosition()); + + businessQCManagementSampleParameterDataDOList.add(businessQCManagementSampleParameterDataDO); + } for (ConfigAssayMethodProjectExtendRespVO configAssayMethodProjectExtendRespVO : configAssayMethodProjectExtendRespList) { if (!dictionaryProjectIdList.contains(configAssayMethodProjectExtendRespVO.getDictionaryProjectId())) {//不存在则跳过 @@ -897,6 +923,9 @@ public class SampleTaskAssignServiceImpl implements SampleTaskAssignService { if (CollUtil.isNotEmpty(businessQCManagementDataDOList)) { businessQCManagementDataMapper.insertBatch(businessQCManagementDataDOList); } + if (CollUtil.isNotEmpty(businessQCManagementSampleParameterDataDOList)) { + businessQCManagementSampleParameterDataMapper.insertBatch(businessQCManagementSampleParameterDataDOList); + } if (CollUtil.isNotEmpty(businessQCManagementProjectDataDOList)) { businessQCManagementProjectDataMapper.insertBatch(businessQCManagementProjectDataDOList); } diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigAssayMethodParameterMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigAssayMethodParameterMapper.java index 175cb38..0bdf722 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigAssayMethodParameterMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigAssayMethodParameterMapper.java @@ -5,7 +5,6 @@ import java.util.*; import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; import com.zt.plat.module.qms.business.config.controller.vo.*; -import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodDO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodParameterDO; import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; import org.apache.ibatis.annotations.Mapper; @@ -41,6 +40,11 @@ public interface ConfigAssayMethodParameterMapper extends BaseMapperX selectByConfigAssayMethodId(Long configAssayMethodId) { + return selectList(new LambdaQueryWrapperX() + .eq(ConfigAssayMethodParameterDO::getConfigAssayMethodId, configAssayMethodId)); + } + default List selectByConfigAssayMethodIds(List configAssayMethodIdList) { return selectList(new LambdaQueryWrapperX() .in(ConfigAssayMethodParameterDO::getConfigAssayMethodId, configAssayMethodIdList)); diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/common/dic/controller/vo/DictionaryBusinessExtendRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/common/dic/controller/vo/DictionaryBusinessExtendRespVO.java new file mode 100644 index 0000000..79d3c1a --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/common/dic/controller/vo/DictionaryBusinessExtendRespVO.java @@ -0,0 +1,11 @@ +package com.zt.plat.module.qms.common.dic.controller.vo; + +import lombok.Data; + +@Data +public class DictionaryBusinessExtendRespVO extends DictionaryBusinessRespVO { + + private String parentDictionaryBusinessName; + + private String parentDictionaryBusinesskey; +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/common/dic/dal/mapper/DictionaryBusinessMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/common/dic/dal/mapper/DictionaryBusinessMapper.java index f438223..c5256ac 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/common/dic/dal/mapper/DictionaryBusinessMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/common/dic/dal/mapper/DictionaryBusinessMapper.java @@ -3,6 +3,7 @@ package com.zt.plat.module.qms.common.dic.dal.mapper; import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.zt.plat.framework.mybatis.core.query.MPJLambdaWrapperX; import com.zt.plat.module.qms.common.dic.controller.vo.*; import com.zt.plat.module.qms.common.dic.controller.vo.DictionaryBusinessPageReqVO; import com.zt.plat.module.qms.common.dic.dal.dataobject.DictionaryBusinessDO; @@ -35,6 +36,16 @@ public interface DictionaryBusinessMapper extends BaseMapperX selectItemByCategoryKeys(List keys) { + return selectJoinList(DictionaryBusinessExtendRespVO.class, new MPJLambdaWrapperX() + .leftJoin(DictionaryBusinessDO.class, "dbd", DictionaryBusinessDO::getId, DictionaryBusinessDO::getParentId) + .selectAll(DictionaryBusinessDO.class) + .selectAs("dbd", DictionaryBusinessDO::getKey, DictionaryBusinessExtendRespVO::getParentDictionaryBusinesskey) + .selectAs("dbd", DictionaryBusinessDO::getName, DictionaryBusinessExtendRespVO::getParentDictionaryBusinessName) + .in("dbd", DictionaryBusinessDO::getKey, keys) + .orderByAsc(DictionaryBusinessDO::getSortNo)); + } /** From 054c3ddda1883b91584fae74c33d25c1ea80b31b Mon Sep 17 00:00:00 2001 From: wxr Date: Sat, 20 Dec 2025 17:13:19 +0800 Subject: [PATCH 12/16] =?UTF-8?q?=E5=8E=9F=E5=A7=8B=E8=AE=B0=E5=BD=95?= =?UTF-8?q?=E6=A8=AA=E5=90=91=E7=BA=B5=E5=90=91=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../vo/BusinessAssayTaskExtendRespVO.java | 3 + .../dal/mapper/BusinessAssayTaskMapper.java | 1 + .../SampleAnalysisAuditServiceImpl.java | 323 ++++++++++++------ .../vo/ConfigAssayMethodPageReqVO.java | 3 + .../controller/vo/ConfigAssayMethodReqVO.java | 3 + .../vo/ConfigAssayMethodRespVO.java | 4 + .../vo/ConfigAssayMethodSaveReqVO.java | 3 + .../dal/dataobject/ConfigAssayMethodDO.java | 5 + .../dal/mapper/ConfigAssayMethodMapper.java | 4 +- 9 files changed, 251 insertions(+), 98 deletions(-) diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskExtendRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskExtendRespVO.java index 00dd818..6167eb9 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskExtendRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskExtendRespVO.java @@ -21,6 +21,9 @@ import lombok.Data; */ @Data public class BusinessAssayTaskExtendRespVO extends BusinessAssayTaskRespVO { + + /** 任务单数据类型,横向:horizontal,纵向:‌vertical **/ + private String reportDataType; /** 分析方法名称 **/ private String configAssayMethodName; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskMapper.java index 6fa4775..ad18e3d 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskMapper.java @@ -139,6 +139,7 @@ public interface BusinessAssayTaskMapper extends BaseMapperX businessAssayTaskDetailList = businessAssayTaskDetailMapper.selectList(new LambdaQueryWrapperX().eq(BusinessAssayTaskDetailDO::getBusinessAssayTaskId, businessAssayTaskDO.getId())); - List businessAssayTaskDataList = businessAssayTaskDataMapper.selectList(new LambdaQueryWrapperX().eq(BusinessAssayTaskDataDO::getBusinessAssayTaskId, businessAssayTaskDO.getId()).eq(BusinessAssayTaskDataDO::getConfigAssayMethodId, businessAssayTaskDO.getConfigAssayMethodId())); -// BusinessAssayTaskDataDO businessAssayTaskData = businessAssayTaskDataList.get(0); - //处理数据 + //处理数据 List> datas = new ArrayList<>(); - for (BusinessAssayTaskDataDO businessAssayTaskDataDO : businessAssayTaskDataList) { - BusinessAssayTaskDetailDO businessAssayTaskDetailDO = businessAssayTaskDetailList.stream().filter(f -> f.getSampleId().equals(businessAssayTaskDataDO.getBusinessSubSampleId())).findFirst().orElse(null); - - Map map = new HashedMap<>(); - map.put("businessAssayTaskDataId", businessAssayTaskDataDO.getId()); - map.put("businessAssayTaskId", businessAssayTaskDataDO.getBusinessAssayTaskId()); - map.put("businessSubSampleId", businessAssayTaskDataDO.getBusinessSubSampleId()); - map.put("businessSubParentSampleId", businessAssayTaskDataDO.getBusinessSubParentSampleId()); - map.put("configAssayMethodId", businessAssayTaskDataDO.getConfigAssayMethodId()); - map.put("businessAssayTaskDetailId", businessAssayTaskDetailDO.getId()); - map.put("sampleCode", businessAssayTaskDetailDO.getSampleCode()); - map.put("sampleName", businessAssayTaskDetailDO.getSampleName()); - map.put("analysisType", "analysis"); - map.put("assayTime", businessAssayTaskJson.get("assayTime")); + //横向数据 + if ("horizontal".equals(reportDataType)) { - BusinessAssayProjectDataReqVO projectDataSearch2 = new BusinessAssayProjectDataReqVO(); - projectDataSearch2.setBusinessAssayTaskDataId(businessAssayTaskDataDO.getId()); - List projectAndParameterList2 = businessAssayProjectDataMapper.selectProjectAndParameterBy(projectDataSearch2); - for (BusinessAssayProjectAndParameterRespVO ep : projectAndParameterList2) { -// map.put("e" + ep.getDicId(), ep); - map.put(ep.getName(), ep.getValue()); - if (StringUtils.isNotEmpty(ep.getFormula())) { - BusinessAssayParameterDataReqVO parameterDataSearch = new BusinessAssayParameterDataReqVO(); - parameterDataSearch.setBusinessAssayProjectDataId(ep.getId()); - List plist = businessAssayParameterDataMapper.selectProjectAndParameterBy(parameterDataSearch); - for (BusinessAssayProjectAndParameterRespVO p : plist) { -// map.put("p" + p.getDicId(), p); - map.put(p.getName(), p.getValue()); - } + List businessAssayTaskDetailList = businessAssayTaskDetailMapper.selectList(new LambdaQueryWrapperX().eq(BusinessAssayTaskDetailDO::getBusinessAssayTaskId, businessAssayTaskDO.getId())); + List businessAssayTaskDataList = businessAssayTaskDataMapper.selectList(new LambdaQueryWrapperX().eq(BusinessAssayTaskDataDO::getBusinessAssayTaskId, businessAssayTaskDO.getId()).eq(BusinessAssayTaskDataDO::getConfigAssayMethodId, businessAssayTaskDO.getConfigAssayMethodId())); + + for (BusinessAssayTaskDataDO businessAssayTaskDataDO : businessAssayTaskDataList) { + BusinessAssayTaskDetailDO businessAssayTaskDetailDO = businessAssayTaskDetailList.stream().filter(f -> f.getSampleId().equals(businessAssayTaskDataDO.getBusinessSubSampleId())).findFirst().orElse(null); + + Map map = new HashedMap<>(); + map.put("businessAssayTaskDataId", businessAssayTaskDataDO.getId()); + map.put("businessAssayTaskId", businessAssayTaskDataDO.getBusinessAssayTaskId()); + map.put("businessSubSampleId", businessAssayTaskDataDO.getBusinessSubSampleId()); + map.put("businessSubParentSampleId", businessAssayTaskDataDO.getBusinessSubParentSampleId()); + map.put("configAssayMethodId", businessAssayTaskDataDO.getConfigAssayMethodId()); + map.put("businessAssayTaskDetailId", businessAssayTaskDetailDO.getId()); + map.put("sampleCode", businessAssayTaskDetailDO.getSampleCode()); + map.put("sampleName", businessAssayTaskDetailDO.getSampleName()); + map.put("analysisType", "analysis"); + map.put("assayTime", businessAssayTaskJson.get("assayTime")); + + List businessAssayTaskParameterDataList = businessAssayTaskParameterDataMapper.selectByBusinessAssayTaskDataIds(Arrays.asList(businessAssayTaskDataDO.getId())); + for (BusinessAssayProjectAndParameterRespVO businessAssayTaskParameterDataDO : businessAssayTaskParameterDataList) { + map.put(businessAssayTaskParameterDataDO.getName(), businessAssayTaskParameterDataDO.getValue()); } - - } - datas.add(map); - } - List businessQCManagementDataDOList = businessQCManagementDataMapper.selectByBusinessAssayTaskId(businessAssayTaskDO.getId()); + BusinessAssayProjectDataReqVO projectDataSearch2 = new BusinessAssayProjectDataReqVO(); + projectDataSearch2.setBusinessAssayTaskDataId(businessAssayTaskDataDO.getId()); + List projectAndParameterList2 = businessAssayProjectDataMapper.selectProjectAndParameterBy(projectDataSearch2); + for (BusinessAssayProjectAndParameterRespVO ep : projectAndParameterList2) { + map.put(ep.getName(), ep.getValue()); + if (StringUtils.isNotEmpty(ep.getFormula())) { + BusinessAssayParameterDataReqVO parameterDataSearch = new BusinessAssayParameterDataReqVO(); + parameterDataSearch.setBusinessAssayProjectDataId(ep.getId()); + List plist = businessAssayParameterDataMapper.selectProjectAndParameterBy(parameterDataSearch); + for (BusinessAssayProjectAndParameterRespVO p : plist) { + map.put(p.getName(), p.getValue()); + } + } + + } + datas.add(map); + } + + List businessQCManagementDataDOList = businessQCManagementDataMapper.selectByBusinessAssayTaskId(businessAssayTaskDO.getId()); + + + for (BusinessQCManagementDataDO businessQCManagementData : businessQCManagementDataDOList) { + Map map = new HashedMap<>(); + map.put("businessAssayTaskDataId", businessQCManagementData.getId()); + map.put("businessAssayTaskId", businessQCManagementData.getBusinessAssayTaskId()); + map.put("businessSubSampleId", ""); + map.put("businessSubParentSampleId", ""); + map.put("configAssayMethodId", businessQCManagementData.getConfigAssayMethodId()); + map.put("businessAssayTaskDetailId", ""); + map.put("sampleCode", businessQCManagementData.getSampleCode()); + map.put("sampleName", businessQCManagementData.getSampleName()); + map.put("analysisType", businessQCManagementData.getDictionaryBusinessKey()); + map.put("assayTime", businessAssayTaskJson.get("assayTime")); + + List businessQCManagementSampleParameterDataList = businessQCManagementSampleParameterDataMapper.selectByBusinessQCManagementDataIds(Arrays.asList(businessQCManagementData.getId())); + for (BusinessAssayProjectAndParameterRespVO businessQCManagementSampleParameterData : businessQCManagementSampleParameterDataList) { + map.put(businessQCManagementSampleParameterData.getName(), businessQCManagementSampleParameterData.getValue()); + } + + BusinessQCManagementProjectDataReqVO projectDataSearch2 = new BusinessQCManagementProjectDataReqVO(); + projectDataSearch2.setBusinessQCManagementDataId(businessQCManagementData.getId()); + List projectAndParameterList2 = businessQCManagementProjectDataMapper.selectProjectAndParameterBy(projectDataSearch2); + for (BusinessAssayProjectAndParameterRespVO ep : projectAndParameterList2) { + map.put(ep.getName(), ep.getValue()); + if (StringUtils.isNotEmpty(ep.getFormula())) { + BusinessQCManagementParameterDataReqVO parameterDataSearch = new BusinessQCManagementParameterDataReqVO(); + parameterDataSearch.setBusinessQCManagementProjectDataId(ep.getId()); + List plist = businessQCManagementParameterDataMapper.selectProjectAndParameterBy(parameterDataSearch); + for (BusinessAssayProjectAndParameterRespVO p : plist) { + map.put(p.getName(), p.getValue()); + } + } + + } + datas.add(map); + } + + List businessQCCoefficientDataDOList = businessQCCoefficientDataMapper.selectByBusinessAssayTaskId(businessAssayTaskDO.getId()); + for (BusinessQCCoefficientDataDO businessQCCoefficientData: businessQCCoefficientDataDOList) { + Map map = new HashedMap<>(); + map.put("businessAssayTaskDataId", businessQCCoefficientData.getId()); + map.put("businessAssayTaskId", businessQCCoefficientData.getBusinessAssayTaskId()); + map.put("businessSubSampleId", ""); + map.put("businessSubParentSampleId", ""); + map.put("configAssayMethodId", businessQCCoefficientData.getConfigAssayMethodId()); + map.put("businessAssayTaskDetailId", ""); + map.put("sampleCode", businessQCCoefficientData.getSampleCode()); + map.put("sampleName", businessQCCoefficientData.getSampleName()); + map.put("analysisType", businessQCCoefficientData.getDictionaryBusinessKey()); + map.put("assayTime", businessAssayTaskJson.get("assayTime")); + + BusinessQCCoefficientParameterDataReqVO parameterDataSearch2 = new BusinessQCCoefficientParameterDataReqVO(); + parameterDataSearch2.setBusinessQCCoefficientDataId(businessQCCoefficientData.getId()); + List plist2 = businessQCCoefficientParameterDataMapper.selectProjectAndParameterBy(parameterDataSearch2); + for (BusinessAssayProjectAndParameterRespVO p : plist2) { + map.put(p.getName(), p.getValue()); + } + datas.add(map); + } + + + } else if ("‌vertical ".equals(reportDataType)) {//纵向数据 + List businessAssayTaskDetailList = businessAssayTaskDetailMapper.selectList(new LambdaQueryWrapperX().eq(BusinessAssayTaskDetailDO::getBusinessAssayTaskId, businessAssayTaskDO.getId())); + List businessAssayTaskDataList = businessAssayTaskDataMapper.selectList(new LambdaQueryWrapperX().eq(BusinessAssayTaskDataDO::getBusinessAssayTaskId, businessAssayTaskDO.getId()).eq(BusinessAssayTaskDataDO::getConfigAssayMethodId, businessAssayTaskDO.getConfigAssayMethodId())); + + for (BusinessAssayTaskDataDO businessAssayTaskDataDO : businessAssayTaskDataList) { + BusinessAssayTaskDetailDO businessAssayTaskDetailDO = businessAssayTaskDetailList.stream().filter(f -> f.getSampleId().equals(businessAssayTaskDataDO.getBusinessSubSampleId())).findFirst().orElse(null); + + HashedMap map = new HashedMap<>(); + map.put("businessAssayTaskDataId", businessAssayTaskDataDO.getId()); + map.put("businessAssayTaskId", businessAssayTaskDataDO.getBusinessAssayTaskId()); + map.put("businessSubSampleId", businessAssayTaskDataDO.getBusinessSubSampleId()); + map.put("businessSubParentSampleId", businessAssayTaskDataDO.getBusinessSubParentSampleId()); + map.put("configAssayMethodId", businessAssayTaskDataDO.getConfigAssayMethodId()); + map.put("businessAssayTaskDetailId", businessAssayTaskDetailDO.getId()); + map.put("sampleCode", businessAssayTaskDetailDO.getSampleCode()); + map.put("sampleName", businessAssayTaskDetailDO.getSampleName()); + map.put("analysisType", "analysis"); + map.put("assayTime", businessAssayTaskJson.get("assayTime")); + + List businessAssayTaskParameterDataList = businessAssayTaskParameterDataMapper.selectByBusinessAssayTaskDataIds(Arrays.asList(businessAssayTaskDataDO.getId())); + for (BusinessAssayProjectAndParameterRespVO businessAssayTaskParameterDataDO : businessAssayTaskParameterDataList) { + map.put(businessAssayTaskParameterDataDO.getName(), businessAssayTaskParameterDataDO.getValue()); + } + + BusinessAssayProjectDataReqVO projectDataSearch2 = new BusinessAssayProjectDataReqVO(); + projectDataSearch2.setBusinessAssayTaskDataId(businessAssayTaskDataDO.getId()); + List projectAndParameterList2 = businessAssayProjectDataMapper.selectProjectAndParameterBy(projectDataSearch2); + for (BusinessAssayProjectAndParameterRespVO ep : projectAndParameterList2) { + HashedMap newMap = SerializationUtils.clone(map); + newMap.put(ep.getName(), ep.getValue()); + if (StringUtils.isNotEmpty(ep.getFormula())) { + BusinessAssayParameterDataReqVO parameterDataSearch = new BusinessAssayParameterDataReqVO(); + parameterDataSearch.setBusinessAssayProjectDataId(ep.getId()); + List plist = businessAssayParameterDataMapper.selectProjectAndParameterBy(parameterDataSearch); + for (BusinessAssayProjectAndParameterRespVO p : plist) { + newMap.put(p.getName(), p.getValue()); + } + } + datas.add(newMap); + } + } + + List businessQCManagementDataDOList = businessQCManagementDataMapper.selectByBusinessAssayTaskId(businessAssayTaskDO.getId()); + + + for (BusinessQCManagementDataDO businessQCManagementData : businessQCManagementDataDOList) { + HashedMap map = new HashedMap<>(); + map.put("businessAssayTaskDataId", businessQCManagementData.getId()); + map.put("businessAssayTaskId", businessQCManagementData.getBusinessAssayTaskId()); + map.put("businessSubSampleId", ""); + map.put("businessSubParentSampleId", ""); + map.put("configAssayMethodId", businessQCManagementData.getConfigAssayMethodId()); + map.put("businessAssayTaskDetailId", ""); + map.put("sampleCode", businessQCManagementData.getSampleCode()); + map.put("sampleName", businessQCManagementData.getSampleName()); + map.put("analysisType", businessQCManagementData.getDictionaryBusinessKey()); + map.put("assayTime", businessAssayTaskJson.get("assayTime")); + + List businessQCManagementSampleParameterDataList = businessQCManagementSampleParameterDataMapper.selectByBusinessQCManagementDataIds(Arrays.asList(businessQCManagementData.getId())); + for (BusinessAssayProjectAndParameterRespVO businessQCManagementSampleParameterData : businessQCManagementSampleParameterDataList) { + map.put(businessQCManagementSampleParameterData.getName(), businessQCManagementSampleParameterData.getValue()); + } + + BusinessQCManagementProjectDataReqVO projectDataSearch2 = new BusinessQCManagementProjectDataReqVO(); + projectDataSearch2.setBusinessQCManagementDataId(businessQCManagementData.getId()); + List projectAndParameterList2 = businessQCManagementProjectDataMapper.selectProjectAndParameterBy(projectDataSearch2); + for (BusinessAssayProjectAndParameterRespVO ep : projectAndParameterList2) { + HashedMap newMap = SerializationUtils.clone(map); + newMap.put(ep.getName(), ep.getValue()); + if (StringUtils.isNotEmpty(ep.getFormula())) { + BusinessQCManagementParameterDataReqVO parameterDataSearch = new BusinessQCManagementParameterDataReqVO(); + parameterDataSearch.setBusinessQCManagementProjectDataId(ep.getId()); + List plist = businessQCManagementParameterDataMapper.selectProjectAndParameterBy(parameterDataSearch); + for (BusinessAssayProjectAndParameterRespVO p : plist) { + newMap.put(p.getName(), p.getValue()); + } + } + datas.add(newMap); + } + } + + List businessQCCoefficientDataDOList = businessQCCoefficientDataMapper.selectByBusinessAssayTaskId(businessAssayTaskDO.getId()); + for (BusinessQCCoefficientDataDO businessQCCoefficientData: businessQCCoefficientDataDOList) { + Map map = new HashedMap<>(); + map.put("businessAssayTaskDataId", businessQCCoefficientData.getId()); + map.put("businessAssayTaskId", businessQCCoefficientData.getBusinessAssayTaskId()); + map.put("businessSubSampleId", ""); + map.put("businessSubParentSampleId", ""); + map.put("configAssayMethodId", businessQCCoefficientData.getConfigAssayMethodId()); + map.put("businessAssayTaskDetailId", ""); + map.put("sampleCode", businessQCCoefficientData.getSampleCode()); + map.put("sampleName", businessQCCoefficientData.getSampleName()); + map.put("analysisType", businessQCCoefficientData.getDictionaryBusinessKey()); + map.put("assayTime", businessAssayTaskJson.get("assayTime")); + + BusinessQCCoefficientParameterDataReqVO parameterDataSearch2 = new BusinessQCCoefficientParameterDataReqVO(); + parameterDataSearch2.setBusinessQCCoefficientDataId(businessQCCoefficientData.getId()); + List plist2 = businessQCCoefficientParameterDataMapper.selectProjectAndParameterBy(parameterDataSearch2); + for (BusinessAssayProjectAndParameterRespVO p : plist2) { + map.put(p.getName(), p.getValue()); + } + datas.add(map); + } + + } - for (BusinessQCManagementDataDO businessQCManagementData : businessQCManagementDataDOList) { - Map map = new HashedMap<>(); - map.put("businessAssayTaskDataId", businessQCManagementData.getId()); - map.put("businessAssayTaskId", businessQCManagementData.getBusinessAssayTaskId()); - map.put("businessSubSampleId", ""); - map.put("businessSubParentSampleId", ""); - map.put("configAssayMethodId", businessQCManagementData.getConfigAssayMethodId()); - map.put("businessAssayTaskDetailId", ""); - map.put("sampleCode", businessQCManagementData.getSampleCode()); - map.put("sampleName", businessQCManagementData.getSampleName()); - map.put("analysisType", businessQCManagementData.getDictionaryBusinessKey()); - map.put("assayTime", businessAssayTaskJson.get("assayTime")); - - BusinessQCManagementProjectDataReqVO projectDataSearch2 = new BusinessQCManagementProjectDataReqVO(); - projectDataSearch2.setBusinessQCManagementDataId(businessQCManagementData.getId()); - List projectAndParameterList2 = businessQCManagementProjectDataMapper.selectProjectAndParameterBy(projectDataSearch2); - for (BusinessAssayProjectAndParameterRespVO ep : projectAndParameterList2) { -// map.put("e" + ep.getDicId(), ep); - map.put(ep.getName(), ep.getValue()); - if (StringUtils.isNotEmpty(ep.getFormula())) { - BusinessQCManagementParameterDataReqVO parameterDataSearch = new BusinessQCManagementParameterDataReqVO(); - parameterDataSearch.setBusinessQCManagementProjectDataId(ep.getId()); - List plist = businessQCManagementParameterDataMapper.selectProjectAndParameterBy(parameterDataSearch); - for (BusinessAssayProjectAndParameterRespVO p : plist) { -// map.put("p" + p.getDicId(), p); - map.put(p.getName(), p.getValue()); - } - } - - } - datas.add(map); - } - - List businessQCCoefficientDataDOList = businessQCCoefficientDataMapper.selectByBusinessAssayTaskId(businessAssayTaskDO.getId()); - for (BusinessQCCoefficientDataDO businessQCCoefficientData: businessQCCoefficientDataDOList) { - Map map = new HashedMap<>(); - map.put("businessAssayTaskDataId", businessQCCoefficientData.getId()); - map.put("businessAssayTaskId", businessQCCoefficientData.getBusinessAssayTaskId()); - map.put("businessSubSampleId", ""); - map.put("businessSubParentSampleId", ""); - map.put("configAssayMethodId", businessQCCoefficientData.getConfigAssayMethodId()); - map.put("businessAssayTaskDetailId", ""); - map.put("sampleCode", businessQCCoefficientData.getSampleCode()); - map.put("sampleName", businessQCCoefficientData.getSampleName()); - map.put("analysisType", businessQCCoefficientData.getDictionaryBusinessKey()); - map.put("assayTime", businessAssayTaskJson.get("assayTime")); - - BusinessQCCoefficientParameterDataReqVO parameterDataSearch2 = new BusinessQCCoefficientParameterDataReqVO(); - parameterDataSearch2.setBusinessQCCoefficientDataId(businessQCCoefficientData.getId()); - List plist2 = businessQCCoefficientParameterDataMapper.selectProjectAndParameterBy(parameterDataSearch2); - for (BusinessAssayProjectAndParameterRespVO p : plist2) { -// map.put("p" + p.getDicId(), p); - map.put(p.getName(), p.getValue()); - } - datas.add(map); - } - // resultJsonObject.put("all", datas); // Map>> map = datas.stream().collect(Collectors.groupingBy(g -> (String) g.get("analysisType"))); // for (Map.Entry>> entry : map.entrySet()) { @@ -416,7 +547,7 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic List> fxList = datas.stream().filter(f -> "analysis".equals(f.get("analysisType")) || "zky".equals(f.get("analysisType")) || "kby".equals(f.get("analysisType")) ).collect(Collectors.toList()); resultJsonObject.put("fx", fxList); List> byList = datas.stream().filter(f -> "by".equals(f.get("analysisType"))).collect(Collectors.toList()); - resultJsonObject.put("by", byList); + resultJsonObject.put("by", byList); return resultJsonObject; } diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodPageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodPageReqVO.java index 7185cd0..98e7b88 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodPageReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodPageReqVO.java @@ -46,6 +46,9 @@ public class ConfigAssayMethodPageReqVO extends PageParam { @Schema(description = "任务单模板key") private String configReportTemplateKey; + @Schema(description = "任务单数据类型,横向:horizontal,纵向:‌vertical‌", example = "2") + private String reportDataType; + @Schema(description = "任务单编号规则") private String codeRule; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodReqVO.java index 867a515..f82c1f7 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodReqVO.java @@ -46,6 +46,9 @@ public class ConfigAssayMethodReqVO { @Schema(description = "任务单模板key") private String configReportTemplateKey; + @Schema(description = "任务单数据类型,横向:horizontal,纵向:‌vertical‌", example = "2") + private String reportDataType; + @Schema(description = "任务单编号规则") private String codeRule; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodRespVO.java index 25188a9..36fc362 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodRespVO.java @@ -56,6 +56,10 @@ public class ConfigAssayMethodRespVO { @ExcelProperty("任务单模板key") private String configReportTemplateKey; + @Schema(description = "任务单数据类型,横向:horizontal,纵向:‌vertical‌", example = "2") + @ExcelProperty("任务单数据类型,横向:horizontal,纵向:‌vertical‌") + private String reportDataType; + @Schema(description = "任务单编号规则", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("任务单编号规则") private String codeRule; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodSaveReqVO.java index b9dac4a..3f97395 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodSaveReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodSaveReqVO.java @@ -47,6 +47,9 @@ public class ConfigAssayMethodSaveReqVO { @Schema(description = "任务单模板key") private String configReportTemplateKey; + @Schema(description = "任务单数据类型,横向:horizontal,纵向:‌vertical‌") + private String reportDataType; + @Schema(description = "任务单编号规则", requiredMode = Schema.RequiredMode.REQUIRED) @NotEmpty(message = "任务单编号规则不能为空") private String codeRule; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigAssayMethodDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigAssayMethodDO.java index 296c205..d10ff91 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigAssayMethodDO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigAssayMethodDO.java @@ -87,6 +87,11 @@ public class ConfigAssayMethodDO extends BusinessBaseDO { @TableField("CFG_RPT_TMPL_KY") private String configReportTemplateKey; /** + * 任务单数据类型,横向:horizontal,纵向:‌vertical‌ + */ + @TableField("RPT_DAT_TP") + private String reportDataType; + /** * 任务单编号规则 */ @TableField("CD_RUL") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigAssayMethodMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigAssayMethodMapper.java index 85ce27a..4006332 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigAssayMethodMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigAssayMethodMapper.java @@ -4,14 +4,12 @@ import java.util.*; import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; -import com.zt.plat.framework.mybatis.core.query.MPJLambdaWrapperX; import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; import com.zt.plat.module.qms.business.config.controller.vo.ConfigAssayMethodPageReqVO; import com.zt.plat.module.qms.business.config.controller.vo.ConfigAssayMethodReqVO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodDO; import org.apache.ibatis.annotations.Mapper; -import com.zt.plat.module.qms.business.config.controller.vo.*; /** * 检测方法配置 Mapper @@ -33,6 +31,7 @@ public interface ConfigAssayMethodMapper extends BaseMapperX Date: Sat, 20 Dec 2025 17:47:10 +0800 Subject: [PATCH 13/16] fix --- .../business/bus/service/SampleAnalysisAuditServiceImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 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 d3c0d83..122a54e 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 @@ -431,7 +431,7 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic } - } else if ("‌vertical ".equals(reportDataType)) {//纵向数据 + } else if ("‌vertical‌".equals(reportDataType)) {//纵向数据 List businessAssayTaskDetailList = businessAssayTaskDetailMapper.selectList(new LambdaQueryWrapperX().eq(BusinessAssayTaskDetailDO::getBusinessAssayTaskId, businessAssayTaskDO.getId())); List businessAssayTaskDataList = businessAssayTaskDataMapper.selectList(new LambdaQueryWrapperX().eq(BusinessAssayTaskDataDO::getBusinessAssayTaskId, businessAssayTaskDO.getId()).eq(BusinessAssayTaskDataDO::getConfigAssayMethodId, businessAssayTaskDO.getConfigAssayMethodId())); @@ -544,7 +544,7 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic // resultJsonObject.put(entry.getKey(), entry.getValue()); // } - List> fxList = datas.stream().filter(f -> "analysis".equals(f.get("analysisType")) || "zky".equals(f.get("analysisType")) || "kby".equals(f.get("analysisType")) ).collect(Collectors.toList()); + List> fxList = datas.stream().filter(f -> "analysis".equals(f.get("analysisType")) || "zky".equals(f.get("analysisType")) || "kby".equals(f.get("analysisType")) || "zkkby".equals(f.get("analysisType")) || "jky".equals(f.get("analysisType")) ).collect(Collectors.toList()); resultJsonObject.put("fx", fxList); List> byList = datas.stream().filter(f -> "by".equals(f.get("analysisType"))).collect(Collectors.toList()); resultJsonObject.put("by", byList); From ee4f7aba8661fa473d2d149897da564e8493fc8e Mon Sep 17 00:00:00 2001 From: wxr Date: Sat, 20 Dec 2025 18:08:54 +0800 Subject: [PATCH 14/16] fix --- .../business/bus/service/SampleAnalysisAuditServiceImpl.java | 3 +-- 1 file changed, 1 insertion(+), 2 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 122a54e..f68388f 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 @@ -429,9 +429,8 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic } datas.add(map); } - - } else if ("‌vertical‌".equals(reportDataType)) {//纵向数据 + } else if ("vertical".equals(reportDataType)) {//纵向数据 List businessAssayTaskDetailList = businessAssayTaskDetailMapper.selectList(new LambdaQueryWrapperX().eq(BusinessAssayTaskDetailDO::getBusinessAssayTaskId, businessAssayTaskDO.getId())); List businessAssayTaskDataList = businessAssayTaskDataMapper.selectList(new LambdaQueryWrapperX().eq(BusinessAssayTaskDataDO::getBusinessAssayTaskId, businessAssayTaskDO.getId()).eq(BusinessAssayTaskDataDO::getConfigAssayMethodId, businessAssayTaskDO.getConfigAssayMethodId())); From dbf678e8a62d8ae20ce15a0f89c10294312edc7a Mon Sep 17 00:00:00 2001 From: wxr Date: Sat, 20 Dec 2025 18:37:45 +0800 Subject: [PATCH 15/16] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=AC=A6=E5=8F=B7?= =?UTF-8?q?=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../vo/BusinessAssayProjectAndParameterRespVO.java | 4 ++++ .../bus/dal/dataobject/BusinessAssayParameterDataDO.java | 5 +++++ .../dataobject/BusinessQCCoefficientParameterDataDO.java | 5 +++++ .../dataobject/BusinessQCManagementParameterDataDO.java | 5 +++++ .../bus/dal/mapper/BusinessAssayParameterDataMapper.java | 1 + .../bus/dal/mapper/BusinessAssayProjectDataMapper.java | 1 + .../dal/mapper/BusinessAssayTaskParameterDataMapper.java | 3 --- .../mapper/BusinessQCCoefficientParameterDataMapper.java | 1 + .../mapper/BusinessQCManagementParameterDataMapper.java | 1 + .../dal/mapper/BusinessQCManagementProjectDataMapper.java | 1 + .../bus/service/SampleAnalysisAuditServiceImpl.java | 8 ++++++-- 11 files changed, 30 insertions(+), 5 deletions(-) diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayProjectAndParameterRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayProjectAndParameterRespVO.java index ce9ac89..a989adf 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayProjectAndParameterRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayProjectAndParameterRespVO.java @@ -42,6 +42,10 @@ public class BusinessAssayProjectAndParameterRespVO implements Serializable { /** 结果值 **/ @Schema(description = "结果值") private String value; + + /** 符号,=、>、<、等 **/ + @Schema(description = "符号,=、>、<、等") + private String symbol; @Schema(description = "是否允许为空") private Integer isNull; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessAssayParameterDataDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessAssayParameterDataDO.java index f69102f..8cdd51e 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessAssayParameterDataDO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessAssayParameterDataDO.java @@ -47,6 +47,11 @@ public class BusinessAssayParameterDataDO extends BusinessBaseDO { @TableField("DIC_PRM_ID") private Long dictionaryParameterId; /** + * 符号,=、>、<、等 + */ + @TableField("SMB") + private String symbol; + /** * 值 */ @TableField("VAL") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessQCCoefficientParameterDataDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessQCCoefficientParameterDataDO.java index 5be6059..a652841 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessQCCoefficientParameterDataDO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessQCCoefficientParameterDataDO.java @@ -47,6 +47,11 @@ public class BusinessQCCoefficientParameterDataDO extends BusinessBaseDO { @TableField("DIC_PRM_ID") private Long dictionaryParameterId; /** + * 符号,=、>、<、等 + */ + @TableField("SMB") + private String symbol; + /** * 值 */ @TableField("VAL") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessQCManagementParameterDataDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessQCManagementParameterDataDO.java index 88d7026..843c3d9 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessQCManagementParameterDataDO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessQCManagementParameterDataDO.java @@ -47,6 +47,11 @@ public class BusinessQCManagementParameterDataDO extends BusinessBaseDO { @TableField("DIC_PRM_ID") private Long dictionaryParameterId; /** + * 符号,=、>、<、等 + */ + @TableField("SMB") + private String symbol; + /** * 值 */ @TableField("VAL") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayParameterDataMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayParameterDataMapper.java index e1c897f..68f2e52 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayParameterDataMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayParameterDataMapper.java @@ -39,6 +39,7 @@ public interface BusinessAssayParameterDataMapper extends BaseMapperX projectAndParameterList2 = businessAssayProjectDataMapper.selectProjectAndParameterBy(projectDataSearch2); for (BusinessAssayProjectAndParameterRespVO ep : projectAndParameterList2) { HashedMap newMap = SerializationUtils.clone(map); - newMap.put(ep.getName(), ep.getValue()); +// newMap.put(ep.getName(), ep.getValue()); + newMap.put("projectName", ep.getName()); + newMap.put("projectValue", ep.getValue()); if (StringUtils.isNotEmpty(ep.getFormula())) { BusinessAssayParameterDataReqVO parameterDataSearch = new BusinessAssayParameterDataReqVO(); parameterDataSearch.setBusinessAssayProjectDataId(ep.getId()); @@ -498,7 +500,9 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic List projectAndParameterList2 = businessQCManagementProjectDataMapper.selectProjectAndParameterBy(projectDataSearch2); for (BusinessAssayProjectAndParameterRespVO ep : projectAndParameterList2) { HashedMap newMap = SerializationUtils.clone(map); - newMap.put(ep.getName(), ep.getValue()); +// newMap.put(ep.getName(), ep.getValue()); + newMap.put("projectName", ep.getName()); + newMap.put("projectValue", ep.getValue()); if (StringUtils.isNotEmpty(ep.getFormula())) { BusinessQCManagementParameterDataReqVO parameterDataSearch = new BusinessQCManagementParameterDataReqVO(); parameterDataSearch.setBusinessQCManagementProjectDataId(ep.getId()); From 668df796ed9187ad69b3c7f7471012a7b3fab492 Mon Sep 17 00:00:00 2001 From: wxr Date: Mon, 22 Dec 2025 09:20:22 +0800 Subject: [PATCH 16/16] =?UTF-8?q?=E6=A0=B7=E5=93=81=E5=8F=82=E6=95=B0?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=A1=AB=E5=85=85=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bus/dal/mapper/BusinessAssayTaskParameterDataMapper.java | 1 + .../mapper/BusinessQCManagementSampleParameterDataMapper.java | 1 + 2 files changed, 2 insertions(+) diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskParameterDataMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskParameterDataMapper.java index effbd2e..0187207 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskParameterDataMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskParameterDataMapper.java @@ -43,6 +43,7 @@ public interface BusinessAssayTaskParameterDataMapper extends BaseMapperX