From 85006788055e676fbc44c3a52dcc281e7f04f2db Mon Sep 17 00:00:00 2001 From: anthonywj Date: Tue, 2 Jul 2024 13:59:19 +0800 Subject: [PATCH] =?UTF-8?q?=E9=AB=98=E5=80=BC=E6=99=AE=E8=80=97=E7=9B=B8?= =?UTF-8?q?=E5=85=B3=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../glxp/mipsdl/client/BaseHttpClient.java | 15 ++++- .../glxp/mipsdl/client/CommonHttpClient.java | 5 ++ .../glxp/mipsdl/client/ctqyy/CtqyyClient.java | 6 ++ .../glxp/mipsdl/client/njxyy/NjxyyClient.java | 26 +++++++- .../glxp/mipsdl/config/ThirdSysConfig.java | 5 ++ .../com/glxp/mipsdl/constant/Constants.java | 6 +- .../mipsdl/controller/ExNjxyyController.java | 62 ++++++++++++++++--- .../base/forthird/ForInvProductsFilter.java | 10 +++ 8 files changed, 125 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/glxp/mipsdl/client/BaseHttpClient.java b/src/main/java/com/glxp/mipsdl/client/BaseHttpClient.java index c2827dc..9ad4684 100644 --- a/src/main/java/com/glxp/mipsdl/client/BaseHttpClient.java +++ b/src/main/java/com/glxp/mipsdl/client/BaseHttpClient.java @@ -232,8 +232,19 @@ public interface BaseHttpClient { */ BaseResponse getHsfl(FilterThrHslbRequest hslbRequest); + /** - * B001 查询指定科室高值/普耗库存 + * B001 查询指定科室高值库存 + * + * @param forInvProductsFilter + * @return + */ + BaseResponse queryUdiHighInvProductsFilter(ForInvProductsFilter forInvProductsFilter); + + + /** + * B001 查询指定普耗库存 + * * @param forInvProductsFilter * @return */ @@ -241,6 +252,7 @@ public interface BaseHttpClient { /** * B002 查询耗材字典 + * * @param forBasicProductsSearchFilter * @return */ @@ -248,6 +260,7 @@ public interface BaseHttpClient { /** * B003 高值耗材实时出库/退库 + * * @param forInvOutScanCodeFilter * @return */ diff --git a/src/main/java/com/glxp/mipsdl/client/CommonHttpClient.java b/src/main/java/com/glxp/mipsdl/client/CommonHttpClient.java index 95b0754..9a5bbe2 100644 --- a/src/main/java/com/glxp/mipsdl/client/CommonHttpClient.java +++ b/src/main/java/com/glxp/mipsdl/client/CommonHttpClient.java @@ -223,6 +223,11 @@ public abstract class CommonHttpClient implements BaseHttpClient { return null; } + @Override + public BaseResponse queryUdiHighInvProductsFilter(ForInvProductsFilter forInvProductsFilter) { + return null; + } + @Override public BaseResponse queryUdiInvProductsFilter(ForInvProductsFilter forInvProductsFilter) { 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 index 732b79a..572262d 100644 --- a/src/main/java/com/glxp/mipsdl/client/ctqyy/CtqyyClient.java +++ b/src/main/java/com/glxp/mipsdl/client/ctqyy/CtqyyClient.java @@ -42,6 +42,7 @@ import com.glxp.mipsdl.entity.thrsys.ThrProductsEntity; import com.glxp.mipsdl.entity.thrsys.ThrSystemBusApiEntity; import com.glxp.mipsdl.http.HttpClient; import com.glxp.mipsdl.req.base.*; +import com.glxp.mipsdl.req.base.forthird.ForInvProductsFilter; import com.glxp.mipsdl.req.ctqyy.*; import com.glxp.mipsdl.req.post.*; import com.glxp.mipsdl.req.zaxyy.ZaxzyyOrderRequest; @@ -461,6 +462,11 @@ public class CtqyyClient extends CommonHttpClient { } } + @Override + public BaseResponse queryUdiHighInvProductsFilter(ForInvProductsFilter forInvProductsFilter) { + return null; + } + @Override public BaseResponse getOrders(UdiwmsOrderQueryRequest udiwmsOrderQueryRequest) { diff --git a/src/main/java/com/glxp/mipsdl/client/njxyy/NjxyyClient.java b/src/main/java/com/glxp/mipsdl/client/njxyy/NjxyyClient.java index df2f02d..eb3539c 100644 --- a/src/main/java/com/glxp/mipsdl/client/njxyy/NjxyyClient.java +++ b/src/main/java/com/glxp/mipsdl/client/njxyy/NjxyyClient.java @@ -224,8 +224,32 @@ public class NjxyyClient extends CommonHttpClient { newPageSimpleResponse.setTotal(pageSimpleResponse.getTotal()); newPageSimpleResponse.setList(newList); baseResponse.setData(newPageSimpleResponse); - } else { + } + return baseResponse; + } + + + @Override + public BaseResponse queryUdiHighInvProductsFilter(ForInvProductsFilter forInvProductsFilter) { + //入参业务系统字段控制 + FilterInvProductRequest filterInvProductRequest = new FilterInvProductRequest(); + BeanUtils.copyProperties(forInvProductsFilter, filterInvProductRequest); + //调用业务系统http + String response = httpClient.postUDIWMSJson(thirdSysConfig.getPostInvHighProductsFilterUrl(), filterInvProductRequest); + //业务系统返回参数 字段控制 + BaseResponse baseResponse = JSONObject.parseObject(response, BaseResponse.class); + if (baseResponse.getCode() == 20000) { + PageSimpleResponse pageSimpleResponse = + JSONObject.parseObject(String.valueOf(baseResponse.getData()), PageSimpleResponse.class); + List list = pageSimpleResponse.getList(); + //处理list字段 进行实体转换 过滤掉不必要字段 + String json = JSON.toJSONString(list); + List newList = JSON.parseArray(json, ForInvProductsResponse.class); + PageSimpleResponse newPageSimpleResponse = new PageSimpleResponse<>(); + newPageSimpleResponse.setTotal(pageSimpleResponse.getTotal()); + newPageSimpleResponse.setList(newList); + baseResponse.setData(newPageSimpleResponse); } return baseResponse; } diff --git a/src/main/java/com/glxp/mipsdl/config/ThirdSysConfig.java b/src/main/java/com/glxp/mipsdl/config/ThirdSysConfig.java index f022f7b..1443042 100644 --- a/src/main/java/com/glxp/mipsdl/config/ThirdSysConfig.java +++ b/src/main/java/com/glxp/mipsdl/config/ThirdSysConfig.java @@ -100,6 +100,11 @@ public class ThirdSysConfig { return udiWmsUrl + Constants.URL_NAME_FOR_INV_PRODUCTS_FILTER_URL; } + + public String getPostInvHighProductsFilterUrl() { + return udiWmsUrl + Constants.URL_NAME_FOR_INV_HIGH_PRODUCTS_FILTER_URL; + } + /** * B002 查询耗材字典 * diff --git a/src/main/java/com/glxp/mipsdl/constant/Constants.java b/src/main/java/com/glxp/mipsdl/constant/Constants.java index b25e77f..1b31f31 100644 --- a/src/main/java/com/glxp/mipsdl/constant/Constants.java +++ b/src/main/java/com/glxp/mipsdl/constant/Constants.java @@ -119,6 +119,11 @@ public interface Constants { */ String URL_NAME_FOR_INV_PRODUCTS_FILTER_URL = "/forThirdSysApi/inv/products/filter"; + /** + * B001 查询指定科室高值 + */ + String URL_NAME_FOR_INV_HIGH_PRODUCTS_FILTER_URL = "/forThirdSysApi/inv/high/products/filter"; + /** * B002 查询耗材字典 @@ -132,7 +137,6 @@ public interface Constants { String URL_NAME_FOR_INV_OUT_SCANCODE_URL = "/forThirdSysApi/inv/out/scanCode"; - //往来单位类型 /** diff --git a/src/main/java/com/glxp/mipsdl/controller/ExNjxyyController.java b/src/main/java/com/glxp/mipsdl/controller/ExNjxyyController.java index 4655c83..2311c63 100644 --- a/src/main/java/com/glxp/mipsdl/controller/ExNjxyyController.java +++ b/src/main/java/com/glxp/mipsdl/controller/ExNjxyyController.java @@ -1,8 +1,12 @@ package com.glxp.mipsdl.controller; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.glxp.mipsdl.client.ClientProcessor; +import com.glxp.mipsdl.dao.basic.BasicUdirelDao; +import com.glxp.mipsdl.entity.basic.BasicUdirelEntity; import com.glxp.mipsdl.req.base.UdiwmsQueryUdiInvProductsRequest; import com.glxp.mipsdl.req.base.forthird.ForBasicProductsSearchFilter; import com.glxp.mipsdl.req.base.forthird.ForInvOutScanCodeFilter; @@ -14,7 +18,9 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; +import javax.annotation.Resource; import javax.validation.Valid; +import java.util.List; /** * 南靖县医院--提供给第三方系统调用的接口 @@ -23,50 +29,92 @@ import javax.validation.Valid; @RestController public class ExNjxyyController { + + @Resource + BasicUdirelDao basicUdirelDao; + /** * B001 查询指定科室高值/普耗库存 + * * @param forInvProductsFilter * @return */ @PostMapping("/ex/udiwms/inv/products/filter") - public BaseResponse invProductsFilter(@RequestBody @Valid ForInvProductsFilter forInvProductsFilter) { + public BaseResponse invProductsFilter(@RequestBody ForInvProductsFilter forInvProductsFilter) { if (ObjectUtil.isNull(forInvProductsFilter)) { return ResultVOUtils.error(500, "查询条件不能为空"); } if (StrUtil.isEmpty(forInvProductsFilter.getUdiCode()) && StrUtil.isEmpty(forInvProductsFilter.getNameCode()) && StrUtil.isEmpty(forInvProductsFilter.getCpmctymc()) && - StrUtil.isEmpty(forInvProductsFilter.getBatchNo())&& - StrUtil.isEmpty(forInvProductsFilter.getInvCode())&& + StrUtil.isEmpty(forInvProductsFilter.getBatchNo()) && + StrUtil.isEmpty(forInvProductsFilter.getInvCode()) && StrUtil.isEmpty(forInvProductsFilter.getSupName())) { return ResultVOUtils.error(500, "查询条件不能为空!"); } - return ClientProcessor.getHttpClient().queryUdiInvProductsFilter(forInvProductsFilter); + if (forInvProductsFilter.getPage() == null) { + forInvProductsFilter.setPage(1); + forInvProductsFilter.setLimit(20); + } + ForInvProductsFilter newRequest = new ForInvProductsFilter(); + if (StrUtil.isNotEmpty(forInvProductsFilter.getUdiCode())) { + newRequest.setPage(forInvProductsFilter.getPage()); + newRequest.setLimit(forInvProductsFilter.getLimit()); + newRequest.setUdiCode(forInvProductsFilter.getUdiCode()); + return ClientProcessor.getHttpClient().queryUdiHighInvProductsFilter(newRequest); + } else { + if (StrUtil.isEmpty(forInvProductsFilter.getXmbm())) { + return ResultVOUtils.error(500, "项目编码不能为空!"); + } + List basicUdirelEntityList = basicUdirelDao.selectList(new QueryWrapper().eq("mainId", forInvProductsFilter.getXmbm())); + if (CollUtil.isNotEmpty(basicUdirelEntityList)) { + newRequest.setRelIdFk(basicUdirelEntityList.get(0).getId() + ""); + } else { + return ResultVOUtils.error(500, "项目编码未对照!"); + } + newRequest.setPage(forInvProductsFilter.getPage()); + newRequest.setLimit(forInvProductsFilter.getLimit()); + newRequest.setBatchNo(forInvProductsFilter.getBatchNo()); + newRequest.setCpmctymc(forInvProductsFilter.getCpmctymc()); + newRequest.setInvCode(forInvProductsFilter.getInvCode()); + newRequest.setNameCode(forInvProductsFilter.getNameCode()); + newRequest.setSupName(forInvProductsFilter.getSupName()); +// newRequest.setUdiCode(forInvProductsFilter.getUdiCode()); + return ClientProcessor.getHttpClient().queryUdiInvProductsFilter(newRequest); + } + + } /** * B002 查询耗材字典 + * * @param forBasicProductsSearchFilter * @return */ - @PostMapping("/ex/basic/products/search") - public BaseResponse basicProductsSearch(@RequestBody @Valid ForBasicProductsSearchFilter forBasicProductsSearchFilter) { + @PostMapping("/ex/udiwms/basic/products/search") + public BaseResponse basicProductsSearch(@RequestBody ForBasicProductsSearchFilter forBasicProductsSearchFilter) { if (ObjectUtil.isNull(forBasicProductsSearchFilter)) { return ResultVOUtils.error(500, "查询条件不能为空"); } if (StrUtil.isEmpty(forBasicProductsSearchFilter.getUdiCode()) && StrUtil.isEmpty(forBasicProductsSearchFilter.getNameCode()) && StrUtil.isEmpty(forBasicProductsSearchFilter.getCpmctymc()) && - StrUtil.isEmpty(forBasicProductsSearchFilter.getMainId())&& + StrUtil.isEmpty(forBasicProductsSearchFilter.getMainId()) && StrUtil.isEmpty(forBasicProductsSearchFilter.getGgxh())) { return ResultVOUtils.error(500, "查询条件不能为空!"); } + if (forBasicProductsSearchFilter.getPage() == null) { + forBasicProductsSearchFilter.setPage(1); + forBasicProductsSearchFilter.setLimit(20); + } return ClientProcessor.getHttpClient().queryUdiBasicProductsSearch(forBasicProductsSearchFilter); } /** * B003 高值耗材实时出库/退库 + * * @param forInvOutScanCodeFilter * @return */ diff --git a/src/main/java/com/glxp/mipsdl/req/base/forthird/ForInvProductsFilter.java b/src/main/java/com/glxp/mipsdl/req/base/forthird/ForInvProductsFilter.java index a4d9901..764345a 100644 --- a/src/main/java/com/glxp/mipsdl/req/base/forthird/ForInvProductsFilter.java +++ b/src/main/java/com/glxp/mipsdl/req/base/forthird/ForInvProductsFilter.java @@ -39,6 +39,11 @@ public class ForInvProductsFilter { */ private String supName; + /** + * 收费项目编码 + */ + private String xmbm; + /** * 页码 @@ -52,4 +57,9 @@ public class ForInvProductsFilter { @Min(value = 1, message = "分页参数不能小于1") @Max(value = 500, message = "分页参数不能大于500") private Integer limit; + /** + * 耗材字典ID + */ + private String relIdFk; + }