@ -67,27 +67,34 @@ public class EntrustMaterialCheckoutResultServiceImpl extends ServiceImpl<Entrus 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    @Override   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    public  String  buildEntrustMaterialCheckoutResultStr ( String  entrustId )  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        // 先获取检材列表
   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        List < EntrustmentIdentificationMaterial >  materialList  =  entrustmentIdentificationMaterialService . list ( Wrappers . < EntrustmentIdentificationMaterial > lambdaQuery ( ) . eq ( EntrustmentIdentificationMaterial : : getEntrustmentId ,  entrustId ) ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        Map < String ,  EntrustmentIdentificationMaterial >  materialMap  =  materialList . stream ( ) . collect ( Collectors . toMap ( EntrustmentIdentificationMaterial : : getId ,  Function . identity ( ) ) ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					//        List<EntrustmentIdentificationMaterial> materialList = entrustmentIdentificationMaterialService.list(Wrappers.<EntrustmentIdentificationMaterial>lambdaQuery().eq(EntrustmentIdentificationMaterial::getEntrustmentId, entrustId));
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					//        Map<String, EntrustmentIdentificationMaterial> materialMap = materialList.stream().collect(Collectors.toMap(EntrustmentIdentificationMaterial::getId, Function.identity()));
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        // 获取检测结果
   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        List < EntrustMaterialCheckoutResult >  checkoutResultList  =  super . l ist( Wrappers . < EntrustMaterialCheckoutResult > lambdaQ uery( ) . eq ( EntrustMaterialCheckoutResult : : getEntrustId ,  entrustId ) ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        List < EntrustMaterialCheckoutResultVO  >  checkoutResultList  =  baseMapper . voL ist( Wrappers . < EntrustMaterialCheckoutResult > q uery( ) . eq ( "emr.entrust_id" ,  entrustId ) ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        if  ( CollUtil . isEmpty ( checkoutResultList ) )  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            return  "" ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        }   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        List < EntrustMaterialCheckoutResultVO >  materialCheckoutResults  =  checkoutResultList . stream ( ) . filter ( o  - >  StrUtil . isNotBlank ( o . getQualitativeResult ( ) ) ) . collect ( Collectors . toList ( ) ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        List < EntrustMaterialCheckoutResultVO >  materialNotCheckoutResults  =  checkoutResultList . stream ( ) . filter ( o  - >  StrUtil . isEmpty ( o . getQualitativeResult ( ) ) ) . collect ( Collectors . toList ( ) ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        List < String >  resultStrList  =  new  ArrayList < > ( ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        // 对检测结果进行分组
   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        Map < String ,  List < EntrustMaterialCheckoutResult > >  checkoutResultGroupMap  =  checkoutResultList . stream ( ) . collect ( Collectors . groupingBy ( item  - >  DrugLiteConvert . joiningDrugListNameToStr ( item . getQualitativeResult ( ) ,  "、" ) ) ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        Map < String ,  List < EntrustMaterialCheckoutResultVO  > >  checkoutResultGroupMap  =  materialCheckoutResults . stream ( ) . collect ( Collectors . groupingBy ( item  - >  DrugLiteConvert . joiningDrugListNameToStr ( DrugLiteConvert . getDrugLites ( item . getQualitativeResult ( ) ) ,  "、" ) ) ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        checkoutResultGroupMap . forEach ( ( key ,  value )  - >  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            StringBuilder  builder  =  new  StringBuilder ( ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            builder   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                    . append ( value . stream ( ) . map ( item  - >  materialMap . get ( item . getId ( ) ) . getOrderNo1 ( )  ) . sorted ( ) . collect ( Collectors . joining ( "、" ) ) )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                    . append ( value . stream ( ) . map ( item  - >  item . getOrderNo ( )  +  "号检材"  ) . sorted ( ) . collect ( Collectors . joining ( "、" ) ) )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                    . append ( " : [" )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                    . append ( key )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                    . append ( "]" ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            resultStrList . add ( builder . toString ( ) ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        } ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        if  ( CollUtil . isNotEmpty ( materialNotCheckoutResults ) )  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            String  notCheckoutStr  =  materialNotCheckoutResults . stream ( ) . map ( result  - >  result . getOrderNo ( )  +  "号检材" ) . sorted ( ) . collect ( Collectors . joining ( "、" ) )  +  materialNotCheckoutResults . get ( 0 ) . getCheckoutRemark ( ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            return  resultStrList . stream ( ) . sorted ( ) . collect ( Collectors . joining ( "\n" ) )  +  notCheckoutStr ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        }   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        return  resultStrList . stream ( ) . sorted ( ) . collect ( Collectors . joining ( "\n" ) ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    }   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -188,26 +195,31 @@ public class EntrustMaterialCheckoutResultServiceImpl extends ServiceImpl<Entrus 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * /   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    @Override   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    public  IPage < EntrustMaterialCheckoutResultVO >  voiPage ( EntrustMaterialCheckoutResultQuery  query )  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        IPage < EntrustMaterialCheckoutResult >  page  =  this . page (   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					//        IPage<EntrustMaterialCheckoutResult> page = this.page(
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					//                new Page<>(query.getCurrent(), query.getSize()),
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					//                Wrappers.<EntrustMaterialCheckoutResult>lambdaQuery()
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					//                        .eq(StrUtil.isNotBlank(query.getEntrustId()), EntrustMaterialCheckoutResult::getEntrustId, query.getEntrustId())
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					//                        .orderByDesc(EntrustMaterialCheckoutResult::getUpdateTime)
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					//        );
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					//        IPage<EntrustMaterialCheckoutResultVO> voPage = new Page<>();
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					//        BeanUtils.copyProperties(page, voPage, "records");
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					//        List<EntrustMaterialCheckoutResult> records = page.getRecords();
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					//        if (CollUtil.isNotEmpty(records)) {
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					//            List<EntrustmentIdentificationMaterial> entrustmentIdentificationMaterials = entrustmentIdentificationMaterialService.list(Wrappers.<EntrustmentIdentificationMaterial>lambdaQuery().in(EntrustmentIdentificationMaterial::getId, records.stream().map(EntrustMaterialCheckoutResult::getId).collect(Collectors.toSet())));
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					//            Map<String, EntrustmentIdentificationMaterial> materialMap = entrustmentIdentificationMaterials.stream().collect(Collectors.toMap(EntrustmentIdentificationMaterial::getId, Function.identity()));
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					//            List<EntrustMaterialCheckoutResultVO> entrustMaterialCheckoutResultVOS = records.stream().map(record -> {
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					//                EntrustMaterialCheckoutResultVO entrustMaterialCheckoutResultVO = EntrustMaterialCheckoutResultConvert.entityToVO(record);
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					//                entrustMaterialCheckoutResultVO.setName(materialMap.get(record.getId()).getName());
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					//                return entrustMaterialCheckoutResultVO;
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					//            }).collect(Collectors.toList());
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					//            voPage.setRecords(entrustMaterialCheckoutResultVOS);
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					//        }
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        return  baseMapper . getEntrustMaterialCheckoutResultVOPage (   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                new  Page < > ( query . getCurrent ( ) ,  query . getSize ( ) ) ,   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                Wrappers . < EntrustMaterialCheckoutResult > lambdaQuery ( )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                        . eq ( StrUtil . isNotBlank ( query . getEntrustId ( ) ) ,  EntrustMaterialCheckoutResult : : getEntrustId ,  query . getEntrustId ( ) )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                        . orderByDesc ( EntrustMaterialCheckoutResult : : getUpdateTime )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                Wrappers . < EntrustMaterialCheckoutResultVO  > q uery( )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                        . eq ( StrUtil . isNotBlank ( query . getEntrustId ( ) ) ,  "emr.entrust_id" ,    query . getEntrustId ( ) )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                        . orderByAsc ( "em.order_no"  )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        IPage < EntrustMaterialCheckoutResultVO >  voPage  =  new  Page < > ( ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        BeanUtils . copyProperties ( page ,  voPage ,  "records" ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        List < EntrustMaterialCheckoutResult >  records  =  page . getRecords ( ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        if  ( CollUtil . isNotEmpty ( records ) )  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            List < EntrustmentIdentificationMaterial >  entrustmentIdentificationMaterials  =  entrustmentIdentificationMaterialService . list ( Wrappers . < EntrustmentIdentificationMaterial > lambdaQuery ( ) . in ( EntrustmentIdentificationMaterial : : getId ,  records . stream ( ) . map ( EntrustMaterialCheckoutResult : : getId ) . collect ( Collectors . toSet ( ) ) ) ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            Map < String ,  EntrustmentIdentificationMaterial >  materialMap  =  entrustmentIdentificationMaterials . stream ( ) . collect ( Collectors . toMap ( EntrustmentIdentificationMaterial : : getId ,  Function . identity ( ) ) ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            List < EntrustMaterialCheckoutResultVO >  entrustMaterialCheckoutResultVOS  =  records . stream ( ) . map ( record  - >  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                EntrustMaterialCheckoutResultVO  entrustMaterialCheckoutResultVO  =  EntrustMaterialCheckoutResultConvert . entityToVO ( record ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                entrustMaterialCheckoutResultVO . setName ( materialMap . get ( record . getId ( ) ) . getName ( ) ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                return  entrustMaterialCheckoutResultVO ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            } ) . collect ( Collectors . toList ( ) ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            voPage . setRecords ( entrustMaterialCheckoutResultVOS ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        }   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        return  voPage ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    }   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    / * *   
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -315,7 +327,7 @@ public class EntrustMaterialCheckoutResultServiceImpl extends ServiceImpl<Entrus 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                    excelDTO . setFormName ( material . getFormName ( ) ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                    EntrustMaterialCheckoutResult  entrustMaterialCheckoutResult  =  checkoutResultMap . get ( material . getId ( ) ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                    excelDTO . setQualitativeResult (   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                            DrugLiteConvert . convertDirtyLiteByJSON ( entrustMaterialCheckoutResult . getQualitativeResult ( ) )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                            DrugLiteConvert . getDrugLites ( entrustMaterialCheckoutResult . getQualitativeResult ( ) )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                                    . stream ( ) . map ( DrugLite : : getName ) . collect ( Collectors . joining ( "、" ) )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                    ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                    excelDTO . setQuantitativeResult ( entrustMaterialCheckoutResult . getQuantitativeResult ( ) ) ;