From d2c006cf436df98230bed732e3e5ede304c8728e Mon Sep 17 00:00:00 2001 From: qiuyt Date: Fri, 6 Dec 2024 18:48:55 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E9=98=BF=E9=87=8C=E5=8D=95=E6=8D=AE?= =?UTF-8?q?=E6=8B=89=E5=8F=96=E5=8F=82=E6=95=B0=EF=BC=88=E8=BF=98=E5=B7=AE?= =?UTF-8?q?=E4=B8=80=E4=BA=9B=E5=AF=B9=E7=85=A7=EF=BC=89=202=E3=80=81?= =?UTF-8?q?=E4=BA=A7=E5=93=81=E9=80=89=E5=85=A5=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AliKytSearchbill.java} | 4 +- .../AlihealthLsydListupoutReqeust.java | 57 ++++++++++++++++++ .../AlihealthKytSearchbillResponse.java | 58 +++++++++---------- .../AlihealthLsydListupoutResponse.java | 43 ++++++++++++++ .../api/service/basic/UdiContrastService.java | 28 ++++----- .../api/util/alihealth/AlihealthUtils.java | 4 +- 6 files changed, 146 insertions(+), 48 deletions(-) rename src/main/java/com/glxp/api/entity/{thrsys/ThirdAliSearchbill.java => alihealth/AliKytSearchbill.java} (94%) create mode 100644 src/main/java/com/glxp/api/req/alihealth/AlihealthLsydListupoutReqeust.java create mode 100644 src/main/java/com/glxp/api/res/alihealth/AlihealthLsydListupoutResponse.java diff --git a/src/main/java/com/glxp/api/entity/thrsys/ThirdAliSearchbill.java b/src/main/java/com/glxp/api/entity/alihealth/AliKytSearchbill.java similarity index 94% rename from src/main/java/com/glxp/api/entity/thrsys/ThirdAliSearchbill.java rename to src/main/java/com/glxp/api/entity/alihealth/AliKytSearchbill.java index 394a4b6b..a12d41b3 100644 --- a/src/main/java/com/glxp/api/entity/thrsys/ThirdAliSearchbill.java +++ b/src/main/java/com/glxp/api/entity/alihealth/AliKytSearchbill.java @@ -1,4 +1,4 @@ -package com.glxp.api.entity.thrsys; +package com.glxp.api.entity.alihealth; import com.baomidou.mybatisplus.annotation.TableField; import io.swagger.annotations.ApiModelProperty; @@ -7,7 +7,7 @@ import lombok.Data; import java.util.Date; @Data -public class ThirdAliSearchbill { +public class AliKytSearchbill { private String billType; private String billCode; private String fromUserId; diff --git a/src/main/java/com/glxp/api/req/alihealth/AlihealthLsydListupoutReqeust.java b/src/main/java/com/glxp/api/req/alihealth/AlihealthLsydListupoutReqeust.java new file mode 100644 index 00000000..ed65755d --- /dev/null +++ b/src/main/java/com/glxp/api/req/alihealth/AlihealthLsydListupoutReqeust.java @@ -0,0 +1,57 @@ +package com.glxp.api.req.alihealth; + +import com.glxp.api.req.alihealth.AlihealthKytCommonParametersReqeust; +import lombok.Data; + +@Data +public class AlihealthLsydListupoutReqeust extends AlihealthKytCommonParametersReqeust { + /** + * 企业ID + */ + private String ref_ent_id; + /** + * 开始日期(不写时分秒) + */ + private String begin_date; + /** + * 结束日期(不写时分秒) + */ + private String end_date; + /** + * 发货单位 + */ + private String from_user_id; + /** + * 生产批号 + */ + private String produce_batch_no; + /** + * 药品ID + */ + private String drug_ent_base_info_id; + /** + * 单据类型 + */ + private String bill_type; + /** + * 药品类型 + */ + private String physic_type; + /** + * 状态 + */ + private String status; + /** + * 单据号 + */ + private String bill_code; + + + private Integer cur_page; + private Integer page_size; + + + public AlihealthLsydListupoutReqeust(){ + this.setMethod("alibaba.alihealth.drugtrace.top.lsyd.listupout"); + } +} diff --git a/src/main/java/com/glxp/api/res/alihealth/AlihealthKytSearchbillResponse.java b/src/main/java/com/glxp/api/res/alihealth/AlihealthKytSearchbillResponse.java index c0c80908..15283d00 100644 --- a/src/main/java/com/glxp/api/res/alihealth/AlihealthKytSearchbillResponse.java +++ b/src/main/java/com/glxp/api/res/alihealth/AlihealthKytSearchbillResponse.java @@ -3,9 +3,7 @@ package com.glxp.api.res.alihealth; import cn.hutool.json.JSONArray; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; -import com.glxp.api.entity.collect.RelCodeBatch; -import com.glxp.api.entity.thrsys.ThirdAliDrug; -import com.glxp.api.entity.thrsys.ThirdAliSearchbill; +import com.glxp.api.entity.alihealth.AliKytSearchbill; import lombok.Data; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; @@ -40,37 +38,37 @@ public class AlihealthKytSearchbillResponse extends AlihealthKytCommonParameter } } - public List disposeThirdAliSearchbill(String customerId){ - List list = new ArrayList<>(); + public List disposeThirdAliSearchbill(String customerId){ + List list = new ArrayList<>(); List jsonArray = (List) this.getBill_chk_in_out_do(); if (jsonArray != null && jsonArray.size() > 0) { for (JSONObject jsonObject : jsonArray) { if (!Objects.isNull(jsonObject)) { - ThirdAliSearchbill thirdAliSearchbill = new ThirdAliSearchbill(); - thirdAliSearchbill.setBillType(jsonObject.getStr("bill_type")); - thirdAliSearchbill.setBillCode(jsonObject.getStr("bill_code")); - thirdAliSearchbill.setFromUserId(jsonObject.getStr("from_user_id")); - thirdAliSearchbill.setRefUserName(jsonObject.getStr("ref_user_name"));; - thirdAliSearchbill.setRefUserId(jsonObject.getStr("ref_user_id")); - thirdAliSearchbill.setProduceDate(jsonObject.getStr("produce_date")); - thirdAliSearchbill.setUploadFileName(jsonObject.getStr("upload_file_name")); - thirdAliSearchbill.setFromUserName(jsonObject.getStr("from_user_name")); - thirdAliSearchbill.setToUserId(jsonObject.getStr("to_user_id")); - thirdAliSearchbill.setProduceEntId(jsonObject.getStr("produce_ent_id")); - thirdAliSearchbill.setBillTime(jsonObject.getStr("bill_time")); - thirdAliSearchbill.setUserRoleType(jsonObject.getStr("user_role_type")); - thirdAliSearchbill.setProcessDate(jsonObject.getStr("process_date")); - thirdAliSearchbill.setBillId(jsonObject.getStr("bill_id")); - thirdAliSearchbill.setToUserName(jsonObject.getStr("to_user_name")); - thirdAliSearchbill.setAgentUserName(jsonObject.getStr("agent_user_name")); - thirdAliSearchbill.setAgentRefUserId(jsonObject.getStr("agent_ref_user_id")); - thirdAliSearchbill.setBillTypeName(jsonObject.getStr("bill_type_name")); - thirdAliSearchbill.setToRefUserId(jsonObject.getStr("to_ref_user_id")); - thirdAliSearchbill.setFromRefUserId(jsonObject.getStr("from_ref_user_id")); - thirdAliSearchbill.setErpId("customerId"); - thirdAliSearchbill.setCreateTime(new Date()); - thirdAliSearchbill.setUpdateTime(new Date()); - list.add(thirdAliSearchbill); + AliKytSearchbill aliKytSearchbill = new AliKytSearchbill(); + aliKytSearchbill.setBillType(jsonObject.getStr("bill_type")); + aliKytSearchbill.setBillCode(jsonObject.getStr("bill_code")); + aliKytSearchbill.setFromUserId(jsonObject.getStr("from_user_id")); + aliKytSearchbill.setRefUserName(jsonObject.getStr("ref_user_name"));; + aliKytSearchbill.setRefUserId(jsonObject.getStr("ref_user_id")); + aliKytSearchbill.setProduceDate(jsonObject.getStr("produce_date")); + aliKytSearchbill.setUploadFileName(jsonObject.getStr("upload_file_name")); + aliKytSearchbill.setFromUserName(jsonObject.getStr("from_user_name")); + aliKytSearchbill.setToUserId(jsonObject.getStr("to_user_id")); + aliKytSearchbill.setProduceEntId(jsonObject.getStr("produce_ent_id")); + aliKytSearchbill.setBillTime(jsonObject.getStr("bill_time")); + aliKytSearchbill.setUserRoleType(jsonObject.getStr("user_role_type")); + aliKytSearchbill.setProcessDate(jsonObject.getStr("process_date")); + aliKytSearchbill.setBillId(jsonObject.getStr("bill_id")); + aliKytSearchbill.setToUserName(jsonObject.getStr("to_user_name")); + aliKytSearchbill.setAgentUserName(jsonObject.getStr("agent_user_name")); + aliKytSearchbill.setAgentRefUserId(jsonObject.getStr("agent_ref_user_id")); + aliKytSearchbill.setBillTypeName(jsonObject.getStr("bill_type_name")); + aliKytSearchbill.setToRefUserId(jsonObject.getStr("to_ref_user_id")); + aliKytSearchbill.setFromRefUserId(jsonObject.getStr("from_ref_user_id")); + aliKytSearchbill.setErpId(customerId); + aliKytSearchbill.setCreateTime(new Date()); + aliKytSearchbill.setUpdateTime(new Date()); + list.add(aliKytSearchbill); } } diff --git a/src/main/java/com/glxp/api/res/alihealth/AlihealthLsydListupoutResponse.java b/src/main/java/com/glxp/api/res/alihealth/AlihealthLsydListupoutResponse.java new file mode 100644 index 00000000..8426adc3 --- /dev/null +++ b/src/main/java/com/glxp/api/res/alihealth/AlihealthLsydListupoutResponse.java @@ -0,0 +1,43 @@ +package com.glxp.api.res.alihealth; + +import cn.hutool.json.JSONArray; +import cn.hutool.json.JSONObject; +import cn.hutool.json.JSONUtil; +import lombok.Data; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.BeanUtils; + +import java.util.Objects; + +@Data +public class AlihealthLsydListupoutResponse extends AlihealthKytCommonParametersResponse { + private JSONArray bill_up_out_detail_do; + private Integer total_num; + + public AlihealthLsydListupoutResponse(String json) { + // 初始化请求的值 + cn.hutool.json.JSONObject jsonObject = JSONUtil.parseObj(json); + JSONObject jsonObjectResult = null; + for (String s : jsonObject.keySet()) { + jsonObjectResult = jsonObject.getJSONObject(s).getJSONObject("result"); + + } + AlihealthKytCommonParametersResponse alihealthKytCommonParametersResponse = JSONUtil.toBean(jsonObjectResult.toString(), + AlihealthKytCommonParametersResponse.class); + BeanUtils.copyProperties(alihealthKytCommonParametersResponse, this); + if (StringUtils.isNotEmpty(this.getMsg_info()) + && this.getMsg_info().equals("调用成功") + ) { + this.disposeResult(jsonObjectResult); + } + + } + + public void disposeResult(JSONObject jsonObjectResult) { + JSONObject jsonObjectModel = jsonObjectResult.getJSONObject("model"); + if (!Objects.isNull(jsonObjectModel)) { + this.setTotal_num(jsonObjectModel.getInt("total_num")); + this.setBill_up_out_detail_do(jsonObjectModel.getJSONObject("result_list").getJSONArray("bill_up_out_detail_do")); + } + } +} diff --git a/src/main/java/com/glxp/api/service/basic/UdiContrastService.java b/src/main/java/com/glxp/api/service/basic/UdiContrastService.java index 3e5438d7..01b1cce3 100644 --- a/src/main/java/com/glxp/api/service/basic/UdiContrastService.java +++ b/src/main/java/com/glxp/api/service/basic/UdiContrastService.java @@ -418,18 +418,7 @@ public class UdiContrastService { for (int i = 0; i < thirdAliDrugList.size(); i++) { ThirdAliDrug thirdAliDrug = thirdAliDrugList.get(i); - List integers = new ArrayList<>(); - if (StrUtil.isNotEmpty(thirdAliDrug.getPackRatio())) { - integers = DimaUtil.calculateLevels(thirdAliDrug.getPackRatio()); - } - udiProductEntity.setPackLevel(thirdAliDrug.getPackLevel()); - try { - udiProductEntity.setBhxjsl(integers.get(IntUtil.value(thirdAliDrug.getPackLevel()) - 1)); - } catch (IndexOutOfBoundsException e) { - e.printStackTrace(); - Log.error("计算包装级别出错" + thirdAliDrug.getPackLevel() + "---" + integers + "-----" + thirdAliDrug.toString()); - udiProductEntity.setBhxjsl(0); - } + udiProductEntity.setNameCode(thirdAliDrug.getNameCode()); @@ -447,14 +436,25 @@ public class UdiContrastService { udiProductEntity.setPackUnit(thirdAliDrug.getPackUnitName()); //设置最小产品数量 // udiProductEntity.setBhxjsl(ybDrug.getFactor()); - //设置包装级别 - udiProductEntity.setPackLevel(1 + ""); //生产厂家 udiProductEntity.setManufactory(thirdAliDrug.getManufacturer()); //商品条码 essentialDrugMarkName sptm // udiProductEntity.setSptm(ybDrug.getBusinessLicense()); udiProductEntity.setPrepnUnit(thirdAliDrug.getPrepnUnitName()); + List integers = new ArrayList<>(); + if (StrUtil.isNotEmpty(thirdAliDrug.getPackRatio())) { + integers = DimaUtil.calculateLevels(thirdAliDrug.getPackRatio()); + } + udiProductEntity.setPackLevel(thirdAliDrug.getPackLevel()); + try { + udiProductEntity.setBhxjsl(integers.get(IntUtil.value(thirdAliDrug.getPackLevel()) - 1)); + } catch (IndexOutOfBoundsException e) { + e.printStackTrace(); + Log.error("计算包装级别出错" + thirdAliDrug.getPackLevel() + "---" + integers + "-----" + thirdAliDrug.toString()); + udiProductEntity.setBhxjsl(0); + } + if (IntUtil.value(thirdAliDrug.getPackLevel()) == 1) { udiProductEntity.setXjdw(ybDrug.getMinUnit()); if (DimaUtil.trMinCount(thirdAliDrug.getBzgg()) != null) { diff --git a/src/main/java/com/glxp/api/util/alihealth/AlihealthUtils.java b/src/main/java/com/glxp/api/util/alihealth/AlihealthUtils.java index 6b0a2f41..6e3ae1ab 100644 --- a/src/main/java/com/glxp/api/util/alihealth/AlihealthUtils.java +++ b/src/main/java/com/glxp/api/util/alihealth/AlihealthUtils.java @@ -5,7 +5,7 @@ import cn.hutool.http.HttpUtil; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.entity.thrsys.ThirdAliDrug; -import com.glxp.api.entity.thrsys.ThirdAliSearchbill; +import com.glxp.api.entity.alihealth.AliKytSearchbill; import com.glxp.api.req.alihealth.AlihealthKytCommonParametersReqeust; import com.glxp.api.req.alihealth.AlihealthKytDrugrescodeReqeust; import com.glxp.api.req.alihealth.AlihealthKytSearchbillReqeust; @@ -92,7 +92,7 @@ public class AlihealthUtils { return ResultVOUtils.error("阿里健康接口调用失败===用户找不到或者key和秘钥为空"); } if (alihealthKytDrugrescodeResponse.judgeCall()) { - List list = alihealthKytDrugrescodeResponse.disposeThirdAliSearchbill(alihealthKytThirdAliSearchbillInsertReqeust.getErpId()); + List list = alihealthKytDrugrescodeResponse.disposeThirdAliSearchbill(alihealthKytThirdAliSearchbillInsertReqeust.getErpId()); return ResultVOUtils.success(list); } else { return ResultVOUtils.error("阿里健康接口调用失败===" + alihealthKytDrugrescodeResponse.getMsg_info());