检验委托生成样品修改
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.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
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> 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);
|
||||
|
||||
@@ -512,65 +515,84 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent {
|
||||
String assayType = configSubSampleMethodDO.getTaskCount() > 1 ? QmsCommonConstant.ASSAY_TYPE_SINGLE_PARALLEL : QmsCommonConstant.ASSAY_TYPE_SINGLE_CUP;
|
||||
|
||||
//分样判定数据
|
||||
BusinessSubParentSampleAssessmentDO businessSubParentSampleAssessmentDO = new BusinessSubParentSampleAssessmentDO();
|
||||
businessSubParentSampleAssessmentDO.setId(IdWorker.getId());
|
||||
businessSubParentSampleAssessmentDO.setBusinessSubParentSampleId(businessSubSampleDO.getBusinessSubParentSampleId());
|
||||
businessSubParentSampleAssessmentDO.setConfigAssayMethodId(configAssayMethodId);
|
||||
businessSubParentSampleAssessmentDO.setAssayType(assayType);
|
||||
businessSubParentSampleAssessmentDO.setTaskType("常规");
|
||||
businessSubParentSampleAssessmentDOList.add(businessSubParentSampleAssessmentDO);
|
||||
BusinessSubParentSampleAssessmentDO businessSubParentSampleAssessmentDO = businessSubParentSampleAssessmentDOList.stream().filter(f -> f.getBusinessSubParentSampleId().equals(businessSubSampleDO.getBusinessSubParentSampleId()) && f.getConfigAssayMethodId().equals(configAssayMethodId) && f.getAssayType().equals(assayType)).findFirst().orElse(null);//防止重复添加,先从列表过滤
|
||||
if (businessSubParentSampleAssessmentDO == null) {
|
||||
businessSubParentSampleAssessmentDO = new BusinessSubParentSampleAssessmentDO();
|
||||
businessSubParentSampleAssessmentDO.setId(IdWorker.getId());
|
||||
businessSubParentSampleAssessmentDO.setBusinessSubParentSampleId(businessSubSampleDO.getBusinessSubParentSampleId());
|
||||
businessSubParentSampleAssessmentDO.setConfigAssayMethodId(configAssayMethodId);
|
||||
businessSubParentSampleAssessmentDO.setAssayType(assayType);
|
||||
businessSubParentSampleAssessmentDO.setTaskType("常规");
|
||||
businessSubParentSampleAssessmentDOList.add(businessSubParentSampleAssessmentDO);
|
||||
}
|
||||
|
||||
//子样判定数据
|
||||
BusinessSubSampleAssessmentDO businessSubSampleAssessmentDO = new BusinessSubSampleAssessmentDO();
|
||||
businessSubSampleAssessmentDO.setId(IdWorker.getId());
|
||||
businessSubSampleAssessmentDO.setBusinessBaseSampleId(businessSubSampleDO.getBusinessBaseSampleId());
|
||||
businessSubSampleAssessmentDO.setBusinessSubParentSampleId(businessSubSampleDO.getBusinessSubParentSampleId());
|
||||
businessSubSampleAssessmentDO.setBusinessSubSampleId(businessSubSampleDO.getId());
|
||||
businessSubSampleAssessmentDO.setBusinessSubParentSampleAssessmentId(businessSubParentSampleAssessmentDO.getId());
|
||||
businessSubSampleAssessmentDO.setConfigAssayMethodId(configAssayMethodId);
|
||||
businessSubSampleAssessmentDO.setAssayType(assayType);
|
||||
businessSubSampleAssessmentDO.setTaskType("常规");
|
||||
|
||||
businessSubSampleAssessmentDOList.add(businessSubSampleAssessmentDO);
|
||||
|
||||
//根据检测方法循环
|
||||
BusinessAssayTaskDataDO businessAssayTaskDataDO = null;
|
||||
BusinessSubSampleAssessmentDO businessSubSampleAssessmentDO = businessSubSampleAssessmentDOList.stream().filter(f -> f.getBusinessSubSampleId().equals(businessSubSampleDO.getId()) && f.getConfigAssayMethodId().equals(configAssayMethodId) && f.getAssayType().equals(assayType)).findFirst().orElse(null);//防止重复添加,先从列表过滤
|
||||
if (businessSubSampleAssessmentDO == null) {
|
||||
businessSubSampleAssessmentDO = new BusinessSubSampleAssessmentDO();
|
||||
businessSubSampleAssessmentDO.setId(IdWorker.getId());
|
||||
businessSubSampleAssessmentDO.setBusinessBaseSampleId(businessSubSampleDO.getBusinessBaseSampleId());
|
||||
businessSubSampleAssessmentDO.setBusinessSubParentSampleId(businessSubSampleDO.getBusinessSubParentSampleId());
|
||||
businessSubSampleAssessmentDO.setBusinessSubSampleId(businessSubSampleDO.getId());
|
||||
businessSubSampleAssessmentDO.setBusinessSubParentSampleAssessmentId(businessSubParentSampleAssessmentDO.getId());
|
||||
businessSubSampleAssessmentDO.setConfigAssayMethodId(configAssayMethodId);
|
||||
businessSubSampleAssessmentDO.setAssayType(assayType);
|
||||
businessSubSampleAssessmentDO.setTaskType("常规");
|
||||
|
||||
businessSubSampleAssessmentDOList.add(businessSubSampleAssessmentDO);
|
||||
}
|
||||
|
||||
//根据任务数循环
|
||||
for (int i = 0; i < configSubSampleMethodDO.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());
|
||||
businessAssayTaskDataDO.setConfigAssayMethodId(configAssayMethodId);
|
||||
businessAssayTaskDataDO.setAssayType(assayType);
|
||||
businessAssayTaskDataDO.setTaskType("常规");
|
||||
businessAssayTaskDataDO.setConfigSampleFlowId(configSampleFlowSub.getId());
|
||||
businessAssayTaskDataDO.setSampleFlowNodeKey(sampleFlowNodeSub.getNodeKey());
|
||||
businessAssayTaskDataDO.setSampleFlowNodeTime(currentDateTime);
|
||||
businessAssayTaskDataDO.setAssayDepartmentId(configAssayMethodDO.getAssayDepartmentId());
|
||||
businessAssayTaskDataDO.setAssayDepartmentName(configAssayMethodDO.getAssayDepartmentName());
|
||||
BusinessAssayTaskDataDO businessAssayTaskDataDO = businessAssayTaskDataDOList.stream().filter(f -> {
|
||||
String assayProject = f.getAssayProject();
|
||||
if (StringUtils.isNotBlank(assayProject)) {
|
||||
List<String> assayProjectList = Arrays.asList(assayProject.split(","));
|
||||
return !assayProjectList.containsAll(dictionaryProjectShowNameList);//分析项目未完全存在,则返回
|
||||
}
|
||||
return false;
|
||||
}).findFirst().orElse(null);
|
||||
|
||||
//子样检测任务参数
|
||||
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());
|
||||
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());
|
||||
businessAssayTaskDataDO.setConfigAssayMethodId(configAssayMethodId);
|
||||
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());
|
||||
|
||||
StringBuilder assayProjectBuilder = new StringBuilder();
|
||||
// StringBuilder assayProjectBuilder = new StringBuilder();
|
||||
|
||||
for (ConfigAssayMethodProjectExtendRespVO configAssayMethodProjectDO : configAssayMethodProjectDOList) {
|
||||
|
||||
@@ -579,8 +601,8 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent {
|
||||
continue;
|
||||
}
|
||||
|
||||
DictionaryProjectDO dictionaryProject = dictionaryProjectList.stream().filter(f -> f.getId().equals(configAssayMethodProjectDO.getDictionaryProjectId())).findFirst().orElse(null);
|
||||
assayProjectBuilder.append(dictionaryProject.getShowName()).append(",");
|
||||
// DictionaryProjectDO dictionaryProject = dictionaryProjectList.stream().filter(f -> f.getId().equals(configAssayMethodProjectDO.getDictionaryProjectId())).findFirst().orElse(null);
|
||||
// assayProjectBuilder.append(dictionaryProject.getShowName()).append(",");
|
||||
|
||||
//检测项目
|
||||
BusinessAssayProjectDataDO businessAssayProjectDataDO = new BusinessAssayProjectDataDO();
|
||||
@@ -614,11 +636,15 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent {
|
||||
|
||||
}
|
||||
|
||||
if (assayProjectBuilder.length() > 1) {
|
||||
assayProjectBuilder.delete(assayProjectBuilder.length() - 1 , assayProjectBuilder.length());
|
||||
}
|
||||
businessAssayTaskDataDO.setAssayProject(assayProjectBuilder.toString());
|
||||
businessAssayTaskDataDOList.add(businessAssayTaskDataDO);
|
||||
// if (assayProjectBuilder.length() > 1) {
|
||||
// assayProjectBuilder.delete(assayProjectBuilder.length() - 1 , assayProjectBuilder.length());
|
||||
// }
|
||||
// businessAssayTaskDataDO.setAssayProject(assayProjectBuilder.toString());
|
||||
|
||||
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);
|
||||
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);
|
||||
|
||||
@@ -715,66 +744,88 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent {
|
||||
String assayType = addAssayTaskConfigSubSampleMethodDO.getTaskCount() > 1 ? QmsCommonConstant.ASSAY_TYPE_SINGLE_PARALLEL : QmsCommonConstant.ASSAY_TYPE_SINGLE_CUP;
|
||||
|
||||
//分样判定数据
|
||||
BusinessSubParentSampleAssessmentDO businessSubParentSampleAssessmentDO = new BusinessSubParentSampleAssessmentDO();
|
||||
businessSubParentSampleAssessmentDO.setId(IdWorker.getId());
|
||||
businessSubParentSampleAssessmentDO.setBusinessSubParentSampleId(businessSubSampleDO.getBusinessSubParentSampleId());
|
||||
businessSubParentSampleAssessmentDO.setConfigAssayMethodId(addAssayTaskConfigAssayMethod.getId());
|
||||
businessSubParentSampleAssessmentDO.setAssayType(assayType);
|
||||
businessSubParentSampleAssessmentDO.setTaskType("常规");
|
||||
businessSubParentSampleAssessmentDOList.add(businessSubParentSampleAssessmentDO);
|
||||
BusinessSubParentSampleAssessmentDO businessSubParentSampleAssessmentDO = businessSubParentSampleAssessmentDOList.stream().filter(f -> f.getBusinessSubParentSampleId().equals(businessSubSampleDO.getBusinessSubParentSampleId()) && f.getConfigAssayMethodId().equals(addAssayTaskConfigAssayMethod.getId()) && f.getAssayType().equals(assayType)).findFirst().orElse(null);//防止重复添加,先从列表过滤
|
||||
if (businessSubParentSampleAssessmentDO == null) {
|
||||
businessSubParentSampleAssessmentDO = new BusinessSubParentSampleAssessmentDO();
|
||||
businessSubParentSampleAssessmentDO.setId(IdWorker.getId());
|
||||
businessSubParentSampleAssessmentDO.setBusinessSubParentSampleId(businessSubSampleDO.getBusinessSubParentSampleId());
|
||||
businessSubParentSampleAssessmentDO.setConfigAssayMethodId(addAssayTaskConfigAssayMethod.getId());
|
||||
businessSubParentSampleAssessmentDO.setAssayType(assayType);
|
||||
businessSubParentSampleAssessmentDO.setTaskType("常规");
|
||||
businessSubParentSampleAssessmentDOList.add(businessSubParentSampleAssessmentDO);
|
||||
|
||||
}
|
||||
|
||||
//子样判定数据
|
||||
BusinessSubSampleAssessmentDO businessSubSampleAssessmentDO = new BusinessSubSampleAssessmentDO();
|
||||
businessSubSampleAssessmentDO.setId(IdWorker.getId());
|
||||
businessSubSampleAssessmentDO.setBusinessBaseSampleId(businessSubSampleDO.getBusinessBaseSampleId());
|
||||
businessSubSampleAssessmentDO.setBusinessSubParentSampleId(businessSubSampleDO.getBusinessSubParentSampleId());
|
||||
businessSubSampleAssessmentDO.setBusinessSubParentSampleAssessmentId(businessSubParentSampleAssessmentDO.getId());
|
||||
businessSubSampleAssessmentDO.setBusinessSubSampleId(businessSubSampleDO.getId());
|
||||
businessSubSampleAssessmentDO.setConfigAssayMethodId(addAssayTaskConfigAssayMethod.getId());
|
||||
businessSubSampleAssessmentDO.setAssayType(assayType);
|
||||
businessSubSampleAssessmentDO.setTaskType("常规");
|
||||
|
||||
businessSubSampleAssessmentDOList.add(businessSubSampleAssessmentDO);
|
||||
BusinessSubSampleAssessmentDO businessSubSampleAssessmentDO = businessSubSampleAssessmentDOList.stream().filter(f -> f.getBusinessSubSampleId().equals(businessSubSampleDO.getId()) && f.getConfigAssayMethodId().equals(addAssayTaskConfigAssayMethod.getId()) && f.getAssayType().equals(assayType)).findFirst().orElse(null);//防止重复添加,先从列表过滤
|
||||
if (businessSubSampleAssessmentDO == null) {
|
||||
businessSubSampleAssessmentDO = new BusinessSubSampleAssessmentDO();
|
||||
businessSubSampleAssessmentDO.setId(IdWorker.getId());
|
||||
businessSubSampleAssessmentDO.setBusinessBaseSampleId(businessSubSampleDO.getBusinessBaseSampleId());
|
||||
businessSubSampleAssessmentDO.setBusinessSubParentSampleId(businessSubSampleDO.getBusinessSubParentSampleId());
|
||||
businessSubSampleAssessmentDO.setBusinessSubParentSampleAssessmentId(businessSubParentSampleAssessmentDO.getId());
|
||||
businessSubSampleAssessmentDO.setBusinessSubSampleId(businessSubSampleDO.getId());
|
||||
businessSubSampleAssessmentDO.setConfigAssayMethodId(addAssayTaskConfigAssayMethod.getId());
|
||||
businessSubSampleAssessmentDO.setAssayType(assayType);
|
||||
businessSubSampleAssessmentDO.setTaskType("常规");
|
||||
|
||||
businessSubSampleAssessmentDOList.add(businessSubSampleAssessmentDO);
|
||||
}
|
||||
|
||||
//根据检测方法循环
|
||||
BusinessAssayTaskDataDO businessAssayTaskDataDO = null;
|
||||
//根据任务数循环
|
||||
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());
|
||||
|
||||
|
||||
//子样检测任务参数
|
||||
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());
|
||||
//根据检测方法循环
|
||||
BusinessAssayTaskDataDO businessAssayTaskDataDO = businessAssayTaskDataDOList.stream().filter(f -> {
|
||||
String assayProject = f.getAssayProject();
|
||||
if (StringUtils.isNotBlank(assayProject)) {
|
||||
List<String> assayProjectList = Arrays.asList(assayProject.split(","));
|
||||
return !assayProjectList.containsAll(dictionaryProjectShowNameList);//分析项目未完全存在,则返回
|
||||
}
|
||||
return false;
|
||||
}).findFirst().orElse(null);
|
||||
|
||||
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());
|
||||
|
||||
StringBuilder assayProjectBuilder = new StringBuilder();
|
||||
// StringBuilder assayProjectBuilder = new StringBuilder();
|
||||
|
||||
for (ConfigAssayMethodProjectExtendRespVO configAssayMethodProjectDO : configAssayMethodProjectDOList) {
|
||||
|
||||
@@ -783,8 +834,8 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent {
|
||||
continue;
|
||||
}
|
||||
|
||||
DictionaryProjectDO dictionaryProject = dictionaryProjectList.stream().filter(f -> f.getId().equals(configAssayMethodProjectDO.getDictionaryProjectId())).findFirst().orElse(null);
|
||||
assayProjectBuilder.append(dictionaryProject.getShowName()).append(",");
|
||||
// DictionaryProjectDO dictionaryProject = dictionaryProjectList.stream().filter(f -> f.getId().equals(configAssayMethodProjectDO.getDictionaryProjectId())).findFirst().orElse(null);
|
||||
// assayProjectBuilder.append(dictionaryProject.getShowName()).append(",");
|
||||
|
||||
|
||||
//检测项目
|
||||
@@ -816,11 +867,13 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent {
|
||||
businessAssayParameterDataDOList.add(businessAssayParameterDataDO);
|
||||
}
|
||||
}
|
||||
if (assayProjectBuilder.length() > 1) {
|
||||
assayProjectBuilder.delete(assayProjectBuilder.length() - 1 , assayProjectBuilder.length());
|
||||
}
|
||||
businessAssayTaskDataDO.setAssayProject(assayProjectBuilder.toString());
|
||||
businessAssayTaskDataDOList.add(businessAssayTaskDataDO);
|
||||
// if (assayProjectBuilder.length() > 1) {
|
||||
// assayProjectBuilder.delete(assayProjectBuilder.length() - 1 , assayProjectBuilder.length());
|
||||
// }
|
||||
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, ","));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -17,6 +17,7 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
import com.alibaba.cloud.commons.lang.StringUtils;
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
import com.alibaba.fastjson2.TypeReference;
|
||||
import com.alibaba.qlexpress4.Express4Runner;
|
||||
import com.alibaba.qlexpress4.QLOptions;
|
||||
import com.alibaba.qlexpress4.QLResult;
|
||||
@@ -534,10 +535,10 @@ public class SampleResultReportingServiceImpl implements SampleResultReportingSe
|
||||
} else {
|
||||
updateBusinessAssayReportDataDOList.add(businessAssayReportDataDO);
|
||||
}
|
||||
JSONObject assayDataJson = new JSONObject();
|
||||
Map<String, ReportFieldValueData> assayDataJson = new HashMap<>();
|
||||
String assayData = businessAssayReportDataDO.getAssayData();
|
||||
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());
|
||||
@@ -581,12 +582,11 @@ public class SampleResultReportingServiceImpl implements SampleResultReportingSe
|
||||
if (busDataSources.size() == dataSources.size() && busDataSources.equals(dataSources)) {
|
||||
businessAssayReportDataDO.setIsAllReported(QmsCommonConstant.YES);
|
||||
}
|
||||
if (busDataSources.size() > 0) {//计算
|
||||
|
||||
if (busDataSources.size() > 0) {//计算
|
||||
Map<String, Object> calcContext = assayDataJson.entrySet().stream().collect(Collectors.toMap(
|
||||
Map.Entry::getKey,
|
||||
entry -> {
|
||||
ReportFieldValueData data = (ReportFieldValueData) entry.getValue();
|
||||
ReportFieldValueData data = entry.getValue();
|
||||
String fieldValue = data != null ? data.getFieldValue() : null;
|
||||
if (fieldValue == null || fieldValue.isEmpty()) {
|
||||
return BigDecimal.ZERO;
|
||||
@@ -633,14 +633,12 @@ public class SampleResultReportingServiceImpl implements SampleResultReportingSe
|
||||
reportFieldValueData.setMethodName(null);
|
||||
assayDataJson.put(configReportFieldCalculated.getField(), reportFieldValueData);
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
businessAssayReportDataDO.setAssayData(assayDataJson.toJSONString());
|
||||
businessAssayReportDataDO.setAssayData(JSON.toJSONString(assayDataJson));
|
||||
businessAssayReportDataDO.setReportedSource(JSON.toJSONString(reportedDataSource));
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user