From 21ce122193e2fb57d206dbfca59e8d2ab2114fd0 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期一, 23 三月 2026 17:12:56 +0800
Subject: [PATCH] 新增病区与科室组合

---
 ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java |  108 +++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 79 insertions(+), 29 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 ae799e1..8577bb7 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
@@ -11,15 +11,16 @@
 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;
 import com.ruoyi.quartz.service.ICollectHISService;
+import com.ruoyi.quartz.util.CreateDataTable;
 import com.ruoyi.system.domain.SysConfig;
 import com.ruoyi.system.service.ISysConfigService;
 import com.smartor.common.LSHospTokenUtil;
 import com.smartor.domain.*;
+import com.smartor.domain.entity.ServiceSubtaskEntity;
 import com.smartor.mapper.*;
 import com.smartor.service.*;
 import lombok.extern.slf4j.Slf4j;
@@ -150,6 +151,9 @@
 
     @Autowired
     ICollectHISService icollectHis;
+
+    @Autowired
+    CreateDataTable createDataTable;
 
 
     @Value("${appid}")
@@ -305,11 +309,9 @@
                     }
                     log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滅敤鎴蜂俊鎭�濈粨鏉熼噰闆嗘暟鎹細{}", aBoolean);
                 }
-
                 // 鐪佺珛鍚屽痉鏁版嵁閲囬泦
                 for (Long cid : campusidList) {
                     log.debug("銆恉ealHisData銆戠渷绔嬪悓寰封�滈鍏ラ櫌鈥濆紑濮嬮噰闆嗘暟鎹紝闄㈠尯锛歿}", cid);
-                    String yesterday = LocalDate.now().minusDays(1).format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
                     String nowTime = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
                     ServiceSLTDInhospReqVO serviceSLTDInhospReqVO = new ServiceSLTDInhospReqVO();
                     serviceSLTDInhospReqVO.setOrgId("20001001");
@@ -340,19 +342,19 @@
                     serviceSLTDHealthcareRecordService.queryHealthcareRecordList(serviceSLTDInhospReqVO);
                     log.debug("銆恉ealHisData銆戠渷绔嬪悓寰封�滃叆闄⑩�濈祼鏉熼噰闆嗘暟鎹紝闄㈠尯锛歿}", cid);
 
-                    log.debug("銆恉ealHisData銆戠渷绔嬪悓寰封�滈棬鎬ヨ瘖鈥濆紑濮嬮噰闆嗘暟鎹紝闄㈠尯锛歿}", cid);
-                    serviceSLTDInhospReqVO.setStartHeadTime(null);
-                    serviceSLTDInhospReqVO.setStartTailTime(null);
-                    serviceSLTDInhospReqVO.setEncounterTimeStart(nowTime);
-                    serviceSLTDInhospReqVO.setEncounterTimeEnd(nowTime);
-                    serviceSLTDInhospReqVO.setStatusList(null);
-                    List<String> list1 = new ArrayList<>();
-                    list1.add("FH0108.01");
-                    list1.add("FH0108.03");
-                    serviceSLTDInhospReqVO.setHealthcareRecordTypeList(list1);
-                    log.debug("銆恉ealHisData銆戠渷绔嬪悓寰封�滈棬鎬ヨ瘖鈥濋噰闆嗘暟鎹叆鍙傦細{}", serviceSLTDInhospReqVO);
-                    serviceSLTDHealthcareRecordService.queryHealthcareRecordList(serviceSLTDInhospReqVO);
-                    log.debug("銆恉ealHisData銆戠渷绔嬪悓寰封�滈棬鎬ヨ瘖鈥濇潫閲囬泦鏁版嵁锛岄櫌鍖猴細{}", cid);
+//                    log.debug("銆恉ealHisData銆戠渷绔嬪悓寰封�滈棬鎬ヨ瘖鈥濆紑濮嬮噰闆嗘暟鎹紝闄㈠尯锛歿}", cid);
+//                    serviceSLTDInhospReqVO.setStartHeadTime(null);
+//                    serviceSLTDInhospReqVO.setStartTailTime(null);
+//                    serviceSLTDInhospReqVO.setEncounterTimeStart(nowTime);
+//                    serviceSLTDInhospReqVO.setEncounterTimeEnd(nowTime);
+//                    serviceSLTDInhospReqVO.setStatusList(null);
+//                    List<String> list1 = new ArrayList<>();
+//                    list1.add("FH0108.01");
+//                    list1.add("FH0108.03");
+//                    serviceSLTDInhospReqVO.setHealthcareRecordTypeList(list1);
+//                    log.debug("銆恉ealHisData銆戠渷绔嬪悓寰封�滈棬鎬ヨ瘖鈥濋噰闆嗘暟鎹叆鍙傦細{}", serviceSLTDInhospReqVO);
+//                    serviceSLTDHealthcareRecordService.queryHealthcareRecordList(serviceSLTDInhospReqVO);
+//                    log.debug("銆恉ealHisData銆戠渷绔嬪悓寰封�滈棬鎬ヨ瘖鈥濇潫閲囬泦鏁版嵁锛岄櫌鍖猴細{}", cid);
 
                     log.debug("銆恉ealHisData銆戠渷绔嬪悓寰封�滃嚭闄⑩�濆紑濮嬮噰闆嗘暟鎹紝闄㈠尯锛歿}", cid);
                     serviceSLTDInhospReqVO.setStartHeadTime(null);
@@ -370,10 +372,45 @@
                     serviceSLTDHealthcareRecordService.queryHealthcareRecordList(serviceSLTDInhospReqVO);
                     log.debug("銆恉ealHisData銆戠渷绔嬪悓寰封�滃嚭闄⑩�濇潫閲囬泦鏁版嵁锛岄櫌鍖猴細{}", cid);
                 }
+
             } catch (Exception e) {
                 log.error("銆恉ealHisData銆戠渷绔嬪悓寰锋暟鎹噰闆嗗紓甯�", e);
             }
         }
+    }
+
+    public void dealHisDataSLTD() {
+        log.info("銆恉ealHisData銆戝紑濮嬫墽琛孒IS鏁版嵁閲囬泦浠诲姟");
+
+        try {
+            LocalDate startDate = LocalDate.of(2025, 11, 1);
+            LocalDate endDate = LocalDate.of(2026, 2, 27);
+
+            // 鐪佺珛鍚屽痉鏁版嵁閲囬泦
+//            String nowTime = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
+            for (LocalDate date = startDate; !date.isAfter(endDate); date = date.plusDays(1)) {
+                String nowTime = date.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
+                ServiceSLTDInhospReqVO serviceSLTDInhospReqVO = new ServiceSLTDInhospReqVO();
+                serviceSLTDInhospReqVO.setOrgId("20001001");
+                serviceSLTDInhospReqVO.setCampusId(30001002L);
+                log.debug("銆恉ealHisData銆戠渷绔嬪悓寰封�滈棬鎬ヨ瘖鈥濆紑濮嬮噰闆嗘暟鎹紝闄㈠尯锛歿}", "30001002");
+                serviceSLTDInhospReqVO.setStartHeadTime(null);
+                serviceSLTDInhospReqVO.setStartTailTime(null);
+                serviceSLTDInhospReqVO.setEncounterTimeStart(nowTime);
+                serviceSLTDInhospReqVO.setEncounterTimeEnd(nowTime);
+                serviceSLTDInhospReqVO.setStatusList(null);
+                List<String> list1 = new ArrayList<>();
+                list1.add("FH0108.01");
+                list1.add("FH0108.03");
+                serviceSLTDInhospReqVO.setHealthcareRecordTypeList(list1);
+                log.debug("銆恉ealHisData銆戠渷绔嬪悓寰封�滈棬鎬ヨ瘖鈥濋噰闆嗘暟鎹叆鍙傦細{}", serviceSLTDInhospReqVO);
+                serviceSLTDHealthcareRecordService.queryHealthcareRecordList(serviceSLTDInhospReqVO);
+                log.debug("銆恉ealHisData銆戠渷绔嬪悓寰封�滈棬鎬ヨ瘖鈥濇潫閲囬泦鏁版嵁锛岄櫌鍖猴細{}", "30001002");
+            }
+        } catch (Exception e) {
+            log.error("銆恉ealHisData銆戠渷绔嬪悓寰锋暟鎹噰闆嗗紓甯�", e);
+        }
+
     }
 
     /**
@@ -422,7 +459,7 @@
             iPatMedInhospService.dealOutHospInfoByDimension(config);
             //闂ㄨ瘖琛�(鏂板崕鐨勬殏鏃朵笉鍋氶棬璇婇殢璁�)
             if (!active.equals("xh")) {
-//                iPatMedOuthospService.dealOutpatientInfo();
+                //iPatMedOuthospService.dealOutpatientInfo();
             }
         }
     }
@@ -434,6 +471,19 @@
     public void dealOperationInfo() {
         if (port.equals("8095")) iPatMedOperationService.dealOperationInfo();
 
+    }
+
+    /**
+     * 闂ㄨ瘖鍒嗚〃瀹氭椂浠诲姟锛氫粠 sys_config 璇诲彇鍒嗚〃妯″紡锛屾寜妯″紡寤鸿〃骞跺埛鏂拌鍥� v_pat_med_outhosp
+     * 閰嶇疆 key: outhosp.split.mode
+     * quarter -> 鎸夊搴︼紝琛ㄥ悕绀轰緥锛歱at_med_outhosp_20260103
+     * year    -> 鎸夊勾锛岃〃鍚嶇ず渚嬶細pat_med_outhosp_2026
+     * month   -> 鎸夋湀锛岃〃鍚嶇ず渚嬶細pat_med_outhosp_202601
+     * 鏌ヨ涓嶅埌閰嶇疆鍒欎笉鍒嗚〃
+     */
+    public void createOuthospQuarterTable() {
+        log.info("銆恈reateOuthospQuarterTable銆戝紑濮嬫墽琛岄棬璇婂垎琛ㄤ换鍔�");
+        createDataTable.createOuthospQuarterTable();
     }
 
     /**
@@ -449,7 +499,7 @@
 
 
     /**
-     *  闀挎湡浠诲姟鍙戦��
+     * 闀挎湡浠诲姟鍙戦��
      */
     public void longTaskSend() {
         //鑾峰彇浠诲姟淇℃伅
@@ -465,7 +515,7 @@
             commonTaskcallMQ.setSendType("2");
 
             //閫氳繃浠诲姟ID鎷垮埌鎮h�呬俊鎭�,骞朵笖闅忚鏃堕棿寰楁槸浠婂ぉ涔嬪墠鐨�
-            ServiceSubtaskVO serviceSubtaskVO = new ServiceSubtaskVO();
+            ServiceSubtaskEntity serviceSubtaskVO = new ServiceSubtaskEntity();
             serviceSubtaskVO.setTaskid(commonTaskcallMQ.getTaskid());
             serviceSubtaskVO.setSendstate(2L);
             serviceSubtaskVO.setVisitTime(new Date());
@@ -482,7 +532,7 @@
      */
     public void compensateTask() {
         //鑾峰彇鍒皊endstate=3 骞朵笖 visit_time涓哄皬浜庣瓑浜庝粖澶╃殑subtask
-        ServiceSubtaskVO serviceSubtaskVO = new ServiceSubtaskVO();
+        ServiceSubtaskEntity serviceSubtaskVO = new ServiceSubtaskEntity();
         serviceSubtaskVO.setSendstate(3L);
         serviceSubtaskVO.setVisitTime(new Date());
         List<ServiceSubtask> serviceSubtaskList = serviceSubtaskMapper.getCompensateServiceSubtaskList(serviceSubtaskVO);
@@ -548,6 +598,7 @@
 
     /**
      * 闅忚-琛ュ伩澶勭悊
+     *
      * @param serviceSubtask
      */
     public void sfHandlle(ServiceSubtask serviceSubtask) {
@@ -561,6 +612,7 @@
         String sendPreachform = getSendPreachform(serviceSubtaskPreachform, serviceSubtask);
         if (sendPreachform.equals("-1") || serviceSubtask.getSendstate() == 6 || serviceSubtask.getSendstate() == 5 || serviceSubtask.getSendstate() == 4) {
             //璇存槑宸茬粡鍏ㄩ儴閬嶅巻瀹屼簡锛屽綋鍓嶇殑鎵ц鏂瑰紡搴忓彿鏄渶鍚庝竴涓簡   鎴栬��  璇ユ偅鑰呭凡缁忛殢璁跨粨鏉燂紙鎴愬姛鎴栧け璐ヤ簡鎴栦笉鎵ц锛�
+            log.error("璇存槑宸茬粡鍏ㄩ儴閬嶅巻瀹屼簡锛屽綋鍓嶇殑鎵ц鏂瑰紡搴忓彿鏄渶鍚庝竴涓簡   鎴栬��  璇ユ偅鑰呭凡缁忛殢璁跨粨鏉燂紙鎴愬姛鎴栧け璐ヤ簡鎴栦笉鎵ц锛�");
             return;
         }
         //鍏堝垽鏂偅鑰呮槸涓嶆槸杩樿鍙戦��
@@ -840,12 +892,12 @@
                     serviceSubtaskRecord.setStartTime(System.currentTimeMillis());
                     serviceSubtaskRecord.setResult("success");
                     Boolean wxCodeSuccess = false;
-                    if(active.equals("hzszlyy")){
-                        if(!map.isEmpty() && map.get("success") != null){
+                    if (active.equals("hzszlyy")) {
+                        if (!map.isEmpty() && map.get("success") != null) {
                             wxCodeSuccess = (boolean) map.get("success");
                         }
-                    }else {
-                        if(!map.isEmpty() && map.get("succ") != null){
+                    } else {
+                        if (!map.isEmpty() && map.get("succ") != null) {
                             wxCodeSuccess = (boolean) map.get("succ");
                         }
                     }
@@ -935,7 +987,7 @@
                 if (allSendStateNot1AndNot9) {
                     //璇存槑鍏ㄥ彂閫佸け璐ヤ簡
                     serviceSubtask.setSendstate(5L);
-                    serviceSubtask.setRemark("getSendPreachform鏂规硶 妫�鏌ユ槸鍚︽墍鏈塻endstate涓嶇瓑浜�9, 鍏ㄥけ璐ヤ簡");
+                    log.error("getSendPreachform鏂规硶 妫�鏌ユ槸鍚︽墍鏈塻endstate涓嶇瓑浜�9, 鍏ㄥけ璐ヤ簡");
                     serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
                     //淇敼鍙戦�佺姸鎬�
                     setFail(serviceSubtaskPreachforms, serviceSubtask);
@@ -960,10 +1012,8 @@
                 //鑾峰彇褰撳墠鍙戦�佹柟寮�
                 ServiceSubtaskPreachform currentServiceSubtaskPreachform = serviceSubtaskPreachforms.stream().filter(item -> item.getSort().equals(currentSort.get())).findFirst().orElse(new ServiceSubtaskPreachform());
                 //褰撳墠鍙戦�佹柟寮忎负寰俊鐨勶紝涓斾笅涓�鍙戦�佹柟寮忎负鐭俊鐨勶紝寰俊鍙戦�佺姸鎬佷负宸插彂閫併�佸凡棰嗗彇鐨勶紝璺宠繃鐭俊姝ラ
-                if (currentServiceSubtaskPreachform.getPreachform().equals("5")
-                        && (currentServiceSubtaskPreachform.getSendstate().equals("2")
-                        || currentServiceSubtaskPreachform.getSendstate().equals("3"))) {
-                    if(StringUtils.isNotEmpty(nextPreachform) && nextPreachform.equals("2")){
+                if (currentServiceSubtaskPreachform.getPreachform().equals("5") && (currentServiceSubtaskPreachform.getSendstate().equals("2") || currentServiceSubtaskPreachform.getSendstate().equals("3"))) {
+                    if (StringUtils.isNotEmpty(nextPreachform) && nextPreachform.equals("2")) {
                         log.error("銆恠fHandlle銆戝井淇″凡鍙戦�侊紝鐭俊涓嶅彂閫侊紝璺宠浆浜哄伐");
                         setSuccessPreachForm(serviceSubtask, "-1", "寰俊宸插彂閫侊紝鐭俊涓嶅彂閫侊紝璺宠浆浜哄伐", "6");
                         //璺宠繃鐭俊锛屾墽琛屼笅涓�姝�

--
Gitblit v1.9.3