|  |  | @ -7,10 +7,7 @@ import com.glxp.api.constant.ConstantStatus; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.dao.basic.UdiRelevanceDao; |  |  |  | import com.glxp.api.dao.basic.UdiRelevanceDao; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.entity.basic.UdiProductEntity; |  |  |  | import com.glxp.api.entity.basic.UdiProductEntity; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.entity.basic.UdiRelevanceEntity; |  |  |  | import com.glxp.api.entity.basic.UdiRelevanceEntity; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.entity.thrsys.BasicInsMaterialEntity; |  |  |  | import com.glxp.api.entity.thrsys.*; | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.entity.thrsys.ThrProductsAddDiEntity; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.entity.thrsys.ThrProductsEntity; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.entity.thrsys.YbDrug; |  |  |  |  | 
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.exception.JsonException; |  |  |  | import com.glxp.api.exception.JsonException; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.http.NmpaUdiClient; |  |  |  | import com.glxp.api.http.NmpaUdiClient; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.req.basic.UdiCombineRequest; |  |  |  | import com.glxp.api.req.basic.UdiCombineRequest; | 
			
		
	
	
		
		
			
				
					|  |  | @ -21,12 +18,10 @@ import com.glxp.api.req.thrsys.ThrInsDrugFeeRequest; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.req.thrsys.ThrInsMaterialFeeRequest; |  |  |  | import com.glxp.api.req.thrsys.ThrInsMaterialFeeRequest; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.res.basic.UdiRelevanceResponse; |  |  |  | import com.glxp.api.res.basic.UdiRelevanceResponse; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.service.thrsys.BasicInsMaterialService; |  |  |  | import com.glxp.api.service.thrsys.BasicInsMaterialService; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | import com.glxp.api.service.thrsys.ThirdAliDrugService; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.service.thrsys.ThrProductsService; |  |  |  | import com.glxp.api.service.thrsys.ThrProductsService; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.service.thrsys.YbDrugService; |  |  |  | import com.glxp.api.service.thrsys.YbDrugService; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.util.CustomUtil; |  |  |  | import com.glxp.api.util.*; | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.util.DateUtil; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.util.GennerOrderUtils; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.util.IntUtil; |  |  |  |  | 
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.util.udi.UdiInfoUtil; |  |  |  | import com.glxp.api.util.udi.UdiInfoUtil; | 
			
		
	
		
		
			
				
					
					|  |  |  | import org.springframework.beans.BeanUtils; |  |  |  | import org.springframework.beans.BeanUtils; | 
			
		
	
		
		
			
				
					
					|  |  |  | import org.springframework.stereotype.Service; |  |  |  | import org.springframework.stereotype.Service; | 
			
		
	
	
		
		
			
				
					|  |  | @ -205,6 +200,8 @@ public class UdiContrastService { | 
			
		
	
		
		
			
				
					
					|  |  |  |                 .orElse(null); |  |  |  |                 .orElse(null); | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     @Resource | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     ThirdAliDrugService thirdAliDrugService; | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     public void createOnlyMainId(String mainId) { |  |  |  |     public void createOnlyMainId(String mainId) { | 
			
		
	
		
		
			
				
					
					|  |  |  |         FilterThrProductsRequest filterThrProductsRequest = new FilterThrProductsRequest(); |  |  |  |         FilterThrProductsRequest filterThrProductsRequest = new FilterThrProductsRequest(); | 
			
		
	
	
		
		
			
				
					|  |  | @ -233,18 +230,20 @@ public class UdiContrastService { | 
			
		
	
		
		
			
				
					
					|  |  |  |                 ybHcflDetailFilterRequest.setPage(1); |  |  |  |                 ybHcflDetailFilterRequest.setPage(1); | 
			
		
	
		
		
			
				
					
					|  |  |  |                 ybHcflDetailFilterRequest.setGoodsCode(thrProductsEntity.getYbbm()); |  |  |  |                 ybHcflDetailFilterRequest.setGoodsCode(thrProductsEntity.getYbbm()); | 
			
		
	
		
		
			
				
					
					|  |  |  |                 List<YbDrug> list = ybDrugService.getList(ybHcflDetailFilterRequest); |  |  |  |                 List<YbDrug> list = ybDrugService.getList(ybHcflDetailFilterRequest); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |                 UdiProductEntity udiProductEntity = new UdiProductEntity(); |  |  |  |                 UdiProductEntity udiProductEntity = new UdiProductEntity(); | 
			
		
	
		
		
			
				
					
					|  |  |  |                 BeanUtils.copyProperties(thrProductsEntity, udiProductEntity); |  |  |  |                 BeanUtils.copyProperties(thrProductsEntity, udiProductEntity); | 
			
		
	
		
		
			
				
					
					|  |  |  |                 udiProductEntity.setId(IdUtil.getSnowflakeNextId()); |  |  |  |                 if (list != null && list.size() > 0) { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                 if (list != null && list.size() > 0){ |  |  |  |  | 
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |                     YbDrug ybDrug = list.get(0); |  |  |  |                     YbDrug ybDrug = list.get(0); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     udiProductEntity.setId(IdUtil.getSnowflakeNextId()); | 
			
		
	
		
		
			
				
					
					|  |  |  | //                    udiProductEntity.setNameCode(thrProductsEntity.getCode());
 |  |  |  | //                    udiProductEntity.setNameCode(thrProductsEntity.getCode());
 | 
			
		
	
		
		
			
				
					
					|  |  |  |                     udiProductEntity.setPrepnSpec(ybDrug.getRealityOutlook()); |  |  |  |                     udiProductEntity.setPrepnSpec(ybDrug.getRealityOutlook()); | 
			
		
	
		
		
			
				
					
					|  |  |  |                     udiProductEntity.setZczbhhzbapzbh(ybDrug.getApprovalCode()); |  |  |  |                     udiProductEntity.setZczbhhzbapzbh(ybDrug.getApprovalCode()); | 
			
		
	
		
		
			
				
					
					|  |  |  |                     udiProductEntity.setCpmctymc(ybDrug.getRegisteredProductName()); |  |  |  |                     udiProductEntity.setCpmctymc(ybDrug.getRegisteredProductName()); | 
			
		
	
		
		
			
				
					
					|  |  |  |                     udiProductEntity.setSpmc(ybDrug.getGoodsName()); |  |  |  |                     udiProductEntity.setSpmc(ybDrug.getGoodsName()); | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |                     udiProductEntity.setBzgg(String.valueOf(ybDrug.getFactor())+ ybDrug.getMinUnit() + "/" + ybDrug.getUnit()); |  |  |  |                     udiProductEntity.setBzgg(String.valueOf(ybDrug.getFactor()) + ybDrug.getMinUnit() + "/" + ybDrug.getUnit()); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |                     udiProductEntity.setMatrial(ybDrug.getMaterialName()); |  |  |  |                     udiProductEntity.setMatrial(ybDrug.getMaterialName()); | 
			
		
	
		
		
			
				
					
					|  |  |  |                     udiProductEntity.setPackMatrial(ybDrug.getMaterialName()); |  |  |  |                     udiProductEntity.setPackMatrial(ybDrug.getMaterialName()); | 
			
		
	
		
		
			
				
					
					|  |  |  |                     udiProductEntity.setMedicareType(setMedicareType(ybDrug.getProductInsuranceType())); |  |  |  |                     udiProductEntity.setMedicareType(setMedicareType(ybDrug.getProductInsuranceType())); | 
			
		
	
	
		
		
			
				
					|  |  | @ -259,8 +258,6 @@ public class UdiContrastService { | 
			
		
	
		
		
			
				
					
					|  |  |  |                     //商品条码 essentialDrugMarkName sptm
 |  |  |  |                     //商品条码 essentialDrugMarkName sptm
 | 
			
		
	
		
		
			
				
					
					|  |  |  | //                    udiProductEntity.setSptm(ybDrug.getBusinessLicense());
 |  |  |  | //                    udiProductEntity.setSptm(ybDrug.getBusinessLicense());
 | 
			
		
	
		
		
			
				
					
					|  |  |  |                     udiProductEntity.setPrepnUnit(ybDrug.getRealityMedicinemodel()); |  |  |  |                     udiProductEntity.setPrepnUnit(ybDrug.getRealityMedicinemodel()); | 
			
		
	
		
		
			
				
					
					|  |  |  |                 } |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                     udiProductEntity.setUuid(udiRelevanceEntity.getUuid()); |  |  |  |                     udiProductEntity.setUuid(udiRelevanceEntity.getUuid()); | 
			
		
	
		
		
			
				
					
					|  |  |  |                     udiProductEntity.setDiType(1); |  |  |  |                     udiProductEntity.setDiType(1); | 
			
		
	
		
		
			
				
					
					|  |  |  |                     udiProductEntity.setScbssfbhph("是"); |  |  |  |                     udiProductEntity.setScbssfbhph("是"); | 
			
		
	
	
		
		
			
				
					|  |  | @ -276,11 +273,31 @@ public class UdiContrastService { | 
			
		
	
		
		
			
				
					
					|  |  |  |                     } |  |  |  |                     } | 
			
		
	
		
		
			
				
					
					|  |  |  |                     udiProductEntity.setUpdateTime(new Date()); |  |  |  |                     udiProductEntity.setUpdateTime(new Date()); | 
			
		
	
		
		
			
				
					
					|  |  |  |                     udiProductEntity = UdiInfoUtil.initUdiInfoEntity(udiProductEntity); |  |  |  |                     udiProductEntity = UdiInfoUtil.initUdiInfoEntity(udiProductEntity); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     List<ThirdAliDrug> thirdAliDrugList = thirdAliDrugService.findByByApproved(ybDrug.getApprovalCode()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     if (CollUtil.isNotEmpty(thirdAliDrugList)) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         for (int i = 0; i < thirdAliDrugList.size(); i++) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                             ThirdAliDrug thirdAliDrug = thirdAliDrugList.get(i); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                             List<Integer> integers = DimaUtil.calculateLevels(thirdAliDrug.getPackRatio()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                             udiProductEntity.setPackLevel(thirdAliDrug.getPackLevel()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                             udiProductEntity.setBhxjsl(integers.get(IntUtil.value(thirdAliDrug.getPackLevel()) - 1)); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                             udiProductEntity.setNameCode(thirdAliDrug.getNameCode()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                             if (IntUtil.value(thirdAliDrug.getPackLevel()) == 1) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                                 udiProductEntity.setXjdw(ybDrug.getMinUnit()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                                 udiProductEntity.setBhxjsl(ybDrug.getFactor()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                             } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                             udiProductEntity.setDiType(IntUtil.value(thirdAliDrug.getPackLevel()) == 1 ? 1 : 4); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                             udiProductEntity.setId(IdUtil.getSnowflakeNextId()); | 
			
		
	
		
		
			
				
					
					|  |  |  |                             udiProductService.insertUdiInfo(udiProductEntity); |  |  |  |                             udiProductService.insertUdiInfo(udiProductEntity); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     } else { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         udiProductService.insertUdiInfo(udiProductEntity); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 } | 
			
		
	
		
		
			
				
					
					|  |  |  | //                setLevel(udiRelevanceEntity.getUuid());
 |  |  |  | //                setLevel(udiRelevanceEntity.getUuid());
 | 
			
		
	
		
		
			
				
					
					|  |  |  |                 UdiProductEntity byUuid = udiProductService.findByUuid(udiRelevanceEntity.getUuid()); |  |  |  |                 UdiProductEntity byUuid = udiProductService.findByUuid(udiRelevanceEntity.getUuid()); | 
			
		
	
		
		
			
				
					
					|  |  |  |                 udiRelevanceEntity = udiRelevanceService.insertDefaultLevel(udiRelevanceEntity, byUuid); |  |  |  |                 udiRelevanceEntity = udiRelevanceService.insertDefaultLevel(udiRelevanceEntity, byUuid); | 
			
		
	
		
		
			
				
					
					|  |  |  |                 udiRelevanceService.insertUdiRelevance(udiRelevanceEntity); |  |  |  |                 udiRelevanceService.insertUdiRelevance(udiRelevanceEntity); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 udiProductService.updateLevelCount(udiRelevanceEntity); | 
			
		
	
		
		
			
				
					
					|  |  |  |             } else { |  |  |  |             } else { | 
			
		
	
		
		
			
				
					
					|  |  |  |                 //器械
 |  |  |  |                 //器械
 | 
			
		
	
		
		
			
				
					
					|  |  |  |                 ThrInsMaterialFeeRequest request = new ThrInsMaterialFeeRequest(); |  |  |  |                 ThrInsMaterialFeeRequest request = new ThrInsMaterialFeeRequest(); | 
			
		
	
	
		
		
			
				
					|  |  | 
 |