From 0209de8150201de4f090d1dd7331348bef4979dc Mon Sep 17 00:00:00 2001 From: chenhc <2369838784@qq.com> Date: Mon, 7 Apr 2025 11:53:45 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E9=95=BF=E6=B3=B0=E6=91=86=E8=8D=AF?= =?UTF-8?q?=E5=8D=95=E6=B1=87=E6=80=BB=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../glxp/mipsdl/client/ctqyy/CtqyyClient.java | 46 +++++++++++++++++-- .../mipsdl/entity/inout/IoCollectOrder.java | 7 +++ 2 files changed, 49 insertions(+), 4 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 036dc4d..8d2141c 100644 --- a/src/main/java/com/glxp/mipsdl/client/ctqyy/CtqyyClient.java +++ b/src/main/java/com/glxp/mipsdl/client/ctqyy/CtqyyClient.java @@ -1755,11 +1755,46 @@ public class CtqyyClient extends CommonHttpClient { private BaseResponse covertSellOrder(UdiwmsBasicSkPrescribeRequest udiwmsBasicSkPrescribeRequest, IPage page) { List presInfoEntities = page.getRecords(); List vInsurNationGoodsPhysics = new ArrayList<>(); + String summaryNo; if (CollUtil.isNotEmpty(presInfoEntities)) { - List collect = presInfoEntities.stream().map(VYpzsPresInfo::getPRESCRIBE_NUMBER).collect(Collectors.toList()); - LambdaQueryWrapper wrapper1 = new LambdaQueryWrapper<>(); - wrapper1.in(VYpzsPresInfo::getPRESCRIBE_NUMBER, collect); - vInsurNationGoodsPhysics = vYpzsPresInfoMapper.selectList(wrapper1); + if (presInfoEntities.size() == 1) {//进入拉取周边的同患者同处方 通过患者id 和 周边时间 上下10分钟 + VYpzsPresInfo vYpzsPresInfo = presInfoEntities.get(0); + + LambdaQueryWrapper wrapper1 = new LambdaQueryWrapper<>(); + wrapper1.eq(VYpzsPresInfo::getPRESCRIBE_NUMBER, vYpzsPresInfo.getPRESCRIBE_NUMBER()); + presInfoEntities = vYpzsPresInfoMapper.selectList(wrapper1); + vYpzsPresInfo = presInfoEntities.get(0); + + String layTimeStr = vYpzsPresInfo.getLAY_TIME();//当前处方的时间 + String sickId = vYpzsPresInfo.getSICK_ID(); + String icCardId = vYpzsPresInfo.getIC_CARD_ID(); + + // 时间格式处理(补充格式定义) + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + + // 转换为 LocalDateTime 并计算时间范围 + LocalDateTime layTime = LocalDateTime.parse(layTimeStr, formatter); + LocalDateTime startTime = layTime.minusMinutes(10); // 向前10分钟 + LocalDateTime endTime = layTime.plusMinutes(10); // 向后10分钟 + + summaryNo = layTime.format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss")) + icCardId; + + LambdaQueryWrapper wrapper2 = new LambdaQueryWrapper<>(); + wrapper2.between(VYpzsPresInfo::getLAY_TIME, startTime.format(formatter), endTime.format(formatter)); + wrapper2.eq(VYpzsPresInfo::getSICK_ID, sickId); + + vInsurNationGoodsPhysics = vYpzsPresInfoMapper.selectList(wrapper2); + + }else { + summaryNo = ""; + + List collect = presInfoEntities.stream().map(VYpzsPresInfo::getPRESCRIBE_NUMBER).collect(Collectors.toList()); + LambdaQueryWrapper wrapper1 = new LambdaQueryWrapper<>(); + wrapper1.in(VYpzsPresInfo::getPRESCRIBE_NUMBER, collect); + vInsurNationGoodsPhysics = vYpzsPresInfoMapper.selectList(wrapper1); + } + } else { + summaryNo = ""; } // TODO: 2024/9/19 这边在转换的时候就不能用VInsurNationGoodsPhysic @@ -1796,6 +1831,9 @@ public class CtqyyClient extends CommonHttpClient { ioCollectOrder.setUpdateTime(new Date()); ioCollectOrder.setSplitStatus(0); ioCollectOrder.setTagStatus(0); + if (StrUtil.isNotEmpty(summaryNo)){ + ioCollectOrder.setSummaryNo(summaryNo); + } List bizList = new ArrayList<>(); value.forEach(entity -> { IoCollectOrderBiz collectOrderBiz = new IoCollectOrderBiz(); diff --git a/src/main/java/com/glxp/mipsdl/entity/inout/IoCollectOrder.java b/src/main/java/com/glxp/mipsdl/entity/inout/IoCollectOrder.java index 4604d89..2c81e05 100644 --- a/src/main/java/com/glxp/mipsdl/entity/inout/IoCollectOrder.java +++ b/src/main/java/com/glxp/mipsdl/entity/inout/IoCollectOrder.java @@ -186,6 +186,13 @@ public class IoCollectOrder implements Serializable { @TableField(value = "backupOrderRemark6") private String backupOrderRemark6; + /** + * 汇总单号(关联单号) + */ + @TableField(value = "summaryNo") + private String summaryNo; + + /** * 排序时间 */