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) {