| 
						
						
							
								
							
						
						
					 | 
					 | 
					@ -14,6 +14,7 @@ import org.springframework.stereotype.Service; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import javax.annotation.Resource; | 
					 | 
					 | 
					 | 
					import javax.annotation.Resource; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import java.time.format.DateTimeFormatter; | 
					 | 
					 | 
					 | 
					import java.time.format.DateTimeFormatter; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import java.util.*; | 
					 | 
					 | 
					 | 
					import java.util.*; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					import java.util.function.Function; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import java.util.regex.Matcher; | 
					 | 
					 | 
					 | 
					import java.util.regex.Matcher; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import java.util.regex.Pattern; | 
					 | 
					 | 
					 | 
					import java.util.regex.Pattern; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import java.util.stream.Collectors; | 
					 | 
					 | 
					 | 
					import java.util.stream.Collectors; | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -45,6 +46,7 @@ public class IdentifyBookDataServiceImpl implements IdentifyBookDataService { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    /** | 
					 | 
					 | 
					 | 
					    /** | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					     * 获取完成实验的数据/获取符合制作文书的数据 | 
					 | 
					 | 
					 | 
					     * 获取完成实验的数据/获取符合制作文书的数据 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					     * | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					     * @return | 
					 | 
					 | 
					 | 
					     * @return | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					     */ | 
					 | 
					 | 
					 | 
					     */ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    @Override | 
					 | 
					 | 
					 | 
					    @Override | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -69,8 +71,10 @@ public class IdentifyBookDataServiceImpl implements IdentifyBookDataService { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        } | 
					 | 
					 | 
					 | 
					        } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        return R.ok(entrustInfoList, "获取数据成功"); | 
					 | 
					 | 
					 | 
					        return R.ok(entrustInfoList, "获取数据成功"); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    } | 
					 | 
					 | 
					 | 
					    } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    /** | 
					 | 
					 | 
					 | 
					    /** | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					     * 获取文书的数据 | 
					 | 
					 | 
					 | 
					     * 获取文书的数据 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					     * | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					     * @param businessId | 
					 | 
					 | 
					 | 
					     * @param businessId | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					     * @return | 
					 | 
					 | 
					 | 
					     * @return | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					     */ | 
					 | 
					 | 
					 | 
					     */ | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -85,6 +89,7 @@ public class IdentifyBookDataServiceImpl implements IdentifyBookDataService { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            return null; | 
					 | 
					 | 
					 | 
					            return null; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        } | 
					 | 
					 | 
					 | 
					        } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    } | 
					 | 
					 | 
					 | 
					    } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    //构建文书数据
 | 
					 | 
					 | 
					 | 
					    //构建文书数据
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    private IdentificationBookDTO buildBookDataDetail(String businessId) { | 
					 | 
					 | 
					 | 
					    private IdentificationBookDTO buildBookDataDetail(String businessId) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        IdentificationBookDTO bookData = new IdentificationBookDTO(); | 
					 | 
					 | 
					 | 
					        IdentificationBookDTO bookData = new IdentificationBookDTO(); | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -97,12 +102,16 @@ public class IdentifyBookDataServiceImpl implements IdentifyBookDataService { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        bookData.setSampleInfoList(sampleList); | 
					 | 
					 | 
					 | 
					        bookData.setSampleInfoList(sampleList); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //设置检验结果
 | 
					 | 
					 | 
					 | 
					        //设置检验结果
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        List<TestRecordSampleSolution> testRecordSampleSolutionList = getTestRecordSampleSolution(sampleList);//样本溶液
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        List<TestRecordSampleData> testRecordSampleDataList = getTestRecordSampleData(sampleList);//样本溶液对应的数据
 | 
					 | 
					 | 
					 | 
					        List<TestRecordSampleData> testRecordSampleDataList = getTestRecordSampleData(sampleList);//样本溶液对应的数据
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        List<TestResult> testResultsList = buildTestResult(testRecordSampleDataList, testRecordSampleSolutionList, sampleList);//构建检验结果
 | 
					 | 
					 | 
					 | 
					        if (CollUtil.isEmpty(testRecordSampleDataList)) { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        TestRecord testRecordInfo = getTestRecordInfo(testRecordSampleSolutionList); | 
					 | 
					 | 
					 | 
					            return null; | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        List<TestResult> testResultsList = buildTestResult(testRecordSampleDataList, sampleList);//构建检验结果
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        TestRecord testRecordInfo = testRecordService.lambdaQuery() | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                .eq(TestRecord::getBusinessId, businessId) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                .one(); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //实验信息
 | 
					 | 
					 | 
					 | 
					        //实验信息
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        bookData.setTestMethod(getTestMethods(testRecordSampleSolutionList));//设置用到的实验方法
 | 
					 | 
					 | 
					 | 
					        bookData.setTestMethod(getTestMethods(testRecordInfo));//设置用到的实验方法
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //设置检验过程
 | 
					 | 
					 | 
					 | 
					        //设置检验过程
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        bookData.setTestProcessDes(testRecordInfo.getTestProcessDes());//设置检验过程
 | 
					 | 
					 | 
					 | 
					        bookData.setTestProcessDes(testRecordInfo.getTestProcessDes());//设置检验过程
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        bookData.setTestResult(testRecordSampleDataService.generateQualitativeResults(businessId)); | 
					 | 
					 | 
					 | 
					        bookData.setTestResult(testRecordSampleDataService.generateQualitativeResults(businessId)); | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -115,6 +124,7 @@ public class IdentifyBookDataServiceImpl implements IdentifyBookDataService { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        bookData.setTestFinishDate(sdf.format(testRecordInfo.getUpdateTime())); | 
					 | 
					 | 
					 | 
					        bookData.setTestFinishDate(sdf.format(testRecordInfo.getUpdateTime())); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        return bookData; | 
					 | 
					 | 
					 | 
					        return bookData; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    } | 
					 | 
					 | 
					 | 
					    } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    //获取业务的实验对象
 | 
					 | 
					 | 
					 | 
					    //获取业务的实验对象
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    private TestRecord getTestRecordInfo(List<TestRecordSampleSolution> testRecordSampleSolutionList) { | 
					 | 
					 | 
					 | 
					    private TestRecord getTestRecordInfo(List<TestRecordSampleSolution> testRecordSampleSolutionList) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        List<String> testIdList = testRecordSampleSolutionList.stream().map(s -> s.getTestId()).collect(Collectors.toList()); | 
					 | 
					 | 
					 | 
					        List<String> testIdList = testRecordSampleSolutionList.stream().map(s -> s.getTestId()).collect(Collectors.toList()); | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -126,10 +136,13 @@ public class IdentifyBookDataServiceImpl implements IdentifyBookDataService { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        TestRecord testRecord = testRecordService.getById(testId); | 
					 | 
					 | 
					 | 
					        TestRecord testRecord = testRecordService.getById(testId); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        return testRecord; | 
					 | 
					 | 
					 | 
					        return testRecord; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    } | 
					 | 
					 | 
					 | 
					    } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    //获取实验方法
 | 
					 | 
					 | 
					 | 
					    //获取实验方法
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    private  String getTestMethods(List<TestRecordSampleSolution> testRecordSampleSolutionList){ | 
					 | 
					 | 
					 | 
					    private String getTestMethods(TestRecord testRecordInfo) { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        TestRecord testRecordInfo= getTestRecordInfo(testRecordSampleSolutionList); | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        List<String> testMethodList = testRecordInfo.getTestMethodList(); | 
					 | 
					 | 
					 | 
					        List<String> testMethodList = testRecordInfo.getTestMethodList(); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        if (CollUtil.isEmpty(testMethodList)) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            return "暂未找到实验过程中的方法数据!"; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        List<TestRecordMethod> methodsList = testRecordMethodService.list(Wrappers.<TestRecordMethod>lambdaQuery() | 
					 | 
					 | 
					 | 
					        List<TestRecordMethod> methodsList = testRecordMethodService.list(Wrappers.<TestRecordMethod>lambdaQuery() | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                .in(TestRecordMethod::getId, testMethodList)); | 
					 | 
					 | 
					 | 
					                .in(TestRecordMethod::getId, testMethodList)); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        List<String> methodsName = methodsList.stream().map(s -> s.getMethodName()).collect(Collectors.toList()); | 
					 | 
					 | 
					 | 
					        List<String> methodsName = methodsList.stream().map(s -> s.getMethodName()).collect(Collectors.toList()); | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -140,11 +153,11 @@ public class IdentifyBookDataServiceImpl implements IdentifyBookDataService { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        sbMethodNameStr.delete(sbMethodNameStr.length() - 1, sbMethodNameStr.length()); | 
					 | 
					 | 
					 | 
					        sbMethodNameStr.delete(sbMethodNameStr.length() - 1, sbMethodNameStr.length()); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        return sbMethodNameStr.toString(); | 
					 | 
					 | 
					 | 
					        return sbMethodNameStr.toString(); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    } | 
					 | 
					 | 
					 | 
					    } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    //获取sampleData
 | 
					 | 
					 | 
					 | 
					    //获取sampleData
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    private List<TestRecordSampleData> getTestRecordSampleData(List<SampleInfo> sampleInfoList) { | 
					 | 
					 | 
					 | 
					    private List<TestRecordSampleData> getTestRecordSampleData(List<SampleInfo> sampleInfoList) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        List<TestRecordSampleSolution> testRecordSampleSolution = getTestRecordSampleSolution(sampleInfoList); | 
					 | 
					 | 
					 | 
					        if (CollUtil.isNotEmpty(sampleInfoList)) { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        if (CollUtil.isNotEmpty(testRecordSampleSolution)) { | 
					 | 
					 | 
					 | 
					            List<String> sampleNoList = sampleInfoList.stream().map(m -> m.getAcceptNo()).collect(Collectors.toList());//得到样本溶液编号
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            List<String> sampleNoList= testRecordSampleSolution.stream().map(m -> m.getSampleNo()).collect(Collectors.toList());//得到样本溶液编号
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            //根据样本溶液编号查出对应的样本溶液检验数据
 | 
					 | 
					 | 
					 | 
					            //根据样本溶液编号查出对应的样本溶液检验数据
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            List<TestRecordSampleData> sampleTestDataList = getTestRecordData(sampleNoList); | 
					 | 
					 | 
					 | 
					            List<TestRecordSampleData> sampleTestDataList = getTestRecordData(sampleNoList); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            return sampleTestDataList; | 
					 | 
					 | 
					 | 
					            return sampleTestDataList; | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -152,6 +165,7 @@ public class IdentifyBookDataServiceImpl implements IdentifyBookDataService { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        return null; | 
					 | 
					 | 
					 | 
					        return null; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    } | 
					 | 
					 | 
					 | 
					    } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    //获取样本溶液
 | 
					 | 
					 | 
					 | 
					    //获取样本溶液
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    private List<TestRecordSampleSolution> getTestRecordSampleSolution(List<SampleInfo> sampleInfoList) { | 
					 | 
					 | 
					 | 
					    private List<TestRecordSampleSolution> getTestRecordSampleSolution(List<SampleInfo> sampleInfoList) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        List<String> materialIdList = sampleInfoList.stream().map(m -> m.getId()).collect(Collectors.toList()); | 
					 | 
					 | 
					 | 
					        List<String> materialIdList = sampleInfoList.stream().map(m -> m.getId()).collect(Collectors.toList()); | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -164,25 +178,21 @@ public class IdentifyBookDataServiceImpl implements IdentifyBookDataService { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                .in(TestRecordSampleSolution::getMaterialId, materialIdList)); | 
					 | 
					 | 
					 | 
					                .in(TestRecordSampleSolution::getMaterialId, materialIdList)); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        return sampleSolutionList; | 
					 | 
					 | 
					 | 
					        return sampleSolutionList; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    } | 
					 | 
					 | 
					 | 
					    } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    //构建TestResult
 | 
					 | 
					 | 
					 | 
					    //构建TestResult
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    private List<TestResult> buildTestResult(List<TestRecordSampleData> testRecordSampleDataList, | 
					 | 
					 | 
					 | 
					    private List<TestResult> buildTestResult(List<TestRecordSampleData> testRecordSampleDataList, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                 List<TestRecordSampleSolution> testRecordSampleSolutionList,List<SampleInfo> sampleInfoList){ | 
					 | 
					 | 
					 | 
					                                             List<SampleInfo> sampleInfoList) { | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //结果:应该是加入实验的检材的结果,目前暂定受理的检材我们按照受理顺序,全部定义为 1号检材,2号检材,3号检材等
 | 
					 | 
					 | 
					 | 
					        //结果:应该是加入实验的检材的结果,目前暂定受理的检材我们按照受理顺序,全部定义为 1号检材,2号检材,3号检材等
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //拿出实验数据中的所有实验样本编号,就是数据文件中的sampleId,也是溶液编号中的溶液编号,
 | 
					 | 
					 | 
					 | 
					        //拿出实验数据中的所有实验样本编号,就是数据文件中的sampleId,也是溶液编号中的溶液编号,
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        List<String> sampleNoList = testRecordSampleDataList.stream().map(s -> s.getSampleNo()).collect(Collectors.toList()); | 
					 | 
					 | 
					 | 
					        List<String> sampleNoList = testRecordSampleDataList.stream().map(s -> s.getSampleNo()).collect(Collectors.toList()); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //取出检材ID
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        List<String> okTestRecordSampleSolutionIdList=new ArrayList<>(); | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        testRecordSampleSolutionList.forEach(item->{ | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            //如果溶液在提供的溶液编号中,则取出来
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            if(sampleNoList.contains(item.getSampleNo())){ | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                okTestRecordSampleSolutionIdList.add(item.getMaterialId()); | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            } | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        }); | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        List<TestResult> retTestResult = new ArrayList<>(); | 
					 | 
					 | 
					 | 
					        List<TestResult> retTestResult = new ArrayList<>(); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        Map<String, SampleInfo> sampleInfoMap = sampleInfoList | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                .stream() | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                .collect(Collectors.toMap(SampleInfo::getAcceptNo, Function.identity())); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        for (TestRecordSampleData testRecordSampleData : testRecordSampleDataList) { | 
					 | 
					 | 
					 | 
					        for (TestRecordSampleData testRecordSampleData : testRecordSampleDataList) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            TestResult eg = new TestResult(); | 
					 | 
					 | 
					 | 
					            TestResult eg = new TestResult(); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            SampleInfo sampleInfo=getSampleInfoBySampleId(testRecordSampleSolutionList, | 
					 | 
					 | 
					 | 
					            SampleInfo sampleInfo = sampleInfoMap.get(testRecordSampleData.getSampleNo()); | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                     sampleInfoList,testRecordSampleData.getSampleNo()); | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            eg.setCompoundName(testRecordSampleData.getCompoundName()); | 
					 | 
					 | 
					 | 
					            eg.setCompoundName(testRecordSampleData.getCompoundName()); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            eg.setMaterialNo(sampleInfo.getOrderNo() + "号"); | 
					 | 
					 | 
					 | 
					            eg.setMaterialNo(sampleInfo.getOrderNo() + "号"); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            eg.setOrderNo(sampleInfo.getOrderNo()); | 
					 | 
					 | 
					 | 
					            eg.setOrderNo(sampleInfo.getOrderNo()); | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -192,6 +202,7 @@ public class IdentifyBookDataServiceImpl implements IdentifyBookDataService { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        } | 
					 | 
					 | 
					 | 
					        } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        return retTestResult; | 
					 | 
					 | 
					 | 
					        return retTestResult; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    } | 
					 | 
					 | 
					 | 
					    } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    //根据sampleID获取对应的检材信息
 | 
					 | 
					 | 
					 | 
					    //根据sampleID获取对应的检材信息
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    private SampleInfo getSampleInfoBySampleId(List<TestRecordSampleSolution> testRecordSampleSolutionList, | 
					 | 
					 | 
					 | 
					    private SampleInfo getSampleInfoBySampleId(List<TestRecordSampleSolution> testRecordSampleSolutionList, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                               List<SampleInfo> sampleInfoList, String sampleId) { | 
					 | 
					 | 
					 | 
					                                               List<SampleInfo> sampleInfoList, String sampleId) { | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -223,6 +234,7 @@ public class IdentifyBookDataServiceImpl implements IdentifyBookDataService { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            return retObj.get(0); | 
					 | 
					 | 
					 | 
					            return retObj.get(0); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        } | 
					 | 
					 | 
					 | 
					        } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    } | 
					 | 
					 | 
					 | 
					    } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    //构建实验结果
 | 
					 | 
					 | 
					 | 
					    //构建实验结果
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    private List<String> buildTestResultDes(List<TestResult> resultList) { | 
					 | 
					 | 
					 | 
					    private List<String> buildTestResultDes(List<TestResult> resultList) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //按照检材编号先分组,这样的话,如果有n个检材,m个化合物,那么就会分成n组,每组中就m条数据
 | 
					 | 
					 | 
					 | 
					        //按照检材编号先分组,这样的话,如果有n个检材,m个化合物,那么就会分成n组,每组中就m条数据
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -248,6 +260,7 @@ public class IdentifyBookDataServiceImpl implements IdentifyBookDataService { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        List<String> testResultDes = testResultSorted(temp2); | 
					 | 
					 | 
					 | 
					        List<String> testResultDes = testResultSorted(temp2); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        return testResultDes; | 
					 | 
					 | 
					 | 
					        return testResultDes; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    } | 
					 | 
					 | 
					 | 
					    } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    //对第一个结果进行排序
 | 
					 | 
					 | 
					 | 
					    //对第一个结果进行排序
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    private List<String> testResultSorted(Map<String, List<TestResultDetail>> tmpMap) { | 
					 | 
					 | 
					 | 
					    private List<String> testResultSorted(Map<String, List<TestResultDetail>> tmpMap) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        List<Map.Entry<String, List<TestResultDetail>>> targetList = new ArrayList<Map.Entry<String, List<TestResultDetail>>>(tmpMap.entrySet()); | 
					 | 
					 | 
					 | 
					        List<Map.Entry<String, List<TestResultDetail>>> targetList = new ArrayList<Map.Entry<String, List<TestResultDetail>>>(tmpMap.entrySet()); | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -272,8 +285,10 @@ public class IdentifyBookDataServiceImpl implements IdentifyBookDataService { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        }); | 
					 | 
					 | 
					 | 
					        }); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        return testResultDes; | 
					 | 
					 | 
					 | 
					        return testResultDes; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    } | 
					 | 
					 | 
					 | 
					    } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    /** | 
					 | 
					 | 
					 | 
					    /** | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					     * 构造出一个检材一共检出了多少个化合物和未检出多少化合物 | 
					 | 
					 | 
					 | 
					     * 构造出一个检材一共检出了多少个化合物和未检出多少化合物 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					     * | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					     * @param mapCompound | 
					 | 
					 | 
					 | 
					     * @param mapCompound | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					     * @param materialNo | 
					 | 
					 | 
					 | 
					     * @param materialNo | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					     * @return | 
					 | 
					 | 
					 | 
					     * @return | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -323,6 +338,7 @@ public class IdentifyBookDataServiceImpl implements IdentifyBookDataService { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    /** | 
					 | 
					 | 
					 | 
					    /** | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					     * 根据编号获取排序值 | 
					 | 
					 | 
					 | 
					     * 根据编号获取排序值 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					     * | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					     * @param materialNo | 
					 | 
					 | 
					 | 
					     * @param materialNo | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					     * @return | 
					 | 
					 | 
					 | 
					     * @return | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					     */ | 
					 | 
					 | 
					 | 
					     */ | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -334,8 +350,10 @@ public class IdentifyBookDataServiceImpl implements IdentifyBookDataService { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        } | 
					 | 
					 | 
					 | 
					        } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        return ""; | 
					 | 
					 | 
					 | 
					        return ""; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    } | 
					 | 
					 | 
					 | 
					    } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    /** | 
					 | 
					 | 
					 | 
					    /** | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					     * 根据溶液编号(sampleNo)获取仪器检测数据 | 
					 | 
					 | 
					 | 
					     * 根据溶液编号(sampleNo)获取仪器检测数据 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					     * | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					     * @param sampleNoList | 
					 | 
					 | 
					 | 
					     * @param sampleNoList | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					     * @return | 
					 | 
					 | 
					 | 
					     * @return | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					     */ | 
					 | 
					 | 
					 | 
					     */ | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					 | 
					
  |