From fffffbf5f498e2aff538fca3b4c2393d8716bdbd Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期二, 01 九月 2026 17:59:24 +0800
Subject: [PATCH] 【丽水】人工无-3已领取状态(service_subtask_preachform.sendstate = 3)

---
 ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java |   64 +++++++++++++++++++++++++++++---
 1 files changed, 58 insertions(+), 6 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 0d636fa..a7b1e7b 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
@@ -1557,19 +1557,20 @@
 
     public void collectHISDaysBefore(Long daysBefore) {
         try {
-            // 鑾峰彇鏄ㄥぉ0鐐瑰埌浠婂ぉ0鐐圭殑鏃堕棿鑼冨洿
+            // 鑾峰彇daysBefore 0鐐瑰埌daysBefore-1 0鐐圭殑鏃堕棿鑼冨洿
             LocalDateTime todayZero = LocalDateTime.now().with(LocalTime.MIN);
-            LocalDateTime daysBeforeZero = todayZero.minusDays(daysBefore);
+            LocalDateTime daysBeforeZeroStart = todayZero.minusDays(daysBefore);
+            LocalDateTime daysBeforeZeroEnd = todayZero.minusDays(daysBefore-1L);
             DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
-            String startTime = daysBeforeZero.format(formatter);
-            String endTime = todayZero.format(formatter);
+            String startTime = daysBeforeZeroStart.format(formatter);
+            String endTime = daysBeforeZeroEnd.format(formatter);
             // HIS鏁版嵁閲囬泦
-            log.info("銆恈ollectHISDaysBefore銆慔IS寮�濮嬮噰闆嗘暟鎹�");
+            log.info("銆恈ollectHISDaysBefore銆慔IS寮�濮嬮噰闆嗘暟鎹�: startTime:{}, endtime:{}",startTime, endTime);
             // 绔嬪嵆杩斿洖锛屽悗鍙板紓姝ユ墽琛�
             CompletableFuture.runAsync(() -> {
                 ichService.syncMedInhosp(startTime, endTime);
             });
-            log.info("銆恈ollectHISDaysBefore銆慔IS缁撴潫閲囬泦鏁版嵁");
+            log.info("銆恈ollectHISDaysBefore銆慔IS缁撴潫閲囬泦鏁版嵁: startTime:{}, endtime:{}",startTime, endTime);
         } catch (Exception e) {
             log.error("銆恈ollectHISDaysBefore銆慔IS鏁版嵁閲囬泦寮傚父", e);
         }
@@ -1765,4 +1766,55 @@
         // 鍑洪櫌(鍙戦��)鏃堕棿 + 鏈琛ュ伩鏃堕棿 灏忎簬褰撳墠鏃堕棿 -> 瓒呮椂
         return deadline.getTime() < new Date().getTime();
     }
+
+    /**
+     * 澶勭悊瓒呮椂闅忚浠诲姟
+     * @return
+     */
+    public void dealSubtaskDeadline(Integer deadlineDay){
+
+        Date deadline = DateUtils.addDays(new Date(), deadlineDay);
+        //閫氳繃浠诲姟ID鎷垮埌鎮h�呬俊鎭�,骞朵笖闅忚鏃堕棿寰楁槸浠婂ぉ涔嬪墠鐨�
+        ServiceSubtaskEntity serviceSubtaskVO = new ServiceSubtaskEntity();
+        serviceSubtaskVO.setSendstate(7L);
+        serviceSubtaskVO.setVisitCount(1);
+        serviceSubtaskVO.setEndOutHospTime(deadline);
+        List<ServiceSubtask> serviceSubtaskList
+                = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO);
+        log.info("銆恉ealSubtaskDeadline銆戣幏鍙栧埌{}涓秴鏃朵换鍔�", serviceSubtaskList.size());
+        for (ServiceSubtask serviceSubtask : serviceSubtaskList) {
+            PatMedInhosp patMedInhosp = new PatMedInhosp();
+            patMedInhosp.setInhospid(serviceSubtask.getInhospid());
+            List<PatMedInhosp> patMedInhospList = iPatMedInhospService.selectPatMedInhospList(patMedInhosp);
+
+            if (patMedInhospList.size() > 0) {
+                serviceSubtask.setIsVisitAgain(2);
+                serviceSubtask.setRemark(StringUtils.isNotEmpty(serviceSubtask.getRemark()) ? serviceSubtask.getRemark() + ";鎮h�呭啀鍏ラ櫌浜�" : "鎮h�呭啀鍏ラ櫌浜�");
+                serviceSubtask.setSendstate(4L);
+                serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
+                //return "鏃犻渶鍐嶆闅忚锛屾偅鑰呭啀鍏ラ櫌浜�";
+            }else {
+                continue;
+            }
+            //鏂板鍐嶆闅忚浠诲姟
+            ServiceSubtask serviceSubtaskAgain = DtoConversionUtils.sourceToTarget(serviceSubtask, ServiceSubtask.class);
+            serviceSubtaskAgain.setId(null);
+            serviceSubtaskAgain.setUpid(serviceSubtask.getId().intValue());
+            serviceSubtaskAgain.setVisitCount(serviceSubtask.getVisitCount() + 1);
+            serviceSubtaskAgain.setSendstate(2L);
+            serviceSubtaskAgain.setCreateTime(new Date());
+            serviceSubtaskAgain.setUpdateTime(new Date());
+            serviceSubtaskAgain.setVisitType(serviceSubtask.getVisitType());
+            serviceSubtaskAgain.setVisitDeptCode(serviceSubtask.getVisitDeptCode());
+            serviceSubtaskAgain.setVisitDeptName(serviceSubtask.getVisitDeptName());
+            int i = serviceSubtaskMapper.insertServiceSubtask(serviceSubtaskAgain);
+            if (i == 1) {
+                //鍐嶆闅忚浠诲姟鍒涘缓鎴愬姛鍚庯紝鍘熶换鍔℃敼涓哄け璐ョ姸鎬�
+                serviceSubtask.setIsVisitAgain(2);
+                serviceSubtask.setSendstate(5L);
+                serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
+            }
+        }
+    }
+
 }

--
Gitblit v1.9.3