|
|
|
|
package com.glxp.api.http;
|
|
|
|
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
|
|
import cn.hutool.core.collection.CollUtil;
|
|
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
|
|
import com.alibaba.fastjson.TypeReference;
|
|
|
|
|
import com.glxp.api.common.res.BaseResponse;
|
|
|
|
|
import com.glxp.api.common.util.ResultVOUtils;
|
|
|
|
|
import com.glxp.api.entity.basic.BasicSkProjectDetailEntity;
|
|
|
|
|
import com.glxp.api.entity.basic.BasicSkProjectEntity;
|
|
|
|
|
import com.glxp.api.entity.basic.BasicSkSickerEntity;
|
|
|
|
|
import com.glxp.api.entity.thrsys.ThrManufacturerEntity;
|
|
|
|
|
import com.glxp.api.entity.thrsys.ThrSystemBusApiEntity;
|
|
|
|
|
import com.glxp.api.entity.thrsys.ThrSystemEntity;
|
|
|
|
|
import com.glxp.api.http.req.UdiwmsBusTypeRequest;
|
|
|
|
|
import com.glxp.api.http.req.UdiwmsUnitRequest;
|
|
|
|
|
import com.glxp.api.req.basic.DlThirdDestinyRequest;
|
|
|
|
|
import com.glxp.api.req.basic.GetSickPrescribeRequest;
|
|
|
|
|
import com.glxp.api.req.basic.GetSickRequest;
|
|
|
|
|
import com.glxp.api.req.thrsys.*;
|
|
|
|
|
import com.glxp.api.res.PageSimpleResponse;
|
|
|
|
|
import com.glxp.api.res.basic.BasicSkPrescribeResponse;
|
|
|
|
|
import com.glxp.api.res.basic.BasicSkProjectDetailResponse;
|
|
|
|
|
import com.glxp.api.res.basic.BasicSkProjectResponse;
|
|
|
|
|
import com.glxp.api.res.basic.BasicSkSickerResponse;
|
|
|
|
|
import com.glxp.api.res.thrsys.ThrCorpsResponse;
|
|
|
|
|
import com.glxp.api.res.thrsys.ThrProductsResponse;
|
|
|
|
|
import com.glxp.api.res.thrsys.UdiwmsWarehouseDetail;
|
|
|
|
|
import com.glxp.api.service.thrsys.ThrSystemService;
|
|
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
|
import okhttp3.*;
|
|
|
|
|
import org.apache.commons.lang3.exception.ExceptionUtils;
|
|
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 第三方服务HttpClient
|
|
|
|
|
*/
|
|
|
|
|
@Slf4j
|
|
|
|
|
@Service
|
|
|
|
|
public class ErpBasicClient {
|
|
|
|
|
|
|
|
|
|
@Resource
|
|
|
|
|
private OkHttpClient okHttpClient;
|
|
|
|
|
@Resource
|
|
|
|
|
HttpOkClient httpOkClient;
|
|
|
|
|
@Resource
|
|
|
|
|
private ThrSystemService basicThirdSysService;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 获取往来单位
|
|
|
|
|
*/
|
|
|
|
|
public BaseResponse<PageSimpleResponse<ThrCorpsResponse>> getErpCrop(ThrUnitMaintainFilterRequest thrUnitMaintainFilterRequest) {
|
|
|
|
|
UdiwmsUnitRequest udiwmsUnitRequest = new UdiwmsUnitRequest();
|
|
|
|
|
BeanUtils.copyProperties(thrUnitMaintainFilterRequest, udiwmsUnitRequest);
|
|
|
|
|
udiwmsUnitRequest.setUnitId(thrUnitMaintainFilterRequest.getErpId());
|
|
|
|
|
ThrSystemEntity thrSystemEntity = basicThirdSysService.selectByThirdId(thrUnitMaintainFilterRequest.getThirdSysFk());
|
|
|
|
|
try {
|
|
|
|
|
String url = thrSystemEntity.getThridUrl() + "/udiwms/erp/getUnits";
|
|
|
|
|
String response = httpOkClient.uCloudPost(url, udiwmsUnitRequest, thrSystemEntity);
|
|
|
|
|
if (StrUtil.isBlank(response)) {
|
|
|
|
|
return ResultVOUtils.error(500, "连接第三方系统接口服务出错!");
|
|
|
|
|
}
|
|
|
|
|
BaseResponse<PageSimpleResponse<ThrCorpsResponse>> udiDlDeviceResponse =
|
|
|
|
|
JSONObject.parseObject(response, new TypeReference<BaseResponse<PageSimpleResponse<ThrCorpsResponse>>>() {
|
|
|
|
|
});
|
|
|
|
|
return udiDlDeviceResponse;
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
log.error("获取往来单位异常", e);
|
|
|
|
|
return ResultVOUtils.error(500, "连接第三方系统接口服务出错!");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 获取往来单位
|
|
|
|
|
*/
|
|
|
|
|
public BaseResponse<PageSimpleResponse<ThrManufacturerEntity>> getThrManu(ThrManuFilterRequest thrManuFilterRequest) {
|
|
|
|
|
UdiwmsUnitRequest udiwmsUnitRequest = new UdiwmsUnitRequest();
|
|
|
|
|
BeanUtils.copyProperties(thrManuFilterRequest, udiwmsUnitRequest);
|
|
|
|
|
udiwmsUnitRequest.setUnitId(thrManuFilterRequest.getErpId());
|
|
|
|
|
ThrSystemEntity thrSystemEntity = basicThirdSysService.selectByThirdId(thrManuFilterRequest.getThirdSysFk());
|
|
|
|
|
try {
|
|
|
|
|
String url = thrSystemEntity.getThridUrl() + "/udiwms/erp/getManus";
|
|
|
|
|
String response = httpOkClient.uCloudPost(url, udiwmsUnitRequest, thrSystemEntity);
|
|
|
|
|
if (StrUtil.isBlank(response)) {
|
|
|
|
|
return ResultVOUtils.error(500, "连接第三方系统接口服务出错!");
|
|
|
|
|
}
|
|
|
|
|
BaseResponse<PageSimpleResponse<ThrManufacturerEntity>> baseResponse =
|
|
|
|
|
JSONObject.parseObject(response, new TypeReference<BaseResponse<PageSimpleResponse<ThrManufacturerEntity>>>() {
|
|
|
|
|
});
|
|
|
|
|
return baseResponse;
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
log.error("获取生产企业接口异常", e);
|
|
|
|
|
return ResultVOUtils.error(500, "连接第三方系统接口服务出错!");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//获取产品信息
|
|
|
|
|
public BaseResponse<PageSimpleResponse<ThrProductsResponse>> getErpProducts(FilterThrProductsRequest filterThrProductsRequest) {
|
|
|
|
|
|
|
|
|
|
ThrSystemEntity basicThirdSysEntity = basicThirdSysService.selectByThirdId(filterThrProductsRequest.getThirdSysFk());
|
|
|
|
|
String url = basicThirdSysEntity.getThridUrl() + "/udiwms/erp/getProducts";
|
|
|
|
|
try {
|
|
|
|
|
String response = httpOkClient.uCloudPost(url, filterThrProductsRequest, basicThirdSysEntity);
|
|
|
|
|
if (StrUtil.isBlank(response)) {
|
|
|
|
|
return ResultVOUtils.error(500, "连接第三方系统接口服务出错!");
|
|
|
|
|
}
|
|
|
|
|
BaseResponse<PageSimpleResponse<ThrProductsResponse>> udiDlDeviceResponse =
|
|
|
|
|
JSONObject.parseObject(response, new TypeReference<BaseResponse<PageSimpleResponse<ThrProductsResponse>>>() {
|
|
|
|
|
});
|
|
|
|
|
return udiDlDeviceResponse;
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
log.error("获取产品信息异常", e);
|
|
|
|
|
return ResultVOUtils.error(500, "连接第三方系统接口服务出错!");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//查询仓库货位号
|
|
|
|
|
public BaseResponse<PageSimpleResponse<UdiwmsWarehouseDetail>> getWarehouse(UdiwmsWarehouseRequest udiwmsWarehouseRequest) {
|
|
|
|
|
ThrSystemEntity basicThirdSysEntity = basicThirdSysService.selectByThirdId(udiwmsWarehouseRequest.getThirdSys());
|
|
|
|
|
String url = basicThirdSysEntity.getThridUrl() + "/udiwms/erp/getWarehouse";
|
|
|
|
|
try {
|
|
|
|
|
String response = httpOkClient.uCloudPost(url, udiwmsWarehouseRequest);
|
|
|
|
|
BaseResponse<PageSimpleResponse<UdiwmsWarehouseDetail>> listBaseResponse =
|
|
|
|
|
JSONObject.parseObject(response, new TypeReference<BaseResponse<PageSimpleResponse<UdiwmsWarehouseDetail>>>() {
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
return listBaseResponse;
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
log.error("获取第三方系统的仓库货位码异常", e);
|
|
|
|
|
return ResultVOUtils.error(500, "连接第三方系统接口服务出错");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 获取患者信息
|
|
|
|
|
*
|
|
|
|
|
* @param getSickRequest
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
public BaseResponse<PageSimpleResponse<BasicSkSickerResponse>> getSicker(GetSickRequest getSickRequest) {
|
|
|
|
|
if (StrUtil.isEmpty(getSickRequest.getThirdSys())) {
|
|
|
|
|
getSickRequest.setThirdSys("thirdId");
|
|
|
|
|
}
|
|
|
|
|
ThrSystemEntity basicThirdSysEntity = basicThirdSysService.selectByThirdId(getSickRequest.getThirdSys());
|
|
|
|
|
String url = basicThirdSysEntity.getThridUrl() + "/udiwms/erp/sicker/getInfo";
|
|
|
|
|
try {
|
|
|
|
|
String response = httpOkClient.uCloudPost(url, getSickRequest);
|
|
|
|
|
BaseResponse<PageSimpleResponse<BasicSkSickerResponse>> listBaseResponse =
|
|
|
|
|
JSONObject.parseObject(response, new TypeReference<BaseResponse<PageSimpleResponse<BasicSkSickerResponse>>>() {
|
|
|
|
|
});
|
|
|
|
|
return listBaseResponse;
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
log.error("获取患者信息异常" + ExceptionUtils.getStackTrace(e));
|
|
|
|
|
return ResultVOUtils.error(500, "连接第三方系统接口服务出错");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 获取患者处方信息
|
|
|
|
|
*
|
|
|
|
|
* @param getSickPrescribeRequest
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
public BaseResponse<PageSimpleResponse<BasicSkPrescribeResponse>> getSickPrescribe(GetSickPrescribeRequest getSickPrescribeRequest) {
|
|
|
|
|
ThrSystemEntity basicThirdSysEntity = basicThirdSysService.selectByThirdId(getSickPrescribeRequest.getThirdSys());
|
|
|
|
|
String url = basicThirdSysEntity.getThridUrl() + "/udiwms/erp/sicker/getPrescribe";
|
|
|
|
|
try {
|
|
|
|
|
String response = httpOkClient.uCloudPost(url, getSickPrescribeRequest);
|
|
|
|
|
// String response = "{\"code\":20000,\"data\":{\"total\":108,\"list\":[{\"code\":\"2038979\",\"createDr\":\"卢进炜/220\",\"deptCode\":\"90\",\"deptName\":\"外科\",\"diagnosis\":\"卵巢恶性肿瘤\",\"itemList\":[{\"category\":\"项目\",\"count\":\"0\",\"ggxh\":\"\",\"itemCode\":\"121237\",\"itemName\":\"Ⅱ级护理\",\"measureUnit\":\"\",\"remark\":\"\",\"thrId\":\"121237\"}],\"prescribeDate\":\"2017-09-30 23:19:19\",\"remark\":\"\",\"sickCode\":\"0000362743\"},{\"amount\":0,\"code\":\"2038983\",\"createDr\":\"卢进炜/220\",\"deptCode\":\"90\",\"deptName\":\"外科\",\"diagnosis\":\"卵巢恶性肿瘤\",\"itemList\":[{\"amount\":0,\"category\":\"项目\",\"count\":\"0\",\"ggxh\":\"\",\"itemCode\":\"121346\",\"itemName\":\"外科护理常规\",\"measureUnit\":\"\",\"remark\":\"\",\"thrId\":\"121346\"}],\"prescribeDate\":\"2017-09-30 23:19:19\",\"remark\":\"\",\"sickCode\":\"0000362743\"},{\"amount\":18.3,\"code\":\"2091375\",\"createDr\":\"卢进炜/220\",\"deptCode\":\"90\",\"deptName\":\"外科\",\"diagnosis\":\"卵巢恶性肿瘤\",\"itemList\":[{\"amount\":18.3,\"category\":\"项目\",\"count\":\"0\",\"ggxh\":\"\",\"itemCode\":\"121914\",\"itemName\":\"鼻饲管置管\",\"measureCount\":\"1\",\"measureUnit\":\"次\",\"remark\":\"\",\"thrId\":\"121914\"}],\"prescribeDate\":\"2017-10-13 09:29:57\",\"remark\":\"\",\"sickCode\":\"0000362743\"},{\"amount\":1.3,\"code\":\"2102067\",\"createDr\":\"卢进炜/220\",\"deptCode\":\"90\",\"deptName\":\"外科\",\"diagnosis\":\"卵巢恶性肿瘤\",\"itemList\":[{\"amount\":1.3,\"category\":\"项目\",\"count\":\"0\",\"ggxh\":\"\",\"itemCode\":\"950030000004\",\"itemName\":\"一次性注射器50ml(16#側 /支)\",\"measureCount\":\"1\",\"measureUnit\":\"支\",\"remark\":\"\",\"thrId\":\"950030000004\"}],\"prescribeDate\":\"2017-10-15 23:20:22\",\"remark\":\"\",\"sickCode\":\"0000362743\"},{\"amount\":231.5,\"code\":\"2099946\",\"createDr\":\"卢进炜/220\",\"deptCode\":\"90\",\"deptName\":\"外科\",\"diagnosis\":\"卵巢恶性肿瘤\",\"itemList\":[{\"amount\":231.5,\"category\":\"项目\",\"count\":\"0\",\"ggxh\":\"\",\"itemCode\":\"121258\",\"itemName\":\"生化全套\",\"measureCount\":\"1\",\"measureUnit\":\"次\",\"remark\":\"\",\"thrId\":\"121258\"}],\"prescribeDate\":\"2017-10-15 09:31:50\",\"remark\":\"\",\"sickCode\":\"0000362743\"},{\"amount\":14.8,\"code\":\"2174111\",\"createDr\":\"卢进炜/220\",\"deptCode\":\"90\",\"deptName\":\"外科\",\"diagnosis\":\"卵巢恶性肿瘤\",\"itemList\":[{\"amount\":5.2,\"category\":\"药品\",\"count\":\"0\",\"ggxh\":\"250ml:12.5g/瓶(软袋)\",\"itemCode\":\"120007\",\"itemName\":\"5%葡萄糖注射液\",\"measureCount\":\"250\",\"measureUnit\":\"ml\",\"remark\":\"bid\",\"thrId\":\"120007\"},{\"amount\":9.6,\"category\":\"药品\",\"count\":\"0\",\"ggxh\":\"2ml:0.2g*10瓶/盒\",\"itemCode\":\"120441\",\"itemName\":\"西咪替丁注射液\",\"measureCount\":\"0.4\",\"measureUnit\":\"g\",\"remark\":\"bid\",\"thrId\":\"120441\"}],\"prescribeDate\":\"2017-10-31 09:05:06\",\"remark\":\"\",\"sickCode\":\"0000362743\"},{\"amount\":10.8,\"code\":\"2205765\",\"createDr\":\"卢进炜/220\",\"deptCode\":\"90\",\"deptName\":\"外科\",\"diagnosis\":\"卵巢恶性肿瘤\",\"itemList\":[{\"amount\":10.8,\"category\":\"项目\",\"count\":\"0\",\"ggxh\":\"\",\"itemCode\":\"122411\",\"itemName\":\"中心吸氧\",\"measureCount\":\"3\",\"measureUnit\":\"小时\",\"remark\":\"\",\"thrId\":\"122411\"}],\"prescribeDate\":\"2017-11-06 17:37:48\",\"remark\":\"\",\"sickCode\":\"0000362743\"},{\"amount\":11,\"code\":\"2069829\",\"createDr\":\"卢进炜/220\",\"deptCode\":\"90\",\"deptName\":\"外科\",\"diagnosis\":\"卵巢恶性肿瘤\",\"itemList\":[{\"amount\":11,\"category\":\"项目\",\"count\":\"0\",\"ggxh\":\"\",\"itemCode\":\"950023000006\",\"itemName\":\"3M透明敷料10*12\",\"measureCount\":\"1\",\"measureUnit\":\"片\",\"remark\":\"\",\"thrId\":\"950023000006\"}],\"prescribeDate\":\"2017-10-09 10:06:00\",\"remark\":\"\",\"sickCode\":\"0000362743\"},{\"amount\":0,\"code\":\"2069861\",\"createDr\":\"卢进炜/220\",\"dep
|
|
|
|
|
BaseResponse<PageSimpleResponse<BasicSkPrescribeResponse>> listBaseResponse =
|
|
|
|
|
JSONObject.parseObject(response, new TypeReference<BaseResponse<PageSimpleResponse<BasicSkPrescribeResponse>>>() {
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
return listBaseResponse;
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
log.error("获取患者处方信息", e);
|
|
|
|
|
return ResultVOUtils.error(500, "连接第三方系统接口服务出错");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 提交第三方产品信息
|
|
|
|
|
*
|
|
|
|
|
* @param postRelProductRequest
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
public BaseResponse<String> postRelProduct(PostRelProductRequest postRelProductRequest) {
|
|
|
|
|
ThrSystemEntity basicThirdSysEntity = basicThirdSysService.selectByThirdId("thirdId");
|
|
|
|
|
String url = basicThirdSysEntity.getThridUrl() + "/udiwms/erp/post/udiRel/product";
|
|
|
|
|
String response = "";
|
|
|
|
|
try {
|
|
|
|
|
response = httpOkClient.uCloudPost(url, postRelProductRequest);
|
|
|
|
|
BaseResponse<String> listBaseResponse =
|
|
|
|
|
JSONObject.parseObject(response, new TypeReference<BaseResponse<String>>() {
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
return listBaseResponse;
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
log.error("提交第三产品信息异常" + response, e);
|
|
|
|
|
return ResultVOUtils.error(500, "连接第三方系统接口服务出错");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//测试连通性
|
|
|
|
|
public BaseResponse testConnection(ThrSystemEntity thrSystemEntity) {
|
|
|
|
|
String response = httpOkClient.uCloudPost(thrSystemEntity.getThridUrl() + "/udiwms/erp/testLocal", "{}");
|
|
|
|
|
log.info(response);
|
|
|
|
|
if (StrUtil.isBlank(response)) {
|
|
|
|
|
return ResultVOUtils.error(500, "连接失败");
|
|
|
|
|
}
|
|
|
|
|
try {
|
|
|
|
|
return JSONObject.parseObject(response, BaseResponse.class);
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
log.info("测试第三方服务连通性失败");
|
|
|
|
|
return ResultVOUtils.error(500, "连接失败");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//测试连通性
|
|
|
|
|
public BaseResponse testThridConnect(ThrSystemEntity thrSystemEntity) {
|
|
|
|
|
String response = httpOkClient.uCloudPost(thrSystemEntity.getThridUrl() + "/udiwms/erp/testThirdSys", "{}");
|
|
|
|
|
log.info(response);
|
|
|
|
|
try {
|
|
|
|
|
return JSONObject.parseObject(response, BaseResponse.class);
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
log.info("测试第三方服务接口连通性失败");
|
|
|
|
|
return ResultVOUtils.error(500, "连接失败");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//下载第三方系统单据类型
|
|
|
|
|
public BaseResponse<PageSimpleResponse<ThrSystemBusApiEntity>> getBusTypes(FilterBasicThirdSysDetailRequest filterBasicThirdSysDetailRequest) {
|
|
|
|
|
ThrSystemEntity thrSystemEntity = basicThirdSysService.selectByThirdId(filterBasicThirdSysDetailRequest.getThirdSysFk());
|
|
|
|
|
String url = thrSystemEntity.getThridUrl() + "/udiwms/erp/getOrderType";
|
|
|
|
|
UdiwmsBusTypeRequest udiwmsBusTypeRequest = new UdiwmsBusTypeRequest();
|
|
|
|
|
udiwmsBusTypeRequest.setThirdSys(filterBasicThirdSysDetailRequest.getThirdSysFk());
|
|
|
|
|
udiwmsBusTypeRequest.setPage(filterBasicThirdSysDetailRequest.getPage());
|
|
|
|
|
udiwmsBusTypeRequest.setLimit(filterBasicThirdSysDetailRequest.getLimit());
|
|
|
|
|
try {
|
|
|
|
|
String response = httpOkClient.uCloudPost(url, udiwmsBusTypeRequest, thrSystemEntity);
|
|
|
|
|
log.info(response);
|
|
|
|
|
BaseResponse<PageSimpleResponse<ThrSystemBusApiEntity>> udiDlDeviceResponse =
|
|
|
|
|
JSONObject.parseObject(response, new TypeReference<BaseResponse<PageSimpleResponse<ThrSystemBusApiEntity>>>() {
|
|
|
|
|
});
|
|
|
|
|
if (udiDlDeviceResponse != null) {
|
|
|
|
|
return udiDlDeviceResponse;
|
|
|
|
|
} else {
|
|
|
|
|
return ResultVOUtils.error(500, "查询第三方数据失败!");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
log.error("获取单据类型异常", e);
|
|
|
|
|
return ResultVOUtils.error(500, "连接第三方系统接口服务出错!");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 上传文件到第三方接口服务,解析第三方系统产品信息并获取回调结果
|
|
|
|
|
*
|
|
|
|
|
* @param thirdSys
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
public BaseResponse<PostThrProductsRequest> uploadPi(byte[] bytes, String fileName, String thirdSys) {
|
|
|
|
|
ThrSystemEntity thrSystemEntity = basicThirdSysService.selectByThirdId(thirdSys);
|
|
|
|
|
String url = thrSystemEntity.getThridUrl() + "/udiwms/erp/pi/upload";
|
|
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
MultipartBody.Builder builder = new MultipartBody.Builder()
|
|
|
|
|
.setType(MultipartBody.FORM);
|
|
|
|
|
builder.addFormDataPart("file", fileName, RequestBody.create(MediaType.parse("application/vnd.ms-excel"), bytes));
|
|
|
|
|
builder.addFormDataPart("thirdSys", thirdSys);
|
|
|
|
|
MultipartBody multipartBody = builder.build();
|
|
|
|
|
|
|
|
|
|
Request request = new Request.Builder().url(url).post(multipartBody).build();
|
|
|
|
|
|
|
|
|
|
Response response = okHttpClient.newCall(request).execute();
|
|
|
|
|
response.close();
|
|
|
|
|
|
|
|
|
|
if (response.code() == 200) {
|
|
|
|
|
return ResultVOUtils.success("解析成功");
|
|
|
|
|
} else {
|
|
|
|
|
log.info("解析接口响应信息失败,返回信息:{}", response);
|
|
|
|
|
return ResultVOUtils.error(500, "解析第三方产品信息失败");
|
|
|
|
|
}
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
log.error("解析第三方系统产品信息失败", e);
|
|
|
|
|
return ResultVOUtils.error(500, "解析第三方系统产品信息失败");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 获取项目组套信息
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
public BaseResponse<PageSimpleResponse<BasicSkProjectResponse>> getBasicProject(DlThirdDestinyRequest dlThirdDestinyRequest) {
|
|
|
|
|
ThrSystemEntity basicThirdSysEntity = basicThirdSysService.selectByThirdId(dlThirdDestinyRequest.getThirdSys());
|
|
|
|
|
String url = basicThirdSysEntity.getThridUrl() + "/udiwms/erp/basic/getProject";
|
|
|
|
|
try {
|
|
|
|
|
String response = httpOkClient.uCloudPost(url, dlThirdDestinyRequest);
|
|
|
|
|
BaseResponse<PageSimpleResponse<BasicSkProjectResponse>> listBaseResponse =
|
|
|
|
|
JSONObject.parseObject(response, new TypeReference<BaseResponse<PageSimpleResponse<BasicSkProjectResponse>>>() {
|
|
|
|
|
});
|
|
|
|
|
return listBaseResponse;
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
log.error("获取患者处方信息", e);
|
|
|
|
|
return ResultVOUtils.error(500, "连接第三方系统接口服务出错");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|