From 4b48e22345d082819fe6be9c9f5511b031184dd9 Mon Sep 17 00:00:00 2001 From: chenhc <2369838784@qq.com> Date: Tue, 24 Dec 2024 15:09:18 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0=E5=8F=91=E8=8D=AF?= =?UTF-8?q?=E6=9C=BA=E7=9A=84=E6=8E=A5=E5=8F=A3=E5=AF=B9=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../thrsys/DrugMachineController.java | 48 ++++++++ .../com/glxp/api/http/ErpBasicClient.java | 24 ++++ .../req/drugMachine/PutGoodsA001Request.java | 98 ++++++++++++++++ .../req/drugMachine/PutGoodsB001Request.java | 98 ++++++++++++++++ .../req/drugMachine/SendGoodsB002Request.java | 105 ++++++++++++++++++ .../service/thrsys/DrugMachineService.java | 60 ++++++++++ 6 files changed, 433 insertions(+) create mode 100644 src/main/java/com/glxp/api/controller/thrsys/DrugMachineController.java create mode 100644 src/main/java/com/glxp/api/req/drugMachine/PutGoodsA001Request.java create mode 100644 src/main/java/com/glxp/api/req/drugMachine/PutGoodsB001Request.java create mode 100644 src/main/java/com/glxp/api/req/drugMachine/SendGoodsB002Request.java create mode 100644 src/main/java/com/glxp/api/service/thrsys/DrugMachineService.java diff --git a/src/main/java/com/glxp/api/controller/thrsys/DrugMachineController.java b/src/main/java/com/glxp/api/controller/thrsys/DrugMachineController.java new file mode 100644 index 000000000..8a801d38e --- /dev/null +++ b/src/main/java/com/glxp/api/controller/thrsys/DrugMachineController.java @@ -0,0 +1,48 @@ +package com.glxp.api.controller.thrsys; + +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.common.util.ResultVOUtils; +import com.glxp.api.req.drugMachine.PutGoodsA001Request; +import com.glxp.api.req.drugMachine.PutGoodsB001Request; +import com.glxp.api.req.drugMachine.SendGoodsB002Request; +import com.glxp.api.service.thrsys.DrugMachineService; +import lombok.extern.slf4j.Slf4j; +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; + +@Slf4j +@RestController +public class DrugMachineController { + + + @Resource + DrugMachineService drugMachineService; + + /** + * B001 + * 发药机上货接口2 + * 药械追溯管理系统提供接收接口,接收发药机上货信息 + * @param putGoodsB001Request + * @return + */ + @PostMapping("/drugMachine/putGoods/B001") + public BaseResponse putGoodsB001(@RequestBody PutGoodsB001Request putGoodsB001Request) { + return drugMachineService.putGoodsB001(putGoodsB001Request); + } + + + /** + * B002 + * 发药机发药接口 + * 药械追溯管理系统提供接收接口,接收发药机发药信息 + * @param sendGoodsB002Request + * @return + */ + @PostMapping("/drugMachine/sendGoods/B002") + public BaseResponse sendGoodsB002(@RequestBody SendGoodsB002Request sendGoodsB002Request) { + return drugMachineService.sendGoodsB002(sendGoodsB002Request); + } +} diff --git a/src/main/java/com/glxp/api/http/ErpBasicClient.java b/src/main/java/com/glxp/api/http/ErpBasicClient.java index b172ff341..890ed5949 100644 --- a/src/main/java/com/glxp/api/http/ErpBasicClient.java +++ b/src/main/java/com/glxp/api/http/ErpBasicClient.java @@ -14,6 +14,7 @@ import com.glxp.api.http.req.UdiwmsBusTypeRequest; import com.glxp.api.http.req.UdiwmsUnitRequest; import com.glxp.api.req.basic.*; import com.glxp.api.req.collect.PostCollectOrderRequest; +import com.glxp.api.req.drugMachine.PutGoodsA001Request; import com.glxp.api.req.thrsys.*; import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.basic.BasicSkPrescribeResponse; @@ -526,4 +527,27 @@ public class ErpBasicClient { return ResultVOUtils.error(500, "连接第三方系统接口服务出错" + e.getMessage()); } } + + + + + + public BaseResponse> putGoodsA001(PutGoodsA001Request putGoodsA001Request,String thirdSys) { + ThrSystemEntity basicThirdSysEntity = basicThirdSysService.selectByThirdId(thirdSys); + String url = basicThirdSysEntity.getThridUrl() + "/drugMachine/putGoods/A001"; + try { + String response = okHttpCli.doGet(url); + if (StrUtil.isEmpty(response)) { + return ResultVOUtils.error(500, "连接第三方系统接口服务出错"); + } + BaseResponse> listBaseResponse = + JSONObject.parseObject(response, new TypeReference>>() { + }); + + return listBaseResponse; + } catch (Exception e) { + log.error("获取发药机上货接口1", e); + return ResultVOUtils.error(500, "连接第三方系统接口服务出错" + e.getMessage()); + } + } } diff --git a/src/main/java/com/glxp/api/req/drugMachine/PutGoodsA001Request.java b/src/main/java/com/glxp/api/req/drugMachine/PutGoodsA001Request.java new file mode 100644 index 000000000..aed8dbd94 --- /dev/null +++ b/src/main/java/com/glxp/api/req/drugMachine/PutGoodsA001Request.java @@ -0,0 +1,98 @@ +package com.glxp.api.req.drugMachine; + +import lombok.Data; + +@Data +public class PutGoodsA001Request { + + /** + * 是必要参数 + * 记录号 + */ + private String orderId; + + /** + * 是必要参数 + * 轨道编号 + */ + private String queueCode; + + /** + * 是必要参数 + * 药品追溯码 + */ + private String code; + + /** + * 是必要参数 + * 产品编码 + */ + private String productCode; + + /** + * 是必要参数 + * 产品通用名称 + */ + private String productName; + + /** + * 是必要参数 + * 包装规格 + */ + private String bzgg; + + /** + * 是必要参数 + * 计量单位 + */ + private String unit; + + /** + * 是必要参数 + * 批准文号 + */ + private String approvalNum; + + /** + * 是必要参数 + * 制剂单位 + */ + private String prepnUnit; + + /** + * 是必要参数 + * 制剂规格 + */ + private String prepnSpec; + + /** + * 是必要参数 + * 数量 + */ + private Integer count; + + /** + * 备用字段1 + */ + private String remark1; + + /** + * 备用字段2 + */ + private String remark2; + + /** + * 备用字段3 + */ + private String remark3; + + /** + * 备用字段4 + */ + private String remark4; + + /** + * 备用字段5 + */ + private String remark5; +} diff --git a/src/main/java/com/glxp/api/req/drugMachine/PutGoodsB001Request.java b/src/main/java/com/glxp/api/req/drugMachine/PutGoodsB001Request.java new file mode 100644 index 000000000..eca6d41f3 --- /dev/null +++ b/src/main/java/com/glxp/api/req/drugMachine/PutGoodsB001Request.java @@ -0,0 +1,98 @@ +package com.glxp.api.req.drugMachine; + +import lombok.Data; + +@Data +public class PutGoodsB001Request { + + /** + * 是必要参数 + * 记录号 + */ + private String orderId; + + /** + * 是必要参数 + * 轨道编号 + */ + private String queueCode; + + /** + * 是必要参数 + * 药品追溯码 + */ + private String code; + + /** + * 是必要参数 + * 产品编码 + */ + private String productCode; + + /** + * 是必要参数 + * 产品通用名称 + */ + private String productName; + + /** + * 是必要参数 + * 包装规格 + */ + private String bzgg; + + /** + * 是必要参数 + * 计量单位 + */ + private String unit; + + /** + * 是必要参数 + * 批准文号 + */ + private String approvalNum; + + /** + * 是必要参数 + * 制剂单位 + */ + private String prepnUnit; + + /** + * 是必要参数 + * 制剂规格 + */ + private String prepnSpec; + + /** + * 是必要参数 + * 数量 + */ + private Integer count; + + /** + * 备用字段1 + */ + private String remark1; + + /** + * 备用字段2 + */ + private String remark2; + + /** + * 备用字段3 + */ + private String remark3; + + /** + * 备用字段4 + */ + private String remark4; + + /** + * 备用字段5 + */ + private String remark5; +} diff --git a/src/main/java/com/glxp/api/req/drugMachine/SendGoodsB002Request.java b/src/main/java/com/glxp/api/req/drugMachine/SendGoodsB002Request.java new file mode 100644 index 000000000..b5fee41c2 --- /dev/null +++ b/src/main/java/com/glxp/api/req/drugMachine/SendGoodsB002Request.java @@ -0,0 +1,105 @@ +package com.glxp.api.req.drugMachine; + +import lombok.Data; + +@Data +public class SendGoodsB002Request { + + + /** + * 是必要参数 + * 记录号 + */ + private String orderId; + + /** + * 是必要参数 + * 处方单号 + */ + private String prescribeNum; + + /** + * 是必要参数 + * 收货方 + */ + private String fromCorp; + + /** + * 是必要参数 + * 轨道编号 + */ + private String queueCode; + + /** + * 是必要参数 + * 产品编码 + */ + private String productCode; + + /** + * 是必要参数 + * 产品通用名称 + */ + private String productName; + + /** + * 是必要参数 + * 包装规格 + */ + private String bzgg; + + /** + * 是必要参数 + * 计量单位 + */ + private String unit; + + /** + * 是必要参数 + * 批准文号 + */ + private String approvalNum; + + /** + * 是必要参数 + * 制剂单位 + */ + private String prepnUnit; + + /** + * 是必要参数 + * 制剂规格 + */ + private String prepnSpec; + + /** + * 是必要参数 + * 数量 + */ + private Integer count; + + /** + * 备用字段1 + */ + private String remark1; + + /** + * 备用字段2 + */ + private String remark2; + + /** + * 备用字段3 + */ + private String remark3; + + /** + * 备用字段4 + */ + private String remark4; + + /** + * 备用字段5 + */ + private String remark5; +} diff --git a/src/main/java/com/glxp/api/service/thrsys/DrugMachineService.java b/src/main/java/com/glxp/api/service/thrsys/DrugMachineService.java new file mode 100644 index 000000000..5a16500e1 --- /dev/null +++ b/src/main/java/com/glxp/api/service/thrsys/DrugMachineService.java @@ -0,0 +1,60 @@ +package com.glxp.api.service.thrsys; + +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.common.util.ResultVOUtils; +import com.glxp.api.http.ErpBasicClient; +import com.glxp.api.req.drugMachine.PutGoodsA001Request; +import com.glxp.api.req.drugMachine.PutGoodsB001Request; +import com.glxp.api.req.drugMachine.SendGoodsB002Request; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + +@Service +@Slf4j +public class DrugMachineService { + + + @Resource + ErpBasicClient erpBasicClient; + + /** + * A001 + * 发药机上货接口1 + * 发药机提供接收接口,接收药械追溯管理系统的上货信息 + * @param putGoodsA001Request + * @return + */ + public BaseResponse putGoodsA001(PutGoodsA001Request putGoodsA001Request){ + return erpBasicClient.putGoodsA001(putGoodsA001Request,"thirdSys"); + } + + /** + * B001 + * 发药机上货接口2 + * 药械追溯管理系统提供接收接口,接收发药机上货信息 + * @param putGoodsB001Request + * @return + */ + public BaseResponse putGoodsB001(PutGoodsB001Request putGoodsB001Request) { + + // TODO: 2024/12/24 + return ResultVOUtils.success(); + } + + /** + * B002 + * 发药机发药接口 + * 药械追溯管理系统提供接收接口,接收发药机发药信息 + * @param sendGoodsB002Request + * @return + */ + public BaseResponse sendGoodsB002(SendGoodsB002Request sendGoodsB002Request) { + // TODO: 2024/12/24 + return ResultVOUtils.success(); + } + + + +}