From ec747944bfda4a12e7f242552d6ea89102253cd9 Mon Sep 17 00:00:00 2001 From: qiuyt Date: Thu, 12 Dec 2024 10:51:55 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E9=98=BF=E9=87=8C=E4=B8=80=E4=BA=9B?= =?UTF-8?q?=E5=AF=B9=E8=B1=A1=E5=85=88=E4=B8=8A=E4=BC=A0=20=E5=88=9D?= =?UTF-8?q?=E5=A7=8B=E5=8C=96=E4=B8=80=E4=BA=9B=E8=AE=BF=E9=97=AE=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E6=96=B9=E6=B3=95=202=E3=80=81=E6=9D=B0=E5=93=A5?= =?UTF-8?q?=E6=94=B9=E7=9A=84=E4=B8=9C=E8=A5=BF=E4=B8=8A=E4=BC=A0=203?= =?UTF-8?q?=E3=80=81=E5=BE=AA=E7=8E=AF=E5=AF=BC=E5=85=A5=E8=8D=AF=E5=93=81?= =?UTF-8?q?=E6=B2=A1=E5=8A=A0=E7=B1=BB=E5=9E=8B=E6=9F=A5=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/alihealth/AliYljgBillDetail.java | 73 ++++++++++ .../alihealth/AliYljgBillDetailDrug.java | 98 +++++++++++++ .../alihealth/AliYljgBillDetailDrugCode.java | 39 +++++ .../entity/alihealth/AliYljgSearchbill.java | 130 +++++++++++++++++ .../AlihealthYljgCodedetailReqeust.java | 14 ++ .../AlihealthYljgListupoutDetailReqeust.java | 29 ++++ ...ava => AlihealthYljgListupoutReqeust.java} | 7 +- .../AlihealthYljgSinglerelationReqeust.java | 14 ++ .../AlihealthYljgUploadinoutbillReqeust.java | 50 +++++++ .../AlihealthRelCodeInsertYljgReqeust.java | 16 +++ .../AlihealthYljgLocaCodedetailReqeust.java | 11 ++ ...healthYljgLocalUploadinoutbillReqeust.java | 12 ++ .../AlihealthLsydListupoutDetailResponse.java | 50 +++++++ .../AlihealthLsydListupoutResponse.java | 46 +++++- .../AlihealthYljgCodedetailResponse.java | 92 ++++++++++++ .../AlihealthYljgUploadinoutbillResponse.java | 14 ++ .../basic/impl/UdiProductServiceImpl.java | 6 +- .../service/thrsys/ThirdAliDrugService.java | 6 +- .../util/alihealth/AlihealthYljgUtils.java | 135 ++++++++++++++++++ .../mybatis/mapper/thrsys/ThrProductsDao.xml | 3 + 20 files changed, 832 insertions(+), 13 deletions(-) create mode 100644 src/main/java/com/glxp/api/entity/alihealth/AliYljgBillDetail.java create mode 100644 src/main/java/com/glxp/api/entity/alihealth/AliYljgBillDetailDrug.java create mode 100644 src/main/java/com/glxp/api/entity/alihealth/AliYljgBillDetailDrugCode.java create mode 100644 src/main/java/com/glxp/api/entity/alihealth/AliYljgSearchbill.java create mode 100644 src/main/java/com/glxp/api/req/alihealth/AlihealthYljgCodedetailReqeust.java create mode 100644 src/main/java/com/glxp/api/req/alihealth/AlihealthYljgListupoutDetailReqeust.java rename src/main/java/com/glxp/api/req/alihealth/{AlihealthLsydListupoutReqeust.java => AlihealthYljgListupoutReqeust.java} (78%) create mode 100644 src/main/java/com/glxp/api/req/alihealth/AlihealthYljgSinglerelationReqeust.java create mode 100644 src/main/java/com/glxp/api/req/alihealth/AlihealthYljgUploadinoutbillReqeust.java create mode 100644 src/main/java/com/glxp/api/req/alihealth/local/AlihealthRelCodeInsertYljgReqeust.java create mode 100644 src/main/java/com/glxp/api/req/alihealth/local/AlihealthYljgLocaCodedetailReqeust.java create mode 100644 src/main/java/com/glxp/api/req/alihealth/local/AlihealthYljgLocalUploadinoutbillReqeust.java create mode 100644 src/main/java/com/glxp/api/res/alihealth/AlihealthLsydListupoutDetailResponse.java create mode 100644 src/main/java/com/glxp/api/res/alihealth/AlihealthYljgCodedetailResponse.java create mode 100644 src/main/java/com/glxp/api/res/alihealth/AlihealthYljgUploadinoutbillResponse.java create mode 100644 src/main/java/com/glxp/api/util/alihealth/AlihealthYljgUtils.java diff --git a/src/main/java/com/glxp/api/entity/alihealth/AliYljgBillDetail.java b/src/main/java/com/glxp/api/entity/alihealth/AliYljgBillDetail.java new file mode 100644 index 00000000..05eead2b --- /dev/null +++ b/src/main/java/com/glxp/api/entity/alihealth/AliYljgBillDetail.java @@ -0,0 +1,73 @@ +package com.glxp.api.entity.alihealth; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; +import java.util.List; + +@Data +public class AliYljgBillDetail { + + /** + * 单据编码 + */ + private String billCode; + /** + * 单据类型描述 + */ + private String billTypeName; + /** + * 单据类型 + */ + private String billType; + /** + * 发货企业名称 + */ + private String entSendName; + /** + * 收货企业名称 + */ + private String entRecvName; + /** + * 收货企业refEntId + */ + private String entRecvId; + /** + * 单据日期 + */ + private String storeOutDate; + /** + * 最后更新时间 + */ + private String updateDate; + /** + * 药品详情集合 + */ + private List aliYljgBillDetailDrugList; + + + + + + + + + private String erpId; + /** + * 创建时间 + */ + @TableField(value = "createTime") + @ApiModelProperty(value = "创建时间") + private Date createTime; + + /** + * 更新时间 + */ + @TableField(value = "updateTime") + @ApiModelProperty(value = "更新时间") + private Date updateTime; + + +} diff --git a/src/main/java/com/glxp/api/entity/alihealth/AliYljgBillDetailDrug.java b/src/main/java/com/glxp/api/entity/alihealth/AliYljgBillDetailDrug.java new file mode 100644 index 00000000..5cacc601 --- /dev/null +++ b/src/main/java/com/glxp/api/entity/alihealth/AliYljgBillDetailDrug.java @@ -0,0 +1,98 @@ +package com.glxp.api.entity.alihealth; + +import lombok.Data; + +import java.util.List; + +@Data +public class AliYljgBillDetailDrug { + + + + /** + * 生产日期 + */ + private String produceDate; + /** + * 生产企业名称 + */ + private String productEntName; + /** + * 产品包装规格 + */ + private String packageSpec; + /** + * 药品商品名 + */ + private String prodName; + /** + * 药品通用名 + */ + private String physicName; + /** + * 制剂规格 + */ + private String prepnSpec; + /** + * 制剂单位编码 + */ + private String prepnUnit; + /** + * 批次号 + */ + private String produceBatchNo; + /** + * 药品标识 + */ + private String prodSeqNo; + /** + * + */ + private String drugEntBaseInfoId; + /** + * 有效期至 + */ + private String validEndDate; + /** + * 按最小包装单位统计数量 + */ + private String leastPkgAmount; + /** + * 按最小制剂单位统计数量 + */ + private String leastPrepnAmount; + /** + * 批准文号 + */ + private String approvalNo; + /** + * 药品类型 + */ + private String physicType; + /** + * 药品类型描述 + */ + private String physicTypeName; + /** + * 制剂单位 + */ + private String preparationsUnit; + /** + * 制剂规格描述 + */ + private String prepnTypeDesc; + /** + * 码信息集合 + */ + private List aliYljgBillDetailDrugCodeList; + /** + * 包装单位描述 + */ + private String pkgUnitDesc; + + + + + + +} diff --git a/src/main/java/com/glxp/api/entity/alihealth/AliYljgBillDetailDrugCode.java b/src/main/java/com/glxp/api/entity/alihealth/AliYljgBillDetailDrugCode.java new file mode 100644 index 00000000..51a98fb7 --- /dev/null +++ b/src/main/java/com/glxp/api/entity/alihealth/AliYljgBillDetailDrugCode.java @@ -0,0 +1,39 @@ +package com.glxp.api.entity.alihealth; + +import lombok.Data; + +@Data +public class AliYljgBillDetailDrugCode { + + + /** + * 制剂规格 + */ + private String prepnSpec; + /** + * 最小制剂数量 + */ + private String prepnAmount; + + /** + * 最小包装数量 + */ + private String pkgAmount; + + /** + * 监管码级别 + */ + private String codeLevel; + + /** + * 监管码 + */ + private String code; + + + + + + + +} diff --git a/src/main/java/com/glxp/api/entity/alihealth/AliYljgSearchbill.java b/src/main/java/com/glxp/api/entity/alihealth/AliYljgSearchbill.java new file mode 100644 index 00000000..44bcf7ce --- /dev/null +++ b/src/main/java/com/glxp/api/entity/alihealth/AliYljgSearchbill.java @@ -0,0 +1,130 @@ +package com.glxp.api.entity.alihealth; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +@Data +public class AliYljgSearchbill { + /** + * 发货单位 + */ + private String fromEntName; + /** + * 最小码量 + */ + private String codeCount; + /** + * 失效日期 + */ + private String exprieDate; + /** + * 厂商 + */ + private String produceEntName; + /** + * 生产日期 + */ + private String produceDate; + /** + * 生产批号 + */ + private String produceBatchNo; + /** + * 包装规格 + */ + private String pkgSpec; + /** + * 药品信息 + */ + private String physicInfo; + /** + * 药品名称 + */ + private String physicName; + /** + * 制剂数量 + */ + private String prepnCount; + /** + * 发货单位REFENTID + */ + private String fromRefUserId; + /** + * 收货单位REFENTID + */ + private String toRefUserId; + /** + * 单据时间 + */ + private String billTime; + /** + * 单据码 + */ + private String billCode; + /** + * 单据类型 + */ + private String billType; + /** + * 发货企业 + */ + private String toUserName; + /** + * 收货企业 + */ + private String fromUserName; + /** + * 失效日期格式化 + */ + private String exprieDateFormat; + /** + * 单据时间格式化 + */ + private String billTimeFormat; + /** + * 单据ID + */ + private String billOutId; + /** + * 制剂单位 + */ + private String prepnUnit; + /** + * 制剂规格 + */ + private String prepnSpec; + /** + * 药品ID + */ + private String drugEntBaseInfoId; + /** + * 生产日期格式化 + */ + private String produceDateFormat; + /** + * 确认状态1未确认2已确认 + */ + private String status; + + + + private String erpId; + /** + * 创建时间 + */ + @TableField(value = "createTime") + @ApiModelProperty(value = "创建时间") + private Date createTime; + + /** + * 更新时间 + */ + @TableField(value = "updateTime") + @ApiModelProperty(value = "更新时间") + private Date updateTime; + + +} diff --git a/src/main/java/com/glxp/api/req/alihealth/AlihealthYljgCodedetailReqeust.java b/src/main/java/com/glxp/api/req/alihealth/AlihealthYljgCodedetailReqeust.java new file mode 100644 index 00000000..7709a9b8 --- /dev/null +++ b/src/main/java/com/glxp/api/req/alihealth/AlihealthYljgCodedetailReqeust.java @@ -0,0 +1,14 @@ +package com.glxp.api.req.alihealth; + +import com.glxp.api.req.alihealth.local.AlihealthYljgLocaCodedetailReqeust; +import lombok.Data; + +@Data +public class AlihealthYljgCodedetailReqeust extends AlihealthKytCommonParametersReqeust { + private String ref_ent_id; + private String codes; + + public AlihealthYljgCodedetailReqeust(){ + this.setMethod("alibaba.alihealth.drugtrace.top.yljg.query.codedetail"); + } +} diff --git a/src/main/java/com/glxp/api/req/alihealth/AlihealthYljgListupoutDetailReqeust.java b/src/main/java/com/glxp/api/req/alihealth/AlihealthYljgListupoutDetailReqeust.java new file mode 100644 index 00000000..86cefab3 --- /dev/null +++ b/src/main/java/com/glxp/api/req/alihealth/AlihealthYljgListupoutDetailReqeust.java @@ -0,0 +1,29 @@ +package com.glxp.api.req.alihealth; + +import lombok.Data; + +@Data +public class AlihealthYljgListupoutDetailReqeust extends AlihealthKytCommonParametersReqeust { + /** + * 企业ID + */ + private String ref_ent_id; + + /** + * 单据编码 + */ + private String bill_code; + /** + * 发货企业renEntId + */ + private String from_ref_user_id; + /** + * 收货企业refEntId + */ + private String to_ref_user_id; + + + public AlihealthYljgListupoutDetailReqeust(){ + this.setMethod("alibaba.alihealth.drugtrace.top.yljg.listupout.detail"); + } +} diff --git a/src/main/java/com/glxp/api/req/alihealth/AlihealthLsydListupoutReqeust.java b/src/main/java/com/glxp/api/req/alihealth/AlihealthYljgListupoutReqeust.java similarity index 78% rename from src/main/java/com/glxp/api/req/alihealth/AlihealthLsydListupoutReqeust.java rename to src/main/java/com/glxp/api/req/alihealth/AlihealthYljgListupoutReqeust.java index ed65755d..ad677ac5 100644 --- a/src/main/java/com/glxp/api/req/alihealth/AlihealthLsydListupoutReqeust.java +++ b/src/main/java/com/glxp/api/req/alihealth/AlihealthYljgListupoutReqeust.java @@ -1,10 +1,9 @@ package com.glxp.api.req.alihealth; -import com.glxp.api.req.alihealth.AlihealthKytCommonParametersReqeust; import lombok.Data; @Data -public class AlihealthLsydListupoutReqeust extends AlihealthKytCommonParametersReqeust { +public class AlihealthYljgListupoutReqeust extends AlihealthKytCommonParametersReqeust { /** * 企业ID */ @@ -51,7 +50,7 @@ public class AlihealthLsydListupoutReqeust extends AlihealthKytCommonParametersR private Integer page_size; - public AlihealthLsydListupoutReqeust(){ - this.setMethod("alibaba.alihealth.drugtrace.top.lsyd.listupout"); + public AlihealthYljgListupoutReqeust(){ + this.setMethod("alibaba.alihealth.drugtrace.top.yljg.listupout"); } } diff --git a/src/main/java/com/glxp/api/req/alihealth/AlihealthYljgSinglerelationReqeust.java b/src/main/java/com/glxp/api/req/alihealth/AlihealthYljgSinglerelationReqeust.java new file mode 100644 index 00000000..410fa6c4 --- /dev/null +++ b/src/main/java/com/glxp/api/req/alihealth/AlihealthYljgSinglerelationReqeust.java @@ -0,0 +1,14 @@ +package com.glxp.api.req.alihealth; + +import lombok.Data; + +@Data +public class AlihealthYljgSinglerelationReqeust extends AlihealthKytCommonParametersReqeust { + private String ref_ent_id; + private String des_ref_ent_id; + private String code; + public AlihealthYljgSinglerelationReqeust(){ + this.setMethod("alibaba.alihealth.drugtrace.top.yljg.query.relation"); + } + +} diff --git a/src/main/java/com/glxp/api/req/alihealth/AlihealthYljgUploadinoutbillReqeust.java b/src/main/java/com/glxp/api/req/alihealth/AlihealthYljgUploadinoutbillReqeust.java new file mode 100644 index 00000000..a6601029 --- /dev/null +++ b/src/main/java/com/glxp/api/req/alihealth/AlihealthYljgUploadinoutbillReqeust.java @@ -0,0 +1,50 @@ +package com.glxp.api.req.alihealth; + +import com.glxp.api.req.alihealth.AlihealthKytCommonParametersReqeust; +import lombok.Data; + +@Data +public class AlihealthYljgUploadinoutbillReqeust extends AlihealthKytCommonParametersReqeust { + private String bill_code; + private String bill_time; + private String bill_type; + private String physic_type; + private String ref_user_id; + private String agent_ref_user_id; + private String from_user_id; + private String to_user_id; + private String dest_user_id; + private String oper_ic_code; + private String oper_ic_name; + private String warehouse_id; + private String drug_id; + private String trace_codes; + private String client_type; + private String return_reason_code; + private String return_reason_des; + private String cancel_reason_code; + private String cancel_reason_des; + private String executer_name; + private String executer_code; + private String superviser_name; + private String superviser_code; + private String from_address; + private String to_address; + private String from_bill_code; + private String order_code; + private String from_person; + private String to_person; + private String dis_ref_ent_id; + private String dis_ent_id; + private String qu_receivable; + private String xt_is_check; + private String xt_check_code; + private String xt_check_code_desc; + private String drug_list_json; + private String ass_ref_ent_id; + private String ass_ent_id; + + public AlihealthYljgUploadinoutbillReqeust(){ + this.setMethod("alibaba.alihealth.drugtrace.top.yljg.uploadinoutbill"); + } +} diff --git a/src/main/java/com/glxp/api/req/alihealth/local/AlihealthRelCodeInsertYljgReqeust.java b/src/main/java/com/glxp/api/req/alihealth/local/AlihealthRelCodeInsertYljgReqeust.java new file mode 100644 index 00000000..abfac271 --- /dev/null +++ b/src/main/java/com/glxp/api/req/alihealth/local/AlihealthRelCodeInsertYljgReqeust.java @@ -0,0 +1,16 @@ +package com.glxp.api.req.alihealth.local; + +import com.glxp.api.req.alihealth.AlihealthKytDrugrescodeReqeust; +import com.glxp.api.req.alihealth.AlihealthYljgUploadinoutbillReqeust; +import lombok.Data; + +@Data +public class AlihealthRelCodeInsertYljgReqeust { + /** + * 往来单位名称 + */ + private String erpId; + private String appSecret; + + private AlihealthYljgUploadinoutbillReqeust alihealthYljgUploadinoutbillReqeust; +} diff --git a/src/main/java/com/glxp/api/req/alihealth/local/AlihealthYljgLocaCodedetailReqeust.java b/src/main/java/com/glxp/api/req/alihealth/local/AlihealthYljgLocaCodedetailReqeust.java new file mode 100644 index 00000000..4f931395 --- /dev/null +++ b/src/main/java/com/glxp/api/req/alihealth/local/AlihealthYljgLocaCodedetailReqeust.java @@ -0,0 +1,11 @@ +package com.glxp.api.req.alihealth.local; + +import com.glxp.api.req.alihealth.AlihealthYljgCodedetailReqeust; +import lombok.Data; + +@Data +public class AlihealthYljgLocaCodedetailReqeust { + private String erpId; + private String appSecret; + private AlihealthYljgCodedetailReqeust alihealthYljgCodedetailReqeust; +} diff --git a/src/main/java/com/glxp/api/req/alihealth/local/AlihealthYljgLocalUploadinoutbillReqeust.java b/src/main/java/com/glxp/api/req/alihealth/local/AlihealthYljgLocalUploadinoutbillReqeust.java new file mode 100644 index 00000000..22d5a5ec --- /dev/null +++ b/src/main/java/com/glxp/api/req/alihealth/local/AlihealthYljgLocalUploadinoutbillReqeust.java @@ -0,0 +1,12 @@ +package com.glxp.api.req.alihealth.local; + +import com.glxp.api.req.alihealth.AlihealthYljgUploadinoutbillReqeust; +import lombok.Data; + +@Data +public class AlihealthYljgLocalUploadinoutbillReqeust { + private String erpId; + private String appSecret; + + private AlihealthYljgUploadinoutbillReqeust alihealthYljgUploadinoutbillReqeust; +} diff --git a/src/main/java/com/glxp/api/res/alihealth/AlihealthLsydListupoutDetailResponse.java b/src/main/java/com/glxp/api/res/alihealth/AlihealthLsydListupoutDetailResponse.java new file mode 100644 index 00000000..e4652f11 --- /dev/null +++ b/src/main/java/com/glxp/api/res/alihealth/AlihealthLsydListupoutDetailResponse.java @@ -0,0 +1,50 @@ +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 AlihealthLsydListupoutDetailResponse extends AlihealthKytCommonParametersResponse { + private JSONArray bill_up_out_detail_do; + private Integer total_num; + + public AlihealthLsydListupoutDetailResponse(String 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")); + } + } + public void disposeAliKytBillDetail(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/res/alihealth/AlihealthLsydListupoutResponse.java b/src/main/java/com/glxp/api/res/alihealth/AlihealthLsydListupoutResponse.java index 8426adc3..42a8822c 100644 --- a/src/main/java/com/glxp/api/res/alihealth/AlihealthLsydListupoutResponse.java +++ b/src/main/java/com/glxp/api/res/alihealth/AlihealthLsydListupoutResponse.java @@ -11,9 +11,39 @@ import java.util.Objects; @Data public class AlihealthLsydListupoutResponse extends AlihealthKytCommonParametersResponse { - private JSONArray bill_up_out_detail_do; - private Integer total_num; - + /** + * 单据编码 + */ + private String bill_code; + /** + * 单据类型描述 + */ + private String bill_type_name; + /** + * 单据类型 + */ + private String bill_type; + /** + * 发货企业名称 + */ + private String ent_send_name; + /** + * 收货企业名称 + */ + private String ent_recv_name; + /** + * 收货企业ref_ent_id + */ + private String ent_recv_id; + /** + * 单据日期 + */ + private String store_out_date; + /** + * 最后更新时间 + */ + private String update_date; + private JSONArray drug_infos_dto_list; public AlihealthLsydListupoutResponse(String json) { // 初始化请求的值 cn.hutool.json.JSONObject jsonObject = JSONUtil.parseObj(json); @@ -36,8 +66,14 @@ public class AlihealthLsydListupoutResponse extends AlihealthKytCommonParameter 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")); + BeanUtils.copyProperties(jsonObjectModel,this); } } +// public void disposeAliKytBillDetail() { +// 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/res/alihealth/AlihealthYljgCodedetailResponse.java b/src/main/java/com/glxp/api/res/alihealth/AlihealthYljgCodedetailResponse.java new file mode 100644 index 00000000..83b4cc8a --- /dev/null +++ b/src/main/java/com/glxp/api/res/alihealth/AlihealthYljgCodedetailResponse.java @@ -0,0 +1,92 @@ +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.util.udi.FilterUdiUtils; +import lombok.Data; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.BeanUtils; + +import java.util.*; + +@Data +public class AlihealthYljgCodedetailResponse extends AlihealthKytCommonParametersResponse{ + + private JSONArray code_full_info_dto; + + + + public AlihealthYljgCodedetailResponse(String 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("models"); + if (!Objects.isNull(jsonObjectModel)) { + this.code_full_info_dto = jsonObjectResult.getJSONArray("code_full_info_dto"); + +// this.setTotal_num(jsonObjectModel.getInt("total_num")); +// this.setBill_up_out_detail_do(jsonObjectModel.getJSONObject("result_list").getJSONArray("bill_up_out_detail_do")); + } + } + public List disposeRelCodeBatch(String customerId){ + List relCodeBatchList =new ArrayList<>(); + + List list = (List)this.getCode_full_info_dto(); + if(list != null & list.size() >0){ + for (JSONObject jsonObject : list) { + RelCodeBatch relCodeBatch = new RelCodeBatch(); + relCodeBatch.setProductCode(FilterUdiUtils.getUdi(jsonObject.getStr("code")).getUdi()); +// relCodeBatch.setSubTypeNo(); +// relCodeBatch.setCascadeRatio(); + relCodeBatch.setPackageSpec(jsonObject.getStr("pkg_spec_crit")); +// relCodeBatch.setComment(); + List jsonArray = (List) jsonObject.getJSONObject("code_produce_info_d_t_o").getJSONArray("produce_info_list"); + JSONObject produceInfo =jsonArray.get(0); + relCodeBatch.setBatchNo(produceInfo.getStr("batch_no")); + relCodeBatch.setMadeDate(produceInfo.getStr("produce_date_str")); + relCodeBatch.setValidateDate(produceInfo.getStr("expire_date")); + relCodeBatch.setWorkShop(jsonObject.getJSONObject("p_user_ent_d_t_o").getStr("ent_name")); +// relCodeBatch.setLineName(); +// relCodeBatch.setLineManager(); +// relCodeBatch.setCreateTime(); +// relCodeBatch.setCreateUser(); + relCodeBatch.setUpdateTime(new Date()); + relCodeBatch.setUpdateUser(customerId); + relCodeBatch.setUploadFlagUp(0); + relCodeBatch.setUploadFlagDown(0); + relCodeBatch.setParentCode(null); + relCodeBatch.setErpId(customerId); + relCodeBatch.setCurCode(jsonObject.getStr("code")); +// if(jsonObject.getJSONObject("p_user_ent_d_t_o").equals("1")){ +// +// }else if(jsonObject.getJSONObject("p_user_ent_d_t_o").equals("2")){ +// +// } + relCodeBatch.setOneLevelCount(0); + relCodeBatch.setTwoLevelCount(0); + relCodeBatch.setThreeLevelCount(0); + relCodeBatchList.add(relCodeBatch); + + } + } + return relCodeBatchList; + } +} diff --git a/src/main/java/com/glxp/api/res/alihealth/AlihealthYljgUploadinoutbillResponse.java b/src/main/java/com/glxp/api/res/alihealth/AlihealthYljgUploadinoutbillResponse.java new file mode 100644 index 00000000..86f99bac --- /dev/null +++ b/src/main/java/com/glxp/api/res/alihealth/AlihealthYljgUploadinoutbillResponse.java @@ -0,0 +1,14 @@ +package com.glxp.api.res.alihealth; + +import cn.hutool.json.JSONObject; +import cn.hutool.json.JSONUtil; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.BeanUtils; + +import javax.annotation.Resource; + +@Resource +public class AlihealthYljgUploadinoutbillResponse extends AlihealthKytCommonParametersResponse{ + private String response_success; + +} diff --git a/src/main/java/com/glxp/api/service/basic/impl/UdiProductServiceImpl.java b/src/main/java/com/glxp/api/service/basic/impl/UdiProductServiceImpl.java index 37341bfa..b2da3b05 100644 --- a/src/main/java/com/glxp/api/service/basic/impl/UdiProductServiceImpl.java +++ b/src/main/java/com/glxp/api/service/basic/impl/UdiProductServiceImpl.java @@ -461,7 +461,11 @@ public class UdiProductServiceImpl implements UdiProductService { List udiInfoEntities = findByUuids(udiRelevanceEntity.getUuid()); List diLevelResponses = new ArrayList<>(); if (CollUtil.isNotEmpty(udiInfoEntities)) { - + for (UdiProductEntity udiProductEntity:udiInfoEntities){ + if(udiProductEntity.getPackLevel() == null){ + udiProductEntity.setPackLevel("1"); + } + } Map> groupedByLevel = udiInfoEntities.stream() .collect(Collectors.groupingBy(UdiProductEntity::getPackLevel)); groupedByLevel.forEach((level, entities) -> { diff --git a/src/main/java/com/glxp/api/service/thrsys/ThirdAliDrugService.java b/src/main/java/com/glxp/api/service/thrsys/ThirdAliDrugService.java index b12a8a6e..c83a3f3d 100644 --- a/src/main/java/com/glxp/api/service/thrsys/ThirdAliDrugService.java +++ b/src/main/java/com/glxp/api/service/thrsys/ThirdAliDrugService.java @@ -247,13 +247,13 @@ public class ThirdAliDrugService extends ServiceImpl list) { - if(list!=null && list.size() >0){ + if (list != null && list.size() > 0) { for (ThirdAliDrug thirdAliDrug : list) { ThirdAliDrug thirdAliDrugNew = this.getOne(new QueryWrapper().eq("nameCode", thirdAliDrug.getNameCode()) .last("limit 1") ); if (Objects.isNull(thirdAliDrugNew)) { - + thirdAliDrug.setId(null); this.save(thirdAliDrug); } else { @@ -262,7 +262,7 @@ public class ThirdAliDrugService extends ServiceImpl yljgUploadinoutbill(AlihealthYljgLocalUploadinoutbillReqeust reqeust) { + AlihealthYljgUploadinoutbillResponse alihealthYljgUploadinoutbillResponse = null; + if (reqeust != null + && org.apache.commons.lang3.StringUtils.isNotEmpty(reqeust.getAppSecret()) + && org.apache.commons.lang3.StringUtils.isNotEmpty(reqeust.getAppSecret()) + ) { + try { + Map map = alihealthUtils.disposeSign(reqeust.getAlihealthYljgUploadinoutbillReqeust(), reqeust.getAppSecret()); + String json = HttpUtil.get(alihealthUrl, map); + alihealthYljgUploadinoutbillResponse = JSONUtil.toBean(json, AlihealthYljgUploadinoutbillResponse.class); + + } catch (Exception e) { + return ResultVOUtils.error("阿里健康接口调用失败===" + e.getMessage()); + } + + } else { + return ResultVOUtils.error("阿里健康接口调用失败===用户找不到或者key和秘钥为空"); + } + if (alihealthYljgUploadinoutbillResponse.judgeCall()) { + + return ResultVOUtils.success(alihealthYljgUploadinoutbillResponse); + } else { + return ResultVOUtils.error("阿里健康接口调用失败===" + alihealthYljgUploadinoutbillResponse.getMsg_info()); + + } + + } + + /** + * 单码关联关系查询 + * @param reqeust + * @return + */ + public BaseResponse relCodeInsert(AlihealthRelCodeInsertYljgReqeust reqeust) { + AlihealthLsydListupoutDetailResponse alihealthLsydListupoutDetailResponse = null; + AlihealthYljgUploadinoutbillReqeust alihealthYljgUploadinoutbillReqeust = reqeust.getAlihealthYljgUploadinoutbillReqeust(); + if (reqeust != null + && org.apache.commons.lang3.StringUtils.isNotEmpty(alihealthYljgUploadinoutbillReqeust.getApp_key()) + && org.apache.commons.lang3.StringUtils.isNotEmpty(reqeust.getAppSecret()) + ) { + try { + + Map map = alihealthUtils.disposeSign(alihealthYljgUploadinoutbillReqeust, reqeust.getAppSecret()); + String json = HttpUtil.get(alihealthUrl, map); + alihealthLsydListupoutDetailResponse = new AlihealthLsydListupoutDetailResponse(json); + + } catch (Exception e) { + return ResultVOUtils.error("阿里健康接口调用失败===" + e.getMessage()); + } + + } else { + return ResultVOUtils.error("阿里健康接口调用失败===用户找不到或者key和秘钥为空"); + } + if (alihealthLsydListupoutDetailResponse.judgeCall()) { + + return ResultVOUtils.success(alihealthLsydListupoutDetailResponse); + } else { + return ResultVOUtils.error("阿里健康接口调用失败===" + alihealthLsydListupoutDetailResponse.getMsg_info()); + + } + + } + + /** + * 根据码查询码信息 + * @param reqeust + * @return + */ + public BaseResponse> codedetail(AlihealthYljgLocaCodedetailReqeust reqeust) { + AlihealthYljgCodedetailResponse alihealthYljgCodedetailResponse = null; + AlihealthYljgCodedetailReqeust alihealthYljgCodedetailReqeust = reqeust.getAlihealthYljgCodedetailReqeust(); + if (reqeust != null + && org.apache.commons.lang3.StringUtils.isNotEmpty(alihealthYljgCodedetailReqeust.getApp_key()) + && org.apache.commons.lang3.StringUtils.isNotEmpty(reqeust.getAppSecret()) + ) { + try { + + Map map = alihealthUtils.disposeSign(alihealthYljgCodedetailReqeust, reqeust.getAppSecret()); + String json = HttpUtil.get(alihealthUrl, map); + alihealthYljgCodedetailResponse = new AlihealthYljgCodedetailResponse(json); + + } catch (Exception e) { + return ResultVOUtils.error("阿里健康接口调用失败===" + e.getMessage()); + } + + } else { + return ResultVOUtils.error("阿里健康接口调用失败===用户找不到或者key和秘钥为空"); + } + if (alihealthYljgCodedetailResponse.judgeCall()) { + return ResultVOUtils.success( alihealthYljgCodedetailResponse.disposeRelCodeBatch(reqeust.getErpId())); + } else { + return ResultVOUtils.error("阿里健康接口调用失败===" + alihealthYljgCodedetailResponse.getMsg_info()); + + } + + } +} diff --git a/src/main/resources/mybatis/mapper/thrsys/ThrProductsDao.xml b/src/main/resources/mybatis/mapper/thrsys/ThrProductsDao.xml index 68453153..c76c9d87 100644 --- a/src/main/resources/mybatis/mapper/thrsys/ThrProductsDao.xml +++ b/src/main/resources/mybatis/mapper/thrsys/ThrProductsDao.xml @@ -47,6 +47,9 @@ and DATE_FORMAT(updateTime, '%Y-%m-%d %H:%i:%S') >= DATE_FORMAT(#{lastUpdateTime}, '%Y-%m-%d %H:%i:%S') ]]> + + AND productType = #{productType} +