diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessAssayTaskDataDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessAssayTaskDataDO.java index 3be86ec..6f380ce 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessAssayTaskDataDO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessAssayTaskDataDO.java @@ -1,7 +1,6 @@ package com.zt.plat.module.qms.business.bus.dal.dataobject; import lombok.*; -import java.util.*; import java.time.LocalDateTime; import com.baomidou.mybatisplus.annotation.*; import com.zt.plat.framework.mybatis.core.dataobject.BusinessBaseDO; 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 6126491..35f8527 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 @@ -780,6 +780,7 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic } businessSubSampleAssessmentProjectDO.setBusinessSubParentSampleId(businessAssayTaskDataDO.getBusinessSubParentSampleId()); businessSubSampleAssessmentProjectDO.setBusinessSubSampleId(businessAssayTaskDataDO.getBusinessSubSampleId()); + businessSubSampleAssessmentProjectDO.setBusinessSubSampleAssessmentId(businessSubSampleAssessmentDO.getId()); businessSubSampleAssessmentProjectDO.setConfigAssayMethodId(businessAssayTaskDataDO.getConfigAssayMethodId()); businessSubSampleAssessmentProjectDO.setConfigAssayMethodProjectId(businessAssayProjectDataDO.getConfigAssayMethodProjectId()); businessSubSampleAssessmentProjectDO.setDictionaryProjectId(businessAssayProjectDataDO.getDictionaryProjectId()); @@ -813,17 +814,6 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic businessAssayTaskDataMapper.updateBatch(businessAssayTaskDataDOList); - - - - - - - - - - - } else { businessAssayTaskDO.setTaskAssayStatus(QmsCommonConstant.SAVED); businessAssayTaskDO.setFinishStatus(QmsCommonConstant.PENDING); diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleResultReportingServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleResultReportingServiceImpl.java index 2a45af1..e458e9e 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleResultReportingServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleResultReportingServiceImpl.java @@ -49,6 +49,7 @@ import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubParentSampl import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubParentSampleAssessmentProjectDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubParentSampleDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubSampleAnalysisGroupDO; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubSampleAssessmentDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubSampleAssessmentProjectDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubSampleDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubSampleParentRecheckDO; @@ -63,6 +64,7 @@ import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSubParentSampleAss import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSubParentSampleAssessmentProjectMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSubParentSampleMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSubSampleAnalysisGroupMapper; +import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSubSampleAssessmentMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSubSampleAssessmentProjectMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSubSampleMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSubSampleParentRecheckMapper; @@ -100,9 +102,15 @@ public class SampleResultReportingServiceImpl implements SampleResultReportingSe @Resource private BusinessAssayTaskDataMapper businessAssayTaskDataMapper; + @Resource + private BusinessSubParentSampleAssessmentMapper businessSubParentSampleAssessmentMapper; + @Resource private BusinessSubParentSampleAssessmentProjectMapper businessSubParentSampleAssessmentProjectMapper; + @Resource + private BusinessSubSampleAssessmentMapper businessSubSampleAssessmentMapper; + @Resource private BusinessSubSampleAssessmentProjectMapper businessSubSampleAssessmentProjectMapper; @@ -312,7 +320,9 @@ public class SampleResultReportingServiceImpl implements SampleResultReportingSe @Override @Transactional(rollbackFor = Exception.class) public void createRecheckSample(RecheckSubSampleParentCreateReqVO reqVO) { - + + List newSubParentSampleAssessmentDOList = new ArrayList<>(); + List newSubSampleAssessmentDOList = new ArrayList<>(); List newBusinessAssayTaskDataDOList = new ArrayList<>(); List newBusinessAssayProjectDataDOList = new ArrayList<>(); List newBusinessAssayParameterDataDOList = new ArrayList<>(); @@ -330,7 +340,7 @@ public class SampleResultReportingServiceImpl implements SampleResultReportingSe List businessSubParentSampleAssessmentProjectDOList = businessSubParentSampleAssessmentProjectMapper.selectByBusinessSubParentSampleAssessmentIdAndDictionaryProjectIds(businessSubParentSampleAssessmentDO.getId(), recheckDictionaryProjectIdList); for (BusinessSubParentSampleAssessmentProjectDO businessSubParentSampleAssessmentProjectDO : businessSubParentSampleAssessmentProjectDOList) { businessSubParentSampleAssessmentProjectDO.setIsReported(QmsCommonConstant.NO); - businessSubParentSampleAssessmentProjectDO.setAssessmentStatus(QmsCommonConstant.IN_PROGRESS); + businessSubParentSampleAssessmentProjectDO.setAssessmentStatus(QmsCommonConstant.VOID); businessSubParentSampleAssessmentProjectDO.setAssessmentValue(null); } @@ -340,9 +350,9 @@ public class SampleResultReportingServiceImpl implements SampleResultReportingSe //获取子样 List businessSubSampleDOList = businessSubSampleMapper.selectByIds(businessSubSampleIds); - + for (BusinessSubSampleDO businessSubSampleDO : businessSubSampleDOList) { - + //根据方法分组 Map> recheckProjectMap = recheckProjectList.stream().collect(Collectors.groupingBy(RecheckSubSampleParentMethodRespVO::getConfigAssayMethodId)); @@ -370,6 +380,33 @@ public class SampleResultReportingServiceImpl implements SampleResultReportingSe //根据任务数判断是平行还是 String assayType = configSubSampleMethodDO.getTaskCount() > 1 ? QmsCommonConstant.ASSAY_TYPE_SINGLE_PARALLEL : QmsCommonConstant.ASSAY_TYPE_SINGLE_CUP; + + BusinessSubParentSampleAssessmentDO newBusinessSubParentSampleAssessmentDO = newSubParentSampleAssessmentDOList.stream().filter(f -> businessSubSampleDO.getBusinessSubParentSampleId().equals(f.getBusinessSubParentSampleId()) && configAssayMethodId.equals(f.getConfigAssayMethodId()) && "复测".equals(f.getTaskType())).findFirst().orElse(null); + if (newBusinessSubParentSampleAssessmentDO == null) { + newBusinessSubParentSampleAssessmentDO = new BusinessSubParentSampleAssessmentDO(); + newBusinessSubParentSampleAssessmentDO.setId(IdWorker.getId()); + newBusinessSubParentSampleAssessmentDO.setBusinessSubParentSampleId(businessSubSampleDO.getBusinessSubParentSampleId()); + newBusinessSubParentSampleAssessmentDO.setConfigAssayMethodId(configAssayMethodId); + newBusinessSubParentSampleAssessmentDO.setAssayType(assayType); + newBusinessSubParentSampleAssessmentDO.setTaskType("复测"); + newSubParentSampleAssessmentDOList.add(newBusinessSubParentSampleAssessmentDO); + } + + BusinessSubSampleAssessmentDO newBusinessSubSampleAssessmentDO = newSubSampleAssessmentDOList.stream().filter(f -> f.getBusinessSubParentSampleAssessmentId().equals(businessSubParentSampleAssessmentDO.getId())).findFirst().orElse(null); + if (newBusinessSubSampleAssessmentDO == null) { + newBusinessSubSampleAssessmentDO = new BusinessSubSampleAssessmentDO(); + newBusinessSubSampleAssessmentDO.setId(IdWorker.getId()); + newBusinessSubSampleAssessmentDO.setBusinessBaseSampleId(businessSubSampleDO.getBusinessBaseSampleId()); + newBusinessSubSampleAssessmentDO.setBusinessSubParentSampleId(businessSubSampleDO.getBusinessSubParentSampleId()); + newBusinessSubSampleAssessmentDO.setBusinessSubSampleId(businessSubSampleDO.getId()); + newBusinessSubSampleAssessmentDO.setBusinessSubParentSampleAssessmentId(newBusinessSubParentSampleAssessmentDO.getId()); + newBusinessSubSampleAssessmentDO.setConfigAssayMethodId(configAssayMethodId); + newBusinessSubSampleAssessmentDO.setAssayType(assayType); + newBusinessSubSampleAssessmentDO.setTaskType("复测"); + + newSubSampleAssessmentDOList.add(newBusinessSubSampleAssessmentDO); + } + //根据任务数循环 for (int i = 0; i < configSubSampleMethodDO.getTaskCount(); i++) { @@ -379,6 +416,7 @@ public class SampleResultReportingServiceImpl implements SampleResultReportingSe businessAssayTaskDataDO.setBusinessBaseSampleId(businessSubSampleDO.getBusinessBaseSampleId()); businessAssayTaskDataDO.setBusinessSubParentSampleId(businessSubSampleDO.getBusinessSubParentSampleId()); businessAssayTaskDataDO.setBusinessSubSampleId(businessSubSampleDO.getId()); + businessAssayTaskDataDO.setBusinessSubSampleAssessmentId(newBusinessSubSampleAssessmentDO.getId()); businessAssayTaskDataDO.setConfigAssayMethodId(configAssayMethodId); businessAssayTaskDataDO.setAssayType(assayType); businessAssayTaskDataDO.setTaskType("复测"); @@ -404,8 +442,11 @@ public class SampleResultReportingServiceImpl implements SampleResultReportingSe businessAssayProjectDataDO.setDictionaryProjectId(configAssayMethodProjectDO.getDictionaryProjectId()); businessAssayProjectDataDO.setDataType(configAssayMethodProjectDO.getDataType()); businessAssayProjectDataDO.setDecimalPosition(configAssayMethodProjectDO.getDecimalPosition()); - businessAssayProjectDataDO.setIsEnabled(1); - businessAssayProjectDataDO.setIsNotAssessment(0); + businessAssayProjectDataDO.setUsage(QmsCommonConstant.ASSAY_PROJECT_USAGE_REPORT); + + businessAssayProjectDataDO.setMinimumLimitValue(configAssayMethodProjectDO.getMinimumLimitValue()); + businessAssayProjectDataDO.setIsEnabled(QmsCommonConstant.YES); + businessAssayProjectDataDO.setIsNotAssessment(QmsCommonConstant.NO); newBusinessAssayProjectDataDOList.add(businessAssayProjectDataDO); @@ -435,6 +476,15 @@ public class SampleResultReportingServiceImpl implements SampleResultReportingSe if (CollUtil.isNotEmpty(businessSubParentSampleAssessmentProjectDOList)) { businessSubParentSampleAssessmentProjectMapper.updateBatch(businessSubParentSampleAssessmentProjectDOList); } + + if (CollUtil.isNotEmpty(newSubParentSampleAssessmentDOList)) { + businessSubParentSampleAssessmentMapper.insertBatch(newSubParentSampleAssessmentDOList); + } + + if (CollUtil.isNotEmpty(newSubSampleAssessmentDOList)) { + businessSubSampleAssessmentMapper.insertBatch(newSubSampleAssessmentDOList); + } + if (CollUtil.isNotEmpty(newBusinessAssayTaskDataDOList)) { businessAssayTaskDataMapper.insertBatch(newBusinessAssayTaskDataDOList); } @@ -470,9 +520,6 @@ public class SampleResultReportingServiceImpl implements SampleResultReportingSe @Resource private BusinessSubSampleAnalysisGroupMapper businessSubSampleAnalysisGroupMapper; - @Resource - private BusinessSubParentSampleAssessmentMapper businessSubParentSampleAssessmentMapper; - @Resource private BusinessSampleEntrustRegistrationMapper businessSampleEntrustRegistrationMapper; @@ -703,12 +750,12 @@ public class SampleResultReportingServiceImpl implements SampleResultReportingSe //查询正常上报的 List businessSubParentSampleAssessmentIdList = businessSubParentSampleAssessmentExtendList.stream().filter(f -> "normal".equals(f.getAssessmentStatus())).map(m -> m.getId()).collect(Collectors.toList()); //查询未上报的分样主id - List noAllReportBusinessSubParentSampleIdList = businessSubParentSampleAssessmentExtendList.stream().filter(f -> "in_progress".equals(f.getAssessmentStatus())).map(m -> m.getBusinessSubParentSampleId()).distinct().collect(Collectors.toList()); +// List noAllReportBusinessSubParentSampleIdList = businessSubParentSampleAssessmentExtendList.stream().filter(f -> "in_progress".equals(f.getAssessmentStatus())).map(m -> m.getBusinessSubParentSampleId()).distinct().collect(Collectors.toList()); //全部上报的 - List allReportBusinessSubParentSampleIdList = new ArrayList<>(); - if (noAllReportBusinessSubParentSampleIdList.size() > 0) { - reqVO.getBusinessSubParentSampleIds().stream().filter(item -> noAllReportBusinessSubParentSampleIdList.contains(item)).collect(Collectors.toList()); - } +// List allReportBusinessSubParentSampleIdList = new ArrayList<>(); +// if (noAllReportBusinessSubParentSampleIdList != null) { +// allReportBusinessSubParentSampleIdList = reqVO.getBusinessSubParentSampleIds().stream().filter(item -> !noAllReportBusinessSubParentSampleIdList.contains(item)).collect(Collectors.toList()); +// } businessSubParentSampleAssessmentProjectMapper.update(new LambdaUpdateWrapper() .set(BusinessSubParentSampleAssessmentProjectDO::getIsReported, QmsCommonConstant.YES) @@ -716,14 +763,20 @@ public class SampleResultReportingServiceImpl implements SampleResultReportingSe .set(BusinessSubParentSampleAssessmentProjectDO::getReportTime, LocalDateTime.now()) .in(BusinessSubParentSampleAssessmentProjectDO::getId, businessSubParentSampleAssessmentIdList)); - if (allReportBusinessSubParentSampleIdList.size() > 0) { - businessSubParentSampleAssessmentMapper.update(new LambdaUpdateWrapper() - .set(BusinessSubParentSampleAssessmentDO::getIsReported, QmsCommonConstant.YES) - .set(BusinessSubParentSampleAssessmentDO::getReporter, nickName) - .set(BusinessSubParentSampleAssessmentDO::getReportTime, LocalDateTime.now()) - .in(BusinessSubParentSampleAssessmentDO::getBusinessSubParentSampleId, allReportBusinessSubParentSampleIdList) - .eq(BusinessSubParentSampleAssessmentDO::getConfigAssayMethodId, reqVO.getConfigAssayMethodId())); - } +// if (allReportBusinessSubParentSampleIdList.size() > 0) { +// businessSubParentSampleAssessmentMapper.update(new LambdaUpdateWrapper() +// .set(BusinessSubParentSampleAssessmentDO::getIsReported, QmsCommonConstant.YES) +// .set(BusinessSubParentSampleAssessmentDO::getReporter, nickName) +// .set(BusinessSubParentSampleAssessmentDO::getReportTime, LocalDateTime.now()) +// .in(BusinessSubParentSampleAssessmentDO::getBusinessSubParentSampleId, allReportBusinessSubParentSampleIdList) +// .eq(BusinessSubParentSampleAssessmentDO::getConfigAssayMethodId, reqVO.getConfigAssayMethodId())); +// } + businessSubParentSampleAssessmentMapper.update(new LambdaUpdateWrapper() + .set(BusinessSubParentSampleAssessmentDO::getIsReported, QmsCommonConstant.YES) + .set(BusinessSubParentSampleAssessmentDO::getReporter, nickName) + .set(BusinessSubParentSampleAssessmentDO::getReportTime, LocalDateTime.now()) + .in(BusinessSubParentSampleAssessmentDO::getBusinessSubParentSampleId, reqVO.getBusinessSubParentSampleIds()) + .eq(BusinessSubParentSampleAssessmentDO::getConfigAssayMethodId, reqVO.getConfigAssayMethodId())); if (updatebBusinessSampleEntrustRegistrationDOList.size() > 0) { businessSampleEntrustRegistrationMapper.updateBatch(updatebBusinessSampleEntrustRegistrationDOList); 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 900acb8..f1db901 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 @@ -781,7 +781,9 @@ public class SampleTaskAssignServiceImpl implements SampleTaskAssignService { businessAssayTaskDataDO.setIsAssignTasked(0); } businessAssayTaskMapper.updateById(businessAssayTaskDO); - businessAssayTaskDataMapper.updateBatch(businessAssayTaskDataDOList); + if (CollUtil.isNotEmpty(businessAssayTaskDataDOList)) { + businessAssayTaskDataMapper.updateBatch(businessAssayTaskDataDOList); + } } @Override