|  |  |  | @ -12,7 +12,9 @@ import com.alibaba.fastjson2.JSONObject; | 
			
		
	
		
			
				
					|  |  |  |  | import com.alibaba.fastjson2.TypeReference; | 
			
		
	
		
			
				
					|  |  |  |  | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | 
			
		
	
		
			
				
					|  |  |  |  | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | 
			
		
	
		
			
				
					|  |  |  |  | import com.baomidou.mybatisplus.core.metadata.IPage; | 
			
		
	
		
			
				
					|  |  |  |  | import com.baomidou.mybatisplus.core.toolkit.Wrappers; | 
			
		
	
		
			
				
					|  |  |  |  | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.mipsdl.client.CommonHttpClient; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.mipsdl.client.ctqyy.entity.InvCodeResultEntity; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.mipsdl.client.ctqyy.entity.InvProjectResultEntity; | 
			
		
	
	
		
			
				
					|  |  |  | @ -31,15 +33,9 @@ import com.glxp.mipsdl.dao.thrsys.ThrSystemBusApiDao; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.mipsdl.entity.auth.AuthUserEntity; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.mipsdl.entity.auth.AuthWarehouseEntity; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.mipsdl.entity.basic.*; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.mipsdl.entity.ctqyy.BasicSkPrescribeItemEntity; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.mipsdl.entity.ctqyy.MaterialDictEntity; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.mipsdl.entity.ctqyy.PriceClassEntity; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.mipsdl.entity.ctqyy.ThrHslbEntity; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.mipsdl.entity.ctqyy.*; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.mipsdl.entity.inout.*; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.mipsdl.entity.thrsys.ThrCorpEntity; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.mipsdl.entity.thrsys.ThrInvWarehouseEntity; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.mipsdl.entity.thrsys.ThrProductsEntity; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.mipsdl.entity.thrsys.ThrSystemBusApiEntity; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.mipsdl.entity.thrsys.*; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.mipsdl.http.HttpClient; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.mipsdl.req.base.*; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.mipsdl.req.base.forthird.ForInvProductsFilter; | 
			
		
	
	
		
			
				
					|  |  |  | @ -50,12 +46,16 @@ import com.glxp.mipsdl.req.zzzyy.ZzzyyRequest; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.mipsdl.res.BaseResponse; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.mipsdl.res.PageSimpleResponse; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.mipsdl.res.ctqyy.CtBaseResponse; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.mipsdl.res.ctqyy.ThrOrderResponse; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.mipsdl.res.udiwms.*; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.mipsdl.service.auth.AuthWarehouseService; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.mipsdl.service.order.OrderUploadLogService; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.mipsdl.service.system.SysParamConfigService; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.mipsdl.service.thrsys.ThrCorpService; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.mipsdl.service.thrsys.ThrSystemDetailService; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.mipsdl.thirddao.ctqyy.PhysicDictMapper; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.mipsdl.thirddao.ctqyy.PlanInfoMapper; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.mipsdl.thirddao.ctqyy.PresInfoMapper; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.mipsdl.util.*; | 
			
		
	
		
			
				
					|  |  |  |  | import lombok.extern.slf4j.Slf4j; | 
			
		
	
		
			
				
					|  |  |  |  | import org.dom4j.Document; | 
			
		
	
	
		
			
				
					|  |  |  | @ -116,6 +116,13 @@ public class CtqyyClient extends CommonHttpClient { | 
			
		
	
		
			
				
					|  |  |  |  |     BasicProductsDao basicProductsDao; | 
			
		
	
		
			
				
					|  |  |  |  |     @Resource | 
			
		
	
		
			
				
					|  |  |  |  |     private OrderUploadLogService orderUploadLogService; | 
			
		
	
		
			
				
					|  |  |  |  |     @Resource | 
			
		
	
		
			
				
					|  |  |  |  |     private PhysicDictMapper physicDictMapper; | 
			
		
	
		
			
				
					|  |  |  |  |     @Resource | 
			
		
	
		
			
				
					|  |  |  |  |     private PresInfoMapper presInfoMapper; | 
			
		
	
		
			
				
					|  |  |  |  |     @Resource | 
			
		
	
		
			
				
					|  |  |  |  |     private PlanInfoMapper planInfoMapper; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     /** | 
			
		
	
		
			
				
					|  |  |  |  |      * 拼接xml请求头 | 
			
		
	
	
		
			
				
					|  |  |  | @ -185,9 +192,15 @@ public class CtqyyClient extends CommonHttpClient { | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     /** | 
			
		
	
		
			
				
					|  |  |  |  |      * 器械从三方拉取 | 
			
		
	
		
			
				
					|  |  |  |  |      * 药品从视图拉取 | 
			
		
	
		
			
				
					|  |  |  |  |      * @param udiwmsProductRequest | 
			
		
	
		
			
				
					|  |  |  |  |      * @return | 
			
		
	
		
			
				
					|  |  |  |  |      */ | 
			
		
	
		
			
				
					|  |  |  |  |     @Override | 
			
		
	
		
			
				
					|  |  |  |  |     public BaseResponse getProducts(UdiwmsProductRequest udiwmsProductRequest) { | 
			
		
	
		
			
				
					|  |  |  |  |         if(udiwmsProductRequest.getProductType().equals(Constants.PRODUCT_TYPE_DEVICE)){ | 
			
		
	
		
			
				
					|  |  |  |  |             CtqyyRequest ctqyyRequest = new CtqyyRequest(); | 
			
		
	
		
			
				
					|  |  |  |  |             ctqyyRequest.setMsgHeader(getMsgHeader("getMaterialDict")); | 
			
		
	
		
			
				
					|  |  |  |  |             ctqyyRequest.setMsgBody(JSONUtil.toJsonStr(udiwmsProductRequest)); | 
			
		
	
	
		
			
				
					|  |  |  | @ -218,6 +231,34 @@ public class CtqyyClient extends CommonHttpClient { | 
			
		
	
		
			
				
					|  |  |  |  |                 log.error("异常信息:{}", e); | 
			
		
	
		
			
				
					|  |  |  |  |                 return ResultVOUtils.error(500, "网络错误,或远程服务器异常无法返回正确结果(" + response + ")"); | 
			
		
	
		
			
				
					|  |  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  |  |         }else if(udiwmsProductRequest.getProductType().equals(Constants.PRODUCT_TYPE_DRUG)){ | 
			
		
	
		
			
				
					|  |  |  |  |             LambdaQueryWrapper<PhysicDictEntity> wrapper = new LambdaQueryWrapper(); | 
			
		
	
		
			
				
					|  |  |  |  |             //补充其他查询条件
 | 
			
		
	
		
			
				
					|  |  |  |  |             wrapper.eq(StrUtil.isNotBlank(udiwmsProductRequest.getCode()),PhysicDictEntity::getPhysicCode,udiwmsProductRequest.getCode()); | 
			
		
	
		
			
				
					|  |  |  |  |             wrapper.eq(StrUtil.isNotBlank(udiwmsProductRequest.getName()),PhysicDictEntity::getPhysicName,udiwmsProductRequest.getName()); | 
			
		
	
		
			
				
					|  |  |  |  |             wrapper.eq(StrUtil.isNotBlank(udiwmsProductRequest.getRegisterNo()),PhysicDictEntity::getPhysicNo,udiwmsProductRequest.getRegisterNo()); | 
			
		
	
		
			
				
					|  |  |  |  |             IPage<PhysicDictEntity> page = physicDictMapper.selectPage(new Page<PhysicDictEntity>(udiwmsProductRequest.getPage(),udiwmsProductRequest.getLimit()),wrapper); | 
			
		
	
		
			
				
					|  |  |  |  |             List<PhysicDictEntity> physicDictEntities = page.getRecords(); | 
			
		
	
		
			
				
					|  |  |  |  |             List<ThrProductsEntity> thrProductsEntityList = null; | 
			
		
	
		
			
				
					|  |  |  |  |             if(CollUtil.isNotEmpty(physicDictEntities)){ | 
			
		
	
		
			
				
					|  |  |  |  |                 //数据处理以thr_products 返回
 | 
			
		
	
		
			
				
					|  |  |  |  |                 thrProductsEntityList = physicDictEntities.stream().map(dict -> { | 
			
		
	
		
			
				
					|  |  |  |  |                     ThrProductsEntity products = new ThrProductsEntity(); | 
			
		
	
		
			
				
					|  |  |  |  |                     products.setCode(dict.getPhysicCode()); | 
			
		
	
		
			
				
					|  |  |  |  |                     products.setName(dict.getPhysicName()); | 
			
		
	
		
			
				
					|  |  |  |  |                     products.setMeasname(dict.getPhysicUnit()); | 
			
		
	
		
			
				
					|  |  |  |  |                     products.setSpec(dict.getPhysicSpec()); | 
			
		
	
		
			
				
					|  |  |  |  |                     products.setRegisterNo(dict.getPhysicNo()); | 
			
		
	
		
			
				
					|  |  |  |  |                     return products; | 
			
		
	
		
			
				
					|  |  |  |  |                 }).collect(Collectors.toList()); | 
			
		
	
		
			
				
					|  |  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  |  |             PageSimpleResponse<ThrProductsEntity> pageSimpleResponse = new PageSimpleResponse<>(); | 
			
		
	
		
			
				
					|  |  |  |  |             pageSimpleResponse.setTotal(page.getTotal()); | 
			
		
	
		
			
				
					|  |  |  |  |             pageSimpleResponse.setList(thrProductsEntityList); | 
			
		
	
		
			
				
					|  |  |  |  |             return ResultVOUtils.success(pageSimpleResponse); | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  |         log.error("解析长泰区医院医疗类型,返回结果:{}", udiwmsProductRequest.getProductType()); | 
			
		
	
		
			
				
					|  |  |  |  |         return ResultVOUtils.error(500,"医疗类型不正确,medicalType:"+udiwmsProductRequest.getProductType()); | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     @Override | 
			
		
	
	
		
			
				
					|  |  |  | @ -1305,4 +1346,71 @@ public class CtqyyClient extends CommonHttpClient { | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  |         return udiwmsPreInOrderRequest; | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     /** | 
			
		
	
		
			
				
					|  |  |  |  |      * 处方拉取视图 | 
			
		
	
		
			
				
					|  |  |  |  |      * @param udiwmsBasicSkPrescribeRequest | 
			
		
	
		
			
				
					|  |  |  |  |      * @return | 
			
		
	
		
			
				
					|  |  |  |  |      */ | 
			
		
	
		
			
				
					|  |  |  |  |     @Override | 
			
		
	
		
			
				
					|  |  |  |  |     public BaseResponse getPrescribes(UdiwmsBasicSkPrescribeRequest udiwmsBasicSkPrescribeRequest) { | 
			
		
	
		
			
				
					|  |  |  |  |         LambdaQueryWrapper<PresInfoEntity> wrapper = new LambdaQueryWrapper(); | 
			
		
	
		
			
				
					|  |  |  |  |         //补充其他查询条件
 | 
			
		
	
		
			
				
					|  |  |  |  |         IPage<PresInfoEntity> page = presInfoMapper.selectPage(new Page<PresInfoEntity>(udiwmsBasicSkPrescribeRequest.getPage(),udiwmsBasicSkPrescribeRequest.getLimit()),wrapper); | 
			
		
	
		
			
				
					|  |  |  |  |         List<PresInfoEntity> presInfoEntities = page.getRecords(); | 
			
		
	
		
			
				
					|  |  |  |  |         List<BasicSkPrescribeResponse> basicSkPrescribeResponses = null; | 
			
		
	
		
			
				
					|  |  |  |  |         if(CollUtil.isNotEmpty(presInfoEntities)){ | 
			
		
	
		
			
				
					|  |  |  |  |             //数据处理以basic_sk_prescribe,basic_sk_prescribe_item 主子返回
 | 
			
		
	
		
			
				
					|  |  |  |  |             basicSkPrescribeResponses = presInfoEntities.stream().map(pres -> { | 
			
		
	
		
			
				
					|  |  |  |  |                 BasicSkPrescribeResponse basicSkPrescribeResponse = new BasicSkPrescribeResponse(); | 
			
		
	
		
			
				
					|  |  |  |  |                 List<BasicSkPrescribeItemEntity> itemList = new ArrayList<>(); | 
			
		
	
		
			
				
					|  |  |  |  |                 BasicSkPrescribeItemEntity item = new BasicSkPrescribeItemEntity(); | 
			
		
	
		
			
				
					|  |  |  |  |                 //TODO 封装数据
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |                 itemList.add(item); | 
			
		
	
		
			
				
					|  |  |  |  |                 basicSkPrescribeResponse.setItemList(itemList); | 
			
		
	
		
			
				
					|  |  |  |  |                 return basicSkPrescribeResponse; | 
			
		
	
		
			
				
					|  |  |  |  |             }).collect(Collectors.toList()); | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  |         PageSimpleResponse<BasicSkPrescribeResponse> pageSimpleResponse = new PageSimpleResponse<>(); | 
			
		
	
		
			
				
					|  |  |  |  |         pageSimpleResponse.setTotal(page.getTotal()); | 
			
		
	
		
			
				
					|  |  |  |  |         pageSimpleResponse.setList(basicSkPrescribeResponses); | 
			
		
	
		
			
				
					|  |  |  |  |         return ResultVOUtils.success(pageSimpleResponse); | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     /** | 
			
		
	
		
			
				
					|  |  |  |  |      * 采购计划拉取视图 | 
			
		
	
		
			
				
					|  |  |  |  |      * @param udiwmsThrOrderRequest | 
			
		
	
		
			
				
					|  |  |  |  |      * @return | 
			
		
	
		
			
				
					|  |  |  |  |      */ | 
			
		
	
		
			
				
					|  |  |  |  |     @Override | 
			
		
	
		
			
				
					|  |  |  |  |     public BaseResponse getThrOrders(UdiwmsThrOrderRequest udiwmsThrOrderRequest) { | 
			
		
	
		
			
				
					|  |  |  |  |         LambdaQueryWrapper<PlanInfoEntity> wrapper = new LambdaQueryWrapper<>(); | 
			
		
	
		
			
				
					|  |  |  |  |         //补充其他查询条件
 | 
			
		
	
		
			
				
					|  |  |  |  |         IPage<PlanInfoEntity> page = planInfoMapper.selectPage(new Page<PlanInfoEntity>(udiwmsThrOrderRequest.getPage(),udiwmsThrOrderRequest.getLimit()),wrapper); | 
			
		
	
		
			
				
					|  |  |  |  |         List<PlanInfoEntity> planInfoEntities = page.getRecords(); | 
			
		
	
		
			
				
					|  |  |  |  |         List<ThrOrderResponse> thrOrderResponses = null; | 
			
		
	
		
			
				
					|  |  |  |  |         if(CollUtil.isNotEmpty(planInfoEntities)){ | 
			
		
	
		
			
				
					|  |  |  |  |             //数据处理以thr_order,thr_order_detail 主子返回
 | 
			
		
	
		
			
				
					|  |  |  |  |             thrOrderResponses = planInfoEntities.stream().map(plan->{ | 
			
		
	
		
			
				
					|  |  |  |  |                 ThrOrderResponse thrOrderResponse = new ThrOrderResponse(); | 
			
		
	
		
			
				
					|  |  |  |  |                 List<ThrOrderDetailEntity> detailList = new ArrayList<>(); | 
			
		
	
		
			
				
					|  |  |  |  |                 ThrOrderDetailEntity detail = new ThrOrderDetailEntity(); | 
			
		
	
		
			
				
					|  |  |  |  |                 //TODO 封装数据
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |                 detailList.add(detail); | 
			
		
	
		
			
				
					|  |  |  |  |                 thrOrderResponse.setDetailList(detailList); | 
			
		
	
		
			
				
					|  |  |  |  |                 return thrOrderResponse; | 
			
		
	
		
			
				
					|  |  |  |  |             }).collect(Collectors.toList()); | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  |         PageSimpleResponse<ThrOrderResponse> pageSimpleResponse = new PageSimpleResponse<>(); | 
			
		
	
		
			
				
					|  |  |  |  |         pageSimpleResponse.setTotal(page.getTotal()); | 
			
		
	
		
			
				
					|  |  |  |  |         pageSimpleResponse.setList(thrOrderResponses); | 
			
		
	
		
			
				
					|  |  |  |  |         return ResultVOUtils.success(pageSimpleResponse); | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | } | 
			
		
	
	
		
			
				
					|  |  |  | 
 |