From ddff387baa9c7c62e66bbe2723d2c40e4571ea51 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期一, 15 十二月 2025 11:20:57 +0800
Subject: [PATCH] 【丽水】首次随访失败详情,首次应随访详情,首次待随访详情,首次随访成功详情,统计数字超链接,展示对应数据的任务信息

---
 smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java |   55 +++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 37 insertions(+), 18 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 27de461..9f44995 100644
--- a/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
@@ -249,6 +249,7 @@
                     patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
                 } else {
                     for (ServiceTaskdept serviceTaskdept1 : serviceTaskdepts) {
+                        //todo 1
                         writeInSubTask(serviceTaskdept1.getTaskId(), true, patMedInhosp1, patArchive, 1, config);
                     }
                     patMedInhosp1.setDeptcheckFlag("1");
@@ -300,6 +301,7 @@
                         patMedInhospMapper.updatePatMedInhosp(pmiBQ1);
                     } else {
                         for (ServiceTaskdept serviceTaskdept1 : serviceTaskdeptList) {
+                            //todo 2
                             writeInSubTask(serviceTaskdept1.getTaskId(), true, pmiBQ1, patArchive, 2, config);
                         }
                         pmiBQ1.setWardcheckFlag("1");
@@ -353,6 +355,7 @@
                         patMedInhospMapper.updatePatMedInhosp(pmiJB);
                     } else {
                         for (ServiceTaskdiag serviceTaskdept1 : serviceTaskdiags) {
+                            //todo 3
                             writeInSubTask(serviceTaskdept1.getTaskId(), true, pmiJB, patArchive, 3, config);
                         }
                         pmiJB.setDiagcheckFlag("1");
@@ -536,6 +539,7 @@
         return calendar.getTime();
     }
 
+    //todo
     //灏嗘偅鑰呮斁鍒皊ubtask涓�
     private void writeInSubTask(Long taskid, Boolean check, PatMedInhosp patMedInhosp1, PatArchive patArchive, Integer type, String config) {
         String longTaskReason = patMedInhosp1.getLongTaskReason();
@@ -544,24 +548,27 @@
         st.setTaskid(taskid);
         st.setSendState(2L);
         List<ServiceTask> serviceTasks = serviceTaskMapper.selectServiceTaskList(st);
-        if (CollectionUtils.isEmpty(serviceTasks) && type == 1) {
-            log.info("璇ユ偅鑰呭嚭闄㈤殢璁块暱鏈熶换鍔′笉瀛樺湪,浠诲姟ID涓猴細{}", taskid);
-            patMedInhosp1.setDeptcheckFlag("2");
-            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;
+        ServiceTask serviceTask = null;
+        if(CollectionUtils.isEmpty(serviceTasks)){
+            if (type == 1) {
+                log.info("璇ユ偅鑰呭嚭闄㈤殢璁块暱鏈熶换鍔′笉瀛樺湪,浠诲姟ID涓猴細{}", taskid);
+                patMedInhosp1.setDeptcheckFlag("2");
+                patMedInhosp1.setLongTaskReason(longTaskReason + " & 璇ユ偅鑰呯闄㈢瀹ら暱鏈熶换鍔′笉瀛樺湪,浠诲姟ID涓�:" + taskid);
+                patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+                return;
+            } else if (type == 2) {
+                patMedInhosp1.setWardcheckFlag("2");
+                patMedInhosp1.setLongTaskReason(longTaskReason + " & 璇ユ偅鑰呯闄㈢梾鍖洪暱鏈熶换鍔′笉瀛樺湪,浠诲姟ID涓�:" + taskid);
+                patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+                return;
+            } else if (type == 3) {
+                patMedInhosp1.setDiagcheckFlag("2");
+                patMedInhosp1.setLongTaskReason(longTaskReason + " & 璇ユ偅鑰呯柧鐥呴暱鏈熶换鍔′笉瀛樺湪,浠诲姟ID涓�:" + taskid);
+                patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+                return;
+            }
+            serviceTask = serviceTasks.get(0);
         }
-        ServiceTask serviceTask = serviceTasks.get(0);
 
         if (Objects.isNull(patMedInhosp1.getEndtime())) {
             return;
@@ -596,7 +603,10 @@
                     }
                     //type = 1鎴�2 琛ㄧず 鈥濈瀹ゃ�佺梾鍖衡��
                     if (type == 1 || type == 2) {
-                        if (serviceSubtask1.getEndtime().before(serviceSubtask.getEndtime()) && serviceSubtask1.getServiceType().equals("2")) {
+                        Date endTime = serviceSubtask.getEndtime();
+                        Date endTime1 = serviceSubtask1.getEndtime();
+                        String serviceType1 = serviceSubtask1.getServiceType();
+                        if (endTime1.before(endTime) && "2".equals(serviceType1)) {
                             //濡傛灉褰撳墠寰幆鐨勫瓙浠诲姟鐨勫嚭闄㈡椂闂村湪鈥滃噯澶囨柊澧炵殑瀛愪换鍔♀�濈殑鍑洪櫌鏃堕棿涔嬪墠锛屽垯灏嗗惊鐜殑瀛愪换鍔″仠鎺�
                             serviceSubtask1.setSendstate(4L);
                             if (StringUtils.isNotEmpty(serviceSubtask.getRemark()))
@@ -729,6 +739,10 @@
 
     //灏佽serviceSubtask
     private ServiceSubtask boxedServiceSubtask(ServiceTask serviceTask, PatMedInhosp patMedInhosp1, PatArchive patArchive, String config) {
+        //澧炲姞serviceTask鍒ょ┖
+//        if(Objects.isNull(serviceTask)){
+//            return null;
+//        }
         ServiceSubtask serviceSubtask = DtoConversionUtils.sourceToTarget(serviceTask, ServiceSubtask.class);
         serviceSubtask.setTaskid(serviceTask.getTaskid());
         if (StringUtils.isNotEmpty(serviceTask.getLibtemplateid()))
@@ -777,10 +791,15 @@
         }
         serviceSubtask.setLongSendTime(newDate);
         serviceSubtask.setVisitTime(newDate);
+
         if (patMedInhosp1.getFudate() != null) serviceSubtask.setVisitTime(patMedInhosp1.getFudate());
         //濡傛灉鏄�氱煡鐨勮瘽锛岄渶瑕佹彁鍓嶅嚑澶╁皢閫氳繃鐭俊鍙戝嚭鍘伙紙鍏蜂綋鍑犲ぉ锛岃繖涓彲浠ラ厤缃湪sys_conf琛ㄤ腑锛�
         if ("3".equals(serviceTask.getType())) {
             serviceSubtask.setVisitTime(minusDay(newDate, StringUtils.isNotEmpty(config) ? Integer.parseInt(config) : 0));
+            //鍒ゆ柇鏄笉鏄櫙瀹�
+            if (patMedInhosp1.getOrgid().equals("47255004333112711A1001"))
+                serviceSubtask.setVisitTime(null);
+
             //濡傛灉璇ュ嚭闄㈣褰曟湁闅忚鏃堕棿锛屽垯鐢ㄤ粬鑷繁鐨勯殢璁挎椂闂�
             if (patMedInhosp1.getFudate() != null)
                 serviceSubtask.setVisitTime(minusDay(patMedInhosp1.getFudate(), StringUtils.isNotEmpty(config) ? Integer.parseInt(config) : 0));

--
Gitblit v1.9.3