From 27df1079c1d230fab29f565f5209f2a02e0def8a Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期一, 20 七月 2026 16:56:51 +0800
Subject: [PATCH] 省立同德的功能

---
 ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java |  214 ++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 155 insertions(+), 59 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 49bc650..b9a4adb 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
@@ -21,9 +21,12 @@
 import com.ruoyi.common.utils.sign.Md5Utils;
 import com.ruoyi.common.utils.sms.smsUtils;
 import com.ruoyi.system.domain.SysConfig;
+import com.ruoyi.system.mapper.SysConfigMapper;
 import com.ruoyi.system.service.ISysConfigService;
 import com.smartor.common.LSHospTokenUtil;
+import com.smartor.common.MtSubmitSmUtil;
 import com.smartor.domain.*;
+import com.smartor.domain.entity.ServiceSubtaskEntity;
 import com.smartor.mapper.*;
 import com.smartor.service.IBaseSmsaccountService;
 import com.smartor.service.IServiceOutPathService;
@@ -39,6 +42,7 @@
 import org.springframework.stereotype.Component;
 
 import java.io.IOException;
+import java.net.URLEncoder;
 import java.security.MessageDigest;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
@@ -107,6 +111,9 @@
 
     @Value("${xhsmsPwd}")
     private String xhsmsPwd;
+    // 铏氭嫙鎺ュ叆鐮�
+    @Value("${xhsmsjrm}")
+    private String xhsmsjrm;
 
     @Value("${server.port}")
     private String port;
@@ -115,10 +122,12 @@
     private String active;
 
     @Autowired
-    private ISysConfigService configService;
+    private MtSubmitSmUtil mtSubmitSmUtil;
 
-    // 鍒涘缓鍥哄畾澶у皬鐨勭嚎绋嬫睜
-    private static final ExecutorService executorService = Executors.newFixedThreadPool(10);
+    @Autowired
+    private ISysConfigService configService;
+    @Autowired
+    private SysConfigMapper sysConfigMapper;
 
     public RedisMqReceiver(RedisMessageListenerContainer listenerContainer) {
         super(listenerContainer);
@@ -151,12 +160,12 @@
             ServiceTask serviceTask = new ServiceTask();
             serviceTask.setTaskid(Long.valueOf(commonTaskcallMQ.getTaskid()));
 
-            //鍦ㄩ棶鍗蜂腑锛岄�変腑鏌愪釜閫夐」瑕佽繘琛屾湇鍔¤ˉ鍋挎椂锛屽彧鏄�熺敤璇ユ湇鍔$殑澶栧3锛屼笉瀵硅鏈嶅姟鏈変换鍔″奖鍝�
-            if (commonTaskcallMQ.getUpdateSendstate() == null || commonTaskcallMQ.getUpdateSendstate() == 1) {
-                serviceTask.setSendState(5L);
-                serviceTask.setFail(1L);
-                serviceTaskMapper.updateServiceTask(serviceTask);
-            }
+//            //鍦ㄩ棶鍗蜂腑锛岄�変腑鏌愪釜閫夐」瑕佽繘琛屾湇鍔¤ˉ鍋挎椂锛屽彧鏄�熺敤璇ユ湇鍔$殑澶栧3锛屼笉瀵硅鏈嶅姟鏈変换鍔″奖鍝�
+//            if (commonTaskcallMQ.getUpdateSendstate() == null || commonTaskcallMQ.getUpdateSendstate() == 1) {
+//                serviceTask.setSendState(5L);
+//                serviceTask.setFail(1L);
+//                serviceTaskMapper.updateServiceTask(serviceTask);
+//            }
         } catch (Exception e) {
             Integer integer = redisCache.getCacheObject(commonTaskcallMQ.getTaskid().toString());
             if (integer != null && integer == 3) {
@@ -177,7 +186,7 @@
     }
 
     /**
-     * 浠诲姟澶勭悊
+     * 浠诲姟澶勭悊 鍗曟闅忚
      *
      * @param commonTaskcallMQ
      */
@@ -187,7 +196,7 @@
         ServiceTask ivrTask1 = ivrTaskMapper.selectServiceTaskByTaskid(commonTaskcallMQ.getTaskid());
 
         //閫氳繃浠诲姟ID鎷垮埌鎮h�呬俊鎭�
-        ServiceSubtaskVO serviceSubtaskVO = new ServiceSubtaskVO();
+        ServiceSubtaskEntity serviceSubtaskVO = new ServiceSubtaskEntity();
         serviceSubtaskVO.setTaskid(commonTaskcallMQ.getTaskid());
         serviceSubtaskVO.setSendstate(2L);
         List<ServiceSubtask> selectServiceSubtaskList = ivrTaskcallMapper.selectServiceSubtaskList(serviceSubtaskVO);
@@ -300,21 +309,33 @@
                         serviceOutPath.setParam2(patid);
                         serviceOutPath.setParam6(subId);
                         serviceOutPath.setCreateTime(new Date());
+                        serviceOutPath.setOrgid(serviceSubtask.getOrgid());
+                        serviceOutPath.setDeptCode(serviceSubtask.getDeptcode());
+                        serviceOutPath.setWardCode(serviceSubtask.getLeavehospitaldistrictcode());
+                        serviceOutPath.setDeptName(serviceSubtask.getDeptname());
+                        serviceOutPath.setWardName(serviceSubtask.getLeavehospitaldistrictname());
                         iServiceOutPathService.insertServiceOutPath(serviceOutPath);
 //                                sendMagParam.setUrl(ip + ":" + req_path + "/followvisit/particty?param1=" + taskId + "&param2=" + patid + "&param5=false");
                         //杞垚16杩涘埗
                         String format = String.format("%03X", serviceOutPath.getId());
                         serviceOutPath.setRadix(format);
                         serviceOutPath.setUpdateTime(new Date());
+                        serviceOutPath.setUrl(ip + ":" + req_path + "/sf?p=" + format);
                         iServiceOutPathService.updateServiceOutPath(serviceOutPath);
                         sendMagParam.setPhone(serviceSubtask.getPhone());
                         sendMagParam.setUrl(ip + ":" + req_path + "/sf?p=" + format);
-                        if (active.equals("ls") || active.equals("sltd")) {
-                            sendMagParam.setContent("鎮ㄥソ锛岄個璇锋偍濉啓鍑洪櫌闅忚璋冩煡琛紝璇风偣鍑�" + sendMagParam.getUrl() + "鏌ョ湅銆傛劅璋㈡偍閰嶅悎锛�");
-                        } else if (active.equals("xh")) {
-                            sendMagParam.setContent("銆愭柊鍗庡尰闄€�戞偍濂斤紝閭�璇锋偍濉啓鍑洪櫌闅忚璋冩煡琛紝璇风偣鍑�" + sendMagParam.getUrl() + "濉啓銆傛劅璋㈡偍閰嶅悎锛�");
-                        } else if (active.equals("hzszlyy")) {
-                            sendMagParam.setContent("銆愭澀宸炲競鑲跨槫鍖婚櫌銆戞偍濂斤紝閭�璇锋偍濉啓鍑洪櫌璋冩煡琛紝璇风偣鍑�" + sendMagParam.getUrl() + "濉啓銆傛劅璋㈡偍閰嶅悎锛�");
+                        SysConfig sysConfig = new SysConfig();
+                        if (StringUtils.isNotEmpty(serviceSubtask.getServiceType()) && serviceSubtask.getServiceType().equals("6")) {
+                            sysConfig = sysConfigMapper.checkConfigKeyUnique("zymyd.sms.template");
+                        } else if (StringUtils.isNotEmpty(serviceSubtask.getServiceType()) && serviceSubtask.getServiceType().equals("14")) {
+                            sysConfig = sysConfigMapper.checkConfigKeyUnique("mzmyd.sms.template");
+                        } else {
+                            sysConfig = sysConfigMapper.checkConfigKeyUnique("wj.sms.template");
+                        }
+                        if (!Objects.isNull(sysConfig)) {
+                            String smsContemt = sysConfig.getConfigValue();
+//                          sendMagParam.setContent("鎮ㄥソ锛岄個璇锋偍濉啓鍑洪櫌闅忚璋冩煡琛紝璇风偣鍑�" + sendMagParam.getUrl() + "鏌ョ湅銆傛劅璋㈡偍閰嶅悎锛�");
+                            sendMagParam.setContent(smsContemt.replace("${wjurl}", sendMagParam.getUrl()));
                         }
 
                     } else if (type == 2) {
@@ -326,26 +347,37 @@
 //                                serviceOutPath.setParam3(URLEncoder.encode(ivrTask1.getTaskName(), StandardCharsets.UTF_8.toString()));
                         serviceOutPath.setParam3(ivrTask1.getTaskName());
                         serviceOutPath.setCreateTime(new Date());
+                        serviceOutPath.setOrgid(serviceSubtask.getOrgid());
+                        serviceOutPath.setDeptCode(serviceSubtask.getDeptcode());
+                        serviceOutPath.setWardCode(serviceSubtask.getLeavehospitaldistrictcode());
+                        serviceOutPath.setDeptName(serviceSubtask.getDeptname());
+                        serviceOutPath.setWardName(serviceSubtask.getLeavehospitaldistrictname());
                         iServiceOutPathService.insertServiceOutPath(serviceOutPath);
                         String format = String.format("%03X", serviceOutPath.getId());
                         serviceOutPath.setRadix(format);
                         serviceOutPath.setUpdateTime(new Date());
+                        serviceOutPath.setUrl(StringUtils.isNotEmpty(req_path) ? ip + ":" + req_path + "/wt?p=" + format : ip + "/wt?p=" + format);
                         iServiceOutPathService.updateServiceOutPath(serviceOutPath);
 //                                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.setUrl(StringUtils.isNotEmpty(req_path) ? ip + ":" + req_path + "/wt?p=" + format : ip + "/wt?p=" + format);
                         log.info("sendMagParam鐨勫�间负锛歿}", sendMagParam);
                         //濡傛灉type鏄闊抽殢璁跨殑璇濓紙璇存槑琛ュ伩鍙戦�佹柟寮忎腑鏈夌數璇濋殢璁跨殑鏂瑰紡锛岃繖閲岀殑澶栭摼灏卞湴鍧�鍙兘鐢�/sf锛�
                         if (serviceSubtask.getType().equals("1"))
-                            sendMagParam.setUrl(ip + ":" + req_path + "/sf?p=" + format);
-                        if (active.equals("ls") || active.equals("sltd")) {
-                            sendMagParam.setContent("鎮ㄥソ锛岄個璇锋偍濉啓鍑洪櫌璋冩煡琛紝璇风偣鍑�" + sendMagParam.getUrl() + "鏌ョ湅銆傛劅璋㈡偍閰嶅悎锛�");
-                        } else if (active.equals("xh")) {
-                            sendMagParam.setContent("銆愭柊鍗庡尰闄€�戞偍濂斤紝閭�璇锋偍濉啓鍑洪櫌璋冩煡琛紝璇风偣鍑�" + sendMagParam.getUrl() + "濉啓銆傛劅璋㈡偍閰嶅悎锛�");
-                        } else if (active.equals("druid")) {
-                            sendMagParam.setContent("鎮ㄥソ锛岄個璇锋偍濉啓鍑洪櫌璋冩煡琛紝璇风偣鍑�" + sendMagParam.getUrl() + "濉啓銆傛劅璋㈡偍閰嶅悎锛�");
-                        } else if (active.equals("hzszlyy")) {
-                            sendMagParam.setContent("銆愭澀宸炲競鑲跨槫鍖婚櫌銆戞偍濂斤紝閭�璇锋偍濉啓鍑洪櫌璋冩煡琛紝璇风偣鍑�" + sendMagParam.getUrl() + "濉啓銆傛劅璋㈡偍閰嶅悎锛�");
+                            sendMagParam.setUrl(StringUtils.isNotEmpty(req_path) ? ip + ":" + req_path + "/sf?p=" + format : ip + "/sf?p=" + format);
+
+                        SysConfig sysConfig = new SysConfig();
+                        if (StringUtils.isNotEmpty(serviceSubtask.getServiceType()) && serviceSubtask.getServiceType().equals("6")) {
+                            sysConfig = sysConfigMapper.checkConfigKeyUnique("zymyd.sms.template");
+                        } else if (StringUtils.isNotEmpty(serviceSubtask.getServiceType()) && serviceSubtask.getServiceType().equals("14")) {
+                            sysConfig = sysConfigMapper.checkConfigKeyUnique("mzmyd.sms.template");
+                        } else {
+                            sysConfig = sysConfigMapper.checkConfigKeyUnique("wj.sms.template");
+                        }
+                        if (!Objects.isNull(sysConfig)) {
+                            String smsContemt = sysConfig.getConfigValue();
+//                          sendMagParam.setContent("鎮ㄥソ锛岄個璇锋偍濉啓鍑洪櫌闅忚璋冩煡琛紝璇风偣鍑�" + sendMagParam.getUrl() + "鏌ョ湅銆傛劅璋㈡偍閰嶅悎锛�");
+                            sendMagParam.setContent(smsContemt.replace("${wjurl}", sendMagParam.getUrl()));
                         }
                     } else if (type == 3) {
                         //瀹f暀
@@ -355,6 +387,11 @@
                         serviceOutPath.setParam6(subId);
                         serviceOutPath.setParam3(ivrTask1.getTaskName());
                         serviceOutPath.setCreateTime(new Date());
+                        serviceOutPath.setOrgid(serviceSubtask.getOrgid());
+                        serviceOutPath.setDeptCode(serviceSubtask.getDeptcode());
+                        serviceOutPath.setWardCode(serviceSubtask.getLeavehospitaldistrictcode());
+                        serviceOutPath.setDeptName(serviceSubtask.getDeptname());
+                        serviceOutPath.setWardName(serviceSubtask.getLeavehospitaldistrictname());
                         iServiceOutPathService.insertServiceOutPath(serviceOutPath);
                         String format = String.format("%03X", serviceOutPath.getId());
                         serviceOutPath.setRadix(format);
@@ -364,14 +401,23 @@
                         HeLibrary heLibrary = heLibraryMapper.selectHeLibraryById(serviceSubtask.getLibtemplateid());
                         if (heLibrary.getHetype().equals("1")) {
                             sendMagParam.setPhone(serviceSubtask.getPhone());
-                            sendMagParam.setUrl(ip + ":" + req_path + "/xj?p=" + format);
-                            if (active.equals("ls") || active.equals("sltd")) {
-                                sendMagParam.setContent("鎮ㄥソ锛岄個璇锋偍濉啓鍑洪櫌瀹f暀璋冩煡琛紝璇风偣鍑�" + sendMagParam.getUrl() + "鏌ョ湅銆傛劅璋㈡偍閰嶅悎锛�");
-                            } else if (active.equals("xh")) {
-                                sendMagParam.setContent("銆愭柊鍗庡尰闄€�戞偍濂斤紝閭�璇锋偍濉啓鍑洪櫌瀹f暀璋冩煡琛紝璇风偣鍑�" + sendMagParam.getUrl() + "鏌ョ湅銆傛劅璋㈡偍閰嶅悎锛�");
-                            } else if (active.equals("hzszlyy")) {
-                                sendMagParam.setContent("銆愭澀宸炲競鑲跨槫鍖婚櫌銆戞偍濂斤紝閭�璇锋偍濉啓鍑洪櫌瀹f暀璋冩煡琛紝璇风偣鍑�" + sendMagParam.getUrl() + "濉啓銆傛劅璋㈡偍閰嶅悎锛�");
+                            sendMagParam.setUrl(StringUtils.isNotEmpty(req_path) ? ip + ":" + req_path + "/xj?p=" + format : ip + "/xj?p=" + format);
+
+
+                            SysConfig sysConfig = sysConfigMapper.checkConfigKeyUnique("xj.sms.template");
+                            if (!Objects.isNull(sysConfig)) {
+                                String smsContemt = sysConfig.getConfigValue();
+//                              sendMagParam.setContent("鎮ㄥソ锛岄個璇锋偍濉啓鍑洪櫌瀹f暀璋冩煡琛紝璇风偣鍑�" + sendMagParam.getUrl() + "鏌ョ湅銆傛劅璋㈡偍閰嶅悎锛�");
+                                sendMagParam.setContent(smsContemt.replace("${xjurl}", sendMagParam.getUrl()));
+
                             }
+//                            if (active.equals("ls") || active.equals("sltd") || active.equals("nhfy")) {
+//                                sendMagParam.setContent("鎮ㄥソ锛岄個璇锋偍濉啓鍑洪櫌瀹f暀璋冩煡琛紝璇风偣鍑�" + sendMagParam.getUrl() + "鏌ョ湅銆傛劅璋㈡偍閰嶅悎锛�");
+//                            } else if (active.equals("xh")) {
+//                                sendMagParam.setContent("銆愭柊鍗庡尰闄€�戞偍濂斤紝閭�璇锋偍濉啓鍑洪櫌瀹f暀璋冩煡琛紝璇风偣鍑�" + sendMagParam.getUrl() + "鏌ョ湅銆傛劅璋㈡偍閰嶅悎锛�");
+//                            } else if (active.equals("hzszlyy")) {
+//                                sendMagParam.setContent("銆愭澀宸炲競绗竴浜烘皯鍖婚櫌銆戞偍濂斤紝閭�璇锋偍濉啓鍑洪櫌瀹f暀璋冩煡琛紝璇风偣鍑�" + sendMagParam.getUrl() + "濉啓銆傛劅璋㈡偍閰嶅悎锛�");
+//                            }
                         } else if (heLibrary.getHetype().equals("2")) {
                             //閫氱煡
                             String sc = getSC(serviceSubtask, heLibrary.getPreachcontent());
@@ -384,15 +430,28 @@
                     String s = null;
                     if (active.equals("xh")) {
                         //鏂板崕鐨勭煭淇″彂閫佹柟寮�
-                        Map<String, String> req = new HashMap<>();
-                        req.put("phone", sendMagParam.getPhone());
-                        req.put("content", sendMagParam.getContent());
-                        log.info("content杩斿洖鍊肩殑鍐呭鏄細{}", sendMagParam.getContent());
-                        s = HttpUtil.postJsonRequest(xhsmsPath, new Gson().toJson(req));
-                    } else if (active.equals("ls")) {
-//                        String url = configService.selectConfigByKey("token.360", serviceSubtask.getOrgid());
-//                        log.info("-------00token.360鐨刄RL涓猴細{}", url);
+                        Map<String, String> map2 = new HashMap<String, String>();
+                        map2.put("action", "send");
+                        map2.put("account", xhsmsAccount);
+                        map2.put("password", xhsmsPwd);
+                        map2.put("mobile", sendMagParam.getPhone());
+                        map2.put("content", sendMagParam.getContent());
+                        map2.put("extno", xhsmsjrm);
+                        map2.put("rt", "json");
+                        StringBuilder encodedParams = new StringBuilder();
 
+                        for (Map.Entry<String, String> entry : map2.entrySet()) {
+                            if (encodedParams.length() > 0) {
+                                encodedParams.append("&");
+                            }
+                            // 瀵归敭鍜屽�艰繘琛孶RL缂栫爜
+                            String encodedKey = URLEncoder.encode(entry.getKey(), "UTF-8");
+                            String encodedValue = URLEncoder.encode(entry.getValue(), "UTF-8");
+                            encodedParams.append(encodedKey).append("=").append(encodedValue);
+                        }
+                        Boolean isSuccess = HttpUtil.postJsonRequest(xhsmsPath, encodedParams.toString());
+                        if (isSuccess) s = "true";
+                    } else if (active.equals("ls")) {
                         //涓芥按鐨勭煭淇″彂閫佹柟寮�
                         SysConfig config = new SysConfig();
                         config.setConfigKey("ls.msg.info");
@@ -427,30 +486,45 @@
                             setFailPreachForm(serviceSubtask, sendPreachform, "鐭俊鍙戦�佸け璐�", "5");
                             throw new BaseException("鐭俊鍙戦�佸け璐�");
                         }
-                    } else if (active.equals("sltd")) {
+                    } else if (active.equals("sltd") || active.equals("nhfy")) {
                         //鐪佺珛鍚屽痉鐨勭煭淇″彂閫佹柟寮�
-                        String data = MessageSend.sendMsg(sendMagParam.getContent(), "6", sendMagParam.getPhone(), LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss")));
-                        if (StringUtils.isNotEmpty(data)) {
-                            ObjectMapper mapper = new ObjectMapper();
-                            JsonNode root = mapper.readTree(data);
-                            String status = root.get("result").get(0).get("status").asText();
-                            if (status.equals("00000")) {
-                                s = "true";
+                        String data = null;
+                        Map<String, Object> smsResult = null;
+                        if (active.equals("sltd")) {
+                            data = MessageSend.sendMsg(sendMagParam.getContent(), "6", sendMagParam.getPhone(), LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss")));
+                            if (StringUtils.isNotEmpty(data)) {
+                                ObjectMapper mapper = new ObjectMapper();
+                                JsonNode root = mapper.readTree(data);
+                                String status = root.get("result").get(0).get("status").asText();
+                                if (status.equals("00000")) {
+                                    s = "true";
+                                } else {
+                                    setFailPreachForm(serviceSubtask, sendPreachform, "鐭俊鍙戦�佸け璐�: " + data, "5");
+                                    throw new BaseException("鐭俊鍙戦�佸け璐�");
+                                }
+
                             } else {
                                 setFailPreachForm(serviceSubtask, sendPreachform, "鐭俊鍙戦�佸け璐�: " + data, "5");
                                 throw new BaseException("鐭俊鍙戦�佸け璐�");
                             }
-                        } else {
-                            setFailPreachForm(serviceSubtask, sendPreachform, "鐭俊鍙戦�佸け璐�: " + data, "5");
-                            throw new BaseException("鐭俊鍙戦�佸け璐�");
+                        } else if (active.equals("nhfy")) {
+                            smsResult = mtSubmitSmUtil.submitSm(sendMagParam.getPhone(), sendMagParam.getContent());
+                            if (smsResult != null && smsResult.get("result") != null && smsResult.get("result").toString().equals("0")) {
+                                s = "true";
+                            } else {
+                                setFailPreachForm(serviceSubtask, sendPreachform, "鐭俊鍙戦�佸け璐�", "5");
+                                throw new BaseException("鐭俊鍙戦�佸け璐�");
+                            }
                         }
+
                     } else if (active.equals("hzszlyy")) {
                         //甯備竴
                         long timestamp = new Date().getTime();
                         String sign = Md5Utils.hash(xhsmsAccount + timestamp + Md5Utils.hash(xhsmsPwd));
                         String content = sendMagParam.getContent();
                         String jsonMsg = "{" + "\"userName\": \"" + xhsmsAccount + "\"," + "\"content\": \"" + content + "\"," + "\"phoneList\": [" + sendMagParam.getPhone() + "]," + "\"timestamp\": " + timestamp + "," + "\"sign\": \"" + sign + "\"" + "}";
-                        s = HttpUtil.postJsonRequest(xhsmsPath, jsonMsg);
+                        Boolean b = HttpUtil.postJsonRequest(xhsmsPath, jsonMsg);
+                        if (b) s = "true";
                         log.info("------甯備竴鐭俊鍙戦�佺殑鍊间负锛歿}", s);
                         if (StringUtils.isNotEmpty(s)) {
                             JSONObject jsonObject = JSONObject.parseObject(s);
@@ -503,7 +577,7 @@
                 RSAPublicKeyExample rsaPublicKeyExample = new RSAPublicKeyExample();
                 String taskId = rsaPublicKeyExample.encryptedData(ivrTask1.getTaskid().toString(), pub_key);
                 String patid = rsaPublicKeyExample.encryptedData(serviceSubtask.getPatid().toString(), pub_key);
-
+                String subId = rsaPublicKeyExample.encryptedData(serviceSubtask.getId().toString(), pub_key);
                 try {
                     SendMagParam sendMagParam = new SendMagParam();
                     sendMagParam.setType("5");
@@ -514,7 +588,13 @@
                         ServiceOutPath serviceOutPath = new ServiceOutPath();
                         serviceOutPath.setParam1(taskId);
                         serviceOutPath.setParam2(patid);
+                        serviceOutPath.setParam6(subId);
                         serviceOutPath.setCreateTime(new Date());
+                        serviceOutPath.setOrgid(serviceSubtask.getOrgid());
+                        serviceOutPath.setDeptCode(serviceSubtask.getDeptcode());
+                        serviceOutPath.setWardCode(serviceSubtask.getLeavehospitaldistrictcode());
+                        serviceOutPath.setDeptName(serviceSubtask.getDeptname());
+                        serviceOutPath.setWardName(serviceSubtask.getLeavehospitaldistrictname());
                         iServiceOutPathService.insertServiceOutPath(serviceOutPath);
                         String format = String.format("%03X", serviceOutPath.getId());
                         serviceOutPath.setRadix(format);
@@ -527,13 +607,19 @@
                         serviceOutPath.setParam1(taskId);
                         serviceOutPath.setParam2(patid);
                         serviceOutPath.setParam3(ivrTask1.getTaskName());
+                        serviceOutPath.setParam6(subId);
                         serviceOutPath.setCreateTime(new Date());
+                        serviceOutPath.setOrgid(serviceSubtask.getOrgid());
+                        serviceOutPath.setDeptCode(serviceSubtask.getDeptcode());
+                        serviceOutPath.setWardCode(serviceSubtask.getLeavehospitaldistrictcode());
+                        serviceOutPath.setDeptName(serviceSubtask.getDeptname());
+                        serviceOutPath.setWardName(serviceSubtask.getLeavehospitaldistrictname());
                         iServiceOutPathService.insertServiceOutPath(serviceOutPath);
                         String format = String.format("%03X", serviceOutPath.getId());
                         serviceOutPath.setRadix(format);
                         serviceOutPath.setUpdateTime(new Date());
                         iServiceOutPathService.updateServiceOutPath(serviceOutPath);
-                        url = ip + ":" + req_path + "/wt?p=" + format;
+                        url = StringUtils.isNotEmpty(req_path) ? ip + ":" + req_path + "/wt?p=" + format : ip + "/wt?p=" + format;
                         //濡傛灉type鏄闊抽殢璁跨殑璇濓紙璇存槑琛ュ伩鍙戦�佹柟寮忎腑鏈夌數璇濋殢璁跨殑鏂瑰紡锛岃繖閲岀殑澶栭摼灏卞湴鍧�鍙兘鐢�/sf锛�
                         if (serviceSubtask.getType().equals("1"))
                             sendMagParam.setUrl(ip + ":" + req_path + "/sf?p=" + format);
@@ -543,7 +629,13 @@
                         serviceOutPath.setParam1(taskId);
                         serviceOutPath.setParam2(patid);
                         serviceOutPath.setParam3(ivrTask1.getTaskName());
+                        serviceOutPath.setParam6(subId);
                         serviceOutPath.setCreateTime(new Date());
+                        serviceOutPath.setDeptCode(serviceSubtask.getDeptcode());
+                        serviceOutPath.setWardCode(serviceSubtask.getLeavehospitaldistrictcode());
+                        serviceOutPath.setDeptName(serviceSubtask.getDeptname());
+                        serviceOutPath.setWardName(serviceSubtask.getLeavehospitaldistrictname());
+                        serviceOutPath.setOrgid(serviceSubtask.getOrgid());
                         iServiceOutPathService.insertServiceOutPath(serviceOutPath);
                         String format = String.format("%03X", serviceOutPath.getId());
                         serviceOutPath.setRadix(format);
@@ -594,7 +686,7 @@
                     String wxCode = "";
                     if (active.equals("hzszlyy")) {
                         wxCode = smsUtils.sendChat(url, patArchive.getTelcode(), serviceSubtask.getSfzh());
-                        log.info(wxCode);
+                        log.info("wxCode鐨勫�间负:{}", wxCode);
                     } else {
                         wxCode = getWXCode(serviceSubtask.getSfzh(), url, serviceSubtask.getTaskName(), serviceSubtask.getTaskName(), patArchive.getTelcode(), patArchive.getName(), patArchive.getPatidHis(), wxqqxx);
                         log.error("wxCode鐨勫�间负:{}", wxCode);
@@ -653,7 +745,7 @@
                 serviceSubtaskRecordService.insertServiceSubtaskRecord(serviceSubtaskRecord);
 
             } else if (descByCode.equals("浜哄伐")) {
-                setFailPreachForm(serviceSubtask, sendPreachform, "浜哄伐寰呮墽琛�", "2");
+                setFailPreachForm(serviceSubtask, sendPreachform, "浜哄伐瓒呮椂", "7");
             } else if (descByCode.equals("寰俊灏忕▼搴�")) {
                 setFailPreachForm(serviceSubtask, sendPreachform, "寰俊灏忕▼搴忓緟鎵ц", "2");
             }
@@ -741,6 +833,8 @@
                 if (allSendStateNot1AndNot9) {
                     //璇存槑鍏ㄥ彂閫佸け璐ヤ簡
                     serviceSubtask.setSendstate(5L);
+                    serviceSubtask.setUpdateTime(new Date());
+                    serviceSubtask.setRemark("-----getSendPreachform,鍙戦�佹柟寮忓叏閮ㄥけ璐�");
                     serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
                 }
                 return "-1";
@@ -845,7 +939,9 @@
                 if (serviceSubtaskPreachform1.getSort() == spSize.size()) {
                     if (failSendstate.equals("4") || failSendstate.equals("5")) {
                         serviceSubtask.setCurrentPreachform(preachform);
-                        serviceSubtask.setSendstate(5L);
+                        serviceSubtask.setSendstate(7L);
+                        serviceSubtask.setFinishtime(null);
+                        serviceSubtask.setRemark("澶勭悊琛ュ伩浠诲姟,褰撳墠澶勭悊鏈�鍚庤ˉ鍋匡紝鍏ㄩ儴鎵ц澶辫触(瓒呮椂)");
                         serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
                         return true;
                     }

--
Gitblit v1.9.3