From 7518413aeb91ea9b9dd80c7a5d51057ff616a8f1 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期三, 13 五月 2026 14:53:13 +0800
Subject: [PATCH] 补偿问题处理提交

---
 smartor/src/main/java/com/smartor/domain/ServiceSubtask.java                               |    5 
 smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java                |   29 ++++-
 smartor/src/main/java/com/smartor/service/impl/ServiceSLTDHealthcareRecordServiceImpl.java |   13 --
 ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java                               |  107 ++++-----------------
 smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java              |   15 ++
 ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java                     |   14 --
 smartor/src/main/resources/mapper/smartor/ServiceTaskdiagMapper.xml                        |   50 +++++++++
 smartor/src/main/java/com/smartor/domain/ServiceTaskdiag.java                              |   28 +++++
 8 files changed, 139 insertions(+), 122 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java b/ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java
index 5bd1df3..9ca2ee3 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java
@@ -863,13 +863,8 @@
                 if (serviceSubtaskPreachform1.getSort() == spSize.size()) {
                     if (failSendstate.equals("4") || failSendstate.equals("5")) {
                         serviceSubtask.setCurrentPreachform(preachform);
-                        serviceSubtask.setSendstate(5L);
-                        serviceSubtask.setRemark("澶勭悊琛ュ伩浠诲姟,褰撳墠澶勭悊鏈�鍚庤ˉ鍋匡紝鍏ㄩ儴鎵ц澶辫触");
-                        //浜哄伐鍙戦�佽秴鏃�
-                        if (ObjectUtils.isNotEmpty(preachform) && preachform.equals("1") && failSendstate.equals("7")) {
-                            serviceSubtask.setSendstate(7L);
-                            serviceSubtask.setRemark("浜哄伐鍙戦�佽秴鏃�");
-                        }
+                        serviceSubtask.setSendstate(7L);
+                        serviceSubtask.setRemark("澶勭悊琛ュ伩浠诲姟,褰撳墠澶勭悊鏈�鍚庤ˉ鍋匡紝鍏ㄩ儴鎵ц澶辫触(瓒呮椂)");
                         serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
                         return true;
                     }
@@ -883,11 +878,6 @@
         serviceSubtask.setCurrentPreachform(preachform);
         serviceSubtask.setVisitTime(getNextVisitTime(serviceSubtask.getId(), serviceSubtask.getTaskid(), serviceSubtask.getVisitTime(), serviceSubtask.getCurrentPreachform()));
         serviceSubtask.setSendstate(3L);
-        //浜哄伐鍙戦�佽秴鏃�
-        if (ObjectUtils.isNotEmpty(preachform) && preachform.equals("1") && failSendstate.equals("7")) {
-            serviceSubtask.setSendstate(7L);
-            serviceSubtask.setRemark("浜哄伐鍙戦�佽秴鏃�");
-        }
         if (serviceSubtask.getType().equals("3") || serviceSubtask.getType().equals("4")) {
             //濡傛灉鏄鏁欐垨閫氱煡锛屽苟涓斿彂閫佹垚鍔燂紝鍒欑洿鎺ュ皢serviceSubtask鐘舵�佹敼鎴�6L锛堣繖涓偅鑰呮槸娌℃湁棰樺仛鐨勶紝涓嶄細鍐嶈Е鍙戞帴鍙h繘琛岀姸鎬佷慨鏀癸級
             if (failSendstate.equals("2")) {
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 d82f317..0cfa4c9 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
@@ -608,23 +608,14 @@
                 //2鍒ゆ柇涓�涓嬶紝褰撳墠鐨剆ort鏄笉鏄瓑浜庨渶瑕佹墽琛岀殑鎬讳釜鏁帮紝濡傛灉绛変簬鐨勮瘽锛岃鏄庢槸鏈�鍚庝竴涓紝鐩存帴灏唖ervuce_subtask鐨勭姸鎬佹敼鎴�5锛屾墽琛屽け璐ュ氨琛屼簡
                 Long cs = currentSort.get();
                 if (cs.equals(serviceSubtaskPreachforms.size())) {
-                    if (serviceSubtask.getPreachform().equals("1")) {
-                        serviceSubtask.setSendstate(7L);
-                        serviceSubtask.setRemark("澶勭悊琛ュ伩浠诲姟,褰撳墠澶勭悊鏈�鍚庤ˉ鍋� 浜哄伐瓒呮椂");
-                    } else {
-                        serviceSubtask.setSendstate(5L);
-                        serviceSubtask.setRemark("澶勭悊琛ュ伩浠诲姟,褰撳墠澶勭悊鏈�鍚庤ˉ鍋匡紝鍏ㄩ儴鎵ц澶辫触");
-                    }
+                    serviceSubtask.setSendstate(7L);
+                    serviceSubtask.setRemark("澶勭悊琛ュ伩浠诲姟,褰撳墠澶勭悊鏈�鍚庤ˉ鍋匡紝鍏ㄩ儴鎵ц澶辫触锛堣秴鏃讹級");
 
                     serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
                     //淇敼鍙戦�佹柟寮忕殑鐘舵�佷负澶辫触
-                    if (serviceSubtaskPreachform.getPreachform().equals("1")) {
-                        serviceSubtaskPreachform.setSendstate("7");
-                        serviceSubtaskPreachform.setId(id.get());
-                    } else {
-                        serviceSubtaskPreachform.setSendstate("5");
-                        serviceSubtaskPreachform.setId(id.get());
-                    }
+                    serviceSubtaskPreachform.setSendstate("5");
+                    serviceSubtaskPreachform.setId(id.get());
+
                     serviceSubtaskPreachformMapper.updateServiceSubtaskPreachform(serviceSubtaskPreachform);
                     continue;
                 }
@@ -940,20 +931,6 @@
                     //甯備竴鍖婚櫌
                     if (active.equals("hzszlyy")) {
                         //澶勭悊涓枃涔辩爜闂
-                        /**String title = URLEncoder.encode("鎮ㄥソ锛岄個璇锋偍濉啓鍑洪櫌璋冩煡琛紝璇风偣鍑诲~鍐欍��", StandardCharsets.UTF_8.toString());
-                         String content = URLEncoder.encode("鎮ㄥソ锛岄個璇锋偍濉啓鍑洪櫌璋冩煡琛紝璇风偣鍑诲~鍐欍��", StandardCharsets.UTF_8.toString());
-                         String encodedUrl = URLEncoder.encode(url, StandardCharsets.UTF_8.toString());
-                         String urlTemp = "http://192.200.54.14:5003/sfjk/SendMessage?sfzh=" + serviceSubtask.getSfzh() +
-                         "&title=" + title +
-                         "&content=" + content +
-                         "&phone=" + patArchive.getTelcode() +
-                         "&url=" + encodedUrl +
-                         "&key=ff76f8904f5f32b5ee1739e8ea46e60g";
-                         //                        HttpUtils.sendGet(urlTemp);
-                         String sendMsg = "";
-                         sendMsg = HttpUtils.sendPost(urlTemp);
-                         log.info(sendMsg); **/
-
                         wxCode = smsUtils.sendChat(url, patArchive.getTelcode(), serviceSubtask.getSfzh());
                         log.info(wxCode);
 
@@ -1004,7 +981,7 @@
                 }
             }
         } else if (descByCode.equals("浜哄伐")) {
-            setSuccessPreachForm(serviceSubtask, sendPreachform, "浜哄伐瓒呮椂", "7");
+            setSuccessPreachForm(serviceSubtask, sendPreachform, "浜哄伐鍙戦�佹垚鍔�", "2");
         }
 
     }
@@ -1070,14 +1047,9 @@
             if (currentSort.get().equals((long) serviceSubtaskPreachforms.size())) {
                 if (allSendStateNot1AndNot9) {
                     //璇存槑鍏ㄥ彂閫佸け璐ヤ簡
-                    serviceSubtask.setSendstate(5L);
+                    serviceSubtask.setSendstate(7L);
                     log.error("getSendPreachform鏂规硶 妫�鏌ユ槸鍚︽墍鏈塻endstate涓嶇瓑浜�9, 鍏ㄥけ璐ヤ簡");
-                    serviceSubtask.setRemark(StringUtils.isNotEmpty(serviceSubtask.getRemark()) ? serviceSubtask.getRemark() + "," + "鎵�鏈夊彂閫佹柟寮忓潎鏈幏鍙栫粨鏋滐紝浠诲姟澶辫触" : "鎵�鏈夊彂閫佹柟寮忓潎鏈幏鍙栫粨鏋滐紝浠诲姟澶辫触");
-                    //浜哄伐鍙戦�佽秴鏃�
-                    if (ObjectUtils.isNotEmpty(serviceSubtask.getCurrentPreachform()) && serviceSubtask.getCurrentPreachform().equals("1")) {
-                        serviceSubtask.setSendstate(7L);
-                        serviceSubtask.setRemark(StringUtils.isNotEmpty(serviceSubtask.getRemark()) ? serviceSubtask.getRemark() + "," + "浜哄伐鍙戦�佽秴鏃�" : "浜哄伐鍙戦�佽秴鏃�");
-                    }
+                    serviceSubtask.setRemark(StringUtils.isNotEmpty(serviceSubtask.getRemark()) ? serviceSubtask.getRemark() + "," + "鎵�鏈夊彂閫佹柟寮忓潎鏈幏鍙栫粨鏋滐紝浠诲姟澶辫触锛堣秴鏃讹級" : "鎵�鏈夊彂閫佹柟寮忓潎鏈幏鍙栫粨鏋滐紝浠诲姟澶辫触锛堣秴鏃讹級");
                     serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
                     //淇敼鍙戦�佺姸鎬�
                     setFail(serviceSubtaskPreachforms, serviceSubtask);
@@ -1088,7 +1060,6 @@
             // 褰搒ort绛変簬鍒楄〃size鏃讹紝涓嬩竴涓猻ort涓�-1
             Long nextSort = currentSort.get() + 1;
             //濡傛灉褰撳墠鐨勫彂閫佹柟寮忎笉涓虹┖锛屽苟涓斿紑濮嬪噯澶囪鐢ㄤ笅涓�绉嶆柟寮忓彂閫佷簡锛岄偅褰撳墠鐨勮偗瀹氭病鏈夊彂閫佹垚鍔燂紝闇�瑕佽缃け璐�
-            // (杩欓噷涓昏鏄紝浜哄伐濡傛灉娌℃湁闅忚锛岀劧鍚庡埌鍏紬鍙风殑鏃跺�欙紝灏变笉浼氬啀鍘荤浜哄伐鏄惁鎴愬姛锛屼汉宸ョ殑鐘舵�佷細涓�鐩村崱鍦�2鐨勭姸鎬佷笂)
             if (StringUtils.isNotEmpty(serviceSubtask.getCurrentPreachform())) {
                 setFail(serviceSubtaskPreachforms, serviceSubtask);
             }
@@ -1096,23 +1067,6 @@
             // 鎵惧埌涓嬩竴涓猻ort瀵瑰簲鐨刾reachform
             String nextPreachform = serviceSubtaskPreachforms.stream().filter(item -> nextSort.equals(item.getSort())).map(ServiceSubtaskPreachform::getPreachform).findFirst().orElse("-1");
 
-            String orgid = serviceSubtask.getOrgid();
-            //寰俊宸插彂閫併�佸凡棰嗗彇璺宠繃鐭俊鍙戦�侊紝杩涜浜哄伐 -涓芥按涓尰闄�
-            if (StringUtils.isNotEmpty(orgid) && orgid.equals("47231022633110211A2101")) {
-                //鑾峰彇褰撳墠鍙戦�佹柟寮�
-                ServiceSubtaskPreachform currentServiceSubtaskPreachform = serviceSubtaskPreachforms.stream().filter(item -> item.getSort().equals(currentSort.get())).findFirst().orElse(new ServiceSubtaskPreachform());
-                //褰撳墠鍙戦�佹柟寮忎负寰俊鐨勶紝涓斾笅涓�鍙戦�佹柟寮忎负鐭俊鐨勶紝寰俊鍙戦�佺姸鎬佷负宸插彂閫併�佸凡棰嗗彇鐨勶紝璺宠繃鐭俊姝ラ
-                if (currentServiceSubtaskPreachform.getPreachform().equals("5") && (currentServiceSubtaskPreachform.getSendstate().equals("2") || currentServiceSubtaskPreachform.getSendstate().equals("3"))) {
-                    if (StringUtils.isNotEmpty(nextPreachform) && nextPreachform.equals("2")) {
-                        log.error("銆恠fHandlle銆戝井淇″凡鍙戦�侊紝鐭俊涓嶅彂閫侊紝璺宠浆浜哄伐");
-                        setSuccessPreachForm(serviceSubtask, "-1", "寰俊宸插彂閫侊紝鐭俊涓嶅彂閫侊紝璺宠浆浜哄伐", "6");
-                        //璺宠繃鐭俊锛屾墽琛屼笅涓�姝�
-                        Long newNextSort = nextSort + 1;
-                        //鎵惧埌鐭俊鍐嶄笅涓�涓猻ort瀵瑰簲鐨刾reachform
-                        nextPreachform = serviceSubtaskPreachforms.stream().filter(item -> newNextSort.equals(item.getSort())).map(ServiceSubtaskPreachform::getPreachform).findFirst().orElse("-1");
-                    }
-                }
-            }
             //鏇存柊涓�涓嬪綋鍓嶅彂閫佹椂闂�
             if (StringUtils.isNotEmpty(nextPreachform)) {
                 serviceSubtaskPreachform.setCurrentSendTime(new Date());
@@ -1159,16 +1113,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("浜哄伐鍙戦�佽秴鏃�");
-            }
+            subtaskPreachform.setRemark("褰撳墠鍙戦�佹柟寮忓湪瑙勫畾鏃堕棿鍐呮湭鎴愬姛鑾峰彇缁撴灉");
             return serviceSubtaskPreachformMapper.updateServiceSubtaskPreachform(subtaskPreachform);
         }
         return 0;
     }
-
 
     private String getDXCode(String address, String ShouJiHM, String FaSongNR, String FaSongRID, String FaSongRXM, Map<String, Object> headerMap, String token) {
         Map<String, Object> map = new LinkedHashMap<>();
@@ -1275,9 +1224,9 @@
         //鐢佃瘽鐨勬湭鍙戦�佺姸鎬侊紝闇�瑕佹煡2锛屽洜涓猴紝鏁版嵁鍙兘鍗″湪闃熷垪閲屼簡; 锛堟病杩涢槦鍒楋紝鐢佃瘽鐘舵�佽繕鏄�1锛�
         if (preachform.equals("3") && StringUtils.isNotEmpty(failSendstate) && Long.valueOf(failSendstate) > 2)
             serviceSubtaskPreachform.setSendstate("2");
-        //浜哄伐鐨勬湭鍙戦�佺姸鎬侊紝闇�瑕佹煡2
-        if (preachform.equals("1") && StringUtils.isNotEmpty(failSendstate) && Long.valueOf(failSendstate) > 2)
-            serviceSubtaskPreachform.setSendstate("2");
+//        //浜哄伐鐨勬湭鍙戦�佺姸鎬侊紝闇�瑕佹煡2
+//        if (preachform.equals("1") && StringUtils.isNotEmpty(failSendstate) && Long.valueOf(failSendstate) > 2)
+//            serviceSubtaskPreachform.setSendstate("2");
 
         List<ServiceSubtaskPreachform> serviceSubtaskPreachforms = serviceSubtaskPreachformMapper.selectServiceSubtaskPreachformList(serviceSubtaskPreachform);
         if (CollectionUtils.isNotEmpty(serviceSubtaskPreachforms)) {
@@ -1288,30 +1237,19 @@
                 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灏辫浜�(鍏ㄥけ璐ヤ簡)
+            //濡傛灉褰撳墠鐨刾reachform宸茬粡鏄渶鍚庝竴涓簡锛岄偅鐩存帴灏唖erviceSubtask鐨剆endstate鐘舵�佹敼鎴�7灏辫浜�(鍏ㄨ秴鏃朵簡)
             if (serviceSubtaskPreachform1.getSort() == sspCount.size()) {
-                if (ObjectUtils.isNotEmpty(preachform) && preachform.equals("1")) {
+                if (failSendstate.equals("4") || failSendstate.equals("5")) {
                     serviceSubtask.setCurrentPreachform(preachform);
                     serviceSubtask.setSendstate(7L);
-                    serviceSubtask.setRemark(StringUtils.isNotEmpty(serviceSubtask.getRemark()) ? serviceSubtask.getRemark() + "," + "浜哄伐鍙戦�佽秴鏃�" : "浜哄伐鍙戦�佽秴鏃�");
+                    log.error("setSuccessPreachForm鏂规硶锛屽綋鍓嶇殑preachform宸茬粡鏄渶鍚庝竴涓簡锛屽叏閮ㄦ墽琛屽け璐�");
+                    serviceSubtask.setRemark(StringUtils.isNotEmpty(serviceSubtask.getRemark()) ? serviceSubtask.getRemark() + "," + "鎵�鏈夊彂閫佹柟寮忓潎鏈幏鍙栫粨鏋滐紝浠诲姟澶辫触锛堣秴鏃讹級" : "鎵�鏈夊彂閫佹柟寮忓潎鏈幏鍙栫粨鏋滐紝浠诲姟澶辫触锛堣秴鏃讹級");
+                    //serviceSubtask.setRemark("setSuccessPreachForm鏂规硶锛屽綋鍓嶇殑preachform宸茬粡鏄渶鍚庝竴涓簡锛屽叏閮ㄦ墽琛屽け璐�");
                     serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
                     return true;
-                } else {
-                    if (failSendstate.equals("4") || failSendstate.equals("5")) {
-                        serviceSubtask.setCurrentPreachform(preachform);
-                        serviceSubtask.setSendstate(5L);
-                        log.error("setSuccessPreachForm鏂规硶锛屽綋鍓嶇殑preachform宸茬粡鏄渶鍚庝竴涓簡锛屽叏閮ㄦ墽琛屽け璐�");
-                        serviceSubtask.setRemark(StringUtils.isNotEmpty(serviceSubtask.getRemark()) ? serviceSubtask.getRemark() + "," + "鎵�鏈夊彂閫佹柟寮忓潎鏈幏鍙栫粨鏋滐紝浠诲姟澶辫触" : "鎵�鏈夊彂閫佹柟寮忓潎鏈幏鍙栫粨鏋滐紝浠诲姟澶辫触");
-                        //serviceSubtask.setRemark("setSuccessPreachForm鏂规硶锛屽綋鍓嶇殑preachform宸茬粡鏄渶鍚庝竴涓簡锛屽叏閮ㄦ墽琛屽け璐�");
-                        serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
-                        return true;
-                    }
+
                 }
 
             }
@@ -1319,15 +1257,12 @@
             log.error("銆愬畾鏃朵换鍔′腑璇ユ偅鑰呮病鏈夋煡璇㈠埌灞炰簬浠栫殑鍙戦�佹柟寮忥紝subid锛歿},prechform:{},orgid:{}銆�", serviceSubtask.getId(), preachform, serviceSubtask.getOrgid());
             return false;
         }
+
         //灏嗕笅涓�娆$殑闅忚鏃堕棿涓庡綋鍓嶆墽琛屾柟寮忚褰曚竴涓�
         serviceSubtask.setVisitTime(getNextVisitTime(serviceSubtask.getId(), serviceSubtask.getTaskid(), serviceSubtask.getVisitTime()));
         serviceSubtask.setCurrentPreachform(preachform);
-        if (ObjectUtils.isNotEmpty(preachform) && preachform.equals("1")) {
-            serviceSubtask.setSendstate(7L);
-            serviceSubtask.setRemark(StringUtils.isNotEmpty(serviceSubtask.getRemark()) ? serviceSubtask.getRemark() + ",浜哄伐鍙戦�佽秴鏃�" : "浜哄伐鍙戦�佽秴鏃�");
-        } else {
-            serviceSubtask.setSendstate(3L);
-        }
+        serviceSubtask.setSendstate(3L);
+
         if (serviceSubtask.getType().equals("3") || serviceSubtask.getType().equals("4")) {
             //濡傛灉鏄鏁欐垨閫氱煡锛屽苟涓斿彂閫佹垚鍔燂紝鍒欑洿鎺ュ皢serviceSubtask鐘舵�佹敼鎴�6L锛堣繖涓偅鑰呮槸娌℃湁棰樺仛鐨勶紝涓嶄細鍐嶈Е鍙戞帴鍙h繘琛岀姸鎬佷慨鏀癸級
             if (failSendstate.equals("2")) {
diff --git a/smartor/src/main/java/com/smartor/domain/ServiceSubtask.java b/smartor/src/main/java/com/smartor/domain/ServiceSubtask.java
index a32a571..147b291 100644
--- a/smartor/src/main/java/com/smartor/domain/ServiceSubtask.java
+++ b/smartor/src/main/java/com/smartor/domain/ServiceSubtask.java
@@ -245,10 +245,9 @@
     private String sendlimitnend;
 
     /**
-     * 鍙戦�佺姸鎬�
+     * 鍙戦�佺姸鎬� 1 琚鍙�(鍦ㄤ换鍔′腑鏄柊寤猴紝鍦ㄦ湇鍔′腑鏄棰嗗彇)  2 寰呭彂閫�  3 宸插彂閫�  4 涓嶆墽琛�  5 鍙戦�佸け璐� 6 宸插畬鎴� 7 瓒呮椂
      */
-//    @Excel(name = " 鍙戦�佺姸鎬� 1 琚鍙�(鍦ㄤ换鍔′腑鏄柊寤猴紝鍦ㄦ湇鍔′腑鏄棰嗗彇)  2 寰呭彂閫�  3 宸插彂閫�  4 涓嶆墽琛�  5 鍙戦�佸け璐� 6 宸插畬鎴� 7 瓒呮椂(浜哄伐)\") ")
-    @ApiModelProperty(value = "鍙戦�佺姸鎬� 1 琚鍙�(鍦ㄤ换鍔′腑鏄柊寤猴紝鍦ㄦ湇鍔′腑鏄棰嗗彇)  2 寰呭彂閫�  3 宸插彂閫�  4 涓嶆墽琛�  5 鍙戦�佸け璐� 6 宸插畬鎴� 7 瓒呮椂(浜哄伐)")
+    @ApiModelProperty(value = "鍙戦�佺姸鎬� 1 琚鍙�(鍦ㄤ换鍔′腑鏄柊寤猴紝鍦ㄦ湇鍔′腑鏄棰嗗彇)  2 寰呭彂閫�  3 宸插彂閫�  4 涓嶆墽琛�  5 鍙戦�佸け璐� 6 宸插畬鎴� 7 瓒呮椂")
     private Long sendstate;
 
     /**
diff --git a/smartor/src/main/java/com/smartor/domain/ServiceTaskdiag.java b/smartor/src/main/java/com/smartor/domain/ServiceTaskdiag.java
index 1ba466a..0b8ad0f 100644
--- a/smartor/src/main/java/com/smartor/domain/ServiceTaskdiag.java
+++ b/smartor/src/main/java/com/smartor/domain/ServiceTaskdiag.java
@@ -74,6 +74,34 @@
     private String icd10name;
 
     /**
+     * 閮ㄩ棬缂栫爜
+     */
+    @ApiModelProperty("閮ㄩ棬缂栫爜")
+    @Excel(name = "閮ㄩ棬缂栫爜")
+    private String deptCode;
+
+    /**
+     * 閮ㄩ棬鍚嶇О
+     */
+    @ApiModelProperty("鐤剧梾鍚嶇О")
+    @Excel(name = "鐤剧梾鍚嶇О")
+    private String deptName;
+
+    /**
+     * 閮ㄩ棬缂栫爜
+     */
+    @ApiModelProperty("閮ㄩ棬缂栫爜")
+    @Excel(name = "閮ㄩ棬缂栫爜")
+    private String wardCode;
+
+    /**
+     * 閮ㄩ棬鍚嶇О
+     */
+    @ApiModelProperty("鐥呮埧鍚嶇О")
+    @Excel(name = "鐥呮埧鍚嶇О")
+    private String wardName;
+
+    /**
      * 鍒犻櫎鏍囧織锛�0锛氭湭鍒犻櫎 1锛氬凡鍒犻櫎锛�
      */
     @ApiModelProperty("鍒犻櫎鏍囧織锛�0锛氭湭鍒犻櫎 1锛氬凡鍒犻櫎锛�")
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 93186db..430ba6b 100644
--- a/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
@@ -485,11 +485,26 @@
                         pmiJB.setLongTaskReason(StringUtils.isNotEmpty(patMedInhosp.getLongTaskReason()) ? patMedInhosp.getLongTaskReason() + errorIcd : errorIcd);
                         patMedInhospMapper.updatePatMedInhosp(pmiJB);
                     } else {
+                        int flag = 0;
                         for (ServiceTaskdiag serviceTaskdept1 : serviceTaskdiags) {
-                            writeInSubTask(serviceTaskdept1.getTaskId(), true, pmiJB, patArchive, 3, config);
+                            //蹇呴』绉戝鎴栫梾鍖鸿兘鍖归厤涓�,鎵嶅彲浠ョ敤杩欎釜鐤剧梾鍒涘缓瀛愪换鍔★紙涓昏澶勭悊涓�涓柧鐥呭湪澶氫釜鐥呭尯鎴栫瀹ゅ嚭鐜帮級
+                            if (StringUtils.isNotEmpty(serviceTaskdept1.getDeptCode()) && serviceTaskdept1.getDeptCode().equals(pmiJB.getLeaveldeptcode())) {
+                                writeInSubTask(serviceTaskdept1.getTaskId(), true, pmiJB, patArchive, 3, config);
+                                flag = 1;
+                            } else if (StringUtils.isNotEmpty(serviceTaskdept1.getWardCode()) && serviceTaskdept1.getWardCode().equals(pmiJB.getLeavehospitaldistrictcode())) {
+                                writeInSubTask(serviceTaskdept1.getTaskId(), true, pmiJB, patArchive, 3, config);
+                                flag = 1;
+                            }
                         }
-//                        pmiJB.setDiagcheckFlag("1");
-//                        patMedInhospMapper.updatePatMedInhosp(pmiJB);
+                        if (flag == 0) {
+                            log.error("璇ョ瀹ゆ垨鐥呭尯瀵逛簬鎮h�呮墍鎮g柧鐥呮湭閰嶇疆闀挎湡浠诲姟,鎮h�咃細{}", pmiJB.getInhospid());
+                            errorIcd = "璇ョ瀹ゆ垨鐥呭尯瀵逛簬鎮h�呮墍鎮g柧鐥呮湭閰嶇疆闀挎湡浠诲姟;";
+                            PatMedInhosp patMedInhosp = patMedInhospMapper.selectPatMedInhospByInhospid(pmiJB.getInhospid());
+                            pmiJB.setDiagcheckFlag("2");
+                            pmiJB.setLongTaskReason(StringUtils.isNotEmpty(patMedInhosp.getLongTaskReason()) ? patMedInhosp.getLongTaskReason() + errorIcd : errorIcd);
+                            patMedInhospMapper.updatePatMedInhosp(pmiJB);
+                        }
+
                     }
 
                 } catch (Exception e) {
@@ -916,7 +931,7 @@
             } else if (patMedInhosp1.getInhospstate().equals("0")) {
                 serviceSubtask.setVisitDeptCode(patMedInhosp1.getDeptcode());
                 serviceSubtask.setVisitDeptName(patMedInhosp1.getDeptname());
-                if(type==5){
+                if (type == 5) {
                     serviceSubtask.setVisitDeptCode(patMedInhosp1.getHospitaldistrictcode());
                     serviceSubtask.setVisitDeptName(patMedInhosp1.getHospitaldistrictname());
                 }
@@ -1087,10 +1102,10 @@
 
     /**
      *
-     * @param taskid 浠诲姟id
-     * @param check 鏄惁闇�瑕佹牎楠�
+     * @param taskid              浠诲姟id
+     * @param check               鏄惁闇�瑕佹牎楠�
      * @param patMedOperationItem 鎵嬫湳璁板綍
-     * @param config 閰嶇疆淇℃伅 visit.early.day
+     * @param config              閰嶇疆淇℃伅 visit.early.day
      */
     //灏嗘偅鑰呮斁鍒皊ubtask涓� 鎵嬫湳涓撶敤
     private void writeInSubTaskForOp(Long taskid, Boolean check, PatMedOperationItem patMedOperationItem, String config) {
diff --git a/smartor/src/main/java/com/smartor/service/impl/ServiceSLTDHealthcareRecordServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/ServiceSLTDHealthcareRecordServiceImpl.java
index fe2ceb1..edc7410 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceSLTDHealthcareRecordServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSLTDHealthcareRecordServiceImpl.java
@@ -825,21 +825,14 @@
             existingArchives = patArchiveService.selectPatArchiveList(queryByIdCard);
         }
 
-        // 绗笁姝ワ細鎸� patidHis 鏌ラ噸锛堝吋瀹规棫鏁版嵁锛屾棫鏁版嵁鍙兘浠� patientId 瀛樹负 patientno锛�
-        if (CollectionUtils.isEmpty(existingArchives) && dto.getPatientId() != null) {
-            PatArchive queryByPatidHis = new PatArchive();
-            queryByPatidHis.setPatientno(String.valueOf(dto.getPatientId()));
-            existingArchives = patArchiveService.selectPatArchiveList(queryByPatidHis);
-        }
-
         PatArchive patArchive = buildPatientArchive(dto);
 
         if (CollectionUtils.isEmpty(existingArchives)) {
             try {
                 patArchiveService.insertPatArchive(patArchive);
-                log.debug("銆恜rocessPatientArchive銆戞柊澧炴偅鑰呮。妗堬紝鎮h�呯紪鍙凤細{}", patArchive.getPatientno());
+                log.info("銆恜rocessPatientArchive銆戞柊澧炴偅鑰呮。妗堬紝鎮h�呯紪鍙凤細{}", patArchive.getPatientno());
             } catch (org.springframework.dao.DuplicateKeyException e) {
-                log.warn("銆恜rocessPatientArchive銆戞偅鑰呮。妗堝凡瀛樺湪(骞跺彂鎻掑叆)锛岃烦杩囷細patientno={}, idcardno={}", patArchive.getPatientno(), patArchive.getIdcardno());
+                log.error("銆恜rocessPatientArchive銆戞偅鑰呮。妗堝凡瀛樺湪(骞跺彂鎻掑叆)锛岃烦杩囷細patientno={}, idcardno={}", patArchive.getPatientno(), patArchive.getIdcardno());
                 // 骞跺彂鎻掑叆鍦烘櫙锛岄噸鏂版煡璇㈣幏鍙栧凡瀛樺湪鐨勮褰�
                 PatArchive queryRetry = new PatArchive();
                 queryRetry.setPatientno(patArchive.getPatientno());
@@ -855,7 +848,7 @@
             patArchive.setNotrequiredFlag(existingArchives.get(0).getNotrequiredFlag());
             patArchive.setNotrequiredreason(existingArchives.get(0).getNotrequiredreason());
             patArchiveService.updateArchive(patArchive);
-            log.debug("銆恜rocessPatientArchive銆戞洿鏂版偅鑰呮。妗堬紝鎮h�呯紪鍙凤細{}", patArchive.getPatientno());
+            log.info("銆恜rocessPatientArchive銆戞洿鏂版偅鑰呮。妗堬紝鎮h�呯紪鍙凤細{}", patArchive.getPatientno());
         }
 
         return patArchive;
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 b731d40..d34e294 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -643,6 +643,13 @@
                     if (serviceTaskVO.getLongTask() == 1) serviceTaskdiag.setLongtask(1L);
                     serviceTaskdiag.setIcd10code(serviceTaskVO.getIcd10code());
                     serviceTaskdiag.setIcd10name(serviceTaskVO.getIcd10name());
+                    serviceTaskdiag.setGuid(serviceTask.getGuid());
+                    serviceTaskdiag.setOrgid(serviceTask.getOrgid());
+                    serviceTaskdiag.setCreateTime(new Date());
+                    serviceTaskdiag.setDeptCode(serviceTaskVO.getDeptcode());
+                    serviceTaskdiag.setDeptName(serviceTaskVO.getDeptname());
+                    serviceTaskdiag.setWardCode(serviceTaskVO.getLeavehospitaldistrictcode());
+                    serviceTaskdiag.setWardName(serviceTaskVO.getLeavehospitaldistrictname());
                     //鍗楀崕闄勪竴鐨刬cd10code鏄湁閲嶅鐨勶紝鎵�浠ヤ笉鑳界敤鍗楀崕闄勪竴鐨刬cd10code鍘绘煡璇�
                     if (!active.equals("nhfy") && StringUtils.isEmpty(serviceTaskVO.getIcd10name())) {
                         Icd10 icd10 = new Icd10();
@@ -651,9 +658,7 @@
                         if (CollectionUtils.isNotEmpty(icd10s))
                             serviceTaskdiag.setIcd10name(icd10s.get(0).getIcdname());
                     }
-                    serviceTaskdiag.setGuid(serviceTask.getGuid());
-                    serviceTaskdiag.setOrgid(serviceTask.getOrgid());
-                    serviceTaskdiag.setCreateTime(new Date());
+
                     log.info("----serviceTaskdiag鐨勫�间负锛歿}", serviceTaskdiag);
                     if (StringUtils.isNotEmpty(serviceTaskVO.getIcd10code())) {
                         String[] Icd10codes = serviceTaskVO.getIcd10code().split(",");
@@ -877,6 +882,10 @@
                     serviceTaskdiag.setIcd10name(serviceTaskVO.getIcd10name());
                     serviceTaskdiag.setGuid(serviceTask.getGuid());
                     serviceTaskdiag.setOrgid(serviceTask.getOrgid());
+                    serviceTaskdiag.setDeptCode(serviceTaskVO.getDeptcode());
+                    serviceTaskdiag.setDeptName(serviceTaskVO.getDeptname());
+                    serviceTaskdiag.setWardCode(serviceTaskVO.getLeavehospitaldistrictcode());
+                    serviceTaskdiag.setWardName(serviceTaskVO.getLeavehospitaldistrictname());
                     serviceTaskdiag.setUpdateTime(new Date());
                     if (StringUtils.isNotEmpty(serviceTaskVO.getIcd10code())) {
                         String[] icd10codes = serviceTaskVO.getIcd10code().split(",");
diff --git a/smartor/src/main/resources/mapper/smartor/ServiceTaskdiagMapper.xml b/smartor/src/main/resources/mapper/smartor/ServiceTaskdiagMapper.xml
index 00fb720..3a603be 100644
--- a/smartor/src/main/resources/mapper/smartor/ServiceTaskdiagMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/ServiceTaskdiagMapper.xml
@@ -20,6 +20,10 @@
         <result property="guid" column="guid"/>
         <result property="pguid" column="pguid"/>
         <result property="pid" column="pid"/>
+        <result property="deptCode" column="dept_code"/>
+        <result property="deptName" column="dept_name"/>
+        <result property="wardCode" column="ward_code"/>
+        <result property="wardName" column="ward_name"/>
     </resultMap>
 
     <sql id="selectServiceTaskdiagVo">
@@ -37,7 +41,11 @@
                orgid,
                guid,
                pguid,
-               pid
+               pid,
+               dept_code,
+               dept_name,
+               ward_code,
+               ward_name
         from service_taskdiag
     </sql>
 
@@ -79,6 +87,18 @@
             <if test="pid != null ">
                 and pid = #{pid}
             </if>
+            <if test="deptCode != null  and deptCode != ''">
+                and dept_code = #{deptCode}
+            </if>
+            <if test="deptName != null  and deptName != ''">
+                and dept_name = #{deptName}
+            </if>
+            <if test="wardCode != null  and wardCode != ''">
+                and ward_code = #{wardCode}
+            </if>
+            <if test="wardName != null  and wardName != ''">
+                and ward_name = #{wardName}
+            </if>
     </select>
 
     <select id="selectServiceTaskdiagById" parameterType="Long"
@@ -119,6 +139,14 @@
             </if>
             <if test="pid != null">pid,
             </if>
+            <if test="deptCode != null">dept_code,
+            </if>
+            <if test="deptName != null">dept_name,
+            </if>
+            <if test="wardCode != null">ward_code,
+            </if>
+            <if test="wardName != null">ward_name,
+            </if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="taskId != null">#{taskId},
@@ -148,6 +176,14 @@
             <if test="pguid != null">#{pguid},
             </if>
             <if test="pid != null">#{pid},
+            </if>
+            <if test="deptCode != null">#{deptCode},
+            </if>
+            <if test="deptName != null">#{deptName},
+            </if>
+            <if test="wardCode != null">#{wardCode},
+            </if>
+            <if test="wardName != null">#{wardName},
             </if>
         </trim>
     </insert>
@@ -197,6 +233,18 @@
             <if test="pid != null">pid =
                 #{pid},
             </if>
+            <if test="deptCode != null">dept_code =
+                #{deptCode},
+            </if>
+            <if test="deptName != null">dept_name =
+                #{deptName},
+            </if>
+            <if test="wardCode != null">ward_code =
+                #{wardCode},
+            </if>
+            <if test="wardName != null">ward_name =
+                #{wardName},
+            </if>
         </trim>
         where id = #{id}
     </update>

--
Gitblit v1.9.3