|  |  | @ -426,14 +426,11 @@ public class UdiContrastService { | 
			
		
	
		
		
			
				
					
					|  |  |  | //                        udiProductService.insertUdiInfo(udiProductEntity);
 |  |  |  | //                        udiProductService.insertUdiInfo(udiProductEntity);
 | 
			
		
	
		
		
			
				
					
					|  |  |  |                 } |  |  |  |                 } | 
			
		
	
		
		
			
				
					
					|  |  |  |                 if (thirdAliDrugList != null && thirdAliDrugList.size() > 0) { |  |  |  |                 if (thirdAliDrugList != null && thirdAliDrugList.size() > 0) { | 
			
		
	
		
		
			
				
					
					|  |  |  |                     int errCount = 0; |  |  |  |                     thirdAliDrugList  = disposeYbDrugList(thirdAliDrugList,ybDrug); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     if (thirdAliDrugList != null && thirdAliDrugList.size() > 0) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |                         for (int i = 0; i < thirdAliDrugList.size(); i++) { |  |  |  |                         for (int i = 0; i < thirdAliDrugList.size(); i++) { | 
			
		
	
		
		
			
				
					
					|  |  |  |                             ThirdAliDrug thirdAliDrug = thirdAliDrugList.get(i); |  |  |  |                             ThirdAliDrug thirdAliDrug = thirdAliDrugList.get(i); | 
			
		
	
		
		
			
				
					
					|  |  |  |                         if(!drugRulesVerify(ybDrug,thirdAliDrug)){ |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                             errCount++; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                             continue; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                         } |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |                             udiProductEntity.setNameCode(thirdAliDrug.getNameCode()); |  |  |  |                             udiProductEntity.setNameCode(thirdAliDrug.getNameCode()); | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  |  | @ -492,9 +489,11 @@ public class UdiContrastService { | 
			
		
	
		
		
			
				
					
					|  |  |  |                             udiProductEntity.setId(IdUtil.getSnowflakeNextId()); |  |  |  |                             udiProductEntity.setId(IdUtil.getSnowflakeNextId()); | 
			
		
	
		
		
			
				
					
					|  |  |  |                             udiProductService.insertUdiInfo(udiProductEntity); |  |  |  |                             udiProductService.insertUdiInfo(udiProductEntity); | 
			
		
	
		
		
			
				
					
					|  |  |  |                         } |  |  |  |                         } | 
			
		
	
		
		
			
				
					
					|  |  |  |                     if(errCount == thirdAliDrugList.size()){ |  |  |  |                     }else { | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |                         udiProductService.insertUdiInfo(udiProductEntity); |  |  |  |                         udiProductService.insertUdiInfo(udiProductEntity); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |                     } |  |  |  |                     } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |                     try { |  |  |  |                     try { | 
			
		
	
		
		
			
				
					
					|  |  |  |                         udiRelevanceEntity.setDetailSort(Integer.valueOf(thirdAliDrugList.get(0).getPhysicDetailType())); |  |  |  |                         udiRelevanceEntity.setDetailSort(Integer.valueOf(thirdAliDrugList.get(0).getPhysicDetailType())); | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  |  | @ -603,31 +602,51 @@ public class UdiContrastService { | 
			
		
	
		
		
			
				
					
					|  |  |  |         } |  |  |  |         } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  |     public boolean drugRulesVerify(YbDrug ybDrug,ThirdAliDrug thirdAliDrug ){ |  |  |  |     public List<ThirdAliDrug> disposeYbDrugList(List<ThirdAliDrug> thirdAliDrugList,YbDrug ybDrug){ | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         List<ThirdAliDrug> list1 = new ArrayList<>(); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         List<ThirdAliDrug> list2 = new ArrayList<>(); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         for (ThirdAliDrug thirdAliDrug : thirdAliDrugList) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             String str = drugRulesVerify(ybDrug,thirdAliDrug); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             if(StringUtils.isNotEmpty(str)){ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 if(str.equals("1")){ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     list1.add(thirdAliDrug); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 }else if(str.equals("2")){ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     list2.add(thirdAliDrug); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         if(list1 !=null && list1.size() >0){ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             return list1; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         }else if(list2 !=null && list2.size() >0){ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             return list2; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         return new ArrayList<>(); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     public String drugRulesVerify(YbDrug ybDrug,ThirdAliDrug thirdAliDrug ){ | 
			
		
	
		
		
			
				
					
					|  |  |  |         try { |  |  |  |         try { | 
			
		
	
		
		
			
				
					
					|  |  |  |             Integer bzggInt = DimaUtil.trMinCount(thirdAliDrug.getBzgg()); |  |  |  |             Integer bzggInt = DimaUtil.trMinCount(thirdAliDrug.getBzgg()); | 
			
		
	
		
		
			
				
					
					|  |  |  |             // 按照医保数量与阿里包装规格对比
 |  |  |  |             // 按照医保数量与阿里包装规格对比
 | 
			
		
	
		
		
			
				
					
					|  |  |  |             if((bzggInt == ybDrug.getFactor())){ |  |  |  |             if((bzggInt == ybDrug.getFactor())){ | 
			
		
	
		
		
			
				
					
					|  |  |  |                 return true; |  |  |  |                 return "1"; | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |             } |  |  |  |             } | 
			
		
	
		
		
			
				
					
					|  |  |  |             // 医保规格拆分与阿里规格拆分做匹配
 |  |  |  |             // 医保规格拆分与阿里规格拆分做匹配
 | 
			
		
	
		
		
			
				
					
					|  |  |  |             List<String> list = DimaUtil.extractNumbers(ybDrug.getRealityOutlook()); |  |  |  |             List<String> list = DimaUtil.extractNumbers(ybDrug.getRealityOutlook()); | 
			
		
	
		
		
			
				
					
					|  |  |  |             if(list!=null && list.size() >0){ |  |  |  |             if(list!=null && list.size() >0){ | 
			
		
	
		
		
			
				
					
					|  |  |  |                 for (String str : list) { |  |  |  |                 for (String str : list) { | 
			
		
	
		
		
			
				
					
					|  |  |  |                     if(str.equals(bzggInt+"")){ |  |  |  |                     if(str.equals(String.valueOf(bzggInt))){ | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                         return true; |  |  |  |                         return "2"; | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |                     } |  |  |  |                     } | 
			
		
	
		
		
			
				
					
					|  |  |  |                 } |  |  |  |                 } | 
			
		
	
		
		
			
				
					
					|  |  |  |             } |  |  |  |             } | 
			
		
	
		
		
			
				
					
					|  |  |  |             // 医保的规格与阿里制剂规格完全匹配
 |  |  |  | //            // 医保的规格与阿里制剂规格完全匹配
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             if(thirdAliDrug.getFormSpec().equals(ybDrug.getRealityOutlook())){ |  |  |  | //            if(thirdAliDrug.getFormSpec().equals(ybDrug.getRealityOutlook())){
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                 return true; |  |  |  | //                return "3";
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             } |  |  |  | //            }
 | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |         }catch (Exception e){ |  |  |  |         }catch (Exception e){ | 
			
		
	
		
		
			
				
					
					|  |  |  |             log.error("药品校验出现错误==="+e.getMessage()); |  |  |  |             log.error("药品校验出现错误==="+e.getMessage()); | 
			
		
	
		
		
			
				
					
					|  |  |  |             return false; |  |  |  |             return null; | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |         } |  |  |  |         } | 
			
		
	
		
		
			
				
					
					|  |  |  |         return false; |  |  |  |         return null; | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  |  | 
 |