From d5b568ff8abc6bd09e7c089e663b0989d5fbbac4 Mon Sep 17 00:00:00 2001 From: zane Date: Sat, 7 Sep 2024 17:26:52 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=87=E8=B4=AD=E8=AE=A1=E5=88=92=E3=80=81?= =?UTF-8?q?=E5=87=BA=E5=85=A5=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../glxp/mipsdl/client/ctqyy/CtqyyClient.java | 107 ++++++++++++++---- .../glxp/mipsdl/constant/BusTypeConstant.java | 38 +++++++ .../mipsdl/controller/YbApiController.java | 2 +- .../mipsdl/entity/ctqyy/VYpzsPlanInfo.java | 12 +- .../mipsdl/res/ctqyy/ThrOrderResponse.java | 2 +- 5 files changed, 133 insertions(+), 28 deletions(-) create mode 100644 src/main/java/com/glxp/mipsdl/constant/BusTypeConstant.java 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 984c551..a53eca2 100644 --- a/src/main/java/com/glxp/mipsdl/client/ctqyy/CtqyyClient.java +++ b/src/main/java/com/glxp/mipsdl/client/ctqyy/CtqyyClient.java @@ -20,6 +20,7 @@ import com.glxp.mipsdl.client.ctqyy.entity.InvCodeResultEntity; import com.glxp.mipsdl.client.ctqyy.entity.InvProjectResultEntity; import com.glxp.mipsdl.client.ctqyy.entity.InvResultEntity; import com.glxp.mipsdl.config.ThirdSysConfig; +import com.glxp.mipsdl.constant.BusTypeConstant; import com.glxp.mipsdl.constant.ConstantType; import com.glxp.mipsdl.constant.Constants; import com.glxp.mipsdl.dao.auth.AuthUserDao; @@ -53,6 +54,7 @@ import com.glxp.mipsdl.service.order.OrderUploadLogService; import com.glxp.mipsdl.service.system.SysParamConfigService; import com.glxp.mipsdl.service.thrsys.ThrCorpService; import com.glxp.mipsdl.service.thrsys.ThrSystemDetailService; +import com.glxp.mipsdl.thirddao.ctqyy.VYpzsIoInfoMapper; import com.glxp.mipsdl.thirddao.ctqyy.VYpzsPhysicDictMapper; import com.glxp.mipsdl.thirddao.ctqyy.VYpzsPlanInfoMapper; import com.glxp.mipsdl.thirddao.ctqyy.VYpzsPresInfoMapper; @@ -124,6 +126,8 @@ public class CtqyyClient extends CommonHttpClient { private VYpzsPresInfoMapper vYpzsPresInfoMapper; @Resource private VYpzsPlanInfoMapper vYpzsPlanInfoMapper; + @Resource + private VYpzsIoInfoMapper vYpzsIoInfoMapper; /** @@ -1424,28 +1428,89 @@ public class CtqyyClient extends CommonHttpClient { */ @Override public BaseResponse getThrOrders(UdiwmsThrOrderRequest udiwmsThrOrderRequest) { - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - //补充其他查询条件 - IPage page = vYpzsPlanInfoMapper.selectPage(new Page(udiwmsThrOrderRequest.getPage(), udiwmsThrOrderRequest.getLimit()), wrapper); - List planInfoEntities = page.getRecords(); - List thrOrderResponses = null; - if (CollUtil.isNotEmpty(planInfoEntities)) { - //数据处理以thr_order,thr_order_detail 主子返回 - thrOrderResponses = planInfoEntities.stream().map(plan -> { - ThrOrderResponse thrOrderResponse = new ThrOrderResponse(); - List detailList = new ArrayList<>(); - ThrOrderDetailEntity detail = new ThrOrderDetailEntity(); - //TODO 封装数据 - - - detailList.add(detail); - thrOrderResponse.setDetailList(detailList); - return thrOrderResponse; - }).collect(Collectors.toList()); - } PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); - pageSimpleResponse.setTotal(page.getTotal()); - pageSimpleResponse.setList(thrOrderResponses); + if(udiwmsThrOrderRequest.getBusType().equals(BusTypeConstant.CGJH001.getBusType())){ + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + //补充其他查询条件 + wrapper.eq(StrUtil.isNotBlank(udiwmsThrOrderRequest.getBillNo()),VYpzsPlanInfo::getCGDBH,udiwmsThrOrderRequest.getBillNo()); + IPage page = vYpzsPlanInfoMapper.selectPage(new Page(udiwmsThrOrderRequest.getPage(), udiwmsThrOrderRequest.getLimit()), wrapper); + List planInfos = page.getRecords(); + List thrOrderResponses = new ArrayList<>(); + if (CollUtil.isNotEmpty(planInfos)) { + //数据处理以thr_order,thr_order_detail 主子返回 + Map> groupedByBz = planInfos.stream() + .collect(Collectors.groupingBy(VYpzsPlanInfo::getCGDBH)); + groupedByBz.forEach((key,value) ->{ + VYpzsPlanInfo planInfo = value.get(0); + ThrOrderResponse thrOrderResponse = new ThrOrderResponse(); + thrOrderResponse.setBillNo(planInfo.getCGDBH()); + thrOrderResponse.setBilldate(planInfo.getSCQYMC()); + thrOrderResponse.setCorpId(planInfo.getSCQYBM()); + thrOrderResponse.setCorpName(planInfo.getSCQYMC()); + thrOrderResponse.setThirdPartyDate(1); + thrOrderResponse.setCreateTime(new Date()); + thrOrderResponse.setUpdateTime(new Date()); + List detailList = new ArrayList<>(); + value.forEach(entity -> { + ThrOrderDetailEntity detail = new ThrOrderDetailEntity(); + detail.setProductId(entity.getYPBM()); + detail.setProductName(entity.getYPMC()); + detail.setBatchNo(entity.getYPBM()); + detail.setSpec(entity.getGGMC()); + detail.setCount(String.valueOf(entity.getZHB())); + detail.setOrderIdFk(thrOrderResponse.getBillNo()); + detail.setPrice(entity.getTPJG()); + detailList.add(detail); + }); + thrOrderResponse.setDetailList(detailList); + thrOrderResponses.add(thrOrderResponse); + }); + } + pageSimpleResponse.setTotal(page.getTotal()); + pageSimpleResponse.setList(thrOrderResponses); + }else if(udiwmsThrOrderRequest.getBusType().equals(BusTypeConstant.LYRK.getBusType()) + || udiwmsThrOrderRequest.getBusType().equals(BusTypeConstant.GMRK.getBusType()) + || udiwmsThrOrderRequest.getBusType().equals(BusTypeConstant.LYCK.getBusType())){ + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + //补充其他查询条件 + wrapper.eq(StrUtil.isNotBlank(udiwmsThrOrderRequest.getBillNo()),VYpzsIoInfo::getPHYSIC_CODE,udiwmsThrOrderRequest.getBillNo()); + wrapper.eq(StrUtil.isNotBlank(udiwmsThrOrderRequest.getBusType()),VYpzsIoInfo::getSORT_NAME,BusTypeConstant.valueOf(udiwmsThrOrderRequest.getBusType()).getName()); + Page page = vYpzsIoInfoMapper.selectPage(new Page(udiwmsThrOrderRequest.getPage(), udiwmsThrOrderRequest.getLimit()), wrapper); + List ioInfos = page.getRecords(); + List thrOrderResponses = new ArrayList<>(); + if (CollUtil.isNotEmpty(ioInfos)) { + //数据处理以thr_order,thr_order_detail 主子返回 + Map> groupedByPhysicCode = ioInfos.stream() + .collect(Collectors.groupingBy(VYpzsIoInfo::getPHYSIC_CODE)); + groupedByPhysicCode.forEach((key, value)->{ + VYpzsIoInfo info = value.get(0); + ThrOrderResponse thrOrderResponse = new ThrOrderResponse(); + thrOrderResponse.setBillNo(info.getPHYSIC_CODE()); + thrOrderResponse.setBilldate(DateUtil.formatDate(info.getKEEP_BOOK_TIME(),"yyyy-MM-dd HH:mm:ss")); + thrOrderResponse.setCorpId(info.getCONSIGNOR()); + thrOrderResponse.setCorpName(info.getCONSIGNOR_NAME()); + thrOrderResponse.setThirdPartyDate(1); + thrOrderResponse.setCreateTime(new Date()); + thrOrderResponse.setUpdateTime(new Date()); + List detailList = new ArrayList<>(); + value.forEach(entity -> { + ThrOrderDetailEntity detail = new ThrOrderDetailEntity(); + detail.setProductId(null); + detail.setProductName(null); + detail.setBatchNo(entity.getBATCH_NO()); + detail.setSpec(null); + detail.setCount(String.valueOf(entity.getQUANTITY())); + detail.setOrderIdFk(thrOrderResponse.getBillNo()); + detail.setPrice(entity.getRETAIL_PRICE()); + detailList.add(detail); + }); + thrOrderResponse.setDetailList(detailList); + thrOrderResponses.add(thrOrderResponse); + }); + } + pageSimpleResponse.setTotal(page.getTotal()); + pageSimpleResponse.setList(thrOrderResponses); + } return ResultVOUtils.success(pageSimpleResponse); } diff --git a/src/main/java/com/glxp/mipsdl/constant/BusTypeConstant.java b/src/main/java/com/glxp/mipsdl/constant/BusTypeConstant.java new file mode 100644 index 0000000..f406bf0 --- /dev/null +++ b/src/main/java/com/glxp/mipsdl/constant/BusTypeConstant.java @@ -0,0 +1,38 @@ +package com.glxp.mipsdl.constant; + +public enum BusTypeConstant { + YPCF002("药品处方单","YPCF002"), + CGJH001("采购计划","CGJH001"), + LYRK("领药入库","LYRK"), + GMRK("购买入库","GMRK"), + LYCK("领药出库","LYCK"), + ; + + private String name; + private String busType; + BusTypeConstant(String name, String busType) { + this.name = name; + this.busType = busType; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getBusType() { + return busType; + } + + public void setBusType(String busType) { + this.busType = busType; + } + + public static void main(String[] args) { + + } + +} diff --git a/src/main/java/com/glxp/mipsdl/controller/YbApiController.java b/src/main/java/com/glxp/mipsdl/controller/YbApiController.java index fb01a9c..5e11c19 100644 --- a/src/main/java/com/glxp/mipsdl/controller/YbApiController.java +++ b/src/main/java/com/glxp/mipsdl/controller/YbApiController.java @@ -89,7 +89,7 @@ public class YbApiController { // password = SecureUtil.md5(password).toUpperCase(); // signRequest.setPassword(password); String jsonStr = JSONUtil.toJsonStr(baseYbRequest); - log.error("【1201】医药机构信息获取请求参数:" + jsonStr); + log.error("【9001】医药机构信息获取请求参数:" + jsonStr); JSONObject dataJson = JSONObject.parseObject(jsonStr); return ResultVOUtils.success(ybClient.ybPost("9001", dataJson)); } diff --git a/src/main/java/com/glxp/mipsdl/entity/ctqyy/VYpzsPlanInfo.java b/src/main/java/com/glxp/mipsdl/entity/ctqyy/VYpzsPlanInfo.java index 899fbee..8e2e08c 100644 --- a/src/main/java/com/glxp/mipsdl/entity/ctqyy/VYpzsPlanInfo.java +++ b/src/main/java/com/glxp/mipsdl/entity/ctqyy/VYpzsPlanInfo.java @@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; +import java.math.BigDecimal; + @Data @TableName(value = "V_YPZS_PLAN_INFO") public class VYpzsPlanInfo { @@ -31,7 +33,7 @@ public class VYpzsPlanInfo { private String ZXSYDW; @TableField(value = "ZHB") - private String ZHB; + private Integer ZHB; @TableField(value = "SCQYBM") private String SCQYBM; @@ -46,13 +48,13 @@ public class VYpzsPlanInfo { private String YKMC; @TableField(value = "ZBJ") - private String ZBJ; + private BigDecimal ZBJ; @TableField(value = "GJJ") - private String GJJ; + private BigDecimal GJJ; @TableField(value = "GMSL") - private String GMSL; + private Integer GMSL; @TableField(value = "PSQYBM") private String PSQYBM; @@ -64,7 +66,7 @@ public class VYpzsPlanInfo { private String BZ; @TableField(value = "TPJG") - private String TPJG; + private BigDecimal TPJG; } diff --git a/src/main/java/com/glxp/mipsdl/res/ctqyy/ThrOrderResponse.java b/src/main/java/com/glxp/mipsdl/res/ctqyy/ThrOrderResponse.java index 792ee75..5b4ae5b 100644 --- a/src/main/java/com/glxp/mipsdl/res/ctqyy/ThrOrderResponse.java +++ b/src/main/java/com/glxp/mipsdl/res/ctqyy/ThrOrderResponse.java @@ -141,7 +141,7 @@ public class ThrOrderResponse { /** * 判断来源至哪里1:第三方 2:自己创建 */ - private Byte thirdPartyDate; + private Integer thirdPartyDate; /** *