From 7ae67ba965ea680407ae21fedbd035d43ce8c313 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期二, 30 一月 2024 14:45:07 +0800
Subject: [PATCH] 代码提交

---
 smartor/src/main/java/com/smartor/domain/HeLibraryVO.java                        |    4 
 smartor/src/main/java/com/smartor/domain/HeTaskVO.java                           |    7 
 smartor/src/main/java/com/smartor/service/impl/HospitalRecordServiceImpl.java    |   94 +
 ruoyi-admin/src/main/java/com/ruoyi/web/test/pctest.java                         |  138 +
 smartor/src/main/resources/mapper/smartor/PatHetaskRelevanceMapper.xml           |   48 
 smartor/pom.xml                                                                  |   19 
 ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java                        |    2 
 ruoyi-quartz/pom.xml                                                             |    5 
 ruoyi-common/src/main/java/com/ruoyi/common/enums/AdmTypeEnum.java               |   43 
 smartor/src/main/resources/mapper/smartor/HeLibraryAssortMapper.xml              |    3 
 smartor/src/main/resources/mapper/smartor/IvrLibaTemplateScriptMapper.xml        |    7 
 smartor/src/main/java/com/smartor/domain/HospitalUserinfo.java                   |  518 ++++++++
 smartor/src/main/java/com/smartor/service/impl/HeTaskServiceImpl.java            |  204 ++-
 smartor/src/main/java/com/smartor/mapper/ServiceThirdDataMapper.java             |    6 
 smartor/src/main/resources/mapper/smartor/IvrLibaTemplateTagMapper.xml           |    9 
 smartor/src/main/java/com/smartor/domain/HospitalRecord.java                     |  366 +++++
 smartor/src/main/java/com/smartor/service/IHospitalRecordService.java            |   62 
 smartor/src/main/java/com/smartor/service/impl/HospitalUserinfoServiceImpl.java  |   87 +
 ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/ScheduleUtils.java              |    2 
 smartor/src/main/resources/mapper/smartor/HeLibraryTagMapper.xml                 |    1 
 ruoyi-admin/src/main/resources/application.yml                                   |    2 
 smartor/src/main/java/com/smartor/domain/PatArchivetag.java                      |    5 
 smartor/src/main/resources/mapper/smartor/IvrLibaTemplateTargetoptionMapper.xml  |    1 
 smartor/src/main/resources/mapper/smartor/PatArchiveMapper.xml                   |    6 
 ruoyi-common/src/main/java/com/ruoyi/common/enums/LevelHospEnum.java             |   45 
 smartor/src/main/resources/mapper/smartor/HospitalRecordMapper.xml               |  420 ++++++
 ruoyi-admin/src/main/resources/logback.xml                                       |    2 
 smartor/src/main/java/com/smartor/domain/SvyLibTopic.java                        |    2 
 smartor/src/main/java/com/smartor/service/impl/ServiceThirdDataServiceImpl.java  |   55 
 smartor/src/main/java/com/smartor/domain/HeLibrary.java                          |    4 
 smartor/src/main/java/com/smartor/service/IHospitalUserinfoService.java          |   62 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/TestLsController.java |   49 
 smartor/src/main/java/com/smartor/domain/PatArchive.java                         |    7 
 smartor/src/main/resources/mapper/smartor/SvyLibTopicMapper.xml                  |   16 
 smartor/src/main/resources/mapper/smartor/ServiceThirdDataMapper.xml             |   49 
 ruoyi-common/src/main/java/com/ruoyi/common/enums/FollowUpEnum.java              |    3 
 smartor/src/main/java/com/smartor/domain/PatHetaskRelevance.java                 |   49 
 smartor/src/main/resources/mapper/smartor/HospitalUserinfoMapper.xml             |  562 ++++++++
 smartor/src/main/java/com/smartor/domain/IvrLibaTemplateTag.java                 |    7 
 ruoyi-admin/pom.xml                                                              |   21 
 smartor/src/main/java/com/smartor/mapper/HospitalUserinfoMapper.java             |   66 +
 smartor/src/main/java/com/smartor/mapper/HospitalRecordMapper.java               |   66 +
 smartor/src/main/java/com/smartor/yiwudataanalysis/ADT_A03.java                  |  484 +++++++
 ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java                     |   33 
 smartor/src/main/java/com/smartor/service/impl/IvrLibaTemplateServiceImpl.java   |   17 
 ruoyi-admin/src/main/resources/application-druid.yml                             |   23 
 smartor/src/main/java/com/smartor/service/impl/RemoteDataSaveServiceImpl.java    |   25 
 smartor/src/main/java/com/smartor/service/IHeTaskService.java                    |    2 
 smartor/src/main/resources/mapper/smartor/TempDetpRelevanceMapper.xml            |    3 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/HeTaskController.java |   14 
 50 files changed, 3,488 insertions(+), 237 deletions(-)

diff --git a/ruoyi-admin/pom.xml b/ruoyi-admin/pom.xml
index 6f99bbc..7340354 100644
--- a/ruoyi-admin/pom.xml
+++ b/ruoyi-admin/pom.xml
@@ -48,6 +48,13 @@
             <artifactId>mysql-connector-java</artifactId>
         </dependency>
 
+        <!-- SQL_SERVER椹卞姩鍖� -->
+        <dependency>
+            <groupId>com.microsoft.sqlserver</groupId>
+            <artifactId>mssql-jdbc</artifactId>
+            <version>9.2.1.jre8</version>
+        </dependency>
+
         <!-- 鏍稿績妯″潡-->
         <dependency>
             <groupId>com.ruoyi</groupId>
@@ -95,6 +102,7 @@
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-web-services</artifactId>
         </dependency>
+
         <dependency>
             <groupId>org.apache.cxf</groupId>
             <artifactId>cxf-rt-frontend-jaxws</artifactId>
@@ -109,19 +117,6 @@
             <groupId>org.codehaus.woodstox</groupId>
             <artifactId>stax2-api</artifactId>
             <version>3.1.1</version>
-        </dependency>
-
-        <!-- https://mvnrepository.com/artifact/ca.uhn.hapi/hapi-base -->
-        <dependency>
-            <groupId>ca.uhn.hapi</groupId>
-            <artifactId>hapi-base</artifactId>
-            <version>2.3</version>
-        </dependency>
-        <!-- https://mvnrepository.com/artifact/ca.uhn.hapi/hapi-structures-v24 -->
-        <dependency>
-            <groupId>ca.uhn.hapi</groupId>
-            <artifactId>hapi-structures-v24</artifactId>
-            <version>2.3</version>
         </dependency>
 
         <dependency>
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java b/ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java
index a26e256..6e1d70b 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java
@@ -30,6 +30,6 @@
                 " |  |  \\    /  \\      /           \n" +
                 " ''-'   `'-'    `-..-'              ");
         //寮�鍚疭OCKET
-//        new SocketCommunication().socketCommunication();
+        new SocketCommunication().socketCommunication();
     }
 }
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/HeTaskController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/HeTaskController.java
index 6d4b85e..84731e5 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/HeTaskController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/HeTaskController.java
@@ -5,7 +5,7 @@
 import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.common.enums.BusinessType;
-import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.utils.PageUtils;
 import com.smartor.domain.HeTask;
 import com.smartor.domain.HeTaskVO;
 import com.smartor.domain.PatArchiveReq;
@@ -17,7 +17,6 @@
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 
-import javax.servlet.http.HttpServletResponse;
 import java.util.List;
 
 /**
@@ -68,14 +67,14 @@
     }
 
     /**
-     * 鏂板瀹f暀浠诲姟
+     * 鏂板鎴栦慨鏀瑰垹闄ゅ鏁欎换鍔�
      */
-    @ApiOperation("鏂板瀹f暀浠诲姟(鍙戦�佷换鍔�)")
+    @ApiOperation("鏂板鎴栦慨鏀瑰垹闄ゅ鏁欎换鍔�")
     @PreAuthorize("@ss.hasPermi('system:task:add')")
     @Log(title = "瀹f暀浠诲姟", businessType = BusinessType.INSERT)
-    @PostMapping("/add")
-    public AjaxResult add(@RequestBody HeTaskVO heTaskVO) {
-        return toAjax(heTaskService.insertHeTask(heTaskVO));
+    @PostMapping("/insertOrUpdateHeTask")
+    public AjaxResult insertOrUpdateHeTask(@RequestBody HeTaskVO heTaskVO) {
+        return toAjax(heTaskService.insertOrUpdateHeTask(heTaskVO));
     }
 
     /**
@@ -106,6 +105,7 @@
     @ApiOperation("鑾峰彇鎮h�呬俊鎭�")
     @PostMapping("/getPatientInfo")
     public TableDataInfo getPatientInfo(@RequestBody PatArchiveReq patArchiveReq) {
+        PageUtils.startPageByPost(patArchiveReq.getPageNum(), patArchiveReq.getPageSize());
         return getDataTable(heTaskService.getPatientInfo(patArchiveReq));
     }
 
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/TestLsController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/TestLsController.java
new file mode 100644
index 0000000..faa1ea6
--- /dev/null
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/TestLsController.java
@@ -0,0 +1,49 @@
+package com.ruoyi.web.controller.smartor;
+
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.common.core.domain.model.LoginUser;
+import com.ruoyi.common.core.page.TableDataInfo;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.smartor.domain.ServiceThirdData;
+import com.smartor.domain.SvyLibTopicRes;
+import com.smartor.domain.SvyTopic;
+import com.smartor.domain.SvyTopicReq;
+import com.smartor.service.IServiceThirdDataService;
+import com.smartor.service.ISvyTopicService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+
+/**
+ * 棰樼洰Controller
+ *
+ * @author ruoyi
+ * @date 2023-06-26
+ */
+@Api(description = "testController")
+@RestController
+@RequestMapping("/tc")
+public class TestLsController extends BaseController {
+    @Autowired
+    private IServiceThirdDataService iServiceThirdDataService;
+
+    /**
+     * 鏌ヨ棰樼洰鍒楄〃
+     */
+    @PostMapping("/list")
+    public TableDataInfo list(@RequestBody ServiceThirdData serviceThirdData) {
+        List<ServiceThirdData> list = iServiceThirdDataService.queryList(serviceThirdData);
+        return getDataTable(list);
+    }
+
+}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/test/pctest.java b/ruoyi-admin/src/main/java/com/ruoyi/web/test/pctest.java
index e176112..b28ead7 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/test/pctest.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/test/pctest.java
@@ -15,72 +15,96 @@
 import java.nio.file.Paths;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 public class pctest {
 
     public static void main(String[] args) {
-        String str = null;
-//        for (int i = 51; i <= 189; i++) {
-//        System.out.print(i + " ");
-        try {
+        // 寰呭尮閰嶇殑瀛楃涓�
+        String sentence = "135465465濂�46546";
 
-//                long l = System.currentTimeMillis();
-////                str = "2263艙189艙艙232105105搂鑳搁儴鑲跨槫绉戞棩闂寸梾鎴挎偅鑰�<font color='#30a6f5'>闅�</font><font color='#30a6f5'>璁�</font>搂11陇232334680搂鑳搁儴鑲跨槫绉戞偅鑰呭嚭闄�<font color='#30a6f5'>闅�</font><font color='#30a6f5'>璁�</font>搂19陇232313714搂鑳搁儴鑲跨槫绉戦绠$檶鎮h�呭嚭闄�<font color='#30a6f5'>闅�</font><font color='#30a6f5'>璁�</font>搂20陇232294126搂鑳搁儴鑲跨槫绉戣偤鐧屾偅鑰呭嚭闄�<font color='#30a6f5'>闅�</font><font color='#30a6f5'>璁�</font>搂22陇232231895搂TKA鏈悗<font color='#30a6f5'>闅�</font><font color='#30a6f5'>璁�</font>搂16陇232349695搂<font color='#30a6f5'>闅�</font><font color='#30a6f5'>璁�</font>1鏈埪�29陇232303115搂楂樼硸<font color='#30a6f5'>闅�</font><font color='#30a6f5'>璁�</font>宸ヤ綔鍩硅璇曢搂16陇232295017搂鑲跨槫<font color='#30a6f5'>闅�</font><font color='#30a6f5'>璁�</font>鐧昏鍩硅娴嬭瘯棰樎�15陇232233427搂鑰佸勾鍋ュ悍鐩戞祴闃熷垪<font color='#30a6f5'>闅�</font><font color='#30a6f5'>璁�</font>鍩硅娴嬭瘯搂10陇232215217搂24鐥呭尯IBD鎮h��<font color='#30a6f5'>闅�</font><font color='#30a6f5'>璁�</font>闂嵎锛�8.22-8.28锛壜�20陇232169849搂2023.8.25灏忛噾浜轰勘涔愰儴MDT闂ㄨ瘖<font color='#30a6f5'>闅�</font><font color='#30a6f5'>璁�</font>搂9陇232173705搂<font color='#30a6f5'>闅�</font><font color='#30a6f5'>璁�</font>淇℃伅鍙嶉琛�6陇";
-////                str = HttpUtils.sendGet("https://www.wjx.cn/handler/Search.ashx?input=%E9%9A%8F%E8%AE%BF&qc=&cp=" + i + "&nw=1&qt=1&accurate=0&t=" + l);
-//                while (true) {
-//                    if (str.contains("<font")) {
-//                        str = str.substring(0, str.indexOf("<font")) + str.substring(str.indexOf("</font>") + 7);
-//                    } else {
-////                        System.out.println(str);
+        // 瀹氫箟姝e垯琛ㄨ揪寮�
+//        String regex = ".*鍚冧簡.*鏃╀笂濂�.*";
+//        String regex = ".*鍚冧簡.*|.*鏃╀笂濂�.*";
+//        String regex = "^(?!.*寰堝ソ锛屽悆浜嗗悧).*|.*娌″悆.*鏃╀笂濂�.*鍖婚櫌.*";
+        String regex = "^(?!.鍒珅涓嶅彲|涓嶅彲闈�)(.(濂絴骞哥)+.*)$";
 
-            List<String> list = new ArrayList<>();
-            String folderPath = "E:/pc";
-            try {
-                Files.walk(Paths.get(folderPath)).filter(Files::isRegularFile).forEach(path -> list.add(path.getFileName().toString()));
-            } catch (IOException e) {
-                System.out.println("An error occurred while traversing the folder.");
-                e.printStackTrace();
-            }
+        // 缂栬瘧姝e垯琛ㄨ揪寮�
+        Pattern pattern = Pattern.compile(regex);
 
-            for (String name : list) {
-                name = name.substring(0, name.indexOf(".html"));
-//                String sd = "https://www.wjx.cn/xz/" + name + ".aspx";
-//                String content = HttpUtils.sendGet(sd, "review=1&u_atoken=31d3a0e6-e00e-483c-b956-b6177972e734&u_asession=01691hXKO9p1D59fHgd0NAIGdr-8HrPakCUS6X_v_Z43ohuMPPQJnwrrPl3mly-UFXYrO71Pz35K7wOrV6v8t3g9sq8AL43dpOnCClYrgFm6o&u_asig=052KZ_HPijdQddSitCTcvhNlwy7cGO2t46JgQGTyclFPT7xwZjoK0YBNED-DbuN5gugFYO36lFqDfxMpnRFufeLFk7BSuILL02zWW0QNCM-NWgLElQ9wTw7yMg4BFlXpIhOVzkXl1W45ZWoBPny57uZ3WVmTrcdvNBGM1L1rWev0UwpA9oQuqX4mfRyWspmK8gksmHjM0JOodanL5-M1Qs1Srh04GpT7zItRH0TxDThMR15LDAE7pTBPfvFUyoAgUl5gGKGQH-vEmN2Ae1t4GLLQkS6fjps_twKYxR-u2135jY94r_LXIIil3Y3aVPRGAe&u_aref=gk2k7DQa4vfdgaFwA4iVd7KUI4Q%3D", Constants.UTF8);
-//                String sd = "https://www.wjx.cn/xz/214877887.aspx?review=1&u_atoken=7ea94b7e-ff2c-4f9f-a16a-2377e7b932f7&u_asession=01mUmaPv86XmI35R93EFzW4vAn-_bjd_hg8O3aV3Qj_hY4LTkzoq3vcQyaBAt_bXG0L3UvT1OC8yhlQ_Vrlj1nD9sq8AL43dpOnCClYrgFm6o&u_asig=05qqfmDpV5jnzQ3zaOR-kKvhCvox19kVoC-lC8wI68PnJ7lkckawOfhM2Sz6TSlLyxhPCLiM-UkS5JtWfnNrZeTMme2Xl4_nh34yljc8iiZeJybY6mcSFGRriqnFvQfUeuCvV5odDJuWRnGyKMRbx_RypafWqYj328He90miD2j6an7QQBtuwLgtjfNI6ktmk7ksmHjM0JOodanL5-M1Qs1cOGKb4pT6nOz7TsF50O_Y5mwcLzFTlOSTrqpuPzNwho1AC5ZokKrUg3JS1GlbH-sRHfAvD91UjmwUK--AQbESDY94r_LXIIil3Y3aVPRGAe&u_aref=muWANYNZeB7WW%2B%2F7kLKv3uRT8ws%3D";
-//                String content = HttpUtils.sendGet(sd);
-                HttpRequest get = HttpUtil.createGet("https://www.wjx.cn/xz/215122141.aspx?review=1&u_atoken=ae7fe80c-bf23-4e45-bcda-e1a79738fa28&u_asession=014vQCkRvW7c3i2ofZKQ4cwL_Kbllht28bP58Yv5WaOmib7bTm0yOu3E9ghHeDwRromXsXiqHPUHP-r4N4zkLsNdsq8AL43dpOnCClYrgFm6o&u_asig=05cv8a98zgMB5Y5sCj2tshR0ymwhcsf5o0ZnRdzw_MWEqjWv9qUXA2y-W56hqxwwu62XCEZ1EDfpROWbv7u5K0esMlHJrRxH3x6MobynAbRVK73TZbz-pPzJrSvkDKmiOfptL_k4wm25Oa44SC2LnI-f_gUMOBxNBqpVgCnR54boOBWxWY3t65iSXiQbR5_szmksmHjM0JOodanL5-M1Qs1XAPImYHnI2tMZUJbFSrHeeZf56fnMo9lJFDBHsYIUFUSQYCfCQCLXjf34sWIadxtsAb6Kn2CIzT3kClvRmyaM_Y94r_LXIIil3Y3aVPRGAe&u_aref=OUtfes0VUTyTV7SKqEByRa9VGaU%3D");
-                String content = get.execute().body();
-                //鍒涘缓鏂囦欢澶�
-                Path folder = Paths.get("E:/pc2/" + name + ".html");
-                Files.createFile(folder);
-                Files.write(Paths.get("E:/pc2/" + name + ".html"), content.getBytes());
-            }
+        // 鍒涘缓 Matcher 瀵硅薄
+        Matcher matcher = pattern.matcher(sentence);
 
-
-//            int index = 0;
-//            while (true) {
-//                int dd = str.indexOf("陇", index) + 1;
-//                String newStr = str.substring(dd, str.indexOf("搂", dd));
-//                index = dd;
-//                String sd = "https://www.wjx.cn/xz/" + newStr + ".aspx";
-//                String content = HttpUtils.sendGet(sd, "review=1");
-//
-//                //鍒涘缓鏂囦欢澶�
-//                Path folder = Paths.get("E:/pc/" + newStr + ".html");
-//                Files.createFile(folder);
-//                Files.write(Paths.get("E:/pc/" + newStr + ".html"), content.getBytes());
-//
-//                if (index == -1) {
-//                    break;
-//                }
-//            }
-//            break;
-//                    }
-
-//                }
-
-        } catch (Exception e) {
+        // 杩涜鍖归厤
+        if (matcher.matches()) {
+            System.out.println("鍙ュ瓙涓寘鍚玕"鍚冧簡锛屾棭涓婂ソ\"銆�");
+        } else {
+            System.out.println("鍙ュ瓙涓笉鍖呭惈\"鍚冧簡锛屾棭涓婂ソ\"銆�");
         }
+//        String str = null;
+////        for (int i = 51; i <= 189; i++) {
+////        System.out.print(i + " ");
+//        try {
+//
+////                long l = System.currentTimeMillis();
+//////                str = "2263艙189艙艙232105105搂鑳搁儴鑲跨槫绉戞棩闂寸梾鎴挎偅鑰�<font color='#30a6f5'>闅�</font><font color='#30a6f5'>璁�</font>搂11陇232334680搂鑳搁儴鑲跨槫绉戞偅鑰呭嚭闄�<font color='#30a6f5'>闅�</font><font color='#30a6f5'>璁�</font>搂19陇232313714搂鑳搁儴鑲跨槫绉戦绠$檶鎮h�呭嚭闄�<font color='#30a6f5'>闅�</font><font color='#30a6f5'>璁�</font>搂20陇232294126搂鑳搁儴鑲跨槫绉戣偤鐧屾偅鑰呭嚭闄�<font color='#30a6f5'>闅�</font><font color='#30a6f5'>璁�</font>搂22陇232231895搂TKA鏈悗<font color='#30a6f5'>闅�</font><font color='#30a6f5'>璁�</font>搂16陇232349695搂<font color='#30a6f5'>闅�</font><font color='#30a6f5'>璁�</font>1鏈埪�29陇232303115搂楂樼硸<font color='#30a6f5'>闅�</font><font color='#30a6f5'>璁�</font>宸ヤ綔鍩硅璇曢搂16陇232295017搂鑲跨槫<font color='#30a6f5'>闅�</font><font color='#30a6f5'>璁�</font>鐧昏鍩硅娴嬭瘯棰樎�15陇232233427搂鑰佸勾鍋ュ悍鐩戞祴闃熷垪<font color='#30a6f5'>闅�</font><font color='#30a6f5'>璁�</font>鍩硅娴嬭瘯搂10陇232215217搂24鐥呭尯IBD鎮h��<font color='#30a6f5'>闅�</font><font color='#30a6f5'>璁�</font>闂嵎锛�8.22-8.28锛壜�20陇232169849搂2023.8.25灏忛噾浜轰勘涔愰儴MDT闂ㄨ瘖<font color='#30a6f5'>闅�</font><font color='#30a6f5'>璁�</font>搂9陇232173705搂<font color='#30a6f5'>闅�</font><font color='#30a6f5'>璁�</font>淇℃伅鍙嶉琛�6陇";
+//////                str = HttpUtils.sendGet("https://www.wjx.cn/handler/Search.ashx?input=%E9%9A%8F%E8%AE%BF&qc=&cp=" + i + "&nw=1&qt=1&accurate=0&t=" + l);
+////                while (true) {
+////                    if (str.contains("<font")) {
+////                        str = str.substring(0, str.indexOf("<font")) + str.substring(str.indexOf("</font>") + 7);
+////                    } else {
+//////                        System.out.println(str);
+//
+//            List<String> list = new ArrayList<>();
+//            String folderPath = "E:/pc";
+//            try {
+//                Files.walk(Paths.get(folderPath)).filter(Files::isRegularFile).forEach(path -> list.add(path.getFileName().toString()));
+//            } catch (IOException e) {
+//                System.out.println("An error occurred while traversing the folder.");
+//                e.printStackTrace();
+//            }
+//
+//            for (String name : list) {
+//                name = name.substring(0, name.indexOf(".html"));
+////                String sd = "https://www.wjx.cn/xz/" + name + ".aspx";
+////                String content = HttpUtils.sendGet(sd, "review=1&u_atoken=31d3a0e6-e00e-483c-b956-b6177972e734&u_asession=01691hXKO9p1D59fHgd0NAIGdr-8HrPakCUS6X_v_Z43ohuMPPQJnwrrPl3mly-UFXYrO71Pz35K7wOrV6v8t3g9sq8AL43dpOnCClYrgFm6o&u_asig=052KZ_HPijdQddSitCTcvhNlwy7cGO2t46JgQGTyclFPT7xwZjoK0YBNED-DbuN5gugFYO36lFqDfxMpnRFufeLFk7BSuILL02zWW0QNCM-NWgLElQ9wTw7yMg4BFlXpIhOVzkXl1W45ZWoBPny57uZ3WVmTrcdvNBGM1L1rWev0UwpA9oQuqX4mfRyWspmK8gksmHjM0JOodanL5-M1Qs1Srh04GpT7zItRH0TxDThMR15LDAE7pTBPfvFUyoAgUl5gGKGQH-vEmN2Ae1t4GLLQkS6fjps_twKYxR-u2135jY94r_LXIIil3Y3aVPRGAe&u_aref=gk2k7DQa4vfdgaFwA4iVd7KUI4Q%3D", Constants.UTF8);
+////                String sd = "https://www.wjx.cn/xz/214877887.aspx?review=1&u_atoken=7ea94b7e-ff2c-4f9f-a16a-2377e7b932f7&u_asession=01mUmaPv86XmI35R93EFzW4vAn-_bjd_hg8O3aV3Qj_hY4LTkzoq3vcQyaBAt_bXG0L3UvT1OC8yhlQ_Vrlj1nD9sq8AL43dpOnCClYrgFm6o&u_asig=05qqfmDpV5jnzQ3zaOR-kKvhCvox19kVoC-lC8wI68PnJ7lkckawOfhM2Sz6TSlLyxhPCLiM-UkS5JtWfnNrZeTMme2Xl4_nh34yljc8iiZeJybY6mcSFGRriqnFvQfUeuCvV5odDJuWRnGyKMRbx_RypafWqYj328He90miD2j6an7QQBtuwLgtjfNI6ktmk7ksmHjM0JOodanL5-M1Qs1cOGKb4pT6nOz7TsF50O_Y5mwcLzFTlOSTrqpuPzNwho1AC5ZokKrUg3JS1GlbH-sRHfAvD91UjmwUK--AQbESDY94r_LXIIil3Y3aVPRGAe&u_aref=muWANYNZeB7WW%2B%2F7kLKv3uRT8ws%3D";
+////                String content = HttpUtils.sendGet(sd);
+//                HttpRequest get = HttpUtil.createGet("https://www.wjx.cn/xz/215122141.aspx?review=1&u_atoken=ae7fe80c-bf23-4e45-bcda-e1a79738fa28&u_asession=014vQCkRvW7c3i2ofZKQ4cwL_Kbllht28bP58Yv5WaOmib7bTm0yOu3E9ghHeDwRromXsXiqHPUHP-r4N4zkLsNdsq8AL43dpOnCClYrgFm6o&u_asig=05cv8a98zgMB5Y5sCj2tshR0ymwhcsf5o0ZnRdzw_MWEqjWv9qUXA2y-W56hqxwwu62XCEZ1EDfpROWbv7u5K0esMlHJrRxH3x6MobynAbRVK73TZbz-pPzJrSvkDKmiOfptL_k4wm25Oa44SC2LnI-f_gUMOBxNBqpVgCnR54boOBWxWY3t65iSXiQbR5_szmksmHjM0JOodanL5-M1Qs1XAPImYHnI2tMZUJbFSrHeeZf56fnMo9lJFDBHsYIUFUSQYCfCQCLXjf34sWIadxtsAb6Kn2CIzT3kClvRmyaM_Y94r_LXIIil3Y3aVPRGAe&u_aref=OUtfes0VUTyTV7SKqEByRa9VGaU%3D");
+//                String content = get.execute().body();
+//                //鍒涘缓鏂囦欢澶�
+//                Path folder = Paths.get("E:/pc2/" + name + ".html");
+//                Files.createFile(folder);
+//                Files.write(Paths.get("E:/pc2/" + name + ".html"), content.getBytes());
+//            }
+//
+//
+////            int index = 0;
+////            while (true) {
+////                int dd = str.indexOf("陇", index) + 1;
+////                String newStr = str.substring(dd, str.indexOf("搂", dd));
+////                index = dd;
+////                String sd = "https://www.wjx.cn/xz/" + newStr + ".aspx";
+////                String content = HttpUtils.sendGet(sd, "review=1");
+////
+////                //鍒涘缓鏂囦欢澶�
+////                Path folder = Paths.get("E:/pc/" + newStr + ".html");
+////                Files.createFile(folder);
+////                Files.write(Paths.get("E:/pc/" + newStr + ".html"), content.getBytes());
+////
+////                if (index == -1) {
+////                    break;
+////                }
+////            }
+////            break;
+////                    }
+//
+////                }
+//
+//        } catch (Exception e) {
+//        }
     }
 }
 //}
+
diff --git a/ruoyi-admin/src/main/resources/application-druid.yml b/ruoyi-admin/src/main/resources/application-druid.yml
index 5f45c63..c96831d 100644
--- a/ruoyi-admin/src/main/resources/application-druid.yml
+++ b/ruoyi-admin/src/main/resources/application-druid.yml
@@ -2,23 +2,25 @@
 spring:
   datasource:
     type: com.alibaba.druid.pool.DruidDataSource
-    driverClassName: com.mysql.cj.jdbc.Driver
+    #    driverClassName: com.mysql.cj.jdbc.Driver
     druid:
       # 涓诲簱鏁版嵁婧�
       master:
-#        url: jdbc:mysql://127.0.0.1:3306/smartor?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
+        #        url: jdbc:mysql://127.0.0.1:3306/smartor?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
         #        username: root
         #        password: 123456
         url: jdbc:mysql://116.62.18.175:6002/smartor?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
         username: hxsoft
         password: Hxerp2000
+        driverClassName: com.mysql.cj.jdbc.Driver
       # 浠庡簱鏁版嵁婧�
       slave:
         # 浠庢暟鎹簮寮�鍏�/榛樿鍏抽棴
-        enabled: false
-        url:
-        username:
-        password:
+        enabled: true
+        url: jdbc:sqlserver://116.62.18.175:6001;DatabaseName=iv-ywey;encrypt=false;SelectMethod=cursor
+        username: sa
+        password: Hxerp2000
+        driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver
       # 鍒濆杩炴帴鏁�
       initialSize: 5
       # 鏈�灏忚繛鎺ユ睜鏁伴噺
@@ -34,20 +36,21 @@
       # 閰嶇疆涓�涓繛鎺ュ湪姹犱腑鏈�澶х敓瀛樼殑鏃堕棿锛屽崟浣嶆槸姣
       maxEvictableIdleTimeMillis: 900000
       # 閰嶇疆妫�娴嬭繛鎺ユ槸鍚︽湁鏁�
-      validationQuery: SELECT 1 FROM DUAL
+      #      validationQuery: SELECT 1 FROM DUAL
+      validationQuery: SELECT 1
       testWhileIdle: true
       testOnBorrow: false
       testOnReturn: false
       webStatFilter:
         enabled: true
       statViewServlet:
-        enabled: true
+        enabled: false
         # 璁剧疆鐧藉悕鍗曪紝涓嶅~鍒欏厑璁告墍鏈夎闂�
         allow:
         url-pattern: /druid/*
         # 鎺у埗鍙扮鐞嗙敤鎴峰悕鍜屽瘑鐮�
-        login-username: ruoyi
-        login-password: 123456
+        login-username: lihu
+        login-password: Lihu@1363419#$
       filter:
         stat:
           enabled: true
diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml
index b13553d..f18d0ec 100644
--- a/ruoyi-admin/src/main/resources/application.yml
+++ b/ruoyi-admin/src/main/resources/application.yml
@@ -1,7 +1,7 @@
 # 椤圭洰鐩稿叧閰嶇疆
 ruoyi:
   # 鍚嶇О
-  name: RuoYi
+  name: lihu
   # 鐗堟湰
   version: 3.8.5
   # 鐗堟潈骞翠唤
diff --git a/ruoyi-admin/src/main/resources/logback.xml b/ruoyi-admin/src/main/resources/logback.xml
index 9c29df4..5207784 100644
--- a/ruoyi-admin/src/main/resources/logback.xml
+++ b/ruoyi-admin/src/main/resources/logback.xml
@@ -81,7 +81,7 @@
 	</root>
 	
 	<!--绯荤粺鎿嶄綔鏃ュ織-->
-    <root level="info">
+    <root level="debug">
         <appender-ref ref="file_info" />
         <appender-ref ref="file_error" />
     </root>
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/enums/AdmTypeEnum.java b/ruoyi-common/src/main/java/com/ruoyi/common/enums/AdmTypeEnum.java
new file mode 100644
index 0000000..6117c7e
--- /dev/null
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/enums/AdmTypeEnum.java
@@ -0,0 +1,43 @@
+package com.ruoyi.common.enums;
+
+public enum AdmTypeEnum {
+
+    JZ("E", "鎬ヨ瘖"), ZY("I", "浣忛櫌"), MZ("O", "闂ㄨ瘖"), TJ("T", "浣撴");
+
+
+    private String code;
+    private String desc;
+
+    AdmTypeEnum(String code, String desc) {
+        this.code = code;
+        this.desc = desc;
+    }
+
+    public static String getDescByCode(String code) {
+        AdmTypeEnum[] organEnums = values();
+        for (int i = 0; i < organEnums.length; i++) {
+            AdmTypeEnum organEnum = organEnums[i];
+            if (organEnum.getCode().equals(code)) {
+                return organEnum.getDesc();
+            }
+        }
+        return null;
+    }
+
+
+    public String getCode() {
+        return code;
+    }
+
+    public void setCode(String code) {
+        this.code = code;
+    }
+
+    public String getDesc() {
+        return desc;
+    }
+
+    public void setDesc(String desc) {
+        this.desc = desc;
+    }
+}
\ No newline at end of file
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/enums/FollowUpEnum.java b/ruoyi-common/src/main/java/com/ruoyi/common/enums/FollowUpEnum.java
index 9106552..7ec5283 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/enums/FollowUpEnum.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/enums/FollowUpEnum.java
@@ -3,6 +3,7 @@
 public enum FollowUpEnum {
 
     HZGH("ADT^A04", "鎮h�呮寕鍙�"),
+    YZZXJH("RGV^O15", "鍖诲槺鎵ц璁″垝"),
     WCJZ("REF^I12", "瀹屾垚鎺ヨ瘖"),
     CFSQ("OMP^O09[NW~PH~IP]", "澶勬柟鐢宠"),
     CFSFQR("OMP^O09[OK^SC]", "澶勬柟鏀惰垂纭"),
@@ -20,6 +21,8 @@
     HZJBXXXG("ADT^A31", "鎮h�呭熀鏈俊鎭慨鏀�"),
 
     HZRY("ADT^A01", "鎮h�呭叆闄�"),
+    HZCY("ADT^A03", "鎮h�呭嚭闄�"),
+    HZJD("ADT^A28", "鎮h�呭缓妗�"),
     HZQXRY("ADT^A11", "鎮h�呭彇娑堝叆闄�"),
     HZRK("ADT^A10", "鎮h�呭叆绉�"),
     HZQXRK("ADT^A32", "鎮h�呭彇娑堝叆绉�"),
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/enums/LevelHospEnum.java b/ruoyi-common/src/main/java/com/ruoyi/common/enums/LevelHospEnum.java
new file mode 100644
index 0000000..b8e451a
--- /dev/null
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/enums/LevelHospEnum.java
@@ -0,0 +1,45 @@
+package com.ruoyi.common.enums;
+
+public enum LevelHospEnum {
+
+    QY("01", "鐥婃剤"), HZ("02", "濂借浆"), WY("03", "鏈剤"), SW("04", "姝讳骸"), WZ("05", "鏈不"), LY("06", "绂婚櫌"), LYY("07", "鐣欓櫌"),
+
+    QT("09", "鍏跺寲");
+
+
+    private String code;
+    private String desc;
+
+    LevelHospEnum(String code, String desc) {
+        this.code = code;
+        this.desc = desc;
+    }
+
+    public static String getDescByCode(String code) {
+        LevelHospEnum[] organEnums = values();
+        for (int i = 0; i < organEnums.length; i++) {
+            LevelHospEnum organEnum = organEnums[i];
+            if (organEnum.getCode().equals(code)) {
+                return organEnum.getDesc();
+            }
+        }
+        return null;
+    }
+
+
+    public String getCode() {
+        return code;
+    }
+
+    public void setCode(String code) {
+        this.code = code;
+    }
+
+    public String getDesc() {
+        return desc;
+    }
+
+    public void setDesc(String desc) {
+        this.desc = desc;
+    }
+}
\ No newline at end of file
diff --git a/ruoyi-quartz/pom.xml b/ruoyi-quartz/pom.xml
index 1922bcf..cf1641a 100644
--- a/ruoyi-quartz/pom.xml
+++ b/ruoyi-quartz/pom.xml
@@ -34,6 +34,11 @@
             <groupId>com.ruoyi</groupId>
             <artifactId>ruoyi-common</artifactId>
         </dependency>
+        <dependency>
+            <groupId>com.ruoyi</groupId>
+            <artifactId>smartor</artifactId>
+            <version>3.8.5</version>
+        </dependency>
 
     </dependencies>
 
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 853243b..a13e7e3 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
@@ -1,28 +1,43 @@
 package com.ruoyi.quartz.task;
 
+import com.smartor.domain.ServiceThirdData;
+import com.smartor.service.IServiceThirdDataService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 import com.ruoyi.common.utils.StringUtils;
 
+import java.util.Date;
+
 /**
  * 瀹氭椂浠诲姟璋冨害娴嬭瘯
- * 
+ *
  * @author ruoyi
  */
 @Component("ryTask")
-public class RyTask
-{
-    public void ryMultipleParams(String s, Boolean b, Long l, Double d, Integer i)
-    {
+public class RyTask {
+    @Autowired
+    private IServiceThirdDataService iServiceThirdDataService;
+
+    public void ryMultipleParams(String s, Boolean b, Long l, Double d, Integer i) {
         System.out.println(StringUtils.format("鎵ц澶氬弬鏂规硶锛� 瀛楃涓茬被鍨媨}锛屽竷灏旂被鍨媨}锛岄暱鏁村瀷{}锛屾诞鐐瑰瀷{}锛屾暣褰}", s, b, l, d, i));
     }
 
-    public void ryParams(String params)
-    {
+    public void ryParams(String params) {
         System.out.println("鎵ц鏈夊弬鏂规硶锛�" + params);
     }
 
-    public void ryNoParams()
-    {
+    public void ryNoParams() {
         System.out.println("鎵ц鏃犲弬鏂规硶");
     }
+
+    public void analysisData() {
+        System.out.println("---------------------------");
+        //鏁版嵁瑙f瀽
+        ServiceThirdData serviceThirdData = new ServiceThirdData();
+        serviceThirdData.setDataType("ADT^A03");
+        serviceThirdData.setIsDeal(0);
+        serviceThirdData.setCreateTime(new Date());
+        iServiceThirdDataService.queryList(serviceThirdData);
+
+    }
 }
diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/ScheduleUtils.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/ScheduleUtils.java
index 99253aa..d921273 100644
--- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/ScheduleUtils.java
+++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/ScheduleUtils.java
@@ -85,7 +85,7 @@
         {
             // 鎵ц璋冨害浠诲姟
             scheduler.scheduleJob(jobDetail, trigger);
-            scheduler.deleteJob(jobDetail.getKey());
+//            scheduler.deleteJob(jobDetail.getKey());
         }
 
         // 鏆傚仠浠诲姟
diff --git a/smartor/pom.xml b/smartor/pom.xml
index 081a1c8..abede7c 100644
--- a/smartor/pom.xml
+++ b/smartor/pom.xml
@@ -95,6 +95,25 @@
             <artifactId>nls-sdk-tts</artifactId>
             <version>2.2.1</version>
         </dependency>
+
+        <!-- https://mvnrepository.com/artifact/ca.uhn.hapi/hapi-base -->
+        <dependency>
+            <groupId>ca.uhn.hapi</groupId>
+            <artifactId>hapi-base</artifactId>
+            <version>2.3</version>
+        </dependency>
+        <!-- https://mvnrepository.com/artifact/ca.uhn.hapi/hapi-structures-v24 -->
+        <dependency>
+            <groupId>ca.uhn.hapi</groupId>
+            <artifactId>hapi-structures-v24</artifactId>
+            <version>2.3</version>
+        </dependency>
+
+        <dependency>
+            <groupId>com.googlecode.json-simple</groupId>
+            <artifactId>json-simple</artifactId>
+            <version>1.1.1</version>
+        </dependency>
     </dependencies>
 
 
diff --git a/smartor/src/main/java/com/smartor/domain/HeLibrary.java b/smartor/src/main/java/com/smartor/domain/HeLibrary.java
index f9c950a..bdd1876 100644
--- a/smartor/src/main/java/com/smartor/domain/HeLibrary.java
+++ b/smartor/src/main/java/com/smartor/domain/HeLibrary.java
@@ -53,7 +53,7 @@
      */
     @Excel(name = " 鐗堟湰 ")
     @ApiModelProperty("鐗堟湰")
-    private BigDecimal version;
+    private String version;
 
     /**
      * 瀹f暀褰㈠紡 :鏂囨湰銆佸浘鐗囥�佽闊炽�佽棰戙�佹贩鍚�
@@ -186,7 +186,7 @@
      */
     @Excel(name = "閫傜敤鏂瑰紡锛氳皟鏌ヨ〃1锛屾櫤鑳借闊�2銆佷汉宸�3")
     @ApiModelProperty("閫傜敤鏂瑰紡锛氳皟鏌ヨ〃1锛屾櫤鑳借闊�2銆佷汉宸�3")
-    private String suitway;
+    private String suitway = "";
 
     /**
      * 绉戝鍚嶇О
diff --git a/smartor/src/main/java/com/smartor/domain/HeLibraryVO.java b/smartor/src/main/java/com/smartor/domain/HeLibraryVO.java
index ca832a8..476c39a 100644
--- a/smartor/src/main/java/com/smartor/domain/HeLibraryVO.java
+++ b/smartor/src/main/java/com/smartor/domain/HeLibraryVO.java
@@ -55,7 +55,7 @@
      */
     @Excel(name = " 鐗堟湰 ")
     @ApiModelProperty("鐗堟湰")
-    private BigDecimal version;
+    private String version;
 
     /**
      * 瀹f暀褰㈠紡 :鏂囨湰銆佸浘鐗囥�佽闊炽�佽棰戙�佹贩鍚�
@@ -209,7 +209,7 @@
      */
     @Excel(name = "閫傜敤鏂瑰紡锛氳皟鏌ヨ〃1锛屾櫤鑳借闊�2銆佷汉宸�3")
     @ApiModelProperty("閫傜敤鏂瑰紡锛氳皟鏌ヨ〃1锛屾櫤鑳借闊�2銆佷汉宸�3")
-    private String suitway;
+    private String suitway = "";
 
     @ApiModelProperty("鎸囨爣鏍囩瀵硅薄闆嗗悎")
     private List<HeLibraryTag> heLibraryTagList = new ArrayList<>();
diff --git a/smartor/src/main/java/com/smartor/domain/HeTaskVO.java b/smartor/src/main/java/com/smartor/domain/HeTaskVO.java
index f7dca7e..ce7900c 100644
--- a/smartor/src/main/java/com/smartor/domain/HeTaskVO.java
+++ b/smartor/src/main/java/com/smartor/domain/HeTaskVO.java
@@ -214,4 +214,11 @@
      */
     private HeLibraryVO heLibraryVOs;
 
+    /**
+     * 鏄惁瀛樺湪鎿嶄綔锛�1 鏂板 2淇敼 3鍒犻櫎
+     */
+    @ApiModelProperty(value = "鏄惁瀛樺湪鎿嶄綔锛�1 鏂板 2淇敼 3鍒犻櫎")
+    private Integer isoperation;
+
+
 }
diff --git a/smartor/src/main/java/com/smartor/domain/HospitalRecord.java b/smartor/src/main/java/com/smartor/domain/HospitalRecord.java
new file mode 100644
index 0000000..14133cc
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/domain/HospitalRecord.java
@@ -0,0 +1,366 @@
+package com.smartor.domain;
+
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+
+import java.util.Date;
+
+/**
+ * 銆愯濉啓鍔熻兘鍚嶇О銆戝璞� hospital_record
+ *
+ * @author ruoyi
+ * @date 2024-01-26
+ */
+@Data
+@ApiModel(value = "HospitalRecord", description = "鍖婚櫌鎮h�呰褰�")
+public class HospitalRecord extends BaseEntity {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private Long ID;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String sourceSystem;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String messageID;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String methodName;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String reqIimRules;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String patientID;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private Date opreationTime;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String episodeID;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String outMedNO;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String inMedNO;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String visitNum;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String admTypeCode;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String admTypeDesc;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String admStatus;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String admDate;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String encPatName;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String encPatGender;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String encPatBirthDate;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String transferstart;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String transferend;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String encPatMaritalStatus;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String originalText;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String encDocList;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String encAdmLocList;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String encounterPeriodStart;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String encounterPeriodEnd;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String encounterBooktime;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String encAdmSource;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String encInhostype;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String encDietName;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String encOuthostype;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String encVisitnum;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String encChargeType;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String encChargeTypeName;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String encChargeCode;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String encChargeName;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String encReglevelcode;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String encCareLevel;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String specialday;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String primaryday;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String secondaryday;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String tertiaryday;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String enroomno;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String enBedno;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String encSeeno;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String encAgeUnit;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String encAgeValue;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String enIsbaby;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String encHavebaby;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String encDiagList;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String directorCode;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String directorName;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String encDiagnosisCode;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String encDiagnosisDesc;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String encAdmLocCode;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String encAdmLocName;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private Long taskStatus;
+
+
+}
diff --git a/smartor/src/main/java/com/smartor/domain/HospitalUserinfo.java b/smartor/src/main/java/com/smartor/domain/HospitalUserinfo.java
new file mode 100644
index 0000000..57e1bad
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/domain/HospitalUserinfo.java
@@ -0,0 +1,518 @@
+package com.smartor.domain;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+
+import java.util.Date;
+
+/**
+ * 銆愯濉啓鍔熻兘鍚嶇О銆戝璞� hospital_userinfo
+ *
+ * @author ruoyi
+ * @date 2024-01-29
+ */
+@Data
+public class HospitalUserinfo{
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * $column.columnComment
+     */
+    private Long ID;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String SourceSystem;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String MessageID;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String MethodName;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String ReqIimRules;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String PatientID;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String VisitNum;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String RegDate;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String IdentityID;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String PatName;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String Phone;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String PatSex;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String BirthDate;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String Address;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String AddProvince;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String AddCity;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String AddCounty;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String AddTown;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String AddVillage;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String AddHouseNo;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String HouseAddress;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String HouseAddProvince;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String HouseAddCity;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String HouseAddCounty;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String HouseAddTown;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String HouseAddVillage;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String HouseAddHouseNo;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String BirthAddress;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String BirthAddProvince;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String BirthAddCity;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String BirthAddCounty;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String BirthAddTown;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String BirthAddVillage;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String BirthAddHouseNo;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String ContactsAddress;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String ContactsAddProvince;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String ContactsAddCity;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String ContactsAddCounty;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String ContactsAddTown;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String ContactsAddVillage;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String ContactsAddHouseNo;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String NativeAddress;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String NativeAddProvince;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String NativeAddCity;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String NativeAddCounty;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String NativeAddTown;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String NativeAddVillage;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String NativeAddHouseNo;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String PostalCode;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String HouseCode;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String WorkCode;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String MaritalStatus;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String Country;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String Nation;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String NationCode;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String OccupType;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String OccupTypeCode;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String WorkUnit;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String WorkPhone;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String HCardNo;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String HCIssuersCode;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String HUrbanCode;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String MedOrgCode;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String paycode;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String payname;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String ConRelShip;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String ConPerPhone;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String ConPerName;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String RegOrgCode;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String RegOrgDesc;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String InsureOrgName;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String InsureOrgCode;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String RegEmpCode;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String RegEmpName;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String INEnroomno;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String OUTEnroomno;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String EncAdmSource;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String Directordoc;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String Attenddoc;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String Beddoc;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String Bednur;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String Regdoc;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     */
+    private String CreateTime;
+
+}
diff --git a/smartor/src/main/java/com/smartor/domain/IvrLibaTemplateTag.java b/smartor/src/main/java/com/smartor/domain/IvrLibaTemplateTag.java
index bcbe8b3..d04f838 100644
--- a/smartor/src/main/java/com/smartor/domain/IvrLibaTemplateTag.java
+++ b/smartor/src/main/java/com/smartor/domain/IvrLibaTemplateTag.java
@@ -99,6 +99,13 @@
     private String guid;
 
     /**
+     * GUID
+     */
+    @Excel(name = "GUID")
+    @ApiModelProperty(value = "GUID")
+    private String tagname;
+
+    /**
      * 鏄惁瀛樺湪鎿嶄綔锛�1 鏂板 2淇敼 3鍒犻櫎
      */
     @ApiModelProperty(value = "鏄惁瀛樺湪鎿嶄綔锛�1 鏂板 2淇敼 3鍒犻櫎")
diff --git a/smartor/src/main/java/com/smartor/domain/PatArchive.java b/smartor/src/main/java/com/smartor/domain/PatArchive.java
index a0f9302..53cfd03 100644
--- a/smartor/src/main/java/com/smartor/domain/PatArchive.java
+++ b/smartor/src/main/java/com/smartor/domain/PatArchive.java
@@ -211,6 +211,13 @@
     @Excel(name = " 绉戝 ")
     private String dept;
 
+    /**
+     * 閽夐拤鍙�
+     */
+    @ApiModelProperty("绉戝")
+    @Excel(name = " 绉戝 ")
+    private String bedNo;
+
     @Override
     public String toString() {
         return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE).append("patid", getPatid()).append("name", getName()).append("sex", getSex()).append("idcardno", getIdcardno()).append("birthdate", getBirthdate()).append("age", getAge()).append("source", getSource()).append("archivetime", getArchivetime()).append("archiveby", getArchiveby()).append("telcode", getTelcode()).append("relativetelcode", getRelativetelcode()).append("idcardtype", getIdcardtype()).append("orgid", getOrgid()).append("openid", getOpenid()).append("delFlag", getDelFlag()).append("updateBy", getUpdateBy()).append("updateTime", getUpdateTime()).append("createBy", getCreateBy()).append("createTime", getCreateTime()).append("isupload", getIsupload()).append("uploadTime", getUploadTime()).toString();
diff --git a/smartor/src/main/java/com/smartor/domain/PatArchivetag.java b/smartor/src/main/java/com/smartor/domain/PatArchivetag.java
index 7fe6cc5..3196395 100644
--- a/smartor/src/main/java/com/smartor/domain/PatArchivetag.java
+++ b/smartor/src/main/java/com/smartor/domain/PatArchivetag.java
@@ -84,8 +84,5 @@
     @ApiModelProperty(value = "鏄惁瀛樺湪鎿嶄綔锛�1 鏂板 2淇敼 3鍒犻櫎")
     private Integer isoperation;
 
-    @Override
-    public String toString() {
-        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE).append("tagname", getTagname()).append("id", getId()).append("tagcategoryid", getTagcategoryid()).append("tagid", getTagid()).append("orgid", getOrgid()).append("delFlag", getDelFlag()).append("updateBy", getUpdateBy()).append("updateTime", getUpdateTime()).append("createBy", getCreateBy()).append("createTime", getCreateTime()).append("isupload", getIsupload()).append("uploadTime", getUploadTime()).append("patid", getPatid()).toString();
-    }
+
 }
diff --git a/smartor/src/main/java/com/smartor/domain/PatHetaskRelevance.java b/smartor/src/main/java/com/smartor/domain/PatHetaskRelevance.java
index e4bb02b..c265e53 100644
--- a/smartor/src/main/java/com/smartor/domain/PatHetaskRelevance.java
+++ b/smartor/src/main/java/com/smartor/domain/PatHetaskRelevance.java
@@ -8,6 +8,8 @@
 import com.ruoyi.common.annotation.Excel;
 import com.ruoyi.common.core.domain.BaseEntity;
 
+import java.util.Date;
+
 /**
  * 鎮h�呬笌瀹f暀浠诲姟鍏宠仈瀵硅薄 pat_hetask_relevance
  *
@@ -31,7 +33,7 @@
      */
     @Excel(name = "鎮h�匢D")
     @ApiModelProperty("鎮h�匢D")
-    private Long patId;
+    private Long patid;
 
     /**
      * 瀹f暀浠诲姟ID
@@ -41,10 +43,10 @@
     private Long heTaskId;
 
     /**
-     * 鍒犻櫎锛�0涓嶅垹闄�  1鍒犻櫎
+     * 鍒犻櫎鏍囪
      */
-    @ApiModelProperty("鍒犻櫎锛�0涓嶅垹闄�  1鍒犻櫎")
-    private Long delFlag;
+    @ApiModelProperty(value = "鍒犻櫎鏍囪")
+    private String delFlag;
 
     /**
      * 濮撳悕
@@ -72,7 +74,7 @@
      */
     @Excel(name = "搴婂彿")
     @ApiModelProperty("搴婂彿")
-    private Long badNo;
+    private Long bedno;
 
     /**
      * 绉戝
@@ -102,4 +104,41 @@
     @ApiModelProperty("鐥呭巻鍙�")
     private String medicalRecordNo;
 
+    /**
+     * 鐥呭巻鍙�
+     */
+    @Excel(name = "鍙戦�佺姸鎬�")
+    @ApiModelProperty("鍙戦�佺姸鎬�")
+    private Integer sendStatus;
+
+
+    /**
+     * 鍙戦�佹椂闂�
+     */
+    @Excel(name = "鍙戦�佹椂闂�")
+    @ApiModelProperty("鍙戦�佹椂闂�")
+    private Date sendTime;
+
+
+    /**
+     * 鎿嶄綔浜�
+     */
+    @Excel(name = "鎿嶄綔浜�")
+    @ApiModelProperty("鎿嶄綔浜�")
+    private String operatePerson;
+
+
+    /**
+     * 鎺ユ敹鏃堕棿
+     */
+    @Excel(name = "鎺ユ敹鏃堕棿")
+    @ApiModelProperty("鎺ユ敹鏃堕棿")
+    private String receiveTime;
+
+    /**
+     * 鏄惁瀛樺湪鎿嶄綔锛�1 鏂板 2淇敼 3鍒犻櫎
+     */
+    @ApiModelProperty(value = "鏄惁瀛樺湪鎿嶄綔锛�1 鏂板 2淇敼 3鍒犻櫎")
+    private Integer isoperation;
+
 }
diff --git a/smartor/src/main/java/com/smartor/domain/SvyLibTopic.java b/smartor/src/main/java/com/smartor/domain/SvyLibTopic.java
index add6f81..487966a 100644
--- a/smartor/src/main/java/com/smartor/domain/SvyLibTopic.java
+++ b/smartor/src/main/java/com/smartor/domain/SvyLibTopic.java
@@ -39,7 +39,7 @@
     /**
      * 闂埜棰樼洰鍒嗙被ID
      */
-    @ApiModelProperty("鑰佺増鏈琁D")
+    @ApiModelProperty("鍒嗙被ID")
     private Long categoryid;
 
     /**
diff --git a/smartor/src/main/java/com/smartor/mapper/HospitalRecordMapper.java b/smartor/src/main/java/com/smartor/mapper/HospitalRecordMapper.java
new file mode 100644
index 0000000..2c7a64f
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/mapper/HospitalRecordMapper.java
@@ -0,0 +1,66 @@
+package com.smartor.mapper;
+
+import com.ruoyi.common.annotation.DataSource;
+import com.ruoyi.common.enums.DataSourceType;
+import com.smartor.domain.HospitalRecord;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+/**
+ * 銆愯濉啓鍔熻兘鍚嶇О銆慚apper鎺ュ彛
+ *
+ * @author ruoyi
+ * @date 2024-01-26
+ */
+@DataSource(value = DataSourceType.SLAVE)
+@Mapper
+public interface HospitalRecordMapper {
+    /**
+     * 鏌ヨ銆愯濉啓鍔熻兘鍚嶇О銆�
+     *
+     * @param ID 銆愯濉啓鍔熻兘鍚嶇О銆戜富閿�
+     * @return 銆愯濉啓鍔熻兘鍚嶇О銆�
+     */
+    public HospitalRecord selectHospitalRecordByID(String ID);
+
+    /**
+     * 鏌ヨ銆愯濉啓鍔熻兘鍚嶇О銆戝垪琛�
+     *
+     * @param hospitalRecord 銆愯濉啓鍔熻兘鍚嶇О銆�
+     * @return 銆愯濉啓鍔熻兘鍚嶇О銆戦泦鍚�
+     */
+    public List<HospitalRecord> selectHospitalRecordList(HospitalRecord hospitalRecord);
+
+    /**
+     * 鏂板銆愯濉啓鍔熻兘鍚嶇О銆�
+     *
+     * @param hospitalRecord 銆愯濉啓鍔熻兘鍚嶇О銆�
+     * @return 缁撴灉
+     */
+    public int insertHospitalRecord(HospitalRecord hospitalRecord);
+
+    /**
+     * 淇敼銆愯濉啓鍔熻兘鍚嶇О銆�
+     *
+     * @param hospitalRecord 銆愯濉啓鍔熻兘鍚嶇О銆�
+     * @return 缁撴灉
+     */
+    public int updateHospitalRecord(HospitalRecord hospitalRecord);
+
+    /**
+     * 鍒犻櫎銆愯濉啓鍔熻兘鍚嶇О銆�
+     *
+     * @param ID 銆愯濉啓鍔熻兘鍚嶇О銆戜富閿�
+     * @return 缁撴灉
+     */
+    public int deleteHospitalRecordByID(String ID);
+
+    /**
+     * 鎵归噺鍒犻櫎銆愯濉啓鍔熻兘鍚嶇О銆�
+     *
+     * @param IDs 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteHospitalRecordByIDs(String[] IDs);
+}
diff --git a/smartor/src/main/java/com/smartor/mapper/HospitalUserinfoMapper.java b/smartor/src/main/java/com/smartor/mapper/HospitalUserinfoMapper.java
new file mode 100644
index 0000000..8ccfaa2
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/mapper/HospitalUserinfoMapper.java
@@ -0,0 +1,66 @@
+package com.smartor.mapper;
+
+import com.ruoyi.common.annotation.DataSource;
+import com.ruoyi.common.enums.DataSourceType;
+import com.smartor.domain.HospitalUserinfo;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+/**
+ * 銆愯濉啓鍔熻兘鍚嶇О銆慚apper鎺ュ彛
+ *
+ * @author ruoyi
+ * @date 2024-01-29
+ */
+@DataSource(value = DataSourceType.SLAVE)
+@Mapper
+public interface HospitalUserinfoMapper {
+    /**
+     * 鏌ヨ銆愯濉啓鍔熻兘鍚嶇О銆�
+     *
+     * @param ID 銆愯濉啓鍔熻兘鍚嶇О銆戜富閿�
+     * @return 銆愯濉啓鍔熻兘鍚嶇О銆�
+     */
+    public HospitalUserinfo selectHospitalUserinfoByID(Long ID);
+
+    /**
+     * 鏌ヨ銆愯濉啓鍔熻兘鍚嶇О銆戝垪琛�
+     *
+     * @param hospitalUserinfo 銆愯濉啓鍔熻兘鍚嶇О銆�
+     * @return 銆愯濉啓鍔熻兘鍚嶇О銆戦泦鍚�
+     */
+    public List<HospitalUserinfo> selectHospitalUserinfoList(HospitalUserinfo hospitalUserinfo);
+
+    /**
+     * 鏂板銆愯濉啓鍔熻兘鍚嶇О銆�
+     *
+     * @param hospitalUserinfo 銆愯濉啓鍔熻兘鍚嶇О銆�
+     * @return 缁撴灉
+     */
+    public int insertHospitalUserinfo(HospitalUserinfo hospitalUserinfo);
+
+    /**
+     * 淇敼銆愯濉啓鍔熻兘鍚嶇О銆�
+     *
+     * @param hospitalUserinfo 銆愯濉啓鍔熻兘鍚嶇О銆�
+     * @return 缁撴灉
+     */
+    public int updateHospitalUserinfo(HospitalUserinfo hospitalUserinfo);
+
+    /**
+     * 鍒犻櫎銆愯濉啓鍔熻兘鍚嶇О銆�
+     *
+     * @param ID 銆愯濉啓鍔熻兘鍚嶇О銆戜富閿�
+     * @return 缁撴灉
+     */
+    public int deleteHospitalUserinfoByID(Long ID);
+
+    /**
+     * 鎵归噺鍒犻櫎銆愯濉啓鍔熻兘鍚嶇О銆�
+     *
+     * @param IDs 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteHospitalUserinfoByIDs(Long[] IDs);
+}
diff --git a/smartor/src/main/java/com/smartor/mapper/ServiceThirdDataMapper.java b/smartor/src/main/java/com/smartor/mapper/ServiceThirdDataMapper.java
index 1b98cf3..8397fe6 100644
--- a/smartor/src/main/java/com/smartor/mapper/ServiceThirdDataMapper.java
+++ b/smartor/src/main/java/com/smartor/mapper/ServiceThirdDataMapper.java
@@ -29,4 +29,10 @@
      * @return 缁撴灉
      */
     public int insertThirdData(ServiceThirdData serviceThirdData);
+
+    public int insertThirdDataZxyzjh(ServiceThirdData serviceThirdData);
+
+    public int insertThirdDataCfxzsq(ServiceThirdData serviceThirdData);
+
+    public int updateIsDeal(Long id);
 }
diff --git a/smartor/src/main/java/com/smartor/service/IHeTaskService.java b/smartor/src/main/java/com/smartor/service/IHeTaskService.java
index 42d9891..fdd556f 100644
--- a/smartor/src/main/java/com/smartor/service/IHeTaskService.java
+++ b/smartor/src/main/java/com/smartor/service/IHeTaskService.java
@@ -33,7 +33,7 @@
      * @param heTaskVO 瀹f暀浠诲姟
      * @return 缁撴灉
      */
-    public int insertHeTask(HeTaskVO heTaskVO);
+    public int insertOrUpdateHeTask(HeTaskVO heTaskVO);
 
     /**
      * 淇敼瀹f暀浠诲姟
diff --git a/smartor/src/main/java/com/smartor/service/IHospitalRecordService.java b/smartor/src/main/java/com/smartor/service/IHospitalRecordService.java
new file mode 100644
index 0000000..dd8262c
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/service/IHospitalRecordService.java
@@ -0,0 +1,62 @@
+package com.smartor.service;
+
+import com.smartor.domain.HospitalRecord;
+
+import java.util.List;
+
+/**
+ * 銆愯濉啓鍔熻兘鍚嶇О銆慡ervice鎺ュ彛
+ * 
+ * @author ruoyi
+ * @date 2024-01-26
+ */
+public interface IHospitalRecordService 
+{
+    /**
+     * 鏌ヨ銆愯濉啓鍔熻兘鍚嶇О銆�
+     * 
+     * @param ID 銆愯濉啓鍔熻兘鍚嶇О銆戜富閿�
+     * @return 銆愯濉啓鍔熻兘鍚嶇О銆�
+     */
+    public HospitalRecord selectHospitalRecordByID(String ID);
+
+    /**
+     * 鏌ヨ銆愯濉啓鍔熻兘鍚嶇О銆戝垪琛�
+     * 
+     * @param hospitalRecord 銆愯濉啓鍔熻兘鍚嶇О銆�
+     * @return 銆愯濉啓鍔熻兘鍚嶇О銆戦泦鍚�
+     */
+    public List<HospitalRecord> selectHospitalRecordList(HospitalRecord hospitalRecord);
+
+    /**
+     * 鏂板銆愯濉啓鍔熻兘鍚嶇О銆�
+     * 
+     * @param hospitalRecord 銆愯濉啓鍔熻兘鍚嶇О銆�
+     * @return 缁撴灉
+     */
+    public int insertHospitalRecord(HospitalRecord hospitalRecord);
+
+    /**
+     * 淇敼銆愯濉啓鍔熻兘鍚嶇О銆�
+     * 
+     * @param hospitalRecord 銆愯濉啓鍔熻兘鍚嶇О銆�
+     * @return 缁撴灉
+     */
+    public int updateHospitalRecord(HospitalRecord hospitalRecord);
+
+    /**
+     * 鎵归噺鍒犻櫎銆愯濉啓鍔熻兘鍚嶇О銆�
+     * 
+     * @param IDs 闇�瑕佸垹闄ょ殑銆愯濉啓鍔熻兘鍚嶇О銆戜富閿泦鍚�
+     * @return 缁撴灉
+     */
+    public int deleteHospitalRecordByIDs(String[] IDs);
+
+    /**
+     * 鍒犻櫎銆愯濉啓鍔熻兘鍚嶇О銆戜俊鎭�
+     * 
+     * @param ID 銆愯濉啓鍔熻兘鍚嶇О銆戜富閿�
+     * @return 缁撴灉
+     */
+    public int deleteHospitalRecordByID(String ID);
+}
diff --git a/smartor/src/main/java/com/smartor/service/IHospitalUserinfoService.java b/smartor/src/main/java/com/smartor/service/IHospitalUserinfoService.java
new file mode 100644
index 0000000..6ba74e2
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/service/IHospitalUserinfoService.java
@@ -0,0 +1,62 @@
+package com.smartor.service;
+
+import com.smartor.domain.HospitalUserinfo;
+
+import java.util.List;
+
+/**
+ * 銆愯濉啓鍔熻兘鍚嶇О銆慡ervice鎺ュ彛
+ * 
+ * @author ruoyi
+ * @date 2024-01-29
+ */
+public interface IHospitalUserinfoService 
+{
+    /**
+     * 鏌ヨ銆愯濉啓鍔熻兘鍚嶇О銆�
+     * 
+     * @param ID 銆愯濉啓鍔熻兘鍚嶇О銆戜富閿�
+     * @return 銆愯濉啓鍔熻兘鍚嶇О銆�
+     */
+    public HospitalUserinfo selectHospitalUserinfoByID(Long ID);
+
+    /**
+     * 鏌ヨ銆愯濉啓鍔熻兘鍚嶇О銆戝垪琛�
+     * 
+     * @param hospitalUserinfo 銆愯濉啓鍔熻兘鍚嶇О銆�
+     * @return 銆愯濉啓鍔熻兘鍚嶇О銆戦泦鍚�
+     */
+    public List<HospitalUserinfo> selectHospitalUserinfoList(HospitalUserinfo hospitalUserinfo);
+
+    /**
+     * 鏂板銆愯濉啓鍔熻兘鍚嶇О銆�
+     * 
+     * @param hospitalUserinfo 銆愯濉啓鍔熻兘鍚嶇О銆�
+     * @return 缁撴灉
+     */
+    public int insertHospitalUserinfo(HospitalUserinfo hospitalUserinfo);
+
+    /**
+     * 淇敼銆愯濉啓鍔熻兘鍚嶇О銆�
+     * 
+     * @param hospitalUserinfo 銆愯濉啓鍔熻兘鍚嶇О銆�
+     * @return 缁撴灉
+     */
+    public int updateHospitalUserinfo(HospitalUserinfo hospitalUserinfo);
+
+    /**
+     * 鎵归噺鍒犻櫎銆愯濉啓鍔熻兘鍚嶇О銆�
+     * 
+     * @param IDs 闇�瑕佸垹闄ょ殑銆愯濉啓鍔熻兘鍚嶇О銆戜富閿泦鍚�
+     * @return 缁撴灉
+     */
+    public int deleteHospitalUserinfoByIDs(Long[] IDs);
+
+    /**
+     * 鍒犻櫎銆愯濉啓鍔熻兘鍚嶇О銆戜俊鎭�
+     * 
+     * @param ID 銆愯濉啓鍔熻兘鍚嶇О銆戜富閿�
+     * @return 缁撴灉
+     */
+    public int deleteHospitalUserinfoByID(Long ID);
+}
diff --git a/smartor/src/main/java/com/smartor/service/impl/HeTaskServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/HeTaskServiceImpl.java
index e0db640..e0e8366 100644
--- a/smartor/src/main/java/com/smartor/service/impl/HeTaskServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/HeTaskServiceImpl.java
@@ -1,6 +1,7 @@
 package com.smartor.service.impl;
 
 import com.ruoyi.common.enums.SendTypeEnum;
+import com.ruoyi.common.exception.base.BaseException;
 import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.common.utils.DtoConversionUtils;
 import com.smartor.common.SendService;
@@ -9,6 +10,7 @@
 import com.smartor.mapper.PatArchiveMapper;
 import com.smartor.mapper.PatHetaskRelevanceMapper;
 import com.smartor.service.IHeTaskService;
+import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.lang3.ObjectUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -26,6 +28,7 @@
  * @author ruoyi
  * @date 2024-01-07
  */
+@Slf4j
 @Service
 public class HeTaskServiceImpl implements IHeTaskService {
     @Autowired
@@ -103,91 +106,149 @@
      * @param heTaskVO 瀹f暀浠诲姟
      * @return 缁撴灉
      */
+//    @Transactional(rollbackFor = Exception.class)
+//    @Override
+//    public int insertHeTask(HeTaskVO heTaskVO) {
+//
+//        Integer integer = 0;
+//        //鍒ゆ柇鍙戦�佺姸鎬�  0 鏆傚仠鍙戦��  1 瀹氭椂鍙戦��  2 绔嬪嵆鍙戦��
+//        if (heTaskVO.getIsSend() == 2) {
+//            //鍙戦�佹柟寮�
+//            String sendtype = SendTypeEnum.getDescByCode(heTaskVO.getPreachform().intValue());
+//            for (PatHetaskRelevance patHetaskRelevance : heTaskVO.getPatHetaskRelevances()) {
+//                //寮�濮嬪彂閫�
+//                SendMagParam sendMagParam = new SendMagParam();
+//                sendMagParam.setType(sendtype);
+//                sendMagParam.setPhone(patHetaskRelevance.getPhone());
+//                //杩欓噷鐨勬ā鏉縄D涓嶇‘瀹氾紝鍏堣繖鏍峰啓
+//                sendMagParam.setTmpCode("SMS_461860582");
+//                sendMagParam.setContent("Test鍙戦�佹暟鎹�");
+//                Boolean success = sendService.sendMsg(sendMagParam);
+//                if (success) {
+//                    integer = integer + 1;
+//                }
+//
+//                //蹇呴』鍏ㄩ儴鎴愬姛锛屾墠鑳戒慨鏀瑰彂閫佺姸鎬�
+//                if (heTaskVO.getPatHetaskRelevances().size() == integer) {
+//                    //濡傛灉鍙戦�佹垚鍔�
+//                    heTaskVO.setSendState(1L);
+//                }
+//            }
+//            //灏嗕换鍔′俊鎭柊澧炲埌瀹f暀浠诲姟琛ㄤ腑
+//            HeTask heTask = DtoConversionUtils.sourceToTarget(heTaskVO, HeTask.class);
+//            heTask.setCreateTime(DateUtils.getNowDate());
+//            heTaskMapper.insertHeTask(heTask);
+//
+//            //灏嗕换鍔′笌鎮h�呭叧鑱�
+//            Integer i = null;
+//            if (ObjectUtils.isNotEmpty(heTaskVO.getPatHetaskRelevances())) {
+//                for (PatHetaskRelevance patHetaskRelevance : heTaskVO.getPatHetaskRelevances()) {
+//                    patHetaskRelevance.setHeTaskId(heTask.getId());
+//                    i = patHetaskRelevanceMapper.insertPatHetaskRelevance(patHetaskRelevance);
+//                }
+//
+//            }
+//
+//        } else if (heTaskVO.getIsSend() == 1) {
+//            //瀹氭椂鍙戦��(寮傛)
+//            Timer timer = new Timer();
+//            timer.schedule(new TimerTask() {
+//                @Override
+//                public void run() {
+//                    Integer integer = 0;
+//                    for (PatHetaskRelevance patHetaskRelevance : heTaskVO.getPatHetaskRelevances()) {
+//                        String sendtype = SendTypeEnum.getDescByCode(heTaskVO.getPreachform().intValue());
+//                        SendMagParam sendMagParam = new SendMagParam();
+//                        sendMagParam.setType(sendtype);
+//                        sendMagParam.setPhone(patHetaskRelevance.getPhone());
+//                        //杩欓噷鐨勬ā鏉縄D涓嶇‘瀹氾紝鍏堣繖鏍峰啓
+//                        sendMagParam.setTmpCode("SMS_461860582");
+//                        sendMagParam.setContent("Test鍙戦�佹暟鎹�");
+//                        Boolean success = sendService.sendMsg(sendMagParam);
+//                        if (success) {
+//                            integer = integer + 1;
+//                        }
+//                    }
+//                    //蹇呴』鍏ㄩ儴鎴愬姛锛屾墠鑳戒慨鏀瑰彂閫佺姸鎬�
+//                    if (heTaskVO.getPatHetaskRelevances().size() == integer) {
+//                        //濡傛灉鍙戦�佹垚鍔�
+//                        heTaskVO.setSendState(1L);
+//                    }
+//                    HeTask heTask = DtoConversionUtils.sourceToTarget(heTaskVO, HeTask.class);
+//                    heTask.setCreateTime(DateUtils.getNowDate());
+//                    heTaskMapper.insertHeTask(heTask);
+//
+//                    if (ObjectUtils.isNotEmpty(heTaskVO.getPatHetaskRelevances())) {
+//                        for (PatHetaskRelevance patHetaskRelevance : heTaskVO.getPatHetaskRelevances()) {
+//                            patHetaskRelevance.setHeTaskId(heTask.getId());
+//                            patHetaskRelevanceMapper.insertPatHetaskRelevance(patHetaskRelevance);
+//                        }
+//
+//                    }
+//                }
+//            }, heTaskVO.getSendTime());
+//
+//        }
+//        return 1;
+//    }
+
+    /**
+     * 鏂板瀹f暀浠诲姟
+     *
+     * @param heTaskVO 瀹f暀浠诲姟
+     * @return 缁撴灉
+     */
     @Transactional(rollbackFor = Exception.class)
     @Override
-    public int insertHeTask(HeTaskVO heTaskVO) {
-
+    public int insertOrUpdateHeTask(HeTaskVO heTaskVO) {
+        if (ObjectUtils.isEmpty(heTaskVO)) {
+            log.info("瀹f暀浠诲姟鍏ュ弬涓虹┖锛岃妫�鏌ュ叆鍙�");
+            throw new BaseException("瀹f暀浠诲姟鍏ュ弬涓虹┖锛岃妫�鏌ュ叆鍙�");
+        }
         Integer integer = 0;
-        //鍒ゆ柇鍙戦�佺姸鎬�  0 鏆傚仠鍙戦��  1 瀹氭椂鍙戦��  2 绔嬪嵆鍙戦��
-        if (heTaskVO.getIsSend() == 2) {
-            //鍙戦�佹柟寮�
-            String sendtype = SendTypeEnum.getDescByCode(heTaskVO.getPreachform().intValue());
-            for (PatHetaskRelevance patHetaskRelevance : heTaskVO.getPatHetaskRelevances()) {
-                //寮�濮嬪彂閫�
-                SendMagParam sendMagParam = new SendMagParam();
-                sendMagParam.setType(sendtype);
-                sendMagParam.setPhone(patHetaskRelevance.getPhone());
-                //杩欓噷鐨勬ā鏉縄D涓嶇‘瀹氾紝鍏堣繖鏍峰啓
-                sendMagParam.setTmpCode("SMS_461860582");
-                sendMagParam.setContent("Test鍙戦�佹暟鎹�");
-                Boolean success = sendService.sendMsg(sendMagParam);
-                if (success) {
-                    integer = integer + 1;
-                }
+        if (heTaskVO.getIsoperation() != null && heTaskVO.getIsoperation() == 1) {
 
-                //蹇呴』鍏ㄩ儴鎴愬姛锛屾墠鑳戒慨鏀瑰彂閫佺姸鎬�
-                if (heTaskVO.getPatHetaskRelevances().size() == integer) {
-                    //濡傛灉鍙戦�佹垚鍔�
-                    heTaskVO.setSendState(1L);
-                }
-            }
             //灏嗕换鍔′俊鎭柊澧炲埌瀹f暀浠诲姟琛ㄤ腑
             HeTask heTask = DtoConversionUtils.sourceToTarget(heTaskVO, HeTask.class);
             heTask.setCreateTime(DateUtils.getNowDate());
             heTaskMapper.insertHeTask(heTask);
-
-            //灏嗕换鍔′笌鎮h�呭叧鑱�
-            Integer i = null;
-            if (ObjectUtils.isNotEmpty(heTaskVO.getPatHetaskRelevances())) {
-                for (PatHetaskRelevance patHetaskRelevance : heTaskVO.getPatHetaskRelevances()) {
-                    patHetaskRelevance.setHeTaskId(heTask.getId());
-                    i = patHetaskRelevanceMapper.insertPatHetaskRelevance(patHetaskRelevance);
-                }
-
+            integer = heTask.getId().intValue();
+            //鏂板
+            for (PatHetaskRelevance patHetaskRelevance : heTaskVO.getPatHetaskRelevances()) {
+                patHetaskRelevance.setHeTaskId(heTask.getId());
+                patHetaskRelevanceMapper.insertPatHetaskRelevance(patHetaskRelevance);
             }
 
-        } else if (heTaskVO.getIsSend() == 1) {
-            //瀹氭椂鍙戦��(寮傛)
-            Timer timer = new Timer();
-            timer.schedule(new TimerTask() {
-                @Override
-                public void run() {
-                    Integer integer = 0;
-                    for (PatHetaskRelevance patHetaskRelevance : heTaskVO.getPatHetaskRelevances()) {
-                        String sendtype = SendTypeEnum.getDescByCode(heTaskVO.getPreachform().intValue());
-                        SendMagParam sendMagParam = new SendMagParam();
-                        sendMagParam.setType(sendtype);
-                        sendMagParam.setPhone(patHetaskRelevance.getPhone());
-                        //杩欓噷鐨勬ā鏉縄D涓嶇‘瀹氾紝鍏堣繖鏍峰啓
-                        sendMagParam.setTmpCode("SMS_461860582");
-                        sendMagParam.setContent("Test鍙戦�佹暟鎹�");
-                        Boolean success = sendService.sendMsg(sendMagParam);
-                        if (success) {
-                            integer = integer + 1;
-                        }
-                    }
-                    //蹇呴』鍏ㄩ儴鎴愬姛锛屾墠鑳戒慨鏀瑰彂閫佺姸鎬�
-                    if (heTaskVO.getPatHetaskRelevances().size() == integer) {
-                        //濡傛灉鍙戦�佹垚鍔�
-                        heTaskVO.setSendState(1L);
-                    }
-                    HeTask heTask = DtoConversionUtils.sourceToTarget(heTaskVO, HeTask.class);
-                    heTask.setCreateTime(DateUtils.getNowDate());
-                    heTaskMapper.insertHeTask(heTask);
-
-                    if (ObjectUtils.isNotEmpty(heTaskVO.getPatHetaskRelevances())) {
-                        for (PatHetaskRelevance patHetaskRelevance : heTaskVO.getPatHetaskRelevances()) {
-                            patHetaskRelevance.setHeTaskId(heTask.getId());
-                            patHetaskRelevanceMapper.insertPatHetaskRelevance(patHetaskRelevance);
-                        }
-
-                    }
+        } else if (heTaskVO.getIsoperation() != null && heTaskVO.getIsoperation() == 2) {
+            HeTask heTask = DtoConversionUtils.sourceToTarget(heTaskVO, HeTask.class);
+            heTask.setUpdateTime(DateUtils.getNowDate());
+            heTaskMapper.updateHeTask(heTask);
+            //鏂板銆佸垹闄ゃ�佷慨鏀规偅鑰呬俊鎭�
+            for (PatHetaskRelevance patHetaskRelevance : heTaskVO.getPatHetaskRelevances()) {
+                if (patHetaskRelevance.getIsoperation() != null && patHetaskRelevance.getIsoperation() == 1) {
+                    patHetaskRelevanceMapper.insertPatHetaskRelevance(patHetaskRelevance);
+                } else if (patHetaskRelevance.getIsoperation() != null && patHetaskRelevance.getIsoperation() == 2) {
+                    patHetaskRelevance.setHeTaskId(heTask.getId());
+                    patHetaskRelevanceMapper.updatePatHetaskRelevance(patHetaskRelevance);
+                } else if (patHetaskRelevance.getIsoperation() != null && patHetaskRelevance.getIsoperation() == 3) {
+                    patHetaskRelevanceMapper.deletePatHetaskRelevanceById(patHetaskRelevance.getId());
                 }
-            }, heTaskVO.getSendTime());
+            }
+            integer = heTask.getId().intValue();
+        } else if (heTaskVO.getIsoperation() != null && heTaskVO.getIsoperation() == 3) {
+            heTaskMapper.deleteHeTaskById(heTaskVO.getId());
 
+            //鍒犻櫎鎮h�呬俊鎭�
+            for (PatHetaskRelevance patHetaskRelevance : heTaskVO.getPatHetaskRelevances()) {
+                if (patHetaskRelevance.getIsoperation() != null && patHetaskRelevance.getIsoperation() == 3) {
+                    patHetaskRelevanceMapper.deletePatHetaskRelevanceById(patHetaskRelevance.getId());
+                }
+            }
+            integer = heTaskVO.getId().intValue();
         }
-        return 1;
+        return integer;
     }
+
 
     /**
      * 淇敼瀹f暀浠诲姟
@@ -259,7 +320,6 @@
         }
         for (PatArchive patArchive : patArchiveList) {
             PatHetaskRelevance patHetaskRelevance = DtoConversionUtils.sourceToTarget(patArchive, PatHetaskRelevance.class);
-            patHetaskRelevance.setDept(patArchive.getArchiveby());
             patHetaskRelevance.setCreateTime(patArchive.getCreateTime());
             patHetaskRelevance.setCreateBy(patArchive.getCreateBy());
             patHetaskRelevances.add(patHetaskRelevance);
diff --git a/smartor/src/main/java/com/smartor/service/impl/HospitalRecordServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/HospitalRecordServiceImpl.java
new file mode 100644
index 0000000..f9cde75
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/service/impl/HospitalRecordServiceImpl.java
@@ -0,0 +1,94 @@
+package com.smartor.service.impl;
+
+import com.smartor.domain.HospitalRecord;
+import com.smartor.mapper.HospitalRecordMapper;
+import com.smartor.service.IHospitalRecordService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * 銆愯濉啓鍔熻兘鍚嶇О銆慡ervice涓氬姟灞傚鐞�
+ * 
+ * @author ruoyi
+ * @date 2024-01-26
+ */
+@Service
+public class HospitalRecordServiceImpl implements IHospitalRecordService
+{
+    @Autowired
+    private HospitalRecordMapper hospitalRecordMapper;
+
+    /**
+     * 鏌ヨ銆愯濉啓鍔熻兘鍚嶇О銆�
+     * 
+     * @param ID 銆愯濉啓鍔熻兘鍚嶇О銆戜富閿�
+     * @return 銆愯濉啓鍔熻兘鍚嶇О銆�
+     */
+    @Override
+    public HospitalRecord selectHospitalRecordByID(String ID)
+    {
+        return hospitalRecordMapper.selectHospitalRecordByID(ID);
+    }
+
+    /**
+     * 鏌ヨ銆愯濉啓鍔熻兘鍚嶇О銆戝垪琛�
+     * 
+     * @param hospitalRecord 銆愯濉啓鍔熻兘鍚嶇О銆�
+     * @return 銆愯濉啓鍔熻兘鍚嶇О銆�
+     */
+    @Override
+    public List<HospitalRecord> selectHospitalRecordList(HospitalRecord hospitalRecord)
+    {
+        return hospitalRecordMapper.selectHospitalRecordList(hospitalRecord);
+    }
+
+    /**
+     * 鏂板銆愯濉啓鍔熻兘鍚嶇О銆�
+     * 
+     * @param hospitalRecord 銆愯濉啓鍔熻兘鍚嶇О銆�
+     * @return 缁撴灉
+     */
+    @Override
+    public int insertHospitalRecord(HospitalRecord hospitalRecord)
+    {
+        return hospitalRecordMapper.insertHospitalRecord(hospitalRecord);
+    }
+
+    /**
+     * 淇敼銆愯濉啓鍔熻兘鍚嶇О銆�
+     * 
+     * @param hospitalRecord 銆愯濉啓鍔熻兘鍚嶇О銆�
+     * @return 缁撴灉
+     */
+    @Override
+    public int updateHospitalRecord(HospitalRecord hospitalRecord)
+    {
+        return hospitalRecordMapper.updateHospitalRecord(hospitalRecord);
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎銆愯濉啓鍔熻兘鍚嶇О銆�
+     * 
+     * @param IDs 闇�瑕佸垹闄ょ殑銆愯濉啓鍔熻兘鍚嶇О銆戜富閿�
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteHospitalRecordByIDs(String[] IDs)
+    {
+        return hospitalRecordMapper.deleteHospitalRecordByIDs(IDs);
+    }
+
+    /**
+     * 鍒犻櫎銆愯濉啓鍔熻兘鍚嶇О銆戜俊鎭�
+     * 
+     * @param ID 銆愯濉啓鍔熻兘鍚嶇О銆戜富閿�
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteHospitalRecordByID(String ID)
+    {
+        return hospitalRecordMapper.deleteHospitalRecordByID(ID);
+    }
+}
diff --git a/smartor/src/main/java/com/smartor/service/impl/HospitalUserinfoServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/HospitalUserinfoServiceImpl.java
new file mode 100644
index 0000000..c68c7e7
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/service/impl/HospitalUserinfoServiceImpl.java
@@ -0,0 +1,87 @@
+package com.smartor.service.impl;
+
+import com.smartor.domain.HospitalUserinfo;
+import com.smartor.mapper.HospitalUserinfoMapper;
+import com.smartor.service.IHospitalUserinfoService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * 銆愯濉啓鍔熻兘鍚嶇О銆慡ervice涓氬姟灞傚鐞�
+ *
+ * @author ruoyi
+ * @date 2024-01-29
+ */
+@Service
+public class HospitalUserinfoServiceImpl implements IHospitalUserinfoService {
+    @Autowired
+    private HospitalUserinfoMapper hospitalUserinfoMapper;
+
+    /**
+     * 鏌ヨ銆愯濉啓鍔熻兘鍚嶇О銆�
+     *
+     * @param ID 銆愯濉啓鍔熻兘鍚嶇О銆戜富閿�
+     * @return 銆愯濉啓鍔熻兘鍚嶇О銆�
+     */
+    @Override
+    public HospitalUserinfo selectHospitalUserinfoByID(Long ID) {
+        return hospitalUserinfoMapper.selectHospitalUserinfoByID(ID);
+    }
+
+    /**
+     * 鏌ヨ銆愯濉啓鍔熻兘鍚嶇О銆戝垪琛�
+     *
+     * @param hospitalUserinfo 銆愯濉啓鍔熻兘鍚嶇О銆�
+     * @return 銆愯濉啓鍔熻兘鍚嶇О銆�
+     */
+    @Override
+    public List<HospitalUserinfo> selectHospitalUserinfoList(HospitalUserinfo hospitalUserinfo) {
+        return hospitalUserinfoMapper.selectHospitalUserinfoList(hospitalUserinfo);
+    }
+
+    /**
+     * 鏂板銆愯濉啓鍔熻兘鍚嶇О銆�
+     *
+     * @param hospitalUserinfo 銆愯濉啓鍔熻兘鍚嶇О銆�
+     * @return 缁撴灉
+     */
+    @Override
+    public int insertHospitalUserinfo(HospitalUserinfo hospitalUserinfo) {
+        return hospitalUserinfoMapper.insertHospitalUserinfo(hospitalUserinfo);
+    }
+
+    /**
+     * 淇敼銆愯濉啓鍔熻兘鍚嶇О銆�
+     *
+     * @param hospitalUserinfo 銆愯濉啓鍔熻兘鍚嶇О銆�
+     * @return 缁撴灉
+     */
+    @Override
+    public int updateHospitalUserinfo(HospitalUserinfo hospitalUserinfo) {
+        return hospitalUserinfoMapper.updateHospitalUserinfo(hospitalUserinfo);
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎銆愯濉啓鍔熻兘鍚嶇О銆�
+     *
+     * @param IDs 闇�瑕佸垹闄ょ殑銆愯濉啓鍔熻兘鍚嶇О銆戜富閿�
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteHospitalUserinfoByIDs(Long[] IDs) {
+        return hospitalUserinfoMapper.deleteHospitalUserinfoByIDs(IDs);
+    }
+
+    /**
+     * 鍒犻櫎銆愯濉啓鍔熻兘鍚嶇О銆戜俊鎭�
+     *
+     * @param ID 銆愯濉啓鍔熻兘鍚嶇О銆戜富閿�
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteHospitalUserinfoByID(Long ID) {
+        return hospitalUserinfoMapper.deleteHospitalUserinfoByID(ID);
+    }
+}
diff --git a/smartor/src/main/java/com/smartor/service/impl/IvrLibaTemplateServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/IvrLibaTemplateServiceImpl.java
index 62649a3..02a1ad0 100644
--- a/smartor/src/main/java/com/smartor/service/impl/IvrLibaTemplateServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/IvrLibaTemplateServiceImpl.java
@@ -11,6 +11,7 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -124,10 +125,14 @@
         IvrLibaTemplate ivrLibaTemplate = DtoConversionUtils.sourceToTarget(ivrLibaTemplateVO, IvrLibaTemplate.class);
         if (ivrLibaTemplateVO.getIsoperation() != null && ivrLibaTemplateVO.getIsoperation() == 1) {
             //鏂板
-            i = ivrLibaTemplateMapper.insertIvrLibaTemplate(ivrLibaTemplate);
+            ivrLibaTemplate.setCreateTime(new Date());
+            ivrLibaTemplateMapper.insertIvrLibaTemplate(ivrLibaTemplate);
+            i = ivrLibaTemplate.getID().intValue();
         } else if (ivrLibaTemplateVO.getIsoperation() != null && ivrLibaTemplateVO.getIsoperation() == 2) {
             //淇敼
-            i = ivrLibaTemplateMapper.updateIvrLibaTemplate(ivrLibaTemplate);
+            ivrLibaTemplate.setUpdateTime(new Date());
+            ivrLibaTemplateMapper.updateIvrLibaTemplate(ivrLibaTemplate);
+            i = ivrLibaTemplate.getID().intValue();
         }
         log.info("鏂板鎴栦慨鏀规ā鏉胯鎯呯殑id涓猴細{}", ivrLibaTemplate.getID());
 
@@ -137,16 +142,19 @@
                 if (ivrLibaTemplateTag.getIsoperation() != null && ivrLibaTemplateTag.getIsoperation() == 1) {
                     //鏂板
                     ivrLibaTemplateTag.setTemplateid(ivrLibaTemplate.getID());
+                    ivrLibaTemplateTag.setCreateTime(new Date());
                     ivrLibaTemplateTagMapper.insertIvrLibaTemplateTag(ivrLibaTemplateTag);
                 } else if (ivrLibaTemplateTag.getIsoperation() != null && ivrLibaTemplateTag.getIsoperation() == 2) {
                     //淇敼
                     ivrLibaTemplateTag.setTemplateid(ivrLibaTemplate.getID());
+                    ivrLibaTemplateTag.setUploadTime(new Date());
                     ivrLibaTemplateTagMapper.updateIvrLibaTemplateTag(ivrLibaTemplateTag);
                 } else if (ivrLibaTemplateTag.getIsoperation() != null && ivrLibaTemplateTag.getIsoperation() == 3) {
                     //鍒犻櫎
                     if (ivrLibaTemplateTag.getId() == null) {
                         log.info("鍒犻櫎澶辫触,妯℃澘鎸囨爣id涓虹┖");
                     } else {
+                        ivrLibaTemplateTag.setUploadTime(new Date());
                         ivrLibaTemplateTagMapper.deleteIvrLibaTemplateTagById(ivrLibaTemplateTag.getId());
                     }
                 }
@@ -160,6 +168,7 @@
                     //鏂板
                     IvrLibaTemplateScript ivrLibaTemplateScript = DtoConversionUtils.sourceToTarget(ivrLibaTemplateScriptVO, IvrLibaTemplateScript.class);
                     ivrLibaTemplateScript.setTemplateID(ivrLibaTemplate.getID());
+                    ivrLibaTemplateScript.setCreateTime(new Date());
                     ivrLibaTemplateScriptMapper.insertIvrLibaTemplateScript(ivrLibaTemplateScript);
                     //瀵归�夐」鐩繘琛屽鐞�
                     dealOption(ivrLibaTemplateScriptVO.getIvrLibaTemplateTargetoptionList(), ivrLibaTemplateScript, ivrLibaTemplate.getID());
@@ -168,6 +177,7 @@
                     //淇敼
                     IvrLibaTemplateScript ivrLibaTemplateScript = DtoConversionUtils.sourceToTarget(ivrLibaTemplateScriptVO, IvrLibaTemplateScript.class);
                     ivrLibaTemplateScript.setTemplateID(ivrLibaTemplate.getID());
+                    ivrLibaTemplateScript.setUpdateTime(new Date());
                     ivrLibaTemplateScriptMapper.updateIvrLibaTemplateScript(ivrLibaTemplateScript);
                     //瀵归�夐」鐩繘琛屽鐞�
                     dealOption(ivrLibaTemplateScriptVO.getIvrLibaTemplateTargetoptionList(), ivrLibaTemplateScript, ivrLibaTemplate.getID());
@@ -177,6 +187,7 @@
                     if (ivrLibaTemplateScriptVO.getID() == null) {
                         log.info("鍒犻櫎澶辫触,妯℃澘璇濇湳id涓虹┖");
                     } else {
+                        ivrLibaTemplateScriptVO.setUpdateTime(new Date());
                         ivrLibaTemplateTagMapper.deleteIvrLibaTemplateTagById(ivrLibaTemplateScriptVO.getID());
                     }
                 }
@@ -189,8 +200,10 @@
                 //鏂板
                 tempDetpRelevance.setTempid(ivrLibaTemplate.getID());
                 tempDetpRelevance.setType(2L);
+                tempDetpRelevance.setCreateTime(new Date());
                 tempDetpRelevanceMapper.insertTempDetpRelevance(tempDetpRelevance);
             } else {
+                tempDetpRelevance.setUpdateTime(new Date());
                 tempDetpRelevanceMapper.updateTempDetpRelevance(tempDetpRelevance);
             }
         }
diff --git a/smartor/src/main/java/com/smartor/service/impl/RemoteDataSaveServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/RemoteDataSaveServiceImpl.java
index a58461e..435d83a 100644
--- a/smartor/src/main/java/com/smartor/service/impl/RemoteDataSaveServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/RemoteDataSaveServiceImpl.java
@@ -54,7 +54,15 @@
         //姝ゅ寮曚笉鍒皊ping涓殑mapper,鍙兘閫氳繃涓婁笅鏂囷紝鍘昏幏鍙杕apper瀵硅薄
         ServiceThirdDataMapper serviceThirdDataMapper = SpringUtils.getBean(ServiceThirdDataMapper.class);
         try {
-            int i = serviceThirdDataMapper.insertThirdData(serviceThirdData);
+            if (dataType.equals("RGV^O15")) {
+                //鐩存帴鎻掑埌"鎵ц鍖诲槺璁″垝琛�"
+                int i1 = serviceThirdDataMapper.insertThirdDataZxyzjh(serviceThirdData);
+            } else if (dataType.equals("OMP^O09")) {
+                //澶勬柟鏂板鐢宠
+                int i2 = serviceThirdDataMapper.insertThirdDataCfxzsq(serviceThirdData);
+            } else {
+                int i3 = serviceThirdDataMapper.insertThirdData(serviceThirdData);
+            }
         } catch (Exception e) {
             SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("YYYY-MM-dd HH:mm:ss");
             String date = simpleDateFormat1.format(new Date());
@@ -62,21 +70,6 @@
             e.getMessage();
         }
 
-
-//        //鏍规嵁鏁版嵁绫诲瀷锛屽幓璋冪敤鐩稿簲鐨勬柟娉曡繘琛屾暟鎹繚瀛�(杩欎竴鍧楀厛涓嶅仛浜嗭紝鍚庨潰鍐嶅仛)
-//        switch (dataType) {
-//            case "ADT^A31":
-//                //鎮h�呭熀鏈俊鎭�
-//                patientInfo(map);
-//                break;
-//            case "ADT^A08":
-//                //鎮h�呰瘖鏂俊鎭慨鏀�/
-//                patientInfoEdit(map);
-//            case "ADT^A01":
-//                //鎮h�呭叆闄�
-//                patientHospitalized(map);
-//                break;
-//        }
     }
 
     /**
diff --git a/smartor/src/main/java/com/smartor/service/impl/ServiceThirdDataServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/ServiceThirdDataServiceImpl.java
index bbfb7fc..fd958fb 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceThirdDataServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceThirdDataServiceImpl.java
@@ -1,10 +1,22 @@
 package com.smartor.service.impl;
 
-import java.util.List;
-
+import ca.uhn.hl7v2.HL7Exception;
+import ca.uhn.hl7v2.model.Message;
+import ca.uhn.hl7v2.parser.PipeParser;
+import com.smartor.domain.HospitalRecord;
+import com.smartor.domain.HospitalUserinfo;
 import com.smartor.domain.ServiceThirdData;
+import com.smartor.mapper.ServiceThirdDataMapper;
+import com.smartor.service.IHospitalRecordService;
+import com.smartor.service.IHospitalUserinfoService;
 import com.smartor.service.IServiceThirdDataService;
+import com.smartor.yiwudataanalysis.ADT_A03;
+import lombok.extern.log4j.Log4j;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
 
 
 /**
@@ -13,12 +25,49 @@
  * @author ruoyi
  * @date 2023-10-10
  */
+@Log4j
 @Service
 public class ServiceThirdDataServiceImpl implements IServiceThirdDataService {
 
+    @Autowired
+    private ServiceThirdDataMapper serviceThirdDataMapper;
+
+    @Autowired
+    private IHospitalRecordService iHospitalRecordService;
+    @Autowired
+    private IHospitalUserinfoService iHospitalUserinfoService;
 
     @Override
     public List<ServiceThirdData> queryList(ServiceThirdData serviceThirdData) {
-        return null;
+
+        List<ServiceThirdData> serviceThirdDataList = serviceThirdDataMapper.selectServiceThirdDataList(serviceThirdData);
+        for (ServiceThirdData std : serviceThirdDataList) {
+            PipeParser parser = new PipeParser();
+            Message message = null;
+            try {
+                String dataInfo = std.getDataInfo().substring(1);
+                dataInfo = dataInfo.replaceAll("\n", "");
+                dataInfo = dataInfo.substring(0, dataInfo.length() - 1);
+                message = parser.parse(dataInfo);
+                ADT_A03 adt_a03 = new ADT_A03();
+
+                List<Object> objectList = adt_a03.explainPID(message, dataInfo);
+                HospitalRecord hospitalRecord = (HospitalRecord) objectList.get(0);
+                iHospitalRecordService.insertHospitalRecord(hospitalRecord);
+
+                HospitalUserinfo hospitalUserinfo = (HospitalUserinfo) objectList.get(1);
+                iHospitalUserinfoService.insertHospitalUserinfo(hospitalUserinfo);
+
+                int ii = serviceThirdDataMapper.updateIsDeal(std.getId());
+                System.out.println("鏄惁淇敼鎴愬姛锛�" + ii);
+            } catch (HL7Exception e) {
+                e.printStackTrace();
+            }
+
+        }
+
+        return new ArrayList<>();
     }
+
+
 }
diff --git a/smartor/src/main/java/com/smartor/yiwudataanalysis/ADT_A03.java b/smartor/src/main/java/com/smartor/yiwudataanalysis/ADT_A03.java
new file mode 100644
index 0000000..b7c7acd
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/yiwudataanalysis/ADT_A03.java
@@ -0,0 +1,484 @@
+package com.smartor.yiwudataanalysis;
+
+import ca.uhn.hl7v2.HL7Exception;
+import ca.uhn.hl7v2.model.Message;
+import ca.uhn.hl7v2.model.Structure;
+import ca.uhn.hl7v2.model.v24.datatype.*;
+import ca.uhn.hl7v2.model.v24.segment.DG1;
+import ca.uhn.hl7v2.model.v24.segment.PID;
+import ca.uhn.hl7v2.model.v24.segment.PV1;
+import ca.uhn.hl7v2.model.v24.segment.PV2;
+import com.ruoyi.common.enums.AdmTypeEnum;
+import com.ruoyi.common.enums.LevelHospEnum;
+import com.ruoyi.common.utils.StringUtils;
+import com.smartor.domain.HospitalRecord;
+import com.smartor.domain.HospitalUserinfo;
+
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.time.Year;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+//鍑洪櫌鏁版嵁
+public class ADT_A03 {
+    //瑙f瀽PID
+    public List<Object> explainPID(Message message, String dataInfo) throws HL7Exception {
+        //瑙f瀽PID锛堟偅鑰呭熀鏈俊鎭級
+        PID pid = (PID) message.get("PID");
+
+        //鎮h�呬富绱㈠紩淇℃伅
+        CX pid2_patientID = pid.getPid2_PatientID();
+        //鎮h�呭叏闄㈠敮涓�鏍囪瘑锛堟偅鑰呬富绱㈠紩/ID锛�
+        String patientID = pid2_patientID.getID().encode();
+        //VIP-鍏堣瘖鐤楀悗浠樿垂鏍囧織锛�0/1锛�
+        String cd = pid2_patientID.getCheckDigit().encode();
+
+        //鎮h�呯浉鍏� ID^^^鎺堟潈鏈烘瀯
+        CX[] pid3_patientIdentifierList = pid.getPid3_PatientIdentifierList();
+        if (pid3_patientIdentifierList != null || pid3_patientIdentifierList.length > 0) {
+            for (CX cx : pid3_patientIdentifierList) {
+                //鎮h�呯浉鍏矷D
+                String hzxgID = cx.getID().encode();
+                //鍒嗛厤鎮h�� ID 鏈烘瀯
+                String patiendOrgan = cx.getAssigningAuthority().encode();
+            }
+        }
+
+        //闂ㄨ瘖涓嶅~锛屼綇闄㈠繀濉�
+        CX[] pid4_alternatePatientIDPID = pid.getPid4_AlternatePatientIDPID();
+        if (pid4_alternatePatientIDPID != null || pid4_alternatePatientIDPID.length > 0) {
+            for (CX cx : pid4_alternatePatientIDPID) {
+                //闈炲┐鍎� 0 濠村効 1
+                String s = cx.getID().encode();
+                //  0/绌�-涓嶉渶瑕佷繚瀵嗭紱 1-淇濆瘑
+                String s1 = cx.getIdentifierTypeCode().encode();
+            }
+        }
+
+        //鎮h�呭鍚�
+        XPN[] pid5_patientName = pid.getPid5_PatientName();
+        String patientName = "";
+        for (XPN xpn : pid5_patientName) {
+            //鎷奸煶
+            String pinyin = xpn.getFamilyName().encode();
+            //鎮h�呭鍚�
+            patientName = xpn.getGivenName().encode();
+        }
+
+
+        //鍑虹敓鏃ユ湡
+        String birthday = pid.getPid7_DateTimeOfBirth().encode();
+        SimpleDateFormat inputFormatt = new SimpleDateFormat("yyyyMMddHHmmss"); // 杈撳叆鏃ユ湡鏍煎紡
+        Date date = null; // 瑙f瀽涓篋ate瀵硅薄
+        try {
+            date = inputFormatt.parse(birthday);
+        } catch (ParseException e) {
+            e.printStackTrace();
+        }
+        SimpleDateFormat outputFormatt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // 杈撳嚭鏃ユ湡鏍煎紡
+        String birthdatTime = outputFormatt.format(date);
+
+
+        //鎬у埆 1鐢�  2濂�
+        String xb = pid.getPid8_AdministrativeSex().encode();
+
+        //琛�鍨嬩俊鎭�
+        CE[] pid10_race = pid.getPid10_Race();
+        for (CE ce : pid10_race) {
+            //琛�鍨嬩唬鐮�
+            String xxdm = ce.getCe1_Identifier().encode();
+            //琛�鍨嬪悕绉�
+            String xxmc = ce.getCe2_Text().encode();
+            //rh琛�鍨嬩唬鐮�
+            String rhxxdm = ce.getCe4_AlternateIdentifier().encode();
+            //rh琛�鍨嬪悕绉�
+            String rhxxmc = ce.getCe5_AlternateText().encode();
+        }
+
+        //鍦板潃淇℃伅
+        XAD[] pid11_patientAddress = pid.getPid11_PatientAddress();
+        String xxdzxx = null;
+        String streetName = null;
+        String dwellingNumber = null;
+        String otherDesignation = null;
+        String city = null;
+        String province = null;
+        for (XAD xad : pid11_patientAddress) {
+            //璇︾粏鍦板潃淇℃伅
+            xxdzxx = xad.getXad1_StreetAddress().getSad1_StreetOrMailingAddress().encode();
+            //琛楅亾淇℃伅锛堟潙/琛�/閬擄級
+            streetName = xad.getXad1_StreetAddress().getStreetName().encode();
+            //闂ㄧ墝鍙风爜
+            dwellingNumber = xad.getXad1_StreetAddress().getDwellingNumber().encode();
+            //鍘垮湴鍖猴紙鍘�)
+            otherDesignation = xad.getXad2_OtherDesignation().encode();
+            //鍩庡競锛堝競锛�
+            city = xad.getXad3_City().encode();
+            //鐪�
+            province = xad.getXad4_StateOrProvince().encode();
+            //鍦板潃绫诲瀷锛堝弬鑰冨瓧鍏革級
+            String addressType = xad.getXad7_AddressType().encode();
+            //涔¢晣淇℃伅
+            String designation = xad.getXad8_OtherGeographicDesignation().encode();
+            //鍘垮湴鍖虹紪鐮�
+            String parishCode = xad.getXad9_CountyParishCode().encode();
+            //琛楅亾鏍囧噯缂栫爜锛堜繚鐣欙級
+            String censusTract = xad.getXad10_CensusTract().encode();
+        }
+
+        //涓汉鐢佃瘽
+        XTN[] pid13_phoneNumberHome = pid.getPid13_PhoneNumberHome();
+        String phone = null;
+        for (XTN xtn : pid13_phoneNumberHome) {
+            //鐢佃瘽绫诲瀷浠g爜锛堝弬鑰冨瓧鍏革級
+            String lxdm = xtn.getTelecommunicationEquipmentType().encode();
+            //鐢佃瘽鍙风爜
+            phone = xtn.getPhoneNumber().encode();
+        }
+
+        //宸ヤ綔鐢佃瘽
+        XTN[] pid14_phoneNumberBusiness = pid.getPid14_PhoneNumberBusiness();
+        for (XTN xtn : pid14_phoneNumberBusiness) {
+            //宸ヤ綔鐢佃瘽
+            String phoneNumberWork = xtn.getPhoneNumber().encode();
+        }
+
+        //濠氬Щ鐘跺喌浠g爜
+        String identifier = pid.getPid16_MaritalStatus().getIdentifier().encode();
+        //濠氬Щ鐘跺喌鍚嶇О
+        String text = pid.getPid16_MaritalStatus().getText().encode();
+
+        //璇佷欢鍙风爜
+        String id = pid.getPid18_PatientAccountNumber().getID().encode();
+        //璇佷欢绫诲瀷锛堝弬鑰冨瓧鍏革級
+        String assigningAuthority = pid.getPid18_PatientAccountNumber().getAssigningAuthority().encode();
+        //璇佷欢涓嶈鍘熷洜
+        HD assigningFacility = pid.getPid18_PatientAccountNumber().getAssigningFacility();
+        //鍘熷洜浠g爜
+        String namespaceID = assigningFacility.getNamespaceID().encode();
+        //鍘熷洜鍚嶇О
+        String universalID = assigningFacility.getUniversalID().encode();
+
+        //韬唤璇佸彿
+        String SSNNumberPatient = pid.getPid19_SSNNumberPatient().encode();
+
+        CX[] pid21_motherSIdentifier = pid.getPid21_MotherSIdentifier();
+        for (CX cx : pid21_motherSIdentifier) {
+            //姣嶄翰浣忛櫌 ID(闂ㄨ瘖涓嶅~锛屼綇闄㈠繀濉�)
+            String mqid = cx.getID().encode();
+        }
+
+        //姘戞棌
+        CE[] pid22_ethnicGroup = pid.getPid22_EthnicGroup();
+        String mztext = null;
+        for (CE ce : pid22_ethnicGroup) {
+            //姘戞棌 ID
+            String Identifier = ce.getIdentifier().encode();
+            //姘戞棌鍚嶇О
+            mztext = ce.getText().encode();
+        }
+
+        //鍑虹敓鍦�
+        String encode = pid.getPid23_BirthPlace().encode();
+
+        //鑱屼笟
+        CE[] citizenship = pid.getPid26_Citizenship();
+        for (CE ce : citizenship) {
+            //鑱屼笟浠g爜
+            String Identifier = ce.getIdentifier().encode();
+            //鑱屼笟鍚嶇О
+            String zytext = ce.getText().encode();
+        }
+
+        //鍥界睄浠g爜
+        String Identifier = pid.getPid28_Nationality().getIdentifier().encode();
+        //鍥界睄鍚嶇О
+        String gjtext = pid.getPid28_Nationality().getText().encode();
+
+        //姝昏儙鏍囧織 榛樿鏄� 0/绌猴紝1-姝昏儙
+        String patientDeathIndicator = pid.getPid30_PatientDeathIndicator().encode();
+
+        //榛戝悕鍗曠梾浜�
+        IS[] pid32_identityReliabilityCode = pid.getPid32_IdentityReliabilityCode();
+
+        //鎮h�呭睘鎬� (鍙傝�冨瓧鍏�)
+        //鏍煎紡濡傦細0101000
+        //璇存槑锛氱敱澶氫綅缁勬垚锛岀涓�
+        //浣嶈〃绀哄睘鎬� 1 鐨勫�硷紝
+        // 绗簩浣嶈〃绀哄睘鎬� 2 鐨勫�笺��
+        String hzIdentifier = pid.getPid38_ProductionClassCode().getIdentifier().encode();
+
+        //--------------------------------------------------------------
+        //瑙f瀽 PV1锛堟偅鑰呰闂俊鎭級
+        PV1 pv1 = (PV1) message.get("PV1");
+
+        //鎸傚彿搴忓彿鎴栦綇闄㈡鏁�
+        String xh = pv1.getPv11_SetIDPV1().encode();
+
+        //鎮h�呭垎绫�   E锛氭�ヨ瘖锛� I锛氫綇闄紱    O锛氶棬璇婏紱T锛氫綋妫�
+        String patientClass = pv1.getPv12_PatientClass().encode();
+
+        //鎮h�呬綅缃俊鎭�
+        PL pv13_assignedPatientLocation = pv1.getPv13_AssignedPatientLocation();
+        //褰撳墠鐥呭尯
+        String bq = pv13_assignedPatientLocation.getPointOfCare().encode();
+        //褰撳墠鐥呮埧
+        String room = pv13_assignedPatientLocation.getRoom().encode();
+        //褰撳墠鐥呭簥
+        String bad = pv13_assignedPatientLocation.getBed().encode();
+        //褰撳墠绉戝 ID
+        String namespaceID1 = pv13_assignedPatientLocation.getFacility().getNamespaceID().encode();
+        //褰撳墠绉戝鍚嶇О
+        String ksuniversalID = pv13_assignedPatientLocation.getFacility().getUniversalID().encode();
+        //褰撳墠搴婁綅鍚嶇О
+        String locationStatus = pv13_assignedPatientLocation.getLocationStatus().encode();
+        //褰撳墠鐥呭尯鍚嶇О
+        String personLocationType = pv13_assignedPatientLocation.getPersonLocationType().encode();
+
+        //鍏ラ櫌绫诲瀷  R:甯歌  E:绱ф��  W:鐣欒  鍏朵綑瑙� HL7 绾﹀畾
+        String admissionType = pv1.getPv14_AdmissionType().encode();
+
+        //杞墠浣嶇疆淇℃伅
+        //杞墠鐥呭尯
+        String pointOfCare = pv1.getPv16_PriorPatientLocation().getPointOfCare().encode();
+        //杞墠鐥呮埧
+        String room1 = pv1.getPv16_PriorPatientLocation().getRoom().encode();
+        //杞墠鐥呭簥
+        String bed = pv1.getPv16_PriorPatientLocation().getBed().encode();
+        //杞墠绉戝
+        HD facility = pv1.getPv16_PriorPatientLocation().getFacility();
+        //杞墠绉戝 ID
+        String namespaceID2 = facility.getNamespaceID().encode();
+        //杞墠绉戝鍚嶇О
+        String universalID1 = facility.getUniversalID().encode();
+        //杞墠搴婁綅鍚嶇О
+        String locationStatus1 = pv1.getPv16_PriorPatientLocation().getLocationStatus().encode();
+        //杞墠鐥呭尯鍚嶇О
+        String personLocationType1 = pv1.getPv16_PriorPatientLocation().getPersonLocationType().encode();
+
+        //闂ㄨ瘖涓哄氨璇婂尰鐢�
+        XCN[] pv17_attendingDoctor = pv1.getPv17_AttendingDoctor();
+        String IDNumber = null;
+        String givenName = null;
+        for (XCN xcn : pv17_attendingDoctor) {
+            //涓绘不鍖荤敓 ID
+            IDNumber = xcn.getIDNumber().encode();
+            //涓绘不鍖荤敓濮撳悕
+            givenName = xcn.getGivenName().encode();
+            //鍖荤枟缁勪俊鎭�
+            HD xcn14_assigningFacility = xcn.getXcn14_AssigningFacility();
+            //鍖荤枟缁勫悕绉�
+            String universalID2 = xcn14_assigningFacility.getNamespaceID().encode();
+            //鏀舵不鍖荤敓 ID
+            String universalID3 = xcn14_assigningFacility.getUniversalID().encode();
+        }
+
+        //鎸傚彿绫诲埆  1-鏅�氾紱2-鎬ヨ瘖  4-涓撳锛�6-鑰佹暀鎺�
+        String pv110_hospitalService = pv1.getPv110_HospitalService().encode();
+
+        //棰勬敹鍏ラ櫌妫�楠屾爣璇�  榛樿涓虹┖ 0-鍚︼紱1-鏄�
+        String pv112_preadmitTestIndicator = pv1.getPv112_PreadmitTestIndicator().encode();
+
+        //鍐嶆鍏ラ櫌鏍囧織 榛樿涓虹┖锛� 鈥淩鈥濊〃绀哄啀鍏ラ櫌
+        String pv113_reAdmissionIndicator = pv1.getPv113_ReAdmissionIndicator().encode();
+
+        //鍏ラ櫌閫斿緞
+        String pv114_admitSource = pv1.getPv114_AdmitSource().encode();
+
+        //鍏ラ櫌鍖荤敓
+        XCN[] pv117_admittingDoctor = pv1.getPv117_AdmittingDoctor();
+        for (XCN xcn : pv117_admittingDoctor) {
+            //鍛樺伐鍙�
+            String idNumber = xcn.getIDNumber().encode();
+            //濮撳悕
+            String givenName2 = xcn.getGivenName().encode();
+        }
+
+        //璐圭敤绫诲埆
+        String pv118_patientType = pv1.getPv118_PatientType().encode();
+
+        //灏辫瘖 ID 鎴栬�呮偅鑰呬綇闄� ID
+        String id1 = pv1.getPv119_VisitNumber().getID().encode();
+
+        //浼樻儬绫诲埆
+        FC[] pv120_financialClass = pv1.getPv120_FinancialClass();
+        for (FC fc : pv120_financialClass) {
+            String financialClass = fc.getFinancialClass().encode();
+        }
+
+        //璐圭敤鎬ц川
+        String pv121_chargePriceIndicator = pv1.getPv121_ChargePriceIndicator().encode();
+
+        //鍏ョ鏃ユ湡
+        DT[] pv125_contractEffectiveDate = pv1.getPv125_ContractEffectiveDate();
+        DT dt = pv125_contractEffectiveDate[0];
+
+        SimpleDateFormat inputFormattt = new SimpleDateFormat("yyyyMMdd"); // 杈撳叆鏃ユ湡鏍煎紡
+        Date date22 = null; // 瑙f瀽涓篋ate瀵硅薄
+        try {
+            date22 = inputFormattt.parse(dt.encode());
+        } catch (ParseException e) {
+            e.printStackTrace();
+        }
+        SimpleDateFormat outputFormat2 = new SimpleDateFormat("yyyy-MM-dd"); // 杈撳嚭鏃ユ湡鏍煎紡
+        String rkdate = outputFormat2.format(date22);
+
+
+        //璐︽埛鍐荤粨寤鸿
+        String pv128_interestCode = pv1.getPv128_InterestCode().encode();
+
+        //娆犺垂鍐荤粨鏍囪瘑  榛樿鏄� 0/绌�  1锛氬喕缁擄紱2锛氭案涓嶅喕缁�
+        String pv129_transferToBadDebtCode = pv1.getPv129_TransferToBadDebtCode().encode();
+
+        //鍐荤粨鏃ユ湡
+        String pv130_transferToBadDebtDate = pv1.getPv130_TransferToBadDebtDate().encode();
+
+        //瑙e喕鏃ユ湡
+        String pv135_deleteAccountDate = pv1.getPv135_DeleteAccountDate().encode();
+
+        //绂婚櫌鍘诲悜/杞綊
+        String pv136_dischargeDisposition = pv1.getPv136_DischargeDisposition().encode();
+
+        //绂婚櫌鍘诲線浣嶇疆
+        String pv137_dischargedToLocation = pv1.getPv137_DischargedToLocation().getDischargeLocation().encode();
+
+        //楗绫诲瀷ID
+        String identifier1 = pv1.getPv138_DietType().getIdentifier().encode();
+        //楗绫诲瀷鍚嶇О
+        String text1 = pv1.getPv138_DietType().getText().encode();
+
+        //鎸傚彿鐨勪笂涓嬪崍鏍囧織   0-涓婂崍锛�1-涓嬪崍锛�2-鏅氫笂
+        String pv139_servicingFacility = pv1.getPv139_ServicingFacility().encode();
+
+        //绉戝 ID^^^闄㈠尯 ID
+        PL pv142_pendingLocation = pv1.getPv142_PendingLocation();
+        //闂ㄨ瘖灏辫瘖绉戝 ID
+        String mzpointOfCare = pv142_pendingLocation.getPointOfCare().encode();
+        //浣忛櫌闄㈠尯 ID
+        String namespaceID3 = pv142_pendingLocation.getFacility().getNamespaceID().encode();
+        //搴旂敤 ID
+        String universalIDType = pv142_pendingLocation.getFacility().getUniversalIDType().encode();
+        //鍖荤枟鏈烘瀯浠g爜
+        String personLocationType2 = pv142_pendingLocation.getPersonLocationType().encode();
+        //鍖荤枟鏈烘瀯鍚嶇О
+        String building = pv142_pendingLocation.getBuilding().encode();
+
+        //灏辫瘖/浣忛櫌鏃堕棿
+        String pv144_admitDateTime = pv1.getPv144_AdmitDateTime().encode();
+
+        //鍑洪櫌鏃堕棿  A03 娑堟伅蹇呭~
+        TS[] pv145_dischargeDateTime = pv1.getPv145_DischargeDateTime();
+        TS ts = pv145_dischargeDateTime[0];
+//        Date date2 = new Date(Long.valueOf(ts.encode()));
+//        SimpleDateFormat sdff = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+//        String dischargeDateTime = sdff.format(date2);
+
+        SimpleDateFormat inputFormat = new SimpleDateFormat("yyyyMMddHHmmss"); // 杈撳叆鏃ユ湡鏍煎紡
+        Date date2 = null; // 瑙f瀽涓篋ate瀵硅薄
+        try {
+            date2 = inputFormat.parse(ts.encode());
+        } catch (ParseException e) {
+            e.printStackTrace();
+        }
+        SimpleDateFormat outputFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // 杈撳嚭鏃ユ湡鏍煎紡
+        String dischargeDateTime = outputFormat.format(date2);
+
+        //璁块棶鏍囩ず
+        String visitIndicator = pv1.getPv151_VisitIndicator().encode();
+
+        //鎿嶄綔浜轰俊鎭�
+        XCN[] pv152_otherHealthcareProvider = pv1.getPv152_OtherHealthcareProvider();
+        for (XCN xcn : pv152_otherHealthcareProvider) {
+            //鍛樺伐鍙�
+            String IDNumber2 = xcn.getIDNumber().encode();
+            //濮撳悕
+            String givenName3 = xcn.getGivenName().encode();
+        }
+        //-----------------------------
+        PV2 pv2 = (PV2) message.get("PV2");
+        //瀹為檯浣忛櫌澶╂暟
+        String pv211_actualLengthOfInpatientStay = pv2.getPv211_ActualLengthOfInpatientStay().encode();
+
+        //------------------------------------------
+        Structure[] dg1s = message.getAll("DG1");
+        String dg12_diagnosisCodingMethod = null;
+        String dg14_diagnosisDescription = null;
+        for (Structure structure : dg1s) {
+            DG1 dg11 = (DG1) structure;
+            //搴忓彿
+            String dg1xh = dg11.getDg11_SetIDDG1().encode();
+            //璇婃柇浠g爜
+            dg12_diagnosisCodingMethod = dg11.getDg12_DiagnosisCodingMethod().encode();
+            //璇婃柇鍚嶇О
+            dg14_diagnosisDescription = dg11.getDg14_DiagnosisDescription().encode();
+            //璇婃柇绫诲瀷
+            String dg16_diagnosisType = dg11.getDg16_DiagnosisType().encode();
+            System.out.println(dg11);
+
+        }
+
+        //鏁版嵁鍏ュ簱
+        HospitalRecord hospitalRecord = new HospitalRecord();
+        hospitalRecord.setCreateTime(new Date());
+        hospitalRecord.setPatientID(patientID);
+        hospitalRecord.setOpreationTime(new Date());
+        //灏辫瘖鍙�
+        hospitalRecord.setOutMedNO(id1);
+        //灏辫瘖绫诲瀷鎻忚堪锛堥棬璇娿�佷綇闄�...锛�
+        hospitalRecord.setAdmTypeDesc(AdmTypeEnum.getDescByCode(patientClass));
+        //鍏ラ櫌鐘舵�侊紙灏辫瘖涓�佺粨鏉熷氨璇�...锛�
+        hospitalRecord.setAdmStatus(LevelHospEnum.getDescByCode(pv136_dischargeDisposition));
+        hospitalRecord.setAdmDate(dischargeDateTime);
+        hospitalRecord.setEncPatName(patientName);
+        if (StringUtils.isNotEmpty(xb)) {
+            hospitalRecord.setEncPatGender(xb.equals(1) ? "鐢�" : "濂�");
+        }
+        hospitalRecord.setEncPatBirthDate(birthdatTime);
+        //鑾峰彇骞撮緞
+        int currentYear = Year.now().getValue();
+        Integer integer = Integer.valueOf(birthdatTime.substring(0, 4));
+        Integer age = currentYear - integer;
+        hospitalRecord.setEncAgeValue(age.toString());
+
+        //涓绘不鍖荤敓缂栧彿
+        hospitalRecord.setDirectorCode(IDNumber);
+        //涓绘不鍖荤敓濮撳悕
+        hospitalRecord.setDirectorName(givenName);
+        hospitalRecord.setEncAdmLocCode(namespaceID1);
+        hospitalRecord.setEncAdmLocName(ksuniversalID);
+        hospitalRecord.setEncDiagnosisCode(dg12_diagnosisCodingMethod);
+        hospitalRecord.setEncDiagnosisDesc(dg14_diagnosisDescription);
+
+        List<Object> objectList = new ArrayList<>();
+//        objectList.add(hospitalRecord);
+
+        HospitalUserinfo hospitalUserinfo = new HospitalUserinfo();
+//        hospitalUserinfo.setCreateTime(null);
+        hospitalUserinfo.setPatientID(patientID);
+        hospitalUserinfo.setRegDate(rkdate);
+        hospitalUserinfo.setIdentityID(SSNNumberPatient);
+        hospitalUserinfo.setPatName(patientName);
+        hospitalUserinfo.setPhone(phone);
+        if (StringUtils.isNotEmpty(xb)) {
+            hospitalUserinfo.setPatSex(xb.equals(1) ? "鐢�" : "濂�");
+        }
+        hospitalUserinfo.setBirthDate(birthdatTime);
+        hospitalUserinfo.setAddress(xxdzxx);
+        hospitalUserinfo.setAddProvince(province);
+        hospitalUserinfo.setAddCity(city);
+        hospitalUserinfo.setAddCounty(otherDesignation);
+        hospitalUserinfo.setAddTown(streetName);
+        hospitalUserinfo.setCountry(gjtext);
+        hospitalUserinfo.setNation(mztext);
+        hospitalUserinfo.setConPerPhone(phone);
+        hospitalUserinfo.setRegOrgDesc("涔変箤甯傜浜屼汉姘戝尰闄�");
+        hospitalUserinfo.setEncAdmSource(AdmTypeEnum.getDescByCode(patientClass));
+        objectList.add(hospitalRecord);
+        objectList.add(hospitalUserinfo);
+
+        return objectList;
+
+    }
+}
diff --git a/smartor/src/main/resources/mapper/smartor/HeLibraryAssortMapper.xml b/smartor/src/main/resources/mapper/smartor/HeLibraryAssortMapper.xml
index 06297d0..025194f 100644
--- a/smartor/src/main/resources/mapper/smartor/HeLibraryAssortMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/HeLibraryAssortMapper.xml
@@ -41,6 +41,7 @@
             resultMap="HeLibraryAssortResult">
         <include refid="selectHeLibraryAssortVo"/>
         <where>
+            del_flag != 1
             <if test="assortname != null  and assortname != ''">and assortname like concat('%', #{assortname}, '%')</if>
             <if test="orgid != null  and orgid != ''">and orgid = #{orgid}</if>
             <if test="isupload != null ">and isupload = #{isupload}</if>
@@ -48,7 +49,7 @@
             <if test="pid != null ">and pid = #{pid}</if>
             <if test="guid != null  and guid != ''">and guid = #{guid}</if>
             <if test="seqno != null  ">and seqno = #{seqno}</if>
-            and del_flag != 1
+
         </where>
         order by seqno asc
     </select>
diff --git a/smartor/src/main/resources/mapper/smartor/HeLibraryTagMapper.xml b/smartor/src/main/resources/mapper/smartor/HeLibraryTagMapper.xml
index 7c8de6e..c5675e7 100644
--- a/smartor/src/main/resources/mapper/smartor/HeLibraryTagMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/HeLibraryTagMapper.xml
@@ -44,6 +44,7 @@
     <select id="selectHeLibraryTagList" parameterType="com.smartor.domain.HeLibraryTag" resultMap="HeLibraryTagResult">
         <include refid="selectHeLibraryTagVo"/>
         <where>
+            del_flag=0
             <if test="tagcategoryid != null ">and tagcategoryid = #{tagcategoryid}</if>
             <if test="tagid != null ">and tagid = #{tagid}</if>
             <if test="orgid != null  and orgid != ''">and orgid = #{orgid}</if>
diff --git a/smartor/src/main/resources/mapper/smartor/HospitalRecordMapper.xml b/smartor/src/main/resources/mapper/smartor/HospitalRecordMapper.xml
new file mode 100644
index 0000000..cc936c7
--- /dev/null
+++ b/smartor/src/main/resources/mapper/smartor/HospitalRecordMapper.xml
@@ -0,0 +1,420 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.smartor.mapper.HospitalRecordMapper">
+
+    <resultMap type="com.smartor.domain.HospitalRecord" id="HospitalRecordResult">
+        <result property="ID" column="ID"/>
+        <result property="sourceSystem" column="SourceSystem"/>
+        <result property="messageID" column="MessageID"/>
+        <result property="createTime" column="CreateTime"/>
+        <result property="methodName" column="MethodName"/>
+        <result property="reqIimRules" column="ReqIimRules"/>
+        <result property="patientID" column="PatientID"/>
+        <result property="opreationTime" column="OpreationTime"/>
+        <result property="episodeID" column="EpisodeID"/>
+        <result property="outMedNO" column="OutMedNO"/>
+        <result property="inMedNO" column="InMedNO"/>
+        <result property="visitNum" column="VisitNum"/>
+        <result property="admTypeCode" column="AdmTypeCode"/>
+        <result property="admTypeDesc" column="AdmTypeDesc"/>
+        <result property="admStatus" column="AdmStatus"/>
+        <result property="admDate" column="AdmDate"/>
+        <result property="encPatName" column="EncPatName"/>
+        <result property="encPatGender" column="EncPatGender"/>
+        <result property="encPatBirthDate" column="EncPatBirthDate"/>
+        <result property="transferstart" column="Transferstart"/>
+        <result property="transferend" column="Transferend"/>
+        <result property="encPatMaritalStatus" column="EncPatMaritalStatus"/>
+        <result property="originalText" column="OriginalText"/>
+        <result property="encDocList" column="EncDocList"/>
+        <result property="encAdmLocList" column="EncAdmLocList"/>
+        <result property="encounterPeriodStart" column="Encounter_period_start"/>
+        <result property="encounterPeriodEnd" column="Encounter_period_end"/>
+        <result property="encounterBooktime" column="Encounter_booktime"/>
+        <result property="encAdmSource" column="EncAdmSource"/>
+        <result property="encInhostype" column="EncInhostype"/>
+        <result property="encDietName" column="EncDietName"/>
+        <result property="encOuthostype" column="EncOuthostype"/>
+        <result property="encVisitnum" column="EncVisitnum"/>
+        <result property="encChargeType" column="EncChargeType"/>
+        <result property="encChargeTypeName" column="EncChargeTypeName"/>
+        <result property="encChargeCode" column="EncChargeCode"/>
+        <result property="encChargeName" column="EncChargeName"/>
+        <result property="encReglevelcode" column="EncReglevelcode"/>
+        <result property="encCareLevel" column="EncCareLevel"/>
+        <result property="specialday" column="Specialday"/>
+        <result property="primaryday" column="Primaryday"/>
+        <result property="secondaryday" column="Secondaryday"/>
+        <result property="tertiaryday" column="Tertiaryday"/>
+        <result property="enroomno" column="Enroomno"/>
+        <result property="enBedno" column="EnBedno"/>
+        <result property="encSeeno" column="EncSeeno"/>
+        <result property="encAgeUnit" column="EncAgeUnit"/>
+        <result property="encAgeValue" column="EncAgeValue"/>
+        <result property="enIsbaby" column="EnIsbaby"/>
+        <result property="encHavebaby" column="EncHavebaby"/>
+        <result property="encDiagList" column="EncDiagList"/>
+        <result property="directorCode" column="DirectorCode"/>
+        <result property="directorName" column="DirectorName"/>
+        <result property="encDiagnosisCode" column="EncDiagnosisCode"/>
+        <result property="encDiagnosisDesc" column="EncDiagnosisDesc"/>
+        <result property="encAdmLocCode" column="EncAdmLocCode"/>
+        <result property="encAdmLocName" column="EncAdmLocName"/>
+        <result property="taskStatus" column="taskStatus"/>
+    </resultMap>
+
+    <sql id="selectHospitalRecordVo">
+        select ID,
+               SourceSystem,
+               MessageID,
+               CreateTime,
+               MethodName,
+               ReqIimRules,
+               PatientID,
+               OpreationTime,
+               EpisodeID,
+               OutMedNO,
+               InMedNO,
+               VisitNum,
+               AdmTypeCode,
+               AdmTypeDesc,
+               AdmStatus,
+               AdmDate,
+               EncPatName,
+               EncPatGender,
+               EncPatBirthDate,
+               Transferstart,
+               Transferend,
+               EncPatMaritalStatus,
+               OriginalText,
+               EncDocList,
+               EncAdmLocList,
+               Encounter_period_start,
+               Encounter_period_end,
+               Encounter_booktime,
+               EncAdmSource,
+               EncInhostype,
+               EncDietName,
+               EncOuthostype,
+               EncVisitnum,
+               EncChargeType,
+               EncChargeTypeName,
+               EncChargeCode,
+               EncChargeName,
+               EncReglevelcode,
+               EncCareLevel,
+               Specialday,
+               Primaryday,
+               Secondaryday,
+               Tertiaryday,
+               Enroomno,
+               EnBedno,
+               EncSeeno,
+               EncAgeUnit,
+               EncAgeValue,
+               EnIsbaby,
+               EncHavebaby,
+               EncDiagList,
+               DirectorCode,
+               DirectorName,
+               EncDiagnosisCode,
+               EncDiagnosisDesc,
+               EncAdmLocCode,
+               EncAdmLocName,
+               taskStatus
+        from hospital_record
+    </sql>
+
+    <select id="selectHospitalRecordList" parameterType="com.smartor.domain.HospitalRecord"
+            resultMap="HospitalRecordResult">
+        <include refid="selectHospitalRecordVo"/>
+        <where>
+            <if test="ID != null  and ID != ''">and ID = #{ID}</if>
+            <if test="sourceSystem != null  and sourceSystem != ''">and SourceSystem = #{sourceSystem}</if>
+            <if test="messageID != null  and messageID != ''">and MessageID = #{messageID}</if>
+            <if test="createTime != null  and createTime != ''">and CreateTime = #{createTime}</if>
+            <if test="methodName != null  and methodName != ''">and MethodName like concat('%', #{methodName}, '%')</if>
+            <if test="reqIimRules != null  and reqIimRules != ''">and ReqIimRules = #{reqIimRules}</if>
+            <if test="patientID != null  and patientID != ''">and PatientID = #{patientID}</if>
+            <if test="opreationTime != null  and opreationTime != ''">and OpreationTime = #{opreationTime}</if>
+            <if test="episodeID != null  and episodeID != ''">and EpisodeID = #{episodeID}</if>
+            <if test="outMedNO != null  and outMedNO != ''">and OutMedNO = #{outMedNO}</if>
+            <if test="inMedNO != null  and inMedNO != ''">and InMedNO = #{inMedNO}</if>
+            <if test="visitNum != null  and visitNum != ''">and VisitNum = #{visitNum}</if>
+            <if test="admTypeCode != null  and admTypeCode != ''">and AdmTypeCode = #{admTypeCode}</if>
+            <if test="admTypeDesc != null  and admTypeDesc != ''">and AdmTypeDesc = #{admTypeDesc}</if>
+            <if test="admStatus != null  and admStatus != ''">and AdmStatus = #{admStatus}</if>
+            <if test="admDate != null  and admDate != ''">and AdmDate = #{admDate}</if>
+            <if test="encPatName != null  and encPatName != ''">and EncPatName like concat('%', #{encPatName}, '%')</if>
+            <if test="encPatGender != null  and encPatGender != ''">and EncPatGender = #{encPatGender}</if>
+            <if test="encPatBirthDate != null  and encPatBirthDate != ''">and EncPatBirthDate = #{encPatBirthDate}</if>
+            <if test="transferstart != null  and transferstart != ''">and Transferstart = #{transferstart}</if>
+            <if test="transferend != null  and transferend != ''">and Transferend = #{transferend}</if>
+            <if test="encPatMaritalStatus != null  and encPatMaritalStatus != ''">and EncPatMaritalStatus =
+                #{encPatMaritalStatus}
+            </if>
+            <if test="originalText != null  and originalText != ''">and OriginalText = #{originalText}</if>
+            <if test="encDocList != null  and encDocList != ''">and EncDocList = #{encDocList}</if>
+            <if test="encAdmLocList != null  and encAdmLocList != ''">and EncAdmLocList = #{encAdmLocList}</if>
+            <if test="encounterPeriodStart != null  and encounterPeriodStart != ''">and Encounter_period_start =
+                #{encounterPeriodStart}
+            </if>
+            <if test="encounterPeriodEnd != null  and encounterPeriodEnd != ''">and Encounter_period_end =
+                #{encounterPeriodEnd}
+            </if>
+            <if test="encounterBooktime != null  and encounterBooktime != ''">and Encounter_booktime =
+                #{encounterBooktime}
+            </if>
+            <if test="encAdmSource != null  and encAdmSource != ''">and EncAdmSource = #{encAdmSource}</if>
+            <if test="encInhostype != null  and encInhostype != ''">and EncInhostype = #{encInhostype}</if>
+            <if test="encDietName != null  and encDietName != ''">and EncDietName like concat('%', #{encDietName},
+                '%')
+            </if>
+            <if test="encOuthostype != null  and encOuthostype != ''">and EncOuthostype = #{encOuthostype}</if>
+            <if test="encVisitnum != null  and encVisitnum != ''">and EncVisitnum = #{encVisitnum}</if>
+            <if test="encChargeType != null  and encChargeType != ''">and EncChargeType = #{encChargeType}</if>
+            <if test="encChargeTypeName != null  and encChargeTypeName != ''">and EncChargeTypeName like concat('%',
+                #{encChargeTypeName}, '%')
+            </if>
+            <if test="encChargeCode != null  and encChargeCode != ''">and EncChargeCode = #{encChargeCode}</if>
+            <if test="encChargeName != null  and encChargeName != ''">and EncChargeName like concat('%',
+                #{encChargeName}, '%')
+            </if>
+            <if test="encReglevelcode != null  and encReglevelcode != ''">and EncReglevelcode = #{encReglevelcode}</if>
+            <if test="encCareLevel != null  and encCareLevel != ''">and EncCareLevel = #{encCareLevel}</if>
+            <if test="specialday != null  and specialday != ''">and Specialday = #{specialday}</if>
+            <if test="primaryday != null  and primaryday != ''">and Primaryday = #{primaryday}</if>
+            <if test="secondaryday != null  and secondaryday != ''">and Secondaryday = #{secondaryday}</if>
+            <if test="tertiaryday != null  and tertiaryday != ''">and Tertiaryday = #{tertiaryday}</if>
+            <if test="enroomno != null  and enroomno != ''">and Enroomno = #{enroomno}</if>
+            <if test="enBedno != null  and enBedno != ''">and EnBedno = #{enBedno}</if>
+            <if test="encSeeno != null  and encSeeno != ''">and EncSeeno = #{encSeeno}</if>
+            <if test="encAgeUnit != null  and encAgeUnit != ''">and EncAgeUnit = #{encAgeUnit}</if>
+            <if test="encAgeValue != null  and encAgeValue != ''">and EncAgeValue = #{encAgeValue}</if>
+            <if test="enIsbaby != null  and enIsbaby != ''">and EnIsbaby = #{enIsbaby}</if>
+            <if test="encHavebaby != null  and encHavebaby != ''">and EncHavebaby = #{encHavebaby}</if>
+            <if test="encDiagList != null  and encDiagList != ''">and EncDiagList = #{encDiagList}</if>
+            <if test="directorCode != null  and directorCode != ''">and DirectorCode = #{directorCode}</if>
+            <if test="directorName != null  and directorName != ''">and DirectorName like concat('%', #{directorName},
+                '%')
+            </if>
+            <if test="dncDiagnosisCode != null  and dncDiagnosisCode != ''">and EncDiagnosisCode = #{dncDiagnosisCode}
+            </if>
+            <if test="encDiagnosisDesc != null  and encDiagnosisDesc != ''">and EncDiagnosisDesc = #{encDiagnosisDesc}
+            </if>
+            <if test="encAdmLocCode != null  and encAdmLocCode != ''">and EncAdmLocCode = #{encAdmLocCode}</if>
+            <if test="encAdmLocName != null  and encAdmLocName != ''">and EncAdmLocName like concat('%',
+                #{encAdmLocName}, '%')
+            </if>
+            <if test="taskStatus != null  and taskStatus != ''">and taskStatus = #{taskStatus}</if>
+        </where>
+    </select>
+
+    <select id="selectHospitalRecordByID" parameterType="String" resultMap="HospitalRecordResult">
+        <include refid="selectHospitalRecordVo"/>
+        where ID = #{ID}
+    </select>
+
+    <insert id="insertHospitalRecord" parameterType="com.smartor.domain.HospitalRecord">
+        insert into hospital_record
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="ID != null">ID,</if>
+            <if test="sourceSystem != null">SourceSystem,</if>
+            <if test="messageID != null">MessageID,</if>
+            <if test="createTime != null">CreateTime,</if>
+            <if test="methodName != null">MethodName,</if>
+            <if test="reqIimRules != null">ReqIimRules,</if>
+            <if test="patientID != null">PatientID,</if>
+            <if test="opreationTime != null">OpreationTime,</if>
+            <if test="episodeID != null">EpisodeID,</if>
+            <if test="outMedNO != null">OutMedNO,</if>
+            <if test="inMedNO != null">InMedNO,</if>
+            <if test="visitNum != null">VisitNum,</if>
+            <if test="admTypeCode != null">AdmTypeCode,</if>
+            <if test="admTypeDesc != null">AdmTypeDesc,</if>
+            <if test="admStatus != null">AdmStatus,</if>
+            <if test="admDate != null">AdmDate,</if>
+            <if test="encPatName != null">EncPatName,</if>
+            <if test="encPatGender != null">EncPatGender,</if>
+            <if test="encPatBirthDate != null">EncPatBirthDate,</if>
+            <if test="transferstart != null">Transferstart,</if>
+            <if test="transferend != null">Transferend,</if>
+            <if test="encPatMaritalStatus != null">EncPatMaritalStatus,</if>
+            <if test="originalText != null">OriginalText,</if>
+            <if test="encDocList != null">EncDocList,</if>
+            <if test="encAdmLocList != null">EncAdmLocList,</if>
+            <if test="encounterPeriodStart != null">Encounter_period_start,</if>
+            <if test="encounterPeriodEnd != null">Encounter_period_end,</if>
+            <if test="encounterBooktime != null">Encounter_booktime,</if>
+            <if test="encAdmSource != null">EncAdmSource,</if>
+            <if test="encInhostype != null">EncInhostype,</if>
+            <if test="encDietName != null">EncDietName,</if>
+            <if test="encOuthostype != null">EncOuthostype,</if>
+            <if test="encVisitnum != null">EncVisitnum,</if>
+            <if test="encChargeType != null">EncChargeType,</if>
+            <if test="encChargeTypeName != null">EncChargeTypeName,</if>
+            <if test="encChargeCode != null">EncChargeCode,</if>
+            <if test="encChargeName != null">EncChargeName,</if>
+            <if test="encReglevelcode != null">EncReglevelcode,</if>
+            <if test="encCareLevel != null">EncCareLevel,</if>
+            <if test="specialday != null">Specialday,</if>
+            <if test="primaryday != null">Primaryday,</if>
+            <if test="secondaryday != null">Secondaryday,</if>
+            <if test="tertiaryday != null">Tertiaryday,</if>
+            <if test="enroomno != null">Enroomno,</if>
+            <if test="enBedno != null">EnBedno,</if>
+            <if test="encSeeno != null">EncSeeno,</if>
+            <if test="encAgeUnit != null">EncAgeUnit,</if>
+            <if test="encAgeValue != null">EncAgeValue,</if>
+            <if test="enIsbaby != null">EnIsbaby,</if>
+            <if test="encHavebaby != null">EncHavebaby,</if>
+            <if test="encDiagList != null">EncDiagList,</if>
+            <if test="directorCode != null">DirectorCode,</if>
+            <if test="directorName != null">DirectorName,</if>
+            <if test="encDiagnosisCode != null">EncDiagnosisCode,</if>
+            <if test="encDiagnosisDesc != null">EncDiagnosisDesc,</if>
+            <if test="encAdmLocCode != null">EncAdmLocCode,</if>
+            <if test="encAdmLocName != null">EncAdmLocName,</if>
+            <if test="taskStatus != null">taskStatus,</if>
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="ID != null">#{ID},</if>
+            <if test="sourceSystem != null">#{sourceSystem},</if>
+            <if test="messageID != null">#{messageID},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="methodName != null">#{methodName},</if>
+            <if test="reqIimRules != null">#{reqIimRules},</if>
+            <if test="patientID != null">#{patientID},</if>
+            <if test="opreationTime != null">#{opreationTime},</if>
+            <if test="episodeID != null">#{episodeID},</if>
+            <if test="outMedNO != null">#{outMedNO},</if>
+            <if test="inMedNO != null">#{inMedNO},</if>
+            <if test="visitNum != null">#{visitNum},</if>
+            <if test="admTypeCode != null">#{admTypeCode},</if>
+            <if test="admTypeDesc != null">#{admTypeDesc},</if>
+            <if test="admStatus != null">#{admStatus},</if>
+            <if test="admDate != null">#{admDate},</if>
+            <if test="encPatName != null">#{encPatName},</if>
+            <if test="encPatGender != null">#{encPatGender},</if>
+            <if test="encPatBirthDate != null">#{encPatBirthDate},</if>
+            <if test="transferstart != null">#{transferstart},</if>
+            <if test="transferend != null">#{transferend},</if>
+            <if test="encPatMaritalStatus != null">#{encPatMaritalStatus},</if>
+            <if test="originalText != null">#{originalText},</if>
+            <if test="encDocList != null">#{encDocList},</if>
+            <if test="encAdmLocList != null">#{encAdmLocList},</if>
+            <if test="encounterPeriodStart != null">#{encounterPeriodStart},</if>
+            <if test="encounterPeriodEnd != null">#{encounterPeriodEnd},</if>
+            <if test="encounterBooktime != null">#{encounterBooktime},</if>
+            <if test="encAdmSource != null">#{encAdmSource},</if>
+            <if test="encInhostype != null">#{encInhostype},</if>
+            <if test="encDietName != null">#{encDietName},</if>
+            <if test="encOuthostype != null">#{encOuthostype},</if>
+            <if test="encVisitnum != null">#{encVisitnum},</if>
+            <if test="encChargeType != null">#{encChargeType},</if>
+            <if test="encChargeTypeName != null">#{encChargeTypeName},</if>
+            <if test="encChargeCode != null">#{encChargeCode},</if>
+            <if test="encChargeName != null">#{encChargeName},</if>
+            <if test="encReglevelcode != null">#{encReglevelcode},</if>
+            <if test="encCareLevel != null">#{encCareLevel},</if>
+            <if test="specialday != null">#{specialday},</if>
+            <if test="primaryday != null">#{primaryday},</if>
+            <if test="secondaryday != null">#{secondaryday},</if>
+            <if test="tertiaryday != null">#{tertiaryday},</if>
+            <if test="enroomno != null">#{enroomno},</if>
+            <if test="enBedno != null">#{enBedno},</if>
+            <if test="encSeeno != null">#{encSeeno},</if>
+            <if test="encAgeUnit != null">#{encAgeUnit},</if>
+            <if test="encAgeValue != null">#{encAgeValue},</if>
+            <if test="enIsbaby != null">#{enIsbaby},</if>
+            <if test="encHavebaby != null">#{encHavebaby},</if>
+            <if test="encDiagList != null">#{encDiagList},</if>
+            <if test="directorCode != null">#{directorCode},</if>
+            <if test="directorName != null">#{directorName},</if>
+            <if test="encDiagnosisCode != null">#{encDiagnosisCode},</if>
+            <if test="encDiagnosisDesc != null">#{encDiagnosisDesc},</if>
+            <if test="encAdmLocCode != null">#{encAdmLocCode},</if>
+            <if test="encAdmLocName != null">#{encAdmLocName},</if>
+            <if test="taskStatus != null">#{taskStatus},</if>
+        </trim>
+    </insert>
+
+    <update id="updateHospitalRecord" parameterType="com.smartor.domain.HospitalRecord">
+        update hospital_record
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="SourceSystem != null">SourceSystem = #{SourceSystem},</if>
+            <if test="MessageID != null">MessageID = #{MessageID},</if>
+            <if test="CreateTime != null">CreateTime = #{CreateTime},</if>
+            <if test="MethodName != null">MethodName = #{MethodName},</if>
+            <if test="ReqIimRules != null">ReqIimRules = #{ReqIimRules},</if>
+            <if test="PatientID != null">PatientID = #{PatientID},</if>
+            <if test="OpreationTime != null">OpreationTime = #{OpreationTime},</if>
+            <if test="EpisodeID != null">EpisodeID = #{EpisodeID},</if>
+            <if test="OutMedNO != null">OutMedNO = #{OutMedNO},</if>
+            <if test="InMedNO != null">InMedNO = #{InMedNO},</if>
+            <if test="VisitNum != null">VisitNum = #{VisitNum},</if>
+            <if test="AdmTypeCode != null">AdmTypeCode = #{AdmTypeCode},</if>
+            <if test="AdmTypeDesc != null">AdmTypeDesc = #{AdmTypeDesc},</if>
+            <if test="AdmStatus != null">AdmStatus = #{AdmStatus},</if>
+            <if test="AdmDate != null">AdmDate = #{AdmDate},</if>
+            <if test="EncPatName != null">EncPatName = #{EncPatName},</if>
+            <if test="EncPatGender != null">EncPatGender = #{EncPatGender},</if>
+            <if test="EncPatBirthDate != null">EncPatBirthDate = #{EncPatBirthDate},</if>
+            <if test="Transferstart != null">Transferstart = #{Transferstart},</if>
+            <if test="Transferend != null">Transferend = #{Transferend},</if>
+            <if test="EncPatMaritalStatus != null">EncPatMaritalStatus = #{EncPatMaritalStatus},</if>
+            <if test="OriginalText != null">OriginalText = #{OriginalText},</if>
+            <if test="EncDocList != null">EncDocList = #{EncDocList},</if>
+            <if test="EncAdmLocList != null">EncAdmLocList = #{EncAdmLocList},</if>
+            <if test="encounterPeriodStart != null">Encounter_period_start = #{encounterPeriodStart},</if>
+            <if test="encounterPeriodEnd != null">Encounter_period_end = #{encounterPeriodEnd},</if>
+            <if test="encounterBooktime != null">Encounter_booktime = #{encounterBooktime},</if>
+            <if test="EncAdmSource != null">EncAdmSource = #{EncAdmSource},</if>
+            <if test="EncInhostype != null">EncInhostype = #{EncInhostype},</if>
+            <if test="EncDietName != null">EncDietName = #{EncDietName},</if>
+            <if test="EncOuthostype != null">EncOuthostype = #{EncOuthostype},</if>
+            <if test="EncVisitnum != null">EncVisitnum = #{EncVisitnum},</if>
+            <if test="EncChargeType != null">EncChargeType = #{EncChargeType},</if>
+            <if test="EncChargeTypeName != null">EncChargeTypeName = #{EncChargeTypeName},</if>
+            <if test="EncChargeCode != null">EncChargeCode = #{EncChargeCode},</if>
+            <if test="EncChargeName != null">EncChargeName = #{EncChargeName},</if>
+            <if test="EncReglevelcode != null">EncReglevelcode = #{EncReglevelcode},</if>
+            <if test="EncCareLevel != null">EncCareLevel = #{EncCareLevel},</if>
+            <if test="Specialday != null">Specialday = #{Specialday},</if>
+            <if test="Primaryday != null">Primaryday = #{Primaryday},</if>
+            <if test="Secondaryday != null">Secondaryday = #{Secondaryday},</if>
+            <if test="Tertiaryday != null">Tertiaryday = #{Tertiaryday},</if>
+            <if test="Enroomno != null">Enroomno = #{Enroomno},</if>
+            <if test="EnBedno != null">EnBedno = #{EnBedno},</if>
+            <if test="EncSeeno != null">EncSeeno = #{EncSeeno},</if>
+            <if test="EncAgeUnit != null">EncAgeUnit = #{EncAgeUnit},</if>
+            <if test="EncAgeValue != null">EncAgeValue = #{EncAgeValue},</if>
+            <if test="EnIsbaby != null">EnIsbaby = #{EnIsbaby},</if>
+            <if test="EncHavebaby != null">EncHavebaby = #{EncHavebaby},</if>
+            <if test="EncDiagList != null">EncDiagList = #{EncDiagList},</if>
+            <if test="DirectorCode != null">DirectorCode = #{DirectorCode},</if>
+            <if test="DirectorName != null">DirectorName = #{DirectorName},</if>
+            <if test="EncDiagnosisCode != null">EncDiagnosisCode = #{EncDiagnosisCode},</if>
+            <if test="EncDiagnosisDesc != null">EncDiagnosisDesc = #{EncDiagnosisDesc},</if>
+            <if test="EncAdmLocCode != null">EncAdmLocCode = #{EncAdmLocCode},</if>
+            <if test="EncAdmLocName != null">EncAdmLocName = #{EncAdmLocName},</if>
+            <if test="taskStatus != null">taskStatus = #{taskStatus},</if>
+        </trim>
+        where ID = #{ID}
+    </update>
+
+    <delete id="deleteHospitalRecordByID" parameterType="String">
+        delete
+        from hospital_record
+        where ID = #{ID}
+    </delete>
+
+    <delete id="deleteHospitalRecordByIDs" parameterType="String">
+        delete from hospital_record where ID in
+        <foreach item="ID" collection="array" open="(" separator="," close=")">
+            #{ID}
+        </foreach>
+    </delete>
+</mapper>
\ No newline at end of file
diff --git a/smartor/src/main/resources/mapper/smartor/HospitalUserinfoMapper.xml b/smartor/src/main/resources/mapper/smartor/HospitalUserinfoMapper.xml
new file mode 100644
index 0000000..d7d7e8d
--- /dev/null
+++ b/smartor/src/main/resources/mapper/smartor/HospitalUserinfoMapper.xml
@@ -0,0 +1,562 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.smartor.mapper.HospitalUserinfoMapper">
+
+    <resultMap type="com.smartor.domain.HospitalUserinfo" id="HospitalUserinfoResult">
+        <result property="ID" column="ID"/>
+        <result property="SourceSystem" column="SourceSystem"/>
+        <result property="MessageID" column="MessageID"/>
+        <result property="CreateTime" column="CreateTime"/>
+        <result property="MethodName" column="MethodName"/>
+        <result property="ReqIimRules" column="ReqIimRules"/>
+        <result property="PatientID" column="PatientID"/>
+        <result property="VisitNum" column="VisitNum"/>
+        <result property="RegDate" column="RegDate"/>
+        <result property="IdentityID" column="IdentityID"/>
+        <result property="PatName" column="PatName"/>
+        <result property="Phone" column="Phone"/>
+        <result property="PatSex" column="PatSex"/>
+        <result property="BirthDate" column="BirthDate"/>
+        <result property="Address" column="Address"/>
+        <result property="AddProvince" column="AddProvince"/>
+        <result property="AddCity" column="AddCity"/>
+        <result property="AddCounty" column="AddCounty"/>
+        <result property="AddTown" column="AddTown"/>
+        <result property="AddVillage" column="AddVillage"/>
+        <result property="AddHouseNo" column="AddHouseNo"/>
+        <result property="HouseAddress" column="HouseAddress"/>
+        <result property="HouseAddProvince" column="HouseAddProvince"/>
+        <result property="HouseAddCity" column="HouseAddCity"/>
+        <result property="HouseAddCounty" column="HouseAddCounty"/>
+        <result property="HouseAddTown" column="HouseAddTown"/>
+        <result property="HouseAddVillage" column="HouseAddVillage"/>
+        <result property="HouseAddHouseNo" column="HouseAddHouseNo"/>
+        <result property="BirthAddress" column="BirthAddress"/>
+        <result property="BirthAddProvince" column="BirthAddProvince"/>
+        <result property="BirthAddCity" column="BirthAddCity"/>
+        <result property="BirthAddCounty" column="BirthAddCounty"/>
+        <result property="BirthAddTown" column="BirthAddTown"/>
+        <result property="BirthAddVillage" column="BirthAddVillage"/>
+        <result property="BirthAddHouseNo" column="BirthAddHouseNo"/>
+        <result property="ContactsAddress" column="ContactsAddress"/>
+        <result property="ContactsAddProvince" column="ContactsAddProvince"/>
+        <result property="ContactsAddCity" column="ContactsAddCity"/>
+        <result property="ContactsAddCounty" column="ContactsAddCounty"/>
+        <result property="ContactsAddTown" column="ContactsAddTown"/>
+        <result property="ContactsAddVillage" column="ContactsAddVillage"/>
+        <result property="ContactsAddHouseNo" column="ContactsAddHouseNo"/>
+        <result property="NativeAddress" column="NativeAddress"/>
+        <result property="NativeAddProvince" column="NativeAddProvince"/>
+        <result property="NativeAddCity" column="NativeAddCity"/>
+        <result property="NativeAddCounty" column="NativeAddCounty"/>
+        <result property="NativeAddTown" column="NativeAddTown"/>
+        <result property="NativeAddVillage" column="NativeAddVillage"/>
+        <result property="NativeAddHouseNo" column="NativeAddHouseNo"/>
+        <result property="PostalCode" column="PostalCode"/>
+        <result property="HouseCode" column="HouseCode"/>
+        <result property="WorkCode" column="WorkCode"/>
+        <result property="MaritalStatus" column="MaritalStatus"/>
+        <result property="Country" column="Country"/>
+        <result property="Nation" column="Nation"/>
+        <result property="NationCode" column="NationCode"/>
+        <result property="OccupType" column="OccupType"/>
+        <result property="OccupTypeCode" column="OccupTypeCode"/>
+        <result property="WorkUnit" column="WorkUnit"/>
+        <result property="WorkPhone" column="WorkPhone"/>
+        <result property="HCardNo" column="HCardNo"/>
+        <result property="HCIssuersCode" column="HCIssuersCode"/>
+        <result property="HUrbanCode" column="HUrbanCode"/>
+        <result property="MedOrgCode" column="MedOrgCode"/>
+        <result property="paycode" column="paycode"/>
+        <result property="payname" column="payname"/>
+        <result property="ConRelShip" column="ConRelShip"/>
+        <result property="ConPerPhone" column="ConPerPhone"/>
+        <result property="ConPerName" column="ConPerName"/>
+        <result property="RegOrgCode" column="RegOrgCode"/>
+        <result property="RegOrgDesc" column="RegOrgDesc"/>
+        <result property="InsureOrgName" column="InsureOrgName"/>
+        <result property="InsureOrgCode" column="InsureOrgCode"/>
+        <result property="RegEmpCode" column="RegEmpCode"/>
+        <result property="RegEmpName" column="RegEmpName"/>
+        <result property="INEnroomno" column="INEnroomno"/>
+        <result property="OUTEnroomno" column="OUTEnroomno"/>
+        <result property="EncAdmSource" column="EncAdmSource"/>
+        <result property="Directordoc" column="Directordoc"/>
+        <result property="Attenddoc" column="Attenddoc"/>
+        <result property="Beddoc" column="Beddoc"/>
+        <result property="Bednur" column="Bednur"/>
+        <result property="Regdoc" column="Regdoc"/>
+    </resultMap>
+
+    <sql id="selectHospitalUserinfoVo">
+        select ID,
+               SourceSystem,
+               MessageID,
+               CreateTime,
+               MethodName,
+               ReqIimRules,
+               PatientID,
+               VisitNum,
+               RegDate,
+               IdentityID,
+               PatName,
+               Phone,
+               PatSex,
+               BirthDate,
+               Address,
+               AddProvince,
+               AddCity,
+               AddCounty,
+               AddTown,
+               AddVillage,
+               AddHouseNo,
+               HouseAddress,
+               HouseAddProvince,
+               HouseAddCity,
+               HouseAddCounty,
+               HouseAddTown,
+               HouseAddVillage,
+               HouseAddHouseNo,
+               BirthAddress,
+               BirthAddProvince,
+               BirthAddCity,
+               BirthAddCounty,
+               BirthAddTown,
+               BirthAddVillage,
+               BirthAddHouseNo,
+               ContactsAddress,
+               ContactsAddProvince,
+               ContactsAddCity,
+               ContactsAddCounty,
+               ContactsAddTown,
+               ContactsAddVillage,
+               ContactsAddHouseNo,
+               NativeAddress,
+               NativeAddProvince,
+               NativeAddCity,
+               NativeAddCounty,
+               NativeAddTown,
+               NativeAddVillage,
+               NativeAddHouseNo,
+               PostalCode,
+               HouseCode,
+               WorkCode,
+               MaritalStatus,
+               Country,
+               Nation,
+               NationCode,
+               OccupType,
+               OccupTypeCode,
+               WorkUnit,
+               WorkPhone,
+               HCardNo,
+               HCIssuersCode,
+               HUrbanCode,
+               MedOrgCode,
+               paycode,
+               payname,
+               ConRelShip,
+               ConPerPhone,
+               ConPerName,
+               RegOrgCode,
+               RegOrgDesc,
+               InsureOrgName,
+               InsureOrgCode,
+               RegEmpCode,
+               RegEmpName,
+               INEnroomno,
+               OUTEnroomno,
+               EncAdmSource,
+               Directordoc,
+               Attenddoc,
+               Beddoc,
+               Bednur,
+               Regdoc
+        from hospital_userinfo
+    </sql>
+
+    <select id="selectHospitalUserinfoList" parameterType="HospitalUserinfo" resultMap="HospitalUserinfoResult">
+        <include refid="selectHospitalUserinfoVo"/>
+        <where>
+            <if test="SourceSystem != null  and SourceSystem != ''">and SourceSystem = #{SourceSystem}</if>
+            <if test="MessageID != null  and MessageID != ''">and MessageID = #{MessageID}</if>
+            <if test="CreateTime != null  and CreateTime != ''">and CreateTime = #{CreateTime}</if>
+            <if test="MethodName != null  and MethodName != ''">and MethodName like concat('%', #{MethodName}, '%')</if>
+            <if test="ReqIimRules != null  and ReqIimRules != ''">and ReqIimRules = #{ReqIimRules}</if>
+            <if test="PatientID != null  and PatientID != ''">and PatientID = #{PatientID}</if>
+            <if test="VisitNum != null  and VisitNum != ''">and VisitNum = #{VisitNum}</if>
+            <if test="RegDate != null  and RegDate != ''">and RegDate = #{RegDate}</if>
+            <if test="IdentityID != null  and IdentityID != ''">and IdentityID = #{IdentityID}</if>
+            <if test="PatName != null  and PatName != ''">and PatName like concat('%', #{PatName}, '%')</if>
+            <if test="Phone != null  and Phone != ''">and Phone = #{Phone}</if>
+            <if test="PatSex != null  and PatSex != ''">and PatSex = #{PatSex}</if>
+            <if test="BirthDate != null  and BirthDate != ''">and BirthDate = #{BirthDate}</if>
+            <if test="Address != null  and Address != ''">and Address = #{Address}</if>
+            <if test="AddProvince != null  and AddProvince != ''">and AddProvince = #{AddProvince}</if>
+            <if test="AddCity != null  and AddCity != ''">and AddCity = #{AddCity}</if>
+            <if test="AddCounty != null  and AddCounty != ''">and AddCounty = #{AddCounty}</if>
+            <if test="AddTown != null  and AddTown != ''">and AddTown = #{AddTown}</if>
+            <if test="AddVillage != null  and AddVillage != ''">and AddVillage = #{AddVillage}</if>
+            <if test="AddHouseNo != null  and AddHouseNo != ''">and AddHouseNo = #{AddHouseNo}</if>
+            <if test="HouseAddress != null  and HouseAddress != ''">and HouseAddress = #{HouseAddress}</if>
+            <if test="HouseAddProvince != null  and HouseAddProvince != ''">and HouseAddProvince = #{HouseAddProvince}
+            </if>
+            <if test="HouseAddCity != null  and HouseAddCity != ''">and HouseAddCity = #{HouseAddCity}</if>
+            <if test="HouseAddCounty != null  and HouseAddCounty != ''">and HouseAddCounty = #{HouseAddCounty}</if>
+            <if test="HouseAddTown != null  and HouseAddTown != ''">and HouseAddTown = #{HouseAddTown}</if>
+            <if test="HouseAddVillage != null  and HouseAddVillage != ''">and HouseAddVillage = #{HouseAddVillage}</if>
+            <if test="HouseAddHouseNo != null  and HouseAddHouseNo != ''">and HouseAddHouseNo = #{HouseAddHouseNo}</if>
+            <if test="BirthAddress != null  and BirthAddress != ''">and BirthAddress = #{BirthAddress}</if>
+            <if test="BirthAddProvince != null  and BirthAddProvince != ''">and BirthAddProvince = #{BirthAddProvince}
+            </if>
+            <if test="BirthAddCity != null  and BirthAddCity != ''">and BirthAddCity = #{BirthAddCity}</if>
+            <if test="BirthAddCounty != null  and BirthAddCounty != ''">and BirthAddCounty = #{BirthAddCounty}</if>
+            <if test="BirthAddTown != null  and BirthAddTown != ''">and BirthAddTown = #{BirthAddTown}</if>
+            <if test="BirthAddVillage != null  and BirthAddVillage != ''">and BirthAddVillage = #{BirthAddVillage}</if>
+            <if test="BirthAddHouseNo != null  and BirthAddHouseNo != ''">and BirthAddHouseNo = #{BirthAddHouseNo}</if>
+            <if test="ContactsAddress != null  and ContactsAddress != ''">and ContactsAddress = #{ContactsAddress}</if>
+            <if test="ContactsAddProvince != null  and ContactsAddProvince != ''">and ContactsAddProvince =
+                #{ContactsAddProvince}
+            </if>
+            <if test="ContactsAddCity != null  and ContactsAddCity != ''">and ContactsAddCity = #{ContactsAddCity}</if>
+            <if test="ContactsAddCounty != null  and ContactsAddCounty != ''">and ContactsAddCounty =
+                #{ContactsAddCounty}
+            </if>
+            <if test="ContactsAddTown != null  and ContactsAddTown != ''">and ContactsAddTown = #{ContactsAddTown}</if>
+            <if test="ContactsAddVillage != null  and ContactsAddVillage != ''">and ContactsAddVillage =
+                #{ContactsAddVillage}
+            </if>
+            <if test="ContactsAddHouseNo != null  and ContactsAddHouseNo != ''">and ContactsAddHouseNo =
+                #{ContactsAddHouseNo}
+            </if>
+            <if test="NativeAddress != null  and NativeAddress != ''">and NativeAddress = #{NativeAddress}</if>
+            <if test="NativeAddProvince != null  and NativeAddProvince != ''">and NativeAddProvince =
+                #{NativeAddProvince}
+            </if>
+            <if test="NativeAddCity != null  and NativeAddCity != ''">and NativeAddCity = #{NativeAddCity}</if>
+            <if test="NativeAddCounty != null  and NativeAddCounty != ''">and NativeAddCounty = #{NativeAddCounty}</if>
+            <if test="NativeAddTown != null  and NativeAddTown != ''">and NativeAddTown = #{NativeAddTown}</if>
+            <if test="NativeAddVillage != null  and NativeAddVillage != ''">and NativeAddVillage = #{NativeAddVillage}
+            </if>
+            <if test="NativeAddHouseNo != null  and NativeAddHouseNo != ''">and NativeAddHouseNo = #{NativeAddHouseNo}
+            </if>
+            <if test="PostalCode != null  and PostalCode != ''">and PostalCode = #{PostalCode}</if>
+            <if test="HouseCode != null  and HouseCode != ''">and HouseCode = #{HouseCode}</if>
+            <if test="WorkCode != null  and WorkCode != ''">and WorkCode = #{WorkCode}</if>
+            <if test="MaritalStatus != null  and MaritalStatus != ''">and MaritalStatus = #{MaritalStatus}</if>
+            <if test="Country != null  and Country != ''">and Country = #{Country}</if>
+            <if test="Nation != null  and Nation != ''">and Nation = #{Nation}</if>
+            <if test="NationCode != null  and NationCode != ''">and NationCode = #{NationCode}</if>
+            <if test="OccupType != null  and OccupType != ''">and OccupType = #{OccupType}</if>
+            <if test="OccupTypeCode != null  and OccupTypeCode != ''">and OccupTypeCode = #{OccupTypeCode}</if>
+            <if test="WorkUnit != null  and WorkUnit != ''">and WorkUnit = #{WorkUnit}</if>
+            <if test="WorkPhone != null  and WorkPhone != ''">and WorkPhone = #{WorkPhone}</if>
+            <if test="HCardNo != null  and HCardNo != ''">and HCardNo = #{HCardNo}</if>
+            <if test="HCIssuersCode != null  and HCIssuersCode != ''">and HCIssuersCode = #{HCIssuersCode}</if>
+            <if test="HUrbanCode != null  and HUrbanCode != ''">and HUrbanCode = #{HUrbanCode}</if>
+            <if test="MedOrgCode != null  and MedOrgCode != ''">and MedOrgCode = #{MedOrgCode}</if>
+            <if test="paycode != null  and paycode != ''">and paycode = #{paycode}</if>
+            <if test="payname != null  and payname != ''">and payname like concat('%', #{payname}, '%')</if>
+            <if test="ConRelShip != null  and ConRelShip != ''">and ConRelShip = #{ConRelShip}</if>
+            <if test="ConPerPhone != null  and ConPerPhone != ''">and ConPerPhone = #{ConPerPhone}</if>
+            <if test="ConPerName != null  and ConPerName != ''">and ConPerName like concat('%', #{ConPerName}, '%')</if>
+            <if test="RegOrgCode != null  and RegOrgCode != ''">and RegOrgCode = #{RegOrgCode}</if>
+            <if test="RegOrgDesc != null  and RegOrgDesc != ''">and RegOrgDesc = #{RegOrgDesc}</if>
+            <if test="InsureOrgName != null  and InsureOrgName != ''">and InsureOrgName like concat('%',
+                #{InsureOrgName}, '%')
+            </if>
+            <if test="InsureOrgCode != null  and InsureOrgCode != ''">and InsureOrgCode = #{InsureOrgCode}</if>
+            <if test="RegEmpCode != null  and RegEmpCode != ''">and RegEmpCode = #{RegEmpCode}</if>
+            <if test="RegEmpName != null  and RegEmpName != ''">and RegEmpName like concat('%', #{RegEmpName}, '%')</if>
+            <if test="INEnroomno != null  and INEnroomno != ''">and INEnroomno = #{INEnroomno}</if>
+            <if test="OUTEnroomno != null  and OUTEnroomno != ''">and OUTEnroomno = #{OUTEnroomno}</if>
+            <if test="EncAdmSource != null  and EncAdmSource != ''">and EncAdmSource = #{EncAdmSource}</if>
+            <if test="Directordoc != null  and Directordoc != ''">and Directordoc = #{Directordoc}</if>
+            <if test="Attenddoc != null  and Attenddoc != ''">and Attenddoc = #{Attenddoc}</if>
+            <if test="Beddoc != null  and Beddoc != ''">and Beddoc = #{Beddoc}</if>
+            <if test="Bednur != null  and Bednur != ''">and Bednur = #{Bednur}</if>
+            <if test="Regdoc != null  and Regdoc != ''">and Regdoc = #{Regdoc}</if>
+        </where>
+    </select>
+
+    <select id="selectHospitalUserinfoByID" parameterType="Long" resultMap="HospitalUserinfoResult">
+        <include refid="selectHospitalUserinfoVo"/>
+        where ID = #{ID}
+    </select>
+
+    <insert id="insertHospitalUserinfo" parameterType="com.smartor.domain.HospitalUserinfo" useGeneratedKeys="true" keyProperty="ID">
+        insert into hospital_userinfo
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="SourceSystem != null">SourceSystem,</if>
+            <if test="MessageID != null">MessageID,</if>
+            <if test="CreateTime != null  and CreateTime != ''">CreateTime,</if>
+            <if test="MethodName != null">MethodName,</if>
+            <if test="ReqIimRules != null">ReqIimRules,</if>
+            <if test="PatientID != null">PatientID,</if>
+            <if test="VisitNum != null">VisitNum,</if>
+            <if test="RegDate != null">RegDate,</if>
+            <if test="IdentityID != null">IdentityID,</if>
+            <if test="PatName != null">PatName,</if>
+            <if test="Phone != null">Phone,</if>
+            <if test="PatSex != null">PatSex,</if>
+            <if test="BirthDate != null">BirthDate,</if>
+            <if test="Address != null">Address,</if>
+            <if test="AddProvince != null">AddProvince,</if>
+            <if test="AddCity != null">AddCity,</if>
+            <if test="AddCounty != null">AddCounty,</if>
+            <if test="AddTown != null">AddTown,</if>
+            <if test="AddVillage != null">AddVillage,</if>
+            <if test="AddHouseNo != null">AddHouseNo,</if>
+            <if test="HouseAddress != null">HouseAddress,</if>
+            <if test="HouseAddProvince != null">HouseAddProvince,</if>
+            <if test="HouseAddCity != null">HouseAddCity,</if>
+            <if test="HouseAddCounty != null">HouseAddCounty,</if>
+            <if test="HouseAddTown != null">HouseAddTown,</if>
+            <if test="HouseAddVillage != null">HouseAddVillage,</if>
+            <if test="HouseAddHouseNo != null">HouseAddHouseNo,</if>
+            <if test="BirthAddress != null">BirthAddress,</if>
+            <if test="BirthAddProvince != null">BirthAddProvince,</if>
+            <if test="BirthAddCity != null">BirthAddCity,</if>
+            <if test="BirthAddCounty != null">BirthAddCounty,</if>
+            <if test="BirthAddTown != null">BirthAddTown,</if>
+            <if test="BirthAddVillage != null">BirthAddVillage,</if>
+            <if test="BirthAddHouseNo != null">BirthAddHouseNo,</if>
+            <if test="ContactsAddress != null">ContactsAddress,</if>
+            <if test="ContactsAddProvince != null">ContactsAddProvince,</if>
+            <if test="ContactsAddCity != null">ContactsAddCity,</if>
+            <if test="ContactsAddCounty != null">ContactsAddCounty,</if>
+            <if test="ContactsAddTown != null">ContactsAddTown,</if>
+            <if test="ContactsAddVillage != null">ContactsAddVillage,</if>
+            <if test="ContactsAddHouseNo != null">ContactsAddHouseNo,</if>
+            <if test="NativeAddress != null">NativeAddress,</if>
+            <if test="NativeAddProvince != null">NativeAddProvince,</if>
+            <if test="NativeAddCity != null">NativeAddCity,</if>
+            <if test="NativeAddCounty != null">NativeAddCounty,</if>
+            <if test="NativeAddTown != null">NativeAddTown,</if>
+            <if test="NativeAddVillage != null">NativeAddVillage,</if>
+            <if test="NativeAddHouseNo != null">NativeAddHouseNo,</if>
+            <if test="PostalCode != null">PostalCode,</if>
+            <if test="HouseCode != null">HouseCode,</if>
+            <if test="WorkCode != null">WorkCode,</if>
+            <if test="MaritalStatus != null">MaritalStatus,</if>
+            <if test="Country != null">Country,</if>
+            <if test="Nation != null">Nation,</if>
+            <if test="NationCode != null">NationCode,</if>
+            <if test="OccupType != null">OccupType,</if>
+            <if test="OccupTypeCode != null">OccupTypeCode,</if>
+            <if test="WorkUnit != null">WorkUnit,</if>
+            <if test="WorkPhone != null">WorkPhone,</if>
+            <if test="HCardNo != null">HCardNo,</if>
+            <if test="HCIssuersCode != null">HCIssuersCode,</if>
+            <if test="HUrbanCode != null">HUrbanCode,</if>
+            <if test="MedOrgCode != null">MedOrgCode,</if>
+            <if test="paycode != null">paycode,</if>
+            <if test="payname != null">payname,</if>
+            <if test="ConRelShip != null">ConRelShip,</if>
+            <if test="ConPerPhone != null">ConPerPhone,</if>
+            <if test="ConPerName != null">ConPerName,</if>
+            <if test="RegOrgCode != null">RegOrgCode,</if>
+            <if test="RegOrgDesc != null">RegOrgDesc,</if>
+            <if test="InsureOrgName != null">InsureOrgName,</if>
+            <if test="InsureOrgCode != null">InsureOrgCode,</if>
+            <if test="RegEmpCode != null">RegEmpCode,</if>
+            <if test="RegEmpName != null">RegEmpName,</if>
+            <if test="INEnroomno != null">INEnroomno,</if>
+            <if test="OUTEnroomno != null">OUTEnroomno,</if>
+            <if test="EncAdmSource != null">EncAdmSource,</if>
+            <if test="Directordoc != null">Directordoc,</if>
+            <if test="Attenddoc != null">Attenddoc,</if>
+            <if test="Beddoc != null">Beddoc,</if>
+            <if test="Bednur != null">Bednur,</if>
+            <if test="Regdoc != null">Regdoc,</if>
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="SourceSystem != null">#{SourceSystem},</if>
+            <if test="MessageID != null">#{MessageID},</if>
+            <if test="CreateTime != null and CreateTime != ''">#{CreateTime},</if>
+            <if test="MethodName != null">#{MethodName},</if>
+            <if test="ReqIimRules != null">#{ReqIimRules},</if>
+            <if test="PatientID != null">#{PatientID},</if>
+            <if test="VisitNum != null">#{VisitNum},</if>
+            <if test="RegDate != null">#{RegDate},</if>
+            <if test="IdentityID != null">#{IdentityID},</if>
+            <if test="PatName != null">#{PatName},</if>
+            <if test="Phone != null">#{Phone},</if>
+            <if test="PatSex != null">#{PatSex},</if>
+            <if test="BirthDate != null">#{BirthDate},</if>
+            <if test="Address != null">#{Address},</if>
+            <if test="AddProvince != null">#{AddProvince},</if>
+            <if test="AddCity != null">#{AddCity},</if>
+            <if test="AddCounty != null">#{AddCounty},</if>
+            <if test="AddTown != null">#{AddTown},</if>
+            <if test="AddVillage != null">#{AddVillage},</if>
+            <if test="AddHouseNo != null">#{AddHouseNo},</if>
+            <if test="HouseAddress != null">#{HouseAddress},</if>
+            <if test="HouseAddProvince != null">#{HouseAddProvince},</if>
+            <if test="HouseAddCity != null">#{HouseAddCity},</if>
+            <if test="HouseAddCounty != null">#{HouseAddCounty},</if>
+            <if test="HouseAddTown != null">#{HouseAddTown},</if>
+            <if test="HouseAddVillage != null">#{HouseAddVillage},</if>
+            <if test="HouseAddHouseNo != null">#{HouseAddHouseNo},</if>
+            <if test="BirthAddress != null">#{BirthAddress},</if>
+            <if test="BirthAddProvince != null">#{BirthAddProvince},</if>
+            <if test="BirthAddCity != null">#{BirthAddCity},</if>
+            <if test="BirthAddCounty != null">#{BirthAddCounty},</if>
+            <if test="BirthAddTown != null">#{BirthAddTown},</if>
+            <if test="BirthAddVillage != null">#{BirthAddVillage},</if>
+            <if test="BirthAddHouseNo != null">#{BirthAddHouseNo},</if>
+            <if test="ContactsAddress != null">#{ContactsAddress},</if>
+            <if test="ContactsAddProvince != null">#{ContactsAddProvince},</if>
+            <if test="ContactsAddCity != null">#{ContactsAddCity},</if>
+            <if test="ContactsAddCounty != null">#{ContactsAddCounty},</if>
+            <if test="ContactsAddTown != null">#{ContactsAddTown},</if>
+            <if test="ContactsAddVillage != null">#{ContactsAddVillage},</if>
+            <if test="ContactsAddHouseNo != null">#{ContactsAddHouseNo},</if>
+            <if test="NativeAddress != null">#{NativeAddress},</if>
+            <if test="NativeAddProvince != null">#{NativeAddProvince},</if>
+            <if test="NativeAddCity != null">#{NativeAddCity},</if>
+            <if test="NativeAddCounty != null">#{NativeAddCounty},</if>
+            <if test="NativeAddTown != null">#{NativeAddTown},</if>
+            <if test="NativeAddVillage != null">#{NativeAddVillage},</if>
+            <if test="NativeAddHouseNo != null">#{NativeAddHouseNo},</if>
+            <if test="PostalCode != null">#{PostalCode},</if>
+            <if test="HouseCode != null">#{HouseCode},</if>
+            <if test="WorkCode != null">#{WorkCode},</if>
+            <if test="MaritalStatus != null">#{MaritalStatus},</if>
+            <if test="Country != null">#{Country},</if>
+            <if test="Nation != null">#{Nation},</if>
+            <if test="NationCode != null">#{NationCode},</if>
+            <if test="OccupType != null">#{OccupType},</if>
+            <if test="OccupTypeCode != null">#{OccupTypeCode},</if>
+            <if test="WorkUnit != null">#{WorkUnit},</if>
+            <if test="WorkPhone != null">#{WorkPhone},</if>
+            <if test="HCardNo != null">#{HCardNo},</if>
+            <if test="HCIssuersCode != null">#{HCIssuersCode},</if>
+            <if test="HUrbanCode != null">#{HUrbanCode},</if>
+            <if test="MedOrgCode != null">#{MedOrgCode},</if>
+            <if test="paycode != null">#{paycode},</if>
+            <if test="payname != null">#{payname},</if>
+            <if test="ConRelShip != null">#{ConRelShip},</if>
+            <if test="ConPerPhone != null">#{ConPerPhone},</if>
+            <if test="ConPerName != null">#{ConPerName},</if>
+            <if test="RegOrgCode != null">#{RegOrgCode},</if>
+            <if test="RegOrgDesc != null">#{RegOrgDesc},</if>
+            <if test="InsureOrgName != null">#{InsureOrgName},</if>
+            <if test="InsureOrgCode != null">#{InsureOrgCode},</if>
+            <if test="RegEmpCode != null">#{RegEmpCode},</if>
+            <if test="RegEmpName != null">#{RegEmpName},</if>
+            <if test="INEnroomno != null">#{INEnroomno},</if>
+            <if test="OUTEnroomno != null">#{OUTEnroomno},</if>
+            <if test="EncAdmSource != null">#{EncAdmSource},</if>
+            <if test="Directordoc != null">#{Directordoc},</if>
+            <if test="Attenddoc != null">#{Attenddoc},</if>
+            <if test="Beddoc != null">#{Beddoc},</if>
+            <if test="Bednur != null">#{Bednur},</if>
+            <if test="Regdoc != null">#{Regdoc},</if>
+        </trim>
+    </insert>
+
+    <update id="updateHospitalUserinfo" parameterType="HospitalUserinfo">
+        update hospital_userinfo
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="SourceSystem != null">SourceSystem = #{SourceSystem},</if>
+            <if test="MessageID != null">MessageID = #{MessageID},</if>
+            <if test="CreateTime != null">CreateTime = #{CreateTime},</if>
+            <if test="MethodName != null">MethodName = #{MethodName},</if>
+            <if test="ReqIimRules != null">ReqIimRules = #{ReqIimRules},</if>
+            <if test="PatientID != null">PatientID = #{PatientID},</if>
+            <if test="VisitNum != null">VisitNum = #{VisitNum},</if>
+            <if test="RegDate != null">RegDate = #{RegDate},</if>
+            <if test="IdentityID != null">IdentityID = #{IdentityID},</if>
+            <if test="PatName != null">PatName = #{PatName},</if>
+            <if test="Phone != null">Phone = #{Phone},</if>
+            <if test="PatSex != null">PatSex = #{PatSex},</if>
+            <if test="BirthDate != null">BirthDate = #{BirthDate},</if>
+            <if test="Address != null">Address = #{Address},</if>
+            <if test="AddProvince != null">AddProvince = #{AddProvince},</if>
+            <if test="AddCity != null">AddCity = #{AddCity},</if>
+            <if test="AddCounty != null">AddCounty = #{AddCounty},</if>
+            <if test="AddTown != null">AddTown = #{AddTown},</if>
+            <if test="AddVillage != null">AddVillage = #{AddVillage},</if>
+            <if test="AddHouseNo != null">AddHouseNo = #{AddHouseNo},</if>
+            <if test="HouseAddress != null">HouseAddress = #{HouseAddress},</if>
+            <if test="HouseAddProvince != null">HouseAddProvince = #{HouseAddProvince},</if>
+            <if test="HouseAddCity != null">HouseAddCity = #{HouseAddCity},</if>
+            <if test="HouseAddCounty != null">HouseAddCounty = #{HouseAddCounty},</if>
+            <if test="HouseAddTown != null">HouseAddTown = #{HouseAddTown},</if>
+            <if test="HouseAddVillage != null">HouseAddVillage = #{HouseAddVillage},</if>
+            <if test="HouseAddHouseNo != null">HouseAddHouseNo = #{HouseAddHouseNo},</if>
+            <if test="BirthAddress != null">BirthAddress = #{BirthAddress},</if>
+            <if test="BirthAddProvince != null">BirthAddProvince = #{BirthAddProvince},</if>
+            <if test="BirthAddCity != null">BirthAddCity = #{BirthAddCity},</if>
+            <if test="BirthAddCounty != null">BirthAddCounty = #{BirthAddCounty},</if>
+            <if test="BirthAddTown != null">BirthAddTown = #{BirthAddTown},</if>
+            <if test="BirthAddVillage != null">BirthAddVillage = #{BirthAddVillage},</if>
+            <if test="BirthAddHouseNo != null">BirthAddHouseNo = #{BirthAddHouseNo},</if>
+            <if test="ContactsAddress != null">ContactsAddress = #{ContactsAddress},</if>
+            <if test="ContactsAddProvince != null">ContactsAddProvince = #{ContactsAddProvince},</if>
+            <if test="ContactsAddCity != null">ContactsAddCity = #{ContactsAddCity},</if>
+            <if test="ContactsAddCounty != null">ContactsAddCounty = #{ContactsAddCounty},</if>
+            <if test="ContactsAddTown != null">ContactsAddTown = #{ContactsAddTown},</if>
+            <if test="ContactsAddVillage != null">ContactsAddVillage = #{ContactsAddVillage},</if>
+            <if test="ContactsAddHouseNo != null">ContactsAddHouseNo = #{ContactsAddHouseNo},</if>
+            <if test="NativeAddress != null">NativeAddress = #{NativeAddress},</if>
+            <if test="NativeAddProvince != null">NativeAddProvince = #{NativeAddProvince},</if>
+            <if test="NativeAddCity != null">NativeAddCity = #{NativeAddCity},</if>
+            <if test="NativeAddCounty != null">NativeAddCounty = #{NativeAddCounty},</if>
+            <if test="NativeAddTown != null">NativeAddTown = #{NativeAddTown},</if>
+            <if test="NativeAddVillage != null">NativeAddVillage = #{NativeAddVillage},</if>
+            <if test="NativeAddHouseNo != null">NativeAddHouseNo = #{NativeAddHouseNo},</if>
+            <if test="PostalCode != null">PostalCode = #{PostalCode},</if>
+            <if test="HouseCode != null">HouseCode = #{HouseCode},</if>
+            <if test="WorkCode != null">WorkCode = #{WorkCode},</if>
+            <if test="MaritalStatus != null">MaritalStatus = #{MaritalStatus},</if>
+            <if test="Country != null">Country = #{Country},</if>
+            <if test="Nation != null">Nation = #{Nation},</if>
+            <if test="NationCode != null">NationCode = #{NationCode},</if>
+            <if test="OccupType != null">OccupType = #{OccupType},</if>
+            <if test="OccupTypeCode != null">OccupTypeCode = #{OccupTypeCode},</if>
+            <if test="WorkUnit != null">WorkUnit = #{WorkUnit},</if>
+            <if test="WorkPhone != null">WorkPhone = #{WorkPhone},</if>
+            <if test="HCardNo != null">HCardNo = #{HCardNo},</if>
+            <if test="HCIssuersCode != null">HCIssuersCode = #{HCIssuersCode},</if>
+            <if test="HUrbanCode != null">HUrbanCode = #{HUrbanCode},</if>
+            <if test="MedOrgCode != null">MedOrgCode = #{MedOrgCode},</if>
+            <if test="paycode != null">paycode = #{paycode},</if>
+            <if test="payname != null">payname = #{payname},</if>
+            <if test="ConRelShip != null">ConRelShip = #{ConRelShip},</if>
+            <if test="ConPerPhone != null">ConPerPhone = #{ConPerPhone},</if>
+            <if test="ConPerName != null">ConPerName = #{ConPerName},</if>
+            <if test="RegOrgCode != null">RegOrgCode = #{RegOrgCode},</if>
+            <if test="RegOrgDesc != null">RegOrgDesc = #{RegOrgDesc},</if>
+            <if test="InsureOrgName != null">InsureOrgName = #{InsureOrgName},</if>
+            <if test="InsureOrgCode != null">InsureOrgCode = #{InsureOrgCode},</if>
+            <if test="RegEmpCode != null">RegEmpCode = #{RegEmpCode},</if>
+            <if test="RegEmpName != null">RegEmpName = #{RegEmpName},</if>
+            <if test="INEnroomno != null">INEnroomno = #{INEnroomno},</if>
+            <if test="OUTEnroomno != null">OUTEnroomno = #{OUTEnroomno},</if>
+            <if test="EncAdmSource != null">EncAdmSource = #{EncAdmSource},</if>
+            <if test="Directordoc != null">Directordoc = #{Directordoc},</if>
+            <if test="Attenddoc != null">Attenddoc = #{Attenddoc},</if>
+            <if test="Beddoc != null">Beddoc = #{Beddoc},</if>
+            <if test="Bednur != null">Bednur = #{Bednur},</if>
+            <if test="Regdoc != null">Regdoc = #{Regdoc},</if>
+        </trim>
+        where ID = #{ID}
+    </update>
+
+    <delete id="deleteHospitalUserinfoByID" parameterType="Long">
+        delete
+        from hospital_userinfo
+        where ID = #{ID}
+    </delete>
+
+    <delete id="deleteHospitalUserinfoByIDs" parameterType="String">
+        delete from hospital_userinfo where ID in
+        <foreach item="ID" collection="array" open="(" separator="," close=")">
+            #{ID}
+        </foreach>
+    </delete>
+</mapper>
\ No newline at end of file
diff --git a/smartor/src/main/resources/mapper/smartor/IvrLibaTemplateScriptMapper.xml b/smartor/src/main/resources/mapper/smartor/IvrLibaTemplateScriptMapper.xml
index e1c449c..0dcd354 100644
--- a/smartor/src/main/resources/mapper/smartor/IvrLibaTemplateScriptMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/IvrLibaTemplateScriptMapper.xml
@@ -68,6 +68,7 @@
             resultMap="IvrLibaTemplateScriptResult">
         <include refid="selectIvrLibaTemplateScriptVo"/>
         <where>
+            del_flag=0
             <if test="templateQuestionNum != null ">and templateQuestionNum = #{templateQuestionNum}</if>
             <if test="templateID != null ">and templateID = #{templateID}</if>
             <if test="questionPoint != null  and questionPoint != ''">and questionPoint = #{questionPoint}</if>
@@ -109,7 +110,7 @@
         <trim prefix="(" suffix=")" suffixOverrides=",">
             <if test="templateQuestionNum != null">templateQuestionNum,</if>
             <if test="templateID != null">templateID,</if>
-            <if test="scriptID != null">scriptID,</if>
+            <if test="scriptid != null">scriptID,</if>
             <if test="questionPoint != null and questionPoint != ''">questionPoint,</if>
             <if test="questionText != null">questionText,</if>
             <if test="questionVoice != null">questionVoice,</if>
@@ -143,7 +144,7 @@
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="templateQuestionNum != null">#{templateQuestionNum},</if>
             <if test="templateID != null">#{templateID},</if>
-            <if test="scriptID != null">#{scriptID},</if>
+            <if test="scriptid != null">#{scriptid},</if>
             <if test="questionPoint != null and questionPoint != ''">#{questionPoint},</if>
             <if test="questionText != null">#{questionText},</if>
             <if test="questionVoice != null">#{questionVoice},</if>
@@ -181,7 +182,7 @@
         <trim prefix="SET" suffixOverrides=",">
             <if test="templateQuestionNum != null">templateQuestionNum = #{templateQuestionNum},</if>
             <if test="templateID != null">templateID = #{templateID},</if>
-            <if test="scriptID != null">scriptID = #{scriptID},</if>
+            <if test="scriptid != null">scriptID = #{scriptid},</if>
             <if test="questionPoint != null and questionPoint != ''">questionPoint = #{questionPoint},</if>
             <if test="questionText != null">questionText = #{questionText},</if>
             <if test="questionVoice != null">questionVoice = #{questionVoice},</if>
diff --git a/smartor/src/main/resources/mapper/smartor/IvrLibaTemplateTagMapper.xml b/smartor/src/main/resources/mapper/smartor/IvrLibaTemplateTagMapper.xml
index 7014e4f..bc7a927 100644
--- a/smartor/src/main/resources/mapper/smartor/IvrLibaTemplateTagMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/IvrLibaTemplateTagMapper.xml
@@ -20,7 +20,7 @@
         <result property="targetid" column="targetid"/>
         <result property="pid" column="pid"/>
         <result property="guid" column="guid"/>
-        <result property="guid" column="guid"/>
+        <result property="tagname" column="tag_name"/>
     </resultMap>
 
     <sql id="selectIvrLibaTemplateTagVo">
@@ -38,7 +38,8 @@
                upload_time,
                targetid,
                pid,
-               guid
+               guid,
+               tag_name
         from ivr_liba_template_tag
     </sql>
 
@@ -46,6 +47,7 @@
             resultMap="IvrLibaTemplateTagResult">
         <include refid="selectIvrLibaTemplateTagVo"/>
         <where>
+            del_flag=0
             <if test="tagcategoryid != null ">and tagcategoryid = #{tagcategoryid}</if>
             <if test="templateid != null ">and templateid = #{templateid}</if>
             <if test="tagid != null ">and tagid = #{tagid}</if>
@@ -81,6 +83,7 @@
             <if test="targetid != null">targetid,</if>
             <if test="pid != null">pid,</if>
             <if test="guid != null">guid,</if>
+            <if test="tagname != null">tag_name,</if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="tagcategoryid != null">#{tagcategoryid},</if>
@@ -97,6 +100,7 @@
             <if test="targetid != null">#{targetid},</if>
             <if test="pid != null">#{pid},</if>
             <if test="guid != null">#{guid},</if>
+            <if test="tagname != null">#{tagname},</if>
         </trim>
     </insert>
 
@@ -117,6 +121,7 @@
             <if test="targetid != null">targetid = #{targetid},</if>
             <if test="pid != null">pid = #{pid},</if>
             <if test="guid != null">guid = #{guid},</if>
+            <if test="tagname != null">tag_name = #{tagname},</if>
         </trim>
         where id = #{id}
     </update>
diff --git a/smartor/src/main/resources/mapper/smartor/IvrLibaTemplateTargetoptionMapper.xml b/smartor/src/main/resources/mapper/smartor/IvrLibaTemplateTargetoptionMapper.xml
index b0dbbc1..4b91023 100644
--- a/smartor/src/main/resources/mapper/smartor/IvrLibaTemplateTargetoptionMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/IvrLibaTemplateTargetoptionMapper.xml
@@ -51,6 +51,7 @@
             resultMap="IvrLibaTemplateTargetoptionResult">
         <include refid="selectIvrLibaTemplateTargetoptionVo"/>
         <where>
+            del_flag=0
             <if test="targetid != null ">and targetid = #{targetid}</if>
             <if test="targetname != null ">and targetname = #{targetname}</if>
             <if test="templateID != null ">and templateID = #{templateID}</if>
diff --git a/smartor/src/main/resources/mapper/smartor/PatArchiveMapper.xml b/smartor/src/main/resources/mapper/smartor/PatArchiveMapper.xml
index 0edb96a..4bf4eaa 100644
--- a/smartor/src/main/resources/mapper/smartor/PatArchiveMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/PatArchiveMapper.xml
@@ -33,6 +33,7 @@
         <result property="uploadTime" column="upload_time"/>
         <result property="tag" column="tag"/>
         <result property="pattype" column="pattype"/>
+        <result property="bedNo" column="bedno"/>
     </resultMap>
 
     <sql id="selectPatArchiveVo">
@@ -296,7 +297,8 @@
         a.create_time,
         a.isupload,
         a.upload_time,
-        a.pattype
+        a.pattype,
+        d.bedno
         from pat_archive a,pat_archivetag b ,base_tag c,pat_med_inhosp d
         <where>
             a.patid = b.patid and b.tagid = c.tagid and a.patid = d.patid
@@ -405,7 +407,7 @@
         select
         c.tagname as tag,
         b.tagid as tagid,
-        a.patid,
+        a.patid as id,
         a.name,
         a.sex,
         d.deptname,
diff --git a/smartor/src/main/resources/mapper/smartor/PatHetaskRelevanceMapper.xml b/smartor/src/main/resources/mapper/smartor/PatHetaskRelevanceMapper.xml
index 16ceac2..4f4619b 100644
--- a/smartor/src/main/resources/mapper/smartor/PatHetaskRelevanceMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/PatHetaskRelevanceMapper.xml
@@ -6,7 +6,7 @@
 
     <resultMap type="com.smartor.domain.PatHetaskRelevance" id="PatHetaskRelevanceResult">
         <result property="id" column="id"/>
-        <result property="patId" column="pat_id"/>
+        <result property="patid" column="pat_id"/>
         <result property="heTaskId" column="he_task_id"/>
         <result property="delFlag" column="del_flag"/>
         <result property="createTime" column="create_time"/>
@@ -15,11 +15,15 @@
         <result property="name" column="name"/>
         <result property="age" column="age"/>
         <result property="sex" column="sex"/>
-        <result property="badNo" column="bad_no"/>
+        <result property="bedno" column="bed_no"/>
         <result property="dept" column="dept"/>
         <result property="icdName" column="icd_name"/>
         <result property="phone" column="phone"/>
         <result property="medicalRecordNo" column="medical_record_no"/>
+        <result property="sendStatus" column="send_status"/>
+        <result property="sendTime" column="send_time"/>
+        <result property="operatePerson" column="operate_person"/>
+        <result property="receiveTime" column="receive_time"/>
     </resultMap>
 
     <sql id="selectPatHetaskRelevanceVo">
@@ -33,11 +37,15 @@
                name,
                age,
                sex,
-               bad_no,
+               bed_no,
                dept,
                icd_name,
                phone,
-               medical_record_no
+               medical_record_no,
+               send_status,
+               send_time,
+               operate_person,
+               receive_time
         from pat_hetask_relevance
     </sql>
 
@@ -46,17 +54,21 @@
         <include refid="selectPatHetaskRelevanceVo"/>
         <where>
             del_flag=0
-            <if test="patId != null ">and pat_id = #{patId}</if>
+            <if test="patid != null ">and pat_id = #{patid}</if>
             <if test="heTaskId != null ">and he_task_id = #{heTaskId}</if>
             <if test="name != null  and name != ''">and name like concat('%', #{name}, '%')</if>
             <if test="age != null ">and age = #{age}</if>
             <if test="sex != null ">and sex = #{sex}</if>
-            <if test="badNo != null ">and bad_no = #{badNo}</if>
+            <if test="bedno != null ">and bed_no = #{bedno}</if>
             <if test="dept != null  and dept != ''">and dept = #{dept}</if>
             <if test="phone != null  and phone != ''">and phone = #{phone}</if>
             <if test="medicalRecordNo != null  and medicalRecordNo != ''">and medical_record_no = #{medicalRecordNo}
             </if>
             <if test="icdName != null  and icdName != ''">and icd_name like concat('%', #{icdName}, '%')</if>
+            <if test="sendStatus != null ">and send_status = #{sendStatus}</if>
+            <if test="sendTime != null ">and send_time = #{sendTime}</if>
+            <if test="receiveTime != null ">and receive_time = #{receiveTime}</if>
+            <if test="operatePerson != null   and operatePerson != ''">and operate_person = #{operatePerson}</if>
         </where>
     </select>
 
@@ -68,7 +80,7 @@
     <insert id="insertPatHetaskRelevance" parameterType="com.smartor.domain.PatHetaskRelevance">
         insert into pat_hetask_relevance
         <trim prefix="(" suffix=")" suffixOverrides=",">
-            <if test="patId != null">pat_id,</if>
+            <if test="patid != null">pat_id,</if>
             <if test="heTaskId != null">he_task_id,</if>
             <if test="delFlag != null">del_flag,</if>
             <if test="createTime != null">create_time,</if>
@@ -77,14 +89,18 @@
             <if test="name != null">name,</if>
             <if test="age != null">age,</if>
             <if test="sex != null">sex,</if>
-            <if test="badNo != null">bad_no,</if>
+            <if test="bedno != null">bed_no,</if>
             <if test="dept != null">dept,</if>
             <if test="icdName != null">icd_name,</if>
             <if test="phone != null">phone,</if>
             <if test="medicalRecordNo != null">medical_record_no,</if>
+            <if test="sendStatus != null">send_status,</if>
+            <if test="sendTime != null">send_time,</if>
+            <if test="receiveTime != null">receive_time,</if>
+            <if test="operatePerson != null and operatePerson != ''">operate_person,</if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
-            <if test="patId != null">#{patId},</if>
+            <if test="patid != null">#{patid},</if>
             <if test="heTaskId != null">#{heTaskId},</if>
             <if test="delFlag != null">#{delFlag},</if>
             <if test="createTime != null">#{createTime},</if>
@@ -93,18 +109,22 @@
             <if test="name != null">#{name},</if>
             <if test="age != null">#{age},</if>
             <if test="sex != null">#{sex},</if>
-            <if test="badNo != null">#{badNo},</if>
+            <if test="bedno != null">#{bedno},</if>
             <if test="dept != null">#{dept},</if>
             <if test="icdName != null">#{icdName},</if>
             <if test="phone != null">#{phone},</if>
             <if test="medicalRecordNo != null">#{medicalRecordNo},</if>
+            <if test="sendStatus != null">#{sendStatus},</if>
+            <if test="sendTime != null">#{sendTime},</if>
+            <if test="receiveTime != null">#{receiveTime},</if>
+            <if test="operatePerson != null and operatePerson != ''">#{operatePerson},</if>
         </trim>
     </insert>
 
     <update id="updatePatHetaskRelevance" parameterType="com.smartor.domain.PatHetaskRelevance">
         update pat_hetask_relevance
         <trim prefix="SET" suffixOverrides=",">
-            <if test="patId != null">pat_id = #{patId},</if>
+            <if test="patid != null">pat_id = #{patid},</if>
             <if test="heTaskId != null">he_task_id = #{heTaskId},</if>
             <if test="delFlag != null">del_flag = #{delFlag},</if>
             <if test="createTime != null">create_time = #{createTime},</if>
@@ -113,11 +133,15 @@
             <if test="name != null">name = #{name},</if>
             <if test="age != null">age = #{age},</if>
             <if test="sex != null">sex = #{sex},</if>
-            <if test="badNo != null">bad_no = #{badNo},</if>
+            <if test="bedno != null">bed_no = #{bedno},</if>
             <if test="dept != null">dept = #{dept},</if>
             <if test="icdName != null">icd_name = #{icdName},</if>
             <if test="phone != null">phone = #{phone},</if>
             <if test="medicalRecordNo != null">medical_record_no = #{medicalRecordNo},</if>
+            <if test="sendStatus != null">send_status=#{sendStatus},</if>
+            <if test="sendTime != null">send_time=#{sendTime},</if>
+            <if test="receiveTime != null">receive_time=#{receiveTime},</if>
+            <if test="operatePerson != null and operatePerson != ''">operate_person=#{operatePerson},</if>
         </trim>
         where id = #{id}
     </update>
diff --git a/smartor/src/main/resources/mapper/smartor/ServiceThirdDataMapper.xml b/smartor/src/main/resources/mapper/smartor/ServiceThirdDataMapper.xml
index 36c8f52..4ec08a6 100644
--- a/smartor/src/main/resources/mapper/smartor/ServiceThirdDataMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/ServiceThirdDataMapper.xml
@@ -29,6 +29,7 @@
             <if test="dataInfo != null  and dataInfo != ''">and data_info = #{dataInfo}</if>
             <if test="factory != null  and factory != ''">and factory = #{factory}</if>
             <if test="isDeal != null">and is_deal = #{isDeal}</if>
+            <if test="createTime != null ">and create_time &lt;= #{createTime}</if>
         </where>
     </select>
 
@@ -52,4 +53,52 @@
         </trim>
     </insert>
 
+    <insert id="insertThirdDataZxyzjh" parameterType="com.smartor.domain.ServiceThirdData">
+        insert into service_third_data_zxyzjh
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="dataType != null">data_type,</if>
+            <if test="dataTypeExplain != null">data_type_explain,</if>
+            <if test="dataInfo != null">data_info,</if>
+            <if test="factory != null">factory,</if>
+            <if test="createTime != null">create_time,</if>
+            <if test="isDeal != null">is_deal,</if>
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="dataType != null">#{dataType},</if>
+            <if test="dataTypeExplain != null">#{dataTypeExplain},</if>
+            <if test="dataInfo != null">#{dataInfo},</if>
+            <if test="factory != null">#{factory},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="isDeal != null">#{isDeal}</if>
+        </trim>
+    </insert>
+    <insert id="insertThirdDataCfxzsq" parameterType="com.smartor.domain.ServiceThirdData">
+        insert into service_third_data_cfxzsq
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="dataType != null">data_type,</if>
+            <if test="dataTypeExplain != null">data_type_explain,</if>
+            <if test="dataInfo != null">data_info,</if>
+            <if test="factory != null">factory,</if>
+            <if test="createTime != null">create_time,</if>
+            <if test="isDeal != null">is_deal,</if>
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="dataType != null">#{dataType},</if>
+            <if test="dataTypeExplain != null">#{dataTypeExplain},</if>
+            <if test="dataInfo != null">#{dataInfo},</if>
+            <if test="factory != null">#{factory},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="isDeal != null">#{isDeal}</if>
+        </trim>
+    </insert>
+
+
+    <update id="updateIsDeal" parameterType="long">
+        update service_third_data
+        <trim prefix="SET" suffixOverrides=",">
+            is_deal=1
+        </trim>
+        where id = #{id}
+    </update>
+
 </mapper>
\ No newline at end of file
diff --git a/smartor/src/main/resources/mapper/smartor/SvyLibTopicMapper.xml b/smartor/src/main/resources/mapper/smartor/SvyLibTopicMapper.xml
index edb061a..bfce5aa 100644
--- a/smartor/src/main/resources/mapper/smartor/SvyLibTopicMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/SvyLibTopicMapper.xml
@@ -107,9 +107,9 @@
             <if test="tag != null">tag,</if>
             <if test="svyTopicId != null">svy_topicid,</if>
             <if test="categoryid != null">categoryid,</if>
-            <if test="topicContent != null">topic_content,</if>
-            <if test="suitway != null">suitway,</if>
-            <if test="isavailable != null">isavailable,</if>
+            <if test="topicContent != null and topicContent != ''">topic_content,</if>
+            <if test="suitway != null and suitway != ''">suitway,</if>
+            <if test="isavailable != null and isavailable != ''">isavailable,</if>
             <if test="language != null and language!=''">language,</if>
             <if test="otherdata != null and otherdata!=''">otherdata,</if>
         </trim>
@@ -133,11 +133,11 @@
             <if test="tag != null">#{tag},</if>
             <if test="svyTopicId != null">#{svyTopicId},</if>
             <if test="categoryid != null">#{categoryid},</if>
-            <if test="topicContent != null">#{topicContent},</if>
-            <if test="suitway != null">#{suitway},</if>
-            <if test="isavailable != null">#{isavailable},</if>
-            <if test="language != null">#{language},</if>
-            <if test="otherdata != null">#{otherdata},</if>
+            <if test="topicContent != null and topicContent != ''">#{topicContent},</if>
+            <if test="suitway != null  and suitway != ''">#{suitway},</if>
+            <if test="isavailable != null and isavailable != ''">#{isavailable},</if>
+            <if test="language != null  and language!=''">#{language},</if>
+            <if test="otherdata != null and otherdata!=''">#{otherdata},</if>
         </trim>
     </insert>
 
diff --git a/smartor/src/main/resources/mapper/smartor/TempDetpRelevanceMapper.xml b/smartor/src/main/resources/mapper/smartor/TempDetpRelevanceMapper.xml
index 62ee1b2..47f0612 100644
--- a/smartor/src/main/resources/mapper/smartor/TempDetpRelevanceMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/TempDetpRelevanceMapper.xml
@@ -20,7 +20,8 @@
 
     <select id="selectTempDetpRelevanceList" parameterType="com.smartor.domain.TempDetpRelevance" resultMap="TempDetpRelevanceResult">
         <include refid="selectTempDetpRelevanceVo"/>
-        <where>  
+        <where>
+            del_flag=0
             <if test="tempid != null "> and tempid = #{tempid}</if>
             <if test="deptId != null "> and dept_id = #{deptId}</if>
             <if test="type != null "> and type = #{type}</if>

--
Gitblit v1.9.3