|
|
|
@ -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;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|