检验委托生成样品修改
This commit is contained in:
@@ -2,6 +2,7 @@ package com.zt.plat.module.qms.business.bus.liteflow.sample.entrust;
|
|||||||
|
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.Comparator;
|
import java.util.Comparator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
@@ -426,6 +427,8 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent {
|
|||||||
List<Long> currentMaterialAssayStandardDetailIdList = currentMaterialAssayStandardMethodList.stream().map(m -> m.getMaterialAssayStandardDetailId()).collect(Collectors.toList());
|
List<Long> currentMaterialAssayStandardDetailIdList = currentMaterialAssayStandardMethodList.stream().map(m -> m.getMaterialAssayStandardDetailId()).collect(Collectors.toList());
|
||||||
//获取当前分析方法对应的检测项目
|
//获取当前分析方法对应的检测项目
|
||||||
List<Long> dictionaryProjectIdList = sampleEntrustProjectDOList.stream().filter(f -> currentMaterialAssayStandardDetailIdList.contains(f.getMaterialAssayStandardDetailId())).map(m -> m.getDictionaryProjectId()).collect(Collectors.toList());
|
List<Long> dictionaryProjectIdList = sampleEntrustProjectDOList.stream().filter(f -> currentMaterialAssayStandardDetailIdList.contains(f.getMaterialAssayStandardDetailId())).map(m -> m.getDictionaryProjectId()).collect(Collectors.toList());
|
||||||
|
//获取当前分析方法对应的检测项目显示名称
|
||||||
|
List<String> dictionaryProjectShowNameList = dictionaryProjectList.stream().filter(f -> dictionaryProjectIdList.contains(f.getId())).map(m -> m.getShowName()).collect(Collectors.toList());
|
||||||
//查询分析方法
|
//查询分析方法
|
||||||
ConfigAssayMethodDO configAssayMethodDO = configAssayMethodList.stream().filter(f -> f.getId().equals(configAssayMethodId)).findFirst().orElse(null);
|
ConfigAssayMethodDO configAssayMethodDO = configAssayMethodList.stream().filter(f -> f.getId().equals(configAssayMethodId)).findFirst().orElse(null);
|
||||||
|
|
||||||
@@ -512,65 +515,84 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent {
|
|||||||
String assayType = configSubSampleMethodDO.getTaskCount() > 1 ? QmsCommonConstant.ASSAY_TYPE_SINGLE_PARALLEL : QmsCommonConstant.ASSAY_TYPE_SINGLE_CUP;
|
String assayType = configSubSampleMethodDO.getTaskCount() > 1 ? QmsCommonConstant.ASSAY_TYPE_SINGLE_PARALLEL : QmsCommonConstant.ASSAY_TYPE_SINGLE_CUP;
|
||||||
|
|
||||||
//分样判定数据
|
//分样判定数据
|
||||||
BusinessSubParentSampleAssessmentDO businessSubParentSampleAssessmentDO = new BusinessSubParentSampleAssessmentDO();
|
BusinessSubParentSampleAssessmentDO businessSubParentSampleAssessmentDO = businessSubParentSampleAssessmentDOList.stream().filter(f -> f.getBusinessSubParentSampleId().equals(businessSubSampleDO.getBusinessSubParentSampleId()) && f.getConfigAssayMethodId().equals(configAssayMethodId) && f.getAssayType().equals(assayType)).findFirst().orElse(null);//防止重复添加,先从列表过滤
|
||||||
businessSubParentSampleAssessmentDO.setId(IdWorker.getId());
|
if (businessSubParentSampleAssessmentDO == null) {
|
||||||
businessSubParentSampleAssessmentDO.setBusinessSubParentSampleId(businessSubSampleDO.getBusinessSubParentSampleId());
|
businessSubParentSampleAssessmentDO = new BusinessSubParentSampleAssessmentDO();
|
||||||
businessSubParentSampleAssessmentDO.setConfigAssayMethodId(configAssayMethodId);
|
businessSubParentSampleAssessmentDO.setId(IdWorker.getId());
|
||||||
businessSubParentSampleAssessmentDO.setAssayType(assayType);
|
businessSubParentSampleAssessmentDO.setBusinessSubParentSampleId(businessSubSampleDO.getBusinessSubParentSampleId());
|
||||||
businessSubParentSampleAssessmentDO.setTaskType("常规");
|
businessSubParentSampleAssessmentDO.setConfigAssayMethodId(configAssayMethodId);
|
||||||
businessSubParentSampleAssessmentDOList.add(businessSubParentSampleAssessmentDO);
|
businessSubParentSampleAssessmentDO.setAssayType(assayType);
|
||||||
|
businessSubParentSampleAssessmentDO.setTaskType("常规");
|
||||||
|
businessSubParentSampleAssessmentDOList.add(businessSubParentSampleAssessmentDO);
|
||||||
|
}
|
||||||
|
|
||||||
//子样判定数据
|
//子样判定数据
|
||||||
BusinessSubSampleAssessmentDO businessSubSampleAssessmentDO = new BusinessSubSampleAssessmentDO();
|
BusinessSubSampleAssessmentDO businessSubSampleAssessmentDO = businessSubSampleAssessmentDOList.stream().filter(f -> f.getBusinessSubSampleId().equals(businessSubSampleDO.getId()) && f.getConfigAssayMethodId().equals(configAssayMethodId) && f.getAssayType().equals(assayType)).findFirst().orElse(null);//防止重复添加,先从列表过滤
|
||||||
businessSubSampleAssessmentDO.setId(IdWorker.getId());
|
if (businessSubSampleAssessmentDO == null) {
|
||||||
businessSubSampleAssessmentDO.setBusinessBaseSampleId(businessSubSampleDO.getBusinessBaseSampleId());
|
businessSubSampleAssessmentDO = new BusinessSubSampleAssessmentDO();
|
||||||
businessSubSampleAssessmentDO.setBusinessSubParentSampleId(businessSubSampleDO.getBusinessSubParentSampleId());
|
businessSubSampleAssessmentDO.setId(IdWorker.getId());
|
||||||
businessSubSampleAssessmentDO.setBusinessSubSampleId(businessSubSampleDO.getId());
|
businessSubSampleAssessmentDO.setBusinessBaseSampleId(businessSubSampleDO.getBusinessBaseSampleId());
|
||||||
businessSubSampleAssessmentDO.setBusinessSubParentSampleAssessmentId(businessSubParentSampleAssessmentDO.getId());
|
businessSubSampleAssessmentDO.setBusinessSubParentSampleId(businessSubSampleDO.getBusinessSubParentSampleId());
|
||||||
businessSubSampleAssessmentDO.setConfigAssayMethodId(configAssayMethodId);
|
businessSubSampleAssessmentDO.setBusinessSubSampleId(businessSubSampleDO.getId());
|
||||||
businessSubSampleAssessmentDO.setAssayType(assayType);
|
businessSubSampleAssessmentDO.setBusinessSubParentSampleAssessmentId(businessSubParentSampleAssessmentDO.getId());
|
||||||
businessSubSampleAssessmentDO.setTaskType("常规");
|
businessSubSampleAssessmentDO.setConfigAssayMethodId(configAssayMethodId);
|
||||||
|
businessSubSampleAssessmentDO.setAssayType(assayType);
|
||||||
businessSubSampleAssessmentDOList.add(businessSubSampleAssessmentDO);
|
businessSubSampleAssessmentDO.setTaskType("常规");
|
||||||
|
|
||||||
//根据检测方法循环
|
businessSubSampleAssessmentDOList.add(businessSubSampleAssessmentDO);
|
||||||
BusinessAssayTaskDataDO businessAssayTaskDataDO = null;
|
}
|
||||||
|
|
||||||
//根据任务数循环
|
//根据任务数循环
|
||||||
for (int i = 0; i < configSubSampleMethodDO.getTaskCount(); i++) {
|
for (int i = 0; i < configSubSampleMethodDO.getTaskCount(); i++) {
|
||||||
//子样检测任务
|
BusinessAssayTaskDataDO businessAssayTaskDataDO = businessAssayTaskDataDOList.stream().filter(f -> {
|
||||||
businessAssayTaskDataDO = new BusinessAssayTaskDataDO();
|
String assayProject = f.getAssayProject();
|
||||||
businessAssayTaskDataDO.setId(IdWorker.getId());
|
if (StringUtils.isNotBlank(assayProject)) {
|
||||||
businessAssayTaskDataDO.setBusinessBaseSampleId(businessSubSampleDO.getBusinessBaseSampleId());
|
List<String> assayProjectList = Arrays.asList(assayProject.split(","));
|
||||||
businessAssayTaskDataDO.setBusinessSubParentSampleId(businessSubSampleDO.getBusinessSubParentSampleId());
|
return !assayProjectList.containsAll(dictionaryProjectShowNameList);//分析项目未完全存在,则返回
|
||||||
businessAssayTaskDataDO.setBusinessSubSampleId(businessSubSampleDO.getId());
|
}
|
||||||
businessAssayTaskDataDO.setBusinessSubSampleAssessmentId(businessSubSampleAssessmentDO.getId());
|
return false;
|
||||||
businessAssayTaskDataDO.setConfigAssayMethodId(configAssayMethodId);
|
}).findFirst().orElse(null);
|
||||||
businessAssayTaskDataDO.setAssayType(assayType);
|
|
||||||
businessAssayTaskDataDO.setTaskType("常规");
|
|
||||||
businessAssayTaskDataDO.setConfigSampleFlowId(configSampleFlowSub.getId());
|
|
||||||
businessAssayTaskDataDO.setSampleFlowNodeKey(sampleFlowNodeSub.getNodeKey());
|
|
||||||
businessAssayTaskDataDO.setSampleFlowNodeTime(currentDateTime);
|
|
||||||
businessAssayTaskDataDO.setAssayDepartmentId(configAssayMethodDO.getAssayDepartmentId());
|
|
||||||
businessAssayTaskDataDO.setAssayDepartmentName(configAssayMethodDO.getAssayDepartmentName());
|
|
||||||
|
|
||||||
//子样检测任务参数
|
if (businessAssayTaskDataDO == null) {
|
||||||
List<ConfigAssayMethodParameterDO> configAssayMethodParameterDOList = configAssayMethodParameterList.stream().filter(f -> f.getConfigAssayMethodId().equals(configAssayMethodId)).collect(Collectors.toList());
|
//子样检测任务
|
||||||
BusinessAssayTaskParameterDataDO businessAssayTaskParameterDataDO = null;
|
businessAssayTaskDataDO = new BusinessAssayTaskDataDO();
|
||||||
for (ConfigAssayMethodParameterDO configAssayMethodParameterDO : configAssayMethodParameterDOList) {
|
businessAssayTaskDataDO.setId(IdWorker.getId());
|
||||||
businessAssayTaskParameterDataDO = new BusinessAssayTaskParameterDataDO();
|
businessAssayTaskDataDO.setBusinessBaseSampleId(businessSubSampleDO.getBusinessBaseSampleId());
|
||||||
businessAssayTaskParameterDataDO.setId(IdWorker.getId());
|
businessAssayTaskDataDO.setBusinessSubParentSampleId(businessSubSampleDO.getBusinessSubParentSampleId());
|
||||||
businessAssayTaskParameterDataDO.setBusinessAssayTaskDataId(businessAssayTaskDataDO.getId());
|
businessAssayTaskDataDO.setBusinessSubSampleId(businessSubSampleDO.getId());
|
||||||
businessAssayTaskParameterDataDO.setConfigAssayMethodParameterId(configAssayMethodParameterDO.getId());
|
businessAssayTaskDataDO.setBusinessSubSampleAssessmentId(businessSubSampleAssessmentDO.getId());
|
||||||
businessAssayTaskParameterDataDO.setDataType(configAssayMethodParameterDO.getDataType());
|
businessAssayTaskDataDO.setConfigAssayMethodId(configAssayMethodId);
|
||||||
businessAssayTaskParameterDataDO.setDecimalPosition(configAssayMethodParameterDO.getDecimalPosition());
|
businessAssayTaskDataDO.setAssayType(assayType);
|
||||||
|
businessAssayTaskDataDO.setTaskType("常规");
|
||||||
|
businessAssayTaskDataDO.setConfigSampleFlowId(configSampleFlowSub.getId());
|
||||||
|
businessAssayTaskDataDO.setSampleFlowNodeKey(sampleFlowNodeSub.getNodeKey());
|
||||||
|
businessAssayTaskDataDO.setSampleFlowNodeTime(currentDateTime);
|
||||||
|
businessAssayTaskDataDO.setAssayDepartmentId(configAssayMethodDO.getAssayDepartmentId());
|
||||||
|
businessAssayTaskDataDO.setAssayDepartmentName(configAssayMethodDO.getAssayDepartmentName());
|
||||||
|
|
||||||
businessAssayTaskParameterDataDOList.add(businessAssayTaskParameterDataDO);
|
//子样检测任务参数
|
||||||
|
List<ConfigAssayMethodParameterDO> 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);
|
||||||
|
}
|
||||||
|
|
||||||
|
//子样检测任务添加
|
||||||
|
businessAssayTaskDataDOList.add(businessAssayTaskDataDO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//子样检测任务检测项目
|
//子样检测任务检测项目
|
||||||
List<ConfigAssayMethodProjectExtendRespVO> configAssayMethodProjectDOList = configAssayMethodProjectList.stream().filter(f -> f.getConfigAssayMethodId().equals(configAssayMethodId)).collect(Collectors.toList());
|
List<ConfigAssayMethodProjectExtendRespVO> configAssayMethodProjectDOList = configAssayMethodProjectList.stream().filter(f -> f.getConfigAssayMethodId().equals(configAssayMethodId)).collect(Collectors.toList());
|
||||||
|
|
||||||
StringBuilder assayProjectBuilder = new StringBuilder();
|
// StringBuilder assayProjectBuilder = new StringBuilder();
|
||||||
|
|
||||||
for (ConfigAssayMethodProjectExtendRespVO configAssayMethodProjectDO : configAssayMethodProjectDOList) {
|
for (ConfigAssayMethodProjectExtendRespVO configAssayMethodProjectDO : configAssayMethodProjectDOList) {
|
||||||
|
|
||||||
@@ -579,8 +601,8 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent {
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
DictionaryProjectDO dictionaryProject = dictionaryProjectList.stream().filter(f -> f.getId().equals(configAssayMethodProjectDO.getDictionaryProjectId())).findFirst().orElse(null);
|
// DictionaryProjectDO dictionaryProject = dictionaryProjectList.stream().filter(f -> f.getId().equals(configAssayMethodProjectDO.getDictionaryProjectId())).findFirst().orElse(null);
|
||||||
assayProjectBuilder.append(dictionaryProject.getShowName()).append(",");
|
// assayProjectBuilder.append(dictionaryProject.getShowName()).append(",");
|
||||||
|
|
||||||
//检测项目
|
//检测项目
|
||||||
BusinessAssayProjectDataDO businessAssayProjectDataDO = new BusinessAssayProjectDataDO();
|
BusinessAssayProjectDataDO businessAssayProjectDataDO = new BusinessAssayProjectDataDO();
|
||||||
@@ -614,11 +636,15 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (assayProjectBuilder.length() > 1) {
|
// if (assayProjectBuilder.length() > 1) {
|
||||||
assayProjectBuilder.delete(assayProjectBuilder.length() - 1 , assayProjectBuilder.length());
|
// assayProjectBuilder.delete(assayProjectBuilder.length() - 1 , assayProjectBuilder.length());
|
||||||
}
|
// }
|
||||||
businessAssayTaskDataDO.setAssayProject(assayProjectBuilder.toString());
|
// businessAssayTaskDataDO.setAssayProject(assayProjectBuilder.toString());
|
||||||
businessAssayTaskDataDOList.add(businessAssayTaskDataDO);
|
|
||||||
|
Long currentBusinessAssayTaskDataId = businessAssayTaskDataDO.getId();
|
||||||
|
List<Long> currentDictionaryProjectIdList = businessAssayProjectDataDOList.stream().filter(f -> f.getBusinessAssayTaskDataId().equals(currentBusinessAssayTaskDataId)).map(m -> m.getDictionaryProjectId()).collect(Collectors.toList());
|
||||||
|
List<String> currentDictionaryProjectShowNameList = dictionaryProjectList.stream().filter(f -> currentDictionaryProjectIdList.contains(f.getId())).map(m -> m.getShowName()).collect(Collectors.toList());
|
||||||
|
businessAssayTaskDataDO.setAssayProject(CollUtil.join(currentDictionaryProjectShowNameList, ","));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -694,6 +720,9 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent {
|
|||||||
ConfigAssayMethodDO addAssayTaskConfigAssayMethod = configAssayMethodMapper.selectById(methodId);
|
ConfigAssayMethodDO addAssayTaskConfigAssayMethod = configAssayMethodMapper.selectById(methodId);
|
||||||
Long addAssayTaskAssayDepartmentId = addAssayTaskConfigAssayMethod.getAssayDepartmentId();
|
Long addAssayTaskAssayDepartmentId = addAssayTaskConfigAssayMethod.getAssayDepartmentId();
|
||||||
|
|
||||||
|
//获取当前分析方法对应的检测项目显示名称
|
||||||
|
List<String> dictionaryProjectShowNameList = dictionaryProjectList.stream().filter(f -> projectIdList.contains(f.getId())).map(m -> m.getShowName()).collect(Collectors.toList());
|
||||||
|
|
||||||
//查询子样对应的分析方法
|
//查询子样对应的分析方法
|
||||||
ConfigSubSampleMethodExtendRespVO addAssayTaskConfigSubSampleMethodDO = configSubSampleMethodList.stream().filter(f -> f.getIsDefaultUse().equals(QmsCommonConstant.YES) && f.getConfigAssayMethodId().equals(methodId) && f.getConfigSubSampleId().equals(configSubSample.getId())).findFirst().orElse(null);
|
ConfigSubSampleMethodExtendRespVO addAssayTaskConfigSubSampleMethodDO = configSubSampleMethodList.stream().filter(f -> f.getIsDefaultUse().equals(QmsCommonConstant.YES) && f.getConfigAssayMethodId().equals(methodId) && f.getConfigSubSampleId().equals(configSubSample.getId())).findFirst().orElse(null);
|
||||||
|
|
||||||
@@ -715,66 +744,88 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent {
|
|||||||
String assayType = addAssayTaskConfigSubSampleMethodDO.getTaskCount() > 1 ? QmsCommonConstant.ASSAY_TYPE_SINGLE_PARALLEL : QmsCommonConstant.ASSAY_TYPE_SINGLE_CUP;
|
String assayType = addAssayTaskConfigSubSampleMethodDO.getTaskCount() > 1 ? QmsCommonConstant.ASSAY_TYPE_SINGLE_PARALLEL : QmsCommonConstant.ASSAY_TYPE_SINGLE_CUP;
|
||||||
|
|
||||||
//分样判定数据
|
//分样判定数据
|
||||||
BusinessSubParentSampleAssessmentDO businessSubParentSampleAssessmentDO = new BusinessSubParentSampleAssessmentDO();
|
BusinessSubParentSampleAssessmentDO businessSubParentSampleAssessmentDO = businessSubParentSampleAssessmentDOList.stream().filter(f -> f.getBusinessSubParentSampleId().equals(businessSubSampleDO.getBusinessSubParentSampleId()) && f.getConfigAssayMethodId().equals(addAssayTaskConfigAssayMethod.getId()) && f.getAssayType().equals(assayType)).findFirst().orElse(null);//防止重复添加,先从列表过滤
|
||||||
businessSubParentSampleAssessmentDO.setId(IdWorker.getId());
|
if (businessSubParentSampleAssessmentDO == null) {
|
||||||
businessSubParentSampleAssessmentDO.setBusinessSubParentSampleId(businessSubSampleDO.getBusinessSubParentSampleId());
|
businessSubParentSampleAssessmentDO = new BusinessSubParentSampleAssessmentDO();
|
||||||
businessSubParentSampleAssessmentDO.setConfigAssayMethodId(addAssayTaskConfigAssayMethod.getId());
|
businessSubParentSampleAssessmentDO.setId(IdWorker.getId());
|
||||||
businessSubParentSampleAssessmentDO.setAssayType(assayType);
|
businessSubParentSampleAssessmentDO.setBusinessSubParentSampleId(businessSubSampleDO.getBusinessSubParentSampleId());
|
||||||
businessSubParentSampleAssessmentDO.setTaskType("常规");
|
businessSubParentSampleAssessmentDO.setConfigAssayMethodId(addAssayTaskConfigAssayMethod.getId());
|
||||||
businessSubParentSampleAssessmentDOList.add(businessSubParentSampleAssessmentDO);
|
businessSubParentSampleAssessmentDO.setAssayType(assayType);
|
||||||
|
businessSubParentSampleAssessmentDO.setTaskType("常规");
|
||||||
|
businessSubParentSampleAssessmentDOList.add(businessSubParentSampleAssessmentDO);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
//子样判定数据
|
//子样判定数据
|
||||||
BusinessSubSampleAssessmentDO businessSubSampleAssessmentDO = new BusinessSubSampleAssessmentDO();
|
BusinessSubSampleAssessmentDO businessSubSampleAssessmentDO = businessSubSampleAssessmentDOList.stream().filter(f -> f.getBusinessSubSampleId().equals(businessSubSampleDO.getId()) && f.getConfigAssayMethodId().equals(addAssayTaskConfigAssayMethod.getId()) && f.getAssayType().equals(assayType)).findFirst().orElse(null);//防止重复添加,先从列表过滤
|
||||||
businessSubSampleAssessmentDO.setId(IdWorker.getId());
|
if (businessSubSampleAssessmentDO == null) {
|
||||||
businessSubSampleAssessmentDO.setBusinessBaseSampleId(businessSubSampleDO.getBusinessBaseSampleId());
|
businessSubSampleAssessmentDO = new BusinessSubSampleAssessmentDO();
|
||||||
businessSubSampleAssessmentDO.setBusinessSubParentSampleId(businessSubSampleDO.getBusinessSubParentSampleId());
|
businessSubSampleAssessmentDO.setId(IdWorker.getId());
|
||||||
businessSubSampleAssessmentDO.setBusinessSubParentSampleAssessmentId(businessSubParentSampleAssessmentDO.getId());
|
businessSubSampleAssessmentDO.setBusinessBaseSampleId(businessSubSampleDO.getBusinessBaseSampleId());
|
||||||
businessSubSampleAssessmentDO.setBusinessSubSampleId(businessSubSampleDO.getId());
|
businessSubSampleAssessmentDO.setBusinessSubParentSampleId(businessSubSampleDO.getBusinessSubParentSampleId());
|
||||||
businessSubSampleAssessmentDO.setConfigAssayMethodId(addAssayTaskConfigAssayMethod.getId());
|
businessSubSampleAssessmentDO.setBusinessSubParentSampleAssessmentId(businessSubParentSampleAssessmentDO.getId());
|
||||||
businessSubSampleAssessmentDO.setAssayType(assayType);
|
businessSubSampleAssessmentDO.setBusinessSubSampleId(businessSubSampleDO.getId());
|
||||||
businessSubSampleAssessmentDO.setTaskType("常规");
|
businessSubSampleAssessmentDO.setConfigAssayMethodId(addAssayTaskConfigAssayMethod.getId());
|
||||||
|
businessSubSampleAssessmentDO.setAssayType(assayType);
|
||||||
businessSubSampleAssessmentDOList.add(businessSubSampleAssessmentDO);
|
businessSubSampleAssessmentDO.setTaskType("常规");
|
||||||
|
|
||||||
|
businessSubSampleAssessmentDOList.add(businessSubSampleAssessmentDO);
|
||||||
|
}
|
||||||
|
|
||||||
//根据检测方法循环
|
|
||||||
BusinessAssayTaskDataDO businessAssayTaskDataDO = null;
|
|
||||||
//根据任务数循环
|
//根据任务数循环
|
||||||
for (int i = 0; i < addAssayTaskConfigSubSampleMethodDO.getTaskCount(); i++) {
|
for (int i = 0; i < addAssayTaskConfigSubSampleMethodDO.getTaskCount(); i++) {
|
||||||
//子样检测任务
|
|
||||||
businessAssayTaskDataDO = new BusinessAssayTaskDataDO();
|
|
||||||
businessAssayTaskDataDO.setId(IdWorker.getId());
|
|
||||||
businessAssayTaskDataDO.setBusinessBaseSampleId(businessSubSampleDO.getBusinessBaseSampleId());
|
|
||||||
businessAssayTaskDataDO.setBusinessSubParentSampleId(businessSubSampleDO.getBusinessSubParentSampleId());
|
|
||||||
businessAssayTaskDataDO.setBusinessSubSampleId(businessSubSampleDO.getId());
|
|
||||||
businessAssayTaskDataDO.setBusinessSubSampleAssessmentId(businessSubSampleAssessmentDO.getId());//子样判定id
|
|
||||||
businessAssayTaskDataDO.setConfigAssayMethodId(addAssayTaskConfigAssayMethod.getId());
|
|
||||||
businessAssayTaskDataDO.setAssayType(assayType);
|
|
||||||
businessAssayTaskDataDO.setTaskType("常规");
|
|
||||||
businessAssayTaskDataDO.setConfigSampleFlowId(configSampleFlowSub.getId());
|
|
||||||
businessAssayTaskDataDO.setSampleFlowNodeKey(sampleFlowNodeSub.getNodeKey());
|
|
||||||
businessAssayTaskDataDO.setSampleFlowNodeTime(currentDateTime);
|
|
||||||
businessAssayTaskDataDO.setAssayDepartmentId(addAssayTaskConfigAssayMethod.getAssayDepartmentId());
|
|
||||||
businessAssayTaskDataDO.setAssayDepartmentName(addAssayTaskConfigAssayMethod.getAssayDepartmentName());
|
|
||||||
|
|
||||||
|
//根据检测方法循环
|
||||||
//子样检测任务参数
|
BusinessAssayTaskDataDO businessAssayTaskDataDO = businessAssayTaskDataDOList.stream().filter(f -> {
|
||||||
List<ConfigAssayMethodParameterDO> configAssayMethodParameterDOList = configAssayMethodParameterList.stream().filter(f -> f.getConfigAssayMethodId().equals(methodId)).collect(Collectors.toList());
|
String assayProject = f.getAssayProject();
|
||||||
BusinessAssayTaskParameterDataDO businessAssayTaskParameterDataDO = null;
|
if (StringUtils.isNotBlank(assayProject)) {
|
||||||
for (ConfigAssayMethodParameterDO configAssayMethodParameterDO : configAssayMethodParameterDOList) {
|
List<String> assayProjectList = Arrays.asList(assayProject.split(","));
|
||||||
businessAssayTaskParameterDataDO = new BusinessAssayTaskParameterDataDO();
|
return !assayProjectList.containsAll(dictionaryProjectShowNameList);//分析项目未完全存在,则返回
|
||||||
businessAssayTaskParameterDataDO.setId(IdWorker.getId());
|
}
|
||||||
businessAssayTaskParameterDataDO.setBusinessAssayTaskDataId(businessAssayTaskDataDO.getId());
|
return false;
|
||||||
businessAssayTaskParameterDataDO.setConfigAssayMethodParameterId(configAssayMethodParameterDO.getId());
|
}).findFirst().orElse(null);
|
||||||
businessAssayTaskParameterDataDO.setDataType(configAssayMethodParameterDO.getDataType());
|
|
||||||
businessAssayTaskParameterDataDO.setDecimalPosition(configAssayMethodParameterDO.getDecimalPosition());
|
if (businessAssayTaskDataDO == null) {
|
||||||
|
//子样检测任务
|
||||||
|
businessAssayTaskDataDO = new BusinessAssayTaskDataDO();
|
||||||
|
businessAssayTaskDataDO.setId(IdWorker.getId());
|
||||||
|
businessAssayTaskDataDO.setBusinessBaseSampleId(businessSubSampleDO.getBusinessBaseSampleId());
|
||||||
|
businessAssayTaskDataDO.setBusinessSubParentSampleId(businessSubSampleDO.getBusinessSubParentSampleId());
|
||||||
|
businessAssayTaskDataDO.setBusinessSubSampleId(businessSubSampleDO.getId());
|
||||||
|
businessAssayTaskDataDO.setBusinessSubSampleAssessmentId(businessSubSampleAssessmentDO.getId());//子样判定id
|
||||||
|
businessAssayTaskDataDO.setConfigAssayMethodId(addAssayTaskConfigAssayMethod.getId());
|
||||||
|
businessAssayTaskDataDO.setAssayType(assayType);
|
||||||
|
businessAssayTaskDataDO.setTaskType("常规");
|
||||||
|
businessAssayTaskDataDO.setConfigSampleFlowId(configSampleFlowSub.getId());
|
||||||
|
businessAssayTaskDataDO.setSampleFlowNodeKey(sampleFlowNodeSub.getNodeKey());
|
||||||
|
businessAssayTaskDataDO.setSampleFlowNodeTime(currentDateTime);
|
||||||
|
businessAssayTaskDataDO.setAssayDepartmentId(addAssayTaskConfigAssayMethod.getAssayDepartmentId());
|
||||||
|
businessAssayTaskDataDO.setAssayDepartmentName(addAssayTaskConfigAssayMethod.getAssayDepartmentName());
|
||||||
|
|
||||||
businessAssayTaskParameterDataDOList.add(businessAssayTaskParameterDataDO);
|
|
||||||
|
//子样检测任务参数
|
||||||
|
List<ConfigAssayMethodParameterDO> 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);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
businessAssayTaskDataDOList.add(businessAssayTaskDataDO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//子样检测任务检测项目
|
//子样检测任务检测项目
|
||||||
List<ConfigAssayMethodProjectExtendRespVO> configAssayMethodProjectDOList = configAssayMethodProjectList.stream().filter(f -> f.getConfigAssayMethodId().equals(methodId)).collect(Collectors.toList());
|
List<ConfigAssayMethodProjectExtendRespVO> configAssayMethodProjectDOList = configAssayMethodProjectList.stream().filter(f -> f.getConfigAssayMethodId().equals(methodId)).collect(Collectors.toList());
|
||||||
|
|
||||||
StringBuilder assayProjectBuilder = new StringBuilder();
|
// StringBuilder assayProjectBuilder = new StringBuilder();
|
||||||
|
|
||||||
for (ConfigAssayMethodProjectExtendRespVO configAssayMethodProjectDO : configAssayMethodProjectDOList) {
|
for (ConfigAssayMethodProjectExtendRespVO configAssayMethodProjectDO : configAssayMethodProjectDOList) {
|
||||||
|
|
||||||
@@ -783,8 +834,8 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent {
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
DictionaryProjectDO dictionaryProject = dictionaryProjectList.stream().filter(f -> f.getId().equals(configAssayMethodProjectDO.getDictionaryProjectId())).findFirst().orElse(null);
|
// DictionaryProjectDO dictionaryProject = dictionaryProjectList.stream().filter(f -> f.getId().equals(configAssayMethodProjectDO.getDictionaryProjectId())).findFirst().orElse(null);
|
||||||
assayProjectBuilder.append(dictionaryProject.getShowName()).append(",");
|
// assayProjectBuilder.append(dictionaryProject.getShowName()).append(",");
|
||||||
|
|
||||||
|
|
||||||
//检测项目
|
//检测项目
|
||||||
@@ -816,11 +867,13 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent {
|
|||||||
businessAssayParameterDataDOList.add(businessAssayParameterDataDO);
|
businessAssayParameterDataDOList.add(businessAssayParameterDataDO);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (assayProjectBuilder.length() > 1) {
|
// if (assayProjectBuilder.length() > 1) {
|
||||||
assayProjectBuilder.delete(assayProjectBuilder.length() - 1 , assayProjectBuilder.length());
|
// assayProjectBuilder.delete(assayProjectBuilder.length() - 1 , assayProjectBuilder.length());
|
||||||
}
|
// }
|
||||||
businessAssayTaskDataDO.setAssayProject(assayProjectBuilder.toString());
|
Long currentBusinessAssayTaskDataId = businessAssayTaskDataDO.getId();
|
||||||
businessAssayTaskDataDOList.add(businessAssayTaskDataDO);
|
List<Long> currentDictionaryProjectIdList = businessAssayProjectDataDOList.stream().filter(f -> f.getBusinessAssayTaskDataId().equals(currentBusinessAssayTaskDataId)).map(m -> m.getDictionaryProjectId()).collect(Collectors.toList());
|
||||||
|
List<String> currentDictionaryProjectShowNameList = dictionaryProjectList.stream().filter(f -> currentDictionaryProjectIdList.contains(f.getId())).map(m -> m.getShowName()).collect(Collectors.toList());
|
||||||
|
businessAssayTaskDataDO.setAssayProject(CollUtil.join(currentDictionaryProjectShowNameList, ","));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|||||||
import com.alibaba.cloud.commons.lang.StringUtils;
|
import com.alibaba.cloud.commons.lang.StringUtils;
|
||||||
import com.alibaba.fastjson2.JSON;
|
import com.alibaba.fastjson2.JSON;
|
||||||
import com.alibaba.fastjson2.JSONObject;
|
import com.alibaba.fastjson2.JSONObject;
|
||||||
|
import com.alibaba.fastjson2.TypeReference;
|
||||||
import com.alibaba.qlexpress4.Express4Runner;
|
import com.alibaba.qlexpress4.Express4Runner;
|
||||||
import com.alibaba.qlexpress4.QLOptions;
|
import com.alibaba.qlexpress4.QLOptions;
|
||||||
import com.alibaba.qlexpress4.QLResult;
|
import com.alibaba.qlexpress4.QLResult;
|
||||||
@@ -534,10 +535,10 @@ public class SampleResultReportingServiceImpl implements SampleResultReportingSe
|
|||||||
} else {
|
} else {
|
||||||
updateBusinessAssayReportDataDOList.add(businessAssayReportDataDO);
|
updateBusinessAssayReportDataDOList.add(businessAssayReportDataDO);
|
||||||
}
|
}
|
||||||
JSONObject assayDataJson = new JSONObject();
|
Map<String, ReportFieldValueData> assayDataJson = new HashMap<>();
|
||||||
String assayData = businessAssayReportDataDO.getAssayData();
|
String assayData = businessAssayReportDataDO.getAssayData();
|
||||||
if (StringUtils.isNotBlank(assayData)) {
|
if (StringUtils.isNotBlank(assayData)) {
|
||||||
assayDataJson = JSON.parseObject(assayData);
|
assayDataJson = JSON.parseObject(assayData, new TypeReference<Map<String, ReportFieldValueData>>() {});
|
||||||
}
|
}
|
||||||
//循环判定值
|
//循环判定值
|
||||||
List<BusinessSubParentSampleAssessmentProjectExtendRespVO> businessSubParentSampleAssessmentList = businessSubParentSampleAssessmentExtendList.stream().filter(f -> f.getBusinessSubParentSampleId().equals(businessSubParentSampleDO.getId()) && "normal".equals(f.getAssessmentStatus())).collect(Collectors.toList());
|
List<BusinessSubParentSampleAssessmentProjectExtendRespVO> businessSubParentSampleAssessmentList = businessSubParentSampleAssessmentExtendList.stream().filter(f -> f.getBusinessSubParentSampleId().equals(businessSubParentSampleDO.getId()) && "normal".equals(f.getAssessmentStatus())).collect(Collectors.toList());
|
||||||
@@ -581,12 +582,11 @@ public class SampleResultReportingServiceImpl implements SampleResultReportingSe
|
|||||||
if (busDataSources.size() == dataSources.size() && busDataSources.equals(dataSources)) {
|
if (busDataSources.size() == dataSources.size() && busDataSources.equals(dataSources)) {
|
||||||
businessAssayReportDataDO.setIsAllReported(QmsCommonConstant.YES);
|
businessAssayReportDataDO.setIsAllReported(QmsCommonConstant.YES);
|
||||||
}
|
}
|
||||||
if (busDataSources.size() > 0) {//计算
|
if (busDataSources.size() > 0) {//计算
|
||||||
|
|
||||||
Map<String, Object> calcContext = assayDataJson.entrySet().stream().collect(Collectors.toMap(
|
Map<String, Object> calcContext = assayDataJson.entrySet().stream().collect(Collectors.toMap(
|
||||||
Map.Entry::getKey,
|
Map.Entry::getKey,
|
||||||
entry -> {
|
entry -> {
|
||||||
ReportFieldValueData data = (ReportFieldValueData) entry.getValue();
|
ReportFieldValueData data = entry.getValue();
|
||||||
String fieldValue = data != null ? data.getFieldValue() : null;
|
String fieldValue = data != null ? data.getFieldValue() : null;
|
||||||
if (fieldValue == null || fieldValue.isEmpty()) {
|
if (fieldValue == null || fieldValue.isEmpty()) {
|
||||||
return BigDecimal.ZERO;
|
return BigDecimal.ZERO;
|
||||||
@@ -633,14 +633,12 @@ public class SampleResultReportingServiceImpl implements SampleResultReportingSe
|
|||||||
reportFieldValueData.setMethodName(null);
|
reportFieldValueData.setMethodName(null);
|
||||||
assayDataJson.put(configReportFieldCalculated.getField(), reportFieldValueData);
|
assayDataJson.put(configReportFieldCalculated.getField(), reportFieldValueData);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
businessAssayReportDataDO.setAssayData(assayDataJson.toJSONString());
|
businessAssayReportDataDO.setAssayData(JSON.toJSONString(assayDataJson));
|
||||||
businessAssayReportDataDO.setReportedSource(JSON.toJSONString(reportedDataSource));
|
businessAssayReportDataDO.setReportedSource(JSON.toJSONString(reportedDataSource));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user