From a8c0ea3f309813eb151045797c46cdac4e35bc30 Mon Sep 17 00:00:00 2001 From: chenhc <2369838784@qq.com> Date: Wed, 18 Sep 2024 14:40:08 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=B8=8B=E8=BD=BD=E5=A4=84=E6=96=B9key?= =?UTF-8?q?=E6=A8=A1=E7=B3=8A=E3=80=81=E4=BF=AE=E5=A4=8D=E5=88=86=E9=A1=B5?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../glxp/mipsdl/client/ctqyy/CtqyyClient.java | 50 +++++++++++++------ .../ctqyy/VInsurNationGoodsPhysicMapper.java | 5 ++ .../ctqyy/VInsurNationGoodsReturnMapper.java | 5 ++ .../ctqyy/VInsurNationGoodsPhysicMapper.xml | 39 +++++++++++++++ .../ctqyy/VInsurNationGoodsReturnMapper.xml | 35 +++++++++++++ 5 files changed, 119 insertions(+), 15 deletions(-) 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 e1072cf..698840a 100644 --- a/src/main/java/com/glxp/mipsdl/client/ctqyy/CtqyyClient.java +++ b/src/main/java/com/glxp/mipsdl/client/ctqyy/CtqyyClient.java @@ -1383,26 +1383,35 @@ public class CtqyyClient extends CommonHttpClient { String code = udiwmsBasicSkPrescribeRequest.getCode(); String key = udiwmsBasicSkPrescribeRequest.getKey(); wrapper.and(StrUtil.isNotEmpty(code), t -> t.eq(VInsurNationGoodsPhysic::getSTOOUT_NO, code).or().eq(VInsurNationGoodsPhysic::getRXNO, code)); - wrapper.and(StrUtil.isNotEmpty(key), t -> t.eq(VInsurNationGoodsPhysic::getSTOOUT_NO, key) - .or().eq(VInsurNationGoodsPhysic::getRXNO, key) - .or().eq(VInsurNationGoodsPhysic::getPSN_NAME, key) - .or().eq(VInsurNationGoodsPhysic::getPSN_NO, key) + wrapper.and(StrUtil.isNotEmpty(key), t -> t.like(VInsurNationGoodsPhysic::getSTOOUT_NO, key) + .or().like(VInsurNationGoodsPhysic::getRXNO, key) + .or().like(VInsurNationGoodsPhysic::getPSN_NAME, key) + .or().like(VInsurNationGoodsPhysic::getPSN_NO, key) ); - IPage page = goodsPhysicMapper - .selectPage(new Page(udiwmsBasicSkPrescribeRequest.getPage(), udiwmsBasicSkPrescribeRequest.getLimit()), wrapper); + + IPage page =goodsPhysicMapper.selectGroupedWithPagination(new Page(udiwmsBasicSkPrescribeRequest.getPage(), udiwmsBasicSkPrescribeRequest.getLimit()), + udiwmsBasicSkPrescribeRequest); return this.covertSellOrder(udiwmsBasicSkPrescribeRequest, page); } else { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + + String startTime = udiwmsBasicSkPrescribeRequest.getStartTime(); + String endTime = udiwmsBasicSkPrescribeRequest.getEndTime(); + wrapper.ge(StrUtil.isNotEmpty(startTime), VInsurNationGoodsReturn::getSEL_RETN_TIME, startTime); + wrapper.le(StrUtil.isNotEmpty(endTime), VInsurNationGoodsReturn::getSEL_RETN_TIME, endTime); + + String code = udiwmsBasicSkPrescribeRequest.getCode(); String key = udiwmsBasicSkPrescribeRequest.getKey(); - wrapper.and(StrUtil.isNotEmpty(key), t -> t.eq(VInsurNationGoodsReturn::getAPPLY_NO, key) - .or().eq(VInsurNationGoodsReturn::getPSN_NAME, key) - .or().eq(VInsurNationGoodsReturn::getPSN_NO, key) + wrapper.and(StrUtil.isNotEmpty(key), t -> t.like(VInsurNationGoodsReturn::getAPPLY_NO, key) + .or().like(VInsurNationGoodsReturn::getPSN_NAME, key) + .or().like(VInsurNationGoodsReturn::getPSN_NO, key) ); wrapper.and(StrUtil.isNotEmpty(code), t -> t.eq(VInsurNationGoodsReturn::getAPPLY_NO, code)); - IPage page = vInsurNationGoodsReturnMapper - .selectPage(new Page(udiwmsBasicSkPrescribeRequest.getPage(), udiwmsBasicSkPrescribeRequest.getLimit()), wrapper); + + IPage page =vInsurNationGoodsReturnMapper.selectGroupedWithPagination(new Page(udiwmsBasicSkPrescribeRequest.getPage(), udiwmsBasicSkPrescribeRequest.getLimit()), + udiwmsBasicSkPrescribeRequest); return this.covertReturnOrder(udiwmsBasicSkPrescribeRequest, page); } @@ -1634,8 +1643,14 @@ public class CtqyyClient extends CommonHttpClient { */ private BaseResponse covertSellOrder(UdiwmsBasicSkPrescribeRequest udiwmsBasicSkPrescribeRequest, IPage page) { List presInfoEntities = page.getRecords(); - if (CollUtil.isNotEmpty(presInfoEntities)) { - Map> groupedByPrescribeNumber = presInfoEntities.stream() + + List collect = presInfoEntities.stream().map(VInsurNationGoodsPhysic::getRXNO).collect(Collectors.toList()); + LambdaQueryWrapper wrapper1 = new LambdaQueryWrapper<>(); + wrapper1.in(VInsurNationGoodsPhysic::getRXNO,collect); + List vInsurNationGoodsPhysics = goodsPhysicMapper.selectList(wrapper1); + + if (CollUtil.isNotEmpty(vInsurNationGoodsPhysics)) { + Map> groupedByPrescribeNumber = vInsurNationGoodsPhysics.stream() .collect(Collectors.groupingBy(VInsurNationGoodsPhysic::getRXNO)); List ioCollectOrders = new ArrayList<>(); groupedByPrescribeNumber.forEach((key, value) -> { @@ -1702,8 +1717,13 @@ public class CtqyyClient extends CommonHttpClient { private BaseResponse covertReturnOrder(UdiwmsBasicSkPrescribeRequest udiwmsBasicSkPrescribeRequest, IPage page) { List presInfoEntities = page.getRecords(); - if (CollUtil.isNotEmpty(presInfoEntities)) { - Map> groupedByPrescribeNumber = presInfoEntities.stream() + List collect = presInfoEntities.stream().map(VInsurNationGoodsReturn::getAPPLY_NO).collect(Collectors.toList()); + LambdaQueryWrapper wrapper1 = new LambdaQueryWrapper<>(); + wrapper1.in(VInsurNationGoodsReturn::getAPPLY_NO,collect); + List vInsurNationGoodsReturns = vInsurNationGoodsReturnMapper.selectList(wrapper1); + + if (CollUtil.isNotEmpty(vInsurNationGoodsReturns)) { + Map> groupedByPrescribeNumber = vInsurNationGoodsReturns.stream() .collect(Collectors.groupingBy(VInsurNationGoodsReturn::getAPPLY_NO)); List ioCollectOrders = new ArrayList<>(); groupedByPrescribeNumber.forEach((key, value) -> { diff --git a/src/main/java/com/glxp/mipsdl/thirddao/ctqyy/VInsurNationGoodsPhysicMapper.java b/src/main/java/com/glxp/mipsdl/thirddao/ctqyy/VInsurNationGoodsPhysicMapper.java index 185a376..7c6d1ee 100644 --- a/src/main/java/com/glxp/mipsdl/thirddao/ctqyy/VInsurNationGoodsPhysicMapper.java +++ b/src/main/java/com/glxp/mipsdl/thirddao/ctqyy/VInsurNationGoodsPhysicMapper.java @@ -2,10 +2,15 @@ package com.glxp.mipsdl.thirddao.ctqyy; import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.glxp.mipsdl.entity.ctqyy.VInsurNationGoodsPhysic; +import com.glxp.mipsdl.req.base.UdiwmsBasicSkPrescribeRequest; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; @Mapper @DS("ctqyySql") public interface VInsurNationGoodsPhysicMapper extends BaseMapper { + IPage selectGroupedWithPagination(Page vInsurNationGoodsPhysicPage, @Param("udiwmsBasicSkPrescribeRequest")UdiwmsBasicSkPrescribeRequest udiwmsBasicSkPrescribeRequest); } \ No newline at end of file diff --git a/src/main/java/com/glxp/mipsdl/thirddao/ctqyy/VInsurNationGoodsReturnMapper.java b/src/main/java/com/glxp/mipsdl/thirddao/ctqyy/VInsurNationGoodsReturnMapper.java index 6fe3c24..1a89d54 100644 --- a/src/main/java/com/glxp/mipsdl/thirddao/ctqyy/VInsurNationGoodsReturnMapper.java +++ b/src/main/java/com/glxp/mipsdl/thirddao/ctqyy/VInsurNationGoodsReturnMapper.java @@ -2,10 +2,15 @@ package com.glxp.mipsdl.thirddao.ctqyy; import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.glxp.mipsdl.entity.ctqyy.VInsurNationGoodsReturn; +import com.glxp.mipsdl.req.base.UdiwmsBasicSkPrescribeRequest; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; @DS("ctqyySql") @Mapper public interface VInsurNationGoodsReturnMapper extends BaseMapper { + IPage selectGroupedWithPagination(Page vInsurNationGoodsReturnPage,@Param("udiwmsBasicSkPrescribeRequest") UdiwmsBasicSkPrescribeRequest udiwmsBasicSkPrescribeRequest); } \ No newline at end of file diff --git a/src/main/resources/mybatis/mapper/other/ctqyy/VInsurNationGoodsPhysicMapper.xml b/src/main/resources/mybatis/mapper/other/ctqyy/VInsurNationGoodsPhysicMapper.xml index 7cd3ea3..3d1f121 100644 --- a/src/main/resources/mybatis/mapper/other/ctqyy/VInsurNationGoodsPhysicMapper.xml +++ b/src/main/resources/mybatis/mapper/other/ctqyy/VInsurNationGoodsPhysicMapper.xml @@ -54,4 +54,43 @@ STOOUT_NO, BCHNO, RUG_PROD_BARC, SHELF_POSI, SEL_RETN_CNT, SEL_RETN_TIME, SEL_RETN_OPTER_NAME, MEMO, MDTRT_SETL_TYPE, DRUGTRACINFO, APPLY_NO, SETTLE_NO, SICK_ID + + + + + \ No newline at end of file diff --git a/src/main/resources/mybatis/mapper/other/ctqyy/VInsurNationGoodsReturnMapper.xml b/src/main/resources/mybatis/mapper/other/ctqyy/VInsurNationGoodsReturnMapper.xml index 0841837..67afd17 100644 --- a/src/main/resources/mybatis/mapper/other/ctqyy/VInsurNationGoodsReturnMapper.xml +++ b/src/main/resources/mybatis/mapper/other/ctqyy/VInsurNationGoodsReturnMapper.xml @@ -35,4 +35,39 @@ TRDN_FLAG, FINL_TRNS_PRIC, SEL_RETN_CNT, SEL_RETN_TIME, SEL_RETN_OPTER_NAME, MEMO, MEDINS_PROL_SEL_NO, DRUGTRACINFO, SETTLE_NO, SICK_ID + + + + \ No newline at end of file