diff --git a/src/main/java/com/glxp/mipsdl/client/BaseHttpClient.java b/src/main/java/com/glxp/mipsdl/client/BaseHttpClient.java index 092ba69..5a5faf3 100644 --- a/src/main/java/com/glxp/mipsdl/client/BaseHttpClient.java +++ b/src/main/java/com/glxp/mipsdl/client/BaseHttpClient.java @@ -1,10 +1,9 @@ package com.glxp.mipsdl.client; import com.glxp.mipsdl.req.base.*; -import com.glxp.mipsdl.req.post.PostFileThrOrderRequest; -import com.glxp.mipsdl.req.post.PostThrCorpRequest; -import com.glxp.mipsdl.req.post.PostThrInvProductsRequest; -import com.glxp.mipsdl.req.post.PostThrProductsRequest; +import com.glxp.mipsdl.req.ctqyy.GetSickPrescribeRequest; +import com.glxp.mipsdl.req.ctqyy.GetSickRequest; +import com.glxp.mipsdl.req.post.*; import com.glxp.mipsdl.res.BaseResponse; import org.springframework.web.bind.annotation.RequestBody; @@ -146,4 +145,31 @@ public interface BaseHttpClient { * @return */ BaseResponse postInvProducts(PostThrInvProductsRequest postThrInvProductsRequest); + + /** + * 提交关联产品到第三方系统接口 + * + * @param postThrInvProductsRequest + * @return + */ + BaseResponse postRelProduct(PostRelProductRequest postThrInvProductsRequest); + + /** + * 获取患者信息 + * + * @param getSickRequest + * @return + */ + BaseResponse getSickInfo(GetSickRequest getSickRequest); + + + /** + * 获取患者处方信息 + * + * @param getSickPrescribeRequest + * @return + */ + BaseResponse getSickPescribe(GetSickPrescribeRequest getSickPrescribeRequest); + + } diff --git a/src/main/java/com/glxp/mipsdl/client/CommonHttpClient.java b/src/main/java/com/glxp/mipsdl/client/CommonHttpClient.java index 4e3d60d..8ba04f4 100644 --- a/src/main/java/com/glxp/mipsdl/client/CommonHttpClient.java +++ b/src/main/java/com/glxp/mipsdl/client/CommonHttpClient.java @@ -25,10 +25,9 @@ import com.glxp.mipsdl.entity.thrsys.ThrInvWarehouseEntity; import com.glxp.mipsdl.entity.thrsys.ThrSystemBusApiEntity; import com.glxp.mipsdl.http.HttpClient; import com.glxp.mipsdl.req.base.*; -import com.glxp.mipsdl.req.post.PostFileThrOrderRequest; -import com.glxp.mipsdl.req.post.PostThrCorpRequest; -import com.glxp.mipsdl.req.post.PostThrInvProductsRequest; -import com.glxp.mipsdl.req.post.PostThrProductsRequest; +import com.glxp.mipsdl.req.ctqyy.GetSickPrescribeRequest; +import com.glxp.mipsdl.req.ctqyy.GetSickRequest; +import com.glxp.mipsdl.req.post.*; import com.glxp.mipsdl.res.BaseResponse; import com.glxp.mipsdl.service.auth.AuthWarehouseService; import com.glxp.mipsdl.service.thrsys.ThrCorpService; @@ -214,4 +213,35 @@ public abstract class CommonHttpClient implements BaseHttpClient { BaseResponse baseResponse = JSONObject.parseObject(response, BaseResponse.class); return baseResponse; } + + + @Override + public BaseResponse postRelProduct(PostRelProductRequest postThrInvProductsRequest) { + return null; + } + + + /** + * 获取患者信息 + * + * @param getSickRequest + * @return + */ + @Override + public BaseResponse getSickInfo(GetSickRequest getSickRequest) { + return null; + } + + /** + * 获取患者处方信息 + * + * @param getSickPrescribeRequest + * @return + */ + @Override + public BaseResponse getSickPescribe(GetSickPrescribeRequest getSickPrescribeRequest) { + return null; + } + + } diff --git a/src/main/java/com/glxp/mipsdl/client/ctqyy/CtqyyClient.java b/src/main/java/com/glxp/mipsdl/client/ctqyy/CtqyyClient.java new file mode 100644 index 0000000..54a3f0c --- /dev/null +++ b/src/main/java/com/glxp/mipsdl/client/ctqyy/CtqyyClient.java @@ -0,0 +1,350 @@ +package com.glxp.mipsdl.client.ctqyy; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.StrUtil; +import cn.hutool.json.JSONUtil; +import com.alibaba.fastjson2.JSON; +import com.alibaba.fastjson2.JSONObject; +import com.glxp.mipsdl.client.BaseHttpClient; +import com.glxp.mipsdl.client.CommonHttpClient; +import com.glxp.mipsdl.config.ThirdSysConfig; +import com.glxp.mipsdl.constant.Constants; +import com.glxp.mipsdl.dao.auth.AuthUserDao; +import com.glxp.mipsdl.dao.auth.AuthWarehouseDao; +import com.glxp.mipsdl.dao.auth.AuthWarehouseUserMapper; +import com.glxp.mipsdl.dao.basic.BasicBussinessTypeDao; +import com.glxp.mipsdl.dao.basic.BasicCorpDao; +import com.glxp.mipsdl.dao.inout.*; +import com.glxp.mipsdl.dao.thrsys.ThrInvWarehouseDao; +import com.glxp.mipsdl.dao.thrsys.ThrSystemBusApiDao; +import com.glxp.mipsdl.http.HttpClient; +import com.glxp.mipsdl.req.base.*; +import com.glxp.mipsdl.req.ctqyy.CtqPostRelProductRequest; +import com.glxp.mipsdl.req.ctqyy.CtqyyRequest; +import com.glxp.mipsdl.req.ctqyy.GetSickPrescribeRequest; +import com.glxp.mipsdl.req.ctqyy.GetSickRequest; +import com.glxp.mipsdl.req.post.*; +import com.glxp.mipsdl.req.zzzyy.ZzzyyRequest; +import com.glxp.mipsdl.res.BaseResponse; +import com.glxp.mipsdl.res.udiwms.BasicSkPrescribeResponse; +import com.glxp.mipsdl.res.udiwms.BasicSkSickerResponse; +import com.glxp.mipsdl.res.udiwms.UdiRelevanceResponse; +import com.glxp.mipsdl.res.udiwms.ZzzyyProductsResponse; +import com.glxp.mipsdl.service.auth.AuthWarehouseService; +import com.glxp.mipsdl.service.thrsys.ThrCorpService; +import com.glxp.mipsdl.service.thrsys.ThrSystemDetailService; +import com.glxp.mipsdl.util.ResultVOUtils; +import com.glxp.mipsdl.util.SubmitOrderUtil; +import lombok.extern.slf4j.Slf4j; +import org.dom4j.Document; +import org.dom4j.DocumentException; +import org.dom4j.DocumentHelper; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; +import java.util.Map; + +@Slf4j +@Service(value = "100011HttpClient") +public class CtqyyClient extends CommonHttpClient { + + @Resource + private ThrSystemDetailService thrSystemDetailService; + @Resource + private HttpClient httpClient; + @Resource + private IoOrderDao orderDao; + @Resource + private ThrSystemBusApiDao thrSystemBusApiDao; + @Resource + private AuthUserDao authUserDao; + @Resource + private BasicBussinessTypeDao basicBussinessTypeDao; + @Resource + private BasicCorpDao basicCorpDao; + @Resource + private IoCodeDao codeDao; + @Resource + private AuthWarehouseDao authWarehouseDao; + @Resource + private ThrInvWarehouseDao thrInvWarehouseDao; + @Resource + private AuthWarehouseService authWarehouseService; + @Resource + private ThirdSysConfig thirdSysConfig; + @Resource + private ThrCorpService thrCorpService; + @Resource + private IoOrderDetailBizDao orderDetailBizDao; + @Resource + private IoOrderDetailCodeDao orderDetailCodeDao; + + + @Resource + private IoOrderUploadLogDao orderUploadLogDao; + @Resource + private SubmitOrderUtil submitOrderUtil; + @Resource + AuthWarehouseUserMapper authWarehouseUserMapper; + + /** + * 拼接xml请求头 + * + * @param methodName 方法名 + * @return + */ + public String getMsgHeader(String methodName) { + return "" + + "" + + "" + + methodName + + "" + + ""; + } + + + public String parserResult(String response) { + if (response.contains(" zzzyyProductsResponse = JSON.parseArray(map.get("list") + "", ZzzyyProductsResponse.class); + for (ZzzyyProductsResponse productsResponse : zzzyyProductsResponse) { + //判断要是规格和型号一致就是取规格 不一致就合并 + if (StrUtil.isNotEmpty(productsResponse.getModel_number()) && StrUtil.isNotEmpty(productsResponse.getStandard())) { + if (productsResponse.getModel_number().equals(productsResponse.getStandard())) { + productsResponse.setStandard(productsResponse.getStandard()); + } else { + productsResponse.setStandard(productsResponse.getStandard() + productsResponse.getModel_number()); + } + } else if (StrUtil.isNotEmpty(productsResponse.getModel_number()) && StrUtil.isBlank(productsResponse.getStandard())) { + productsResponse.setStandard(productsResponse.getModel_number()); + } + } + map.put("list", JSON.toJSON(zzzyyProductsResponse)); + baseResponse.setData(""); + baseResponse.setData(map); + return baseResponse; + } catch (Exception e) { + log.error("解析漳州中医院智业接口返回产品信息字典数据异常,返回结果:{}", response); + log.error("异常信息:{}", e); + return ResultVOUtils.error(500, "网络错误,或远程服务器异常无法返回正确结果(" + response + ")"); + } + } + + @Override + public BaseResponse getOrderTypes(UdiwmsBusTypeRequest udiwmsBusTypeRequest) { + CtqyyRequest ctqyyRequest = new CtqyyRequest(); + ctqyyRequest.setMsgHeader(getMsgHeader("getMaterialType")); + ctqyyRequest.setMsgBody(JSONUtil.toJsonStr(udiwmsBusTypeRequest)); + String response = httpClient.postJson(thrSystemDetailService.getUrlExclude(Constants.URL_NAME_BUS_TYPE_QUERY_URL), ctqyyRequest); + response = parserResult(response); + try { + BaseResponse baseResponse = JSONObject.parseObject(response, BaseResponse.class); + return baseResponse; + } catch (Exception e) { + log.error("解析漳州中医院智业接口返回单据类型数据异常,返回结果:{}", response); + log.error("异常信息:{}", e); + return ResultVOUtils.error(500, "网络错误,或远程服务器异常无法返回正确结果(" + response + ")"); + } + } + + /** + * 提交关联产品更新 + * + * @return + */ + + @Override + public BaseResponse postRelProduct(PostRelProductRequest postThrInvProductsRequest) { + List udiRelevanceResponses = postThrInvProductsRequest.getDatas(); + + if (CollUtil.isEmpty(udiRelevanceResponses)) { + return ResultVOUtils.error(500, "提交产品列表不能为空!"); + } + for (UdiRelevanceResponse udiRelevanceResponse : udiRelevanceResponses) { + CtqPostRelProductRequest ctqPostRelProductRequest = new CtqPostRelProductRequest(); + BeanUtil.copyProperties(udiRelevanceResponse, ctqPostRelProductRequest); + ctqPostRelProductRequest.setDiCode(udiRelevanceResponse.getNameCode()); + ctqPostRelProductRequest.setPriceCategory(udiRelevanceResponse.getBasicPrductRemak8()); + } + + //todo 调用提交接口 + return null; + } + + + /** + * 获取患者信息 + * + * @param getSickRequest + * @return + */ + public BaseResponse getSickInfo(GetSickRequest getSickRequest) { + CtqyyRequest ctqyyRequest = new CtqyyRequest(); + ctqyyRequest.setMsgHeader(getMsgHeader("getMaterialDict")); + ctqyyRequest.setMsgBody(JSONUtil.toJsonStr(getSickRequest)); + String response = httpClient.postJson(thrSystemDetailService.getUrlExclude(Constants.URI_GET_SICKER), ctqyyRequest); + response = parserResult(response); + try { + BaseResponse baseResponse = JSONObject.parseObject(response, BaseResponse.class); + Map map = (Map) baseResponse.getData(); + List basicSkSickerResponses = JSON.parseArray(map.get("list") + "", BasicSkSickerResponse.class); + for (BasicSkSickerResponse productsResponse : basicSkSickerResponses) { + + } + map.put("list", JSON.toJSON(basicSkSickerResponses)); + baseResponse.setData(""); + baseResponse.setData(map); + return baseResponse; + } catch (Exception e) { + log.error("解析长泰医院智业返回病人信息数据异常,返回结果:{}", response); + log.error("异常信息:{}", e); + return ResultVOUtils.error(500, "网络错误,或远程服务器异常无法返回正确结果(" + response + ")"); + } + } + + /** + * 获取患者处方信息 + * + * @param getSickPrescribeRequest + * @return + */ + public BaseResponse getSickPescribe(GetSickPrescribeRequest getSickPrescribeRequest) { + CtqyyRequest ctqyyRequest = new CtqyyRequest(); + ctqyyRequest.setMsgHeader(getMsgHeader("getMaterialDict")); + ctqyyRequest.setMsgBody(JSONUtil.toJsonStr(getSickPrescribeRequest)); + String response = httpClient.postJson(thrSystemDetailService.getUrlExclude(Constants.URI_GET_SICKER_PRESCIRBE), ctqyyRequest); + response = parserResult(response); + try { + BaseResponse baseResponse = JSONObject.parseObject(response, BaseResponse.class); + Map map = (Map) baseResponse.getData(); + List basicSkPrescribeResponses = JSON.parseArray(map.get("list") + "", BasicSkPrescribeResponse.class); + for (BasicSkPrescribeResponse basicSkPrescribeResponse : basicSkPrescribeResponses) { + + } + map.put("list", JSON.toJSON(basicSkPrescribeResponses)); + baseResponse.setData(""); + baseResponse.setData(map); + return baseResponse; + } catch (Exception e) { + log.error("解析长泰医院智业返回处方信息数据异常,返回结果:{}", response); + log.error("异常信息:{}", e); + return ResultVOUtils.error(500, "网络错误,或远程服务器异常无法返回正确结果(" + response + ")"); + } + } + + + @Override + public BaseResponse getOrders(UdiwmsOrderQueryRequest udiwmsOrderQueryRequest) { + return null; + } + + @Override + public BaseResponse submitOrders(UdiwmsOrderRequest udiwmsOrderRequest) { + return null; + } + + @Override + public BaseResponse getInvProducts(UdiwmsInvProductsRequest udiwmsInvProductsRequest) { + return null; + } + + @Override + public BaseResponse getWarehouse(UdiwmsWarehouseRequest udiwmsWarehouseRequest) { + return null; + } + + @Override + public BaseResponse testConnect() { + UdiwmsUnitRequest udiwmsUnitRequest = new UdiwmsUnitRequest(); + udiwmsUnitRequest.setPage(1); + udiwmsUnitRequest.setLimit(1); + BaseResponse baseResponse = getUnit(udiwmsUnitRequest); + if (baseResponse.getCode() == 20000) { + return ResultVOUtils.success("连接成功!"); + } + return ResultVOUtils.error(500, "连接失败!"); + } + + @Override + public BaseResponse queryUdiInvProducts(UdiwmsQueryUdiInvProductsRequest queryUdiInvProductsRequest) { + return null; + } + + @Override + public BaseResponse submitProducts(UdiwmsAddProductsRequest udiwmsAddProductsRequest) { + return null; + } + + @Override + public BaseResponse submitUnit(UdiwmsAddUnitRequest udiwmsAddUnitRequest) { + return null; + } + + @Override + public BaseResponse submitPreInOrders(UdiwmsPreInOrderRequest udiwmsPreInOrderRequest) { + return null; + } + + @Override + public BaseResponse postProducts(PostThrProductsRequest postThrProductsRequest) { + return null; + } + + @Override + public BaseResponse postCorps(PostThrCorpRequest postThrCorpRequest) { + return null; + } + + @Override + public BaseResponse postOrderDetail(PostFileThrOrderRequest postFileThrOrderRequest) { + return null; + } + + @Override + public BaseResponse postInvProducts(PostThrInvProductsRequest postThrInvProductsRequest) { + return null; + } + + +} diff --git a/src/main/java/com/glxp/mipsdl/client/zzzyy/ZzzyyClient.java b/src/main/java/com/glxp/mipsdl/client/zzzyy/ZzzyyClient.java index fda00a6..01a7a64 100644 --- a/src/main/java/com/glxp/mipsdl/client/zzzyy/ZzzyyClient.java +++ b/src/main/java/com/glxp/mipsdl/client/zzzyy/ZzzyyClient.java @@ -11,6 +11,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.glxp.mipsdl.client.BaseHttpClient; +import com.glxp.mipsdl.client.CommonHttpClient; import com.glxp.mipsdl.config.ThirdSysConfig; import com.glxp.mipsdl.constant.ConstantType; import com.glxp.mipsdl.constant.Constants; @@ -33,13 +34,12 @@ import com.glxp.mipsdl.entity.thrsys.ThrInvWarehouseEntity; import com.glxp.mipsdl.entity.thrsys.ThrSystemBusApiEntity; import com.glxp.mipsdl.http.HttpClient; import com.glxp.mipsdl.req.base.*; -import com.glxp.mipsdl.req.post.PostFileThrOrderRequest; -import com.glxp.mipsdl.req.post.PostThrCorpRequest; -import com.glxp.mipsdl.req.post.PostThrInvProductsRequest; -import com.glxp.mipsdl.req.post.PostThrProductsRequest; +import com.glxp.mipsdl.req.ctqyy.CtqPostRelProductRequest; +import com.glxp.mipsdl.req.post.*; import com.glxp.mipsdl.req.zaxyy.ZaxzyyOrderRequest; import com.glxp.mipsdl.req.zzzyy.ZzzyyRequest; import com.glxp.mipsdl.res.BaseResponse; +import com.glxp.mipsdl.res.udiwms.UdiRelevanceResponse; import com.glxp.mipsdl.res.udiwms.ZzzyyProductsResponse; import com.glxp.mipsdl.service.auth.AuthWarehouseService; import com.glxp.mipsdl.service.thrsys.ThrCorpService; @@ -68,7 +68,7 @@ import java.util.stream.Collectors; @Slf4j @Service(value = "100010HttpClient") -public class ZzzyyClient implements BaseHttpClient { +public class ZzzyyClient extends CommonHttpClient { @Resource private ThrSystemDetailService thrSystemDetailService; @@ -543,6 +543,14 @@ public class ZzzyyClient implements BaseHttpClient { return baseResponse; } + @Override + public BaseResponse postRelProduct(PostRelProductRequest postThrInvProductsRequest) { + + + + return null; + } + @Override public BaseResponse testConnect() { UdiwmsUnitRequest udiwmsUnitRequest = new UdiwmsUnitRequest(); diff --git a/src/main/java/com/glxp/mipsdl/constant/Constants.java b/src/main/java/com/glxp/mipsdl/constant/Constants.java index 7cb541b..f872d5c 100644 --- a/src/main/java/com/glxp/mipsdl/constant/Constants.java +++ b/src/main/java/com/glxp/mipsdl/constant/Constants.java @@ -10,79 +10,91 @@ public interface Constants { /** * 获取往来单位接口URL名称 */ - public static final String URL_NAME_CORP_URL = "corpUrl"; + String URL_NAME_CORP_URL = "corpUrl"; /** * 获取产品信息接口URL名称 */ - public static final String URL_NAME_PI_QUERY_URL = "piQueryUrl"; + String URL_NAME_PI_QUERY_URL = "piQueryUrl"; /** * 获取单据类型列表接口URL名称 */ - public static final String URL_NAME_BUS_TYPE_QUERY_URL = "busTypeQueryUrl"; + String URL_NAME_BUS_TYPE_QUERY_URL = "busTypeQueryUrl"; /** * 提交单据接口URL名称 */ - public static final String URL_NAME_ORDER_SUBMIT_URL = "orderSubmitUrl"; + String URL_NAME_ORDER_SUBMIT_URL = "orderSubmitUrl"; /** * 获取库存产品接口URL名称 */ - public static final String URL_NAME_INV_PI_URL = "invPiUrl"; + String URL_NAME_INV_PI_URL = "invPiUrl"; /** * 获取仓库(科室)字典接口URL名称 */ - public static final String URL_NAME_WAREHOUSE_QUERY_URL = "warehouseQueryUrl"; + String URL_NAME_WAREHOUSE_QUERY_URL = "warehouseQueryUrl"; /** * 查询单据列表接口URL名称 */ - public static final String URL_NAME_ORDER_QUERY_URL = "orderQueryUrl"; + String URL_NAME_ORDER_QUERY_URL = "orderQueryUrl"; /** * 新增产品接口URL名称 */ - public static final String URL_NAME_PRODUCT_SUBMIT_URL = "productSubmitUrl"; + String URL_NAME_PRODUCT_SUBMIT_URL = "productSubmitUrl"; /** * 提交预入库单据接口URL名称 */ - public static final String URL_NAME_PRE_IN_ORDER_SUBMIT_URL = "preInOrderSubmit"; + String URL_NAME_PRE_IN_ORDER_SUBMIT_URL = "preInOrderSubmit"; /** * 新增往来单位接口URL名称 */ - public static final String URL_NAME_UNIT_SUBMIT_URL = "unitSubmitUrl"; + String URL_NAME_UNIT_SUBMIT_URL = "unitSubmitUrl"; + + + /** + * 获取患者信息 + */ + String URI_GET_SICKER = "sickUrl"; + + + /** + * 获取患者处方 + */ + String URI_GET_SICKER_PRESCIRBE = "sickPrescribeUrl"; //上传数据到UDI管理系统URL名称合集 /** * 上传产品信息 */ - public static final String URL_NAME_POST_THR_PRODUCTS_URL = "/udiwms/thrsys/postThrProducts"; + String URL_NAME_POST_THR_PRODUCTS_URL = "/udiwms/thrsys/postThrProducts"; /** * 上传往来单位数据 */ - public static final String URL_NAME_POST_THR_CORPS_URL = "/udiwms/thrsys/postCorps"; + String URL_NAME_POST_THR_CORPS_URL = "/udiwms/thrsys/postCorps"; /** * 上传单据 */ - public static final String URL_NAME_POST_THR_ORDER_URL = "/udiwms/thrsys/postFileOrder"; + String URL_NAME_POST_THR_ORDER_URL = "/udiwms/thrsys/postFileOrder"; /** * 上传库存产品 */ - public static final String URL_NAME_POST_THR_INV_PRODUCTS_URL = "/udiwms/thrsys/postInvProducts"; + String URL_NAME_POST_THR_INV_PRODUCTS_URL = "/udiwms/thrsys/postInvProducts"; /** * 查询UDI管理系统库存 */ - public static final String URL_NAME_UDIWMS_PRODUCTS_FILTER_URL = "/udiwms/inv/products/filter"; + String URL_NAME_UDIWMS_PRODUCTS_FILTER_URL = "/udiwms/inv/products/filter"; //往来单位类型 @@ -90,27 +102,27 @@ public interface Constants { /** * 病人 */ - public static final int CORP_SICK = 1; + int CORP_SICK = 1; /** * 供应商 */ - public static final int CORP_SP = 2; + int CORP_SP = 2; /** * 内部科室等 */ - public static final int CORP_INTTERNAL = 3; + int CORP_INTTERNAL = 3; /** * 特殊往来 */ - public static final int CORP_SPECIAL = 4; + int CORP_SPECIAL = 4; /** * 医院客户 */ - public static final int CORP_HOSPTIAL = 5; + int CORP_HOSPTIAL = 5; //单据状态类型 @@ -118,11 +130,11 @@ public interface Constants { /** * 业务单据上传至第三方 */ - public static final int THIRD_ORDER_UPLOAD = 1; + int THIRD_ORDER_UPLOAD = 1; /** * 接收第三方上传扫码单据 */ - public static final int THIRD_ORDER_RECEIVE = 2; + int THIRD_ORDER_RECEIVE = 2; } diff --git a/src/main/java/com/glxp/mipsdl/controller/UdiWmsController.java b/src/main/java/com/glxp/mipsdl/controller/UdiWmsController.java index d30c6bf..5623330 100644 --- a/src/main/java/com/glxp/mipsdl/controller/UdiWmsController.java +++ b/src/main/java/com/glxp/mipsdl/controller/UdiWmsController.java @@ -3,6 +3,9 @@ package com.glxp.mipsdl.controller; import com.glxp.mipsdl.client.ClientProcessor; import com.glxp.mipsdl.client.pzh.PzhzdClient; import com.glxp.mipsdl.req.base.*; +import com.glxp.mipsdl.req.ctqyy.GetSickPrescribeRequest; +import com.glxp.mipsdl.req.ctqyy.GetSickRequest; +import com.glxp.mipsdl.req.post.PostRelProductRequest; import com.glxp.mipsdl.req.pzh.USignRequest; import com.glxp.mipsdl.res.BaseResponse; import com.glxp.mipsdl.util.DictUtl; @@ -122,6 +125,30 @@ public class UdiWmsController { return ClientProcessor.getHttpClient().submitUnit(udiwmsAddUnitRequest); } + + /** + * 获取患者信息 + * + * @param getSickRequest + * @return + */ + @PostMapping("/udiwms/erp/sicker/getInfo") + public BaseResponse getSickerInfo(@RequestBody GetSickRequest getSickRequest) { + return ClientProcessor.getHttpClient().getSickInfo(getSickRequest); + } + + /** + * 获取患者处方信息 + * + * @param getSickPrescribeRequest + * @return + */ + @PostMapping("/udiwms/erp/sicker/getPrescribe") + public BaseResponse getSickPrescribe(@RequestBody GetSickPrescribeRequest getSickPrescribeRequest) { + return ClientProcessor.getHttpClient().getSickPescribe(getSickPrescribeRequest); + } + + @PostMapping("/udiwms/erp/testThirdSys") public BaseResponse testThirdSys() { return ClientProcessor.getHttpClient().testConnect(); @@ -186,4 +213,16 @@ public class UdiWmsController { return pzhzdClient.modifyBill(udiwmsPostBillRequest); } + + /** + * 提交关联产品到第三方系统接口 + * + * @param postRelProductRequest + * @return + */ + @PostMapping("/udiwms/erp/post/udiRel/product") + public BaseResponse postRelProduct(@RequestBody PostRelProductRequest postRelProductRequest) { + return ClientProcessor.getHttpClient().postRelProduct(postRelProductRequest); + } + } diff --git a/src/main/java/com/glxp/mipsdl/req/ctqyy/CtqPostRelProductRequest.java b/src/main/java/com/glxp/mipsdl/req/ctqyy/CtqPostRelProductRequest.java new file mode 100644 index 0000000..bf2c75e --- /dev/null +++ b/src/main/java/com/glxp/mipsdl/req/ctqyy/CtqPostRelProductRequest.java @@ -0,0 +1,144 @@ +package com.glxp.mipsdl.req.ctqyy; + +import lombok.Data; + +import java.util.Date; + +@Data +public class CtqPostRelProductRequest { + + /** + * 产品编码 + */ + private String code; + + /** + * 通用名称 + */ + private String name; + + /** + * 计量单位 + */ + private String measname; + + /** + * 规格型号 + */ + private String spec; + + /** + * 注册证号 + */ + private String registerNo; + + /** + * 生产厂家 + */ + private String manufactory; + + /** + * 配送企业 + */ + private String supName; + + /** + * 更新时间 + */ + private Date updateTime; + + + private boolean isChecked; + + /** + * 产品类别 + */ + private String cplb; + + /** + * 分类编码 + */ + private String flbm; + + //器械类别 + private String qxlb; + + //医保编码 + private String ybbm; + + //商品条码 + private String sptm; + + //注册人社会信用号 + private String tyshxydm; + + //注册证 备案证号 + private String zczbhhzbapzbh; + + //注册/备案人 + private String ylqxzcrbarmc; + + //注册/备案人英文 + private String ylqxzcrbarywmc; + + //产品描述 + private String cpms; + + //型号 + private String model; + + //型号 + private String standard; + + //商品名称 + private String spmc; + + //其他编码 + private String qtbm; + + //注册证有效期至 + private String zczyxqz; + + //备注 + private String remark; + //备注1 + private String remark1; + //备注2 + private String remark2; + //备注3 + private String remark3; + + //阳光采购平台 耗材目录规格id + private String productSpecId; + + /** + * 物资编码 + */ + private String hospHisCode; + + /** + * 价格 + */ + private String price; + + /** + * 生产厂家编码 + */ + private String manufactoryCode; + + /** + * 配送企业编码 + */ + private String supCode; + + /** + * DI物资标识 + */ + private String diCode; + + /** + * 物价类别 + */ + private String priceCategory; + +} diff --git a/src/main/java/com/glxp/mipsdl/req/ctqyy/CtqyyRequest.java b/src/main/java/com/glxp/mipsdl/req/ctqyy/CtqyyRequest.java new file mode 100644 index 0000000..4c179de --- /dev/null +++ b/src/main/java/com/glxp/mipsdl/req/ctqyy/CtqyyRequest.java @@ -0,0 +1,18 @@ +package com.glxp.mipsdl.req.ctqyy; + +import lombok.Data; + +@Data +public class CtqyyRequest { + + /** + * 请求头参数 + */ + private String msgHeader; + + /** + * 请求体 + */ + private String msgBody; + +} diff --git a/src/main/java/com/glxp/mipsdl/req/ctqyy/GetSickPrescribeRequest.java b/src/main/java/com/glxp/mipsdl/req/ctqyy/GetSickPrescribeRequest.java new file mode 100644 index 0000000..9f375a7 --- /dev/null +++ b/src/main/java/com/glxp/mipsdl/req/ctqyy/GetSickPrescribeRequest.java @@ -0,0 +1,16 @@ +package com.glxp.mipsdl.req.ctqyy; + +import com.glxp.mipsdl.req.base.ListPageRequest; +import lombok.Data; + +@Data +public class GetSickPrescribeRequest extends ListPageRequest { + + private String code; + private String sickName; + private String sickCode; + private String idNum; + private String phone; + private String searchTime; + +} diff --git a/src/main/java/com/glxp/mipsdl/req/ctqyy/GetSickRequest.java b/src/main/java/com/glxp/mipsdl/req/ctqyy/GetSickRequest.java new file mode 100644 index 0000000..0b37a2a --- /dev/null +++ b/src/main/java/com/glxp/mipsdl/req/ctqyy/GetSickRequest.java @@ -0,0 +1,18 @@ +package com.glxp.mipsdl.req.ctqyy; + +import com.glxp.mipsdl.req.base.ListPageRequest; +import lombok.Data; + +@Data +public class GetSickRequest extends ListPageRequest { + + + private String code; + private String name; + private String adNum; + private String idNum; + private String phone; + private String searchTime; + + +} diff --git a/src/main/java/com/glxp/mipsdl/req/post/PostRelProductRequest.java b/src/main/java/com/glxp/mipsdl/req/post/PostRelProductRequest.java new file mode 100644 index 0000000..a7a33fd --- /dev/null +++ b/src/main/java/com/glxp/mipsdl/req/post/PostRelProductRequest.java @@ -0,0 +1,16 @@ +package com.glxp.mipsdl.req.post; + +import com.glxp.mipsdl.res.udiwms.UdiRelevanceResponse; +import com.glxp.mipsdl.res.udiwms.UdiwmsProductInfoResponse; +import lombok.Data; + +import java.util.List; + +@Data +public class PostRelProductRequest { + + private String uploadType; + private String thirdSys; + List datas; + +} diff --git a/src/main/java/com/glxp/mipsdl/res/udiwms/BasicSkPrescribeResponse.java b/src/main/java/com/glxp/mipsdl/res/udiwms/BasicSkPrescribeResponse.java new file mode 100644 index 0000000..8ef9898 --- /dev/null +++ b/src/main/java/com/glxp/mipsdl/res/udiwms/BasicSkPrescribeResponse.java @@ -0,0 +1,73 @@ +package com.glxp.mipsdl.res.udiwms; + +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +@Data +public class BasicSkPrescribeResponse { + + /** + * 处方编码 + */ + private String code; + + /** + * 病人编码 + */ + private String sickerCode; + + /** + * 开方时间 + */ + private LocalDateTime prescribeDate; + + /** + * 开方医生 + */ + private String createDr; + /** + * 处方费用 + */ + private BigDecimal amount; + + /** + * 就诊科室编码 + */ + private String deptCode; + + /** + * 就诊科室名称 + */ + private String deptName; + + /** + * 诊断内容 + */ + private String diagnosis; + + private String remark; + + /** + * 创建人 + */ + private String createUser; + + /** + * 创建时间 + */ + private LocalDateTime createTime; + + /** + * 更新人 + */ + private String updateUser; + + /** + * 更新时间 + */ + private LocalDateTime updateTime; + + +} diff --git a/src/main/java/com/glxp/mipsdl/res/udiwms/BasicSkSickerResponse.java b/src/main/java/com/glxp/mipsdl/res/udiwms/BasicSkSickerResponse.java new file mode 100644 index 0000000..c98ff2f --- /dev/null +++ b/src/main/java/com/glxp/mipsdl/res/udiwms/BasicSkSickerResponse.java @@ -0,0 +1,109 @@ +package com.glxp.mipsdl.res.udiwms; + +import lombok.Data; + +import java.util.Date; + +@Data +public class BasicSkSickerResponse { + /** + * 患者编码 + */ + private String code; + + /** + * 姓名 + */ + private String name; + + /** + * 住院号 + */ + private String adNum; + + /** + * 身份证号 + */ + private String idNum; + + /** + * 手机号 + */ + private String phone; + + /** + * 性别 + */ + private String gender; + + /** + * 职业 + */ + private String job; + + /** + * 出生年月 + */ + private String bornDate; + + /** + * 国籍 + */ + private String nationality; + + /** + * 文化程度 + */ + private String education; + + /** + * 监护人 + */ + private String guardianName; + + /** + * 监护人与患者关系 + */ + private String guardianRel; + + /** + * 现居住地 + */ + private String curAddr; + + /** + * 户籍地 + */ + private String kosekiAddr; + + /** + * 医保 + */ + private String medicalIns; + + /** + * 创建人 + */ + private String createUser; + + /** + * 创建时间 + */ + private Date createTime; + + /** + * 更新人 + */ + private String updateUser; + + /** + * 更新时间 + */ + private Date updateTime; + + /** + * 备注 + */ + private String remark; +} + diff --git a/src/main/java/com/glxp/mipsdl/res/udiwms/UdiRelevanceResponse.java b/src/main/java/com/glxp/mipsdl/res/udiwms/UdiRelevanceResponse.java new file mode 100644 index 0000000..44a5485 --- /dev/null +++ b/src/main/java/com/glxp/mipsdl/res/udiwms/UdiRelevanceResponse.java @@ -0,0 +1,173 @@ +package com.glxp.mipsdl.res.udiwms; + +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +@Data +public class UdiRelevanceResponse { + //UdiRelevanceEntity + private Long id; + private String uuid; + private String mainId; + private String thirdId; + private String thirdId1; + private String thirdId2; + private String thirdId3; + private String thirdId4; + private String udplatCode; + private Boolean isUseDy; + private Boolean isDisable; + private Boolean isLock; + private Integer lockStatus; + private Boolean isAdavence; + private Boolean useMuti; + private Integer useNum; + private String supName; + private Date createTime; + private Date updateTime; + private Date modifyTime; + private String createUser; + private String updateUser; + private String remark; + + + //UdiInfoEntity + private String originUuid; + private String nameCode; + private String deviceRecordKey; + private String packRatio; + private String packLevel; + private String packUnit; + private Integer bhxjsl; + private Integer bhzxxsbzsl; + private Integer zxxsbzbhsydysl; + private String bhxjcpbm; + private String bzcj; + private String cpmctymc; + private String cplb; + private String flbm; + private String ggxh; + private String qxlb; + private String tyshxydm; + private String ylqxzcrbarmc; + private String zczbhhzbapzbh; + private String ylqxzcrbarywmc; + private String sydycpbs; + private String sjcpbm; + private Integer versionNumber; + private Integer diType; + private String ybbm; + private String sptm; + private String manufactory; + private String measname; + private Integer productType; + private String scbssfbhph; + private String scbssfbhxlh; + private String scbssfbhscrq; + private String scbssfbhsxrq; + private String cpms; + private Boolean allowNoBatch; + private Boolean allowNoExpire; + private Boolean allowNoProduct; + private Boolean allowNoSerial; + private String spmc; + private String cplx; + private String hchzsb; + private String cpdls; + private String basicPrductRemak1; + private String basicPrductRemak2; + private String basicPrductRemak3; + private String basicPrductRemak4; + private String basicPrductRemak5; + private String basicPrductRemak6; + private String basicPrductRemak7; + private String basicPrductRemak8; + private BigDecimal price; + private String PRId; + + private Boolean isSelect; + + private Boolean bindCheck; + + private Integer useExpireTime; + + private Integer lowStockNum; + private Integer overStockNum; + private Integer recentDateTime; + private Integer isDateBy; + private String relCode; + private int index; + + private int reCount; + + //关联查询字典 + private String unitFk; //供应商ID + private String companyName; //供应商名称 + + + //手持终端下载需要主键 + private Long relId; + private boolean dispatch; //是否可配送 + private boolean groupBuy; //是否集采产品 + private boolean needCert; //是否需要资质材料 + + private String classifyName; //物资分类名称 + private Integer zdcfsycs; + + private String customerId; + private String sfwblztlcp; + private String cgzmraqxgxx; + private String sfbjwycxsy; + private String sfwwjbz; + private String syqsfxyjxmj; + private String mjfs; + private String categoryName; + private Integer count; + private Long deId; + + + private Integer bpcrid; + + private String hslbName; + + public int getBhzxxsbzsl() { + if (bhzxxsbzsl == null || bhzxxsbzsl == 0) { + return 1; + } else + return bhzxxsbzsl; + } + + + public Boolean getAllowNoBatch() { + if (allowNoBatch == null) + return false; + return allowNoBatch; + } + + public Boolean getAllowNoExpire() { + if (allowNoExpire == null) + return false; + return allowNoExpire; + } + + public Boolean getAllowNoProduct() { + if (allowNoProduct == null) + return false; + return allowNoProduct; + } + + public Boolean getAllowNoSerial() { + + if (allowNoSerial == null) + return true; + return allowNoSerial; + } + + public Boolean getUseDy() { + if (isUseDy == null) + return false; + return isUseDy; + } +} diff --git a/src/main/java/com/glxp/mipsdl/res/udiwms/UdiwmsProductInfoResponse.java b/src/main/java/com/glxp/mipsdl/res/udiwms/UdiwmsProductInfoResponse.java index c1cd402..e3c0208 100644 --- a/src/main/java/com/glxp/mipsdl/res/udiwms/UdiwmsProductInfoResponse.java +++ b/src/main/java/com/glxp/mipsdl/res/udiwms/UdiwmsProductInfoResponse.java @@ -137,4 +137,14 @@ public class UdiwmsProductInfoResponse { */ private String supCode; + /** + * DI物资标识 + */ + private String diCode; + + /** + * 物价类别 + */ + private String priceCategory; + } diff --git a/src/main/resources/hosp_dict.json b/src/main/resources/hosp_dict.json index 45ec081..0d0f069 100644 --- a/src/main/resources/hosp_dict.json +++ b/src/main/resources/hosp_dict.json @@ -42,5 +42,9 @@ { "code": "100010", "name": "漳州中医院" + }, + { + "code": "100011", + "name": "长泰区医院" } ]