From 85183ce29f27f67edf9b80d9b15efff48091449f Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期四, 09 四月 2026 13:49:42 +0800
Subject: [PATCH] 省立同德门急诊采集功能提交

---
 ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java |  104 ++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 80 insertions(+), 24 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 8577bb7..d33e19d 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
@@ -342,19 +342,38 @@
                     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);
+                    // 闂ㄦ�ヨ瘖鍒嗛〉閲囬泦锛氭瘡椤�1000鏉★紝鐩村埌鏃犳暟鎹负姝�
+                    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);
+                    long outpPage = 1L;
+                    final long OUTP_PAGE_SIZE = 1000L;
+                    while (true) {
+                        serviceSLTDInhospReqVO.setCurrent(outpPage);
+                        serviceSLTDInhospReqVO.setSize(OUTP_PAGE_SIZE);
+                        log.debug("銆恉ealHisData銆戠渷绔嬪悓寰封�滈棬鎬ヨ瘖鈥濋噰闆嗙{}椤垫暟鎹紝闄㈠尯锛歿}", outpPage, cid);
+                        List<ServiceSLTDInhospResDTO> outpResult = serviceSLTDHealthcareRecordService.queryHealthcareRecordList(serviceSLTDInhospReqVO);
+                        if (CollectionUtils.isEmpty(outpResult)) {
+                            log.debug("銆恉ealHisData銆戠渷绔嬪悓寰封�滈棬鎬ヨ瘖鈥濈{}椤垫棤鏁版嵁锛岄噰闆嗙粨鏉燂紝闄㈠尯锛歿}", outpPage, cid);
+                            break;
+                        }
+                        log.debug("銆恉ealHisData銆戠渷绔嬪悓寰封�滈棬鎬ヨ瘖鈥濈{}椤甸噰闆唟}鏉★紝闄㈠尯锛歿}", outpPage, outpResult.size(), cid);
+                        if (outpResult.size() < OUTP_PAGE_SIZE) {
+                            break;
+                        }
+                        outpPage++;
+                    }
+                    // 娓呴櫎鍒嗛〉鍙傛暟锛岄伩鍏嶅奖鍝嶅悗缁嚭鍏ラ櫌鏌ヨ
+                    serviceSLTDInhospReqVO.setCurrent(null);
+                    serviceSLTDInhospReqVO.setSize(null);
+                    log.debug("銆恉ealHisData銆戠渷绔嬪悓寰封�滈棬鎬ヨ瘖鈥濆垎椤甸噰闆嗗畬鎴愶紝闄㈠尯锛歿}", cid);
 
                     log.debug("銆恉ealHisData銆戠渷绔嬪悓寰封�滃嚭闄⑩�濆紑濮嬮噰闆嗘暟鎹紝闄㈠尯锛歿}", cid);
                     serviceSLTDInhospReqVO.setStartHeadTime(null);
@@ -558,12 +577,23 @@
                 //2鍒ゆ柇涓�涓嬶紝褰撳墠鐨剆ort鏄笉鏄瓑浜庨渶瑕佹墽琛岀殑鎬讳釜鏁帮紝濡傛灉绛変簬鐨勮瘽锛岃鏄庢槸鏈�鍚庝竴涓紝鐩存帴灏唖ervuce_subtask鐨勭姸鎬佹敼鎴�5锛屾墽琛屽け璐ュ氨琛屼簡
                 Long cs = currentSort.get();
                 if (cs.equals(serviceSubtaskPreachforms.size())) {
-                    serviceSubtask.setSendstate(5L);
-                    serviceSubtask.setRemark("澶勭悊琛ュ伩浠诲姟,褰撳墠澶勭悊鏈�鍚庤ˉ鍋匡紝鍏ㄩ儴鎵ц澶辫触");
+                    if(serviceSubtask.getPreachform().equals("1")){
+                        serviceSubtask.setSendstate(7L);
+                        serviceSubtask.setRemark("澶勭悊琛ュ伩浠诲姟,褰撳墠澶勭悊鏈�鍚庤ˉ鍋� 浜哄伐瓒呮椂");
+                    }else {
+                        serviceSubtask.setSendstate(5L);
+                        serviceSubtask.setRemark("澶勭悊琛ュ伩浠诲姟,褰撳墠澶勭悊鏈�鍚庤ˉ鍋匡紝鍏ㄩ儴鎵ц澶辫触");
+                    }
+
                     serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
                     //淇敼鍙戦�佹柟寮忕殑鐘舵�佷负澶辫触
-                    serviceSubtaskPreachform.setSendstate("5");
-                    serviceSubtaskPreachform.setId(id.get());
+                    if(serviceSubtaskPreachform.getPreachform().equals("1")){
+                        serviceSubtaskPreachform.setSendstate("7");
+                        serviceSubtaskPreachform.setId(id.get());
+                    }else {
+                        serviceSubtaskPreachform.setSendstate("5");
+                        serviceSubtaskPreachform.setId(id.get());
+                    }
                     serviceSubtaskPreachformMapper.updateServiceSubtaskPreachform(serviceSubtaskPreachform);
                     continue;
                 }
@@ -920,7 +950,7 @@
                 }
             }
         } else if (descByCode.equals("浜哄伐")) {
-            setSuccessPreachForm(serviceSubtask, sendPreachform, "浜哄伐寰呮墽琛�", "2");
+            setSuccessPreachForm(serviceSubtask, sendPreachform, "浜哄伐瓒呮椂", "7");
         }
 
     }
@@ -988,6 +1018,11 @@
                     //璇存槑鍏ㄥ彂閫佸け璐ヤ簡
                     serviceSubtask.setSendstate(5L);
                     log.error("getSendPreachform鏂规硶 妫�鏌ユ槸鍚︽墍鏈塻endstate涓嶇瓑浜�9, 鍏ㄥけ璐ヤ簡");
+                    //浜哄伐鍙戦�佽秴鏃�
+                    if(ObjectUtils.isNotEmpty(serviceSubtask.getCurrentPreachform()) && serviceSubtask.getCurrentPreachform().equals("1")){
+                        serviceSubtask.setSendstate(7L);
+                        serviceSubtask.setRemark("浜哄伐鍙戦�佽秴鏃�");
+                    }
                     serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
                     //淇敼鍙戦�佺姸鎬�
                     setFail(serviceSubtaskPreachforms, serviceSubtask);
@@ -1029,10 +1064,8 @@
                 serviceSubtaskPreachform.setPreachform(nextPreachform);
                 serviceSubtaskPreachformMapper.updateSSPByCondition(serviceSubtaskPreachform);
             }
-
             return nextPreachform;
         }
-
         return null;
     }
 
@@ -1071,6 +1104,11 @@
             ServiceSubtaskPreachform subtaskPreachform = new ServiceSubtaskPreachform();
             subtaskPreachform.setSendstate("5");
             subtaskPreachform.setId(id.get());
+            //浜哄伐鍙戦�佽秴鏃�
+            if(ObjectUtils.isNotEmpty(serviceSubtask.getCurrentPreachform()) && serviceSubtask.getCurrentPreachform().equals("1")){
+                subtaskPreachform.setSendstate("7");
+                subtaskPreachform.setRemark("浜哄伐鍙戦�佽秴鏃�");
+            }
             return serviceSubtaskPreachformMapper.updateServiceSubtaskPreachform(subtaskPreachform);
         }
         return 0;
@@ -1195,17 +1233,30 @@
                 if (failSendstate.equals("2")) serviceSubtaskPreachform1.setSendstate("9");
             }
             serviceSubtaskPreachform1.setRemark(remark);
+            if(ObjectUtils.isNotEmpty(preachform) && preachform.equals("1")){
+                serviceSubtaskPreachform1.setSendstate("7");
+                serviceSubtaskPreachform1.setRemark("浜哄伐鍙戦�佽秴鏃�");
+            }
             serviceSubtaskPreachformMapper.updateServiceSubtaskPreachform(serviceSubtaskPreachform1);
 
             //濡傛灉褰撳墠鐨刾reachform宸茬粡鏄渶鍚庝竴涓簡锛岄偅鐩存帴灏唖erviceSubtask鐨剆endstate鐘舵�佹敼鎴�5灏辫浜�(鍏ㄥけ璐ヤ簡)
             if (serviceSubtaskPreachform1.getSort() == sspCount.size()) {
-                if (failSendstate.equals("4") || failSendstate.equals("5")) {
+                if(ObjectUtils.isNotEmpty(preachform) && preachform.equals("1")){
                     serviceSubtask.setCurrentPreachform(preachform);
-                    serviceSubtask.setSendstate(5L);
-                    serviceSubtask.setRemark("setSuccessPreachForm鏂规硶锛屽綋鍓嶇殑preachform宸茬粡鏄渶鍚庝竴涓簡锛屽叏閮ㄦ墽琛屽け璐�");
+                    serviceSubtask.setSendstate(7L);
+                    serviceSubtask.setRemark("浜哄伐鍙戦�佽秴鏃�");
                     serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
                     return true;
+                }else {
+                    if (failSendstate.equals("4") || failSendstate.equals("5")) {
+                        serviceSubtask.setCurrentPreachform(preachform);
+                        serviceSubtask.setSendstate(5L);
+                        //serviceSubtask.setRemark("setSuccessPreachForm鏂规硶锛屽綋鍓嶇殑preachform宸茬粡鏄渶鍚庝竴涓簡锛屽叏閮ㄦ墽琛屽け璐�");
+                        serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
+                        return true;
+                    }
                 }
+
             }
         } else {
             log.error("銆愬畾鏃朵换鍔′腑璇ユ偅鑰呮病鏈夋煡璇㈠埌灞炰簬浠栫殑鍙戦�佹柟寮忥紝subid锛歿},prechform:{},orgid:{}銆�", serviceSubtask.getId(), preachform, serviceSubtask.getOrgid());
@@ -1214,7 +1265,12 @@
         //灏嗕笅涓�娆$殑闅忚鏃堕棿涓庡綋鍓嶆墽琛屾柟寮忚褰曚竴涓�
         serviceSubtask.setVisitTime(getNextVisitTime(serviceSubtask.getId(), serviceSubtask.getTaskid(), serviceSubtask.getVisitTime()));
         serviceSubtask.setCurrentPreachform(preachform);
-        serviceSubtask.setSendstate(3L);
+        if(ObjectUtils.isNotEmpty(preachform) && preachform.equals("1")){
+            serviceSubtask.setSendstate(7L);
+            serviceSubtask.setRemark("浜哄伐鍙戦�佽秴鏃�");
+        }else {
+            serviceSubtask.setSendstate(3L);
+        }
         if (serviceSubtask.getType().equals("3") || serviceSubtask.getType().equals("4")) {
             //濡傛灉鏄鏁欐垨閫氱煡锛屽苟涓斿彂閫佹垚鍔燂紝鍒欑洿鎺ュ皢serviceSubtask鐘舵�佹敼鎴�6L锛堣繖涓偅鑰呮槸娌℃湁棰樺仛鐨勶紝涓嶄細鍐嶈Е鍙戞帴鍙h繘琛岀姸鎬佷慨鏀癸級
             if (failSendstate.equals("2")) {

--
Gitblit v1.9.3