From f2cc333b963cb0de81aebc5ae3a8c247e99243d8 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期二, 02 六月 2026 18:21:27 +0800
Subject: [PATCH] 【市一】同步手术视图

---
 smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java |   68 ++++++++++++++++++---------------
 1 files changed, 37 insertions(+), 31 deletions(-)

diff --git a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
index c80b12c..c6f675e 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -350,11 +350,16 @@
     public List<ServiceSubtaskRes> patItem(ServiceSubtaskEntity serviceSubtaskEntity) {
         if (serviceSubtaskEntity.getSendstateView() != null) {
             //            1锛氬緟闅忚锛�2 寰呭彂閫侊級锛�2锛氶殢璁夸腑锛�3 宸插彂閫併��1 琚鍙栵級銆�3锛氭湭瀹屾垚锛�5 鍙戦�佸け璐ャ��7銆佽秴鏃讹級銆�4锛氬凡瀹屾垚锛� 6 宸插畬鎴愶級銆�5锛氭棤闇�闅忚锛�4 涓嶆墽琛岋級
-            if (serviceSubtaskEntity.getSendstateView() == 1) serviceSubtaskEntity.setSendstates(new ArrayList<>(Arrays.asList(2L)));
-            if (serviceSubtaskEntity.getSendstateView() == 2) serviceSubtaskEntity.setSendstates(new ArrayList<>(Arrays.asList(1L, 3L)));
-            if (serviceSubtaskEntity.getSendstateView() == 3) serviceSubtaskEntity.setSendstates(new ArrayList<>(Arrays.asList(5L, 7L)));
-            if (serviceSubtaskEntity.getSendstateView() == 4) serviceSubtaskEntity.setSendstates(new ArrayList<>(Arrays.asList(6L)));
-            if (serviceSubtaskEntity.getSendstateView() == 5) serviceSubtaskEntity.setSendstates(new ArrayList<>(Arrays.asList(4L)));
+            if (serviceSubtaskEntity.getSendstateView() == 1)
+                serviceSubtaskEntity.setSendstates(new ArrayList<>(Arrays.asList(2L)));
+            if (serviceSubtaskEntity.getSendstateView() == 2)
+                serviceSubtaskEntity.setSendstates(new ArrayList<>(Arrays.asList(1L, 3L)));
+            if (serviceSubtaskEntity.getSendstateView() == 3)
+                serviceSubtaskEntity.setSendstates(new ArrayList<>(Arrays.asList(5L, 7L)));
+            if (serviceSubtaskEntity.getSendstateView() == 4)
+                serviceSubtaskEntity.setSendstates(new ArrayList<>(Arrays.asList(6L)));
+            if (serviceSubtaskEntity.getSendstateView() == 5)
+                serviceSubtaskEntity.setSendstates(new ArrayList<>(Arrays.asList(4L)));
         }
 
         List<ServiceSubtask> selectServiceSubtaskList = this.selectServiceSubtaskList(serviceSubtaskEntity);
@@ -747,9 +752,8 @@
                     serviceSubtask.setPatid(patTaskRelevance.getPatid());
                     serviceSubtask.setCreateTime(DateUtils.getNowDate());
                     serviceSubtask.setInhospid(patTaskRelevance.getHospid());
-                    serviceSubtask.setSendstate(1L);
-                    if (serviceTaskVO.getLongTask() != null && serviceTaskVO.getLongTask() == 1)
-                        serviceSubtask.setSendstate(2L);
+                    //鏂板缓瀹屾垚灏辨槸寰呭彂閫佺姸鎬�
+                    serviceSubtask.setSendstate(2L);
                     serviceSubtask.setDeptcode(patTaskRelevance.getDeptcode());
                     serviceSubtask.setDeptname(patTaskRelevance.getDeptName());
                     serviceSubtask.setLeavehospitaldistrictcode(patTaskRelevance.getLeavehospitaldistrictcode());
@@ -826,20 +830,23 @@
                     redisCache.removeElementFromList("cache-3", serviceSubtask.getId().toString());
                     redisCache.removeElementFromList("cache-4", serviceSubtask.getId().toString());
                     //灏嗗嚭鍏ラ櫌琛ㄧ殑鏁版嵁锛岃繕鍘熸垚杩樻湭澶勭悊鐨勭姸鎬�
-                    if(serviceSubtask.getServiceType().equals("2")) {
-                        PatMedInhosp patMedInhosp = new PatMedInhosp();
-                        patMedInhosp.setDeptcheckFlag("0");
-                        patMedInhosp.setWardcheckFlag("0");
-                        patMedInhosp.setDiagcheckFlag("0");
-                        patMedInhosp.setInhospid(serviceSubtask.getInhospid());
-                        patMedInhospMapper.updatePatMedInhosp(patMedInhosp);
-                    }else if(serviceSubtask.getServiceType().equals("3")) {
-
-                        if(serviceSubtask.getInhospid()!=null) {
-                            PatMedOuthospQueryReq req=new PatMedOuthospQueryReq();
+                    if (serviceSubtask.getServiceType().equals("2")) {
+                        ServiceTask st = serviceTaskService.selectServiceTaskByTaskid(serviceSubtask.getTaskid());
+                        //濡傛灉浠诲姟鏄暱鏈熶换鍔★紝闇�瑕佸皢璇ユ偅鑰呯殑鍑哄叆闄㈡暟鎹繕鍘熸垚杩樻湭澶勭悊鐨勭姸鎬�
+                        if (st != null && st.getLongTask() == 1) {
+                            PatMedInhosp patMedInhosp = new PatMedInhosp();
+                            patMedInhosp.setDeptcheckFlag("0");
+                            patMedInhosp.setWardcheckFlag("0");
+                            patMedInhosp.setDiagcheckFlag("0");
+                            patMedInhosp.setInhospid(serviceSubtask.getInhospid());
+                            patMedInhospMapper.updatePatMedInhosp(patMedInhosp);
+                        }
+                    } else if (serviceSubtask.getServiceType().equals("3")) {
+                        if (serviceSubtask.getInhospid() != null) {
+                            PatMedOuthospQueryReq req = new PatMedOuthospQueryReq();
                             req.setOuthospno(serviceSubtask.getHospno());
                             List<PatMedOuthosp> patMedOuthosps = patMedOuthospMapper.callSpQueryOuthosp(req);
-                            if(CollectionUtils.isNotEmpty(patMedOuthosps)) {
+                            if (CollectionUtils.isNotEmpty(patMedOuthosps)) {
                                 PatMedOuthosp patMedOuthosp = patMedOuthosps.get(0);
                                 patMedOuthosp.setServerState("0");
                                 patMedOuthospService.updatePatMedOuthosp(patMedOuthosp);
@@ -2214,6 +2221,8 @@
                     IvrTaskTemplateScript ivrTaskTemplateScript = iIvrTaskTemplateScriptService.selectIvrTaskTemplateScriptByID(serviceSubtaskDetail.getScriptid());
                     if (ivrTaskTemplateScript != null)
                         serviceSubtaskDetail.setCategoryid(ivrTaskTemplateScript.getScriptAssortid());
+                    serviceSubtaskDetail.setIsMydException(ivrTaskTemplateScript.getIsMydException());
+                    serviceSubtaskDetail.setDimension(ivrTaskTemplateScript.getDimension());
                 }
 
                 serviceSubtaskDetail.setSubId(selectServiceSubtaskList.get(0).getId());
@@ -2818,7 +2827,7 @@
                         if (serviceSubtask.getSendstate() != null && !serviceSubtask.getSendstate().equals(4L) && ObjectUtils.isNotEmpty(serviceSubtask.getCurrentPreachform()) && serviceSubtask.getCurrentPreachform().equals("5")) {
                             serviceSubtaskStatistic.setWeChat(serviceSubtaskStatistic.getWeChat() + 1L);
                         }
-                    } else if(StringUtils.isNotEmpty(followUpCountStyle) && followUpCountStyle.equals("3")) {
+                    } else if (StringUtils.isNotEmpty(followUpCountStyle) && followUpCountStyle.equals("3")) {
                         //棣栨闅忚鎴愬姛
                         if (serviceSubtask.getSendstate() != null && (serviceSubtask.getSendstate().equals(6L))) {
                             serviceSubtaskStatistic.setFollowUpSuccess(serviceSubtaskStatistic.getFollowUpSuccess() + 1L);
@@ -2839,7 +2848,7 @@
                         if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate().equals(6L) && ObjectUtils.isNotEmpty(serviceSubtask.getCurrentPreachform()) && serviceSubtask.getCurrentPreachform().equals("5")) {
                             serviceSubtaskStatistic.setWeChat(serviceSubtaskStatistic.getWeChat() + 1L);
                         }
-                    }else {
+                    } else {
                         //棣栨闅忚鎴愬姛 - 缁熻鏃跺�欏姞涓婁笉鎵ц鐨勶紝宸插彂閫佺殑
                         if (serviceSubtask.getSendstate() != null && (serviceSubtask.getSendstate().equals(6L) || serviceSubtask.getSendstate().equals(3L) || serviceSubtask.getSendstate().equals(4L))) {
                             serviceSubtaskStatistic.setFollowUpSuccess(serviceSubtaskStatistic.getFollowUpSuccess() + 1L);
@@ -2909,7 +2918,7 @@
                         if (serviceSubtask.getSendstate() != null && !serviceSubtask.getSendstate().equals(4L) && ObjectUtils.isNotEmpty(serviceSubtask.getCurrentPreachform()) && serviceSubtask.getCurrentPreachform().equals("5")) {
                             serviceSubtaskStatistic.setWeChatAgain(serviceSubtaskStatistic.getWeChatAgain() + 1L);
                         }
-                    } else if(StringUtils.isNotEmpty(followUpCountStyle) && followUpCountStyle.equals("3")) {
+                    } else if (StringUtils.isNotEmpty(followUpCountStyle) && followUpCountStyle.equals("3")) {
                         //鍐嶆闅忚鎴愬姛
                         if (serviceSubtask.getSendstate() != null && (serviceSubtask.getSendstate().equals(6L))) {
                             serviceSubtaskStatistic.setFollowUpSuccessAgain(serviceSubtaskStatistic.getFollowUpSuccessAgain() + 1L);
@@ -3059,7 +3068,7 @@
                     if (serviceSubtask.getSendstate() != null && !serviceSubtask.getSendstate().equals(4L) && ObjectUtils.isNotEmpty(serviceSubtask.getCurrentPreachform()) && serviceSubtask.getCurrentPreachform().equals("5")) {
                         serviceSubtaskStatistic.setWeChat(serviceSubtaskStatistic.getWeChat() + 1L);
                     }
-                }  else if(StringUtils.isNotEmpty(followUpCountStyle) && followUpCountStyle.equals("3")) {
+                } else if (StringUtils.isNotEmpty(followUpCountStyle) && followUpCountStyle.equals("3")) {
                     //棣栨闅忚鎴愬姛
                     if (serviceSubtask.getSendstate() != null && (serviceSubtask.getSendstate().equals(6L))) {
                         serviceSubtaskStatistic.setFollowUpSuccess(serviceSubtaskStatistic.getFollowUpSuccess() + 1L);
@@ -3206,7 +3215,7 @@
                     if (serviceSubtask.getSendstate() != null && !serviceSubtask.getSendstate().equals(4L) && ObjectUtils.isNotEmpty(serviceSubtask.getCurrentPreachform()) && serviceSubtask.getCurrentPreachform().equals("5")) {
                         serviceSubtaskStatistic.setWeChatAgain(serviceSubtaskStatistic.getWeChatAgain() + 1L);
                     }
-                }  else if(StringUtils.isNotEmpty(followUpCountStyle) && followUpCountStyle.equals("3")) {
+                } else if (StringUtils.isNotEmpty(followUpCountStyle) && followUpCountStyle.equals("3")) {
                     //鍐嶆闅忚鎴愬姛
                     if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate().equals(6L)) {
                         serviceSubtaskStatistic.setFollowUpSuccessAgain(serviceSubtaskStatistic.getFollowUpSuccessAgain() + 1L);
@@ -3707,8 +3716,8 @@
          */
         if (StringUtils.isNotEmpty(followUpCountStyle) && followUpCountStyle.equals("2")) {
             List<Long> sendstates = serviceSubtaskCountReq.getSendstates();
-            if(CollectionUtils.isNotEmpty(sendstates) && sendstates.get(0).equals(6L)){
-                List<Long> sendstates1 =new ArrayList<>();
+            if (CollectionUtils.isNotEmpty(sendstates) && sendstates.get(0).equals(6L)) {
+                List<Long> sendstates1 = new ArrayList<>();
                 sendstates1.add(3L);
                 sendstates1.add(4L);
                 sendstates1.add(6L);
@@ -3884,10 +3893,7 @@
         //鑾峰彇鍙婃椂鐜囩粺璁″悎闆�
         Map<String, Map<String, Object>> jsRates = getSsRateForSfStatistics(serviceSubtaskCountReq, collect);
         //涓�娆℃�ф煡璇㈡墍鏈夊垎缁勭殑棰樼洰缁熻锛岄伩鍏嶆瘡涓垎缁勪竴娆QL锛圢+1锛�
-        List<Long> allSubTaskIds = rawData.stream().map(ServiceSubtask::getId)
-                .filter(Objects::nonNull)
-                .distinct()
-                .collect(Collectors.toList());
+        List<Long> allSubTaskIds = rawData.stream().map(ServiceSubtask::getId).filter(Objects::nonNull).distinct().collect(Collectors.toList());
         List<ServiceSubtaskCount> subCounts = new ArrayList<>();
         if (CollectionUtils.isNotEmpty(allSubTaskIds)) {
             serviceSubtaskCountReq.setSubTaskIds(allSubTaskIds);

--
Gitblit v1.9.3