From 19b7f4c3171a0d26c64180c2fcead5c5e6a00812 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期一, 08 九月 2025 16:42:58 +0800
Subject: [PATCH] long_task_reason有误,修改

---
 smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java |   44 ++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 40 insertions(+), 4 deletions(-)

diff --git a/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
index 3d84dfb..771f905 100644
--- a/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
@@ -14,6 +14,8 @@
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
+import java.time.Instant;
+import java.time.temporal.ChronoUnit;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -538,10 +540,20 @@
         st.setTaskid(taskid);
         st.setSendState(2L);
         List<ServiceTask> serviceTasks = serviceTaskMapper.selectServiceTaskList(st);
-        if (CollectionUtils.isEmpty(serviceTasks)) {
+        if (CollectionUtils.isEmpty(serviceTasks) && type == 1) {
             log.info("璇ユ偅鑰呭嚭闄㈤殢璁块暱鏈熶换鍔′笉瀛樺湪,浠诲姟ID涓猴細{}", taskid);
             patMedInhosp1.setDeptcheckFlag("2");
-            patMedInhosp1.setLongTaskReason(longTaskReason + " & 璇ユ偅鑰呭嚭闄㈤殢璁块暱鏈熶换鍔′笉瀛樺湪,浠诲姟ID涓�:" + taskid);
+            patMedInhosp1.setLongTaskReason(longTaskReason + " & 璇ユ偅鑰呯闄㈢瀹ら暱鏈熶换鍔′笉瀛樺湪,浠诲姟ID涓�:" + taskid);
+            patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+            return;
+        } else if (CollectionUtils.isEmpty(serviceTasks) && type == 2) {
+            patMedInhosp1.setWardcheckFlag("2");
+            patMedInhosp1.setLongTaskReason(longTaskReason + " & 璇ユ偅鑰呯闄㈢梾鍖洪暱鏈熶换鍔′笉瀛樺湪,浠诲姟ID涓�:" + taskid);
+            patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+            return;
+        } else if (CollectionUtils.isEmpty(serviceTasks) && type == 3) {
+            patMedInhosp1.setDiagcheckFlag("2");
+            patMedInhosp1.setLongTaskReason(longTaskReason + " & 璇ユ偅鑰呯柧鐥呴暱鏈熶换鍔′笉瀛樺湪,浠诲姟ID涓�:" + taskid);
             patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
             return;
         }
@@ -680,6 +692,8 @@
         serviceSubtask.setSex(patArchive.getSex());
         serviceSubtask.setAge(patArchive.getAge());
         serviceSubtask.setSendstate(2L);
+        serviceSubtask.setManagementDoctor(patMedInhosp1.getManagementDoctor());
+        serviceSubtask.setManagementDoctorCode(patMedInhosp1.getManagementDoctorCode());
         serviceSubtask.setStarttime(patMedInhosp1.getStarttime());
         serviceSubtask.setEndtime(patMedInhosp1.getEndtime());
         serviceSubtask.setServiceType(serviceTask.getServiceType());
@@ -697,19 +711,41 @@
         Date newDate = addDays(patMedInhosp1.getEndtime(), serviceTask.getSendDay().intValue());
         serviceSubtask.setLongSendTime(newDate);
         serviceSubtask.setVisitTime(newDate);
+        //濡傛灉鏄�氱煡鐨勮瘽锛岄渶瑕佹彁鍓嶅嚑澶╁皢閫氳繃鐭俊鍙戝嚭鍘伙紙鍏蜂綋鍑犲ぉ锛岃繖涓彲浠ラ厤缃湪sys_conf琛ㄤ腑锛�
+        if ("3".equals(serviceTask.getType())) {
+            serviceSubtask.setVisitTime(minusDay(newDate, 2));
+        }
+
+
         //鎮h�呭彂閫佹椂闂�
         if (StringUtils.isNotEmpty(patArchive.getNotrequiredFlag()) && patArchive.getNotrequiredFlag().equals("1")) {
-//            log.error("serviceSubtask99999999鐨勫�间负锛歿}",serviceSubtask);
             String remark = patArchive.getNotrequiredreason();
             serviceSubtask.setRemark(remark);
             serviceSubtask.setResult("error");
-//            serviceSubtask.setFinishtime(new Date());
             //涓嶆墽琛�
             serviceSubtask.setSendstate(4L);
         }
         return serviceSubtask;
     }
 
+    /**
+     * 鍑忓幓鐩稿簲澶╂暟
+     *
+     * @param originalDate
+     * @param day
+     * @return
+     */
+    public Date minusDay(Date originalDate, Integer day) {
+        // 1. 灏� Date 杞崲涓� Instant
+        Instant instant = originalDate.toInstant();
+
+        // 2. 鍦� Instant 涓婂噺鍘�2澶�
+        Instant twoDaysAgoInstant = instant.minus(2, ChronoUnit.DAYS);
+
+        // 3. 灏嗚绠楀悗鐨� Instant 杞洖 Date
+        return Date.from(twoDaysAgoInstant);
+    }
+
     //澶勭悊鍏ラ櫌淇℃伅
     private void dealInHospInfo(List<PatMedInhosp> patMedInhospList) {
         for (PatMedInhosp patMedInhosp1 : patMedInhospList) {

--
Gitblit v1.9.3