From 9cc2f53b11205309754c2451be061ef5fc337f32 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期二, 13 五月 2025 13:57:18 +0800
Subject: [PATCH] 代码提交

---
 ruoyi-admin/src/main/java/com/ruoyi/web/test/SqlCleanerWithComment.java             |  116 +++++++++++++++++++
 smartor/src/main/java/com/smartor/mapper/PatMedOuthospMapper.java                   |    2 
 smartor/src/main/resources/mapper/smartor/PatMedOuthospMapper.xml                   |   19 +++
 smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml                  |    9 +
 smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java         |    2 
 smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml                    |   12 -
 ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java                        |   10 
 ruoyi-admin/src/main/resources/application-druid.yml                                |    8 
 ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java              |   72 ++++++-----
 ruoyi-common/src/main/java/com/ruoyi/common/enums/MsgLSEnum.java                    |   32 ++++
 ruoyi-admin/src/main/java/com/ruoyi/web/test/MQTest.java                            |    9 +
 smartor/src/main/java/com/smartor/mapper/ServiceSubtaskMapper.java                  |    7 
 smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskAnswerServiceImpl.java |    4 
 13 files changed, 239 insertions(+), 63 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 24c13c4..88d4670 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
@@ -316,7 +316,13 @@
                                 iServiceOutPathService.updateServiceOutPath(serviceOutPath);
                                 sendMagParam.setPhone(serviceSubtask.getPhone());
                                 sendMagParam.setUrl(ip + ":" + req_path + "/sf?p=" + format);
-                                sendMagParam.setContent("銆愭柊鍗庡尰闄€�戞偍濂斤紝閭�璇锋偍濉啓鍑洪櫌闅忚璋冩煡琛紝璇风偣鍑�" + sendMagParam.getUrl() + "濉啓銆傛劅璋㈡偍閰嶅悎锛�");
+                                if (serviceSubtask.getOrgid().equals("47255004333112711A1001")) {
+                                    sendMagParam.setContent("銆愭櫙瀹佺暡鏃忚嚜娌诲幙浜烘皯鍖婚櫌銆戞偍濂斤紝閭�璇锋偍濉啓鍑洪櫌瀹f暀璋冩煡琛紝璇风偣鍑�" + sendMagParam.getUrl() + "鏌ョ湅銆傛劅璋㈡偍閰嶅悎锛�");
+                                } else if (serviceSubtask.getOrgid().equals("47255004333112711A1001")) {
+                                    sendMagParam.setContent("銆愪附姘翠腑鍖婚櫌銆戞偍濂斤紝閭�璇锋偍濉啓鍑洪櫌瀹f暀璋冩煡琛紝璇风偣鍑�" + sendMagParam.getUrl() + "鏌ョ湅銆傛劅璋㈡偍閰嶅悎锛�");
+                                } else
+                                    sendMagParam.setContent("銆愭柊鍗庡尰闄€�戞偍濂斤紝閭�璇锋偍濉啓鍑洪櫌闅忚璋冩煡琛紝璇风偣鍑�" + sendMagParam.getUrl() + "濉啓銆傛劅璋㈡偍閰嶅悎锛�");
+
                             } else if (type == 2) {
                                 //闂埜锛堥棶棰橈級
                                 ServiceOutPath serviceOutPath = new ServiceOutPath();
@@ -334,7 +340,12 @@
 //                                sendMagParam.setUrl(ip + ":" + req_path + "/outsideChainwt?param1=" + taskId + "&param2=" + patid + "&param3=" + URLEncoder.encode(ivrTask1.getTaskName(), StandardCharsets.UTF_8.toString()) + "&param5=false");
                                 sendMagParam.setPhone(serviceSubtask.getPhone());
                                 sendMagParam.setUrl(ip + ":" + req_path + "/wt?p=" + format);
-                                sendMagParam.setContent("銆愭柊鍗庡尰闄€�戞偍濂斤紝閭�璇锋偍濉啓鍑洪櫌璋冩煡琛紝璇风偣鍑�" + sendMagParam.getUrl() + "濉啓銆傛劅璋㈡偍閰嶅悎锛�");
+                                if (serviceSubtask.getOrgid().equals("47255004333112711A1001")) {
+                                    sendMagParam.setContent("銆愭櫙瀹佺暡鏃忚嚜娌诲幙浜烘皯鍖婚櫌銆戞偍濂斤紝閭�璇锋偍濉啓鍑洪櫌瀹f暀璋冩煡琛紝璇风偣鍑�" + sendMagParam.getUrl() + "鏌ョ湅銆傛劅璋㈡偍閰嶅悎锛�");
+                                } else if (serviceSubtask.getOrgid().equals("47255004333112711A1001")) {
+                                    sendMagParam.setContent("銆愪附姘翠腑鍖婚櫌銆戞偍濂斤紝閭�璇锋偍濉啓鍑洪櫌瀹f暀璋冩煡琛紝璇风偣鍑�" + sendMagParam.getUrl() + "鏌ョ湅銆傛劅璋㈡偍閰嶅悎锛�");
+                                } else
+                                    sendMagParam.setContent("銆愭柊鍗庡尰闄€�戞偍濂斤紝閭�璇锋偍濉啓鍑洪櫌璋冩煡琛紝璇风偣鍑�" + sendMagParam.getUrl() + "濉啓銆傛劅璋㈡偍閰嶅悎锛�");
                             } else if (type == 3) {
                                 //瀹f暀
                                 ServiceOutPath serviceOutPath = new ServiceOutPath();
@@ -352,7 +363,12 @@
 //                                sendMagParam.setUrl(ip + ":" + req_path + "/outsideChainxj?param1=" + taskId + "&param2=" + patid + "&param3=" + URLEncoder.encode(ivrTask1.getTaskName(), StandardCharsets.UTF_8.toString()) + "&param5=false");
                                 sendMagParam.setPhone(serviceSubtask.getPhone());
                                 sendMagParam.setUrl(ip + ":" + req_path + "/xj?p=" + format);
-                                sendMagParam.setContent("銆愭柊鍗庡尰闄€�戞偍濂斤紝閭�璇锋偍濉啓鍑洪櫌瀹f暀璋冩煡琛紝璇风偣鍑�" + sendMagParam.getUrl() + "鏌ョ湅銆傛劅璋㈡偍閰嶅悎锛�");
+                                if (serviceSubtask.getOrgid().equals("47255004333112711A1001")) {
+                                    sendMagParam.setContent("銆愭櫙瀹佺暡鏃忚嚜娌诲幙浜烘皯鍖婚櫌銆戞偍濂斤紝閭�璇锋偍濉啓鍑洪櫌瀹f暀璋冩煡琛紝璇风偣鍑�" + sendMagParam.getUrl() + "鏌ョ湅銆傛劅璋㈡偍閰嶅悎锛�");
+                                } else if (serviceSubtask.getOrgid().equals("47255004333112711A1001")) {
+                                    sendMagParam.setContent("銆愪附姘翠腑鍖婚櫌銆戞偍濂斤紝閭�璇锋偍濉啓鍑洪櫌瀹f暀璋冩煡琛紝璇风偣鍑�" + sendMagParam.getUrl() + "鏌ョ湅銆傛劅璋㈡偍閰嶅悎锛�");
+                                } else
+                                    sendMagParam.setContent("銆愭柊鍗庡尰闄€�戞偍濂斤紝閭�璇锋偍濉啓鍑洪櫌瀹f暀璋冩煡琛紝璇风偣鍑�" + sendMagParam.getUrl() + "鏌ョ湅銆傛劅璋㈡偍閰嶅悎锛�");
                             }
                             //鐭俊杩橀渶瑕佹ā鏉�
                             String s = null;
@@ -364,10 +380,10 @@
                                 s = HttpUtil.postJsonRequest(xhsmsPath, new Gson().toJson(req));
                             } else if (visitHosp == 2) {
                                 //涓芥按鐨勭煭淇″彂閫佹柟寮�
-                                String address = MsgLSEnum.getAddressByCode(serviceSubtask.getOrgid());
+                                Map<String, String> map = MsgLSEnum.getAddressByCode(serviceSubtask.getOrgid());
                                 String token = LSHospTokenUtil.getToken(serviceSubtask.getOrgid());
-                                log.error("-----------token鐨勫�间负锛歿}",token);
-                                if (StringUtils.isEmpty(address)) {
+                                log.error("-----------token鐨勫�间负锛歿}", token);
+                                if (ObjectUtils.isNotEmpty(map) && StringUtils.isEmpty(map.get("address"))) {
                                     ServiceSubtask ss = new ServiceSubtask();
                                     ss.setResult("error");
                                     ss.setRemark("鐭俊鍙戦�佸け璐�,璇ユ満鏋勬病鏈夐厤缃煭淇″湴鍧�");
@@ -377,8 +393,8 @@
                                     serviceSubtaskMapper.updateServiceSubtask(ss);
                                     continue;
                                 }
-                                log.error("---------mq涓芥按鐭俊鍙戦�佸叆鍙俛ddress锛歿},  sendMagParam:{},  orgid:{}-------", address, sendMagParam, serviceSubtask.getOrgid());
-                                String dxCode = getDXCode(address, sendMagParam.getPhone(), sendMagParam.getContent(), "", "", MsgLSEnum.getHeaderByCode(serviceSubtask.getOrgid()),token);
+                                log.error("---------mq涓芥按鐭俊鍙戦�佸叆鍙俛ddress锛歿},  sendMagParam:{},  orgid:{}-------", map.get("address"), sendMagParam, serviceSubtask.getOrgid());
+                                String dxCode = getDXCode(map.get("address"), sendMagParam.getPhone(), sendMagParam.getContent(), map.get("sendPersonId"), map.get("sendPersonName"), MsgLSEnum.getHeaderByCode(serviceSubtask.getOrgid()), token);
                                 log.error("---------涓芥按鐭俊鍙戦�佺粨鏋滐細{}-------", dxCode);
                                 ObjectMapper objectMapper = new ObjectMapper();
                                 Map<String, Object> textParam = objectMapper.readValue(dxCode, Map.class);
@@ -390,17 +406,28 @@
                                 }
                             }
                             if (s.equals("true")) {
+                                //鍦ㄥ瓙浠诲姟琛ㄩ噷璁板綍涓�涓�
+                                log.error("serviceSubtask淇濆瓨鎴愬姛浜嗗悧锛燂細{}",s);
+                                String uuid = UUID.randomUUID().toString();
+                                serviceSubtask.setResult("success");
+                                serviceSubtask.setRemark("鐭俊鍙戦�佹垚鍔�");
+                                serviceSubtask.setGuid(uuid);
+                                serviceSubtask.setSendstate(3L);
+                                serviceSubtask.setFinishtime(new Date());
+                                serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
+
+                                //浠诲姟鍙戦�佽褰�
                                 ServiceSubtaskRecord serviceSubtaskRecord = new ServiceSubtaskRecord();
                                 serviceSubtaskRecord.setTaskid(serviceSubtask.getTaskid().toString());
                                 serviceSubtaskRecord.setSubtaskId(serviceSubtask.getId());
-                                serviceSubtaskRecord.setUuid(UUID.randomUUID().toString());
+                                serviceSubtaskRecord.setUuid(uuid);
                                 serviceSubtaskRecord.setTasktype(serviceSubtask.getType());
-                                serviceSubtaskRecord.setPreachform("4");
+                                serviceSubtaskRecord.setPreachform("5");
                                 serviceSubtaskRecord.setStartTime(System.currentTimeMillis());
+                                serviceSubtaskRecord.setResult("success");
                                 serviceSubtaskRecord.setRemark("鐭俊鍙戦�佹垚鍔�");
-                                lssubIds.add(serviceSubtask.getId());
                                 serviceSubtaskRecordService.insertServiceSubtaskRecord(serviceSubtaskRecord);
-                                continue;
+                                log.error("serviceSubtaskRecord淇濆瓨鎴愬姛浜嗗悧锛燂細{}",serviceSubtaskRecord);
                             }
                         } catch (Exception e) {
                             ServiceSubtaskRecord serviceSubtaskRecord = new ServiceSubtaskRecord();
@@ -418,26 +445,7 @@
                             continue;
                         }
 
-                        //鍦ㄥ瓙浠诲姟琛ㄩ噷璁板綍涓�涓�
-                        String uuid = UUID.randomUUID().toString();
-                        serviceSubtask.setResult("success");
-                        serviceSubtask.setRemark("鐭俊鍙戦�佹垚鍔�");
-                        serviceSubtask.setGuid(uuid);
-                        serviceSubtask.setSendstate(3L);
-                        serviceSubtask.setFinishtime(new Date());
-                        serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
 
-                        //浠诲姟鍙戦�佽褰�
-                        ServiceSubtaskRecord serviceSubtaskRecord = new ServiceSubtaskRecord();
-                        serviceSubtaskRecord.setTaskid(serviceSubtask.getTaskid().toString());
-                        serviceSubtaskRecord.setSubtaskId(serviceSubtask.getId());
-                        serviceSubtaskRecord.setUuid(uuid);
-                        serviceSubtaskRecord.setTasktype(serviceSubtask.getType());
-                        serviceSubtaskRecord.setPreachform("5");
-                        serviceSubtaskRecord.setStartTime(System.currentTimeMillis());
-                        serviceSubtaskRecord.setResult("success");
-                        serviceSubtaskRecord.setRemark("鐭俊鍙戦�佹垚鍔�");
-                        serviceSubtaskRecordService.insertServiceSubtaskRecord(serviceSubtaskRecord);
                     }
                     if (CollectionUtils.isEmpty(lssubIds)) {
                         //濡傛灉鈥滀复鏃跺瓙浠诲姟鈥濅负绌猴紝璇存槑鍏ㄥ彂閫佸畬浜�
@@ -706,7 +714,7 @@
     }
 
 
-    private String getDXCode(String address, String ShouJiHM, String FaSongNR, String FaSongRID, String FaSongRXM, Map<String, Object> headerMap,String token) {
+    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<>();
 
         Map<String, Object> YeWuXX = new LinkedHashMap<>();
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/test/MQTest.java b/ruoyi-admin/src/main/java/com/ruoyi/web/test/MQTest.java
index 619c540..1a2ce25 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/test/MQTest.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/test/MQTest.java
@@ -1,9 +1,11 @@
 package com.ruoyi.web.test;
 
+import com.alibaba.fastjson2.JSONObject;
 import com.ruoyi.common.config.RuoYiConfig;
 import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.utils.file.FileUploadUtils;
 import com.ruoyi.common.utils.file.FileUtils;
+import com.ruoyi.common.utils.http.HttpUtils;
 import com.smartor.domain.ServiceSubtaskDetail;
 import com.smartor.domain.ThiedInhospInfo;
 import io.swagger.models.auth.In;
@@ -16,7 +18,9 @@
 import java.nio.file.Files;
 import java.security.MessageDigest;
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 import java.util.concurrent.CompletableFuture;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
@@ -50,8 +54,9 @@
 
     @Test
     public void bb() {
-        int i = 61 /60;
-        System.out.println(i);
+        String wxCode="{\"code\":\"0\",\"succ\":true}";
+        Map<String, Object> map = JSONObject.parseObject(wxCode, Map.class);
+        System.out.println(map);
     }
 
     public void aa(MultipartFile file) throws IOException {
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/test/SqlCleanerWithComment.java b/ruoyi-admin/src/main/java/com/ruoyi/web/test/SqlCleanerWithComment.java
new file mode 100644
index 0000000..78d630f
--- /dev/null
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/test/SqlCleanerWithComment.java
@@ -0,0 +1,116 @@
+package com.ruoyi.web.test;
+
+import java.io.*;
+import java.nio.charset.StandardCharsets;
+import java.nio.file.*;
+import java.util.*;
+import java.util.regex.*;
+
+public class SqlCleanerWithComment {
+    public static void main(String[] args) {
+        String inputFilePath = "C:\\Users\\86176\\Desktop\\smartor_lisui_jg.sql";   // 鍘熷 MySQL 寤鸿〃鏂囦欢
+        String outputFilePath = "C:\\Users\\86176\\Desktop\\smartor_lisui_jg_gs.sql"; // 杈撳嚭 openGauss 鍏煎寤鸿〃鏂囦欢
+
+        try {
+            // 璇诲彇 SQL 鏂囦欢鍐呭锛堝吋瀹� JDK 8锛�
+            String originalSql = new String(Files.readAllBytes(Paths.get(inputFilePath)), StandardCharsets.UTF_8);
+
+            // 鑾峰彇琛ㄥ悕
+            String tableName = getTableName(originalSql);
+
+            // 鎻愬彇 COMMENT 瀛楁娉ㄩ噴
+            Map<String, String> fieldComments = extractFieldComments(originalSql);
+
+            // 鎻愬彇 AUTO_INCREMENT = <鏁板瓧> 鐨勫��
+            Pattern autoIncrementPattern = Pattern.compile("AUTO_INCREMENT = (\\d+)");
+            Matcher matcher = autoIncrementPattern.matcher(originalSql);
+            String autoIncrementValue = null;
+            if (matcher.find()) {
+                autoIncrementValue = matcher.group(1);  // 鑾峰彇 AUTO_INCREMENT 鍚庣殑鏁板瓧
+            }
+
+            // 娓呯悊 MySQL 璇硶鐗规�э細瀛楁灏鹃儴灞炴��
+            String cleanedSql = originalSql
+                    .replaceAll("(CHARACTER SET\\s+\\w+|COLLATE\\s+\\w+|DEFAULT\\s+[^,\\n]+|COMMENT\\s+'.*?')", "")
+                    .replaceAll("\\s+NULL(?!\\s|,)", "")
+                    .replaceAll("\\s{2,}", " ")
+                    .replaceAll(",\\s*\\)", "\n)")
+                    .replaceAll("(?i)ENGINE\\s*=\\s*\\w+", "")
+                    .replaceAll("(?i)CHARACTER SET\\s*=\\s*\\w+", "")
+                    .replaceAll("(?i)COLLATE\\s*=\\s*\\w+", "")
+                    .replaceAll("(?i)COMMENT\\s*=\\s*'.*?'", "")
+                    .replaceAll("(?i)ROW_FORMAT\\s*=\\s*\\w+", "")
+                    .replaceAll("(?i)\\bdatetime\\b", "timestamp")
+                    .replaceAll("(?i)\\btinyint\\b", "smallint")  // 鏇挎崲 tinyint
+                    .replaceAll("AUTO_INCREMENT = \\d+", "")
+                    .replaceAll("USING BTREE", "")
+                    .replaceAll("longtext", "text")
+                    .replaceAll("(?i)(CREATE TABLE)\\s+`([a-zA-Z_][a-zA-Z0-9_]*)`", "$1 \"public\".\"$2\"") // 鍙湪琛ㄥ悕涓婂姞 "public"
+                    .replaceAll("`", "\"")
+                    .trim();
+
+            // 鏋勯�� COMMENT ON COLUMN 璇彞
+            StringBuilder commentSql = new StringBuilder();
+            for (Map.Entry<String, String> entry : fieldComments.entrySet()) {
+                commentSql.append(String.format(
+                        "COMMENT ON COLUMN \"%s\".\"%s\" IS '%s';\n",
+                        tableName, entry.getKey(), entry.getValue()
+                ));
+            }
+
+            // 鏇挎崲 SERIAL 鐨勮嚜澧炲瓧娈碉紝纭繚 openGauss 鐨勫吋瀹规��
+            cleanedSql = cleanedSql.replaceAll("int NOT NULL AUTO_INCREMENT", "SERIAL NOT NULL");
+
+            // 濡傛灉鎵惧埌浜� AUTO_INCREMENT 鍊硷紝娣诲姞 ALTER SEQUENCE 鏉ヨ缃嚜澧炶捣濮嬪��
+            if (autoIncrementValue != null) {
+                cleanedSql += "\n\n-- Adjust the sequence for 'id' field starting value\n";
+                cleanedSql += "ALTER SEQUENCE ivr_liba_template_id_seq RESTART WITH " + autoIncrementValue + ";";
+            }
+
+            // 鎻愬彇骞剁Щ闄� INDEX 瀛愬彞锛堝寘鎷� ASC/DESC/USING BTREE 绛夛級
+            Pattern indexPattern = Pattern.compile("INDEX\\s+\"(\\w+)\"\\s*\\(\\s*\"(\\w+)\"(?:\\s+(ASC|DESC))?\\s*\\)", Pattern.CASE_INSENSITIVE);
+            Matcher indexMatcher = indexPattern.matcher(originalSql);
+            StringBuilder indexStatements = new StringBuilder();
+
+            while (indexMatcher.find()) {
+                String indexName = indexMatcher.group(1);
+                String columnName = indexMatcher.group(2);
+                // 绉婚櫎 ASC/DESC锛岀洿鎺ヤ娇鐢ㄥ垪鍚嶅垱寤虹储寮�
+                indexStatements.append("CREATE INDEX ")
+                        .append(indexName)
+                        .append("_idx ON \"public\".\"")
+                        .append(tableName)
+                        .append("\" (\"")
+                        .append(columnName)
+                        .append("\");\n");
+            }
+
+            // 鍚堝苟寤鸿〃璇彞 + 娉ㄩ噴璇彞 + 绱㈠紩璇彞
+            String finalOutput = cleanedSql + "\n\n" + commentSql.toString() + indexStatements.toString();
+
+            // 鍐欏叆杈撳嚭鏂囦欢
+            Files.write(Paths.get(outputFilePath), finalOutput.getBytes(StandardCharsets.UTF_8));
+            System.out.println("鉁� 杞崲瀹屾垚锛佽緭鍑烘枃浠朵负锛�" + outputFilePath);
+        } catch (IOException e) {
+            System.err.println("鉂� 鏂囦欢璇诲彇/鍐欏叆澶辫触: " + e.getMessage());
+        }
+    }
+
+    // 鎻愬彇琛ㄥ悕
+    private static String getTableName(String sql) {
+        Pattern pattern = Pattern.compile("CREATE TABLE\\s+\"[^\"]+\"\\.\"([^\"]+)\"", Pattern.CASE_INSENSITIVE);
+        Matcher matcher = pattern.matcher(sql);
+        return matcher.find() ? matcher.group(1) : "unknown_table";
+    }
+
+    // 鎻愬彇瀛楁娉ㄩ噴
+    private static Map<String, String> extractFieldComments(String sql) {
+        Map<String, String> comments = new LinkedHashMap<>();
+        Pattern pattern = Pattern.compile("\"(\\w+)\"\\s+\\w+(\\([^)]*\\))?[^\\n]*?COMMENT\\s+'([^']+)'", Pattern.CASE_INSENSITIVE);
+        Matcher matcher = pattern.matcher(sql);
+        while (matcher.find()) {
+            comments.put(matcher.group(1), matcher.group(3));
+        }
+        return comments;
+    }
+}
diff --git a/ruoyi-admin/src/main/resources/application-druid.yml b/ruoyi-admin/src/main/resources/application-druid.yml
index afc6c72..0d58ebf 100644
--- a/ruoyi-admin/src/main/resources/application-druid.yml
+++ b/ruoyi-admin/src/main/resources/application-druid.yml
@@ -24,10 +24,10 @@
         #        driverClassName: com.mysql.cj.jdbc.Driver
 
         #  鍏徃浜�
-#        url: jdbc:mysql://116.62.18.175:6002/smartor_lisui?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
-#        username: hxsoft
-#        password: Hxerp2000
-#        driverClassName: com.mysql.cj.jdbc.Driver
+      #        url: jdbc:mysql://116.62.18.175:6002/smartor_lisui?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
+      #        username: hxsoft
+      #        password: Hxerp2000
+      #        driverClassName: com.mysql.cj.jdbc.Driver
 
       # 浠庡簱鏁版嵁婧�
       slave:
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/enums/MsgLSEnum.java b/ruoyi-common/src/main/java/com/ruoyi/common/enums/MsgLSEnum.java
index 187782b..b5caa6b 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/enums/MsgLSEnum.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/enums/MsgLSEnum.java
@@ -16,19 +16,23 @@
  * XiaoXiMC    鐭俊鍙戦��
  */
 public enum MsgLSEnum {
-    ZYY("47231022633110211A2101", "https://9.0.124.104:13011/mediinfo-grus-fuwuzxwg/api/esb/lyraAsyncRun", "1400360867068907520", "涓芥按甯備腑鍖婚櫌"),
-    JN("47255004333112711A1001", null, "1400361376454545408", "鏅畞鐣叉棌鑷不鍘夸汉姘戝尰闄�");
+    ZYY("47231022633110211A2101", "https://9.0.124.104:13011/mediinfo-grus-fuwuzxwg/api/esb/lyraAsyncRun", "1400360867068907520", "涓芥按甯備腑鍖婚櫌", "2361", "閮戠弽鎱�"),
+    JN("47255004333112711A1001", null, "1400361376454545408", "鏅畞鐣叉棌鑷不鍘夸汉姘戝尰闄�", "", "");
 
     private String orgid;
     private String address;
     private String ZuHuID;
     private String ZuHuMC;
+    private String sendPersonId;
+    private String sendPersonName;
 
-    MsgLSEnum(String orgid, String address, String ZuHuID, String ZuHuMC) {
+    MsgLSEnum(String orgid, String address, String ZuHuID, String ZuHuMC, String sendPersonId, String sendPersonName) {
         this.orgid = orgid;
         this.ZuHuID = ZuHuID;
         this.ZuHuMC = ZuHuMC;
         this.address = address;
+        this.sendPersonId = sendPersonId;
+        this.sendPersonName = sendPersonName;
     }
 
     public static Map<String, Object> getHeaderByCode(String orgid) {
@@ -58,12 +62,16 @@
         return map;
     }
 
-    public static String getAddressByCode(String orgid) {
+    public static Map<String, String> getAddressByCode(String orgid) {
         MsgLSEnum[] organEnums = values();
+        Map<String, String> map = new HashMap<>();
         for (int i = 0; i < organEnums.length; i++) {
             MsgLSEnum organEnum = organEnums[i];
             if (organEnum.getOrgid().equals(orgid)) {
-                return organEnum.getAddress();
+                map.put("address", organEnum.getAddress());
+                map.put("sendPersonId", organEnum.getSendPersonId());
+                map.put("sendPersonName", organEnum.getSendPersonName());
+                return map;
             }
         }
         return null;
@@ -101,5 +109,19 @@
         ZuHuMC = zuHuMC;
     }
 
+    public String getSendPersonId() {
+        return sendPersonId;
+    }
 
+    public void setSendPersonId(String sendPersonId) {
+        this.sendPersonId = sendPersonId;
+    }
+
+    public String getSendPersonName() {
+        return sendPersonName;
+    }
+
+    public void setSendPersonName(String sendPersonName) {
+        this.sendPersonName = sendPersonName;
+    }
 }
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 c6478e7..e253663 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
@@ -484,9 +484,9 @@
                                     isSuccess = HttpUtil.postJsonRequest(xhsmsPath, new Gson().toJson(req));
                                 } else if (visitHosp == 2) {
                                     //涓芥按鐨勭煭淇″彂閫佹柟寮�
-                                    String address = MsgLSEnum.getAddressByCode(serviceSubtask.getOrgid());
+                                    Map<String, String> map = MsgLSEnum.getAddressByCode(serviceSubtask.getOrgid());
                                     String token = LSHospTokenUtil.getToken(serviceSubtask.getOrgid());
-                                    if (StringUtils.isEmpty(address)) {
+                                    if (ObjectUtils.isNotEmpty(map) && StringUtils.isEmpty(map.get("address"))) {
                                         ServiceSubtask ss = new ServiceSubtask();
                                         ss.setResult("error");
                                         ss.setRemark("鐭俊鍙戦�佸け璐�,璇ユ満鏋勬病鏈夐厤缃煭淇″湴鍧�");
@@ -496,8 +496,8 @@
                                         serviceSubtaskMapper.updateServiceSubtask(ss);
                                         continue;
                                     }
-                                    log.error("---------涓芥按鐭俊鍙戦�佸叆鍙俛ddress锛歿},  sendMagParam:{},  orgid:{}-------", address,sendMagParam,serviceSubtask.getOrgid());
-                                    String dxCode = getDXCode(address, sendMagParam.getPhone(), sendMagParam.getContent(), "", "", MsgLSEnum.getHeaderByCode(serviceSubtask.getOrgid()),token);
+                                    log.error("---------涓芥按鐭俊鍙戦�佸叆鍙俛ddress锛歿},  sendMagParam:{},  orgid:{}-------", map.get("address"), sendMagParam, serviceSubtask.getOrgid());
+                                    String dxCode = getDXCode(map.get("address"), sendMagParam.getPhone(), sendMagParam.getContent(), map.get("sendPersonId"), map.get("sendPersonName"), MsgLSEnum.getHeaderByCode(serviceSubtask.getOrgid()), token);
                                     log.error("---------涓芥按鐭俊鍙戦�佺粨鏋滐細{}-------", dxCode);
                                     ObjectMapper objectMapper = new ObjectMapper();
                                     Map<String, Object> textParam = objectMapper.readValue(dxCode, Map.class);
@@ -846,7 +846,7 @@
         return key;
     }
 
-    private String getDXCode(String address, String ShouJiHM, String FaSongNR, String FaSongRID, String FaSongRXM, Map<String, Object> headerMap,String token) {
+    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<>();
 
         Map<String, Object> YeWuXX = new LinkedHashMap<>();
diff --git a/smartor/src/main/java/com/smartor/mapper/PatMedOuthospMapper.java b/smartor/src/main/java/com/smartor/mapper/PatMedOuthospMapper.java
index c5e0a27..ddd332c 100644
--- a/smartor/src/main/java/com/smartor/mapper/PatMedOuthospMapper.java
+++ b/smartor/src/main/java/com/smartor/mapper/PatMedOuthospMapper.java
@@ -64,4 +64,6 @@
     public int deletePatMedOuthospByIds(Long[] ids);
 
     PatMedRes selectPatMedOuthospCount(PatMedReq patMedReq);
+
+    public List<PatMedRes> getDeptRanking(PatMedReq patMedReq);
 }
diff --git a/smartor/src/main/java/com/smartor/mapper/ServiceSubtaskMapper.java b/smartor/src/main/java/com/smartor/mapper/ServiceSubtaskMapper.java
index 333713d..5a6356a 100644
--- a/smartor/src/main/java/com/smartor/mapper/ServiceSubtaskMapper.java
+++ b/smartor/src/main/java/com/smartor/mapper/ServiceSubtaskMapper.java
@@ -1,9 +1,6 @@
 package com.smartor.mapper;
 
-import com.smartor.domain.ServiceSubtask;
-import com.smartor.domain.ServiceSubtaskCount;
-import com.smartor.domain.ServiceSubtaskCountReq;
-import com.smartor.domain.ServiceSubtaskVO;
+import com.smartor.domain.*;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
@@ -78,4 +75,6 @@
 
     public List<ServiceSubtask> getSfStatistics(ServiceSubtaskCountReq serviceSubtaskCountReq);
 
+    public List<PatMedRes> getDeptRanking(PatMedReq patMedReq);
+
 }
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 93d6c7f..6e325ed 100644
--- a/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
@@ -482,7 +482,7 @@
     @Override
     public List<PatMedRes> getDeptRanking(PatMedReq patMedReq) {
 
-        return patMedInhospMapper.getDeptRanking(patMedReq);
+        return serviceSubtaskMapper.getDeptRanking(patMedReq);
     }
 
     @Override
diff --git a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskAnswerServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskAnswerServiceImpl.java
index 6050ec9..43f79a7 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskAnswerServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskAnswerServiceImpl.java
@@ -364,11 +364,11 @@
 
         //鑾峰彇涓婃鐨勯棶绛旂粨鏋�
         ServiceSubtask serviceSubtask = serviceSubtaskMapper.selectServiceSubtaskById(serviceSubTaskQueryReq.getSubId());
+        map.put("upScriptResult", null);
+        map.put("upTaskName", null);
         if (ObjectUtils.isNotEmpty(serviceSubtask) && serviceSubtask.getUpid() != null) {
             Map<String, Object> scriptInfoByCondition2 = serviceTaskService.getScriptInfoByCondition(serviceSubTaskQueryReq.getTaskid(), serviceSubTaskQueryReq.getPatid(), serviceSubTaskQueryReq.getIsFinish(), serviceSubTaskQueryReq.getPatfrom());
             Map<String, Object> map1 = getMap(scriptInfoByCondition2, Long.valueOf(serviceSubtask.getUpid()), serviceSubTaskQueryReq.getPatid());
-            map.put("upScriptResult", null);
-            map.put("upTaskName", null);
             if (!map1.isEmpty()) {
                 map.put("upScriptResult", map1.get("scriptResult"));
                 map.put("upTaskName", map1.get("taskName"));
diff --git a/smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml b/smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml
index 053c52c..04266b6 100644
--- a/smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml
@@ -646,7 +646,7 @@
             FROM pat_med_outhosp
             <where>
                 del_flag=0
-                <if test="deptcodeList != null">
+                <if test="deptcodeList != null   and deptcodeList.size() > 0">
                     and deptcode in
                     <foreach collection="deptcodeList" item="deptcode" open="(" separator="," close=")">
                         #{deptcode}
@@ -663,7 +663,7 @@
             <where>
                 del_flag=0
                 and inhospstate=0
-                <if test="deptcodeList != null">
+                <if test="deptcodeList != null   and deptcodeList.size() > 0">
                     and deptcode in
                     <foreach collection="deptcodeList" item="deptcode" open="(" separator="," close=")">
                         #{deptcode}
@@ -678,7 +678,7 @@
             <where>
                 del_flag=0
                 and inhospstate=1
-                <if test="deptcodeList != null">
+                <if test="deptcodeList != null   and deptcodeList.size() > 0">
                     and deptcode in
                     <foreach collection="deptcodeList" item="deptcode" open="(" separator="," close=")">
                         #{deptcode}
@@ -693,7 +693,7 @@
             <where>
                 del_flag=0
                 and inhospstate=1
-                <if test="deptcodeList != null">
+                <if test="deptcodeList != null   and deptcodeList.size() > 0">
                     and deptcode in
                     <foreach collection="deptcodeList" item="deptcode" open="(" separator="," close=")">
                         #{deptcode}
@@ -703,8 +703,6 @@
         </if>
         ) AS combined
         GROUP BY deptname;
-
-
     </select>
     <select id="selectPatMedInhospCount" parameterType="com.smartor.domain.PatMedReq"
             resultType="com.smartor.domain.PatMedRes">
@@ -725,7 +723,7 @@
                 and date_format(endtime,'%y%m%d') &gt;= date_format(#{startDate},'%y%m%d')
                 and date_format(endtime,'%y%m%d') &lt;= date_format(#{endDate},'%y%m%d')
             </if>
-            <if test="deptcodeList != null">
+            <if test="deptcodeList != null   and deptcodeList.size() > 0">
                 and deptcode in
                 <foreach collection="deptcodeList" item="deptcode" open="(" separator="," close=")">
                     #{deptcode}
diff --git a/smartor/src/main/resources/mapper/smartor/PatMedOuthospMapper.xml b/smartor/src/main/resources/mapper/smartor/PatMedOuthospMapper.xml
index 71fa63d..7d6c976 100644
--- a/smartor/src/main/resources/mapper/smartor/PatMedOuthospMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/PatMedOuthospMapper.xml
@@ -279,7 +279,24 @@
             del_flag=0
             and date_format(admitdate,'%y%m%d') &gt;= date_format(#{startDate},'%y%m%d')
             and date_format(admitdate,'%y%m%d') &lt;= date_format(#{endDate},'%y%m%d')
-            <if test="deptcodeList != null">
+            <if test="deptcodeList != null and deptcodeList.size()>0">
+                and deptcode in
+                <foreach collection="deptcodeList" item="deptcode" open="(" separator="," close=")">
+                    #{deptcode}
+                </foreach>
+            </if>
+        </where>
+    </select>
+
+    <select id="getDeptRanking" parameterType="com.smartor.domain.PatMedReq" resultType="com.smartor.domain.PatMedRes">
+        SELECT deptname, COUNT(1) AS rc
+        FROM pat_med_outhosp
+        <where>
+            del_flag=0
+            <if test="inhospstate != inhospstate">
+                and inhospstate= #{inhospstate}
+            </if>
+            <if test="deptcodeList != null and deptcodeList.size()>0">
                 and deptcode in
                 <foreach collection="deptcodeList" item="deptcode" open="(" separator="," close=")">
                     #{deptcode}
diff --git a/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml b/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
index 0b716a3..c8d9fb7 100644
--- a/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
@@ -984,4 +984,13 @@
             month, st.service_type, st.id;
     </select>
 
+    <select id="getDeptRanking" parameterType="com.smartor.domain.PatMedReq" resultType="com.smartor.domain.PatMedRes">
+        SELECT deptname,
+               count(1) AS rc
+        FROM service_subtask
+        WHERE DATE_FORMAT(finishtime, '%Y-%m-%d') >= #{startDate}
+          AND DATE_FORMAT(finishtime, '%Y-%m-%d') &lt;= #{endDate}
+        GROUP BY deptname
+    </select>
+
 </mapper>

--
Gitblit v1.9.3