From 19d6023f343d6fbd60a62b5ac0afcd0f2f4a9f60 Mon Sep 17 00:00:00 2001 From: anthonywj Date: Mon, 22 Jan 2024 14:58:18 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B9=B3=E6=BD=AD=E5=BA=93=E5=AD=98=E5=AF=B9?= =?UTF-8?q?=E6=AF=94=EF=BC=8C=E8=AF=8F=E5=AE=89=E5=8F=91=E7=A5=A8=E7=A1=AE?= =?UTF-8?q?=E8=AE=A4=E5=90=8E=E4=B8=8A=E4=BC=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../glxp/mipsdl/client/BaseHttpClient.java | 10 ++ .../glxp/mipsdl/client/CommonHttpClient.java | 6 + .../mipsdl/client/ptxhyy/PtxhyyClient.java | 53 +++++++++ .../glxp/mipsdl/client/zaxyy/ZaxyyClient.java | 17 +++ .../mipsdl/controller/UdiWmsController.java | 12 ++ .../req/base/UdiwmsInvProductsRequest.java | 104 ++++++++++++++++++ .../mipsdl/req/ptxhyy/PtxhyyInvRequest.java | 14 +++ .../mipsdl/res/ptxhyy/PtxhInvResponse.java | 17 +++ .../mipsdl/res/udiwms/InvProductRequest.java | 13 +++ .../res/udiwms/ThrInvResultResponse.java | 34 ++++++ 10 files changed, 280 insertions(+) create mode 100644 src/main/java/com/glxp/mipsdl/req/ptxhyy/PtxhyyInvRequest.java create mode 100644 src/main/java/com/glxp/mipsdl/res/ptxhyy/PtxhInvResponse.java create mode 100644 src/main/java/com/glxp/mipsdl/res/udiwms/InvProductRequest.java create mode 100644 src/main/java/com/glxp/mipsdl/res/udiwms/ThrInvResultResponse.java diff --git a/src/main/java/com/glxp/mipsdl/client/BaseHttpClient.java b/src/main/java/com/glxp/mipsdl/client/BaseHttpClient.java index 03a4704..d291ec5 100644 --- a/src/main/java/com/glxp/mipsdl/client/BaseHttpClient.java +++ b/src/main/java/com/glxp/mipsdl/client/BaseHttpClient.java @@ -7,6 +7,7 @@ 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.res.udiwms.InvProductRequest; import org.springframework.web.bind.annotation.RequestBody; /** @@ -62,6 +63,15 @@ public interface BaseHttpClient { */ BaseResponse getInvProducts(UdiwmsInvProductsRequest udiwmsInvProductsRequest); + + /** + * 获取库存产品列表 + * + * @param udiwmsInvProductsRequest + * @return + */ + BaseResponse getInvResult(InvProductRequest udiwmsInvProductsRequest); + /** * 获取仓库列表 * diff --git a/src/main/java/com/glxp/mipsdl/client/CommonHttpClient.java b/src/main/java/com/glxp/mipsdl/client/CommonHttpClient.java index 3cdbd43..13c2656 100644 --- a/src/main/java/com/glxp/mipsdl/client/CommonHttpClient.java +++ b/src/main/java/com/glxp/mipsdl/client/CommonHttpClient.java @@ -31,6 +31,7 @@ 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.res.udiwms.InvProductRequest; import com.glxp.mipsdl.service.auth.AuthWarehouseService; import com.glxp.mipsdl.service.thrsys.ThrCorpService; import com.glxp.mipsdl.service.thrsys.ThrSystemDetailService; @@ -258,4 +259,9 @@ public abstract class CommonHttpClient implements BaseHttpClient { public BaseResponse getHsfl(FilterThrHslbRequest hslbRequest) { return null; } + + @Override + public BaseResponse getInvResult(InvProductRequest udiwmsInvProductsRequest) { + return null; + } } diff --git a/src/main/java/com/glxp/mipsdl/client/ptxhyy/PtxhyyClient.java b/src/main/java/com/glxp/mipsdl/client/ptxhyy/PtxhyyClient.java index a3c0689..c5bf7c5 100644 --- a/src/main/java/com/glxp/mipsdl/client/ptxhyy/PtxhyyClient.java +++ b/src/main/java/com/glxp/mipsdl/client/ptxhyy/PtxhyyClient.java @@ -37,11 +37,17 @@ import com.glxp.mipsdl.entity.inout.*; 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.UdiwmsInvProductsRequest; import com.glxp.mipsdl.req.base.UdiwmsOrderDetailRequest; import com.glxp.mipsdl.req.base.UdiwmsOrderRequest; +import com.glxp.mipsdl.req.ptxhyy.PtxhyyInvRequest; import com.glxp.mipsdl.req.ptxhyy.PtxhyyOrderDetailRequest; import com.glxp.mipsdl.req.ptxhyy.PtxhyyOrderRequest; import com.glxp.mipsdl.res.BaseResponse; +import com.glxp.mipsdl.res.PageSimpleResponse; +import com.glxp.mipsdl.res.ptxhyy.PtxhInvResponse; +import com.glxp.mipsdl.res.udiwms.InvProductRequest; +import com.glxp.mipsdl.res.udiwms.ThrInvResultResponse; import com.glxp.mipsdl.service.auth.AuthWarehouseService; import com.glxp.mipsdl.service.order.OrderUploadLogService; import com.glxp.mipsdl.service.thrsys.ThrCorpService; @@ -288,6 +294,7 @@ public class PtxhyyClient extends CommonHttpClient { return submitOrder(orderEntity, ptxhyyOrderRequest); } + /** * 本地提交错误 * @@ -370,6 +377,13 @@ public class PtxhyyClient extends CommonHttpClient { } + /** + * 提交单据 + * + * @param orderEntity + * @param udiwmsOrderRequest + * @return + */ public BaseResponse submitOrder(IoOrderEntity orderEntity, Object udiwmsOrderRequest) { //记录日志 IoOrderUploadLogEntity uploadLog = new IoOrderUploadLogEntity(); @@ -422,6 +436,45 @@ public class PtxhyyClient extends CommonHttpClient { } + /** + * 获取库存/出入库明细信息 + */ + public BaseResponse getInvResult(InvProductRequest invProductRequest) { + PtxhyyInvRequest ptxhyyInvRequest = new PtxhyyInvRequest(); + ptxhyyInvRequest.setKssj(DateUtil.formatDate(invProductRequest.getStartDate(), "yyyy-MM-dd")); + ptxhyyInvRequest.setJssj(DateUtil.formatDate(invProductRequest.getEndDate(), "yyyy-MM-dd")); + + String response = httpClient.postJson(thrSystemDetailService.getUrlExclude(null) + "/api/foreign/CKCX", ptxhyyInvRequest); + + BaseResponse> baseResponse = + JSONObject.parseObject(response, new TypeReference>>() { + }); + if (baseResponse.getCode() == 20000) { + List ptxhInvResponses = baseResponse.getData().getList(); + List thrInvResultResponses = new ArrayList<>(); + if (CollUtil.isNotEmpty(ptxhInvResponses)) { + for (PtxhInvResponse ptxhInvResponse : ptxhInvResponses) { + ThrInvResultResponse thrInvResultResponse = new ThrInvResultResponse(); + thrInvResultResponse.setThrCode(ptxhInvResponse.getFyxh()); + thrInvResultResponse.setCpmctymc(ptxhInvResponse.getFymc()); + thrInvResultResponse.setPrice(ptxhInvResponse.getFydj()); + thrInvResultResponse.setMeasname(ptxhInvResponse.getDw()); + thrInvResultResponse.setDeptName(ptxhInvResponse.getZxks()); + thrInvResultResponse.setInvName(ptxhInvResponse.getZxks()); + thrInvResultResponse.setType(ptxhInvResponse.getLb()); + thrInvResultResponse.setRelCount(ptxhInvResponse.getZsl()); + thrInvResultResponses.add(thrInvResultResponse); + } + } + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(thrInvResultResponses.size() + 0l); + pageSimpleResponse.setList(thrInvResultResponses); + return ResultVOUtils.success(pageSimpleResponse); + } + return baseResponse; + } + + // public void getHslb() { // String response = httpClient.postJson(thrSystemDetailService.getUrl(null), udiwmsUnitRequest); // BaseResponse baseResponse = JSONObject.parseObject(response, BaseResponse.class); diff --git a/src/main/java/com/glxp/mipsdl/client/zaxyy/ZaxyyClient.java b/src/main/java/com/glxp/mipsdl/client/zaxyy/ZaxyyClient.java index 98bc1fe..381c5a2 100644 --- a/src/main/java/com/glxp/mipsdl/client/zaxyy/ZaxyyClient.java +++ b/src/main/java/com/glxp/mipsdl/client/zaxyy/ZaxyyClient.java @@ -23,6 +23,7 @@ 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.ThrOrderUploadBustypesMapper; import com.glxp.mipsdl.dao.thrsys.ThrSystemBusApiDao; import com.glxp.mipsdl.entity.auth.AuthUserEntity; import com.glxp.mipsdl.entity.auth.AuthWarehouseEntity; @@ -32,6 +33,7 @@ import com.glxp.mipsdl.entity.basic.BasicCorpEntity; import com.glxp.mipsdl.entity.inout.*; import com.glxp.mipsdl.entity.thrsys.ThrCorpEntity; import com.glxp.mipsdl.entity.thrsys.ThrInvWarehouseEntity; +import com.glxp.mipsdl.entity.thrsys.ThrOrderUploadBustypesEntity; import com.glxp.mipsdl.entity.thrsys.ThrSystemBusApiEntity; import com.glxp.mipsdl.http.HttpClient; import com.glxp.mipsdl.req.base.*; @@ -110,6 +112,8 @@ public class ZaxyyClient extends CommonHttpClient { private SubmitOrderUtil submitOrderUtil; @Resource AuthWarehouseUserMapper authWarehouseUserMapper; + @Resource + private ThrOrderUploadBustypesMapper thrOrderUploadBustypesMapper; /** * 拼接xml请求头 @@ -358,8 +362,21 @@ public class ZaxyyClient extends CommonHttpClient { fprq = DateUtil.formatDateTime(invoiceList.get(0).getInvoiceDate()); } i.setFirstSalesInvNo(fphm); + i.setSecSalesInvNo(fphm); i.setInvoiceDate(fprq); + boolean isNeedFp = false; + ThrOrderUploadBustypesEntity thrOrderUploadBustypesEntity = thrOrderUploadBustypesMapper.selectOne(new QueryWrapper().eq("action", basicBussinessTypeEntity.getAction()).last("limit 1")); + if (thrOrderUploadBustypesEntity != null && IntUtil.value(thrOrderUploadBustypesEntity.getOrderStatus()) == 3) { + isNeedFp = true; + } + if (basicBussinessTypeEntity.getMainAction().equals(ConstantType.TYPE_PUT) && StrUtil.isEmpty(fphm) && isNeedFp) { + String errMsg = "提交失败,错误信息:" + i.getProductName() + "发票缺失,请补齐后重新提交"; + orderUploadLogService.updateLocalErr(orderEntity, errMsg); + return ResultVOUtils.error(500, errMsg); + } } + + //构造诏安接口参数 ZaZyRequest zaZyRequest = new ZaZyRequest(); // diff --git a/src/main/java/com/glxp/mipsdl/controller/UdiWmsController.java b/src/main/java/com/glxp/mipsdl/controller/UdiWmsController.java index 4f250e9..8f0a8ca 100644 --- a/src/main/java/com/glxp/mipsdl/controller/UdiWmsController.java +++ b/src/main/java/com/glxp/mipsdl/controller/UdiWmsController.java @@ -105,6 +105,18 @@ public class UdiWmsController { return ClientProcessor.getHttpClient().getInvProducts(udiwmsInvProductsRequest); } + + /** + * 获取库存产明细/出入库明细接口 + * + * @param udiwmsInvProductsRequest + * @return + */ + @PostMapping("/udiwms/erp/inv/getInvResult") + public BaseResponse getInvResult(@RequestBody UdiwmsInvProductsRequest udiwmsInvProductsRequest) { + return ClientProcessor.getHttpClient().getInvProducts(udiwmsInvProductsRequest); + } + /** * 提交产品到第三方系统接口 * diff --git a/src/main/java/com/glxp/mipsdl/req/base/UdiwmsInvProductsRequest.java b/src/main/java/com/glxp/mipsdl/req/base/UdiwmsInvProductsRequest.java index 808e091..4425c1a 100644 --- a/src/main/java/com/glxp/mipsdl/req/base/UdiwmsInvProductsRequest.java +++ b/src/main/java/com/glxp/mipsdl/req/base/UdiwmsInvProductsRequest.java @@ -2,6 +2,7 @@ package com.glxp.mipsdl.req.base; import lombok.Data; +import java.util.Date; import java.util.List; /** @@ -70,4 +71,107 @@ public class UdiwmsInvProductsRequest extends ListPageRequest { */ private String registerNo; + + /** + * 产品名称 + */ + private String cpmctymc; + + /** + * 产品标识DI + */ + private String nameCode; + + /** + * UDI码 + */ + private String udiCode; + + /** + * 耗材字典ID + */ + private String relIdFk; + + /** + * 规格型号 + */ + private String ggxh; + + + /** + * 生产日期 + */ + private String productionDate; + + /** + * 失效日期 + */ + private String expireDate; + + /** + * 生产厂家 + */ + private String ylqxzcrbarmc; + + /** + * 批准文号 + */ + private String zczbhhzbapzbh; + + /** + * 客户ID + */ + private String customerId; + + /** + * 供应商ID + */ + private String supId; + + + /** + * 部门编码 + */ + private String deptCode; + + /** + * 仓库编码 + */ + private String invCode; + + /** + * 仓库数组 + */ + private List invCodes; + + /** + * 产品类别 + */ + private String cplb; + + /** + * 货位号 + */ + private String invSpaceCode; + + /** + * 是否过滤0库存 + */ + private Integer filterCount; + + private String code; + + private String serialNo; + + + private String diCode; + + private String basicPrductRemak1; + private String category; + private Integer filterNoInv; + + private Date startDate; + private Date endDate; + private String thirdSys; + } diff --git a/src/main/java/com/glxp/mipsdl/req/ptxhyy/PtxhyyInvRequest.java b/src/main/java/com/glxp/mipsdl/req/ptxhyy/PtxhyyInvRequest.java new file mode 100644 index 0000000..f9f47e3 --- /dev/null +++ b/src/main/java/com/glxp/mipsdl/req/ptxhyy/PtxhyyInvRequest.java @@ -0,0 +1,14 @@ +package com.glxp.mipsdl.req.ptxhyy; + +import lombok.Data; + +@Data +public class PtxhyyInvRequest { + + /** + * 开始时间 yyyy-mm-dd + */ + private String kssj; + private String jssj; + +} diff --git a/src/main/java/com/glxp/mipsdl/res/ptxhyy/PtxhInvResponse.java b/src/main/java/com/glxp/mipsdl/res/ptxhyy/PtxhInvResponse.java new file mode 100644 index 0000000..da1453b --- /dev/null +++ b/src/main/java/com/glxp/mipsdl/res/ptxhyy/PtxhInvResponse.java @@ -0,0 +1,17 @@ +package com.glxp.mipsdl.res.ptxhyy; + +import lombok.Data; + +@Data +public class PtxhInvResponse { + + private String fyxh; + private String fymc; + private String fydj; + private String dw; + private String zxks; + private String zsl; + private String lb; + + +} diff --git a/src/main/java/com/glxp/mipsdl/res/udiwms/InvProductRequest.java b/src/main/java/com/glxp/mipsdl/res/udiwms/InvProductRequest.java new file mode 100644 index 0000000..a44d235 --- /dev/null +++ b/src/main/java/com/glxp/mipsdl/res/udiwms/InvProductRequest.java @@ -0,0 +1,13 @@ +package com.glxp.mipsdl.res.udiwms; + +import lombok.Data; + +import java.util.Date; + +@Data +public class InvProductRequest { + + private Date startDate; + private Date endDate; + +} diff --git a/src/main/java/com/glxp/mipsdl/res/udiwms/ThrInvResultResponse.java b/src/main/java/com/glxp/mipsdl/res/udiwms/ThrInvResultResponse.java new file mode 100644 index 0000000..da4ff52 --- /dev/null +++ b/src/main/java/com/glxp/mipsdl/res/udiwms/ThrInvResultResponse.java @@ -0,0 +1,34 @@ +package com.glxp.mipsdl.res.udiwms; + +import lombok.Data; + +@Data +public class ThrInvResultResponse { + + private Integer id; + private String cpmctymc; + private String thrCode; + private String nameCode; + private String ggxh; + private String batchNo; + private String measname; + private String price; + private String productionDate; + private String expireDate; + private String ylqxzcrbarmc; + private String zczbhhzbapzbh; + private String inCount; + private String outCount; + private String relCount; + private String supName; + private String deptName; + private String deptCode; + private String invName; + private String invCode; + private String remark; + /** + * 数据类型:住院、门诊等 + */ + private String type; + +}