From f37340d34e42ded944304ad0601d3f3abc9d55bd Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期三, 30 四月 2025 17:55:05 +0800
Subject: [PATCH] 代码提交

---
 smartor/src/main/java/com/smartor/domain/PatArchiveOthreInfo.java             |    9 +
 smartor/src/main/java/com/smartor/domain/PatArchiveReq.java                   |   11 +
 smartor/src/main/java/com/smartor/service/impl/PatMedOuthospServiceImpl.java  |    3 
 smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java   |    2 
 smartor/src/main/resources/mapper/smartor/PatArchiveMapper.xml                |   35 +++--
 ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java                  |   59 +++++++++
 smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java |    6 +
 ruoyi-common/src/main/java/com/ruoyi/common/enums/WxGZHEnum.java              |    2 
 ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java        |   73 +++++++++++-
 ruoyi-common/src/main/java/com/ruoyi/common/enums/MsgLSEnum.java              |   98 ++++++++++++++++
 smartor/src/main/java/com/smartor/service/impl/PatArchiveServiceImpl.java     |    8 
 smartor/src/main/java/com/smartor/domain/PatTaskRelevance.java                |    9 +
 12 files changed, 283 insertions(+), 32 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 1717887..af1e109 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
@@ -1,11 +1,14 @@
 package com.ruoyi.web.component;
 
+import afu.org.checkerframework.checker.oigj.qual.O;
 import com.alibaba.fastjson2.JSONObject;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.google.gson.Gson;
 import com.ruoyi.common.core.redis.RedisCache;
+import com.ruoyi.common.enums.MsgLSEnum;
 import com.ruoyi.common.enums.ServiceFromEnum;
 import com.ruoyi.common.enums.WxGZHEnum;
+import com.ruoyi.common.exception.base.BaseException;
 import com.ruoyi.common.utils.HttpUtil;
 import com.ruoyi.common.utils.RSAPublicKeyExample;
 import com.ruoyi.common.utils.StringUtils;
@@ -17,6 +20,7 @@
 import com.smartor.service.IBaseSmsaccountService;
 import com.smartor.service.IServiceOutPathService;
 import com.smartor.service.IServiceSubtaskRecordService;
+import com.sun.org.apache.bcel.internal.generic.NEW;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections4.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -32,6 +36,7 @@
 import java.util.concurrent.Executors;
 import java.util.concurrent.TimeUnit;
 
+import static cn.hutool.core.convert.Convert.numberToWord;
 import static cn.hutool.core.convert.Convert.toHex;
 
 @Slf4j
@@ -79,6 +84,9 @@
 
     @Value("${xhsmsPath}")
     private String xhsmsPath;
+
+    @Value("${visitHosp}")
+    private Integer visitHosp;
 
     // 鍒涘缓鍥哄畾澶у皬鐨勭嚎绋嬫睜
     private static final ExecutorService executorService = Executors.newFixedThreadPool(10);
@@ -342,10 +350,37 @@
                                 sendMagParam.setContent("銆愭柊鍗庡尰闄€�戞偍濂斤紝閭�璇锋偍濉啓鍑洪櫌瀹f暀璋冩煡琛紝璇风偣鍑�" + sendMagParam.getUrl() + "鏌ョ湅銆傛劅璋㈡偍閰嶅悎锛�");
                             }
                             //鐭俊杩橀渶瑕佹ā鏉�
-                            Map<String, String> req = new HashMap<>();
-                            req.put("phone", sendMagParam.getPhone());
-                            req.put("content", sendMagParam.getContent());
-                            String s = HttpUtil.postJsonRequest(xhsmsPath, new Gson().toJson(req));
+                            String s = null;
+                            if (visitHosp == 1) {
+                                //鏂板崕鐨勭煭淇″彂閫佹柟寮�
+                                Map<String, String> req = new HashMap<>();
+                                req.put("phone", sendMagParam.getPhone());
+                                req.put("content", sendMagParam.getContent());
+                                s = HttpUtil.postJsonRequest(xhsmsPath, new Gson().toJson(req));
+                            } else if (visitHosp == 2) {
+                                //涓芥按鐨勭煭淇″彂閫佹柟寮�
+                                String address = MsgLSEnum.getAddressByCode(serviceSubtask.getOrgid());
+                                if (StringUtils.isEmpty(address)) {
+                                    ServiceSubtask ss = new ServiceSubtask();
+                                    ss.setResult("error");
+                                    ss.setRemark("鐭俊鍙戦�佸け璐�,璇ユ満鏋勬病鏈夐厤缃煭淇″湴鍧�");
+                                    ss.setSendstate(5L);
+                                    ss.setId(serviceSubtask.getId());
+                                    ss.setFinishtime(new Date());
+                                    serviceSubtaskMapper.updateServiceSubtask(ss);
+                                    continue;
+                                }
+                                String dxCode = getDXCode(address, sendMagParam.getPhone(), sendMagParam.getContent(), "", "", MsgLSEnum.getHeaderByCode(serviceSubtask.getOrgid()));
+                                log.error("---------涓芥按鐭俊鍙戦�佺粨鏋滐細{}-------", dxCode);
+                                ObjectMapper objectMapper = new ObjectMapper();
+                                Map<String, Object> textParam = objectMapper.readValue(dxCode, Map.class);
+                                String code = textParam.get("code").toString();
+                                if (code.equals("0")) {
+                                    s = "true";
+                                } else {
+                                    throw new BaseException(null);
+                                }
+                            }
                             if (s.equals("true")) {
                                 ServiceSubtaskRecord serviceSubtaskRecord = new ServiceSubtaskRecord();
                                 serviceSubtaskRecord.setTaskid(serviceSubtask.getTaskid().toString());
@@ -499,7 +534,7 @@
                             }
 
 
-                            String wxCode = getWXCode(serviceSubtask.getSfzh(), url, serviceSubtask.getTaskName(), serviceSubtask.getTaskDesc(), patArchive.getTelcode(), patArchive.getName(), patArchive.getPatidHis(),wxqqxx);
+                            String wxCode = getWXCode(serviceSubtask.getSfzh(), url, serviceSubtask.getTaskName(), serviceSubtask.getTaskDesc(), patArchive.getTelcode(), patArchive.getName(), patArchive.getPatidHis(), wxqqxx);
                             Map<String, Object> map = JSONObject.parseObject(wxCode, Map.class);
                             if (!map.isEmpty()) {
                                 serviceSubtask.setResult("success");
@@ -643,7 +678,7 @@
         return key;
     }
 
-    private String getWXCode(String idcard, String url, String taskName, String taskDesc, String phone, String patientname, String setPatientid,List<String> wxqqxx) {
+    private String getWXCode(String idcard, String url, String taskName, String taskDesc, String phone, String patientname, String setPatientid, List<String> wxqqxx) {
         XinHuaWXReq xinHuaWXReq = new XinHuaWXReq();
         xinHuaWXReq.setIdcard(idcard);
         xinHuaWXReq.setUrl(url);
@@ -668,6 +703,32 @@
         return code;
     }
 
+
+    private String getDXCode(String address, String ShouJiHM, String FaSongNR, String FaSongRID, String FaSongRXM, Map<String, Object> headerMap) {
+        Map<String, Object> map = new LinkedHashMap<>();
+
+        Map<String, Object> YeWuXX = new LinkedHashMap<>();
+        Map<String, Object> DuanXinXX = new LinkedHashMap<>();
+        DuanXinXX.put("ShouJiHM", ShouJiHM);
+        DuanXinXX.put("FaSongNR", FaSongNR);
+        DuanXinXX.put("FaSongRID", FaSongRID);
+        DuanXinXX.put("FaSongRXM", FaSongRXM);
+        YeWuXX.put("DuanXinXX", DuanXinXX);
+
+        map.put("XiaoXiTou", headerMap);
+        map.put("DuanXinXX", DuanXinXX);
+
+        String body = new Gson().toJson(map);
+
+        String result = HttpUtils.sendPost(address, body);
+        log.error("--------result鐨勫�间负锛歿}-----", result);
+
+        JSONObject jsonObject = JSONObject.parseObject(result);
+        String code = (String) jsonObject.toString();
+        return code;
+    }
+
+
     public String encode(String arg) {
         if (arg == null) {
             arg = "";
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
new file mode 100644
index 0000000..5f02818
--- /dev/null
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/enums/MsgLSEnum.java
@@ -0,0 +1,98 @@
+package com.ruoyi.common.enums;
+
+import com.ruoyi.common.utils.uuid.IdUtils;
+import com.sun.org.apache.bcel.internal.generic.NEW;
+
+import javax.xml.crypto.Data;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.LinkedHashMap;
+import java.util.Map;
+
+/**
+ * 涓芥按鐭俊鏋氫妇
+ * XiaoXiLX    FZ_PT_DuanXinFS
+ * XiaoXiMC    鐭俊鍙戦��
+ */
+public enum MsgLSEnum {
+    ZYY("47231022633110211A2101", "https://9.0.124.104:13011/mediinfo-grus-fuwuzxwg/api/esb/lyraAsyncRun", "1400360867068907520", "涓芥按甯備腑鍖婚櫌"), JN("47255004333112711A1001", null, "1400361376454545408", "鏅畞鐣叉棌鑷不鍘夸汉姘戝尰闄�");
+
+    private String orgid;
+    private String address;
+    private String ZuHuID;
+    private String ZuHuMC;
+
+    MsgLSEnum(String orgid, String address, String ZuHuID, String ZuHuMC) {
+        this.orgid = orgid;
+        this.ZuHuID = ZuHuID;
+        this.ZuHuMC = ZuHuMC;
+        this.address = address;
+    }
+
+    public static Map<String, Object> getHeaderByCode(String orgid) {
+        Map<String, Object> map = new LinkedHashMap<>();
+        MsgLSEnum[] organEnums = values();
+        for (int i = 0; i < organEnums.length; i++) {
+            MsgLSEnum organEnum = organEnums[i];
+            if (organEnum.getOrgid().equals(orgid)) {
+                map.put("XiaoXiID", IdUtils.simpleUUID());
+                map.put("FaSongSJ", new Date());
+                map.put("ZuHuID", organEnum.getZuHuID());
+                map.put("ZuHuMC", organEnum.getZuHuMC());
+                map.put("FaSongJGID", organEnum.getOrgid());
+                map.put("FaSongJGMC", organEnum.getZuHuMC());
+                map.put("FaSongXTJC", "闅忚绯荤粺");
+                map.put("FaSongXTMC", "闅忚绯荤粺");
+                map.put("FaSongFCSJC", "浜ュ皵鏃�");
+                map.put("XiaoXiLX", "FZ_PT_DuanXinFS");
+                map.put("XiaoXiMC", "鐭俊鍙戦��");
+            }
+        }
+        return map;
+    }
+
+    public static String getAddressByCode(String orgid) {
+        MsgLSEnum[] organEnums = values();
+        for (int i = 0; i < organEnums.length; i++) {
+            MsgLSEnum organEnum = organEnums[i];
+            if (organEnum.getOrgid().equals(orgid)) {
+                return organEnum.getAddress();
+            }
+        }
+        return null;
+    }
+
+    public String getOrgid() {
+        return orgid;
+    }
+
+    public void setOrgid(String orgid) {
+        this.orgid = orgid;
+    }
+
+    public String getAddress() {
+        return address;
+    }
+
+    public void setAddress(String address) {
+        this.address = address;
+    }
+
+    public String getZuHuID() {
+        return ZuHuID;
+    }
+
+    public void setZuHuID(String zuHuID) {
+        ZuHuID = zuHuID;
+    }
+
+    public String getZuHuMC() {
+        return ZuHuMC;
+    }
+
+    public void setZuHuMC(String zuHuMC) {
+        ZuHuMC = zuHuMC;
+    }
+
+
+}
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/enums/WxGZHEnum.java b/ruoyi-common/src/main/java/com/ruoyi/common/enums/WxGZHEnum.java
index 827aaab..8d30d85 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/enums/WxGZHEnum.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/enums/WxGZHEnum.java
@@ -9,7 +9,7 @@
  * 涓芥按鍏紬鍙�
  */
 public enum WxGZHEnum {
-    ZYY("47231022633110211A2101", "3311000002", "MzMxMTAwMDAwMg==", "http://192.168.10.170:18001/frontend/medical/api"),
+    ZYY("47231022633110211A2101", "3311000002", "MzMxMTAwMDAwMg==", "http://40.78.1.5:8101/frontend/medical/api"),
     JN("47255004333112711A1001", null, null, null);
 
 
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 4191ba6..68edc8f 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
@@ -8,8 +8,10 @@
 import com.google.gson.JsonArray;
 import com.google.gson.JsonObject;
 import com.ruoyi.common.core.redis.RedisCache;
+import com.ruoyi.common.enums.MsgLSEnum;
 import com.ruoyi.common.enums.ServiceFromEnum;
 import com.ruoyi.common.enums.WxGZHEnum;
+import com.ruoyi.common.exception.base.BaseException;
 import com.ruoyi.common.utils.HttpUtil;
 import com.ruoyi.common.utils.RSAPublicKeyExample;
 import com.ruoyi.common.utils.StringUtils;
@@ -472,10 +474,34 @@
                                 sendMagParam.setPhone(serviceSubtask.getPhone());
                                 sendMagParam.setUrl(ip + ":" + req_path + "/wt?p=" + format);
                                 sendMagParam.setContent("銆愭柊鍗庡尰闄€�戞偍濂斤紝閭�璇锋偍濉啓鍑洪櫌璋冩煡琛紝璇风偣鍑�" + sendMagParam.getUrl() + "濉啓銆傛劅璋㈡偍閰嶅悎锛�");
-                                Map<String, String> req = new HashMap<>();
-                                req.put("phone", sendMagParam.getPhone());
-                                req.put("content", sendMagParam.getContent());
-                                String isSuccess = HttpUtil.postJsonRequest(xhsmsPath, new Gson().toJson(req));
+                                String isSuccess = null;
+                                if (visitHosp == 1) {
+                                    Map<String, String> req = new HashMap<>();
+                                    req.put("phone", sendMagParam.getPhone());
+                                    req.put("content", sendMagParam.getContent());
+                                    isSuccess = HttpUtil.postJsonRequest(xhsmsPath, new Gson().toJson(req));
+                                } else if (visitHosp == 2) {
+                                    //涓芥按鐨勭煭淇″彂閫佹柟寮�
+                                    String address = MsgLSEnum.getAddressByCode(serviceSubtask.getOrgid());
+                                    if (StringUtils.isEmpty(address)) {
+                                        ServiceSubtask ss = new ServiceSubtask();
+                                        ss.setResult("error");
+                                        ss.setRemark("鐭俊鍙戦�佸け璐�,璇ユ満鏋勬病鏈夐厤缃煭淇″湴鍧�");
+                                        ss.setSendstate(5L);
+                                        ss.setId(serviceSubtask.getId());
+                                        ss.setFinishtime(new Date());
+                                        serviceSubtaskMapper.updateServiceSubtask(ss);
+                                        continue;
+                                    }
+                                    String dxCode = getDXCode(address, sendMagParam.getPhone(), sendMagParam.getContent(), "", "", MsgLSEnum.getHeaderByCode(serviceSubtask.getOrgid()));
+                                    log.error("---------涓芥按鐭俊鍙戦�佺粨鏋滐細{}-------", dxCode);
+                                    ObjectMapper objectMapper = new ObjectMapper();
+                                    Map<String, Object> textParam = objectMapper.readValue(dxCode, Map.class);
+                                    String code = textParam.get("code").toString();
+                                    if (code.equals("0")) {
+                                        isSuccess = "true";
+                                    }
+                                }
                                 //浠诲姟鍙戦�佽褰�
                                 ServiceSubtaskRecord serviceSubtaskRecord = new ServiceSubtaskRecord();
                                 serviceSubtaskRecord.setTaskid(serviceSubtask.getTaskid().toString());
@@ -816,6 +842,31 @@
         return key;
     }
 
+    private String getDXCode(String address, String ShouJiHM, String FaSongNR, String FaSongRID, String FaSongRXM, Map<String, Object> headerMap) {
+        Map<String, Object> map = new LinkedHashMap<>();
+
+        Map<String, Object> YeWuXX = new LinkedHashMap<>();
+        Map<String, Object> DuanXinXX = new LinkedHashMap<>();
+        DuanXinXX.put("ShouJiHM", ShouJiHM);
+        DuanXinXX.put("FaSongNR", FaSongNR);
+        DuanXinXX.put("FaSongRID", FaSongRID);
+        DuanXinXX.put("FaSongRXM", FaSongRXM);
+        YeWuXX.put("DuanXinXX", DuanXinXX);
+
+        map.put("XiaoXiTou", headerMap);
+        map.put("DuanXinXX", DuanXinXX);
+
+        String body = new Gson().toJson(map);
+
+        String result = HttpUtils.sendPost(address, body);
+        log.error("--------result鐨勫�间负锛歿}-----", result);
+
+        JSONObject jsonObject = JSONObject.parseObject(result);
+        String code = (String) jsonObject.toString();
+        return code;
+    }
+
+
     private String getWXCode(String idcard, String url, String taskName, String taskDesc, String phone, String setPatientname, String setPatientid, List<String> wxqqxx) {
         XinHuaWXReq xinHuaWXReq = new XinHuaWXReq();
         xinHuaWXReq.setIdcard(idcard);
diff --git a/smartor/src/main/java/com/smartor/domain/PatArchiveOthreInfo.java b/smartor/src/main/java/com/smartor/domain/PatArchiveOthreInfo.java
index d375c31..26bc297 100644
--- a/smartor/src/main/java/com/smartor/domain/PatArchiveOthreInfo.java
+++ b/smartor/src/main/java/com/smartor/domain/PatArchiveOthreInfo.java
@@ -82,6 +82,15 @@
     private String guid;
 
     /**
+     * GUID
+     */
+    @ApiModelProperty("鍑洪櫌璇婃柇")
+    private String leavediagname;
+
+    @ApiModelProperty("鍑洪櫌璇婃柇ICD鍊�")
+    private String leaveicd10code;
+
+    /**
      * 濮撳悕
      */
     @ApiModelProperty("鎮h�呯紪鍙�")
diff --git a/smartor/src/main/java/com/smartor/domain/PatArchiveReq.java b/smartor/src/main/java/com/smartor/domain/PatArchiveReq.java
index c04f347..d4a267e 100644
--- a/smartor/src/main/java/com/smartor/domain/PatArchiveReq.java
+++ b/smartor/src/main/java/com/smartor/domain/PatArchiveReq.java
@@ -45,8 +45,11 @@
     /**
      * 鐤剧梾鍚嶇О
      */
+    @ApiModelProperty("绂婚櫌鐤剧梾鍚嶇О")
+    @Excel(name = " 绂婚櫌鐤剧梾鍚嶇О ")
+    private String leavediagname;
+
     @ApiModelProperty("鐤剧梾鍚嶇О")
-    @Excel(name = " 鐤剧梾鍚嶇О ")
     private String diagname;
 
 
@@ -74,10 +77,10 @@
     private String telcode;
 
     /**
-     * 鎵嬫満鍙风爜
+     * 绂婚櫌鐤剧梾缂栫爜
      */
-    @ApiModelProperty("鎵嬫満鍙风爜")
-    @Excel(name = " 鎵嬫満鍙风爜 ")
+    @ApiModelProperty("绂婚櫌鐤剧梾缂栫爜")
+    @Excel(name = " 绂婚櫌鐤剧梾缂栫爜 ")
     private String leaveicd10code;
 
     /**
diff --git a/smartor/src/main/java/com/smartor/domain/PatTaskRelevance.java b/smartor/src/main/java/com/smartor/domain/PatTaskRelevance.java
index 571c1f7..a1a4275 100644
--- a/smartor/src/main/java/com/smartor/domain/PatTaskRelevance.java
+++ b/smartor/src/main/java/com/smartor/domain/PatTaskRelevance.java
@@ -157,7 +157,14 @@
      */
     @Excel(name = "鐤剧梾鍚嶇О")
     @ApiModelProperty("鐤剧梾鍚嶇О")
-    private String icdName;
+    private String leavediagname;
+
+    /**
+     * 鐤剧梾鍚嶇О
+     */
+    @Excel(name = "鐤剧梾鍚嶇О")
+    @ApiModelProperty("鐤剧梾鍚嶇О")
+    private String leaveicd10code;
 
     /**
      * 鎵嬫満鍙�
diff --git a/smartor/src/main/java/com/smartor/service/impl/PatArchiveServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/PatArchiveServiceImpl.java
index 90cb542..1786915 100644
--- a/smartor/src/main/java/com/smartor/service/impl/PatArchiveServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/PatArchiveServiceImpl.java
@@ -595,9 +595,11 @@
                 }
                 //灏嗘煡鍑虹殑tag锛屾斁鍒皃atArchive1閲岀殑TagList涓�
                 PatArchivetag patArchivetag = new PatArchivetag();
-                patArchivetag.setTagname(list.get(i).getTag());
-                patArchivetag.setTagid(list.get(i).getTagid());
-                stringList.add(patArchivetag);
+                if (StringUtils.isNotEmpty(list.get(i).getTag()) && ObjectUtils.isNotEmpty(list.get(i).getTagid())) {
+                    patArchivetag.setTagname(list.get(i).getTag());
+                    patArchivetag.setTagid(list.get(i).getTagid());
+                    stringList.add(patArchivetag);
+                }
             }
             patArchive1.setTagList(stringList.stream().collect(Collectors.toList()));
             patArchives.add(patArchive1);
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 7f8a924..93d6c7f 100644
--- a/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
@@ -657,6 +657,8 @@
         serviceSubtask.setDrname(patMedInhosp1.getDrname());
         serviceSubtask.setDeptcode(patMedInhosp1.getLeaveldeptcode());
         serviceSubtask.setDeptname(patMedInhosp1.getLeaveldeptname());
+        serviceSubtask.setLeaveicd10code(patMedInhosp1.getLeaveicd10code());
+        serviceSubtask.setLeavediagname(patMedInhosp1.getDiagname());
         serviceSubtask.setTemplateid(serviceTask.getTemplateid());
         serviceSubtask.setTemplatename(serviceTask.getTemplatename());
         serviceSubtask.setPatid(patArchive.getId());
diff --git a/smartor/src/main/java/com/smartor/service/impl/PatMedOuthospServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/PatMedOuthospServiceImpl.java
index 34b0d00..29c84e4 100644
--- a/smartor/src/main/java/com/smartor/service/impl/PatMedOuthospServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/PatMedOuthospServiceImpl.java
@@ -269,6 +269,9 @@
         serviceSubtask.setPatid(patArchive.getId());
         serviceSubtask.setSendname(patArchive.getName());
         serviceSubtask.setSfzh(patArchive.getIdcardno());
+        serviceSubtask.setLeavediagname(patMedOuthosp.getDiagname());
+        serviceSubtask.setLeaveicd10code(patMedOuthosp.getIcd10code());
+        serviceSubtask.setSfzh(patArchive.getIdcardno());
         serviceSubtask.setPhone(patArchive.getTelcode());
         if (StringUtils.isBlank(patArchive.getTelcode())) serviceSubtask.setPhone(patArchive.getRelativetelcode());
         serviceSubtask.setSex(patArchive.getSex());
diff --git a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
index 29b9d5d..a7e108b 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -341,12 +341,16 @@
             serviceSubtask1.setIsVisitAgain(2);
             serviceSubtaskMapper.updateServiceSubtask(serviceSubtask1);
             return "鏃犻渶鍐嶆闅忚锛屾偅鑰呰鏍囪涓嶉渶瑕佽鏈嶅姟";
+        } else if (ObjectUtils.isNotEmpty(serviceSubtask1.getIsVisitAgain()) && serviceSubtask1.getIsVisitAgain() == 2) {
+            return "鏃犻渶鍐嶆闅忚锛岃浠诲姟宸茬粡鍐嶆闅忚杩囦簡";
         }
         //鏂板鍐嶆闅忚浠诲姟
         ServiceSubtask serviceSubtask2 = DtoConversionUtils.sourceToTarget(serviceSubtask, ServiceSubtask.class);
         serviceSubtask2.setId(null);
         serviceSubtask2.setVisitCount(serviceSubtask1.getVisitCount() + 1);
         serviceSubtask2.setSendstate(2L);
+        serviceSubtask2.setCreateTime(new Date());
+        serviceSubtask2.setUpdateTime(new Date());
         int i = serviceSubtaskMapper.insertServiceSubtask(serviceSubtask2);
         if (i == 1) {
             //鏂板鎴愬姛鍚庯紝闇�瑕佸皢涔嬪墠鐨勪换鍔¤缃负涓嶈鍐嶉殢璁匡紙闃叉閲嶅鐐癸紝鐒跺悗閲嶅鐢熸垚锛�
@@ -541,6 +545,8 @@
                     serviceSubtask.setDrname(patTaskRelevance.getDrname());
                     serviceSubtask.setDrcode(patTaskRelevance.getDrcode());
                     serviceSubtask.setInhosptime(patTaskRelevance.getInhosptime());
+                    serviceSubtask.setLeaveicd10code(patTaskRelevance.getLeaveicd10code());
+                    serviceSubtask.setLeavediagname(patTaskRelevance.getLeavediagname());
                     serviceSubtask.setEndtime(patTaskRelevance.getEndtime());
                     serviceSubtask.setNurseId(patTaskRelevance.getNurseId());
                     serviceSubtask.setNurseName(patTaskRelevance.getNurseName());
diff --git a/smartor/src/main/resources/mapper/smartor/PatArchiveMapper.xml b/smartor/src/main/resources/mapper/smartor/PatArchiveMapper.xml
index fef487e..80a2175 100644
--- a/smartor/src/main/resources/mapper/smartor/PatArchiveMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/PatArchiveMapper.xml
@@ -117,6 +117,8 @@
         <result property="leavehospitaldistrictname" column="leavehospitaldistrictname"/>
         <result property="leavehospitaldistrictcode" column="leavehospitaldistrictcode"/>
         <result property="guid" column="guid"/>
+        <result property="leavediagname" column="leavediagname"/>
+        <result property="leaveicd10code" column="leaveicd10code"/>
     </resultMap>
 
     <sql id="selectPatArchiveVo">
@@ -546,7 +548,8 @@
         FROM
         pat_med_inhosp d
         JOIN pat_archive a ON a.id = d.patid
-        LEFT JOIN ( SELECT patid, GROUP_CONCAT( tagname ) AS tagname FROM pat_archivetag where del_flag=0 GROUP BY patid ) t ON t.patid =
+        LEFT JOIN ( SELECT patid, GROUP_CONCAT( tagname ) AS tagname FROM pat_archivetag where del_flag=0 GROUP BY patid
+        ) t ON t.patid =
         d.patid
         <where>
             d.del_flag != 1
@@ -671,7 +674,8 @@
         t.tagname,
         a.pattype
         from pat_med_outhosp d JOIN pat_archive a ON a.id = d.patid
-        LEFT JOIN ( SELECT patid, GROUP_CONCAT( tagname ) AS tagname FROM pat_archivetag where del_flag=0 GROUP BY patid ) t ON t.patid =
+        LEFT JOIN ( SELECT patid, GROUP_CONCAT( tagname ) AS tagname FROM pat_archivetag where del_flag=0 GROUP BY patid
+        ) t ON t.patid =
         d.patid
         <where>
             d.del_flag != 1
@@ -759,7 +763,8 @@
         t.tagname,
         a.pattype
         from pat_med_physical d JOIN pat_archive a ON a.id = d.patid
-        LEFT JOIN ( SELECT patid, GROUP_CONCAT( tagname ) AS tagname FROM pat_archivetag where del_flag=0 GROUP BY patid ) t ON t.patid =
+        LEFT JOIN ( SELECT patid, GROUP_CONCAT( tagname ) AS tagname FROM pat_archivetag where del_flag=0 GROUP BY patid
+        ) t ON t.patid =
         d.patid
         <where>
             d.del_flag != 1
@@ -822,6 +827,8 @@
         d.deptcode,
         d.drcode,
         d.drname,
+        d.leavediagname,
+        d.leaveicd10code,
         a.sex,
         a.nation,
         a.native_place,
@@ -859,7 +866,8 @@
         FROM
         pat_med_inhosp d
         JOIN pat_archive a ON a.id = d.patid
-        LEFT JOIN ( SELECT patid, GROUP_CONCAT( tagname ) AS tagname FROM pat_archivetag where del_flag=0 GROUP BY patid ) t ON t.patid =
+        LEFT JOIN ( SELECT patid, GROUP_CONCAT( tagname ) AS tagname FROM pat_archivetag where del_flag=0 GROUP BY patid
+        ) t ON t.patid =
         d.patid
         <where>
             d.del_flag != 1
@@ -889,11 +897,8 @@
             <if test="deptname != null and deptname != ''">
                 and d.deptname LIKE concat('%', #{deptname}, '%')
             </if>
-            <if test="drname != null and drname != ''">
-                AND d.drname LIKE concat('%',#{drname}, '%')
-            </if>
-            <if test="diagname != null and diagname != ''">
-                AND d.diagname LIKE concat('%',#{diagname}, '%')
+            <if test="leavediagname != null and leavediagname != ''">
+                AND d.leavediagname LIKE concat('%',#{leavediagname}, '%')
             </if>
             <if test="leavehospitaldistrictcodes != null and leavehospitaldistrictcodes.size()>0">
                 AND d.leavehospitaldistrictcode IN
@@ -945,6 +950,8 @@
         a.place_of_residence,
         a.birthplace,
         a.birthdate,
+        a.icd10code as leaveicd10code,
+        a.diagname as leavediagname,
         a.age,
         a.age2,
         a.viptype,
@@ -966,7 +973,8 @@
         t.tagname,
         a.pattype
         from pat_med_outhosp d JOIN pat_archive a ON a.id = d.patid
-        LEFT JOIN ( SELECT patid, GROUP_CONCAT( tagname ) AS tagname FROM pat_archivetag where del_flag=0 GROUP BY patid ) t ON t.patid =
+        LEFT JOIN ( SELECT patid, GROUP_CONCAT( tagname ) AS tagname FROM pat_archivetag where del_flag=0 GROUP BY patid
+        ) t ON t.patid =
         d.patid
         <where>
             d.del_flag != 1
@@ -981,8 +989,8 @@
             </if>
             <if test="notrequiredFlag != null  and notrequiredFlag != ''">and a.notrequired_flag = #{notrequiredFlag}
             </if>
-            <if test="diagname != null and diagname != ''">
-                AND d.diagname LIKE concat('%',#{diagname}, '%')
+            <if test="leavediagname != null and leavediagname != ''">
+                AND d.diagname LIKE concat('%',#{leavediagname}, '%')
             </if>
             <if test="hospitalname != null and hospitalname != ''">
                 AND d.hospitalname = #{hospitalname}
@@ -1054,7 +1062,8 @@
         t.tagname,
         a.pattype
         from pat_med_physical d JOIN pat_archive a ON a.id = d.patid
-        LEFT JOIN ( SELECT patid, GROUP_CONCAT( tagname ) AS tagname FROM pat_archivetag where del_flag=0 GROUP BY patid ) t ON t.patid =
+        LEFT JOIN ( SELECT patid, GROUP_CONCAT( tagname ) AS tagname FROM pat_archivetag where del_flag=0 GROUP BY patid
+        ) t ON t.patid =
         d.patid
         <where>
             d.del_flag != 1

--
Gitblit v1.9.3