|  |  |  | @ -9,6 +9,7 @@ import com.glxp.api.service.thrsys.BasicInsDrugService; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.api.service.thrsys.BasicInsMaterialService; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.api.util.IntUtil; | 
			
		
	
		
			
				
					|  |  |  |  | import org.apache.xmlbeans.impl.xb.xsdschema.Public; | 
			
		
	
		
			
				
					|  |  |  |  | import org.aspectj.weaver.ast.Var; | 
			
		
	
		
			
				
					|  |  |  |  | import org.springframework.beans.BeanUtils; | 
			
		
	
		
			
				
					|  |  |  |  | import cn.hutool.core.collection.CollUtil; | 
			
		
	
		
			
				
					|  |  |  |  | import cn.hutool.core.util.IdUtil; | 
			
		
	
	
		
			
				
					|  |  |  | @ -32,6 +33,7 @@ import com.glxp.api.util.udi.UdiInfoUtil; | 
			
		
	
		
			
				
					|  |  |  |  | import org.springframework.stereotype.Service; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | import javax.annotation.Resource; | 
			
		
	
		
			
				
					|  |  |  |  | import java.util.Collections; | 
			
		
	
		
			
				
					|  |  |  |  | import java.util.Date; | 
			
		
	
		
			
				
					|  |  |  |  | import java.util.List; | 
			
		
	
		
			
				
					|  |  |  |  | import java.util.stream.Collectors; | 
			
		
	
	
		
			
				
					|  |  |  | @ -271,6 +273,7 @@ public class UdiContrastService { | 
			
		
	
		
			
				
					|  |  |  |  |                 ThrInsDrugFeeRequest thrInsDrugFeeRequest = new ThrInsDrugFeeRequest(); | 
			
		
	
		
			
				
					|  |  |  |  |                 thrInsDrugFeeRequest.setMedCatalogCode(thrProductsEntity.getYbbm()); | 
			
		
	
		
			
				
					|  |  |  |  |                 List<BasicInsDrugEntity> basicInsDrugEntities = basicInsDrugService.filterList(thrInsDrugFeeRequest); | 
			
		
	
		
			
				
					|  |  |  |  |                 Collections.sort(basicInsDrugEntities, (o1, o2) -> o1.getTradeName().compareTo(o2.getTradeName())); | 
			
		
	
		
			
				
					|  |  |  |  |                 List<BasicInsDrugEntity> filteredEntities = basicInsDrugEntities.stream() | 
			
		
	
		
			
				
					|  |  |  |  |                         .filter(entity -> entity.getGenericName() != null) // 过滤掉 genericName 为 null 的元素
 | 
			
		
	
		
			
				
					|  |  |  |  |                         .collect(Collectors.toList()); | 
			
		
	
	
		
			
				
					|  |  |  | @ -282,6 +285,7 @@ public class UdiContrastService { | 
			
		
	
		
			
				
					|  |  |  |  |                         throw  new JsonException(500,"系统繁忙"); | 
			
		
	
		
			
				
					|  |  |  |  |                     } | 
			
		
	
		
			
				
					|  |  |  |  |                 } | 
			
		
	
		
			
				
					|  |  |  |  |                 int packLevel = 1; // 初始化计数器
 | 
			
		
	
		
			
				
					|  |  |  |  |                 //循环插入
 | 
			
		
	
		
			
				
					|  |  |  |  |                 for (BasicInsDrugEntity basicInsDrug : basicInsDrugEntities){ | 
			
		
	
		
			
				
					|  |  |  |  |                     UdiProductEntity udiProductEntity = new UdiProductEntity(); | 
			
		
	
	
		
			
				
					|  |  |  | @ -299,6 +303,8 @@ public class UdiContrastService { | 
			
		
	
		
			
				
					|  |  |  |  |                     udiProductEntity.setPackUnit(basicInsDrug.getMinPackagingUnit() != null  ? basicInsDrug.getMinPackagingUnit() : basicInsDrugEntity.getMinPackagingUnit()); | 
			
		
	
		
			
				
					|  |  |  |  |                     //设置最小产品数量
 | 
			
		
	
		
			
				
					|  |  |  |  |                     udiProductEntity.setBhxjsl(basicInsDrug.getMinPackagingQuantity() != null  ? basicInsDrug.getMinPackagingQuantity() : basicInsDrugEntity.getMinPackagingQuantity()); | 
			
		
	
		
			
				
					|  |  |  |  |                     //设置包装级别
 | 
			
		
	
		
			
				
					|  |  |  |  |                     udiProductEntity.setPackLevel(packLevel + ""); | 
			
		
	
		
			
				
					|  |  |  |  |                     //生产厂家
 | 
			
		
	
		
			
				
					|  |  |  |  |                     udiProductEntity.setManufactory(basicInsDrug.getManufacturerName() != null  ? basicInsDrug.getManufacturerName() : basicInsDrugEntity.getManufacturerName()); | 
			
		
	
		
			
				
					|  |  |  |  |                     //商品条码 essentialDrugMarkName sptm
 | 
			
		
	
	
		
			
				
					|  |  |  | @ -319,11 +325,12 @@ public class UdiContrastService { | 
			
		
	
		
			
				
					|  |  |  |  |                     } | 
			
		
	
		
			
				
					|  |  |  |  |                     udiProductEntity = UdiInfoUtil.initUdiInfoEntity(udiProductEntity); | 
			
		
	
		
			
				
					|  |  |  |  |                     udiProductService.insertUdiInfo(udiProductEntity); | 
			
		
	
		
			
				
					|  |  |  |  |                     packLevel++; | 
			
		
	
		
			
				
					|  |  |  |  |                 } | 
			
		
	
		
			
				
					|  |  |  |  |                 setLevel(udiRelevanceEntity.getUuid()); | 
			
		
	
		
			
				
					|  |  |  |  |                 UdiProductEntity byUuid = udiProductService.findByUuid(udiRelevanceEntity.getUuid()); | 
			
		
	
		
			
				
					|  |  |  |  |                 udiRelevanceEntity = udiRelevanceService.insertDefaultLevel(udiRelevanceEntity, byUuid); | 
			
		
	
		
			
				
					|  |  |  |  |                 udiRelevanceService.insertUdiRelevance(udiRelevanceEntity); | 
			
		
	
		
			
				
					|  |  |  |  |                 return ; | 
			
		
	
		
			
				
					|  |  |  |  |             }else { | 
			
		
	
		
			
				
					|  |  |  |  |                 //器械
 | 
			
		
	
		
			
				
					|  |  |  |  |                 ThrInsMaterialFeeRequest request = new ThrInsMaterialFeeRequest(); | 
			
		
	
	
		
			
				
					|  |  |  | @ -511,4 +518,29 @@ public class UdiContrastService { | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     public void setLevel(String uuid){ | 
			
		
	
		
			
				
					|  |  |  |  |         List<UdiProductEntity> list = udiProductService.getList(uuid); | 
			
		
	
		
			
				
					|  |  |  |  |         if (list.size() > 1){ | 
			
		
	
		
			
				
					|  |  |  |  |             // 根据条件设置上级和下级标识
 | 
			
		
	
		
			
				
					|  |  |  |  |             for (int i = 0; i < list.size(); i++) { | 
			
		
	
		
			
				
					|  |  |  |  |                 // 设置上级标识
 | 
			
		
	
		
			
				
					|  |  |  |  |                 if (i > 0) { | 
			
		
	
		
			
				
					|  |  |  |  |                     list.get(i).setSjcpbm(String.valueOf(list.get(i - 1).getNameCode())); | 
			
		
	
		
			
				
					|  |  |  |  |                 } else { | 
			
		
	
		
			
				
					|  |  |  |  |                     // 第一个对象没有上级标识,可以设置为null或者特定的值
 | 
			
		
	
		
			
				
					|  |  |  |  |                     list.get(i).setSjcpbm(null); | 
			
		
	
		
			
				
					|  |  |  |  |                 } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |                 // 设置下级标识
 | 
			
		
	
		
			
				
					|  |  |  |  |                 if (i < list.size() - 1) { | 
			
		
	
		
			
				
					|  |  |  |  |                     list.get(i).setBhxjcpbm(String.valueOf(list.get(i + 1).getNameCode())); | 
			
		
	
		
			
				
					|  |  |  |  |                 } else { | 
			
		
	
		
			
				
					|  |  |  |  |                     // 最后一个对象没有下级标识,设置为null
 | 
			
		
	
		
			
				
					|  |  |  |  |                     list.get(i).setBhxjcpbm(null); | 
			
		
	
		
			
				
					|  |  |  |  |                 } | 
			
		
	
		
			
				
					|  |  |  |  |                 udiProductService.updateUdiInfo(list.get(i)); | 
			
		
	
		
			
				
					|  |  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | } | 
			
		
	
	
		
			
				
					|  |  |  | 
 |