liusheng
8 天以前 9cc2f53b11205309754c2451be061ef5fc337f32
代码提交
已添加1个文件
已修改12个文件
302 ■■■■ 文件已修改
ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java 72 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/test/MQTest.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/test/SqlCleanerWithComment.java 116 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/resources/application-druid.yml 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/src/main/java/com/ruoyi/common/enums/MsgLSEnum.java 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/mapper/PatMedOuthospMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/mapper/ServiceSubtaskMapper.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskAnswerServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/resources/mapper/smartor/PatMedOuthospMapper.xml 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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("【景宁畲族自治县人民医院】您好,邀请您填写出院宣教调查表,请点击" + sendMagParam.getUrl() + "查看。感谢您配合!");
                                } else if (serviceSubtask.getOrgid().equals("47255004333112711A1001")) {
                                    sendMagParam.setContent("【丽水中医院】您好,邀请您填写出院宣教调查表,请点击" + 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("【景宁畲族自治县人民医院】您好,邀请您填写出院宣教调查表,请点击" + sendMagParam.getUrl() + "查看。感谢您配合!");
                                } else if (serviceSubtask.getOrgid().equals("47255004333112711A1001")) {
                                    sendMagParam.setContent("【丽水中医院】您好,邀请您填写出院宣教调查表,请点击" + sendMagParam.getUrl() + "查看。感谢您配合!");
                                } else
                                    sendMagParam.setContent("【新华医院】您好,邀请您填写出院调查表,请点击" + sendMagParam.getUrl() + "填写。感谢您配合!");
                            } else if (type == 3) {
                                //宣教
                                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("【新华医院】您好,邀请您填写出院宣教调查表,请点击" + sendMagParam.getUrl() + "查看。感谢您配合!");
                                if (serviceSubtask.getOrgid().equals("47255004333112711A1001")) {
                                    sendMagParam.setContent("【景宁畲族自治县人民医院】您好,邀请您填写出院宣教调查表,请点击" + sendMagParam.getUrl() + "查看。感谢您配合!");
                                } else if (serviceSubtask.getOrgid().equals("47255004333112711A1001")) {
                                    sendMagParam.setContent("【丽水中医院】您好,邀请您填写出院宣教调查表,请点击" + sendMagParam.getUrl() + "查看。感谢您配合!");
                                } else
                                    sendMagParam.setContent("【新华医院】您好,邀请您填写出院宣教调查表,请点击" + 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丽水短信发送入参address:{},  sendMagParam:{},  orgid:{}-------", address, sendMagParam, serviceSubtask.getOrgid());
                                String dxCode = getDXCode(address, sendMagParam.getPhone(), sendMagParam.getContent(), "", "", MsgLSEnum.getHeaderByCode(serviceSubtask.getOrgid()),token);
                                log.error("---------mq丽水短信发送入参address:{},  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<>();
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 {
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;
    }
}
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:
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;
    }
}
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("---------丽水短信发送入参address:{},  sendMagParam:{},  orgid:{}-------", address,sendMagParam,serviceSubtask.getOrgid());
                                    String dxCode = getDXCode(address, sendMagParam.getPhone(), sendMagParam.getContent(), "", "", MsgLSEnum.getHeaderByCode(serviceSubtask.getOrgid()),token);
                                    log.error("---------丽水短信发送入参address:{},  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<>();
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);
}
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);
}
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
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"));
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}
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}
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>