|  |  |  | @ -62,10 +62,8 @@ import org.springframework.beans.BeanUtils; | 
			
		
	
		
			
				
					|  |  |  |  | import org.springframework.stereotype.Service; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | import javax.annotation.Resource; | 
			
		
	
		
			
				
					|  |  |  |  | import java.util.ArrayList; | 
			
		
	
		
			
				
					|  |  |  |  | import java.util.Collections; | 
			
		
	
		
			
				
					|  |  |  |  | import java.util.List; | 
			
		
	
		
			
				
					|  |  |  |  | import java.util.Map; | 
			
		
	
		
			
				
					|  |  |  |  | import java.math.BigDecimal; | 
			
		
	
		
			
				
					|  |  |  |  | import java.util.*; | 
			
		
	
		
			
				
					|  |  |  |  | import java.util.stream.Collectors; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | /** | 
			
		
	
	
		
			
				
					|  |  |  | @ -228,12 +226,18 @@ public class NjxyyClient extends CommonHttpClient { | 
			
		
	
		
			
				
					|  |  |  |  |         return baseResponse; | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     /** | 
			
		
	
		
			
				
					|  |  |  |  |      * 扫码获取高值耗材库存 | 
			
		
	
		
			
				
					|  |  |  |  |      * | 
			
		
	
		
			
				
					|  |  |  |  |      * @param forInvProductsFilter | 
			
		
	
		
			
				
					|  |  |  |  |      * @return | 
			
		
	
		
			
				
					|  |  |  |  |      */ | 
			
		
	
		
			
				
					|  |  |  |  |     @Override | 
			
		
	
		
			
				
					|  |  |  |  |     public BaseResponse queryUdiHighInvProductsFilter(ForInvProductsFilter forInvProductsFilter) { | 
			
		
	
		
			
				
					|  |  |  |  |         //入参业务系统字段控制
 | 
			
		
	
		
			
				
					|  |  |  |  |         FilterInvProductRequest filterInvProductRequest = new FilterInvProductRequest(); | 
			
		
	
		
			
				
					|  |  |  |  |         BeanUtils.copyProperties(forInvProductsFilter, filterInvProductRequest); | 
			
		
	
		
			
				
					|  |  |  |  |         log.info("HIS扫码获取高值耗材库存:" + JSONUtil.toJsonStr(forInvProductsFilter)); | 
			
		
	
		
			
				
					|  |  |  |  |         //调用业务系统http
 | 
			
		
	
		
			
				
					|  |  |  |  |         String response = httpClient.postUDIWMSJson(thirdSysConfig.getPostInvHighProductsFilterUrl(), filterInvProductRequest); | 
			
		
	
		
			
				
					|  |  |  |  |         //业务系统返回参数 字段控制
 | 
			
		
	
	
		
			
				
					|  |  |  | @ -585,12 +589,18 @@ public class NjxyyClient extends CommonHttpClient { | 
			
		
	
		
			
				
					|  |  |  |  |         return baseResponse; | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     /** | 
			
		
	
		
			
				
					|  |  |  |  |      * HIS获取普耗库存 | 
			
		
	
		
			
				
					|  |  |  |  |      * | 
			
		
	
		
			
				
					|  |  |  |  |      * @param forBasicProductsSearchFilter | 
			
		
	
		
			
				
					|  |  |  |  |      * @return | 
			
		
	
		
			
				
					|  |  |  |  |      */ | 
			
		
	
		
			
				
					|  |  |  |  |     @Override | 
			
		
	
		
			
				
					|  |  |  |  |     public BaseResponse queryUdiBasicProductsSearch(ForBasicProductsSearchFilter forBasicProductsSearchFilter) { | 
			
		
	
		
			
				
					|  |  |  |  |         //入参业务系统字段控制
 | 
			
		
	
		
			
				
					|  |  |  |  |         FilterUdiRelRequest filterUdiRelRequest = new FilterUdiRelRequest(); | 
			
		
	
		
			
				
					|  |  |  |  |         BeanUtils.copyProperties(forBasicProductsSearchFilter, filterUdiRelRequest); | 
			
		
	
		
			
				
					|  |  |  |  |         log.info("HIS获取普耗库存:" + JSONUtil.toJsonStr(forBasicProductsSearchFilter)); | 
			
		
	
		
			
				
					|  |  |  |  |         //调用业务系统http
 | 
			
		
	
		
			
				
					|  |  |  |  |         String response = httpClient.postUDIWMSJson(thirdSysConfig.getPostBasicProductsSearch(), filterUdiRelRequest); | 
			
		
	
		
			
				
					|  |  |  |  |         //业务系统返回参数 字段控制
 | 
			
		
	
	
		
			
				
					|  |  |  | @ -607,8 +617,6 @@ public class NjxyyClient extends CommonHttpClient { | 
			
		
	
		
			
				
					|  |  |  |  |             newPageSimpleResponse.setTotal(pageSimpleResponse.getTotal()); | 
			
		
	
		
			
				
					|  |  |  |  |             newPageSimpleResponse.setList(newList); | 
			
		
	
		
			
				
					|  |  |  |  |             baseResponse.setData(newPageSimpleResponse); | 
			
		
	
		
			
				
					|  |  |  |  |         } else { | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  |         return baseResponse; | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
	
		
			
				
					|  |  |  | @ -616,32 +624,50 @@ public class NjxyyClient extends CommonHttpClient { | 
			
		
	
		
			
				
					|  |  |  |  |     @Override | 
			
		
	
		
			
				
					|  |  |  |  |     public BaseResponse queryUdiInvOutScanCode(ForInvOutScanCodeFilter forInvOutScanCodeFilter) { | 
			
		
	
		
			
				
					|  |  |  |  |         ForInvOutScanCodeRequest forInvOutScanCodeRequest = new ForInvOutScanCodeRequest(); | 
			
		
	
		
			
				
					|  |  |  |  |         System.out.println(JSON.toJSONString(forInvOutScanCodeFilter)); | 
			
		
	
		
			
				
					|  |  |  |  |         // TODO: 2024/3/15  forInvOutScanCodeFilter 转换为  入参的业务系统的实体 forInvOutScanCodeRequest
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         /** | 
			
		
	
		
			
				
					|  |  |  |  |          * 以下测试内容============================== | 
			
		
	
		
			
				
					|  |  |  |  |          */ | 
			
		
	
		
			
				
					|  |  |  |  |         IoOrderRequest ioOrderRequest = new IoOrderRequest(); | 
			
		
	
		
			
				
					|  |  |  |  |         ioOrderRequest.setAction("qqqqq"); | 
			
		
	
		
			
				
					|  |  |  |  |         ioOrderRequest.setAction("SC20250702001");          //设置默认出库单据类型
 | 
			
		
	
		
			
				
					|  |  |  |  |         ioOrderRequest.setCreateTime(new Date()); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         ForInvOutScanCodeFilter.Billbaseinfo billbaseinfo = forInvOutScanCodeFilter.getBillbaseinfo(); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         ioOrderRequest.setCreateUser(billbaseinfo.getUserid()); | 
			
		
	
		
			
				
					|  |  |  |  |         if (StrUtil.isNotEmpty(billbaseinfo.getDeptid())) { | 
			
		
	
		
			
				
					|  |  |  |  |             AuthWarehouseEntity authWarehouseEntity = authWarehouseDao.selectOne(new QueryWrapper<AuthWarehouseEntity>().eq("thirdId", billbaseinfo.getDeptid()).last("limit 1")); | 
			
		
	
		
			
				
					|  |  |  |  |             if (authWarehouseEntity == null) | 
			
		
	
		
			
				
					|  |  |  |  |                 return ResultVOUtils.error(500, "UDI系统科室未对照!"); | 
			
		
	
		
			
				
					|  |  |  |  |             ioOrderRequest.setInvCode(authWarehouseEntity.getCode()); | 
			
		
	
		
			
				
					|  |  |  |  |             ioOrderRequest.setDeptCode(authWarehouseEntity.getParentId()); | 
			
		
	
		
			
				
					|  |  |  |  |         } else | 
			
		
	
		
			
				
					|  |  |  |  |             return ResultVOUtils.error(500, "HIS执行科室不能为空!"); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         ForInvOutScanCodeFilter.Patientinfo patientinfo = forInvOutScanCodeFilter.getPatientinfo(); | 
			
		
	
		
			
				
					|  |  |  |  |         ioOrderRequest.setFromCorp(patientinfo.getInpatientid()); | 
			
		
	
		
			
				
					|  |  |  |  |         ioOrderRequest.setRemark(patientinfo.getInpatientid() + "-" + patientinfo.getName()); | 
			
		
	
		
			
				
					|  |  |  |  |         ioOrderRequest.setSickerAdNum(patientinfo.getInpatientid()); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         List<ForInvOutScanCodeFilter.Highvalue> highvalues = forInvOutScanCodeFilter.getHighvaluelist(); | 
			
		
	
		
			
				
					|  |  |  |  |         if (CollUtil.isEmpty(highvalues)) | 
			
		
	
		
			
				
					|  |  |  |  |             return ResultVOUtils.error(500, "耗材使用信息不能为空!"); | 
			
		
	
		
			
				
					|  |  |  |  |         List<IoOrderCodeRequest> codeRequestList = new ArrayList<>(); | 
			
		
	
		
			
				
					|  |  |  |  |         IoOrderCodeRequest ioOrderCodeRequest = new IoOrderCodeRequest(); | 
			
		
	
		
			
				
					|  |  |  |  |         ioOrderCodeRequest.setCode("11111"); | 
			
		
	
		
			
				
					|  |  |  |  |         codeRequestList.add(ioOrderCodeRequest); | 
			
		
	
		
			
				
					|  |  |  |  |         for (ForInvOutScanCodeFilter.Highvalue highvalue : highvalues) { | 
			
		
	
		
			
				
					|  |  |  |  |             IoOrderCodeRequest codeRequest = new IoOrderCodeRequest(); | 
			
		
	
		
			
				
					|  |  |  |  |             codeRequest.setCode(highvalue.getUdicode()); | 
			
		
	
		
			
				
					|  |  |  |  |             codeRequest.setInvCode(ioOrderRequest.getInvCode()); | 
			
		
	
		
			
				
					|  |  |  |  |             if (StrUtil.isNotEmpty(highvalue.getPrice())) { | 
			
		
	
		
			
				
					|  |  |  |  |                 codeRequest.setPrice(new BigDecimal(highvalue.getPrice())); | 
			
		
	
		
			
				
					|  |  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  |  |             if (IntUtil.value(highvalue.getQuantity()) == 0) { | 
			
		
	
		
			
				
					|  |  |  |  |                 return ResultVOUtils.error(500, "耗材数量不能为空!"); | 
			
		
	
		
			
				
					|  |  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  |  |             codeRequest.setCount(IntUtil.value(highvalue.getQuantity())); | 
			
		
	
		
			
				
					|  |  |  |  |             codeRequestList.add(codeRequest); | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         forInvOutScanCodeRequest.setCodeRequestList(codeRequestList); | 
			
		
	
		
			
				
					|  |  |  |  |         forInvOutScanCodeRequest.setIoOrderRequest(ioOrderRequest); | 
			
		
	
		
			
				
					|  |  |  |  |         /** | 
			
		
	
		
			
				
					|  |  |  |  |          * ============================================ | 
			
		
	
		
			
				
					|  |  |  |  |          */ | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         String response = httpClient.postUDIWMSJson(thirdSysConfig.getPostInvOutScanCode(), forInvOutScanCodeRequest); | 
			
		
	
		
			
				
					|  |  |  |  |         BaseResponse baseResponse = JSONObject.parseObject(response, BaseResponse.class); | 
			
		
	
		
			
				
					|  |  |  |  | //        if (baseResponse.getCode() == 20000){
 | 
			
		
	
		
			
				
					|  |  |  |  | //            ForInvOutScanCodeResponse forInvOutScanCodeResponse =
 | 
			
		
	
		
			
				
					|  |  |  |  | //                    JSONObject.parseObject(String.valueOf(baseResponse.getData()), ForInvOutScanCodeResponse.class);
 | 
			
		
	
		
			
				
					|  |  |  |  | //        }else {
 | 
			
		
	
		
			
				
					|  |  |  |  | //
 | 
			
		
	
		
			
				
					|  |  |  |  | //        }
 | 
			
		
	
		
			
				
					|  |  |  |  |         return baseResponse; | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  |  | 
 |