From fcb98e4558897945a316d04555923355b8e60605 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期二, 21 七月 2026 10:16:56 +0800
Subject: [PATCH] Merge branch 'master' into master-任务组

---
 ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java |  294 +++++++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 216 insertions(+), 78 deletions(-)

diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java
index 6b8666f..941b96f 100644
--- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java
+++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java
@@ -12,7 +12,6 @@
 import com.ruoyi.common.enums.MsgLSEnum;
 import com.ruoyi.common.enums.ServiceFromEnum;
 import com.ruoyi.common.enums.WxGZHEnum;
-import com.ruoyi.common.exception.base.BaseException;
 import com.ruoyi.common.utils.*;
 import com.ruoyi.common.utils.http.HttpUtils;
 import com.ruoyi.common.utils.sms.smsUtils;
@@ -35,7 +34,6 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Component;
-import org.springframework.web.bind.annotation.RequestParam;
 
 import java.io.IOException;
 import java.net.URLEncoder;
@@ -49,6 +47,7 @@
 import java.time.ZoneId;
 import java.time.format.DateTimeFormatter;
 import java.util.*;
+import java.util.concurrent.TimeUnit;
 import java.util.stream.Collectors;
 
 import static cn.hutool.core.convert.Convert.toHex;
@@ -115,6 +114,9 @@
 
     @Value("${xhsmsPwd}")
     private String xhsmsPwd;
+    // 铏氭嫙鎺ュ叆鐮�
+    @Value("${xhsmsjrm}")
+    private String xhsmsjrm;
 
     @Value("${pub_key}")
     private String pub_key;
@@ -238,6 +240,15 @@
         serviceSubtaskAnswerService.saveQuestionAnswer(null, 0L);
     }
 
+    /**
+     * 鑾峰彇棰勭害鍋滆瘖璁板綍淇℃伅
+     *
+     */
+    public void getAppointRecordInfo() {
+        LocalDateTime tomorrowStart = LocalDate.now().plusDays(1).atStartOfDay(); // 鏄庡ぉ 00:00:00
+        LocalDateTime tomorrowEnd = tomorrowStart.plusDays(1).minusSeconds(1);     // 鏄庡ぉ 23:59:59
+        ixhGatherPatArchiveService.getAppointRecordInfo("2", tomorrowStart, tomorrowEnd);
+    }
 
     /**
      * HIS鏁版嵁閲囬泦
@@ -331,78 +342,159 @@
                         aBoolean = serviceSLTDHealthcareRecordService.queryHospUserInfoList(reqVO);
                     }
                     log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滅敤鎴蜂俊鎭�濈粨鏉熼噰闆嗘暟鎹細{}", aBoolean);
+                    //鐤剧梾瀛楀吀閲囬泦
+                    iIcd10Service.queryAddIcd10();
                 }
-                //鐤剧梾瀛楀吀閲囬泦
-                iIcd10Service.queryAddIcd10();
 
-                // 鐪佺珛鍚屽痉鏁版嵁閲囬泦
-                for (Long cid : campusidList) {
-                    log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滈鍏ラ櫌鈥濆紑濮嬮噰闆嗘暟鎹紝闄㈠尯锛歿}", cid);
-                    String nowTime = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
-                    ServiceSLTDInhospReqVO serviceSLTDInhospReqVO = new ServiceSLTDInhospReqVO();
-                    serviceSLTDInhospReqVO.setOrgId("20001001");
-                    serviceSLTDInhospReqVO.setCampusId(cid);
-                    serviceSLTDInhospReqVO.setEncounterTimeStart(nowTime);
-                    serviceSLTDInhospReqVO.setEncounterTimeEnd(nowTime);
-                    if (active.trim().equals("nhfy")) {
-                        serviceSLTDInhospReqVO.setEncounterTimeStart(yesterdayZero.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
-                        serviceSLTDInhospReqVO.setEncounterTimeEnd(todayZero.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
+                // nhfy/sltd鍥炴函30澶╁垎娈甸噰闆嗗垽鏂紙姣忔鏈�澶�7澶╋級
+                boolean isBackfill = (active.trim().equals("nhfy") || active.trim().equals("sltd")) && StringUtils.isNotBlank(todayZeroStr);
+                if (isBackfill) {
+                    DateTimeFormatter dateFmt = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+                    LocalDate segStart = todayZero.toLocalDate().minusDays(30);
+                    LocalDate segEndDate = todayZero.toLocalDate();
+                    int segCount = 0;
+                    while (!segStart.isAfter(segEndDate)) {
+                        LocalDate segEnd = segStart.plusDays(6);
+                        if (segEnd.isAfter(segEndDate)) {
+                            segEnd = segEndDate;
+                        }
+                        segCount++;
+                        log.info("銆恉ealHisData銆憑}鍥炴函绗瑊}娈甸噰闆嗭紝鏃ユ湡鑼冨洿锛歿} ~ {}", active.trim(), segCount, segStart.format(dateFmt), segEnd.format(dateFmt));
+                        for (Long cid : campusidList) {
+                            collectSegmentData(cid, segStart.format(dateFmt), segEnd.format(dateFmt));
+                        }
+                        segStart = segEnd.plusDays(1);
                     }
-                    List<String> list = new ArrayList<>();
-                    list.add("FH0109.22");
-                    list.add("FH0109.23");
-                    list.add("FH0109.53");
-                    serviceSLTDInhospReqVO.setStatusList(list);
-                    log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滈鍏ラ櫌鈥濋噰闆嗘暟鎹叆鍙傦細{}", serviceSLTDInhospReqVO);
-                    serviceSLTDHealthcareRecordService.queryHealthcareRecordList(serviceSLTDInhospReqVO);
-                    log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滈鍏ラ櫌鈥濈祼鏉熼噰闆嗘暟鎹紝闄㈠尯锛歿}", cid);
+                    log.info("銆恉ealHisData銆憑}鍥炴函閲囬泦瀹屾垚锛屽叡{}娈�", active.trim(), segCount);
+                }
 
-                    log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滃叆闄⑩�濆紑濮嬮噰闆嗘暟鎹紝闄㈠尯锛歿}", cid);
-                    serviceSLTDInhospReqVO.setOrgId("20001001");
-                    serviceSLTDInhospReqVO.setCampusId(cid);
-                    serviceSLTDInhospReqVO.setEncounterTimeStart(null);
-                    serviceSLTDInhospReqVO.setEncounterTimeEnd(null);
-                    serviceSLTDInhospReqVO.setStartHeadTime(nowTime);
-                    serviceSLTDInhospReqVO.setStartTailTime(nowTime);
-                    if (active.trim().equals("nhfy")) {
-                        serviceSLTDInhospReqVO.setStartHeadTime(yesterdayZero.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
-                        serviceSLTDInhospReqVO.setStartTailTime(todayZero.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
-                    }
-                    List<String> listStr = new ArrayList<>();
-                    listStr.add("FH0109.24");
-                    serviceSLTDInhospReqVO.setStatusList(listStr);
-                    log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滃叆闄⑩�濋噰闆嗘暟鎹叆鍙傦細{}", serviceSLTDInhospReqVO);
-                    serviceSLTDHealthcareRecordService.queryHealthcareRecordList(serviceSLTDInhospReqVO);
-                    log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滃叆闄⑩�濈祼鏉熼噰闆嗘暟鎹紝闄㈠尯锛歿}", cid);
+                // 鐪佺珛鍚屽痉鏁版嵁閲囬泦锛堥潪鍥炴函妯″紡鎵嶆墽琛岋級
+                if (!isBackfill) {
+                    for (Long cid : campusidList) {
+                        log.info("銆恉ealHisData銆戠渷绔嬪悓寰烽鍏ラ櫌寮�濮嬮噰闆嗘暟鎹紝闄㈠尯锛歿}", cid);
+                        String nowTime = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
+                        ServiceSLTDInhospReqVO serviceSLTDInhospReqVO = new ServiceSLTDInhospReqVO();
+                        serviceSLTDInhospReqVO.setOrgId("20001001");
+                        serviceSLTDInhospReqVO.setCampusId(cid);
+                        serviceSLTDInhospReqVO.setEncounterTimeStart(nowTime);
+                        serviceSLTDInhospReqVO.setEncounterTimeEnd(nowTime);
+                        if (active.trim().equals("nhfy")) {
+                            serviceSLTDInhospReqVO.setEncounterTimeStart(yesterdayZero.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
+                            serviceSLTDInhospReqVO.setEncounterTimeEnd(todayZero.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
+                        }
+                        List<String> list = new ArrayList<>();
+                        list.add("FH0109.22");
+                        list.add("FH0109.23");
+                        list.add("FH0109.53");
+                        serviceSLTDInhospReqVO.setStatusList(list);
+                        log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滈鍏ラ櫌鈥濋噰闆嗘暟鎹叆鍙傦細{}", serviceSLTDInhospReqVO);
+                        serviceSLTDHealthcareRecordService.queryHealthcareRecordList(serviceSLTDInhospReqVO);
+                        log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滈鍏ラ櫌鈥濈祼鏉熼噰闆嗘暟鎹紝闄㈠尯锛歿}", cid);
 
-                    log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滃嚭闄⑩�濆紑濮嬮噰闆嗘暟鎹紝闄㈠尯锛歿}", cid);
-                    serviceSLTDInhospReqVO.setStartHeadTime(null);
-                    serviceSLTDInhospReqVO.setStartTailTime(null);
-                    serviceSLTDInhospReqVO.setEncounterTimeStart(null);
-                    serviceSLTDInhospReqVO.setEncounterTimeEnd(null);
-                    serviceSLTDInhospReqVO.setPreOutHospitalHeadDate(nowTime);
-                    serviceSLTDInhospReqVO.setPreOutHospitalTailDate(nowTime);
-                    if (active.trim().equals("nhfy")) {
-                        serviceSLTDInhospReqVO.setPreOutHospitalHeadDate(yesterdayZero.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
-                        serviceSLTDInhospReqVO.setPreOutHospitalTailDate(todayZero.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
-                    }
-                    serviceSLTDInhospReqVO.setHealthcareRecordTypeList(null);
-                    List<String> list2 = new ArrayList<>();
+                        log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滃叆闄⑩�濆紑濮嬮噰闆嗘暟鎹紝闄㈠尯锛歿}", cid);
+                        serviceSLTDInhospReqVO.setOrgId("20001001");
+                        serviceSLTDInhospReqVO.setCampusId(cid);
+                        serviceSLTDInhospReqVO.setEncounterTimeStart(null);
+                        serviceSLTDInhospReqVO.setEncounterTimeEnd(null);
+                        serviceSLTDInhospReqVO.setStartHeadTime(nowTime);
+                        serviceSLTDInhospReqVO.setStartTailTime(nowTime);
+                        if (active.trim().equals("nhfy")) {
+                            serviceSLTDInhospReqVO.setStartHeadTime(yesterdayZero.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
+                            serviceSLTDInhospReqVO.setStartTailTime(todayZero.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
+                        }
+                        List<String> listStr = new ArrayList<>();
+                        listStr.add("FH0109.24");
+                        serviceSLTDInhospReqVO.setStatusList(listStr);
+                        log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滃叆闄⑩�濋噰闆嗘暟鎹叆鍙傦細{}", serviceSLTDInhospReqVO);
+                        serviceSLTDHealthcareRecordService.queryHealthcareRecordList(serviceSLTDInhospReqVO);
+                        log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滃叆闄⑩�濈祼鏉熼噰闆嗘暟鎹紝闄㈠尯锛歿}", cid);
+
+                        log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滃嚭闄⑩�濆紑濮嬮噰闆嗘暟鎹紝闄㈠尯锛歿}", cid);
+                        serviceSLTDInhospReqVO.setStartHeadTime(null);
+                        serviceSLTDInhospReqVO.setStartTailTime(null);
+                        serviceSLTDInhospReqVO.setEncounterTimeStart(null);
+                        serviceSLTDInhospReqVO.setEncounterTimeEnd(null);
+                        serviceSLTDInhospReqVO.setPreOutHospitalHeadDate(nowTime);
+                        serviceSLTDInhospReqVO.setPreOutHospitalTailDate(nowTime);
+                        if (active.trim().equals("nhfy")) {
+                            serviceSLTDInhospReqVO.setPreOutHospitalHeadDate(yesterdayZero.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
+                            serviceSLTDInhospReqVO.setPreOutHospitalTailDate(todayZero.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
+                        }
+                        serviceSLTDInhospReqVO.setHealthcareRecordTypeList(null);
+                        List<String> list2 = new ArrayList<>();
 //                    list2.add("FH0108.02");
-                    //鍑洪櫌
-                    list2.add("FH0109.27");
-                    //棰勫嚭闄�
-                    list2.add("FH0109.25");
-                    serviceSLTDInhospReqVO.setStatusList(list2);
-                    log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滃嚭闄⑩�濋噰闆嗘暟鎹叆鍙傦細{}", serviceSLTDInhospReqVO);
-                    serviceSLTDHealthcareRecordService.queryHealthcareRecordList(serviceSLTDInhospReqVO);
-                    log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滃嚭闄⑩�濇潫閲囬泦鏁版嵁锛岄櫌鍖猴細{}", cid);
+                        //鍑洪櫌
+                        list2.add("FH0109.27");
+                        //棰勫嚭闄�
+                        list2.add("FH0109.25");
+                        serviceSLTDInhospReqVO.setStatusList(list2);
+                        log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滃嚭闄⑩�濋噰闆嗘暟鎹叆鍙傦細{}", serviceSLTDInhospReqVO);
+                        serviceSLTDHealthcareRecordService.queryHealthcareRecordList(serviceSLTDInhospReqVO);
+                        log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滃嚭闄⑩�濇潫閲囬泦鏁版嵁锛岄櫌鍖猴細{}", cid);
+                    }
                 }
 
             } catch (Exception e) {
                 log.error("銆恉ealHisData銆戠渷绔嬪悓寰锋暟鎹噰闆嗗紓甯�", e);
             }
         }
+    }
+
+    /**
+     * 鍒嗘閲囬泦鏁版嵁锛堥鍏ラ櫌銆佸叆闄€�佸嚭闄級
+     * 鐢ㄤ簬nhfy/sltd鍥炴函閲囬泦锛屾瘡娆℃渶澶氭煡璇�7澶╂暟鎹�
+     *
+     * @param cid          闄㈠尯ID
+     * @param startDateStr 鏃ユ湡寮�濮� yyyy-MM-dd
+     * @param endDateStr   鏃ユ湡缁撴潫 yyyy-MM-dd
+     */
+    private void collectSegmentData(Long cid, String startDateStr, String endDateStr) {
+        // 棰勫叆闄�
+        log.info("銆恉ealHisData銆戦鍏ラ櫌寮�濮嬮噰闆嗘暟鎹紝闄㈠尯锛歿}锛屾椂闂存锛歿} ~ {}", cid, startDateStr, endDateStr);
+        ServiceSLTDInhospReqVO reqVO = new ServiceSLTDInhospReqVO();
+        reqVO.setOrgId("20001001");
+        reqVO.setCampusId(cid);
+        reqVO.setEncounterTimeStart(startDateStr);
+        reqVO.setEncounterTimeEnd(endDateStr);
+        List<String> preAdmitStatus = new ArrayList<>();
+        preAdmitStatus.add("FH0109.22");
+        preAdmitStatus.add("FH0109.23");
+        preAdmitStatus.add("FH0109.53");
+        reqVO.setStatusList(preAdmitStatus);
+        log.info("銆恉ealHisData銆戦鍏ラ櫌閲囬泦鏁版嵁鍏ュ弬锛歿}", reqVO);
+        serviceSLTDHealthcareRecordService.queryHealthcareRecordList(reqVO);
+        log.info("銆恉ealHisData銆戦鍏ラ櫌绲備簡閲囬泦鏁版嵁锛岄櫌鍖猴細{}", cid);
+
+        // 鍏ラ櫌
+        log.info("銆恉ealHisData銆戝叆闄㈠紑濮嬮噰闆嗘暟鎹紝闄㈠尯锛歿}锛屾椂闂存锛歿} ~ {}", cid, startDateStr, endDateStr);
+        reqVO = new ServiceSLTDInhospReqVO();
+        reqVO.setOrgId("20001001");
+        reqVO.setCampusId(cid);
+        reqVO.setStartHeadTime(startDateStr);
+        reqVO.setStartTailTime(endDateStr);
+        List<String> admitStatus = new ArrayList<>();
+        admitStatus.add("FH0109.24");
+        reqVO.setStatusList(admitStatus);
+        log.info("銆恉ealHisData銆戝叆闄㈤噰闆嗘暟鎹叆鍙傦細{}", reqVO);
+        serviceSLTDHealthcareRecordService.queryHealthcareRecordList(reqVO);
+        log.info("銆恉ealHisData銆戝叆闄㈢祩浜嗛噰闆嗘暟鎹紝闄㈠尯锛歿}", cid);
+
+        // 鍑洪櫌
+        log.info("銆恉ealHisData銆戝嚭闄㈠紑濮嬮噰闆嗘暟鎹紝闄㈠尯锛歿}锛屾椂闂存锛歿} ~ {}", cid, startDateStr, endDateStr);
+        reqVO = new ServiceSLTDInhospReqVO();
+        reqVO.setOrgId("20001001");
+        reqVO.setCampusId(cid);
+        reqVO.setPreOutHospitalHeadDate(startDateStr);
+        reqVO.setPreOutHospitalTailDate(endDateStr);
+        List<String> dischargeStatus = new ArrayList<>();
+        //鍑洪櫌
+        dischargeStatus.add("FH0109.27");
+        //棰勫嚭闄�
+        dischargeStatus.add("FH0109.25");
+        reqVO.setStatusList(dischargeStatus);
+        log.info("銆恉ealHisData銆戝嚭闄㈤噰闆嗘暟鎹叆鍙傦細{}", reqVO);
+        serviceSLTDHealthcareRecordService.queryHealthcareRecordList(reqVO);
+        log.info("銆恉ealHisData銆戝嚭闄㈢粨鏉熼噰闆嗘暟鎹紝闄㈠尯锛歿}", cid);
     }
 
     /**
@@ -418,7 +510,7 @@
             DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
             todayZero = LocalDateTime.parse(todayZeroStr, formatter);
         }
-        LocalDateTime yesterdayZero = todayZero.minusDays(1);
+        LocalDateTime tomorrowdayZero = todayZero.plusDays(1);
 
         if (active.trim().equals("sltd") || active.trim().equals("nhfy")) {
             //鐪佺珛鍚屽痉涓庡崕鍗楅檮涓�鐢ㄥ悓涓�濂楅噰闆嗘柟娉曪紙閮芥槸鏉ユ湭鏉ユ彁渚涳級
@@ -439,6 +531,7 @@
                 }
 
                 // 鐪佺珛鍚屽痉鏁版嵁閲囬泦
+                log.info("--campusidList鐨勫�间负锛歿}", campusidList);
                 for (Long cid : campusidList) {
                     String nowTime = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
                     ServiceSLTDInhospReqVO serviceSLTDInhospReqVO = new ServiceSLTDInhospReqVO();
@@ -447,24 +540,26 @@
                     serviceSLTDInhospReqVO.setEncounterTimeStart(nowTime);
                     serviceSLTDInhospReqVO.setEncounterTimeEnd(nowTime);
 
-                    // 闂ㄦ�ヨ瘖鍒嗛〉閲囬泦锛氭瘡椤�1000鏉★紝鐩村埌鏃犳暟鎹负姝�(鍗楀崕闄勪竴鐨勫厛涓嶉噰闂ㄦ�ヨ瘖鏁版嵁)
+                    // 闂ㄦ�ヨ瘖鍒嗛〉閲囬泦锛氭瘡椤�40鏉★紝鐩村埌鏃犳暟鎹负姝�(鍗楀崕闄勪竴鐨勫厛涓嶉噰闂ㄦ�ヨ瘖鏁版嵁)
                     if (active.trim().equals("sltd")) {
                         log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滈棬鎬ヨ瘖鈥濆紑濮嬪垎椤甸噰闆嗘暟鎹紝闄㈠尯锛歿}", cid);
                         serviceSLTDInhospReqVO.setStartHeadTime(null);
                         serviceSLTDInhospReqVO.setStartTailTime(null);
-//                        serviceSLTDInhospReqVO.setEncounterTimeStart(nowTime);
-//                        serviceSLTDInhospReqVO.setEncounterTimeEnd(nowTime);
-//                        if (yesterdayZero != null) {
-                        serviceSLTDInhospReqVO.setEncounterTimeStart(yesterdayZero.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
-                        serviceSLTDInhospReqVO.setEncounterTimeEnd(todayZero.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
-//                        }
+                        //鏌ヨ褰撳ぉ鐨勬暟鎹�
+                        serviceSLTDInhospReqVO.setEncounterTimeEnd(tomorrowdayZero.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
+                        serviceSLTDInhospReqVO.setEncounterTimeStart(todayZero.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
                         serviceSLTDInhospReqVO.setStatusList(null);
                         List<String> list1 = new ArrayList<>();
                         list1.add("FH0108.01");
                         list1.add("FH0108.03");
                         serviceSLTDInhospReqVO.setHealthcareRecordTypeList(list1);
-                        long outpPage = 1L;
-                        final long OUTP_PAGE_SIZE = 1000L;
+                        //浠庣紦瀛橀噷鑾峰彇璧峰椤碉紙闆剁偣鍓�10鍒嗛挓鍐呯敤鏄ㄥぉ鐨勬棩鏈燂紝閬垮厤璺ㄥぉ婕忛噰锛�
+                        LocalDateTime now = LocalDateTime.now();
+                        String mzCacheDate = (now.getHour() == 0 && now.getMinute() < 10) ? now.minusDays(1).format(DateTimeFormatter.ofPattern("yyyy-MM-dd")) : now.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
+                        Long outpPage = redisCache.getCacheObject("mzCurrent" + cid + mzCacheDate);
+                        if (outpPage == null) outpPage = 1L;
+                        //閭h竟鏆傛椂鍙兘璁剧疆40
+                        final long OUTP_PAGE_SIZE = 500L;
                         while (true) {
                             serviceSLTDInhospReqVO.setCurrent(outpPage);
                             serviceSLTDInhospReqVO.setSize(OUTP_PAGE_SIZE);
@@ -476,6 +571,9 @@
                             }
                             log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滈棬鎬ヨ瘖鈥濈{}椤甸噰闆唟}鏉★紝闄㈠尯锛歿}", outpPage, outpResult.size(), cid);
                             if (outpResult.size() < OUTP_PAGE_SIZE) {
+                                //璁剧疆涓�涓紦瀛橈紝鐢ㄦ潵瀛樺湪涓嬫鐨勮捣濮嬮〉
+                                redisCache.setCacheObject("mzCurrent" + cid + mzCacheDate, outpPage, 24, TimeUnit.HOURS);
+                                log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滈棬鎬ヨ瘖鈥濈殑缂撳瓨key:{}涓嬫鐨勮捣濮嬮〉{}锛岄櫌鍖猴細{}", "mzCurrent" + cid + mzCacheDate, outpPage, cid);
                                 break;
                             }
                             outpPage++;
@@ -491,6 +589,26 @@
             }
         }
     }
+
+    /**
+     * 鍚屽痉鑽搧鏁版嵁閲囬泦
+     */
+
+    public void dealHisDataMedication() {
+        final long OUTP_PAGE_SIZE = 500L;
+        ServiceSLTDInhospReqVO serviceSLTDInhospReqVO = new ServiceSLTDInhospReqVO();
+        serviceSLTDInhospReqVO.setOrgId("20001001");
+        Long outpPage = 1L;
+        while (true) {
+            serviceSLTDInhospReqVO.setCurrent(outpPage);
+            serviceSLTDInhospReqVO.setSize(OUTP_PAGE_SIZE);
+            log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滆嵂鍝佹暟鎹�濋噰闆嗙{}椤垫暟鎹�", outpPage);
+           Boolean b = serviceSLTDHealthcareRecordService.queryMedicationItemList(serviceSLTDInhospReqVO);
+            log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滆嵂鍝佹暟鎹�濋噰闆嗙粨鏋滐細{}", b);
+            outpPage++;
+        }
+    }
+
 
     public void dealHisDataSLTD() {
         log.info("銆恉ealHisData銆戝紑濮嬫墽琛孒IS鏁版嵁閲囬泦浠诲姟");
@@ -932,9 +1050,9 @@
                         SysConfig sysConfig = new SysConfig();
                         if (StringUtils.isNotEmpty(serviceSubtask.getServiceType()) && serviceSubtask.getServiceType().equals("6")) {
                             sysConfig = sysConfigMapper.checkConfigKeyUnique("zymyd.sms.template");
-                        }else if (StringUtils.isNotEmpty(serviceSubtask.getServiceType()) && serviceSubtask.getServiceType().equals("14")) {
+                        } else if (StringUtils.isNotEmpty(serviceSubtask.getServiceType()) && serviceSubtask.getServiceType().equals("14")) {
                             sysConfig = sysConfigMapper.checkConfigKeyUnique("mzmyd.sms.template");
-                        }else {
+                        } else {
                             sysConfig = sysConfigMapper.checkConfigKeyUnique("wj.sms.template");
                         }
                         if (!Objects.isNull(sysConfig)) {
@@ -968,9 +1086,29 @@
                     log.info("active鐨勫�间负锛歿}", active);
                     if (active.equals("xh")) {
                         Map<String, String> req = new HashMap<>();
-                        req.put("phone", sendMagParam.getPhone());
-                        req.put("content", sendMagParam.getContent());
-                        isSuccess = HttpUtil.postJsonRequest(xhsmsPath, new Gson().toJson(req));
+//                        req.put("phone", sendMagParam.getPhone());
+//                        req.put("content", sendMagParam.getContent());
+                        Map<String, String> map2 = new HashMap<String, String>();
+                        map2.put("action", "send");
+                        map2.put("account", xhsmsAccount);
+                        map2.put("password", xhsmsPwd);
+                        map2.put("mobile", sendMagParam.getPhone());
+                        map2.put("content", sendMagParam.getContent());
+                        map2.put("extno", xhsmsjrm);
+                        map2.put("rt", "json");
+                        StringBuilder encodedParams = new StringBuilder();
+
+                        for (Map.Entry<String, String> entry : map2.entrySet()) {
+                            if (encodedParams.length() > 0) {
+                                encodedParams.append("&");
+                            }
+                            // 瀵归敭鍜屽�艰繘琛孶RL缂栫爜
+                            String encodedKey = URLEncoder.encode(entry.getKey(), "UTF-8");
+                            String encodedValue = URLEncoder.encode(entry.getValue(), "UTF-8");
+                            encodedParams.append(encodedKey).append("=").append(encodedValue);
+                        }
+                        Boolean result = HttpUtils.sendPost(xhsmsPath, new Gson().toJson(req));
+                        if (result) isSuccess = "true";
                     } else if (active.equals("ls")) {
 //                        String url = configService.selectConfigByKey("token.360", serviceSubtask.getOrgid());
 //                        //涓芥按鐨勭煭淇″彂閫佹柟寮�
@@ -1514,7 +1652,7 @@
         return serviceTaskMap;
     }
 
-    public int qwenLLMTest(String questionText, String voiceText,String value,String regexText) {
+    public int qwenLLMTest(String questionText, String voiceText, String value, String regexText) {
         int result = QwenLLMUtil.matchRegex(questionText, voiceText, value, regexText);
         return result;
     }

--
Gitblit v1.9.3