From c92523467edf0306bad25f141faa5fcb56da8806 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期三, 06 三月 2024 11:24:17 +0800
Subject: [PATCH] 代码提交

---
 smartor/src/main/java/com/smartor/domain/HeLibraryVO.java                                  |    6 
 smartor/src/main/resources/mapper/smartor/SvyLibTitleCategoryMapper.xml                    |    2 
 smartor/src/main/java/com/smartor/domain/HeTaskVO.java                                     |   20 
 smartor/src/main/resources/mapper/smartor/IvrLibaTemplateMapper.xml                        |   20 
 smartor/src/main/java/com/smartor/domain/IvrLibaScript.java                                |    2 
 smartor/src/main/java/com/smartor/service/impl/IvrTaskcallServiceImpl.java                 |  147 +
 smartor/src/main/resources/mapper/smartor/PatHetaskRelevanceMapper.xml                     |   52 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/IvrLibaTemplateController.java  |    2 
 smartor/src/main/resources/mapper/smartor/HeLibraryAssortMapper.xml                        |    2 
 smartor/src/main/resources/mapper/smartor/IvrLibaExtemplateMapper.xml                      |    3 
 smartor/src/main/resources/mapper/smartor/IvrLibaTemplateScriptMapper.xml                  |   13 
 smartor/src/main/resources/mapper/smartor/IvrLibaTargetoptionMapper.xml                    |   18 
 smartor/src/main/java/com/smartor/domain/IvrLibaScriptVO.java                              |    2 
 smartor/src/main/java/com/smartor/service/impl/HeTaskServiceImpl.java                      |  101 
 smartor/src/main/resources/mapper/smartor/IvrLibaTemplateAssortMapper.xml                  |    2 
 smartor/src/main/java/com/smartor/service/IPatTaskRelevanceService.java                    |   61 
 smartor/src/main/resources/mapper/smartor/IvrLibaTemplateTagMapper.xml                     |    2 
 smartor/src/main/resources/mapper/smartor/IvrLibaTemplateTargetMapper.xml                  |    5 
 smartor/src/main/java/com/smartor/mapper/IvrTaskcallMapper.java                            |   61 
 smartor/src/main/java/com/smartor/domain/IvrTaskcallVO.java                                |  368 +++++
 smartor/src/main/java/com/smartor/domain/IvrTaskcall.java                                  |  675 +++------
 smartor/src/main/resources/mapper/smartor/IvrLibaExtemplateCategoryMapper.xml              |    2 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatTaskRelevanceController.java |   33 
 smartor/src/main/resources/mapper/smartor/HeLibraryTagMapper.xml                           |    2 
 smartor/src/main/java/com/smartor/domain/IvrLibaTemplateScriptVO.java                      |    9 
 smartor/src/main/resources/mapper/smartor/IvrLibaTemplateTargetoptionMapper.xml            |   20 
 smartor/src/main/java/com/smartor/service/IIvrTaskcallService.java                         |   63 
 smartor/src/main/resources/mapper/smartor/HospitalRecordMapper.xml                         |    2 
 smartor/src/main/java/com/smartor/mapper/PatTaskRelevanceMapper.java                       |   64 
 smartor/src/main/java/com/smartor/service/impl/IvrLibaTargetoptionServiceImpl.java         |   39 
 smartor/src/main/java/com/smartor/service/impl/ServiceThirdDataServiceImpl.java            |   26 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/IvrTaskcallController.java      |  116 -
 smartor/src/main/resources/mapper/smartor/IvrLibaScriptTargetoptionMapper.xml              |   20 
 smartor/src/main/java/com/smartor/domain/IvrLibaTemplateVO.java                            |   21 
 smartor/src/main/resources/mapper/smartor/IvrLibaScriptTargetMapper.xml                    |    2 
 smartor/src/main/resources/mapper/smartor/IvrLibaExtemplatescriptMapper.xml                |    3 
 smartor/src/main/java/com/smartor/domain/HeLibrary.java                                    |    7 
 smartor/src/main/java/com/smartor/domain/IvrLibaTemplateTargetoption.java                  |  259 +++
 smartor/src/main/resources/mapper/smartor/IvrLibaScriptAssortMapper.xml                    |    2 
 smartor/src/main/resources/mapper/smartor/IvrLibaTargetAssortMapper.xml                    |    2 
 smartor/src/main/java/com/smartor/domain/IvrLibaTemplate.java                              |   21 
 smartor/src/main/java/com/smartor/domain/PatTaskRelevanceVO.java                           |   37 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/IvrTaskController.java          |   51 
 smartor/src/main/java/com/smartor/domain/IvrLibaTemplateScript.java                        |   13 
 smartor/src/main/java/com/smartor/domain/PatTaskRelevance.java                             |   27 
 smartor/src/main/resources/mapper/smartor/IvrLibaScriptTagMapper.xml                       |    2 
 smartor/src/main/resources/mapper/smartor/IvrTaskcallMapper.xml                            |  316 ++-
 smartor/src/main/java/com/smartor/domain/HeTask.java                                       |   19 
 smartor/src/main/java/com/smartor/domain/IvrLibaScriptTargetoption.java                    |  251 +++
 smartor/src/main/resources/mapper/smartor/SvyLibTopicoptionMapper.xml                      |    2 
 smartor/src/main/java/com/smartor/domain/IvrLibaTemplateTag.java                           |    6 
 ruoyi-quartz/src/main/java/com/ruoyi/quartz/controller/SysJobController.java               |   78 
 smartor/src/main/java/com/smartor/yiwudataanalysis/ADT_A01.java                            |  525 +++++++
 smartor/src/main/java/com/smartor/yiwudataanalysis/ADT_A03.java                            |   25 
 smartor/src/main/resources/mapper/smartor/IvrLibaScriptMapper.xml                          |   14 
 /dev/null                                                                                  |   97 -
 smartor/src/main/java/com/smartor/service/impl/IvrLibaTemplateServiceImpl.java             |   15 
 smartor/src/main/java/com/smartor/domain/IvrLibaTargetoption.java                          |  261 +++
 smartor/src/main/resources/mapper/smartor/HeTaskMapper.xml                                 |   14 
 smartor/src/main/java/com/smartor/service/impl/PatTaskRelevanceServiceImpl.java            |   90 +
 smartor/src/main/java/com/smartor/service/IHeTaskService.java                              |    6 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/HeTaskController.java           |    6 
 smartor/src/main/resources/mapper/smartor/HeLibraryMapper.xml                              |    8 
 63 files changed, 3,023 insertions(+), 1,117 deletions(-)

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 84731e5..71e9064 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
@@ -9,7 +9,7 @@
 import com.smartor.domain.HeTask;
 import com.smartor.domain.HeTaskVO;
 import com.smartor.domain.PatArchiveReq;
-import com.smartor.domain.PatHetaskRelevanceVO;
+import com.smartor.domain.PatTaskRelevanceVO;
 import com.smartor.service.IHeTaskService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -38,9 +38,9 @@
     @ApiOperation("鏌ヨ鎮h�呭鏁欎换鍔″垪琛�")
     @PreAuthorize("@ss.hasPermi('system:task:list')")
     @PostMapping("/getPatHeTaskList")
-    public TableDataInfo getPatHeTaskList(@RequestBody PatHetaskRelevanceVO patHetaskRelevanceVO) {
+    public TableDataInfo getPatHeTaskList(@RequestBody PatTaskRelevanceVO PatTaskRelevanceVO) {
         startPage();
-        List<PatHetaskRelevanceVO> list = heTaskService.selectHeTaskList(patHetaskRelevanceVO);
+        List<PatTaskRelevanceVO> list = heTaskService.selectHeTaskList(PatTaskRelevanceVO);
         return getDataTable(list);
     }
 
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/IvrLibaTemplateController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/IvrLibaTemplateController.java
index e37bbad..425ca41 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/IvrLibaTemplateController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/IvrLibaTemplateController.java
@@ -102,7 +102,7 @@
     }
 
     /**
-     * 鏂板鎴栦慨鏀归棶棰樿鎯�
+     * 鏂板鎴栦慨鏀归殢璁挎ā鏉垮簱璇︽儏
      */
     @ApiOperation("鏂板鎴栦慨鏀归殢璁挎ā鏉垮簱璇︽儏")
     @PreAuthorize("@ss.hasPermi('smartor:script:list')")
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/IvrTaskController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/IvrTaskController.java
index 385bf69..c7cdda1 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/IvrTaskController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/IvrTaskController.java
@@ -1,36 +1,29 @@
 package com.smartor.controller;
 
-import java.util.List;
-import javax.servlet.http.HttpServletResponse;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.PutMapping;
-import org.springframework.web.bind.annotation.DeleteMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
 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.page.TableDataInfo;
 import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.smartor.domain.IvrTask;
 import com.smartor.service.IIvrTaskService;
-import com.ruoyi.common.utils.poi.ExcelUtil;
-import com.ruoyi.common.core.page.TableDataInfo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
 
 /**
- * 璇煶浠诲姟Controller
- * 
+ * 闅忚浠诲姟Controller
+ *
  * @author smartor
  * @date 2023-03-24
  */
 @RestController
 @RequestMapping("/smartor/ivrtask")
-public class IvrTaskController extends BaseController
-{
+public class IvrTaskController extends BaseController {
     @Autowired
     private IIvrTaskService ivrTaskService;
 
@@ -38,9 +31,8 @@
      * 鏌ヨ璇煶浠诲姟鍒楄〃
      */
     @PreAuthorize("@ss.hasPermi('smartor:ivrtask:list')")
-   @PostMapping("/list")
-    public TableDataInfo list(@RequestBody IvrTask ivrTask)
-    {
+    @PostMapping("/list")
+    public TableDataInfo list(@RequestBody IvrTask ivrTask) {
         startPage();
         List<IvrTask> list = ivrTaskService.selectIvrTaskList(ivrTask);
         return getDataTable(list);
@@ -52,8 +44,7 @@
     @PreAuthorize("@ss.hasPermi('smartor:ivrtask:export')")
     @Log(title = "璇煶浠诲姟", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
-    public void export(HttpServletResponse response, IvrTask ivrTask)
-    {
+    public void export(HttpServletResponse response, IvrTask ivrTask) {
         List<IvrTask> list = ivrTaskService.selectIvrTaskList(ivrTask);
         ExcelUtil<IvrTask> util = new ExcelUtil<IvrTask>(IvrTask.class);
         util.exportExcel(response, list, "璇煶浠诲姟鏁版嵁");
@@ -64,8 +55,7 @@
      */
     @PreAuthorize("@ss.hasPermi('smartor:ivrtask:query')")
     @GetMapping(value = "/{taskid}")
-    public AjaxResult getInfo(@PathVariable("taskid") Long taskid)
-    {
+    public AjaxResult getInfo(@PathVariable("taskid") Long taskid) {
         return success(ivrTaskService.selectIvrTaskByTaskid(taskid));
     }
 
@@ -75,8 +65,7 @@
     @PreAuthorize("@ss.hasPermi('smartor:ivrtask:add')")
     @Log(title = "璇煶浠诲姟", businessType = BusinessType.INSERT)
     @PostMapping("/add")
-    public AjaxResult add(@RequestBody IvrTask ivrTask)
-    {
+    public AjaxResult add(@RequestBody IvrTask ivrTask) {
         return toAjax(ivrTaskService.insertIvrTask(ivrTask));
     }
 
@@ -86,8 +75,7 @@
     @PreAuthorize("@ss.hasPermi('smartor:ivrtask:edit')")
     @Log(title = "璇煶浠诲姟", businessType = BusinessType.UPDATE)
     @PostMapping("/edit")
-    public AjaxResult edit(@RequestBody IvrTask ivrTask)
-    {
+    public AjaxResult edit(@RequestBody IvrTask ivrTask) {
         return toAjax(ivrTaskService.updateIvrTask(ivrTask));
     }
 
@@ -96,9 +84,8 @@
      */
     @PreAuthorize("@ss.hasPermi('smartor:ivrtask:remove')")
     @Log(title = "璇煶浠诲姟", businessType = BusinessType.DELETE)
-	@GetMapping("/remove/{taskids}")
-    public AjaxResult remove(@PathVariable Long[] taskids)
-    {
+    @GetMapping("/remove/{taskids}")
+    public AjaxResult remove(@PathVariable Long[] taskids) {
         return toAjax(ivrTaskService.deleteIvrTaskByTaskids(taskids));
     }
 }
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/IvrTaskcallController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/IvrTaskcallController.java
index 13325e6..417ca8b 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/IvrTaskcallController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/IvrTaskcallController.java
@@ -1,104 +1,82 @@
-package com.smartor.controller;
+package com.ruoyi.web.controller.smartor;
 
-import java.util.List;
-import javax.servlet.http.HttpServletResponse;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.PutMapping;
-import org.springframework.web.bind.annotation.DeleteMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
 import com.ruoyi.common.annotation.Log;
 import com.ruoyi.common.core.controller.BaseController;
 import com.ruoyi.common.core.domain.AjaxResult;
-import com.ruoyi.common.enums.BusinessType;
-import com.smartor.domain.IvrTaskcall;
-import com.smartor.service.IIvrTaskcallService;
-import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.ruoyi.common.core.page.TableDataInfo;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.common.utils.PageUtils;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.smartor.domain.HeTaskVO;
+import com.smartor.domain.IvrTaskcall;
+import com.smartor.domain.IvrTaskcallVO;
+import com.smartor.service.IIvrTaskcallService;
+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 javax.servlet.http.HttpServletResponse;
+import java.util.List;
 
 /**
- * 璇煶浠诲姟鍛煎彨Controller
- * 
- * @author smartor
- * @date 2023-03-24
+ * 鍗曚竴浠诲姟锛堥殢璁匡級Controller
+ *
+ * @author ruoyi
+ * @date 2024-02-02
  */
+@Api(description = "鍗曚竴浠诲姟锛堥殢璁匡級")
 @RestController
-@RequestMapping("/smartor/ivrtaskcall")
-public class IvrTaskcallController extends BaseController
-{
+@RequestMapping("/smartor/taskcall")
+public class IvrTaskcallController extends BaseController {
     @Autowired
     private IIvrTaskcallService ivrTaskcallService;
 
     /**
-     * 鏌ヨ璇煶浠诲姟鍛煎彨鍒楄〃
+     * 鏌ヨ鍗曚竴浠诲姟锛堥殢璁匡級鍒楄〃
      */
-    @PreAuthorize("@ss.hasPermi('smartor:ivrtaskcall:list')")
-   @PostMapping("/list")
-    public TableDataInfo list(@RequestBody IvrTaskcall ivrTaskcall)
-    {
-        startPage();
+    @ApiOperation("鏌ヨ鍗曚竴浠诲姟锛堥殢璁匡級鍒楄〃")
+    @PreAuthorize("@ss.hasPermi('system:taskcall:list')")
+    @PostMapping("/list")
+    public TableDataInfo list(@RequestBody IvrTaskcall ivrTaskcall) {
+        PageUtils.startPageByPost(ivrTaskcall.getPageNum(), ivrTaskcall.getPageSize());
         List<IvrTaskcall> list = ivrTaskcallService.selectIvrTaskcallList(ivrTaskcall);
         return getDataTable(list);
     }
 
     /**
-     * 瀵煎嚭璇煶浠诲姟鍛煎彨鍒楄〃
+     * 瀵煎嚭鍗曚竴浠诲姟锛堥殢璁匡級鍒楄〃
      */
-    @PreAuthorize("@ss.hasPermi('smartor:ivrtaskcall:export')")
-    @Log(title = "璇煶浠诲姟鍛煎彨", businessType = BusinessType.EXPORT)
+    @PreAuthorize("@ss.hasPermi('system:taskcall:export')")
+    @Log(title = "鍗曚竴浠诲姟锛堥殢璁匡級", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
-    public void export(HttpServletResponse response, IvrTaskcall ivrTaskcall)
-    {
+    public void export(HttpServletResponse response, IvrTaskcall ivrTaskcall) {
         List<IvrTaskcall> list = ivrTaskcallService.selectIvrTaskcallList(ivrTaskcall);
         ExcelUtil<IvrTaskcall> util = new ExcelUtil<IvrTaskcall>(IvrTaskcall.class);
-        util.exportExcel(response, list, "璇煶浠诲姟鍛煎彨鏁版嵁");
+        util.exportExcel(response, list, "鍗曚竴浠诲姟锛堥殢璁匡級鏁版嵁");
     }
 
     /**
-     * 鑾峰彇璇煶浠诲姟鍛煎彨璇︾粏淇℃伅
+     * 鑾峰彇鍗曚竴浠诲姟锛堥殢璁匡級璇︾粏淇℃伅
      */
-    @PreAuthorize("@ss.hasPermi('smartor:ivrtaskcall:query')")
-    @GetMapping(value = "/{callid}")
-    public AjaxResult getInfo(@PathVariable("callid") Long callid)
-    {
-        return success(ivrTaskcallService.selectIvrTaskcallByCallid(callid));
+    @PreAuthorize("@ss.hasPermi('system:taskcall:query')")
+    @GetMapping(value = "/getInfo/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id) {
+        return success(ivrTaskcallService.selectIvrTaskcallById(id));
     }
 
     /**
-     * 鏂板璇煶浠诲姟鍛煎彨
+     * 鏂板鎴栦慨鏀瑰垹闄ゅ崟涓�浠诲姟
      */
-    @PreAuthorize("@ss.hasPermi('smartor:ivrtaskcall:add')")
-    @Log(title = "璇煶浠诲姟鍛煎彨", businessType = BusinessType.INSERT)
-    @PostMapping("/add")
-    public AjaxResult add(@RequestBody IvrTaskcall ivrTaskcall)
-    {
-        return toAjax(ivrTaskcallService.insertIvrTaskcall(ivrTaskcall));
+    @ApiOperation("鏂板鎴栦慨鏀瑰垹闄ゅ崟涓�浠诲姟")
+    @PreAuthorize("@ss.hasPermi('system:task:add')")
+    @Log(title = "鍗曚竴浠诲姟锛堥殢璁匡級", businessType = BusinessType.INSERT)
+    @PostMapping("/insertOrUpdateTask")
+    public AjaxResult insertOrUpdateHeTask(@RequestBody IvrTaskcallVO ivrTaskcallVO) {
+        return toAjax(ivrTaskcallService.insertOrUpdateTask(ivrTaskcallVO));
     }
 
-    /**
-     * 淇敼璇煶浠诲姟鍛煎彨
-     */
-    @PreAuthorize("@ss.hasPermi('smartor:ivrtaskcall:edit')")
-    @Log(title = "璇煶浠诲姟鍛煎彨", businessType = BusinessType.UPDATE)
-    @PostMapping("/edit")
-    public AjaxResult edit(@RequestBody IvrTaskcall ivrTaskcall)
-    {
-        return toAjax(ivrTaskcallService.updateIvrTaskcall(ivrTaskcall));
-    }
 
-    /**
-     * 鍒犻櫎璇煶浠诲姟鍛煎彨
-     */
-    @PreAuthorize("@ss.hasPermi('smartor:ivrtaskcall:remove')")
-    @Log(title = "璇煶浠诲姟鍛煎彨", businessType = BusinessType.DELETE)
-	@GetMapping("/remove/{callids}")
-    public AjaxResult remove(@PathVariable Long[] callids)
-    {
-        return toAjax(ivrTaskcallService.deleteIvrTaskcallByCallids(callids));
-    }
+
 }
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatHetaskRelevanceController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatTaskRelevanceController.java
similarity index 63%
rename from ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatHetaskRelevanceController.java
rename to ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatTaskRelevanceController.java
index 98eacb8..63558bf 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatHetaskRelevanceController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatTaskRelevanceController.java
@@ -6,8 +6,9 @@
 import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.common.enums.BusinessType;
 import com.ruoyi.common.utils.poi.ExcelUtil;
-import com.smartor.domain.PatHetaskRelevance;
-import com.smartor.service.IPatHetaskRelevanceService;
+import com.smartor.domain.PatTaskRelevance;
+import com.smartor.domain.PatTaskRelevance;
+import com.smartor.service.IPatTaskRelevanceService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
@@ -22,21 +23,21 @@
  * @date 2024-01-07
  */
 @RestController
-@RequestMapping("/smartor/pathetaskrelevance")
-public class PatHetaskRelevanceController extends BaseController
+@RequestMapping("/smartor/patTaskRelevance")
+public class PatTaskRelevanceController extends BaseController
 {
     @Autowired
-    private IPatHetaskRelevanceService patHetaskRelevanceService;
+    private IPatTaskRelevanceService patTaskRelevanceService;
 
     /**
      * 鏌ヨ鎮h�呬笌瀹f暀浠诲姟鍏宠仈鍒楄〃
      */
     @PreAuthorize("@ss.hasPermi('system:relevance:list')")
     @GetMapping("/list")
-    public TableDataInfo list(PatHetaskRelevance patHetaskRelevance)
+    public TableDataInfo list(PatTaskRelevance PatTaskRelevance)
     {
         startPage();
-        List<PatHetaskRelevance> list = patHetaskRelevanceService.selectPatHetaskRelevanceList(patHetaskRelevance);
+        List<PatTaskRelevance> list = patTaskRelevanceService.selectPatTaskRelevanceList(PatTaskRelevance);
         return getDataTable(list);
     }
 
@@ -46,10 +47,10 @@
     @PreAuthorize("@ss.hasPermi('system:relevance:export')")
     @Log(title = "鎮h�呬笌瀹f暀浠诲姟鍏宠仈", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
-    public void export(HttpServletResponse response, PatHetaskRelevance patHetaskRelevance)
+    public void export(HttpServletResponse response, PatTaskRelevance PatTaskRelevance)
     {
-        List<PatHetaskRelevance> list = patHetaskRelevanceService.selectPatHetaskRelevanceList(patHetaskRelevance);
-        ExcelUtil<PatHetaskRelevance> util = new ExcelUtil<PatHetaskRelevance>(PatHetaskRelevance.class);
+        List<PatTaskRelevance> list = patTaskRelevanceService.selectPatTaskRelevanceList(PatTaskRelevance);
+        ExcelUtil<PatTaskRelevance> util = new ExcelUtil<PatTaskRelevance>(PatTaskRelevance.class);
         util.exportExcel(response, list, "鎮h�呬笌瀹f暀浠诲姟鍏宠仈鏁版嵁");
     }
 
@@ -60,7 +61,7 @@
     @GetMapping(value = "/{id}")
     public AjaxResult getInfo(@PathVariable("id") Long id)
     {
-        return success(patHetaskRelevanceService.selectPatHetaskRelevanceById(id));
+        return success(patTaskRelevanceService.selectPatTaskRelevanceById(id));
     }
 
     /**
@@ -69,9 +70,9 @@
     @PreAuthorize("@ss.hasPermi('system:relevance:add')")
     @Log(title = "鎮h�呬笌瀹f暀浠诲姟鍏宠仈", businessType = BusinessType.INSERT)
     @PostMapping
-    public AjaxResult add(@RequestBody PatHetaskRelevance patHetaskRelevance)
+    public AjaxResult add(@RequestBody PatTaskRelevance PatTaskRelevance)
     {
-        return toAjax(patHetaskRelevanceService.insertPatHetaskRelevance(patHetaskRelevance));
+        return toAjax(patTaskRelevanceService.insertPatTaskRelevance(PatTaskRelevance));
     }
 
     /**
@@ -80,9 +81,9 @@
     @PreAuthorize("@ss.hasPermi('system:relevance:edit')")
     @Log(title = "鎮h�呬笌瀹f暀浠诲姟鍏宠仈", businessType = BusinessType.UPDATE)
     @PutMapping
-    public AjaxResult edit(@RequestBody PatHetaskRelevance patHetaskRelevance)
+    public AjaxResult edit(@RequestBody PatTaskRelevance PatTaskRelevance)
     {
-        return toAjax(patHetaskRelevanceService.updatePatHetaskRelevance(patHetaskRelevance));
+        return toAjax(patTaskRelevanceService.updatePatTaskRelevance(PatTaskRelevance));
     }
 
     /**
@@ -93,6 +94,6 @@
 	@DeleteMapping("/{ids}")
     public AjaxResult remove(@PathVariable Long[] ids)
     {
-        return toAjax(patHetaskRelevanceService.deletePatHetaskRelevanceByIds(ids));
+        return toAjax(patTaskRelevanceService.deletePatTaskRelevanceByIds(ids));
     }
 }
diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/controller/SysJobController.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/controller/SysJobController.java
index 139361b..3c95c18 100644
--- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/controller/SysJobController.java
+++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/controller/SysJobController.java
@@ -2,6 +2,7 @@
 
 import java.util.List;
 import javax.servlet.http.HttpServletResponse;
+
 import org.quartz.SchedulerException;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -29,13 +30,12 @@
 
 /**
  * 璋冨害浠诲姟淇℃伅鎿嶄綔澶勭悊
- * 
+ *
  * @author ruoyi
  */
 @RestController
 @RequestMapping("/monitor/job")
-public class SysJobController extends BaseController
-{
+public class SysJobController extends BaseController {
     @Autowired
     private ISysJobService jobService;
 
@@ -44,8 +44,7 @@
      */
     @PreAuthorize("@ss.hasPermi('monitor:job:list')")
     @GetMapping("/list")
-    public TableDataInfo list(SysJob sysJob)
-    {
+    public TableDataInfo list(SysJob sysJob) {
         startPage();
         List<SysJob> list = jobService.selectJobList(sysJob);
         return getDataTable(list);
@@ -57,8 +56,7 @@
     @PreAuthorize("@ss.hasPermi('monitor:job:export')")
     @Log(title = "瀹氭椂浠诲姟", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
-    public void export(HttpServletResponse response, SysJob sysJob)
-    {
+    public void export(HttpServletResponse response, SysJob sysJob) {
         List<SysJob> list = jobService.selectJobList(sysJob);
         ExcelUtil<SysJob> util = new ExcelUtil<SysJob>(SysJob.class);
         util.exportExcel(response, list, "瀹氭椂浠诲姟");
@@ -69,8 +67,7 @@
      */
     @PreAuthorize("@ss.hasPermi('monitor:job:query')")
     @GetMapping(value = "/{jobId}")
-    public AjaxResult getInfo(@PathVariable("jobId") Long jobId)
-    {
+    public AjaxResult getInfo(@PathVariable("jobId") Long jobId) {
         return success(jobService.selectJobById(jobId));
     }
 
@@ -80,30 +77,18 @@
     @PreAuthorize("@ss.hasPermi('monitor:job:add')")
     @Log(title = "瀹氭椂浠诲姟", businessType = BusinessType.INSERT)
     @PostMapping
-    public AjaxResult add(@RequestBody SysJob job) throws SchedulerException, TaskException
-    {
-        if (!CronUtils.isValid(job.getCronExpression()))
-        {
+    public AjaxResult add(@RequestBody SysJob job) throws SchedulerException, TaskException {
+        if (!CronUtils.isValid(job.getCronExpression())) {
             return error("鏂板浠诲姟'" + job.getJobName() + "'澶辫触锛孋ron琛ㄨ揪寮忎笉姝g‘");
-        }
-        else if (StringUtils.containsIgnoreCase(job.getInvokeTarget(), Constants.LOOKUP_RMI))
-        {
+        } else if (StringUtils.containsIgnoreCase(job.getInvokeTarget(), Constants.LOOKUP_RMI)) {
             return error("鏂板浠诲姟'" + job.getJobName() + "'澶辫触锛岀洰鏍囧瓧绗︿覆涓嶅厑璁�'rmi'璋冪敤");
-        }
-        else if (StringUtils.containsAnyIgnoreCase(job.getInvokeTarget(), new String[] { Constants.LOOKUP_LDAP, Constants.LOOKUP_LDAPS }))
-        {
+        } else if (StringUtils.containsAnyIgnoreCase(job.getInvokeTarget(), new String[]{Constants.LOOKUP_LDAP, Constants.LOOKUP_LDAPS})) {
             return error("鏂板浠诲姟'" + job.getJobName() + "'澶辫触锛岀洰鏍囧瓧绗︿覆涓嶅厑璁�'ldap(s)'璋冪敤");
-        }
-        else if (StringUtils.containsAnyIgnoreCase(job.getInvokeTarget(), new String[] { Constants.HTTP, Constants.HTTPS }))
-        {
+        } else if (StringUtils.containsAnyIgnoreCase(job.getInvokeTarget(), new String[]{Constants.HTTP, Constants.HTTPS})) {
             return error("鏂板浠诲姟'" + job.getJobName() + "'澶辫触锛岀洰鏍囧瓧绗︿覆涓嶅厑璁�'http(s)'璋冪敤");
-        }
-        else if (StringUtils.containsAnyIgnoreCase(job.getInvokeTarget(), Constants.JOB_ERROR_STR))
-        {
+        } else if (StringUtils.containsAnyIgnoreCase(job.getInvokeTarget(), Constants.JOB_ERROR_STR)) {
             return error("鏂板浠诲姟'" + job.getJobName() + "'澶辫触锛岀洰鏍囧瓧绗︿覆瀛樺湪杩濊");
-        }
-        else if (!ScheduleUtils.whiteList(job.getInvokeTarget()))
-        {
+        } else if (!ScheduleUtils.whiteList(job.getInvokeTarget())) {
             return error("鏂板浠诲姟'" + job.getJobName() + "'澶辫触锛岀洰鏍囧瓧绗︿覆涓嶅湪鐧藉悕鍗曞唴");
         }
         job.setCreateBy(getUsername());
@@ -115,31 +100,19 @@
      */
     @PreAuthorize("@ss.hasPermi('monitor:job:edit')")
     @Log(title = "瀹氭椂浠诲姟", businessType = BusinessType.UPDATE)
-    @PutMapping
-    public AjaxResult edit(@RequestBody SysJob job) throws SchedulerException, TaskException
-    {
-        if (!CronUtils.isValid(job.getCronExpression()))
-        {
+    @PostMapping("/edit")
+    public AjaxResult edit(@RequestBody SysJob job) throws SchedulerException, TaskException {
+        if (!CronUtils.isValid(job.getCronExpression())) {
             return error("淇敼浠诲姟'" + job.getJobName() + "'澶辫触锛孋ron琛ㄨ揪寮忎笉姝g‘");
-        }
-        else if (StringUtils.containsIgnoreCase(job.getInvokeTarget(), Constants.LOOKUP_RMI))
-        {
+        } else if (StringUtils.containsIgnoreCase(job.getInvokeTarget(), Constants.LOOKUP_RMI)) {
             return error("淇敼浠诲姟'" + job.getJobName() + "'澶辫触锛岀洰鏍囧瓧绗︿覆涓嶅厑璁�'rmi'璋冪敤");
-        }
-        else if (StringUtils.containsAnyIgnoreCase(job.getInvokeTarget(), new String[] { Constants.LOOKUP_LDAP, Constants.LOOKUP_LDAPS }))
-        {
+        } else if (StringUtils.containsAnyIgnoreCase(job.getInvokeTarget(), new String[]{Constants.LOOKUP_LDAP, Constants.LOOKUP_LDAPS})) {
             return error("淇敼浠诲姟'" + job.getJobName() + "'澶辫触锛岀洰鏍囧瓧绗︿覆涓嶅厑璁�'ldap(s)'璋冪敤");
-        }
-        else if (StringUtils.containsAnyIgnoreCase(job.getInvokeTarget(), new String[] { Constants.HTTP, Constants.HTTPS }))
-        {
+        } else if (StringUtils.containsAnyIgnoreCase(job.getInvokeTarget(), new String[]{Constants.HTTP, Constants.HTTPS})) {
             return error("淇敼浠诲姟'" + job.getJobName() + "'澶辫触锛岀洰鏍囧瓧绗︿覆涓嶅厑璁�'http(s)'璋冪敤");
-        }
-        else if (StringUtils.containsAnyIgnoreCase(job.getInvokeTarget(), Constants.JOB_ERROR_STR))
-        {
+        } else if (StringUtils.containsAnyIgnoreCase(job.getInvokeTarget(), Constants.JOB_ERROR_STR)) {
             return error("淇敼浠诲姟'" + job.getJobName() + "'澶辫触锛岀洰鏍囧瓧绗︿覆瀛樺湪杩濊");
-        }
-        else if (!ScheduleUtils.whiteList(job.getInvokeTarget()))
-        {
+        } else if (!ScheduleUtils.whiteList(job.getInvokeTarget())) {
             return error("淇敼浠诲姟'" + job.getJobName() + "'澶辫触锛岀洰鏍囧瓧绗︿覆涓嶅湪鐧藉悕鍗曞唴");
         }
         job.setUpdateBy(getUsername());
@@ -152,8 +125,7 @@
     @PreAuthorize("@ss.hasPermi('monitor:job:changeStatus')")
     @Log(title = "瀹氭椂浠诲姟", businessType = BusinessType.UPDATE)
     @PutMapping("/changeStatus")
-    public AjaxResult changeStatus(@RequestBody SysJob job) throws SchedulerException
-    {
+    public AjaxResult changeStatus(@RequestBody SysJob job) throws SchedulerException {
         SysJob newJob = jobService.selectJobById(job.getJobId());
         newJob.setStatus(job.getStatus());
         return toAjax(jobService.changeStatus(newJob));
@@ -165,8 +137,7 @@
     @PreAuthorize("@ss.hasPermi('monitor:job:changeStatus')")
     @Log(title = "瀹氭椂浠诲姟", businessType = BusinessType.UPDATE)
     @PutMapping("/run")
-    public AjaxResult run(@RequestBody SysJob job) throws SchedulerException
-    {
+    public AjaxResult run(@RequestBody SysJob job) throws SchedulerException {
         boolean result = jobService.run(job);
         return result ? success() : error("浠诲姟涓嶅瓨鍦ㄦ垨宸茶繃鏈燂紒");
     }
@@ -177,8 +148,7 @@
     @PreAuthorize("@ss.hasPermi('monitor:job:remove')")
     @Log(title = "瀹氭椂浠诲姟", businessType = BusinessType.DELETE)
     @DeleteMapping("/{jobIds}")
-    public AjaxResult remove(@PathVariable Long[] jobIds) throws SchedulerException, TaskException
-    {
+    public AjaxResult remove(@PathVariable Long[] jobIds) throws SchedulerException, TaskException {
         jobService.deleteJobByIds(jobIds);
         return success();
     }
diff --git a/smartor/src/main/java/com/smartor/domain/HeLibrary.java b/smartor/src/main/java/com/smartor/domain/HeLibrary.java
index bdd1876..2c0911c 100644
--- a/smartor/src/main/java/com/smartor/domain/HeLibrary.java
+++ b/smartor/src/main/java/com/smartor/domain/HeLibrary.java
@@ -216,4 +216,11 @@
     @ApiModelProperty("鍏跺畠鏁版嵁锛堝瓨鍌ㄥ彉閲忥級")
     private String otherdata = "";
 
+    /**
+     * 瀵屾枃鏈�
+     */
+    @Excel(name = "瀵屾枃鏈�")
+    @ApiModelProperty("瀵屾枃鏈�")
+    private String richText = "";
+
 }
diff --git a/smartor/src/main/java/com/smartor/domain/HeLibraryVO.java b/smartor/src/main/java/com/smartor/domain/HeLibraryVO.java
index 476c39a..4eec999 100644
--- a/smartor/src/main/java/com/smartor/domain/HeLibraryVO.java
+++ b/smartor/src/main/java/com/smartor/domain/HeLibraryVO.java
@@ -230,4 +230,10 @@
     @ApiModelProperty("鍏跺畠鏁版嵁锛堝瓨鍌ㄥ彉閲忥級")
     private String otherdata = "";
 
+    /**
+     * 瀵屾枃鏈�
+     */
+    @Excel(name = "瀵屾枃鏈�")
+    @ApiModelProperty("瀵屾枃鏈�")
+    private String richText = "";
 }
diff --git a/smartor/src/main/java/com/smartor/domain/HeTask.java b/smartor/src/main/java/com/smartor/domain/HeTask.java
index 952494c..be258ec 100644
--- a/smartor/src/main/java/com/smartor/domain/HeTask.java
+++ b/smartor/src/main/java/com/smartor/domain/HeTask.java
@@ -2,6 +2,8 @@
 
 import java.math.BigDecimal;
 import java.util.Date;
+import java.util.List;
+import java.util.Map;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
@@ -76,7 +78,7 @@
      */
     @Excel(name = " 瀹f暀褰㈠紡 1,澶氬獟浣�   2,绾歌川  3,鐢佃瘽  4,鐭俊  5.寰俊鍏紬鍙� 6.寰俊灏忕▼搴�  7.鏀粯瀹�  8.鏅鸿兘灏忕▼搴�  9.閽夐拤")
     @ApiModelProperty(value = " 瀹f暀褰㈠紡 1,澶氬獟浣�   2,绾歌川  3,鐢佃瘽  4,鐭俊  5.寰俊鍏紬鍙� 6.寰俊灏忕▼搴�  7.鏀粯瀹�  8.鏅鸿兘灏忕▼搴�  9.閽夐拤")
-    private Long preachform;
+    private String preachform;
 
     /**
      * 缁勭粐褰㈠紡锛�1.鍗曚汉瀹f暀   2.澶氫汉瀹f暀
@@ -205,4 +207,19 @@
     @ApiModelProperty(value = "鍙戦�佺姸鎬侊細  0  澶辫触   1鎴愬姛")
     private Long sendState;
 
+    /**
+     * 瀵屾枃鏈�
+     */
+    @Excel(name = "瀵屾枃鏈�")
+    @ApiModelProperty(value = "瀵屾枃鏈�")
+    private String richText;
+
+    /**
+     * 鏂囨湰鍙橀噺鍙傛暟
+     */
+    @Excel(name = "鏂囨湰鍙橀噺鍙傛暟")
+    @ApiModelProperty(value = "鏂囨湰鍙橀噺鍙傛暟")
+    private String textParam;
+
+
 }
diff --git a/smartor/src/main/java/com/smartor/domain/HeTaskVO.java b/smartor/src/main/java/com/smartor/domain/HeTaskVO.java
index ce7900c..0955d3a 100644
--- a/smartor/src/main/java/com/smartor/domain/HeTaskVO.java
+++ b/smartor/src/main/java/com/smartor/domain/HeTaskVO.java
@@ -10,6 +10,7 @@
 import java.math.BigDecimal;
 import java.util.Date;
 import java.util.List;
+import java.util.Map;
 
 /**
  * 瀹f暀浠诲姟瀵硅薄 he_task
@@ -75,7 +76,7 @@
      */
     @Excel(name = " 瀹f暀褰㈠紡 1,澶氬獟浣�   2,绾歌川  3,鐢佃瘽  4,鐭俊  5.寰俊鍏紬鍙� 6.寰俊灏忕▼搴�  7.鏀粯瀹�  8.鏅鸿兘灏忕▼搴�  9.閽夐拤")
     @ApiModelProperty(value = " 瀹f暀褰㈠紡 1,澶氬獟浣�   2,绾歌川  3,鐢佃瘽  4,鐭俊  5.寰俊鍏紬鍙� 6.寰俊灏忕▼搴�  7.鏀粯瀹�  8.鏅鸿兘灏忕▼搴�  9.閽夐拤")
-    private Long preachform;
+    private List<Long> preachform;
 
     /**
      * 缁勭粐褰㈠紡锛�1.鍗曚汉瀹f暀   2.澶氫汉瀹f暀
@@ -207,7 +208,7 @@
     /**
      * 鎮h�呭叧鑱斾俊鎭�
      */
-    private List<PatHetaskRelevance> patHetaskRelevances;
+    private List<PatTaskRelevance> PatTaskRelevances;
 
     /**
      * 瀹f暀璧勬枡搴撲俊鎭�
@@ -221,4 +222,19 @@
     private Integer isoperation;
 
 
+    /**
+     * 瀵屾枃鏈�
+     */
+    @Excel(name = "瀵屾枃鏈�")
+    @ApiModelProperty(value = "瀵屾枃鏈�")
+    private String richText;
+
+    /**
+     * 鏂囨湰鍙橀噺鍙傛暟
+     */
+    @Excel(name = "鏂囨湰鍙橀噺鍙傛暟")
+    @ApiModelProperty(value = "鏂囨湰鍙橀噺鍙傛暟")
+    private Map<String, Map<String, String>> textParam;
+
+
 }
diff --git a/smartor/src/main/java/com/smartor/domain/IvrLibaScript.java b/smartor/src/main/java/com/smartor/domain/IvrLibaScript.java
index ec51b92..a2d44ae 100644
--- a/smartor/src/main/java/com/smartor/domain/IvrLibaScript.java
+++ b/smartor/src/main/java/com/smartor/domain/IvrLibaScript.java
@@ -40,7 +40,7 @@
      */
     @ApiModelProperty("璇濇湳鍐呭")
     @Excel(name = "璇濇湳鍐呭")
-    private String questiontext;
+    private String questionText;
 
     /**
      * 璇濇湳璇煶
diff --git a/smartor/src/main/java/com/smartor/domain/IvrLibaScriptTargetoption.java b/smartor/src/main/java/com/smartor/domain/IvrLibaScriptTargetoption.java
index 0289583..3641da1 100644
--- a/smartor/src/main/java/com/smartor/domain/IvrLibaScriptTargetoption.java
+++ b/smartor/src/main/java/com/smartor/domain/IvrLibaScriptTargetoption.java
@@ -1,8 +1,11 @@
 package com.smartor.domain;
 
+import java.util.ArrayList;
 import java.util.Date;
+import java.util.List;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.google.gson.Gson;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -17,7 +20,6 @@
  * @author ruoyi
  * @date 2023-12-21
  */
-@Data
 @ApiModel(value = "IvrLibaScriptTargetoption", description = "闂璇濇湳鎸囨爣閫夐」搴撳璞�")
 public class IvrLibaScriptTargetoption extends BaseEntity {
     private static final long serialVersionUID = 1L;
@@ -76,6 +78,30 @@
     @ApiModelProperty("鎸囨爣姝e垯")
     @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
     private String targetregex;
+
+    /**
+     * $column.columnComment
+     */
+    @ApiModelProperty("鎸囨爣姝e垯2")
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String targetregex2;
+
+    @Excel(name = "姝e垯鍏抽敭瀛楅泦鍚�(鍚�)")
+    private String nodynamiccruxsJson;
+
+
+    @Excel(name = "姝e垯鍏抽敭瀛�(涓嶅惈)")
+    private String dynamiccruxsJson;
+
+    @ApiModelProperty(value = "姝e垯鍏抽敭瀛楅泦鍚�(鍚�)")
+    @Excel(name = "姝e垯鍏抽敭瀛�(鍚�)")
+    @JsonFormat
+    private List<String> nodynamiccruxs = new ArrayList<>();
+
+    @ApiModelProperty(value = "姝e垯鍏抽敭瀛楅泦鍚�(涓嶅惈)")
+    @Excel(name = "姝e垯鍏抽敭瀛�(涓嶅惈)")
+    @JsonFormat
+    private List<String> dynamiccruxs = new ArrayList<>();
 
     /**
      * $column.columnComment
@@ -174,4 +200,227 @@
     @ApiModelProperty(value = "鏄惁瀛樺湪鎿嶄綔锛�1 鏂板 2淇敼 3鍒犻櫎")
     private Integer isoperation;
 
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Long getTargetid() {
+        return targetid;
+    }
+
+    public void setTargetid(Long targetid) {
+        this.targetid = targetid;
+    }
+
+    public String getTargetname() {
+        return targetname;
+    }
+
+    public void setTargetname(String targetname) {
+        this.targetname = targetname;
+    }
+
+    public Long getScriptid() {
+        return scriptid;
+    }
+
+    public void setScriptid(Long scriptid) {
+        this.scriptid = scriptid;
+    }
+
+    public String getTargettype() {
+        return targettype;
+    }
+
+    public void setTargettype(String targettype) {
+        this.targettype = targettype;
+    }
+
+    public String getCategoryName() {
+        return categoryName;
+    }
+
+    public void setCategoryName(String categoryName) {
+        this.categoryName = categoryName;
+    }
+
+    public String getTargetvalue() {
+        return targetvalue;
+    }
+
+    public void setTargetvalue(String targetvalue) {
+        this.targetvalue = targetvalue;
+    }
+
+    public String getTargetregex() {
+        return targetregex;
+    }
+
+    public void setTargetregex(String targetregex) {
+        this.targetregex = targetregex;
+    }
+
+    public String getTargetregex2() {
+        return targetregex2;
+    }
+
+    public void setTargetregex2(String targetregex2) {
+        this.targetregex2 = targetregex2;
+    }
+
+    public String getNodynamiccruxsJson() {
+        return nodynamiccruxsJson;
+    }
+
+    public void setNodynamiccruxsJson(String nodynamiccruxsJson) {
+        if (this.nodynamiccruxs != null) {
+            this.nodynamiccruxsJson = new Gson().toJson(this.nodynamiccruxs);
+        } else {
+            this.nodynamiccruxsJson = nodynamiccruxsJson;
+        }
+    }
+
+    public String getDynamiccruxsJson() {
+        return dynamiccruxsJson;
+    }
+
+    public void setDynamiccruxsJson(String dynamiccruxsJson) {
+        if (this.dynamiccruxs != null) {
+            this.dynamiccruxsJson = new Gson().toJson(this.dynamiccruxs);
+        } else {
+            this.dynamiccruxsJson = dynamiccruxsJson;
+        }
+    }
+
+    public List<String> getNodynamiccruxs() {
+        return nodynamiccruxs;
+    }
+
+    public void setNodynamiccruxs(List<String> nodynamiccruxs) {
+        this.nodynamiccruxs = nodynamiccruxs;
+    }
+
+    public List<String> getDynamiccruxs() {
+        return dynamiccruxs;
+    }
+
+    public void setDynamiccruxs(List<String> dynamiccruxs) {
+        this.dynamiccruxs = dynamiccruxs;
+    }
+
+    public String getOptiondesc() {
+        return optiondesc;
+    }
+
+    public void setOptiondesc(String optiondesc) {
+        this.optiondesc = optiondesc;
+    }
+
+    public String getLanguage() {
+        return language;
+    }
+
+    public void setLanguage(String language) {
+        this.language = language;
+    }
+
+    public Long getVersion() {
+        return version;
+    }
+
+    public void setVersion(Long version) {
+        this.version = version;
+    }
+
+    public String getGroupid() {
+        return groupid;
+    }
+
+    public void setGroupid(String groupid) {
+        this.groupid = groupid;
+    }
+
+    public Long getIsabnormal() {
+        return isabnormal;
+    }
+
+    public void setIsabnormal(Long isabnormal) {
+        this.isabnormal = isabnormal;
+    }
+
+    public Long getWarnup() {
+        return warnup;
+    }
+
+    public void setWarnup(Long warnup) {
+        this.warnup = warnup;
+    }
+
+    public Long getWarndown() {
+        return warndown;
+    }
+
+    public void setWarndown(Long warndown) {
+        this.warndown = warndown;
+    }
+
+    public String getDelFlag() {
+        return delFlag;
+    }
+
+    public void setDelFlag(String delFlag) {
+        this.delFlag = delFlag;
+    }
+
+    public Long getIsupload() {
+        return isupload;
+    }
+
+    public void setIsupload(Long isupload) {
+        this.isupload = isupload;
+    }
+
+    public Date getUploadTime() {
+        return uploadTime;
+    }
+
+    public void setUploadTime(Date uploadTime) {
+        this.uploadTime = uploadTime;
+    }
+
+    public String getOrgid() {
+        return orgid;
+    }
+
+    public void setOrgid(String orgid) {
+        this.orgid = orgid;
+    }
+
+    public Long getPid() {
+        return pid;
+    }
+
+    public void setPid(Long pid) {
+        this.pid = pid;
+    }
+
+    public String getGuid() {
+        return guid;
+    }
+
+    public void setGuid(String guid) {
+        this.guid = guid;
+    }
+
+    public Integer getIsoperation() {
+        return isoperation;
+    }
+
+    public void setIsoperation(Integer isoperation) {
+        this.isoperation = isoperation;
+    }
 }
diff --git a/smartor/src/main/java/com/smartor/domain/IvrLibaScriptVO.java b/smartor/src/main/java/com/smartor/domain/IvrLibaScriptVO.java
index b1c693b..bc12bbd 100644
--- a/smartor/src/main/java/com/smartor/domain/IvrLibaScriptVO.java
+++ b/smartor/src/main/java/com/smartor/domain/IvrLibaScriptVO.java
@@ -47,7 +47,7 @@
      */
     @ApiModelProperty("璇濇湳鍐呭")
     @Excel(name = "璇濇湳鍐呭")
-    private String questiontext;
+    private String questionText;
 
     /**
      * 璇濇湳璇煶
diff --git a/smartor/src/main/java/com/smartor/domain/IvrLibaTargetoption.java b/smartor/src/main/java/com/smartor/domain/IvrLibaTargetoption.java
index 46b0e50..efa9a8b 100644
--- a/smartor/src/main/java/com/smartor/domain/IvrLibaTargetoption.java
+++ b/smartor/src/main/java/com/smartor/domain/IvrLibaTargetoption.java
@@ -1,8 +1,12 @@
 package com.smartor.domain;
 
+import java.util.ArrayList;
 import java.util.Date;
+import java.util.List;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+import com.google.gson.Gson;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -17,7 +21,6 @@
  * @author ruoyi
  * @date 2023-12-14
  */
-@Data
 @ApiModel(value = "IvrLibaTargetoption", description = "鎸囨爣閫夐」搴撳璞�")
 public class IvrLibaTargetoption extends BaseEntity {
     private static final long serialVersionUID = 1L;
@@ -47,9 +50,31 @@
     @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
     private String targetvalue;
 
-    @ApiModelProperty(value = "姝e垯")
+    @ApiModelProperty(value = "姝e垯1")
     @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
     private String targetregex;
+
+    @ApiModelProperty(value = "姝e垯2")
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String targetregex2;
+
+
+    @Excel(name = "姝e垯鍏抽敭瀛楅泦鍚�(鍚�)")
+    private String nodynamiccruxsJson;
+
+
+    @Excel(name = "姝e垯鍏抽敭瀛楅泦鍚�(涓嶅惈)")
+    private String dynamiccruxsJson;
+
+    @ApiModelProperty(value = "姝e垯鍏抽敭瀛�(鍚�)")
+    @Excel(name = "姝e垯鍏抽敭瀛�(鍚�)")
+    @JsonFormat
+    private List<String> nodynamiccruxs=new ArrayList<>();
+
+    @ApiModelProperty(value = "姝e垯鍏抽敭瀛�(涓嶅惈)")
+    @Excel(name = "姝e垯鍏抽敭瀛�(涓嶅惈)")
+    @JsonFormat
+    private List<String> dynamiccruxs=new ArrayList<>();
 
     @ApiModelProperty(value = "閫夐」鎻忚堪")
     @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
@@ -149,6 +174,238 @@
     @Excel(name = "pageSize")
     private Integer pageSize;
 
+    public Long getTargetoptionid() {
+        return targetoptionid;
+    }
+
+    public void setTargetoptionid(Long targetoptionid) {
+        this.targetoptionid = targetoptionid;
+    }
+
+    public Long getTargetid() {
+        return targetid;
+    }
+
+    public void setTargetid(Long targetid) {
+        this.targetid = targetid;
+    }
+
+    public String getTargettype() {
+        return targettype;
+    }
+
+    public void setTargettype(String targettype) {
+        this.targettype = targettype;
+    }
+
+    public String getCategoryName() {
+        return categoryName;
+    }
+
+    public void setCategoryName(String categoryName) {
+        this.categoryName = categoryName;
+    }
+
+    public String getTargetvalue() {
+        return targetvalue;
+    }
+
+    public void setTargetvalue(String targetvalue) {
+        this.targetvalue = targetvalue;
+    }
+
+    public String getTargetregex() {
+        return targetregex;
+    }
+
+    public void setTargetregex(String targetregex) {
+        this.targetregex = targetregex;
+    }
+
+    public String getTargetregex2() {
+        return targetregex2;
+    }
+
+    public void setTargetregex2(String targetregex2) {
+        this.targetregex2 = targetregex2;
+    }
+
+    public String getNodynamiccruxsJson() {
+        return nodynamiccruxsJson;
+    }
+
+    public void setNodynamiccruxsJson(String nodynamiccruxsJson) {
+        if (this.nodynamiccruxs != null) {
+            this.nodynamiccruxsJson = new Gson().toJson(this.nodynamiccruxs);
+        } else {
+            this.nodynamiccruxsJson = nodynamiccruxsJson;
+        }
+    }
+
+    public String getDynamiccruxsJson() {
+        return dynamiccruxsJson;
+    }
+
+    public void setDynamiccruxsJson(String dynamiccruxsJson) {
+        if (this.dynamiccruxs != null) {
+            this.dynamiccruxsJson = new Gson().toJson(this.dynamiccruxs);
+        } else {
+            this.dynamiccruxsJson = dynamiccruxsJson;
+        }
+    }
+
+    public List<String> getNodynamiccruxs() {
+        return nodynamiccruxs;
+    }
+
+    public void setNodynamiccruxs(List<String> nodynamiccruxs) {
+        this.nodynamiccruxs = nodynamiccruxs;
+    }
+
+    public List<String> getDynamiccruxs() {
+        return dynamiccruxs;
+    }
+
+    public void setDynamiccruxs(List<String> dynamiccruxs) {
+        this.dynamiccruxs = dynamiccruxs;
+    }
+
+    public String getOptiondesc() {
+        return optiondesc;
+    }
+
+    public void setOptiondesc(String optiondesc) {
+        this.optiondesc = optiondesc;
+    }
+
+    public String getLanguage() {
+        return language;
+    }
+
+    public void setLanguage(String language) {
+        this.language = language;
+    }
+
+    public Long getVersion() {
+        return version;
+    }
+
+    public void setVersion(Long version) {
+        this.version = version;
+    }
+
+    public String getGroupid() {
+        return groupid;
+    }
+
+    public void setGroupid(String groupid) {
+        this.groupid = groupid;
+    }
+
+    public Long getIsabnormal() {
+        return isabnormal;
+    }
+
+    public void setIsabnormal(Long isabnormal) {
+        this.isabnormal = isabnormal;
+    }
+
+    public Long getWarnup() {
+        return warnup;
+    }
+
+    public void setWarnup(Long warnup) {
+        this.warnup = warnup;
+    }
+
+    public Long getWarndown() {
+        return warndown;
+    }
+
+    public void setWarndown(Long warndown) {
+        this.warndown = warndown;
+    }
+
+    public String getDelFlag() {
+        return delFlag;
+    }
+
+    public void setDelFlag(String delFlag) {
+        this.delFlag = delFlag;
+    }
+
+    public Long getIsupload() {
+        return isupload;
+    }
+
+    public void setIsupload(Long isupload) {
+        this.isupload = isupload;
+    }
+
+    public Date getUploadTime() {
+        return uploadTime;
+    }
+
+    public void setUploadTime(Date uploadTime) {
+        this.uploadTime = uploadTime;
+    }
+
+    public String getOrgid() {
+        return orgid;
+    }
+
+    public void setOrgid(String orgid) {
+        this.orgid = orgid;
+    }
+
+    public Long getPid() {
+        return pid;
+    }
+
+    public void setPid(Long pid) {
+        this.pid = pid;
+    }
+
+    public String getGuid() {
+        return guid;
+    }
+
+    public void setGuid(String guid) {
+        this.guid = guid;
+    }
+
+    public Integer getIsoperation() {
+        return isoperation;
+    }
+
+    public void setIsoperation(Integer isoperation) {
+        this.isoperation = isoperation;
+    }
+
+    public Integer getAllitems() {
+        return allitems;
+    }
+
+    public void setAllitems(Integer allitems) {
+        this.allitems = allitems;
+    }
+
+    public Integer getPageNum() {
+        return pageNum;
+    }
+
+    public void setPageNum(Integer pageNum) {
+        this.pageNum = pageNum;
+    }
+
+    public Integer getPageSize() {
+        return pageSize;
+    }
+
+    public void setPageSize(Integer pageSize) {
+        this.pageSize = pageSize;
+    }
+
     @Override
     public String toString() {
         return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE).append("targetoptionid", getTargetoptionid()).append("targetid", getTargetid()).append("targettype", getTargettype()).append("categoryName", getCategoryName()).append("targetvalue", getTargetvalue()).append("targetregex", getTargetregex()).append("optiondesc", getOptiondesc()).append("language", getLanguage()).append("version", getVersion()).append("groupid", getGroupid()).append("isabnormal", getIsabnormal()).append("warnup", getWarnup()).append("warndown", getWarndown()).append("delFlag", getDelFlag()).append("updateBy", getUpdateBy()).append("updateTime", getUpdateTime()).append("createBy", getCreateBy()).append("createTime", getCreateTime()).append("isupload", getIsupload()).append("uploadTime", getUploadTime()).append("orgid", getOrgid()).append("pid", getPid()).append("guid", getGuid()).toString();
diff --git a/smartor/src/main/java/com/smartor/domain/IvrLibaTemplate.java b/smartor/src/main/java/com/smartor/domain/IvrLibaTemplate.java
index 59b208d..0659c20 100644
--- a/smartor/src/main/java/com/smartor/domain/IvrLibaTemplate.java
+++ b/smartor/src/main/java/com/smartor/domain/IvrLibaTemplate.java
@@ -241,6 +241,13 @@
     private Long pid;
 
     /**
+     * 鏃犲尮閰嶆鏁�
+     */
+    @Excel(name = "鏃犲尮閰嶆鏁�")
+    @ApiModelProperty(value = "鏃犲尮閰嶆鏁�")
+    private Long mateNum;
+
+    /**
      * GUID
      */
     @Excel(name = "GUID")
@@ -305,4 +312,18 @@
     @ApiModelProperty(value = "鍏跺畠鏁版嵁锛堝瓨鍌ㄥ彉閲忥級")
     private String otherdata;
 
+    /**
+     * 闅忚鍓�
+     */
+    @Excel(name = "闅忚鍓�")
+    @ApiModelProperty(value = "闅忚鍓�")
+    private String revisitBefore;
+
+    /**
+     * 闅忚鍚�
+     */
+    @Excel(name = "闅忚鍚�")
+    @ApiModelProperty(value = "闅忚鍚�")
+    private String revisitAfter;
+
 }
diff --git a/smartor/src/main/java/com/smartor/domain/IvrLibaTemplateScript.java b/smartor/src/main/java/com/smartor/domain/IvrLibaTemplateScript.java
index d22e722..eaa6c19 100644
--- a/smartor/src/main/java/com/smartor/domain/IvrLibaTemplateScript.java
+++ b/smartor/src/main/java/com/smartor/domain/IvrLibaTemplateScript.java
@@ -203,6 +203,13 @@
     private String guid;
 
     /**
+     * 鏍囬
+     */
+    @Excel(name = "鏍囬")
+    @ApiModelProperty(value = "鏍囬")
+    private String questiontitle;
+
+    /**
      * 鏄惁瀛樺湪鎿嶄綔锛�1 鏂板 2淇敼 3鍒犻櫎
      */
     @ApiModelProperty(value = "鏄惁瀛樺湪鎿嶄綔锛�1 鏂板 2淇敼 3鍒犻櫎")
@@ -211,19 +218,19 @@
     /**
      * 鏄惁瀛樺湪鎿嶄綔锛�1 鏂板 2淇敼 3鍒犻櫎
      */
-    @ApiModelProperty(value = "鏄惁瀛樺湪鎿嶄綔锛�1 鏂板 2淇敼 3鍒犻櫎")
+    @ApiModelProperty(value = "鎸囨爣绫诲瀷")
     private Integer targettype;
 
     /**
      * 鏄惁瀛樺湪鎿嶄綔锛�1 鏂板 2淇敼 3鍒犻櫎
      */
-    @ApiModelProperty(value = "鏄惁瀛樺湪鎿嶄綔锛�1 鏂板 2淇敼 3鍒犻櫎")
+    @ApiModelProperty(value = "鎸囨爣ID")
     private Long targetid;
 
 
     /**
      * 鏄惁瀛樺湪鎿嶄綔锛�1 鏂板 2淇敼 3鍒犻櫎
      */
-    @ApiModelProperty(value = "鏄惁瀛樺湪鎿嶄綔锛�1 鏂板 2淇敼 3鍒犻櫎")
+    @ApiModelProperty(value = "鎸囨爣鍊�")
     private Integer targetvalue;
 }
diff --git a/smartor/src/main/java/com/smartor/domain/IvrLibaTemplateScriptVO.java b/smartor/src/main/java/com/smartor/domain/IvrLibaTemplateScriptVO.java
index 1dca3c4..1c2d09a 100644
--- a/smartor/src/main/java/com/smartor/domain/IvrLibaTemplateScriptVO.java
+++ b/smartor/src/main/java/com/smartor/domain/IvrLibaTemplateScriptVO.java
@@ -228,8 +228,15 @@
     private Integer targetValue;
 
     /**
+     * 鏍囬
+     */
+    @Excel(name = "鏍囬")
+    @ApiModelProperty(value = "鏍囬")
+    private String questiontitle;
+
+    /**
      * 璇濇湳閫夐」
      */
     @ApiModelProperty(value = "璇濇湳閫夐」")
-    private List<IvrLibaTemplateTargetoption> ivrLibaTemplateTargetoptionList = new ArrayList<>();
+    private List<IvrLibaTemplateTargetoption> ivrLibaScriptTargetoptionList = new ArrayList<>();
 }
diff --git a/smartor/src/main/java/com/smartor/domain/IvrLibaTemplateTag.java b/smartor/src/main/java/com/smartor/domain/IvrLibaTemplateTag.java
index d04f838..2fc7410 100644
--- a/smartor/src/main/java/com/smartor/domain/IvrLibaTemplateTag.java
+++ b/smartor/src/main/java/com/smartor/domain/IvrLibaTemplateTag.java
@@ -99,10 +99,10 @@
     private String guid;
 
     /**
-     * GUID
+     * 鏍囩鍚�
      */
-    @Excel(name = "GUID")
-    @ApiModelProperty(value = "GUID")
+    @Excel(name = "鏍囩鍚�")
+    @ApiModelProperty(value = "鏍囩鍚�")
     private String tagname;
 
     /**
diff --git a/smartor/src/main/java/com/smartor/domain/IvrLibaTemplateTargetoption.java b/smartor/src/main/java/com/smartor/domain/IvrLibaTemplateTargetoption.java
index 2855ff3..ec922fa 100644
--- a/smartor/src/main/java/com/smartor/domain/IvrLibaTemplateTargetoption.java
+++ b/smartor/src/main/java/com/smartor/domain/IvrLibaTemplateTargetoption.java
@@ -1,8 +1,11 @@
 package com.smartor.domain;
 
+import java.util.ArrayList;
 import java.util.Date;
+import java.util.List;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.google.gson.Gson;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -17,7 +20,6 @@
  * @author ruoyi
  * @date 2023-12-23
  */
-@Data
 @ApiModel(value = "IvrLibaTemplateTargetoption", description = "妯℃澘鎸囨爣閫夐」搴撳璞�")
 public class IvrLibaTemplateTargetoption extends BaseEntity {
     private static final long serialVersionUID = 1L;
@@ -68,7 +70,7 @@
      */
     @Excel(name = "绫诲埆鍚嶇О")
     @ApiModelProperty(value = "绫诲埆鍚嶇О")
-    private String categoryName;
+    private String categoryName = null;
 
     /**
      * 妯℃澘鎸囨爣鍊�
@@ -83,6 +85,27 @@
     @Excel(name = "妯℃澘鎸囨爣姝e垯")
     @ApiModelProperty(value = "妯℃澘鎸囨爣姝e垯")
     private String targetregex;
+
+    /**
+     * 妯℃澘鎸囨爣姝e垯
+     */
+    @Excel(name = "妯℃澘鎸囨爣姝e垯2")
+    @ApiModelProperty(value = "妯℃澘鎸囨爣姝e垯2")
+    private String targetregex2;
+
+    @Excel(name = "姝e垯鍏抽敭瀛楅泦鍚�(鍚�)")
+    private String nodynamiccruxsJson;
+
+    @Excel(name = "姝e垯鍏抽敭瀛楅泦鍚�(涓嶅惈)")
+    private String dynamiccruxsJson;
+
+    @ApiModelProperty(value = "姝e垯鍏抽敭瀛�(鍚�)")
+    @Excel(name = "姝e垯鍏抽敭瀛�(鍚�)")
+    private List<String> nodynamiccruxs = new ArrayList<>();
+
+    @ApiModelProperty(value = "姝e垯鍏抽敭瀛�(涓嶅惈)")
+    @Excel(name = "姝e垯鍏抽敭瀛�(涓嶅惈)")
+    private List<String> dynamiccruxs = new ArrayList<>();
 
     /**
      * 閫夐」鎻忚堪
@@ -180,4 +203,236 @@
      */
     @ApiModelProperty(value = "鏄惁瀛樺湪鎿嶄綔锛�1 鏂板 2淇敼 3鍒犻櫎")
     private Integer isoperation;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Long getTargetid() {
+        return targetid;
+    }
+
+    public void setTargetid(Long targetid) {
+        this.targetid = targetid;
+    }
+
+    public String getTargetname() {
+        return targetname;
+    }
+
+    public void setTargetname(String targetname) {
+        this.targetname = targetname;
+    }
+
+    public Long getTemplateID() {
+        return templateID;
+    }
+
+    public void setTemplateID(Long templateID) {
+        this.templateID = templateID;
+    }
+
+    public Long getScriptid() {
+        return scriptid;
+    }
+
+    public void setScriptid(Long scriptid) {
+        this.scriptid = scriptid;
+    }
+
+    public String getTargettype() {
+        return targettype;
+    }
+
+    public void setTargettype(String targettype) {
+        this.targettype = targettype;
+    }
+
+    public String getCategoryName() {
+        return categoryName;
+    }
+
+    public void setCategoryName(String categoryName) {
+        this.categoryName = categoryName;
+    }
+
+    public String getTargetvalue() {
+        return targetvalue;
+    }
+
+    public void setTargetvalue(String targetvalue) {
+        this.targetvalue = targetvalue;
+    }
+
+    public String getTargetregex() {
+        return targetregex;
+    }
+
+    public void setTargetregex(String targetregex) {
+        this.targetregex = targetregex;
+    }
+
+    public String getTargetregex2() {
+        return targetregex2;
+    }
+
+    public void setTargetregex2(String targetregex2) {
+        this.targetregex2 = targetregex2;
+    }
+
+    public String getNodynamiccruxsJson() {
+        return nodynamiccruxsJson;
+    }
+
+    public void setNodynamiccruxsJson(String nodynamiccruxsJson) {
+        if (this.nodynamiccruxs != null) {
+            this.nodynamiccruxsJson = new Gson().toJson(this.nodynamiccruxs);
+        } else {
+            this.nodynamiccruxsJson = nodynamiccruxsJson;
+        }
+    }
+
+    public String getDynamiccruxsJson() {
+        return dynamiccruxsJson;
+    }
+
+    public void setDynamiccruxsJson(String dynamiccruxsJson) {
+        if (this.dynamiccruxs != null) {
+            this.dynamiccruxsJson = new Gson().toJson(this.dynamiccruxs);
+        } else {
+            this.dynamiccruxsJson = dynamiccruxsJson;
+        }
+    }
+
+    public List<String> getNodynamiccruxs() {
+        return nodynamiccruxs;
+    }
+
+    public void setNodynamiccruxs(List<String> nodynamiccruxs) {
+        this.nodynamiccruxs = nodynamiccruxs;
+    }
+
+    public List<String> getDynamiccruxs() {
+        return dynamiccruxs;
+    }
+
+    public void setDynamiccruxs(List<String> dynamiccruxs) {
+        this.dynamiccruxs = dynamiccruxs;
+    }
+
+    public String getOptiondesc() {
+        return optiondesc;
+    }
+
+    public void setOptiondesc(String optiondesc) {
+        this.optiondesc = optiondesc;
+    }
+
+    public String getLanguage() {
+        return language;
+    }
+
+    public void setLanguage(String language) {
+        this.language = language;
+    }
+
+    public String getVersion() {
+        return version;
+    }
+
+    public void setVersion(String version) {
+        this.version = version;
+    }
+
+    public String getGroupid() {
+        return groupid;
+    }
+
+    public void setGroupid(String groupid) {
+        this.groupid = groupid;
+    }
+
+    public Long getIsabnormal() {
+        return isabnormal;
+    }
+
+    public void setIsabnormal(Long isabnormal) {
+        this.isabnormal = isabnormal;
+    }
+
+    public Long getWarnup() {
+        return warnup;
+    }
+
+    public void setWarnup(Long warnup) {
+        this.warnup = warnup;
+    }
+
+    public Long getWarndown() {
+        return warndown;
+    }
+
+    public void setWarndown(Long warndown) {
+        this.warndown = warndown;
+    }
+
+    public String getDelFlag() {
+        return delFlag;
+    }
+
+    public void setDelFlag(String delFlag) {
+        this.delFlag = delFlag;
+    }
+
+    public Long getIsupload() {
+        return isupload;
+    }
+
+    public void setIsupload(Long isupload) {
+        this.isupload = isupload;
+    }
+
+    public Date getUploadTime() {
+        return uploadTime;
+    }
+
+    public void setUploadTime(Date uploadTime) {
+        this.uploadTime = uploadTime;
+    }
+
+    public String getOrgid() {
+        return orgid;
+    }
+
+    public void setOrgid(String orgid) {
+        this.orgid = orgid;
+    }
+
+    public Long getPid() {
+        return pid;
+    }
+
+    public void setPid(Long pid) {
+        this.pid = pid;
+    }
+
+    public String getGuid() {
+        return guid;
+    }
+
+    public void setGuid(String guid) {
+        this.guid = guid;
+    }
+
+    public Integer getIsoperation() {
+        return isoperation;
+    }
+
+    public void setIsoperation(Integer isoperation) {
+        this.isoperation = isoperation;
+    }
 }
diff --git a/smartor/src/main/java/com/smartor/domain/IvrLibaTemplateVO.java b/smartor/src/main/java/com/smartor/domain/IvrLibaTemplateVO.java
index f838079..40b3849 100644
--- a/smartor/src/main/java/com/smartor/domain/IvrLibaTemplateVO.java
+++ b/smartor/src/main/java/com/smartor/domain/IvrLibaTemplateVO.java
@@ -241,6 +241,13 @@
     private Long pid;
 
     /**
+     * 鏃犲尮閰嶆鏁�
+     */
+    @Excel(name = "鏃犲尮閰嶆鏁�")
+    @ApiModelProperty(value = "鏃犲尮閰嶆鏁�")
+    private Long mateNum;
+
+    /**
      * GUID
      */
     @Excel(name = "GUID")
@@ -290,6 +297,20 @@
     private String tag;
 
     /**
+     * 闅忚鍓�
+     */
+    @Excel(name = "闅忚鍓�")
+    @ApiModelProperty(value = "闅忚鍓�")
+    private String revisitBefore;
+
+    /**
+     * 闅忚鍚�
+     */
+    @Excel(name = "闅忚鍚�")
+    @ApiModelProperty(value = "闅忚鍚�")
+    private String revisitAfter;
+
+    /**
      * 閫傜敤鏂瑰紡锛氳皟鏌ヨ〃1锛屾櫤鑳借闊�2銆佷汉宸�3
      */
     @Excel(name = "閫傜敤鏂瑰紡锛氳皟鏌ヨ〃1锛屾櫤鑳借闊�2銆佷汉宸�3")
diff --git a/smartor/src/main/java/com/smartor/domain/IvrTaskcall.java b/smartor/src/main/java/com/smartor/domain/IvrTaskcall.java
index 8adcc21..031237d 100644
--- a/smartor/src/main/java/com/smartor/domain/IvrTaskcall.java
+++ b/smartor/src/main/java/com/smartor/domain/IvrTaskcall.java
@@ -1,571 +1,356 @@
 package com.smartor.domain;
 
 import java.util.Date;
+
 import com.fasterxml.jackson.annotation.JsonFormat;
-import net.sf.jsqlparser.expression.DateTimeLiteralExpression;
+import io.swagger.annotations.ApiModelProperty;
+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;
 
 /**
- * 璇煶浠诲姟鍛煎彨瀵硅薄 ivr_taskcall
- * 
- * @author smartor
- * @date 2023-03-24
+ * 鍗曚竴浠诲姟锛堥殢璁匡級瀵硅薄 ivr_taskcall
+ *
+ * @author ruoyi
+ * @date 2024-02-02
  */
-public class IvrTaskcall extends BaseEntity
-{
+@Data
+public class IvrTaskcall extends BaseEntity {
+    @ApiModelProperty(value = "鎷夊彇鏃堕棿")
     private static final long serialVersionUID = 1L;
 
-    /**    */
-    private Long callid;
+    /**
+     *
+     */
+    @ApiModelProperty(value = "涓婚敭")
+    private Long id;
 
-    /**  鍙戦�佷汉  */
-    @Excel(name = " 鍙戦�佷汉 ")
+    /**
+     * 鍙戦�佷汉
+     */
+    @Excel(name = " 鍙戦�佷汉锛堟偅鑰咃級 ")
+    @ApiModelProperty(value = "鍙戦�佷汉锛堟偅鑰咃級")
     private String sendname;
 
-    /**  鎵嬫満鍙�  */
+    /**
+     * 鎵嬫満鍙�
+     */
     @Excel(name = " 鎵嬫満鍙� ")
+    @ApiModelProperty(value = "鎵嬫満鍙�")
     private String phone;
 
-    /**    */
-    @Excel(name = "  ")
+    /**
+     * 鎬у埆
+     */
+    @Excel(name = "  鎬у埆")
+    @ApiModelProperty(value = "鎬у埆")
     private String sex;
 
-    /**  骞撮緞  */
+    /**
+     * 骞撮緞
+     */
     @Excel(name = " 骞撮緞 ")
+    @ApiModelProperty(value = "骞撮緞")
     private Long age;
 
-    /**  韬唤璇佸彿  */
+    /**
+     * 韬唤璇佸彿
+     */
     @Excel(name = " 韬唤璇佸彿 ")
+    @ApiModelProperty(value = "韬唤璇佸彿")
     private String sfzh;
 
-    /**  鍦板潃  */
+    /**
+     * 鍦板潃
+     */
     @Excel(name = " 鍦板潃 ")
+    @ApiModelProperty(value = "鍦板潃")
     private String addr;
 
-    /**    */
-    @Excel(name = "  ")
+    /**
+     * 鍙戦�佷汉璇︽儏
+     */
+    @Excel(name = "  鍙戦�佷汉璇︽儏")
+    @ApiModelProperty(value = "鍙戦�佷汉璇︽儏")
     private String senderdetail;
 
-    /**    */
-    @Excel(name = "  ")
-    private String inserttype;
+    /**
+     * 浠诲姟绫诲瀷(闂ㄨ瘖锛屼綇闄紝澶嶈瘖鈥�)
+     */
+    @Excel(name = "浠诲姟绫诲瀷(闂ㄨ瘖锛屼綇闄紝澶嶈瘖鈥�)")
+    @ApiModelProperty(value = "浠诲姟绫诲瀷(闂ㄨ瘖锛屼綇闄紝澶嶈瘖鈥�)")
+    private String type;
 
-    /**  浠诲姟ID  */
-    @Excel(name = " 浠诲姟ID ")
-    private Long taskid;
 
-    /**    */
-    @Excel(name = "  ")
+    /**
+     * 妯℃澘ID
+     */
+    @Excel(name = "  妯℃澘ID")
+    @ApiModelProperty(value = "妯℃澘ID")
     private String templateid;
 
-    /**  妯℃澘鍚�  */
+    /**
+     * 妯℃澘鍚�
+     */
     @Excel(name = " 妯℃澘鍚� ")
+    @ApiModelProperty(value = "鎷夊彇鏃堕棿")
     private String templatename;
 
-    /**  鍙戦�佹棩鏈�  */
+    /**
+     * 鍙戦�佹棩鏈�
+     */
     @JsonFormat(pattern = "yyyy-MM-dd")
     @Excel(name = " 鍙戦�佹棩鏈� ", width = 30, dateFormat = "yyyy-MM-dd")
+    @ApiModelProperty(value = "鍙戦�佹棩鏈�")
     private Date senddate;
 
-    /**  涓婂崍寮�濮嬪彂閫佹椂闂撮檺鍒�  */
+    /**
+     * 涓婂崍寮�濮嬪彂閫佹椂闂撮檺鍒�
+     */
     @Excel(name = " 涓婂崍寮�濮嬪彂閫佹椂闂撮檺鍒� ")
+    @ApiModelProperty(value = "涓婂崍寮�濮嬪彂閫佹椂闂撮檺鍒�")
     private String sendlimitabegin;
 
-    /**  涓婂崍缁撴潫鍙戦�佹椂闂撮檺鍒�  */
+    /**
+     * 涓婂崍缁撴潫鍙戦�佹椂闂撮檺鍒�
+     */
     @Excel(name = " 涓婂崍缁撴潫鍙戦�佹椂闂撮檺鍒� ")
+    @ApiModelProperty(value = "涓婂崍缁撴潫鍙戦�佹椂闂撮檺鍒�")
     private String sendlimitaend;
 
-    /**  涓嬪崍寮�濮嬪彂閫佹椂闂撮檺鍒�  */
+    /**
+     * 涓嬪崍寮�濮嬪彂閫佹椂闂撮檺鍒�
+     */
     @Excel(name = " 涓嬪崍寮�濮嬪彂閫佹椂闂撮檺鍒� ")
+    @ApiModelProperty(value = "涓嬪崍寮�濮嬪彂閫佹椂闂撮檺鍒�")
     private String sendlimitpbegin;
 
-    /**  涓嬪崍缁撴潫鍙戦�佹椂闂撮檺鍒�  */
+    /**
+     * 涓嬪崍缁撴潫鍙戦�佹椂闂撮檺鍒�
+     */
     @Excel(name = " 涓嬪崍缁撴潫鍙戦�佹椂闂撮檺鍒� ")
+    @ApiModelProperty(value = "涓嬪崍缁撴潫鍙戦�佹椂闂撮檺鍒�")
     private String sendlimitpend;
 
-    /**  鏅氫笂寮�濮嬪彂閫佹椂闂撮檺鍒�  */
+    /**
+     * 鏅氫笂寮�濮嬪彂閫佹椂闂撮檺鍒�
+     */
     @Excel(name = " 鏅氫笂寮�濮嬪彂閫佹椂闂撮檺鍒� ")
+    @ApiModelProperty(value = "鏅氫笂寮�濮嬪彂閫佹椂闂撮檺鍒�")
     private String sendlimitnbegin;
 
-    /**  鏅氫笂缁撴潫鍙戦�佹椂闂撮檺鍒�  */
+    /**
+     * 鏅氫笂缁撴潫鍙戦�佹椂闂撮檺鍒�
+     */
     @Excel(name = " 鏅氫笂缁撴潫鍙戦�佹椂闂撮檺鍒� ")
+    @ApiModelProperty(value = "鏅氫笂缁撴潫鍙戦�佹椂闂撮檺鍒�")
     private String sendlimitnend;
 
-    /**  鍙戦�佺姸鎬�  */
+    /**
+     * 鍙戦�佺姸鎬�
+     */
     @Excel(name = " 鍙戦�佺姸鎬� ")
+    @ApiModelProperty(value = "鍙戦�佺姸鎬�")
     private Long sendstate;
 
-    /**  鍙戦�乁UID  */
+    /**
+     * 鍙戦�乁UID
+     */
     @Excel(name = " 鍙戦�乁UID ")
+    @ApiModelProperty(value = "鍙戦�乁UID")
     private String senduuid;
 
-    /**  缁撴灉  */
+    /**
+     * 缁撴灉
+     */
     @Excel(name = " 缁撴灉 ")
+    @ApiModelProperty(value = "缁撴灉")
     private String result;
 
-    /**  瀹屾垚鏃堕棿  */
+    /**
+     * 瀹屾垚鏃堕棿
+     */
     @JsonFormat(pattern = "yyyy-MM-dd")
     @Excel(name = " 瀹屾垚鏃堕棿 ", width = 30, dateFormat = "yyyy-MM-dd")
+    @ApiModelProperty(value = "瀹屾垚鏃堕棿")
     private Date finishtime;
 
-    /**  鐢ㄦ埛ID  */
+    /**
+     * 鐢ㄦ埛ID
+     */
     @Excel(name = " 鐢ㄦ埛ID ")
+    @ApiModelProperty(value = "鐢ㄦ埛ID")
     private String userid;
 
-    /**  鐢ㄦ埛鍚�  */
+    /**
+     * 鐢ㄦ埛鍚�
+     */
     @Excel(name = " 鐢ㄦ埛鍚� ")
+    @ApiModelProperty(value = "鐢ㄦ埛鍚�")
     private String username;
 
-    /**  娣诲姞鏃堕棿  */
-    @JsonFormat(pattern = "yyyy-MM-dd")
-    @Excel(name = " 娣诲姞鏃堕棿 ", width = 30, dateFormat = "yyyy-MM-dd")
-    private Date addtime;
-
-    /**    */
-    @Excel(name = "  ")
+    /**
+     *
+     */
+    @Excel(name = " outbounduuid ")
+    @ApiModelProperty(value = "outbounduuid")
     private String outbounduuid;
 
-    /**  灏辫瘖璁板綍缂栧彿  */
+    /**
+     * 灏辫瘖璁板綍缂栧彿
+     */
     @Excel(name = " 灏辫瘖璁板綍缂栧彿 ")
+    @ApiModelProperty(value = "灏辫瘖璁板綍缂栧彿")
     private Long recordid;
 
-    /**  閲嶆嫧鎬绘暟  */
+    /**
+     * 閲嶆嫧鎬绘暟
+     */
     @Excel(name = " 閲嶆嫧鎬绘暟 ")
+    @ApiModelProperty(value = "閲嶆嫧鎬绘暟")
     private Long recallcount;
 
-    /**  褰撳墠閲嶆嫧娆℃暟  */
+    /**
+     * 褰撳墠閲嶆嫧娆℃暟
+     */
     @Excel(name = " 褰撳墠閲嶆嫧娆℃暟 ")
+    @ApiModelProperty(value = "褰撳墠閲嶆嫧娆℃暟")
     private Long exrecallcount;
 
-    /**  鎷夊彇鏃堕棿  */
+    /**
+     * 鎷夊彇鏃堕棿
+     */
     @JsonFormat(pattern = "yyyy-MM-dd")
     @Excel(name = " 鎷夊彇鏃堕棿 ", width = 30, dateFormat = "yyyy-MM-dd")
+    @ApiModelProperty(value = "鎷夊彇鏃堕棿")
     private Date pulltime;
 
-    /**    */
-    @Excel(name = "  ")
+    /**
+     * bqsms
+     */
+    @Excel(name = " bqsms ")
+    @ApiModelProperty(value = "bqsms")
     private Long bqsms;
 
-    /**    */
-    @Excel(name = "  ")
+    /**
+     * bhsms
+     */
+    @Excel(name = " bhsms ")
+    @ApiModelProperty(value = "bhsms")
     private Long bhsms;
 
-    /**    */
-    @Excel(name = "  ")
+    /**
+     * 閮ㄩ棬code
+     */
+    @Excel(name = "  閮ㄩ棬code")
+    @ApiModelProperty(value = "閮ㄩ棬code")
     private String deptcode;
 
-    /**    */
-    @Excel(name = "  ")
+    /**
+     * 鏍囩鐘舵��
+     */
+    @Excel(name = "  鏍囩鐘舵��")
+    @ApiModelProperty(value = "鏍囩鐘舵��")
     private Long labelstatus;
 
-    /**  鍒犻櫎鏍囪  */
+    /**
+     * 鍒犻櫎鏍囪
+     */
+    @ApiModelProperty(value = "鍒犻櫎鏍囪")
     private String delFlag;
 
-    /**  涓婁紶鏍囪  */
+    /**
+     * 涓婁紶鏍囪
+     */
     @Excel(name = " 涓婁紶鏍囪 ")
+    @ApiModelProperty(value = "涓婁紶鏍囪")
     private Long isupload;
 
-    /**  涓婁紶鏃堕棿  */
+    /**
+     * 涓婁紶鏃堕棿
+     */
     @JsonFormat(pattern = "yyyy-MM-dd")
     @Excel(name = " 涓婁紶鏃堕棿 ", width = 30, dateFormat = "yyyy-MM-dd")
+    @ApiModelProperty(value = "涓婁紶鏃堕棿")
     private Date uploadTime;
 
-    /**  鏈烘瀯ID  */
+    /**
+     * 鏈烘瀯ID
+     */
     @Excel(name = " 鏈烘瀯ID ")
+    @ApiModelProperty(value = "鏈烘瀯ID")
     private String orgid;
 
-    public void setCallid(Long callid) 
-    {
-        this.callid = callid;
-    }
+    /**
+     * 鐖禝D
+     */
+    @Excel(name = "鐖禝D")
+    @ApiModelProperty(value = "鐖禝D")
+    private Long pid;
 
-    public Long getCallid() 
-    {
-        return callid;
-    }
-    public void setSendname(String sendname) 
-    {
-        this.sendname = sendname;
-    }
+    /**
+     * GUID
+     */
+    @Excel(name = "GUID")
+    @ApiModelProperty(value = "GUID")
+    private String guid;
 
-    public String getSendname() 
-    {
-        return sendname;
-    }
-    public void setPhone(String phone) 
-    {
-        this.phone = phone;
-    }
+    /**
+     * 鏂囨湰鍙橀噺鍙傛暟
+     */
+    @Excel(name = "鏂囨湰鍙橀噺鍙傛暟")
+    @ApiModelProperty(value = "鏂囨湰鍙橀噺鍙傛暟")
+    private String textParam;
 
-    public String getPhone() 
-    {
-        return phone;
-    }
-    public void setSex(String sex) 
-    {
-        this.sex = sex;
-    }
+    /**
+     * 瀹f暀褰㈠紡 :鏂囨湰銆佸浘鐗囥�佽闊炽�佽棰戙�佹贩鍚�
+     */
+    @Excel(name = " 瀹f暀褰㈠紡 :鏂囨湰銆佸浘鐗囥�佽闊炽�佽棰戙�佹贩鍚�")
+    @ApiModelProperty("瀹f暀褰㈠紡 : 1,鏂囨湰銆�2,鍥剧墖銆�3,璇煶銆�4,瑙嗛銆�5,娣峰悎")
+    private String serviceform;
 
-    public String getSex() 
-    {
-        return sex;
-    }
-    public void setAge(Long age) 
-    {
-        this.age = age;
-    }
+    /**
+     * 搴婂彿
+     */
+    @Excel(name = "搴婂彿")
+    @ApiModelProperty(value = "搴婂彿")
+    private Long badNo;
 
-    public Long getAge() 
-    {
-        return age;
-    }
-    public void setSfzh(String sfzh) 
-    {
-        this.sfzh = sfzh;
-    }
+    /**
+     * 鐤剧梾鍚嶇О
+     */
+    @Excel(name = "鐤剧梾鍚嶇О")
+    @ApiModelProperty(value = "鐤剧梾鍚嶇О")
+    private String icdName;
 
-    public String getSfzh() 
-    {
-        return sfzh;
-    }
-    public void setAddr(String addr) 
-    {
-        this.addr = addr;
-    }
+    /**
+     * 鐥呭巻鍙�
+     */
+    @Excel(name = "鐥呭巻鍙�")
+    @ApiModelProperty(value = "鐥呭巻鍙�")
+    private String medicalRecordNo;
 
-    public String getAddr() 
-    {
-        return addr;
-    }
-    public void setSenderdetail(String senderdetail) 
-    {
-        this.senderdetail = senderdetail;
-    }
+    /**
+     * 瀹f暀鍐呭
+     */
+    @Excel(name = "瀹f暀鍐呭")
+    @ApiModelProperty(value = "瀹f暀鍐呭")
+    private String preachcontent;
 
-    public String getSenderdetail() 
-    {
-        return senderdetail;
-    }
-    public void setInserttype(String inserttype) 
-    {
-        this.inserttype = inserttype;
-    }
+    /**
+     * pageNum
+     */
+    @Excel(name = "pageNum")
+    @ApiModelProperty(value = "pageNum")
+    private Integer pageNum;
 
-    public String getInserttype() 
-    {
-        return inserttype;
-    }
-    public void setTaskid(Long taskid) 
-    {
-        this.taskid = taskid;
-    }
+    /**
+     * pageSize
+     */
+    @Excel(name = "pageSize")
+    @ApiModelProperty(value = "pageSize")
+    private Integer pageSize;
 
-    public Long getTaskid() 
-    {
-        return taskid;
-    }
-    public void setTemplateid(String templateid) 
-    {
-        this.templateid = templateid;
-    }
-
-    public String getTemplateid() 
-    {
-        return templateid;
-    }
-    public void setTemplatename(String templatename) 
-    {
-        this.templatename = templatename;
-    }
-
-    public String getTemplatename() 
-    {
-        return templatename;
-    }
-    public void setSenddate(Date senddate) 
-    {
-        this.senddate = senddate;
-    }
-
-    public Date getSenddate() 
-    {
-        return senddate;
-    }
-    public void setSendlimitabegin(String sendlimitabegin) 
-    {
-        this.sendlimitabegin = sendlimitabegin;
-    }
-
-    public String getSendlimitabegin() 
-    {
-        return sendlimitabegin;
-    }
-    public void setSendlimitaend(String sendlimitaend) 
-    {
-        this.sendlimitaend = sendlimitaend;
-    }
-
-    public String getSendlimitaend() 
-    {
-        return sendlimitaend;
-    }
-    public void setSendlimitpbegin(String sendlimitpbegin) 
-    {
-        this.sendlimitpbegin = sendlimitpbegin;
-    }
-
-    public String getSendlimitpbegin() 
-    {
-        return sendlimitpbegin;
-    }
-    public void setSendlimitpend(String sendlimitpend) 
-    {
-        this.sendlimitpend = sendlimitpend;
-    }
-
-    public String getSendlimitpend() 
-    {
-        return sendlimitpend;
-    }
-    public void setSendlimitnbegin(String sendlimitnbegin) 
-    {
-        this.sendlimitnbegin = sendlimitnbegin;
-    }
-
-    public String getSendlimitnbegin() 
-    {
-        return sendlimitnbegin;
-    }
-    public void setSendlimitnend(String sendlimitnend) 
-    {
-        this.sendlimitnend = sendlimitnend;
-    }
-
-    public String getSendlimitnend() 
-    {
-        return sendlimitnend;
-    }
-    public void setSendstate(Long sendstate) 
-    {
-        this.sendstate = sendstate;
-    }
-
-    public Long getSendstate() 
-    {
-        return sendstate;
-    }
-    public void setSenduuid(String senduuid) 
-    {
-        this.senduuid = senduuid;
-    }
-
-    public String getSenduuid() 
-    {
-        return senduuid;
-    }
-    public void setResult(String result) 
-    {
-        this.result = result;
-    }
-
-    public String getResult() 
-    {
-        return result;
-    }
-    public void setFinishtime(Date finishtime) 
-    {
-        this.finishtime = finishtime;
-    }
-
-    public Date getFinishtime() 
-    {
-        return finishtime;
-    }
-    public void setUserid(String userid) 
-    {
-        this.userid = userid;
-    }
-
-    public String getUserid() 
-    {
-        return userid;
-    }
-    public void setUsername(String username) 
-    {
-        this.username = username;
-    }
-
-    public String getUsername() 
-    {
-        return username;
-    }
-
-    public void setOutbounduuid(String outbounduuid) 
-    {
-        this.outbounduuid = outbounduuid;
-    }
-
-    public String getOutbounduuid() 
-    {
-        return outbounduuid;
-    }
-    public void setRecordid(Long recordid) 
-    {
-        this.recordid = recordid;
-    }
-
-    public Long getRecordid() 
-    {
-        return recordid;
-    }
-    public void setRecallcount(Long recallcount) 
-    {
-        this.recallcount = recallcount;
-    }
-
-    public Long getRecallcount() 
-    {
-        return recallcount;
-    }
-    public void setExrecallcount(Long exrecallcount) 
-    {
-        this.exrecallcount = exrecallcount;
-    }
-
-    public Long getExrecallcount() 
-    {
-        return exrecallcount;
-    }
-    public void setPulltime(Date pulltime) 
-    {
-        this.pulltime = pulltime;
-    }
-
-    public Date getPulltime() 
-    {
-        return pulltime;
-    }
-    public void setBqsms(Long bqsms) 
-    {
-        this.bqsms = bqsms;
-    }
-
-    public Long getBqsms() 
-    {
-        return bqsms;
-    }
-    public void setBhsms(Long bhsms) 
-    {
-        this.bhsms = bhsms;
-    }
-
-    public Long getBhsms() 
-    {
-        return bhsms;
-    }
-    public void setDeptcode(String deptcode) 
-    {
-        this.deptcode = deptcode;
-    }
-
-    public String getDeptcode() 
-    {
-        return deptcode;
-    }
-    public void setLabelstatus(Long labelstatus) 
-    {
-        this.labelstatus = labelstatus;
-    }
-
-    public Long getLabelstatus() 
-    {
-        return labelstatus;
-    }
-    public void setDelFlag(String delFlag) 
-    {
-        this.delFlag = delFlag;
-    }
-
-    public String getDelFlag() 
-    {
-        return delFlag;
-    }
-    public void setIsupload(Long isupload) 
-    {
-        this.isupload = isupload;
-    }
-
-    public Long getIsupload() 
-    {
-        return isupload;
-    }
-    public void setUploadTime(Date uploadTime) 
-    {
-        this.uploadTime = uploadTime;
-    }
-
-    public Date getUploadTime() 
-    {
-        return uploadTime;
-    }
-    public void setOrgid(String orgid) 
-    {
-        this.orgid = orgid;
-    }
-
-    public String getOrgid() 
-    {
-        return orgid;
-    }
-
-    @Override
-    public String toString() {
-        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
-            .append("callid", getCallid())
-            .append("sendname", getSendname())
-            .append("phone", getPhone())
-            .append("sex", getSex())
-            .append("age", getAge())
-            .append("sfzh", getSfzh())
-            .append("addr", getAddr())
-            .append("senderdetail", getSenderdetail())
-            .append("inserttype", getInserttype())
-            .append("taskid", getTaskid())
-            .append("templateid", getTemplateid())
-            .append("templatename", getTemplatename())
-            .append("senddate", getSenddate())
-            .append("sendlimitabegin", getSendlimitabegin())
-            .append("sendlimitaend", getSendlimitaend())
-            .append("sendlimitpbegin", getSendlimitpbegin())
-            .append("sendlimitpend", getSendlimitpend())
-            .append("sendlimitnbegin", getSendlimitnbegin())
-            .append("sendlimitnend", getSendlimitnend())
-            .append("sendstate", getSendstate())
-            .append("senduuid", getSenduuid())
-            .append("result", getResult())
-            .append("finishtime", getFinishtime())
-            .append("userid", getUserid())
-            .append("username", getUsername())
-            .append("outbounduuid", getOutbounduuid())
-            .append("recordid", getRecordid())
-            .append("recallcount", getRecallcount())
-            .append("exrecallcount", getExrecallcount())
-            .append("pulltime", getPulltime())
-            .append("bqsms", getBqsms())
-            .append("bhsms", getBhsms())
-            .append("deptcode", getDeptcode())
-            .append("labelstatus", getLabelstatus())
-            .append("delFlag", getDelFlag())
-            .append("updateBy", getUpdateBy())
-            .append("updateTime", getUpdateTime())
-            .append("createBy", getCreateBy())
-            .append("createTime", getCreateTime())
-            .append("isupload", getIsupload())
-            .append("uploadTime", getUploadTime())
-            .append("orgid", getOrgid())
-            .toString();
-    }
 }
diff --git a/smartor/src/main/java/com/smartor/domain/IvrTaskcallVO.java b/smartor/src/main/java/com/smartor/domain/IvrTaskcallVO.java
new file mode 100644
index 0000000..08ffa1e
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/domain/IvrTaskcallVO.java
@@ -0,0 +1,368 @@
+package com.smartor.domain;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 鍗曚竴浠诲姟锛堥殢璁匡級瀵硅薄 ivr_taskcall
+ *
+ * @author ruoyi
+ * @date 2024-02-02
+ */
+@Data
+public class IvrTaskcallVO extends BaseEntity {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     *
+     */
+    @ApiModelProperty(value = "涓婚敭id")
+    private Long id;
+
+    /**
+     * 鍙戦�佷汉
+     */
+    @Excel(name = " 鍙戦�佷汉 ")
+    @ApiModelProperty(value = "鍙戦�佷汉")
+    private String sendname;
+
+    /**
+     * 鎵嬫満鍙�
+     */
+    @Excel(name = " 鎵嬫満鍙� ")
+    @ApiModelProperty(value = "鎵嬫満鍙�")
+    private String phone;
+
+    /**
+     * 鎬у埆
+     */
+    @Excel(name = "  鎬у埆")
+    @ApiModelProperty(value = "鎬у埆")
+    private String sex;
+
+    /**
+     * 骞撮緞
+     */
+    @Excel(name = " 骞撮緞 ")
+    @ApiModelProperty(value = "骞撮緞")
+    private Long age;
+
+    /**
+     * 韬唤璇佸彿
+     */
+    @Excel(name = " 韬唤璇佸彿 ")
+    @ApiModelProperty(value = "韬唤璇佸彿")
+    private String sfzh;
+
+    /**
+     * 鍦板潃
+     */
+    @Excel(name = " 鍦板潃 ")
+    @ApiModelProperty(value = "鍦板潃")
+    private String addr;
+
+    /**
+     * 鍙戦�佷汉璇︽儏
+     */
+    @Excel(name = "  鍙戦�佷汉璇︽儏")
+    @ApiModelProperty(value = "鍙戦�佷汉璇︽儏")
+    private String senderdetail;
+
+    /**
+     * 浠诲姟绫诲瀷(闂ㄨ瘖锛屼綇闄紝澶嶈瘖鈥�)
+     */
+    @Excel(name = "浠诲姟绫诲瀷(闂ㄨ瘖锛屼綇闄紝澶嶈瘖鈥�)")
+    @ApiModelProperty(value = "浠诲姟绫诲瀷(闂ㄨ瘖锛屼綇闄紝澶嶈瘖鈥�)")
+    private String type;
+
+    /**
+     * 浠诲姟ID
+     */
+    @Excel(name = " 浠诲姟ID ")
+    @ApiModelProperty(value = "浠诲姟ID")
+    private Long taskid;
+
+    /**
+     * 妯℃澘ID
+     */
+    @Excel(name = "  妯℃澘ID")
+    @ApiModelProperty(value = "妯℃澘ID")
+    private String templateid;
+
+    /**
+     * 妯℃澘鍚�
+     */
+    @Excel(name = " 妯℃澘鍚� ")
+    @ApiModelProperty(value = "妯℃澘鍚�")
+    private String templatename;
+
+    /**
+     * 鍙戦�佹棩鏈�
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = " 鍙戦�佹棩鏈� ", width = 30, dateFormat = "yyyy-MM-dd")
+    @ApiModelProperty(value = "鍙戦�佹棩鏈�")
+    private Date senddate;
+
+    /**
+     * 涓婂崍寮�濮嬪彂閫佹椂闂撮檺鍒�
+     */
+    @Excel(name = " 涓婂崍寮�濮嬪彂閫佹椂闂撮檺鍒� ")
+    @ApiModelProperty(value = "涓婂崍寮�濮嬪彂閫佹椂闂撮檺鍒�")
+    private String sendlimitabegin;
+
+    /**
+     * 涓婂崍缁撴潫鍙戦�佹椂闂撮檺鍒�
+     */
+    @Excel(name = " 涓婂崍缁撴潫鍙戦�佹椂闂撮檺鍒� ")
+    @ApiModelProperty(value = "涓婂崍缁撴潫鍙戦�佹椂闂撮檺鍒�")
+    private String sendlimitaend;
+
+    /**
+     * 涓嬪崍寮�濮嬪彂閫佹椂闂撮檺鍒�
+     */
+    @Excel(name = " 涓嬪崍寮�濮嬪彂閫佹椂闂撮檺鍒� ")
+    @ApiModelProperty(value = "涓嬪崍寮�濮嬪彂閫佹椂闂撮檺鍒�")
+    private String sendlimitpbegin;
+
+    /**
+     * 涓嬪崍缁撴潫鍙戦�佹椂闂撮檺鍒�
+     */
+    @Excel(name = " 涓嬪崍缁撴潫鍙戦�佹椂闂撮檺鍒� ")
+    @ApiModelProperty(value = "涓嬪崍缁撴潫鍙戦�佹椂闂撮檺鍒�")
+    private String sendlimitpend;
+
+    /**
+     * 鏅氫笂寮�濮嬪彂閫佹椂闂撮檺鍒�
+     */
+    @Excel(name = " 鏅氫笂寮�濮嬪彂閫佹椂闂撮檺鍒� ")
+    @ApiModelProperty(value = "鏅氫笂寮�濮嬪彂閫佹椂闂撮檺鍒�")
+    private String sendlimitnbegin;
+
+    /**
+     * 鏅氫笂缁撴潫鍙戦�佹椂闂撮檺鍒�
+     */
+    @Excel(name = " 鏅氫笂缁撴潫鍙戦�佹椂闂撮檺鍒� ")
+    @ApiModelProperty(value = "鏅氫笂缁撴潫鍙戦�佹椂闂撮檺鍒�")
+    private String sendlimitnend;
+
+    /**
+     * 鍙戦�佺姸鎬�
+     */
+    @Excel(name = " 鍙戦�佺姸鎬� ")
+    @ApiModelProperty(value = "鍙戦�佺姸鎬�")
+    private Long sendstate;
+
+    /**
+     * 鍙戦�乁UID
+     */
+    @Excel(name = " 鍙戦�乁UID ")
+    @ApiModelProperty(value = "鍙戦�乁UID")
+    private String senduuid;
+
+    /**
+     * 缁撴灉
+     */
+    @Excel(name = " 缁撴灉 ")
+    @ApiModelProperty(value = "缁撴灉")
+    private String result;
+
+    /**
+     * 瀹屾垚鏃堕棿
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = " 瀹屾垚鏃堕棿 ", width = 30, dateFormat = "yyyy-MM-dd")
+    @ApiModelProperty(value = "瀹屾垚鏃堕棿")
+    private Date finishtime;
+
+    /**
+     * 鐢ㄦ埛ID
+     */
+    @Excel(name = " 鐢ㄦ埛ID ")
+    @ApiModelProperty(value = "鐢ㄦ埛ID")
+    private String userid;
+
+    /**
+     * 鐢ㄦ埛鍚�
+     */
+    @Excel(name = " 鐢ㄦ埛鍚� ")
+    @ApiModelProperty(value = "鐢ㄦ埛鍚�")
+    private String username;
+
+    /**
+     * outbounduuid
+     */
+    @Excel(name = " outbounduuid ")
+    @ApiModelProperty(value = "outbounduuid")
+    private String outbounduuid;
+
+    /**
+     * 灏辫瘖璁板綍缂栧彿
+     */
+    @Excel(name = " 灏辫瘖璁板綍缂栧彿 ")
+    @ApiModelProperty(value = "灏辫瘖璁板綍缂栧彿")
+    private Long recordid;
+
+    /**
+     * 閲嶆嫧鎬绘暟
+     */
+    @Excel(name = " 閲嶆嫧鎬绘暟 ")
+    @ApiModelProperty(value = "閲嶆嫧鎬绘暟")
+    private Long recallcount;
+
+    /**
+     * 褰撳墠閲嶆嫧娆℃暟
+     */
+    @Excel(name = " 褰撳墠閲嶆嫧娆℃暟 ")
+    @ApiModelProperty(value = "褰撳墠閲嶆嫧娆℃暟")
+    private Long exrecallcount;
+
+    /**
+     * 鎷夊彇鏃堕棿
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = " 鎷夊彇鏃堕棿 ", width = 30, dateFormat = "yyyy-MM-dd")
+    @ApiModelProperty(value = "鎷夊彇鏃堕棿")
+    private Date pulltime;
+
+    /**
+     *
+     */
+    @Excel(name = " bqsms ")
+    @ApiModelProperty(value = "bqsms")
+    private Long bqsms;
+
+    /**
+     * bhsms
+     */
+    @Excel(name = " bhsms ")
+    @ApiModelProperty(value = "bhsms")
+    private Long bhsms;
+
+    /**
+     * 閮ㄩ棬code
+     */
+    @Excel(name = "  閮ㄩ棬code")
+    @ApiModelProperty(value = "閮ㄩ棬code")
+    private String deptcode;
+
+    /**
+     * 鏍囩鐘舵��
+     */
+    @Excel(name = "  鏍囩鐘舵��")
+    @ApiModelProperty(value = "鏍囩鐘舵��")
+    private Long labelstatus;
+
+    /**
+     * 鍒犻櫎鏍囪
+     */
+    @ApiModelProperty(value = "鍒犻櫎鏍囪")
+    private String delFlag;
+
+    /**
+     * 涓婁紶鏍囪
+     */
+    @Excel(name = " 涓婁紶鏍囪 ")
+    @ApiModelProperty(value = "涓婁紶鏍囪")
+    private Long isupload;
+
+    /**
+     * 涓婁紶鏃堕棿
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = " 涓婁紶鏃堕棿 ", width = 30, dateFormat = "yyyy-MM-dd")
+    @ApiModelProperty(value = "涓婁紶鏃堕棿")
+    private Date uploadTime;
+
+    /**
+     * 鏈烘瀯ID
+     */
+    @Excel(name = " 鏈烘瀯ID ")
+    @ApiModelProperty(value = "鏈烘瀯ID")
+    private String orgid;
+
+    /**
+     * 鐖禝D
+     */
+    @Excel(name = "鐖禝D")
+    @ApiModelProperty(value = "鐖禝D")
+    private Long pid;
+
+    /**
+     * GUID
+     */
+    @Excel(name = "GUID")
+    @ApiModelProperty(value = "GUID")
+    private String guid;
+
+    /**
+     * 鏄惁瀛樺湪鎿嶄綔锛�1 鏂板 2淇敼 3鍒犻櫎
+     */
+    @ApiModelProperty(value = "鏄惁瀛樺湪鎿嶄綔锛�1 鏂板 2淇敼 3鍒犻櫎")
+    private Integer isoperation;
+
+    /**
+     * 鏂囨湰鍙橀噺鍙傛暟
+     */
+    @Excel(name = "鏂囨湰鍙橀噺鍙傛暟")
+    @ApiModelProperty(value = "鏂囨湰鍙橀噺鍙傛暟")
+    private Map<String, Map<String, String>> textParam;
+
+
+    /**
+     * 瀹f暀褰㈠紡 :鏂囨湰銆佸浘鐗囥�佽闊炽�佽棰戙�佹贩鍚�
+     */
+    @Excel(name = " 瀹f暀褰㈠紡 :鏂囨湰銆佸浘鐗囥�佽闊炽�佽棰戙�佹贩鍚�")
+    @ApiModelProperty(value = "瀹f暀褰㈠紡 : 1,鏂囨湰銆�2,鍥剧墖銆�3,璇煶銆�4,瑙嗛銆�5,娣峰悎")
+    private String serviceform;
+
+    /**
+     * 鎮h�呬笌鍗曚竴浠诲姟鍏宠仈琛ㄩ泦鍚�
+     */
+    @Excel(name = " 瀹f偅鑰呬笌鍗曚竴浠诲姟鍏宠仈琛ㄩ泦鍚�")
+    @ApiModelProperty(value = "鎮h�呬笌鍗曚竴浠诲姟鍏宠仈琛ㄩ泦鍚�")
+    private List<PatTaskRelevance> patTaskRelevances;
+
+    /**
+     * 搴婂彿
+     */
+    @Excel(name = "搴婂彿")
+    @ApiModelProperty(value = "搴婂彿")
+    private Long badNo;
+
+    /**
+     * 鐤剧梾鍚嶇О
+     */
+    @Excel(name = "鐤剧梾鍚嶇О")
+    @ApiModelProperty(value = "鐤剧梾鍚嶇О")
+    private String icdName;
+
+    /**
+     * 鐥呭巻鍙�
+     */
+    @Excel(name = "鐥呭巻鍙�")
+    @ApiModelProperty(value = "鐥呭巻鍙�")
+    private String medicalRecordNo;
+
+    /**
+     * 瀹f暀鍐呭
+     */
+    @Excel(name = "瀹f暀鍐呭")
+    @ApiModelProperty(value = "瀹f暀鍐呭")
+    private String preachcontent;
+
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE).append("id", getId()).append("sendname", getSendname()).append("phone", getPhone()).append("sex", getSex()).append("age", getAge()).append("sfzh", getSfzh()).append("addr", getAddr()).append("senderdetail", getSenderdetail()).append("type", getType()).append("taskid", getTaskid()).append("templateid", getTemplateid()).append("templatename", getTemplatename()).append("senddate", getSenddate()).append("sendlimitabegin", getSendlimitabegin()).append("sendlimitaend", getSendlimitaend()).append("sendlimitpbegin", getSendlimitpbegin()).append("sendlimitpend", getSendlimitpend()).append("sendlimitnbegin", getSendlimitnbegin()).append("sendlimitnend", getSendlimitnend()).append("sendstate", getSendstate()).append("senduuid", getSenduuid()).append("result", getResult()).append("finishtime", getFinishtime()).append("userid", getUserid()).append("username", getUsername()).append("outbounduuid", getOutbounduuid()).append("recordid", getRecordid()).append("recallcount", getRecallcount()).append("exrecallcount", getExrecallcount()).append("pulltime", getPulltime()).append("bqsms", getBqsms()).append("bhsms", getBhsms()).append("deptcode", getDeptcode()).append("labelstatus", getLabelstatus()).append("delFlag", getDelFlag()).append("updateBy", getUpdateBy()).append("updateTime", getUpdateTime()).append("createBy", getCreateBy()).append("createTime", getCreateTime()).append("isupload", getIsupload()).append("uploadTime", getUploadTime()).append("orgid", getOrgid()).append("pid", getPid()).append("guid", getGuid()).append("textParam", getTextParam()).toString();
+    }
+}
diff --git a/smartor/src/main/java/com/smartor/domain/PatHetaskRelevance.java b/smartor/src/main/java/com/smartor/domain/PatTaskRelevance.java
similarity index 82%
rename from smartor/src/main/java/com/smartor/domain/PatHetaskRelevance.java
rename to smartor/src/main/java/com/smartor/domain/PatTaskRelevance.java
index c265e53..af693c3 100644
--- a/smartor/src/main/java/com/smartor/domain/PatHetaskRelevance.java
+++ b/smartor/src/main/java/com/smartor/domain/PatTaskRelevance.java
@@ -17,8 +17,8 @@
  * @date 2024-01-07
  */
 @Data
-@ApiModel(value = "PatHetaskRelevance", description = "鎮h�呬笌瀹f暀浠诲姟鍏宠仈瀵硅薄")
-public class PatHetaskRelevance extends BaseEntity {
+@ApiModel(value = "PatTaskRelevance", description = "鎮h�呬笌瀹f暀浠诲姟鍏宠仈瀵硅薄")
+public class PatTaskRelevance extends BaseEntity {
 
     private static final long serialVersionUID = 1L;
 
@@ -40,7 +40,7 @@
      */
     @Excel(name = "瀹f暀浠诲姟ID")
     @ApiModelProperty("瀹f暀浠诲姟ID")
-    private Long heTaskId;
+    private Long taskId;
 
     /**
      * 鍒犻櫎鏍囪
@@ -54,6 +54,13 @@
     @Excel(name = "濮撳悕")
     @ApiModelProperty("濮撳悕")
     private String name;
+
+    /**
+     * 韬唤璇佸彿
+     */
+    @Excel(name = "韬唤璇佸彿")
+    @ApiModelProperty("韬唤璇佸彿")
+    private String sfzh;
 
     /**
      * 骞撮緞
@@ -82,6 +89,13 @@
     @Excel(name = "绉戝")
     @ApiModelProperty("绉戝")
     private String dept;
+
+    /**
+     * 绉戝
+     */
+    @Excel(name = "鍦板潃")
+    @ApiModelProperty("鍦板潃")
+    private String addr;
 
     /**
      * 鐤剧梾鍚嶇О
@@ -119,6 +133,13 @@
     @ApiModelProperty("鍙戦�佹椂闂�")
     private Date sendTime;
 
+    /**
+     * 鍙戦�佹椂闂�
+     */
+    @Excel(name = "灏辫瘖鏃堕棿")
+    @ApiModelProperty("灏辫瘖鏃堕棿")
+    private Date visitTime;
+
 
     /**
      * 鎿嶄綔浜�
diff --git a/smartor/src/main/java/com/smartor/domain/PatHetaskRelevanceVO.java b/smartor/src/main/java/com/smartor/domain/PatTaskRelevanceVO.java
similarity index 70%
rename from smartor/src/main/java/com/smartor/domain/PatHetaskRelevanceVO.java
rename to smartor/src/main/java/com/smartor/domain/PatTaskRelevanceVO.java
index a643ae0..f89deb7 100644
--- a/smartor/src/main/java/com/smartor/domain/PatHetaskRelevanceVO.java
+++ b/smartor/src/main/java/com/smartor/domain/PatTaskRelevanceVO.java
@@ -6,6 +6,8 @@
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import java.util.Date;
+
 /**
  * 鎮h�呬笌瀹f暀浠诲姟鍏宠仈瀵硅薄鍙傛暟 pat_hetask_relevance
  *
@@ -13,8 +15,8 @@
  * @date 2024-01-07
  */
 @Data
-@ApiModel(value = "PatHetaskRelevanceVO", description = "鎮h�呬笌瀹f暀浠诲姟鍏宠仈瀵硅薄鍙傛暟")
-public class PatHetaskRelevanceVO extends BaseEntity {
+@ApiModel(value = "PatTaskRelevanceVO", description = "鎮h�呬笌瀹f暀浠诲姟鍏宠仈瀵硅薄鍙傛暟")
+public class PatTaskRelevanceVO extends BaseEntity {
 
     private static final long serialVersionUID = 1L;
 
@@ -36,7 +38,7 @@
      */
     @Excel(name = "瀹f暀浠诲姟ID")
     @ApiModelProperty("瀹f暀浠诲姟ID")
-    private Long heTaskId;
+    private Long taskId;
 
     /**
      * 鍒犻櫎锛�0涓嶅垹闄�  1鍒犻櫎
@@ -101,6 +103,35 @@
     private String medicalRecordNo;
 
     /**
+     * 鎿嶄綔浜�
+     */
+    @Excel(name = "鎿嶄綔浜�")
+    @ApiModelProperty("鎿嶄綔浜�(瀹f暀浜�)")
+    private String operatePerson;
+
+
+    /**
+     * 鎺ユ敹鏃堕棿
+     */
+    @Excel(name = "鎺ユ敹鏃堕棿锛堝鏁欐椂闂达級")
+    @ApiModelProperty("鎺ユ敹鏃堕棿")
+    private String receiveTime;
+
+    /**
+     * 鐥呭巻鍙�
+     */
+    @Excel(name = "鍙戦�佺姸鎬�")
+    @ApiModelProperty("鍙戦�佺姸鎬侊紙瀹f暀鐘舵�侊級")
+    private Integer sendStatus;
+
+    /**
+     * 鍙戦�佹椂闂�
+     */
+    @Excel(name = "灏辫瘖鏃堕棿")
+    @ApiModelProperty("灏辫瘖鏃堕棿")
+    private Date visitTime;
+
+    /**
      * 瀹f暀浠诲姟
      */
     @ApiModelProperty("瀹f暀浠诲姟")
diff --git a/smartor/src/main/java/com/smartor/mapper/IvrTaskcallMapper.java b/smartor/src/main/java/com/smartor/mapper/IvrTaskcallMapper.java
index 11a4b4b..f9aa728 100644
--- a/smartor/src/main/java/com/smartor/mapper/IvrTaskcallMapper.java
+++ b/smartor/src/main/java/com/smartor/mapper/IvrTaskcallMapper.java
@@ -1,61 +1,56 @@
 package com.smartor.mapper;
 
-import java.util.List;
 import com.smartor.domain.IvrTaskcall;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
 
 /**
- * 璇煶浠诲姟鍛煎彨Mapper鎺ュ彛
- * 
- * @author smartor
- * @date 2023-03-24
+ * 鍗曚竴浠诲姟锛堥殢璁匡級Mapper鎺ュ彛
+ *
+ * @author ruoyi
+ * @date 2024-02-02
  */
-public interface IvrTaskcallMapper 
-{
+@Mapper
+public interface IvrTaskcallMapper {
     /**
-     * 鏌ヨ璇煶浠诲姟鍛煎彨
-     * 
-     * @param callid 璇煶浠诲姟鍛煎彨涓婚敭
-     * @return 璇煶浠诲姟鍛煎彨
+     * 鏌ヨ鍗曚竴浠诲姟锛堥殢璁匡級
+     *
+     * @param id 鍗曚竴浠诲姟锛堥殢璁匡級涓婚敭
+     * @return 鍗曚竴浠诲姟锛堥殢璁匡級
      */
-    public IvrTaskcall selectIvrTaskcallByCallid(Long callid);
+    public IvrTaskcall selectIvrTaskcallById(Long id);
 
     /**
-     * 鏌ヨ璇煶浠诲姟鍛煎彨鍒楄〃
-     * 
-     * @param ivrTaskcall 璇煶浠诲姟鍛煎彨
-     * @return 璇煶浠诲姟鍛煎彨闆嗗悎
+     * 鏌ヨ鍗曚竴浠诲姟锛堥殢璁匡級鍒楄〃
+     *
+     * @param ivrTaskcall 鍗曚竴浠诲姟锛堥殢璁匡級
+     * @return 鍗曚竴浠诲姟锛堥殢璁匡級闆嗗悎
      */
     public List<IvrTaskcall> selectIvrTaskcallList(IvrTaskcall ivrTaskcall);
 
     /**
-     * 鏂板璇煶浠诲姟鍛煎彨
-     * 
-     * @param ivrTaskcall 璇煶浠诲姟鍛煎彨
+     * 鏂板鍗曚竴浠诲姟锛堥殢璁匡級
+     *
+     * @param ivrTaskcall 鍗曚竴浠诲姟锛堥殢璁匡級
      * @return 缁撴灉
      */
     public int insertIvrTaskcall(IvrTaskcall ivrTaskcall);
 
     /**
-     * 淇敼璇煶浠诲姟鍛煎彨
-     * 
-     * @param ivrTaskcall 璇煶浠诲姟鍛煎彨
+     * 淇敼鍗曚竴浠诲姟锛堥殢璁匡級
+     *
+     * @param ivrTaskcall 鍗曚竴浠诲姟锛堥殢璁匡級
      * @return 缁撴灉
      */
     public int updateIvrTaskcall(IvrTaskcall ivrTaskcall);
 
     /**
-     * 鍒犻櫎璇煶浠诲姟鍛煎彨
-     * 
-     * @param callid 璇煶浠诲姟鍛煎彨涓婚敭
+     * 鍒犻櫎鍗曚竴浠诲姟锛堥殢璁匡級
+     *
+     * @param id 鍗曚竴浠诲姟锛堥殢璁匡級涓婚敭
      * @return 缁撴灉
      */
-    public int deleteIvrTaskcallByCallid(Long callid);
+    public int deleteIvrTaskcallById(Long id);
 
-    /**
-     * 鎵归噺鍒犻櫎璇煶浠诲姟鍛煎彨
-     * 
-     * @param callids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
-     * @return 缁撴灉
-     */
-    public int deleteIvrTaskcallByCallids(Long[] callids);
 }
diff --git a/smartor/src/main/java/com/smartor/mapper/PatHetaskRelevanceMapper.java b/smartor/src/main/java/com/smartor/mapper/PatHetaskRelevanceMapper.java
deleted file mode 100644
index 255e137..0000000
--- a/smartor/src/main/java/com/smartor/mapper/PatHetaskRelevanceMapper.java
+++ /dev/null
@@ -1,64 +0,0 @@
-package com.smartor.mapper;
-
-import com.smartor.domain.PatHetaskRelevance;
-import org.apache.ibatis.annotations.Mapper;
-
-import java.util.List;
-
-/**
- * 鎮h�呬笌瀹f暀浠诲姟鍏宠仈Mapper鎺ュ彛
- * 
- * @author ruoyi
- * @date 2024-01-07
- */
-@Mapper
-public interface PatHetaskRelevanceMapper 
-{
-    /**
-     * 鏌ヨ鎮h�呬笌瀹f暀浠诲姟鍏宠仈
-     * 
-     * @param id 鎮h�呬笌瀹f暀浠诲姟鍏宠仈涓婚敭
-     * @return 鎮h�呬笌瀹f暀浠诲姟鍏宠仈
-     */
-    public PatHetaskRelevance selectPatHetaskRelevanceById(Long id);
-
-    /**
-     * 鏌ヨ鎮h�呬笌瀹f暀浠诲姟鍏宠仈鍒楄〃
-     * 
-     * @param patHetaskRelevance 鎮h�呬笌瀹f暀浠诲姟鍏宠仈
-     * @return 鎮h�呬笌瀹f暀浠诲姟鍏宠仈闆嗗悎
-     */
-    public List<PatHetaskRelevance> selectPatHetaskRelevanceList(PatHetaskRelevance patHetaskRelevance);
-
-    /**
-     * 鏂板鎮h�呬笌瀹f暀浠诲姟鍏宠仈
-     * 
-     * @param patHetaskRelevance 鎮h�呬笌瀹f暀浠诲姟鍏宠仈
-     * @return 缁撴灉
-     */
-    public int insertPatHetaskRelevance(PatHetaskRelevance patHetaskRelevance);
-
-    /**
-     * 淇敼鎮h�呬笌瀹f暀浠诲姟鍏宠仈
-     * 
-     * @param patHetaskRelevance 鎮h�呬笌瀹f暀浠诲姟鍏宠仈
-     * @return 缁撴灉
-     */
-    public int updatePatHetaskRelevance(PatHetaskRelevance patHetaskRelevance);
-
-    /**
-     * 鍒犻櫎鎮h�呬笌瀹f暀浠诲姟鍏宠仈
-     * 
-     * @param id 鎮h�呬笌瀹f暀浠诲姟鍏宠仈涓婚敭
-     * @return 缁撴灉
-     */
-    public int deletePatHetaskRelevanceById(Long id);
-
-    /**
-     * 鎵归噺鍒犻櫎鎮h�呬笌瀹f暀浠诲姟鍏宠仈
-     * 
-     * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
-     * @return 缁撴灉
-     */
-    public int deletePatHetaskRelevanceByIds(Long[] ids);
-}
diff --git a/smartor/src/main/java/com/smartor/mapper/PatTaskRelevanceMapper.java b/smartor/src/main/java/com/smartor/mapper/PatTaskRelevanceMapper.java
new file mode 100644
index 0000000..748346d
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/mapper/PatTaskRelevanceMapper.java
@@ -0,0 +1,64 @@
+package com.smartor.mapper;
+
+import com.smartor.domain.PatTaskRelevance;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+/**
+ * 鎮h�呬笌瀹f暀浠诲姟鍏宠仈Mapper鎺ュ彛
+ * 
+ * @author ruoyi
+ * @date 2024-01-07
+ */
+@Mapper
+public interface PatTaskRelevanceMapper 
+{
+    /**
+     * 鏌ヨ鎮h�呬笌瀹f暀浠诲姟鍏宠仈
+     * 
+     * @param id 鎮h�呬笌瀹f暀浠诲姟鍏宠仈涓婚敭
+     * @return 鎮h�呬笌瀹f暀浠诲姟鍏宠仈
+     */
+    public PatTaskRelevance selectPatTaskRelevanceById(Long id);
+
+    /**
+     * 鏌ヨ鎮h�呬笌瀹f暀浠诲姟鍏宠仈鍒楄〃
+     * 
+     * @param patTaskRelevance 鎮h�呬笌瀹f暀浠诲姟鍏宠仈
+     * @return 鎮h�呬笌瀹f暀浠诲姟鍏宠仈闆嗗悎
+     */
+    public List<PatTaskRelevance> selectPatTaskRelevanceList(PatTaskRelevance patTaskRelevance);
+
+    /**
+     * 鏂板鎮h�呬笌瀹f暀浠诲姟鍏宠仈
+     * 
+     * @param patTaskRelevance 鎮h�呬笌瀹f暀浠诲姟鍏宠仈
+     * @return 缁撴灉
+     */
+    public int insertPatTaskRelevance(PatTaskRelevance patTaskRelevance);
+
+    /**
+     * 淇敼鎮h�呬笌瀹f暀浠诲姟鍏宠仈
+     * 
+     * @param patTaskRelevance 鎮h�呬笌瀹f暀浠诲姟鍏宠仈
+     * @return 缁撴灉
+     */
+    public int updatePatTaskRelevance(PatTaskRelevance patTaskRelevance);
+
+    /**
+     * 鍒犻櫎鎮h�呬笌瀹f暀浠诲姟鍏宠仈
+     * 
+     * @param id 鎮h�呬笌瀹f暀浠诲姟鍏宠仈涓婚敭
+     * @return 缁撴灉
+     */
+    public int deletePatTaskRelevanceById(Long id);
+
+    /**
+     * 鎵归噺鍒犻櫎鎮h�呬笌瀹f暀浠诲姟鍏宠仈
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deletePatTaskRelevanceByIds(Long[] ids);
+}
diff --git a/smartor/src/main/java/com/smartor/service/IHeTaskService.java b/smartor/src/main/java/com/smartor/service/IHeTaskService.java
index fdd556f..140b425 100644
--- a/smartor/src/main/java/com/smartor/service/IHeTaskService.java
+++ b/smartor/src/main/java/com/smartor/service/IHeTaskService.java
@@ -25,7 +25,7 @@
      * @param heTask 瀹f暀浠诲姟
      * @return 瀹f暀浠诲姟闆嗗悎
      */
-    public List<PatHetaskRelevanceVO> selectHeTaskList(PatHetaskRelevanceVO patHetaskRelevanceVO);
+    public List<PatTaskRelevanceVO> selectHeTaskList(PatTaskRelevanceVO PatTaskRelevanceVO);
 
     /**
      * 鏂板瀹f暀浠诲姟
@@ -63,7 +63,7 @@
      * 鑾峰彇鎮h�呬俊鎭�
      *
      * @param patArchiveReq
-     * @return PatHetaskRelevance
+     * @return PatTaskRelevance
      */
-    public List<PatHetaskRelevance> getPatientInfo(PatArchiveReq patArchiveReq);
+    public List<PatTaskRelevance> getPatientInfo(PatArchiveReq patArchiveReq);
 }
diff --git a/smartor/src/main/java/com/smartor/service/IIvrTaskcallService.java b/smartor/src/main/java/com/smartor/service/IIvrTaskcallService.java
index 1a08897..27ecaf6 100644
--- a/smartor/src/main/java/com/smartor/service/IIvrTaskcallService.java
+++ b/smartor/src/main/java/com/smartor/service/IIvrTaskcallService.java
@@ -1,61 +1,64 @@
 package com.smartor.service;
 
-import java.util.List;
+import com.smartor.domain.HeTaskVO;
 import com.smartor.domain.IvrTaskcall;
+import com.smartor.domain.IvrTaskcallVO;
+
+import java.util.List;
 
 /**
- * 璇煶浠诲姟鍛煎彨Service鎺ュ彛
- * 
- * @author smartor
- * @date 2023-03-24
+ * 鍗曚竴浠诲姟锛堥殢璁匡級Service鎺ュ彛
+ *
+ * @author ruoyi
+ * @date 2024-02-02
  */
-public interface IIvrTaskcallService 
-{
+public interface IIvrTaskcallService {
     /**
-     * 鏌ヨ璇煶浠诲姟鍛煎彨
-     * 
-     * @param callid 璇煶浠诲姟鍛煎彨涓婚敭
-     * @return 璇煶浠诲姟鍛煎彨
+     * 鏌ヨ鍗曚竴浠诲姟锛堥殢璁匡級
+     *
+     * @param id 鍗曚竴浠诲姟锛堥殢璁匡級涓婚敭
+     * @return 鍗曚竴浠诲姟锛堥殢璁匡級
      */
-    public IvrTaskcall selectIvrTaskcallByCallid(Long callid);
+    public IvrTaskcall selectIvrTaskcallById(Long id);
 
     /**
-     * 鏌ヨ璇煶浠诲姟鍛煎彨鍒楄〃
-     * 
-     * @param ivrTaskcall 璇煶浠诲姟鍛煎彨
-     * @return 璇煶浠诲姟鍛煎彨闆嗗悎
+     * 鏌ヨ鍗曚竴浠诲姟锛堥殢璁匡級鍒楄〃
+     *
+     * @param ivrTaskcall 鍗曚竴浠诲姟锛堥殢璁匡級
+     * @return 鍗曚竴浠诲姟锛堥殢璁匡級闆嗗悎
      */
     public List<IvrTaskcall> selectIvrTaskcallList(IvrTaskcall ivrTaskcall);
 
     /**
-     * 鏂板璇煶浠诲姟鍛煎彨
-     * 
-     * @param ivrTaskcall 璇煶浠诲姟鍛煎彨
+     * 鏂板鍗曚竴浠诲姟锛堥殢璁匡級
+     *
+     * @param ivrTaskcall 鍗曚竴浠诲姟锛堥殢璁匡級
      * @return 缁撴灉
      */
     public int insertIvrTaskcall(IvrTaskcall ivrTaskcall);
 
     /**
-     * 淇敼璇煶浠诲姟鍛煎彨
-     * 
-     * @param ivrTaskcall 璇煶浠诲姟鍛煎彨
+     * 淇敼鍗曚竴浠诲姟锛堥殢璁匡級
+     *
+     * @param ivrTaskcall 鍗曚竴浠诲姟锛堥殢璁匡級
      * @return 缁撴灉
      */
     public int updateIvrTaskcall(IvrTaskcall ivrTaskcall);
 
     /**
-     * 鎵归噺鍒犻櫎璇煶浠诲姟鍛煎彨
-     * 
-     * @param callids 闇�瑕佸垹闄ょ殑璇煶浠诲姟鍛煎彨涓婚敭闆嗗悎
+     * 鎵归噺鍒犻櫎鍗曚竴浠诲姟锛堥殢璁匡級
+     *
+     * @param ids 闇�瑕佸垹闄ょ殑鍗曚竴浠诲姟锛堥殢璁匡級涓婚敭闆嗗悎
      * @return 缁撴灉
      */
-    public int deleteIvrTaskcallByCallids(Long[] callids);
+    public int deleteIvrTaskcallByIds(Long[] ids);
 
     /**
-     * 鍒犻櫎璇煶浠诲姟鍛煎彨淇℃伅
-     * 
-     * @param callid 璇煶浠诲姟鍛煎彨涓婚敭
+     * 鏂板瀹f暀浠诲姟
+     *
+     * @param ivrTaskcallVO 鍗曚竴浠诲姟
      * @return 缁撴灉
      */
-    public int deleteIvrTaskcallByCallid(Long callid);
+    public int insertOrUpdateTask(IvrTaskcallVO ivrTaskcallVO);
+
 }
diff --git a/smartor/src/main/java/com/smartor/service/IPatHetaskRelevanceService.java b/smartor/src/main/java/com/smartor/service/IPatHetaskRelevanceService.java
deleted file mode 100644
index fe01019..0000000
--- a/smartor/src/main/java/com/smartor/service/IPatHetaskRelevanceService.java
+++ /dev/null
@@ -1,62 +0,0 @@
-package com.smartor.service;
-
-import com.smartor.domain.PatHetaskRelevance;
-
-import java.util.List;
-
-/**
- * 鎮h�呬笌瀹f暀浠诲姟鍏宠仈Service鎺ュ彛
- * 
- * @author ruoyi
- * @date 2024-01-07
- */
-public interface IPatHetaskRelevanceService 
-{
-    /**
-     * 鏌ヨ鎮h�呬笌瀹f暀浠诲姟鍏宠仈
-     * 
-     * @param id 鎮h�呬笌瀹f暀浠诲姟鍏宠仈涓婚敭
-     * @return 鎮h�呬笌瀹f暀浠诲姟鍏宠仈
-     */
-    public PatHetaskRelevance selectPatHetaskRelevanceById(Long id);
-
-    /**
-     * 鏌ヨ鎮h�呬笌瀹f暀浠诲姟鍏宠仈鍒楄〃
-     * 
-     * @param patHetaskRelevance 鎮h�呬笌瀹f暀浠诲姟鍏宠仈
-     * @return 鎮h�呬笌瀹f暀浠诲姟鍏宠仈闆嗗悎
-     */
-    public List<PatHetaskRelevance> selectPatHetaskRelevanceList(PatHetaskRelevance patHetaskRelevance);
-
-    /**
-     * 鏂板鎮h�呬笌瀹f暀浠诲姟鍏宠仈
-     * 
-     * @param patHetaskRelevance 鎮h�呬笌瀹f暀浠诲姟鍏宠仈
-     * @return 缁撴灉
-     */
-    public int insertPatHetaskRelevance(PatHetaskRelevance patHetaskRelevance);
-
-    /**
-     * 淇敼鎮h�呬笌瀹f暀浠诲姟鍏宠仈
-     * 
-     * @param patHetaskRelevance 鎮h�呬笌瀹f暀浠诲姟鍏宠仈
-     * @return 缁撴灉
-     */
-    public int updatePatHetaskRelevance(PatHetaskRelevance patHetaskRelevance);
-
-    /**
-     * 鎵归噺鍒犻櫎鎮h�呬笌瀹f暀浠诲姟鍏宠仈
-     * 
-     * @param ids 闇�瑕佸垹闄ょ殑鎮h�呬笌瀹f暀浠诲姟鍏宠仈涓婚敭闆嗗悎
-     * @return 缁撴灉
-     */
-    public int deletePatHetaskRelevanceByIds(Long[] ids);
-
-    /**
-     * 鍒犻櫎鎮h�呬笌瀹f暀浠诲姟鍏宠仈淇℃伅
-     * 
-     * @param id 鎮h�呬笌瀹f暀浠诲姟鍏宠仈涓婚敭
-     * @return 缁撴灉
-     */
-    public int deletePatHetaskRelevanceById(Long id);
-}
diff --git a/smartor/src/main/java/com/smartor/service/IPatTaskRelevanceService.java b/smartor/src/main/java/com/smartor/service/IPatTaskRelevanceService.java
new file mode 100644
index 0000000..fdafbe8
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/service/IPatTaskRelevanceService.java
@@ -0,0 +1,61 @@
+package com.smartor.service;
+
+import com.smartor.domain.PatTaskRelevance;
+
+import java.util.List;
+
+/**
+ * 鎮h�呬笌瀹f暀浠诲姟鍏宠仈Service鎺ュ彛
+ *
+ * @author ruoyi
+ * @date 2024-01-07
+ */
+public interface IPatTaskRelevanceService {
+    /**
+     * 鏌ヨ鎮h�呬笌瀹f暀浠诲姟鍏宠仈
+     *
+     * @param id 鎮h�呬笌瀹f暀浠诲姟鍏宠仈涓婚敭
+     * @return 鎮h�呬笌瀹f暀浠诲姟鍏宠仈
+     */
+    public PatTaskRelevance selectPatTaskRelevanceById(Long id);
+
+    /**
+     * 鏌ヨ鎮h�呬笌瀹f暀浠诲姟鍏宠仈鍒楄〃
+     *
+     * @param patTaskRelevance 鎮h�呬笌瀹f暀浠诲姟鍏宠仈
+     * @return 鎮h�呬笌瀹f暀浠诲姟鍏宠仈闆嗗悎
+     */
+    public List<PatTaskRelevance> selectPatTaskRelevanceList(PatTaskRelevance patTaskRelevance);
+
+    /**
+     * 鏂板鎮h�呬笌瀹f暀浠诲姟鍏宠仈
+     *
+     * @param patTaskRelevance 鎮h�呬笌瀹f暀浠诲姟鍏宠仈
+     * @return 缁撴灉
+     */
+    public int insertPatTaskRelevance(PatTaskRelevance patTaskRelevance);
+
+    /**
+     * 淇敼鎮h�呬笌瀹f暀浠诲姟鍏宠仈
+     *
+     * @param patTaskRelevance 鎮h�呬笌瀹f暀浠诲姟鍏宠仈
+     * @return 缁撴灉
+     */
+    public int updatePatTaskRelevance(PatTaskRelevance patTaskRelevance);
+
+    /**
+     * 鎵归噺鍒犻櫎鎮h�呬笌瀹f暀浠诲姟鍏宠仈
+     *
+     * @param ids 闇�瑕佸垹闄ょ殑鎮h�呬笌瀹f暀浠诲姟鍏宠仈涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deletePatTaskRelevanceByIds(Long[] ids);
+
+    /**
+     * 鍒犻櫎鎮h�呬笌瀹f暀浠诲姟鍏宠仈淇℃伅
+     *
+     * @param id 鎮h�呬笌瀹f暀浠诲姟鍏宠仈涓婚敭
+     * @return 缁撴灉
+     */
+    public int deletePatTaskRelevanceById(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 e0e8366..bf9143d 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,6 @@
 package com.smartor.service.impl;
 
-import com.ruoyi.common.enums.SendTypeEnum;
+import com.google.gson.Gson;
 import com.ruoyi.common.exception.base.BaseException;
 import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.common.utils.DtoConversionUtils;
@@ -8,7 +8,7 @@
 import com.smartor.domain.*;
 import com.smartor.mapper.HeTaskMapper;
 import com.smartor.mapper.PatArchiveMapper;
-import com.smartor.mapper.PatHetaskRelevanceMapper;
+import com.smartor.mapper.PatTaskRelevanceMapper;
 import com.smartor.service.IHeTaskService;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections4.CollectionUtils;
@@ -19,8 +19,6 @@
 
 import java.util.ArrayList;
 import java.util.List;
-import java.util.Timer;
-import java.util.TimerTask;
 
 /**
  * 瀹f暀浠诲姟Service涓氬姟灞傚鐞�
@@ -44,7 +42,7 @@
     private HeLibraryServiceImpl heLibraryService;
 
     @Autowired
-    private PatHetaskRelevanceMapper patHetaskRelevanceMapper;
+    private PatTaskRelevanceMapper PatTaskRelevanceMapper;
 
     @Autowired
     private SendService sendService;
@@ -85,19 +83,19 @@
     /**
      * 鏌ヨ瀹f暀浠诲姟鍒楄〃
      *
-     * @param patHetaskRelevanceVO 瀹f暀浠诲姟
+     * @param patTaskRelevanceVO 瀹f暀浠诲姟
      * @return 瀹f暀浠诲姟
      */
     @Override
-    public List<PatHetaskRelevanceVO> selectHeTaskList(PatHetaskRelevanceVO patHetaskRelevanceVO) {
-        PatHetaskRelevance patHetaskRelevance = new PatHetaskRelevance();
-        List<PatHetaskRelevance> patHetaskRelevances = patHetaskRelevanceMapper.selectPatHetaskRelevanceList(patHetaskRelevance);
-        List<PatHetaskRelevanceVO> patHetaskRelevanceVOS = DtoConversionUtils.sourceToTarget(patHetaskRelevances, PatHetaskRelevanceVO.class);
-        for (PatHetaskRelevanceVO patHetaskRelevanceVO1 : patHetaskRelevanceVOS) {
-            HeTask heTask1 = heTaskMapper.selectHeTaskById(patHetaskRelevanceVO1.getHeTaskId());
-            patHetaskRelevanceVO1.setHeTask(heTask1);
+    public List<PatTaskRelevanceVO> selectHeTaskList(PatTaskRelevanceVO patTaskRelevanceVO) {
+        PatTaskRelevance patTaskRelevance = new PatTaskRelevance();
+        List<PatTaskRelevance> patTaskRelevances = PatTaskRelevanceMapper.selectPatTaskRelevanceList(patTaskRelevance);
+        List<PatTaskRelevanceVO> PatTaskRelevanceVOS = DtoConversionUtils.sourceToTarget(patTaskRelevances, PatTaskRelevanceVO.class);
+        for (PatTaskRelevanceVO patTaskRelevanceVO1 : PatTaskRelevanceVOS) {
+            HeTask heTask1 = heTaskMapper.selectHeTaskById(patTaskRelevanceVO1.getTaskId());
+            patTaskRelevanceVO1.setHeTask(heTask1);
         }
-        return patHetaskRelevanceVOS;
+        return PatTaskRelevanceVOS;
     }
 
     /**
@@ -115,11 +113,11 @@
 //        if (heTaskVO.getIsSend() == 2) {
 //            //鍙戦�佹柟寮�
 //            String sendtype = SendTypeEnum.getDescByCode(heTaskVO.getPreachform().intValue());
-//            for (PatHetaskRelevance patHetaskRelevance : heTaskVO.getPatHetaskRelevances()) {
+//            for (PatTaskRelevance PatTaskRelevance : heTaskVO.getPatTaskRelevances()) {
 //                //寮�濮嬪彂閫�
 //                SendMagParam sendMagParam = new SendMagParam();
 //                sendMagParam.setType(sendtype);
-//                sendMagParam.setPhone(patHetaskRelevance.getPhone());
+//                sendMagParam.setPhone(PatTaskRelevance.getPhone());
 //                //杩欓噷鐨勬ā鏉縄D涓嶇‘瀹氾紝鍏堣繖鏍峰啓
 //                sendMagParam.setTmpCode("SMS_461860582");
 //                sendMagParam.setContent("Test鍙戦�佹暟鎹�");
@@ -129,7 +127,7 @@
 //                }
 //
 //                //蹇呴』鍏ㄩ儴鎴愬姛锛屾墠鑳戒慨鏀瑰彂閫佺姸鎬�
-//                if (heTaskVO.getPatHetaskRelevances().size() == integer) {
+//                if (heTaskVO.getPatTaskRelevances().size() == integer) {
 //                    //濡傛灉鍙戦�佹垚鍔�
 //                    heTaskVO.setSendState(1L);
 //                }
@@ -141,10 +139,10 @@
 //
 //            //灏嗕换鍔′笌鎮h�呭叧鑱�
 //            Integer i = null;
-//            if (ObjectUtils.isNotEmpty(heTaskVO.getPatHetaskRelevances())) {
-//                for (PatHetaskRelevance patHetaskRelevance : heTaskVO.getPatHetaskRelevances()) {
-//                    patHetaskRelevance.setHeTaskId(heTask.getId());
-//                    i = patHetaskRelevanceMapper.insertPatHetaskRelevance(patHetaskRelevance);
+//            if (ObjectUtils.isNotEmpty(heTaskVO.getPatTaskRelevances())) {
+//                for (PatTaskRelevance PatTaskRelevance : heTaskVO.getPatTaskRelevances()) {
+//                    PatTaskRelevance.setHeTaskId(heTask.getId());
+//                    i = PatTaskRelevanceMapper.insertPatTaskRelevance(PatTaskRelevance);
 //                }
 //
 //            }
@@ -156,11 +154,11 @@
 //                @Override
 //                public void run() {
 //                    Integer integer = 0;
-//                    for (PatHetaskRelevance patHetaskRelevance : heTaskVO.getPatHetaskRelevances()) {
+//                    for (PatTaskRelevance PatTaskRelevance : heTaskVO.getPatTaskRelevances()) {
 //                        String sendtype = SendTypeEnum.getDescByCode(heTaskVO.getPreachform().intValue());
 //                        SendMagParam sendMagParam = new SendMagParam();
 //                        sendMagParam.setType(sendtype);
-//                        sendMagParam.setPhone(patHetaskRelevance.getPhone());
+//                        sendMagParam.setPhone(PatTaskRelevance.getPhone());
 //                        //杩欓噷鐨勬ā鏉縄D涓嶇‘瀹氾紝鍏堣繖鏍峰啓
 //                        sendMagParam.setTmpCode("SMS_461860582");
 //                        sendMagParam.setContent("Test鍙戦�佹暟鎹�");
@@ -170,7 +168,7 @@
 //                        }
 //                    }
 //                    //蹇呴』鍏ㄩ儴鎴愬姛锛屾墠鑳戒慨鏀瑰彂閫佺姸鎬�
-//                    if (heTaskVO.getPatHetaskRelevances().size() == integer) {
+//                    if (heTaskVO.getPatTaskRelevances().size() == integer) {
 //                        //濡傛灉鍙戦�佹垚鍔�
 //                        heTaskVO.setSendState(1L);
 //                    }
@@ -178,10 +176,10 @@
 //                    heTask.setCreateTime(DateUtils.getNowDate());
 //                    heTaskMapper.insertHeTask(heTask);
 //
-//                    if (ObjectUtils.isNotEmpty(heTaskVO.getPatHetaskRelevances())) {
-//                        for (PatHetaskRelevance patHetaskRelevance : heTaskVO.getPatHetaskRelevances()) {
-//                            patHetaskRelevance.setHeTaskId(heTask.getId());
-//                            patHetaskRelevanceMapper.insertPatHetaskRelevance(patHetaskRelevance);
+//                    if (ObjectUtils.isNotEmpty(heTaskVO.getPatTaskRelevances())) {
+//                        for (PatTaskRelevance PatTaskRelevance : heTaskVO.getPatTaskRelevances()) {
+//                            PatTaskRelevance.setHeTaskId(heTask.getId());
+//                            PatTaskRelevanceMapper.insertPatTaskRelevance(PatTaskRelevance);
 //                        }
 //
 //                    }
@@ -210,13 +208,18 @@
 
             //灏嗕换鍔′俊鎭柊澧炲埌瀹f暀浠诲姟琛ㄤ腑
             HeTask heTask = DtoConversionUtils.sourceToTarget(heTaskVO, HeTask.class);
+
             heTask.setCreateTime(DateUtils.getNowDate());
+            heTask.setPreachform(new Gson().toJson(heTaskVO.getPreachform()));
+            heTask.setTextParam(new Gson().toJson(heTaskVO.getTextParam()));
             heTaskMapper.insertHeTask(heTask);
             integer = heTask.getId().intValue();
             //鏂板
-            for (PatHetaskRelevance patHetaskRelevance : heTaskVO.getPatHetaskRelevances()) {
-                patHetaskRelevance.setHeTaskId(heTask.getId());
-                patHetaskRelevanceMapper.insertPatHetaskRelevance(patHetaskRelevance);
+            if (CollectionUtils.isNotEmpty(heTaskVO.getPatTaskRelevances())) {
+                for (PatTaskRelevance PatTaskRelevance : heTaskVO.getPatTaskRelevances()) {
+                    PatTaskRelevance.setTaskId(heTask.getId());
+                    PatTaskRelevanceMapper.insertPatTaskRelevance(PatTaskRelevance);
+                }
             }
 
         } else if (heTaskVO.getIsoperation() != null && heTaskVO.getIsoperation() == 2) {
@@ -224,14 +227,14 @@
             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());
+            for (PatTaskRelevance PatTaskRelevance : heTaskVO.getPatTaskRelevances()) {
+                if (PatTaskRelevance.getIsoperation() != null && PatTaskRelevance.getIsoperation() == 1) {
+                    PatTaskRelevanceMapper.insertPatTaskRelevance(PatTaskRelevance);
+                } else if (PatTaskRelevance.getIsoperation() != null && PatTaskRelevance.getIsoperation() == 2) {
+                    PatTaskRelevance.setTaskId(heTask.getId());
+                    PatTaskRelevanceMapper.updatePatTaskRelevance(PatTaskRelevance);
+                } else if (PatTaskRelevance.getIsoperation() != null && PatTaskRelevance.getIsoperation() == 3) {
+                    PatTaskRelevanceMapper.deletePatTaskRelevanceById(PatTaskRelevance.getId());
                 }
             }
             integer = heTask.getId().intValue();
@@ -239,9 +242,9 @@
             heTaskMapper.deleteHeTaskById(heTaskVO.getId());
 
             //鍒犻櫎鎮h�呬俊鎭�
-            for (PatHetaskRelevance patHetaskRelevance : heTaskVO.getPatHetaskRelevances()) {
-                if (patHetaskRelevance.getIsoperation() != null && patHetaskRelevance.getIsoperation() == 3) {
-                    patHetaskRelevanceMapper.deletePatHetaskRelevanceById(patHetaskRelevance.getId());
+            for (PatTaskRelevance PatTaskRelevance : heTaskVO.getPatTaskRelevances()) {
+                if (PatTaskRelevance.getIsoperation() != null && PatTaskRelevance.getIsoperation() == 3) {
+                    PatTaskRelevanceMapper.deletePatTaskRelevanceById(PatTaskRelevance.getId());
                 }
             }
             integer = heTaskVO.getId().intValue();
@@ -295,8 +298,8 @@
      * @return
      */
     @Override
-    public List<PatHetaskRelevance> getPatientInfo(PatArchiveReq patArchiveReq) {
-        List<PatHetaskRelevance> patHetaskRelevances = new ArrayList<>();
+    public List<PatTaskRelevance> getPatientInfo(PatArchiveReq patArchiveReq) {
+        List<PatTaskRelevance> PatTaskRelevances = new ArrayList<>();
 
         List<PatArchive> patArchiveList = new ArrayList<>();
         if (patArchiveReq.getAllhosp() != null && patArchiveReq.getAllhosp() == 1) {
@@ -319,13 +322,13 @@
             }
         }
         for (PatArchive patArchive : patArchiveList) {
-            PatHetaskRelevance patHetaskRelevance = DtoConversionUtils.sourceToTarget(patArchive, PatHetaskRelevance.class);
-            patHetaskRelevance.setCreateTime(patArchive.getCreateTime());
-            patHetaskRelevance.setCreateBy(patArchive.getCreateBy());
-            patHetaskRelevances.add(patHetaskRelevance);
+            PatTaskRelevance PatTaskRelevance = DtoConversionUtils.sourceToTarget(patArchive, PatTaskRelevance.class);
+            PatTaskRelevance.setCreateTime(patArchive.getCreateTime());
+            PatTaskRelevance.setCreateBy(patArchive.getCreateBy());
+            PatTaskRelevances.add(PatTaskRelevance);
         }
 
-        return patHetaskRelevances;
+        return PatTaskRelevances;
     }
 
 }
diff --git a/smartor/src/main/java/com/smartor/service/impl/IvrLibaTargetoptionServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/IvrLibaTargetoptionServiceImpl.java
index c778a74..f502756 100644
--- a/smartor/src/main/java/com/smartor/service/impl/IvrLibaTargetoptionServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/IvrLibaTargetoptionServiceImpl.java
@@ -1,5 +1,7 @@
 package com.smartor.service.impl;
 
+import cn.hutool.json.JSONArray;
+import com.google.gson.Gson;
 import com.ruoyi.common.utils.DateUtils;
 import com.smartor.domain.IvrLibaTargetoption;
 import com.smartor.mapper.IvrLibaTargetoptionMapper;
@@ -11,87 +13,82 @@
 
 /**
  * 鎸囨爣閫夐」搴揝ervice涓氬姟灞傚鐞�
- * 
+ *
  * @author ruoyi
  * @date 2023-12-14
  */
 @Service
-public class IvrLibaTargetoptionServiceImpl implements IIvrLibaTargetoptionService
-{
+public class IvrLibaTargetoptionServiceImpl implements IIvrLibaTargetoptionService {
     @Autowired
     private IvrLibaTargetoptionMapper ivrLibaTargetoptionMapper;
 
     /**
      * 鏌ヨ鎸囨爣閫夐」搴�
-     * 
+     *
      * @param targetoptionid 鎸囨爣閫夐」搴撲富閿�
      * @return 鎸囨爣閫夐」搴�
      */
     @Override
-    public IvrLibaTargetoption selectIvrLibaTargetoptionByTargetoptionid(Long targetoptionid)
-    {
+    public IvrLibaTargetoption selectIvrLibaTargetoptionByTargetoptionid(Long targetoptionid) {
         return ivrLibaTargetoptionMapper.selectIvrLibaTargetoptionByTargetoptionid(targetoptionid);
     }
 
     /**
      * 鏌ヨ鎸囨爣閫夐」搴撳垪琛�
-     * 
+     *
      * @param ivrLibaTargetoption 鎸囨爣閫夐」搴�
      * @return 鎸囨爣閫夐」搴�
      */
     @Override
-    public List<IvrLibaTargetoption> selectIvrLibaTargetoptionList(IvrLibaTargetoption ivrLibaTargetoption)
-    {
+    public List<IvrLibaTargetoption> selectIvrLibaTargetoptionList(IvrLibaTargetoption ivrLibaTargetoption) {
         return ivrLibaTargetoptionMapper.selectIvrLibaTargetoptionList(ivrLibaTargetoption);
     }
 
     /**
      * 鏂板鎸囨爣閫夐」搴�
-     * 
+     *
      * @param ivrLibaTargetoption 鎸囨爣閫夐」搴�
      * @return 缁撴灉
      */
     @Override
-    public int insertIvrLibaTargetoption(IvrLibaTargetoption ivrLibaTargetoption)
-    {
+    public int insertIvrLibaTargetoption(IvrLibaTargetoption ivrLibaTargetoption) {
         ivrLibaTargetoption.setCreateTime(DateUtils.getNowDate());
+        ivrLibaTargetoption.setDynamiccruxsJson(new Gson().toJson(ivrLibaTargetoption.getDynamiccruxs()));
+        ivrLibaTargetoption.setNodynamiccruxsJson(new Gson().toJson(ivrLibaTargetoption.getNodynamiccruxs()));
         return ivrLibaTargetoptionMapper.insertIvrLibaTargetoption(ivrLibaTargetoption);
     }
 
     /**
      * 淇敼鎸囨爣閫夐」搴�
-     * 
+     *
      * @param ivrLibaTargetoption 鎸囨爣閫夐」搴�
      * @return 缁撴灉
      */
     @Override
-    public int updateIvrLibaTargetoption(IvrLibaTargetoption ivrLibaTargetoption)
-    {
+    public int updateIvrLibaTargetoption(IvrLibaTargetoption ivrLibaTargetoption) {
         ivrLibaTargetoption.setUpdateTime(DateUtils.getNowDate());
         return ivrLibaTargetoptionMapper.updateIvrLibaTargetoption(ivrLibaTargetoption);
     }
 
     /**
      * 鎵归噺鍒犻櫎鎸囨爣閫夐」搴�
-     * 
+     *
      * @param targetoptionids 闇�瑕佸垹闄ょ殑鎸囨爣閫夐」搴撲富閿�
      * @return 缁撴灉
      */
     @Override
-    public int deleteIvrLibaTargetoptionByTargetoptionids(Long[] targetoptionids)
-    {
+    public int deleteIvrLibaTargetoptionByTargetoptionids(Long[] targetoptionids) {
         return ivrLibaTargetoptionMapper.deleteIvrLibaTargetoptionByTargetoptionids(targetoptionids);
     }
 
     /**
      * 鍒犻櫎鎸囨爣閫夐」搴撲俊鎭�
-     * 
+     *
      * @param targetoptionid 鎸囨爣閫夐」搴撲富閿�
      * @return 缁撴灉
      */
     @Override
-    public int deleteIvrLibaTargetoptionByTargetoptionid(Long targetoptionid)
-    {
+    public int deleteIvrLibaTargetoptionByTargetoptionid(Long targetoptionid) {
         return ivrLibaTargetoptionMapper.deleteIvrLibaTargetoptionByTargetoptionid(targetoptionid);
     }
 }
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 02a1ad0..5cd0bb4 100644
--- a/smartor/src/main/java/com/smartor/service/impl/IvrLibaTemplateServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/IvrLibaTemplateServiceImpl.java
@@ -171,7 +171,7 @@
                     ivrLibaTemplateScript.setCreateTime(new Date());
                     ivrLibaTemplateScriptMapper.insertIvrLibaTemplateScript(ivrLibaTemplateScript);
                     //瀵归�夐」鐩繘琛屽鐞�
-                    dealOption(ivrLibaTemplateScriptVO.getIvrLibaTemplateTargetoptionList(), ivrLibaTemplateScript, ivrLibaTemplate.getID());
+                    dealOption(ivrLibaTemplateScriptVO.getIvrLibaScriptTargetoptionList(), ivrLibaTemplateScript, ivrLibaTemplate.getID());
 
                 } else if (ivrLibaTemplateScriptVO.getIsoperation() != null && ivrLibaTemplateScriptVO.getIsoperation() == 2) {
                     //淇敼
@@ -180,7 +180,7 @@
                     ivrLibaTemplateScript.setUpdateTime(new Date());
                     ivrLibaTemplateScriptMapper.updateIvrLibaTemplateScript(ivrLibaTemplateScript);
                     //瀵归�夐」鐩繘琛屽鐞�
-                    dealOption(ivrLibaTemplateScriptVO.getIvrLibaTemplateTargetoptionList(), ivrLibaTemplateScript, ivrLibaTemplate.getID());
+                    dealOption(ivrLibaTemplateScriptVO.getIvrLibaScriptTargetoptionList(), ivrLibaTemplateScript, ivrLibaTemplate.getID());
 
                 } else if (ivrLibaTemplateScriptVO.getIsoperation() != null && ivrLibaTemplateScriptVO.getIsoperation() == 3) {
                     //鍒犻櫎
@@ -188,7 +188,7 @@
                         log.info("鍒犻櫎澶辫触,妯℃澘璇濇湳id涓虹┖");
                     } else {
                         ivrLibaTemplateScriptVO.setUpdateTime(new Date());
-                        ivrLibaTemplateTagMapper.deleteIvrLibaTemplateTagById(ivrLibaTemplateScriptVO.getID());
+                        ivrLibaTemplateScriptMapper.deleteIvrLibaTemplateScriptByID(ivrLibaTemplateScriptVO.getID());
                     }
                 }
             }
@@ -219,20 +219,19 @@
      * @param tmpID
      */
     private void dealOption(List<IvrLibaTemplateTargetoption> ivrLibaTemplateTargetoptionList, IvrLibaTemplateScript ivrLibaTemplateScript, Long tmpID) {
+        log.info("ivrLibaTemplateScript鐨勫�间负锛歿}", ivrLibaTemplateScript);
         //瀵规ā鏉挎寚鏍囬�夐」杩涜澶勭悊
         if (CollectionUtils.isNotEmpty(ivrLibaTemplateTargetoptionList)) {
             for (IvrLibaTemplateTargetoption ivrLibaTemplateTargetoption : ivrLibaTemplateTargetoptionList) {
                 if (ivrLibaTemplateTargetoption.getIsoperation() != null && ivrLibaTemplateTargetoption.getIsoperation() == 1) {
                     //鏂板
                     ivrLibaTemplateTargetoption.setTemplateID(tmpID);
-                    ivrLibaTemplateTargetoption.setTargetid(ivrLibaTemplateScript.getTargetid());
-                    ivrLibaTemplateTargetoption.setScriptid(ivrLibaTemplateScript.getScriptid());
+                    ivrLibaTemplateTargetoption.setScriptid(ivrLibaTemplateScript.getID());
                     ivrLibaTemplateTargetOptionMapper.insertIvrLibaTemplateTargetoption(ivrLibaTemplateTargetoption);
                 } else if (ivrLibaTemplateTargetoption.getIsoperation() != null && ivrLibaTemplateTargetoption.getIsoperation() == 2) {
                     //淇敼
                     ivrLibaTemplateTargetoption.setTemplateID(tmpID);
-                    ivrLibaTemplateTargetoption.setTargetid(ivrLibaTemplateScript.getTargetid());
-                    ivrLibaTemplateTargetoption.setScriptid(ivrLibaTemplateScript.getScriptid());
+                    ivrLibaTemplateTargetoption.setScriptid(ivrLibaTemplateScript.getID());
                     ivrLibaTemplateTargetOptionMapper.updateIvrLibaTemplateTargetoption(ivrLibaTemplateTargetoption);
                 } else if (ivrLibaTemplateTargetoption.getIsoperation() != null && ivrLibaTemplateTargetoption.getIsoperation() == 3) {
                     //鍒犻櫎
@@ -281,7 +280,7 @@
             IvrLibaTemplateTargetoption ivrLibaTemplateTargetoption = new IvrLibaTemplateTargetoption();
             ivrLibaTemplateTargetoption.setScriptid(ivrLibaTemplateScriptVO.getID());
             List<IvrLibaTemplateTargetoption> ivrLibaTemplateTargetoptions = ivrLibaTemplateTargetOptionMapper.selectIvrLibaTemplateTargetoptionList(ivrLibaTemplateTargetoption);
-            ivrLibaTemplateScriptVO.setIvrLibaTemplateTargetoptionList(ivrLibaTemplateTargetoptions);
+            ivrLibaTemplateScriptVO.setIvrLibaScriptTargetoptionList(ivrLibaTemplateTargetoptions);
         }
 
         //鏁版嵁缁勮
diff --git a/smartor/src/main/java/com/smartor/service/impl/IvrTaskcallServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/IvrTaskcallServiceImpl.java
index 3fd2bb2..86c1ae2 100644
--- a/smartor/src/main/java/com/smartor/service/impl/IvrTaskcallServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/IvrTaskcallServiceImpl.java
@@ -1,96 +1,153 @@
 package com.smartor.service.impl;
 
-import java.util.List;
+import com.google.gson.Gson;
+import com.ruoyi.common.exception.base.BaseException;
 import com.ruoyi.common.utils.DateUtils;
+import com.ruoyi.common.utils.DtoConversionUtils;
+import com.smartor.domain.*;
+import com.smartor.mapper.IvrTaskcallMapper;
+import com.smartor.mapper.PatTaskRelevanceMapper;
+import com.smartor.service.IIvrTaskcallService;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.lang3.ObjectUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import com.smartor.mapper.IvrTaskcallMapper;
-import com.smartor.domain.IvrTaskcall;
-import com.smartor.service.IIvrTaskcallService;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
 
 /**
- * 璇煶浠诲姟鍛煎彨Service涓氬姟灞傚鐞�
- * 
- * @author smartor
- * @date 2023-03-24
+ * 鍗曚竴浠诲姟锛堥殢璁匡級Service涓氬姟灞傚鐞�
+ *
+ * @author ruoyi
+ * @date 2024-02-02
  */
+@Slf4j
 @Service
-public class IvrTaskcallServiceImpl implements IIvrTaskcallService 
-{
+public class IvrTaskcallServiceImpl implements IIvrTaskcallService {
     @Autowired
     private IvrTaskcallMapper ivrTaskcallMapper;
 
+    @Autowired
+    private PatTaskRelevanceMapper patTaskRelevanceMapper;
+
     /**
-     * 鏌ヨ璇煶浠诲姟鍛煎彨
-     * 
-     * @param callid 璇煶浠诲姟鍛煎彨涓婚敭
-     * @return 璇煶浠诲姟鍛煎彨
+     * 鏌ヨ鍗曚竴浠诲姟锛堥殢璁匡級
+     *
+     * @param id 鍗曚竴浠诲姟锛堥殢璁匡級涓婚敭
+     * @return 鍗曚竴浠诲姟锛堥殢璁匡級
      */
     @Override
-    public IvrTaskcall selectIvrTaskcallByCallid(Long callid)
-    {
-        return ivrTaskcallMapper.selectIvrTaskcallByCallid(callid);
+    public IvrTaskcall selectIvrTaskcallById(Long id) {
+        return ivrTaskcallMapper.selectIvrTaskcallById(id);
     }
 
     /**
-     * 鏌ヨ璇煶浠诲姟鍛煎彨鍒楄〃
-     * 
-     * @param ivrTaskcall 璇煶浠诲姟鍛煎彨
-     * @return 璇煶浠诲姟鍛煎彨
+     * 鏌ヨ鍗曚竴浠诲姟锛堥殢璁匡級鍒楄〃
+     *
+     * @param ivrTaskcall 鍗曚竴浠诲姟锛堥殢璁匡級
+     * @return 鍗曚竴浠诲姟锛堥殢璁匡級
      */
     @Override
-    public List<IvrTaskcall> selectIvrTaskcallList(IvrTaskcall ivrTaskcall)
-    {
+    public List<IvrTaskcall> selectIvrTaskcallList(IvrTaskcall ivrTaskcall) {
         return ivrTaskcallMapper.selectIvrTaskcallList(ivrTaskcall);
     }
 
     /**
-     * 鏂板璇煶浠诲姟鍛煎彨
-     * 
-     * @param ivrTaskcall 璇煶浠诲姟鍛煎彨
+     * 鏂板鍗曚竴浠诲姟锛堥殢璁匡級
+     *
+     * @param ivrTaskcall 鍗曚竴浠诲姟锛堥殢璁匡級
      * @return 缁撴灉
      */
     @Override
-    public int insertIvrTaskcall(IvrTaskcall ivrTaskcall)
-    {
+    public int insertIvrTaskcall(IvrTaskcall ivrTaskcall) {
         ivrTaskcall.setCreateTime(DateUtils.getNowDate());
         return ivrTaskcallMapper.insertIvrTaskcall(ivrTaskcall);
     }
 
     /**
-     * 淇敼璇煶浠诲姟鍛煎彨
-     * 
-     * @param ivrTaskcall 璇煶浠诲姟鍛煎彨
+     * 淇敼鍗曚竴浠诲姟锛堥殢璁匡級
+     *
+     * @param ivrTaskcall 鍗曚竴浠诲姟锛堥殢璁匡級
      * @return 缁撴灉
      */
     @Override
-    public int updateIvrTaskcall(IvrTaskcall ivrTaskcall)
-    {
+    public int updateIvrTaskcall(IvrTaskcall ivrTaskcall) {
         ivrTaskcall.setUpdateTime(DateUtils.getNowDate());
         return ivrTaskcallMapper.updateIvrTaskcall(ivrTaskcall);
     }
 
     /**
-     * 鎵归噺鍒犻櫎璇煶浠诲姟鍛煎彨
-     * 
-     * @param callids 闇�瑕佸垹闄ょ殑璇煶浠诲姟鍛煎彨涓婚敭
+     * 鎵归噺鍒犻櫎鍗曚竴浠诲姟锛堥殢璁匡級
+     *
+     * @param ids 闇�瑕佸垹闄ょ殑鍗曚竴浠诲姟锛堥殢璁匡級涓婚敭
      * @return 缁撴灉
      */
     @Override
-    public int deleteIvrTaskcallByCallids(Long[] callids)
-    {
-        return ivrTaskcallMapper.deleteIvrTaskcallByCallids(callids);
+    public int deleteIvrTaskcallByIds(Long[] ids) {
+        Integer i = 0;
+        for (Long id : ids) {
+            i = ivrTaskcallMapper.deleteIvrTaskcallById(id);
+        }
+        return i;
     }
 
     /**
-     * 鍒犻櫎璇煶浠诲姟鍛煎彨淇℃伅
-     * 
-     * @param callid 璇煶浠诲姟鍛煎彨涓婚敭
+     * 鍗曚竴浠诲姟
+     *
+     * @param ivrTaskcallVO 鍗曚竴浠诲姟
      * @return 缁撴灉
      */
+    @Transactional(rollbackFor = Exception.class)
     @Override
-    public int deleteIvrTaskcallByCallid(Long callid)
-    {
-        return ivrTaskcallMapper.deleteIvrTaskcallByCallid(callid);
+    public int insertOrUpdateTask(IvrTaskcallVO ivrTaskcallVO) {
+        if (ObjectUtils.isEmpty(ivrTaskcallVO)) {
+            log.info("瀹f暀浠诲姟鍏ュ弬涓虹┖锛岃妫�鏌ュ叆鍙�");
+            throw new BaseException("瀹f暀浠诲姟鍏ュ弬涓虹┖锛岃妫�鏌ュ叆鍙�");
+        }
+        Integer integer = 0;
+        if (ivrTaskcallVO.getIsoperation() != null && ivrTaskcallVO.getIsoperation() == 1) {
+            //鏂板
+            if (CollectionUtils.isNotEmpty(ivrTaskcallVO.getPatTaskRelevances())) {
+                for (PatTaskRelevance patTaskRelevance : ivrTaskcallVO.getPatTaskRelevances()) {
+                    //灏嗕换鍔′俊鎭柊澧炲埌瀹f暀浠诲姟琛ㄤ腑
+                    IvrTaskcall ivrTaskcall = DtoConversionUtils.sourceToTarget(ivrTaskcallVO, IvrTaskcall.class);
+                    ivrTaskcall.setSendname(patTaskRelevance.getName());
+                    ivrTaskcall.setAge(patTaskRelevance.getAge());
+                    ivrTaskcall.setSfzh(patTaskRelevance.getSfzh());
+                    ivrTaskcall.setPhone(patTaskRelevance.getPhone());
+                    ivrTaskcall.setAddr(patTaskRelevance.getAddr());
+                    ivrTaskcall.setCreateTime(DateUtils.getNowDate());
+                    ivrTaskcall.setTextParam(new Gson().toJson(ivrTaskcallVO.getTextParam()));
+                    ivrTaskcallMapper.insertIvrTaskcall(ivrTaskcall);
+                    integer = ivrTaskcall.getId().intValue();
+                }
+            }
+
+        } else if (ivrTaskcallVO.getIsoperation() != null && ivrTaskcallVO.getIsoperation() == 2) {
+            if (CollectionUtils.isNotEmpty(ivrTaskcallVO.getPatTaskRelevances())) {
+                for (PatTaskRelevance patTaskRelevance : ivrTaskcallVO.getPatTaskRelevances()) {
+                    IvrTaskcall ivrTaskcall = DtoConversionUtils.sourceToTarget(ivrTaskcallVO, IvrTaskcall.class);
+                    ivrTaskcall.setSendname(patTaskRelevance.getName());
+                    ivrTaskcall.setAge(patTaskRelevance.getAge());
+                    ivrTaskcall.setSfzh(patTaskRelevance.getSfzh());
+                    ivrTaskcall.setPhone(patTaskRelevance.getPhone());
+                    ivrTaskcall.setAddr(patTaskRelevance.getAddr());
+                    ivrTaskcall.setCreateTime(DateUtils.getNowDate());
+                    ivrTaskcall.setTextParam(new Gson().toJson(ivrTaskcallVO.getTextParam()));
+
+                    ivrTaskcallMapper.updateIvrTaskcall(ivrTaskcall);
+                    integer = ivrTaskcall.getId().intValue();
+                }
+            }
+
+        } else if (ivrTaskcallVO.getIsoperation() != null && ivrTaskcallVO.getIsoperation() == 3) {
+            ivrTaskcallMapper.deleteIvrTaskcallById(ivrTaskcallVO.getId());
+
+            integer = ivrTaskcallVO.getId().intValue();
+        }
+        return integer;
     }
+
 }
diff --git a/smartor/src/main/java/com/smartor/service/impl/PatHetaskRelevanceServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/PatHetaskRelevanceServiceImpl.java
deleted file mode 100644
index a13284f..0000000
--- a/smartor/src/main/java/com/smartor/service/impl/PatHetaskRelevanceServiceImpl.java
+++ /dev/null
@@ -1,97 +0,0 @@
-package com.smartor.service.impl;
-
-import com.ruoyi.common.utils.DateUtils;
-import com.smartor.domain.PatHetaskRelevance;
-import com.smartor.mapper.PatHetaskRelevanceMapper;
-import com.smartor.service.IPatHetaskRelevanceService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import java.util.List;
-
-/**
- * 鎮h�呬笌瀹f暀浠诲姟鍏宠仈Service涓氬姟灞傚鐞�
- * 
- * @author ruoyi
- * @date 2024-01-07
- */
-@Service
-public class PatHetaskRelevanceServiceImpl implements IPatHetaskRelevanceService
-{
-    @Autowired
-    private PatHetaskRelevanceMapper patHetaskRelevanceMapper;
-
-    /**
-     * 鏌ヨ鎮h�呬笌瀹f暀浠诲姟鍏宠仈
-     * 
-     * @param id 鎮h�呬笌瀹f暀浠诲姟鍏宠仈涓婚敭
-     * @return 鎮h�呬笌瀹f暀浠诲姟鍏宠仈
-     */
-    @Override
-    public PatHetaskRelevance selectPatHetaskRelevanceById(Long id)
-    {
-        return patHetaskRelevanceMapper.selectPatHetaskRelevanceById(id);
-    }
-
-    /**
-     * 鏌ヨ鎮h�呬笌瀹f暀浠诲姟鍏宠仈鍒楄〃
-     * 
-     * @param patHetaskRelevance 鎮h�呬笌瀹f暀浠诲姟鍏宠仈
-     * @return 鎮h�呬笌瀹f暀浠诲姟鍏宠仈
-     */
-    @Override
-    public List<PatHetaskRelevance> selectPatHetaskRelevanceList(PatHetaskRelevance patHetaskRelevance)
-    {
-        return patHetaskRelevanceMapper.selectPatHetaskRelevanceList(patHetaskRelevance);
-    }
-
-    /**
-     * 鏂板鎮h�呬笌瀹f暀浠诲姟鍏宠仈
-     * 
-     * @param patHetaskRelevance 鎮h�呬笌瀹f暀浠诲姟鍏宠仈
-     * @return 缁撴灉
-     */
-    @Override
-    public int insertPatHetaskRelevance(PatHetaskRelevance patHetaskRelevance)
-    {
-        patHetaskRelevance.setCreateTime(DateUtils.getNowDate());
-        return patHetaskRelevanceMapper.insertPatHetaskRelevance(patHetaskRelevance);
-    }
-
-    /**
-     * 淇敼鎮h�呬笌瀹f暀浠诲姟鍏宠仈
-     * 
-     * @param patHetaskRelevance 鎮h�呬笌瀹f暀浠诲姟鍏宠仈
-     * @return 缁撴灉
-     */
-    @Override
-    public int updatePatHetaskRelevance(PatHetaskRelevance patHetaskRelevance)
-    {
-        patHetaskRelevance.setUpdateTime(DateUtils.getNowDate());
-        return patHetaskRelevanceMapper.updatePatHetaskRelevance(patHetaskRelevance);
-    }
-
-    /**
-     * 鎵归噺鍒犻櫎鎮h�呬笌瀹f暀浠诲姟鍏宠仈
-     * 
-     * @param ids 闇�瑕佸垹闄ょ殑鎮h�呬笌瀹f暀浠诲姟鍏宠仈涓婚敭
-     * @return 缁撴灉
-     */
-    @Override
-    public int deletePatHetaskRelevanceByIds(Long[] ids)
-    {
-        return patHetaskRelevanceMapper.deletePatHetaskRelevanceByIds(ids);
-    }
-
-    /**
-     * 鍒犻櫎鎮h�呬笌瀹f暀浠诲姟鍏宠仈淇℃伅
-     * 
-     * @param id 鎮h�呬笌瀹f暀浠诲姟鍏宠仈涓婚敭
-     * @return 缁撴灉
-     */
-    @Override
-    public int deletePatHetaskRelevanceById(Long id)
-    {
-        return patHetaskRelevanceMapper.deletePatHetaskRelevanceById(id);
-    }
-}
diff --git a/smartor/src/main/java/com/smartor/service/impl/PatTaskRelevanceServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/PatTaskRelevanceServiceImpl.java
new file mode 100644
index 0000000..2428f53
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/service/impl/PatTaskRelevanceServiceImpl.java
@@ -0,0 +1,90 @@
+package com.smartor.service.impl;
+
+import com.ruoyi.common.utils.DateUtils;
+import com.smartor.domain.PatTaskRelevance;
+import com.smartor.mapper.PatTaskRelevanceMapper;
+import com.smartor.service.IPatTaskRelevanceService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * 鎮h�呬笌瀹f暀浠诲姟鍏宠仈Service涓氬姟灞傚鐞�
+ *
+ * @author ruoyi
+ * @date 2024-01-07
+ */
+@Service
+public class PatTaskRelevanceServiceImpl implements IPatTaskRelevanceService {
+    @Autowired
+    private PatTaskRelevanceMapper patTaskRelevanceMapper;
+
+    /**
+     * 鏌ヨ鎮h�呬笌瀹f暀浠诲姟鍏宠仈
+     *
+     * @param id 鎮h�呬笌瀹f暀浠诲姟鍏宠仈涓婚敭
+     * @return 鎮h�呬笌瀹f暀浠诲姟鍏宠仈
+     */
+    @Override
+    public PatTaskRelevance selectPatTaskRelevanceById(Long id) {
+        return patTaskRelevanceMapper.selectPatTaskRelevanceById(id);
+    }
+
+    /**
+     * 鏌ヨ鎮h�呬笌瀹f暀浠诲姟鍏宠仈鍒楄〃
+     *
+     * @param patTaskRelevance 鎮h�呬笌瀹f暀浠诲姟鍏宠仈
+     * @return 鎮h�呬笌瀹f暀浠诲姟鍏宠仈
+     */
+    @Override
+    public List<PatTaskRelevance> selectPatTaskRelevanceList(PatTaskRelevance patTaskRelevance) {
+        return patTaskRelevanceMapper.selectPatTaskRelevanceList(patTaskRelevance);
+    }
+
+    /**
+     * 鏂板鎮h�呬笌瀹f暀浠诲姟鍏宠仈
+     *
+     * @param patTaskRelevance 鎮h�呬笌瀹f暀浠诲姟鍏宠仈
+     * @return 缁撴灉
+     */
+    @Override
+    public int insertPatTaskRelevance(PatTaskRelevance patTaskRelevance) {
+        patTaskRelevance.setCreateTime(DateUtils.getNowDate());
+        return patTaskRelevanceMapper.insertPatTaskRelevance(patTaskRelevance);
+    }
+
+    /**
+     * 淇敼鎮h�呬笌瀹f暀浠诲姟鍏宠仈
+     *
+     * @param patTaskRelevance 鎮h�呬笌瀹f暀浠诲姟鍏宠仈
+     * @return 缁撴灉
+     */
+    @Override
+    public int updatePatTaskRelevance(PatTaskRelevance patTaskRelevance) {
+        patTaskRelevance.setUpdateTime(DateUtils.getNowDate());
+        return patTaskRelevanceMapper.updatePatTaskRelevance(patTaskRelevance);
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎鎮h�呬笌瀹f暀浠诲姟鍏宠仈
+     *
+     * @param ids 闇�瑕佸垹闄ょ殑鎮h�呬笌瀹f暀浠诲姟鍏宠仈涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deletePatTaskRelevanceByIds(Long[] ids) {
+        return patTaskRelevanceMapper.deletePatTaskRelevanceByIds(ids);
+    }
+
+    /**
+     * 鍒犻櫎鎮h�呬笌瀹f暀浠诲姟鍏宠仈淇℃伅
+     *
+     * @param id 鎮h�呬笌瀹f暀浠诲姟鍏宠仈涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deletePatTaskRelevanceById(Long id) {
+        return patTaskRelevanceMapper.deletePatTaskRelevanceById(id);
+    }
+}
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 fd958fb..12a7c82 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceThirdDataServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceThirdDataServiceImpl.java
@@ -10,12 +10,17 @@
 import com.smartor.service.IHospitalRecordService;
 import com.smartor.service.IHospitalUserinfoService;
 import com.smartor.service.IServiceThirdDataService;
+import com.smartor.yiwudataanalysis.ADT_A01;
 import com.smartor.yiwudataanalysis.ADT_A03;
-import lombok.extern.log4j.Log4j;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.text.SimpleDateFormat;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 
 
@@ -25,7 +30,7 @@
  * @author ruoyi
  * @date 2023-10-10
  */
-@Log4j
+@Slf4j
 @Service
 public class ServiceThirdDataServiceImpl implements IServiceThirdDataService {
 
@@ -40,7 +45,9 @@
     @Override
     public List<ServiceThirdData> queryList(ServiceThirdData serviceThirdData) {
 
+        log.info("------serviceThirdData鐨勫叆鍙傦細{}", serviceThirdData);
         List<ServiceThirdData> serviceThirdDataList = serviceThirdDataMapper.selectServiceThirdDataList(serviceThirdData);
+        log.info("------serviceThirdDataList鑾峰彇鏁版嵁鐨勬暟閲忥細{}", serviceThirdDataList.size());
         for (ServiceThirdData std : serviceThirdDataList) {
             PipeParser parser = new PipeParser();
             Message message = null;
@@ -49,13 +56,24 @@
                 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 = new ArrayList<>();
+                if (serviceThirdData.getDataType().equals("ADT^A03")) {
+                    ADT_A03 adt_a03 = new ADT_A03();
+                    objectList = adt_a03.explainPID(message, dataInfo);
+                } else if (serviceThirdData.getDataType().equals("ADT^A01")) {
+                    ADT_A01 adt_a01 = new ADT_A01();
+                    objectList = adt_a01.explainPID(message, dataInfo);
+                }
 
-                List<Object> objectList = adt_a03.explainPID(message, dataInfo);
                 HospitalRecord hospitalRecord = (HospitalRecord) objectList.get(0);
+                log.info("hospitalRecord鐨勫�间负锛歿}", hospitalRecord);
                 iHospitalRecordService.insertHospitalRecord(hospitalRecord);
 
                 HospitalUserinfo hospitalUserinfo = (HospitalUserinfo) objectList.get(1);
+                Date currentTime = new Date();
+                SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+                String formattedDate = formatter.format(currentTime);
+                hospitalUserinfo.setCreateTime(formattedDate);
                 iHospitalUserinfoService.insertHospitalUserinfo(hospitalUserinfo);
 
                 int ii = serviceThirdDataMapper.updateIsDeal(std.getId());
diff --git a/smartor/src/main/java/com/smartor/yiwudataanalysis/ADT_A01.java b/smartor/src/main/java/com/smartor/yiwudataanalysis/ADT_A01.java
new file mode 100644
index 0000000..fc30dba
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/yiwudataanalysis/ADT_A01.java
@@ -0,0 +1,525 @@
+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 org.apache.commons.lang3.ObjectUtils;
+
+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_A01 {
+    //瑙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 = "";
+        String pinyin = "";
+        if (pid5_patientName != null && pid5_patientName.length > 0) {
+            for (XPN xpn : pid5_patientName) {
+                //鎷奸煶
+                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();
+        String xxdm = "";
+        String xxmc = "";
+        String rhxxdm = "";
+        String rhxxmc = "";
+        if (pid10_race != null && pid10_race.length > 0) {
+            for (CE ce : pid10_race) {
+                //琛�鍨嬩唬鐮�
+                xxdm = ce.getCe1_Identifier().encode();
+                //琛�鍨嬪悕绉�
+                xxmc = ce.getCe2_Text().encode();
+                //rh琛�鍨嬩唬鐮�
+                rhxxdm = ce.getCe4_AlternateIdentifier().encode();
+                //rh琛�鍨嬪悕绉�
+                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;
+        if (pid11_patientAddress != null && pid11_patientAddress.length > 0) {
+            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;
+        if (pid13_phoneNumberHome != null && pid13_phoneNumberHome.length > 0) {
+            for (XTN xtn : pid13_phoneNumberHome) {
+                //鐢佃瘽绫诲瀷浠g爜锛堝弬鑰冨瓧鍏革級
+                String lxdm = xtn.getTelecommunicationEquipmentType().encode();
+                //鐢佃瘽鍙风爜
+                phone = xtn.getPhoneNumber().encode();
+            }
+        }
+
+        //宸ヤ綔鐢佃瘽
+        XTN[] pid14_phoneNumberBusiness = pid.getPid14_PhoneNumberBusiness();
+        String phoneNumberWork = "";
+        if (pid14_phoneNumberBusiness != null && pid14_phoneNumberBusiness.length > 0) {
+            for (XTN xtn : pid14_phoneNumberBusiness) {
+                //宸ヤ綔鐢佃瘽
+                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();
+        String mqid = "";
+        if (pid21_motherSIdentifier != null && pid21_motherSIdentifier.length > 0) {
+            for (CX cx : pid21_motherSIdentifier) {
+                //姣嶄翰浣忛櫌 ID(闂ㄨ瘖涓嶅~锛屼綇闄㈠繀濉�)
+                mqid = cx.getID().encode();
+            }
+        }
+
+        //姘戞棌
+        CE[] pid22_ethnicGroup = pid.getPid22_EthnicGroup();
+        String mztext = null;
+        if (pid22_ethnicGroup != null && pid22_ethnicGroup.length > 0) {
+            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();
+        String zytext = "";
+        String Identifier = "";
+        if (citizenship != null && citizenship.length > 0) {
+            for (CE ce : citizenship) {
+                //鑱屼笟浠g爜
+                Identifier = ce.getIdentifier().encode();
+                //鑱屼笟鍚嶇О
+                zytext = ce.getText().encode();
+            }
+        }
+
+        //鍥界睄浠g爜
+        String Identifier2 = 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;
+        if (pv17_attendingDoctor != null && pv17_attendingDoctor.length > 0) {
+            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();
+        if (pv117_admittingDoctor != null && pv117_admittingDoctor.length > 0) {
+            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();
+        String financialClass = "";
+        if (pv120_financialClass != null && pv120_financialClass.length > 0) {
+            for (FC fc : pv120_financialClass) {
+                financialClass = fc.getFinancialClass().encode();
+            }
+        }
+
+        //璐圭敤鎬ц川
+        String pv121_chargePriceIndicator = pv1.getPv121_ChargePriceIndicator().encode();
+
+        //鍏ョ鏃ユ湡
+        DT[] pv125_contractEffectiveDate = pv1.getPv125_ContractEffectiveDate();
+        String rkdate = null;
+        if (pv125_contractEffectiveDate != null && pv125_contractEffectiveDate.length > 0) {
+            for (DT dt : pv125_contractEffectiveDate) {
+
+                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"); // 杈撳嚭鏃ユ湡鏍煎紡
+                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();
+        String dischargeDateTime = null;
+        if (pv145_dischargeDateTime != null && pv145_dischargeDateTime.length > 0) {
+            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"); // 杈撳嚭鏃ユ湡鏍煎紡
+            dischargeDateTime = outputFormat.format(date2);
+        }
+        //璁块棶鏍囩ず
+        String visitIndicator = pv1.getPv151_VisitIndicator().encode();
+
+        //鎿嶄綔浜轰俊鎭�
+        XCN[] pv152_otherHealthcareProvider = pv1.getPv152_OtherHealthcareProvider();
+        if (pv152_otherHealthcareProvider != null && pv152_otherHealthcareProvider.length > 0) {
+            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;
+        if (dg1s != null && dg1s.length > 0) {
+            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/java/com/smartor/yiwudataanalysis/ADT_A03.java b/smartor/src/main/java/com/smartor/yiwudataanalysis/ADT_A03.java
index b7c7acd..a943e4c 100644
--- a/smartor/src/main/java/com/smartor/yiwudataanalysis/ADT_A03.java
+++ b/smartor/src/main/java/com/smartor/yiwudataanalysis/ADT_A03.java
@@ -37,7 +37,7 @@
 
         //鎮h�呯浉鍏� ID^^^鎺堟潈鏈烘瀯
         CX[] pid3_patientIdentifierList = pid.getPid3_PatientIdentifierList();
-        if (pid3_patientIdentifierList != null || pid3_patientIdentifierList.length > 0) {
+        if (pid3_patientIdentifierList != null && pid3_patientIdentifierList.length > 0) {
             for (CX cx : pid3_patientIdentifierList) {
                 //鎮h�呯浉鍏矷D
                 String hzxgID = cx.getID().encode();
@@ -48,7 +48,7 @@
 
         //闂ㄨ瘖涓嶅~锛屼綇闄㈠繀濉�
         CX[] pid4_alternatePatientIDPID = pid.getPid4_AlternatePatientIDPID();
-        if (pid4_alternatePatientIDPID != null || pid4_alternatePatientIDPID.length > 0) {
+        if (pid4_alternatePatientIDPID != null && pid4_alternatePatientIDPID.length > 0) {
             for (CX cx : pid4_alternatePatientIDPID) {
                 //闈炲┐鍎� 0 濠村効 1
                 String s = cx.getID().encode();
@@ -313,18 +313,21 @@
 
         //鍏ョ鏃ユ湡
         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();
+        if (pv125_contractEffectiveDate != null && pv125_contractEffectiveDate.length > 0) {
+            DT dt = pv125_contractEffectiveDate[0];
+
+            SimpleDateFormat inputFormattt = new SimpleDateFormat("yyyyMMdd"); // 杈撳叆鏃ユ湡鏍煎紡
+
+            try {
+                date22 = inputFormattt.parse(dt.encode());
+            } catch (ParseException e) {
+                e.printStackTrace();
+            }
         }
         SimpleDateFormat outputFormat2 = new SimpleDateFormat("yyyy-MM-dd"); // 杈撳嚭鏃ユ湡鏍煎紡
-        String rkdate = outputFormat2.format(date22);
-
+        String rkdate =null;
+        if(date22!=null) rkdate = outputFormat2.format(date22);
 
         //璐︽埛鍐荤粨寤鸿
         String pv128_interestCode = pv1.getPv128_InterestCode().encode();
diff --git a/smartor/src/main/resources/mapper/smartor/HeLibraryAssortMapper.xml b/smartor/src/main/resources/mapper/smartor/HeLibraryAssortMapper.xml
index 025194f..4770062 100644
--- a/smartor/src/main/resources/mapper/smartor/HeLibraryAssortMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/HeLibraryAssortMapper.xml
@@ -119,7 +119,7 @@
     <update id="deleteHeLibraryAssortById" parameterType="Long">
         update he_library_assort
         <trim prefix="SET" suffixOverrides=",">
-            <if test="delFlag != null and delFlag != ''">del_flag = 1,</if>
+           del_flag = 1
         </trim>
         where id = #{id}
     </update>
diff --git a/smartor/src/main/resources/mapper/smartor/HeLibraryMapper.xml b/smartor/src/main/resources/mapper/smartor/HeLibraryMapper.xml
index afc0e90..eb8ce08 100644
--- a/smartor/src/main/resources/mapper/smartor/HeLibraryMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/HeLibraryMapper.xml
@@ -37,6 +37,7 @@
         <result property="labelInfo" column="label_info"/>
         <result property="campus" column="campus"/>
         <result property="otherdata" column="otherdata"/>
+        <result property="richText" column="rich_text"/>
     </resultMap>
 
     <sql id="selectHeLibraryVo">
@@ -71,7 +72,8 @@
                dept_names,
                label_info,
                campus,
-               otherdata
+               otherdata,
+               rich_text
         from he_library
     </sql>
 
@@ -109,6 +111,7 @@
             <if test="deptNames != null  and deptNames != ''">and dept_names = #{deptNames}</if>
             <if test="labelInfo != null  and labelInfo != ''">and label_info = #{labelInfo}</if>
             <if test="campus != null  and campus != ''">and campus = #{campus}</if>
+            <if test="richText != null  and richText != ''">and rich_text = #{richText}</if>
         </where>
     </select>
 
@@ -151,6 +154,7 @@
             <if test="labelInfo != null">label_info,</if>
             <if test="campus != null">campus,</if>
             <if test="otherdata != null">otherdata,</if>
+            <if test="richText != null  and richText != ''">rich_text,</if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="classification != null">#{classification},</if>
@@ -184,6 +188,7 @@
             <if test="labelInfo != null">#{labelInfo},</if>
             <if test="campus != null">#{campus},</if>
             <if test="otherdata != null">#{otherdata},</if>
+            <if test="richText != null  and richText != ''">#{richText},</if>
         </trim>
     </insert>
 
@@ -221,6 +226,7 @@
             <if test="labelInfo != null ">label_info = #{labelInfo},</if>
             <if test="campus != null">campus = #{campus},</if>
             <if test="otherdata != null">otherdata = #{otherdata},</if>
+            <if test="richText != null  and richText != ''">rich_text = #{richText},</if>
         </trim>
         where id = #{id}
     </update>
diff --git a/smartor/src/main/resources/mapper/smartor/HeLibraryTagMapper.xml b/smartor/src/main/resources/mapper/smartor/HeLibraryTagMapper.xml
index c5675e7..9db09a7 100644
--- a/smartor/src/main/resources/mapper/smartor/HeLibraryTagMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/HeLibraryTagMapper.xml
@@ -123,7 +123,7 @@
     <update id="deleteHeLibraryTagById" parameterType="Long">
         update he_library_tag
         <trim prefix="SET" suffixOverrides=",">
-            <if test="delFlag != null and delFlag != ''">del_flag = 1,</if>
+            del_flag = 1
         </trim>
         where id = #{id}
     </update>
diff --git a/smartor/src/main/resources/mapper/smartor/HeTaskMapper.xml b/smartor/src/main/resources/mapper/smartor/HeTaskMapper.xml
index c1b52af..66e2962 100644
--- a/smartor/src/main/resources/mapper/smartor/HeTaskMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/HeTaskMapper.xml
@@ -35,6 +35,8 @@
         <result property="sendTime" column="send_time"/>
         <result property="isSend" column="is_send"/>
         <result property="sendState" column="send_state"/>
+        <result property="richText" column="rich_text"/>
+        <result property="textParam" column="text_param"/>
     </resultMap>
 
     <sql id="selectHeTaskVo">
@@ -67,7 +69,9 @@
                guid,
                send_time,
                is_send,
-               send_state
+               send_state,
+               rich_text,
+               text_param
         from he_task
     </sql>
 
@@ -103,6 +107,8 @@
             <if test="sendTime != null ">and send_time = #{sendTime}</if>
             <if test="isSend != null ">and is_send = #{isSend}</if>
             <if test="sendState != null ">and send_state = #{sendState}</if>
+            <if test="richText != null ">and rich_text = #{richText}</if>
+            <if test="textParam != null ">and text_param = #{textParam}</if>
         </where>
     </select>
 
@@ -143,6 +149,8 @@
             <if test="sendTime != null">send_time,</if>
             <if test="isSend != null">is_send,</if>
             <if test="sendState != null">send_state,</if>
+            <if test="richText != null ">rich_text,</if>
+            <if test="textParam != null ">text_param</if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="svrtaskid != null">#{svrtaskid},</if>
@@ -174,6 +182,8 @@
             <if test="sendTime != null">#{sendTime},</if>
             <if test="isSend != null">#{isSend},</if>
             <if test="sendState != null">#{sendState},</if>
+            <if test="richText != null ">#{richText},</if>
+            <if test="textParam != null ">#{textParam},</if>
         </trim>
     </insert>
 
@@ -209,6 +219,8 @@
             <if test="sendTime != null">send_time = #{sendTime},</if>
             <if test="isSend != null">is_send = #{isSend},</if>
             <if test="sendState != null">send_state = #{sendState},</if>
+            <if test="richText != null ">rich_text = #{richText},</if>
+            <if test="textParam != null ">text_param = #{textParam},</if>
         </trim>
         where id = #{id}
     </update>
diff --git a/smartor/src/main/resources/mapper/smartor/HospitalRecordMapper.xml b/smartor/src/main/resources/mapper/smartor/HospitalRecordMapper.xml
index cc936c7..4203106 100644
--- a/smartor/src/main/resources/mapper/smartor/HospitalRecordMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/HospitalRecordMapper.xml
@@ -220,7 +220,6 @@
     <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>
@@ -280,7 +279,6 @@
             <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>
diff --git a/smartor/src/main/resources/mapper/smartor/IvrLibaExtemplateCategoryMapper.xml b/smartor/src/main/resources/mapper/smartor/IvrLibaExtemplateCategoryMapper.xml
index 553266c..9141541 100644
--- a/smartor/src/main/resources/mapper/smartor/IvrLibaExtemplateCategoryMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/IvrLibaExtemplateCategoryMapper.xml
@@ -122,7 +122,7 @@
     <update id="deleteIvrLibaExtemplateCategoryByIntertcatid" parameterType="Long">
         update ivr_liba_extemplate_category
         <trim prefix="SET" suffixOverrides=",">
-            <if test="delFlag != null and delFlag != ''">del_flag = 1,</if>
+            del_flag = 1
         </trim>
         where intertcatid = #{intertcatid}
     </update>
diff --git a/smartor/src/main/resources/mapper/smartor/IvrLibaExtemplateMapper.xml b/smartor/src/main/resources/mapper/smartor/IvrLibaExtemplateMapper.xml
index 1942c87..d485c90 100644
--- a/smartor/src/main/resources/mapper/smartor/IvrLibaExtemplateMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/IvrLibaExtemplateMapper.xml
@@ -53,7 +53,8 @@
         where ID = #{ID}
     </select>
 
-    <insert id="insertIvrLibaExtemplate" parameterType="com.smartor.domain.IvrLibaExtemplate">
+    <insert id="insertIvrLibaExtemplate" parameterType="com.smartor.domain.IvrLibaExtemplate" useGeneratedKeys="true"
+            keyProperty="ID">
         insert into ivr_liba_extemplate
         <trim prefix="(" suffix=")" suffixOverrides=",">
             <if test="ID != null">ID,</if>
diff --git a/smartor/src/main/resources/mapper/smartor/IvrLibaExtemplatescriptMapper.xml b/smartor/src/main/resources/mapper/smartor/IvrLibaExtemplatescriptMapper.xml
index c0636dc..009e649 100644
--- a/smartor/src/main/resources/mapper/smartor/IvrLibaExtemplatescriptMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/IvrLibaExtemplatescriptMapper.xml
@@ -68,7 +68,8 @@
         where ID = #{ID}
     </select>
 
-    <insert id="insertIvrLibaExtemplatescript" parameterType="com.smartor.domain.IvrLibaExtemplatescript">
+    <insert id="insertIvrLibaExtemplatescript" parameterType="com.smartor.domain.IvrLibaExtemplatescript" useGeneratedKeys="true"
+            keyProperty="ID">
         insert into ivr_liba_extemplatescript
         <trim prefix="(" suffix=")" suffixOverrides=",">
             <if test="ID != null">ID,</if>
diff --git a/smartor/src/main/resources/mapper/smartor/IvrLibaScriptAssortMapper.xml b/smartor/src/main/resources/mapper/smartor/IvrLibaScriptAssortMapper.xml
index 6eb5d02..e75896e 100644
--- a/smartor/src/main/resources/mapper/smartor/IvrLibaScriptAssortMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/IvrLibaScriptAssortMapper.xml
@@ -80,7 +80,7 @@
     <update id="deleteIvrLibaScriptAssortById" parameterType="Long">
         update ivr_liba_script_assort
         <trim prefix="SET" suffixOverrides=",">
-            <if test="delFlag != null">del_flag = 1,</if>
+           del_flag = 1
         </trim>
         where id = #{id}
     </update>
diff --git a/smartor/src/main/resources/mapper/smartor/IvrLibaScriptMapper.xml b/smartor/src/main/resources/mapper/smartor/IvrLibaScriptMapper.xml
index 231ff66..ef4f226 100644
--- a/smartor/src/main/resources/mapper/smartor/IvrLibaScriptMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/IvrLibaScriptMapper.xml
@@ -7,7 +7,7 @@
     <resultMap type="com.smartor.domain.IvrLibaScript" id="IvrLibaScriptResult">
         <result property="id" column="id"/>
         <result property="questiontitle" column="questiontitle"/>
-        <result property="questiontext" column="questiontext"/>
+        <result property="questionText" column="questionText"/>
         <result property="questionvoice" column="questionvoice"/>
         <result property="nomatchtext" column="nomatchtext"/>
         <result property="nomatchvoice" column="nomatchvoice"/>
@@ -58,7 +58,7 @@
                questiontitle,
                isenable,
                isAvailable,
-               questiontext,
+               questionText,
                questionvoice,
                nomatchtext,
                nomatchvoice,
@@ -89,7 +89,7 @@
             <if test="suitway != null  and suitway != ''">and suitway = #{suitway}</if>
             <if test="isAvailable != null  and isAvailable != ''">and isAvailable = #{isAvailable}</if>
             <if test="isenable != null ">and isenable = #{isenable}</if>
-            <if test="questiontext != null  and questiontext != ''">and questiontext = #{questiontext}</if>
+            <if test="questionText != null  and questionText != ''">and questionText = #{questionText}</if>
             <if test="questionvoice != null  and questionvoice != ''">and questionvoice = #{questionvoice}</if>
             <if test="nomatchtext != null  and nomatchtext != ''">and nomatchtext = #{nomatchtext}</if>
             <if test="nomatchvoice != null  and nomatchvoice != ''">and nomatchvoice = #{nomatchvoice}</if>
@@ -137,7 +137,7 @@
             <if test="tag != null">tag,</if>
             <if test="isAvailable != null">isAvailable,</if>
             <if test="isenable != null">isenable,</if>
-            <if test="questiontext != null">questiontext,</if>
+            <if test="questionText != null">questionText,</if>
             <if test="questionvoice != null">questionvoice,</if>
             <if test="nomatchtext != null">nomatchtext,</if>
             <if test="nomatchvoice != null">nomatchvoice,</if>
@@ -181,7 +181,7 @@
             <if test="tag != null">#{tag},</if>
             <if test="isAvailable != null">#{isAvailable},</if>
             <if test="isenable != null">#{isenable},</if>
-            <if test="questiontext != null">#{questiontext},</if>
+            <if test="questionText != null">#{questionText},</if>
             <if test="questionvoice != null">#{questionvoice},</if>
             <if test="nomatchtext != null">#{nomatchtext},</if>
             <if test="nomatchvoice != null">#{nomatchvoice},</if>
@@ -225,7 +225,7 @@
             <if test="suitway != null">suitway = #{suitway},</if>
             <if test="isAvailable != null">isAvailable = #{isAvailable},</if>
             <if test="isenable != null">isenable = #{isenable},</if>
-            <if test="questiontext != null">questiontext = #{questiontext},</if>
+            <if test="questionText != null">questionText = #{questionText},</if>
             <if test="questionvoice != null">questionvoice = #{questionvoice},</if>
             <if test="nomatchtext != null">nomatchtext = #{nomatchtext},</if>
             <if test="nomatchvoice != null">nomatchvoice = #{nomatchvoice},</if>
@@ -270,7 +270,7 @@
     <update id="deleteIvrLibaScriptByQuestionid" parameterType="Integer">
         update ivr_liba_script
         <trim prefix="SET" suffixOverrides=",">
-            <if test="delFlag != null and delFlag != ''">del_flag = 1,</if>
+            del_flag = 1
         </trim>
         where id = #{id}
     </update>
diff --git a/smartor/src/main/resources/mapper/smartor/IvrLibaScriptTagMapper.xml b/smartor/src/main/resources/mapper/smartor/IvrLibaScriptTagMapper.xml
index b4e2daf..b2bc49e 100644
--- a/smartor/src/main/resources/mapper/smartor/IvrLibaScriptTagMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/IvrLibaScriptTagMapper.xml
@@ -128,7 +128,7 @@
     <delete id="deleteIvrLibaScriptTagById" parameterType="Long">
         update ivr_liba_script_tag
         <trim prefix="SET" suffixOverrides=",">
-            <if test="delFlag != null and delFlag != ''">del_flag = 1,</if>
+           del_flag = 1
         </trim>
         where id = #{id}
     </delete>
diff --git a/smartor/src/main/resources/mapper/smartor/IvrLibaScriptTargetMapper.xml b/smartor/src/main/resources/mapper/smartor/IvrLibaScriptTargetMapper.xml
index 652855c..5116f30 100644
--- a/smartor/src/main/resources/mapper/smartor/IvrLibaScriptTargetMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/IvrLibaScriptTargetMapper.xml
@@ -173,7 +173,7 @@
     <delete id="deleteIvrLibaScriptTargetByQuestionTargetID" parameterType="Long">
         update ivr_liba_script_target
         <trim prefix="SET" suffixOverrides=",">
-            <if test="delFlag != null and delFlag != ''">del_flag = 1</if>
+            del_flag = 1
         </trim>
         where id = #{id}
     </delete>
diff --git a/smartor/src/main/resources/mapper/smartor/IvrLibaScriptTargetoptionMapper.xml b/smartor/src/main/resources/mapper/smartor/IvrLibaScriptTargetoptionMapper.xml
index ffdac29..e67684d 100644
--- a/smartor/src/main/resources/mapper/smartor/IvrLibaScriptTargetoptionMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/IvrLibaScriptTargetoptionMapper.xml
@@ -13,6 +13,7 @@
         <result property="categoryName" column="categoryName"/>
         <result property="targetvalue" column="targetvalue"/>
         <result property="targetregex" column="targetregex"/>
+        <result property="targetregex2" column="targetregex2"/>
         <result property="optiondesc" column="optiondesc"/>
         <result property="language" column="language"/>
         <result property="version" column="version"/>
@@ -30,6 +31,8 @@
         <result property="orgid" column="orgid"/>
         <result property="pid" column="pid"/>
         <result property="guid" column="guid"/>
+        <result property="nodynamiccruxsJson" column="nodynamiccruxs"/>
+        <result property="dynamiccruxsJson" column="dynamiccruxs"/>
     </resultMap>
 
     <sql id="selectIvrLibaScriptTargetoptionVo">
@@ -41,6 +44,9 @@
                categoryName,
                targetvalue,
                targetregex,
+               targetregex2,
+               nodynamiccruxs,
+               dynamiccruxs,
                optiondesc, language, version, groupid, isabnormal, warnup, warndown, del_flag, update_by, update_time, create_by, create_time, isupload, upload_time, orgid, pid, guid
         from ivr_liba_script_targetoption
     </sql>
@@ -58,6 +64,7 @@
             </if>
             <if test="targetvalue != null  and targetvalue != ''">and targetvalue = #{targetvalue}</if>
             <if test="targetregex != null  and targetregex != ''">and targetregex = #{targetregex}</if>
+            <if test="targetregex2 != null  and targetregex2 != ''">and targetregex2 = #{targetregex2}</if>
             <if test="optiondesc != null  and optiondesc != ''">and optiondesc = #{optiondesc}</if>
             <if test="language != null  and language != ''">and language = #{language}</if>
             <if test="version != null ">and version = #{version}</if>
@@ -70,6 +77,8 @@
             <if test="orgid != null  and orgid != ''">and orgid = #{orgid}</if>
             <if test="pid != null ">and pid = #{pid}</if>
             <if test="guid != null  and guid != ''">and guid = #{guid}</if>
+            <if test="nodynamiccruxsJson != null ">and nodynamiccruxs = #{nodynamiccruxsJson}</if>
+            <if test="dynamiccruxsJson != null ">and dynamiccruxs = #{dynamiccruxsJson}</if>
         </where>
     </select>
 
@@ -90,6 +99,7 @@
             <if test="categoryName != null and categoryName != ''">categoryName,</if>
             <if test="targetvalue != null">targetvalue,</if>
             <if test="targetregex != null">targetregex,</if>
+            <if test="targetregex2 != null">targetregex2,</if>
             <if test="optiondesc != null">optiondesc,</if>
             <if test="language != null and language != ''">language,</if>
             <if test="version != null">version,</if>
@@ -107,6 +117,8 @@
             <if test="orgid != null">orgid,</if>
             <if test="pid != null">pid,</if>
             <if test="guid != null">guid,</if>
+            <if test="nodynamiccruxsJson != null ">nodynamiccruxs,</if>
+            <if test="dynamiccruxsJson != null ">dynamiccruxs,</if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="id != null">#{id},</if>
@@ -117,6 +129,7 @@
             <if test="categoryName != null and categoryName != ''">#{categoryName},</if>
             <if test="targetvalue != null">#{targetvalue},</if>
             <if test="targetregex != null">#{targetregex},</if>
+            <if test="targetregex2 != null">#{targetregex2},</if>
             <if test="optiondesc != null">#{optiondesc},</if>
             <if test="language != null and language != ''">#{language},</if>
             <if test="version != null">#{version},</if>
@@ -134,6 +147,8 @@
             <if test="orgid != null">#{orgid},</if>
             <if test="pid != null">#{pid},</if>
             <if test="guid != null">#{guid},</if>
+            <if test="nodynamiccruxsJson != null ">#{nodynamiccruxsJson},</if>
+            <if test="dynamiccruxsJson != null ">#{dynamiccruxsJson},</if>
         </trim>
     </insert>
 
@@ -147,6 +162,7 @@
             <if test="categoryName != null and categoryName != ''">categoryName = #{categoryName},</if>
             <if test="targetvalue != null">targetvalue = #{targetvalue},</if>
             <if test="targetregex != null">targetregex = #{targetregex},</if>
+            <if test="targetregex2 != null">targetregex2 = #{targetregex2},</if>
             <if test="optiondesc != null">optiondesc = #{optiondesc},</if>
             <if test="language != null and language != ''">language = #{language},</if>
             <if test="version != null">version = #{version},</if>
@@ -164,6 +180,8 @@
             <if test="orgid != null">orgid = #{orgid},</if>
             <if test="pid != null">pid = #{pid},</if>
             <if test="guid != null">guid = #{guid},</if>
+            <if test="nodynamiccruxsJson != null ">nodynamiccruxs = #{nodynamiccruxsJson},</if>
+            <if test="dynamiccruxsJson != null ">dynamiccruxs = #{dynamiccruxsJson},</if>
         </trim>
         where id = #{id}
     </update>
@@ -171,7 +189,7 @@
     <delete id="deleteIvrLibaScriptTargetoptionByTargetoptionid" parameterType="Long">
         update ivr_liba_script_targetoption
         <trim prefix="SET" suffixOverrides=",">
-            <if test="delFlag != null and delFlag != ''">del_flag = 1</if>
+            del_flag = 1
         </trim>
         where id = #{id}
     </delete>
diff --git a/smartor/src/main/resources/mapper/smartor/IvrLibaTargetAssortMapper.xml b/smartor/src/main/resources/mapper/smartor/IvrLibaTargetAssortMapper.xml
index ccfc346..3e316a2 100644
--- a/smartor/src/main/resources/mapper/smartor/IvrLibaTargetAssortMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/IvrLibaTargetAssortMapper.xml
@@ -74,7 +74,7 @@
     <update id="deleteIvrLibaTargetAssortById" parameterType="Long">
         update ivr_liba_target_assort
         <trim prefix="SET" suffixOverrides=",">
-            <if test="delFlag != null">del_flag = 1,</if>
+            del_flag = 1
         </trim>
         where id = #{id}
     </update>
diff --git a/smartor/src/main/resources/mapper/smartor/IvrLibaTargetoptionMapper.xml b/smartor/src/main/resources/mapper/smartor/IvrLibaTargetoptionMapper.xml
index e9e73fe..3a41b36 100644
--- a/smartor/src/main/resources/mapper/smartor/IvrLibaTargetoptionMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/IvrLibaTargetoptionMapper.xml
@@ -11,6 +11,9 @@
         <result property="categoryName" column="categoryName"/>
         <result property="targetvalue" column="targetvalue"/>
         <result property="targetregex" column="targetregex"/>
+        <result property="targetregex2" column="targetregex2"/>
+        <result property="nodynamiccruxsJson" column="nodynamiccruxs"/>
+        <result property="dynamiccruxsJson" column="dynamiccruxs"/>
         <result property="optiondesc" column="optiondesc"/>
         <result property="language" column="language"/>
         <result property="version" column="version"/>
@@ -37,6 +40,9 @@
                categoryName,
                targetvalue,
                targetregex,
+               targetregex2,
+               nodynamiccruxs,
+               dynamiccruxs,
                optiondesc, language, version, groupid, isabnormal, warnup, warndown, del_flag, update_by, update_time, create_by, create_time, isupload, upload_time, orgid, pid, guid
         from ivr_liba_targetoption
     </sql>
@@ -53,6 +59,7 @@
             </if>
             <if test="targetvalue != null  and targetvalue != ''">and targetvalue = #{targetvalue}</if>
             <if test="targetregex != null  and targetregex != ''">and targetregex = #{targetregex}</if>
+            <if test="targetregex2 != null  and targetregex2 != ''">and targetregex2 = #{targetregex2}</if>
             <if test="optiondesc != null  and optiondesc != ''">and optiondesc = #{optiondesc}</if>
             <if test="language != null  and language != ''">and language = #{language}</if>
             <if test="version != null ">and version = #{version}</if>
@@ -65,6 +72,8 @@
             <if test="orgid != null  and orgid != ''">and orgid = #{orgid}</if>
             <if test="pid != null ">and pid = #{pid}</if>
             <if test="guid != null  and guid != ''">and guid = #{guid}</if>
+            <if test="nodynamiccruxsJson != null">and nodynamiccruxs = #{nodynamiccruxsJson}</if>
+            <if test="dynamiccruxsJson != null">and dynamiccruxs = #{dynamiccruxsJson}</if>
 
         </where>
         order by guid asc
@@ -84,6 +93,7 @@
             <if test="categoryName != null and categoryName != ''">categoryName,</if>
             <if test="targetvalue != null">targetvalue,</if>
             <if test="targetregex != null">targetregex,</if>
+            <if test="targetregex2 != null">targetregex2,</if>
             <if test="optiondesc != null">optiondesc,</if>
             <if test="language != null and language != ''">language,</if>
             <if test="version != null">version,</if>
@@ -101,6 +111,8 @@
             <if test="orgid != null">orgid,</if>
             <if test="pid != null">pid,</if>
             <if test="guid != null">guid,</if>
+            <if test="nodynamiccruxsJson != null">nodynamiccruxs,</if>
+            <if test="dynamiccruxsJson != null">dynamiccruxs,</if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="targetid != null">#{targetid},</if>
@@ -108,6 +120,7 @@
             <if test="categoryName != null and categoryName != ''">#{categoryName},</if>
             <if test="targetvalue != null">#{targetvalue},</if>
             <if test="targetregex != null">#{targetregex},</if>
+            <if test="targetregex2 != null">#{targetregex2},</if>
             <if test="optiondesc != null">#{optiondesc},</if>
             <if test="language != null and language != ''">#{language},</if>
             <if test="version != null">#{version},</if>
@@ -125,6 +138,8 @@
             <if test="orgid != null">#{orgid},</if>
             <if test="pid != null">#{pid},</if>
             <if test="guid != null">#{guid},</if>
+            <if test="nodynamiccruxsJson != null">#{nodynamiccruxsJson},</if>
+            <if test="dynamiccruxsJson != null">#{dynamiccruxsJson},</if>
         </trim>
     </insert>
 
@@ -136,6 +151,7 @@
             <if test="categoryName != null and categoryName != ''">categoryName = #{categoryName},</if>
             <if test="targetvalue != null">targetvalue = #{targetvalue},</if>
             <if test="targetregex != null">targetregex = #{targetregex},</if>
+            <if test="targetregex2 != null">targetregex2 = #{targetregex2},</if>
             <if test="optiondesc != null">optiondesc = #{optiondesc},</if>
             <if test="language != null and language != ''">language = #{language},</if>
             <if test="version != null">version = #{version},</if>
@@ -153,6 +169,8 @@
             <if test="orgid != null">orgid = #{orgid},</if>
             <if test="pid != null">pid = #{pid},</if>
             <if test="guid != null">guid = #{guid},</if>
+            <if test="nodynamiccruxsJson != null">nodynamiccruxs = #{nodynamiccruxsJson},</if>
+            <if test="dynamiccruxsJson != null">dynamiccruxs = #{dynamiccruxsJson},</if>
         </trim>
         where targetoptionid = #{targetoptionid}
     </update>
diff --git a/smartor/src/main/resources/mapper/smartor/IvrLibaTemplateAssortMapper.xml b/smartor/src/main/resources/mapper/smartor/IvrLibaTemplateAssortMapper.xml
index deca375..6942101 100644
--- a/smartor/src/main/resources/mapper/smartor/IvrLibaTemplateAssortMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/IvrLibaTemplateAssortMapper.xml
@@ -74,7 +74,7 @@
     <update id="deleteIvrLibaTemplateAssortById" parameterType="Long">
         update ivr_liba_template_assort
         <trim prefix="SET" suffixOverrides=",">
-            <if test="delFlag != null">del_flag = 1,</if>
+            del_flag = 1
         </trim>
         where id = #{id}
     </update>
diff --git a/smartor/src/main/resources/mapper/smartor/IvrLibaTemplateMapper.xml b/smartor/src/main/resources/mapper/smartor/IvrLibaTemplateMapper.xml
index 91aba3e..e354686 100644
--- a/smartor/src/main/resources/mapper/smartor/IvrLibaTemplateMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/IvrLibaTemplateMapper.xml
@@ -49,11 +49,16 @@
         <result property="tag" column="tag"/>
         <result property="suitway" column="suitway"/>
         <result property="otherdata" column="otherdata"/>
+        <result property="mateNum" column="mate_num"/>
+        <result property="revisitBefore" column="revisit_before"/>
+        <result property="revisitAfter" column="revisit_after"/>
     </resultMap>
 
     <sql id="selectIvrLibaTemplateVo">
         select ID,
                targetid,
+               revisit_before,
+               revisit_after,
                targetname,
                templateName,
                silencetime,
@@ -66,6 +71,7 @@
                tag,
                otherdata,
                suitway,
+               mate_num,
                submodule, language, note, isEnable, addUserID, addTime, modifyUserID, modifyTime, groupID, label_info, submoduleID, playType, icd10code, icd10codename, atuoTaskDayOffset, deptIds, dept_names, F_KSDM, del_flag, update_by, update_time, create_by, create_time, isupload, upload_time, orgid, pid, guid, assortid, parameter
         from ivr_liba_template
     </sql>
@@ -79,6 +85,9 @@
                 '%')
             </if>
             <if test="targetid != null ">and targetid = #{targetid}</if>
+            <if test="revisitAfter != null ">and revisit_after = #{revisitAfter}</if>
+            <if test="revisitBefore != null ">and revisit_before = #{revisitBefore}</if>
+            <if test="mateNum != null ">and mate_num = #{mateNum}</if>
             <if test="suitway != null ">and suitway = #{suitway}</if>
             <if test="targetname != null and targetname !='' ">and targetname = #{targetname}</if>
             <if test="version != null and version !='' ">and version = #{version}</if>
@@ -173,6 +182,9 @@
             <if test="tag != null">tag,</if>
             <if test="suitway != null">suitway,</if>
             <if test="otherdata != null">otherdata,</if>
+            <if test="mateNum != null ">mate_num</if>
+            <if test="revisitAfter != null ">revisit_after</if>
+            <if test="revisitBefore != null ">revisit_before</if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="templateName != null and templateName != ''">#{templateName},</if>
@@ -218,6 +230,9 @@
             <if test="tag != null">#{tag},</if>
             <if test="suitway != null">#{suitway},</if>
             <if test="otherdata != null">#{otherdata},</if>
+            <if test="mateNum != null ">#{mateNum}</if>
+            <if test="revisitAfter != null ">#{revisitAfter}</if>
+            <if test="revisitBefore != null ">#{revisitBefore}</if>
         </trim>
     </insert>
 
@@ -267,6 +282,9 @@
             <if test="tag != null">tag = #{tag},</if>
             <if test="suitway != null">suitway = #{suitway},</if>
             <if test="otherdata != null">otherdata = #{otherdata},</if>
+            <if test="mateNum != null ">mate_num = #{mateNum}</if>
+            <if test="revisitAfter != null ">revisit_after = #{revisitAfter}</if>
+            <if test="revisitBefore != null ">revisit_before = #{revisitBefore}</if>
         </trim>
         where ID = #{ID}
     </update>
@@ -274,7 +292,7 @@
     <update id="deleteIvrLibaTemplateByID" parameterType="Long">
         update ivr_liba_template
         <trim prefix="SET" suffixOverrides=",">
-            <if test="delFlag != null and delFlag != ''">del_flag = 1,</if>
+            del_flag = 1
         </trim>
         where ID = #{ID}
     </update>
diff --git a/smartor/src/main/resources/mapper/smartor/IvrLibaTemplateScriptMapper.xml b/smartor/src/main/resources/mapper/smartor/IvrLibaTemplateScriptMapper.xml
index 0dcd354..0f8b3ca 100644
--- a/smartor/src/main/resources/mapper/smartor/IvrLibaTemplateScriptMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/IvrLibaTemplateScriptMapper.xml
@@ -38,6 +38,7 @@
         <result property="targetid" column="targetid"/>
         <result property="targettype" column="targettype"/>
         <result property="targetvalue" column="targettalue"/>
+        <result property="questiontitle" column="questiontitle"/>
     </resultMap>
 
     <sql id="selectIvrLibaTemplateScriptVo">
@@ -60,6 +61,7 @@
                targetid,
                targettype,
                targetvalue,
+               questiontitle,
                targetOptions, language, playWavOnly, isEnable, del_flag, update_by, update_time, create_by, create_time, isupload, upload_time, orgid, pid, guid
         from ivr_liba_template_script
     </sql>
@@ -82,6 +84,7 @@
             <if test="submoduleVoice != null  and submoduleVoice != ''">and submoduleVoice = #{submoduleVoice}</if>
             <if test="noClearlyText != null  and noClearlyText != ''">and noClearlyText = #{noClearlyText}</if>
             <if test="noClearlyVoice != null  and noClearlyVoice != ''">and noClearlyVoice = #{noClearlyVoice}</if>
+            <if test="questiontitle != null  and questiontitle != ''">and questiontitle = #{questiontitle}</if>
             <if test="categoryName != null  and categoryName != ''">and categoryName like concat('%', #{categoryName},
                 '%')
             </if>
@@ -105,7 +108,9 @@
         where ID = #{ID}
     </select>
 
-    <insert id="insertIvrLibaTemplateScript" parameterType="com.smartor.domain.IvrLibaTemplateScript">
+    <insert id="insertIvrLibaTemplateScript" parameterType="com.smartor.domain.IvrLibaTemplateScript"
+            useGeneratedKeys="true"
+            keyProperty="ID">
         insert into ivr_liba_template_script
         <trim prefix="(" suffix=")" suffixOverrides=",">
             <if test="templateQuestionNum != null">templateQuestionNum,</if>
@@ -140,6 +145,7 @@
             <if test="targetvalue != null">targetvalue,</if>
             <if test="targettype != null">targettype,</if>
             <if test="targetid != null">targetid,</if>
+            <if test="questiontitle != null">questiontitle,</if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="templateQuestionNum != null">#{templateQuestionNum},</if>
@@ -174,6 +180,7 @@
             <if test="targetvalue != null">#{targetvalue},</if>
             <if test="targettype != null">#{targettype},</if>
             <if test="targetid != null">#{targetid},</if>
+            <if test="questiontitle != null">#{questiontitle},</if>
         </trim>
     </insert>
 
@@ -212,6 +219,7 @@
             <if test="targetvalue != null">targetvalue = #{targetvalue},</if>
             <if test="targettype != null">targettype = #{targettype},</if>
             <if test="targetid != null">targetid = #{targetid},</if>
+            <if test="questiontitle != null">questiontitle = #{questiontitle},</if>
         </trim>
         where ID = #{ID}
     </update>
@@ -219,8 +227,7 @@
     <update id="deleteIvrLibaTemplateScriptByID" parameterType="Long">
         update ivr_liba_template_script
         <trim prefix="SET" suffixOverrides=",">
-
-            <if test="delFlag != null and delFlag != ''">del_flag = 1,</if>
+            del_flag = 1
         </trim>
         where ID = #{ID}
     </update>
diff --git a/smartor/src/main/resources/mapper/smartor/IvrLibaTemplateTagMapper.xml b/smartor/src/main/resources/mapper/smartor/IvrLibaTemplateTagMapper.xml
index bc7a927..761185d 100644
--- a/smartor/src/main/resources/mapper/smartor/IvrLibaTemplateTagMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/IvrLibaTemplateTagMapper.xml
@@ -129,7 +129,7 @@
     <delete id="deleteIvrLibaTemplateTagById" parameterType="Long">
         update ivr_liba_template_tag
         <trim prefix="SET" suffixOverrides=",">
-            <if test="delFlag != null and delFlag != ''">del_flag = 1,</if>
+           del_flag = 1
         </trim>
         where id = #{id}
     </delete>
diff --git a/smartor/src/main/resources/mapper/smartor/IvrLibaTemplateTargetMapper.xml b/smartor/src/main/resources/mapper/smartor/IvrLibaTemplateTargetMapper.xml
index f62c05a..5f61611 100644
--- a/smartor/src/main/resources/mapper/smartor/IvrLibaTemplateTargetMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/IvrLibaTemplateTargetMapper.xml
@@ -102,7 +102,8 @@
         where id = #{id}
     </select>
 
-    <insert id="insertIvrLibaTemplateTarget" parameterType="com.smartor.domain.IvrLibaTemplateTarget">
+    <insert id="insertIvrLibaTemplateTarget" parameterType="com.smartor.domain.IvrLibaTemplateTarget" useGeneratedKeys="true"
+            keyProperty="ID">
         insert into ivr_liba_template_target
         <trim prefix="(" suffix=")" suffixOverrides=",">
             <if test="templateQuestionID != null">templateQuestionID,</if>
@@ -210,7 +211,7 @@
     <update id="deleteIvrLibaTemplateTargetByID" parameterType="Long">
         update ivr_liba_template_target
         <trim prefix="SET" suffixOverrides=",">
-            <if test="delFlag != null and delFlag != ''">del_flag = 1,</if>
+           del_flag = 1
         </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 4b91023..c571d49 100644
--- a/smartor/src/main/resources/mapper/smartor/IvrLibaTemplateTargetoptionMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/IvrLibaTemplateTargetoptionMapper.xml
@@ -13,6 +13,9 @@
         <result property="categoryName" column="categoryName"/>
         <result property="targetvalue" column="targetvalue"/>
         <result property="targetregex" column="targetregex"/>
+        <result property="targetregex2" column="targetregex2"/>
+        <result property="nodynamiccruxsJson" column="nodynamiccruxs"/>
+        <result property="dynamiccruxsJson" column="dynamiccruxs"/>
         <result property="optiondesc" column="optiondesc"/>
         <result property="language" column="language"/>
         <result property="version" column="version"/>
@@ -43,6 +46,9 @@
                categoryName,
                targetvalue,
                targetregex,
+               targetregex2,
+               nodynamiccruxs,
+               dynamiccruxs,
                optiondesc, language, version, groupid, isabnormal, warnup, warndown, del_flag, update_by, update_time, create_by, create_time, isupload, upload_time, orgid, pid, guid
         from ivr_liba_template_targetoption
     </sql>
@@ -62,6 +68,7 @@
             </if>
             <if test="targetvalue != null  and targetvalue != ''">and targetvalue = #{targetvalue}</if>
             <if test="targetregex != null  and targetregex != ''">and targetregex = #{targetregex}</if>
+            <if test="targetregex2 != null  and targetregex2 != ''">and targetregex2 = #{targetregex2}</if>
             <if test="optiondesc != null  and optiondesc != ''">and optiondesc = #{optiondesc}</if>
             <if test="language != null  and language != ''">and language = #{language}</if>
             <if test="version != null  and version != ''">and version = #{version}</if>
@@ -74,6 +81,8 @@
             <if test="orgid != null  and orgid != ''">and orgid = #{orgid}</if>
             <if test="pid != null ">and pid = #{pid}</if>
             <if test="guid != null  and guid != ''">and guid = #{guid}</if>
+            <if test="nodynamiccruxsJson != null ">and nodynamiccruxs = #{nodynamiccruxsJson}</if>
+            <if test="dynamiccruxsJson != null ">and dynamiccruxs = #{dynamiccruxsJson}</if>
         </where>
     </select>
 
@@ -95,6 +104,7 @@
             <if test="categoryName != null and categoryName != ''">categoryName,</if>
             <if test="targetvalue != null">targetvalue,</if>
             <if test="targetregex != null">targetregex,</if>
+            <if test="targetregex2 != null">targetregex2,</if>
             <if test="optiondesc != null">optiondesc,</if>
             <if test="language != null and language != ''">language,</if>
             <if test="version != null and version != ''">version,</if>
@@ -112,6 +122,8 @@
             <if test="orgid != null">orgid,</if>
             <if test="pid != null">pid,</if>
             <if test="guid != null">guid,</if>
+            <if test="nodynamiccruxsJson != null ">nodynamiccruxs,</if>
+            <if test="dynamiccruxsJson != null ">dynamiccruxs,</if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="targetid != null">#{targetid},</if>
@@ -122,6 +134,7 @@
             <if test="categoryName != null and categoryName != ''">#{categoryName},</if>
             <if test="targetvalue != null">#{targetvalue},</if>
             <if test="targetregex != null">#{targetregex},</if>
+            <if test="targetregex2 != null">#{targetregex2},</if>
             <if test="optiondesc != null">#{optiondesc},</if>
             <if test="language != null and language != ''">#{language},</if>
             <if test="version != null and version != ''">#{version},</if>
@@ -139,6 +152,8 @@
             <if test="orgid != null">#{orgid},</if>
             <if test="pid != null">#{pid},</if>
             <if test="guid != null">#{guid},</if>
+            <if test="nodynamiccruxsJson != null ">#{nodynamiccruxsJson},</if>
+            <if test="dynamiccruxsJson != null ">#{dynamiccruxsJson},</if>
         </trim>
     </insert>
 
@@ -153,6 +168,7 @@
             <if test="categoryName != null and categoryName != ''">categoryName = #{categoryName},</if>
             <if test="targetvalue != null">targetvalue = #{targetvalue},</if>
             <if test="targetregex != null">targetregex = #{targetregex},</if>
+            <if test="targetregex2 != null">targetregex2 = #{targetregex2},</if>
             <if test="optiondesc != null">optiondesc = #{optiondesc},</if>
             <if test="language != null and language != ''">language = #{language},</if>
             <if test="version != null and version != ''">version = #{version},</if>
@@ -170,6 +186,8 @@
             <if test="orgid != null">orgid = #{orgid},</if>
             <if test="pid != null">pid = #{pid},</if>
             <if test="guid != null">guid = #{guid},</if>
+            <if test="nodynamiccruxsJson != null ">nodynamiccruxs = #{nodynamiccruxsJson},</if>
+            <if test="dynamiccruxsJson != null ">dynamiccruxs = #{dynamiccruxsJson},</if>
         </trim>
         where id = #{id}
     </update>
@@ -177,7 +195,7 @@
     <update id="deleteIvrLibaTemplateTargetoptionById" parameterType="Long">
         update ivr_liba_template_targetoption
         <trim prefix="SET" suffixOverrides=",">
-            <if test="delFlag != null and delFlag != ''">del_flag = 1,</if>
+            del_flag = 1
         </trim>
         where id = #{id}
     </update>
diff --git a/smartor/src/main/resources/mapper/smartor/IvrTaskcallMapper.xml b/smartor/src/main/resources/mapper/smartor/IvrTaskcallMapper.xml
index a090998..2fb37cd 100644
--- a/smartor/src/main/resources/mapper/smartor/IvrTaskcallMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/IvrTaskcallMapper.xml
@@ -1,113 +1,177 @@
 <?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">
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.smartor.mapper.IvrTaskcallMapper">
-    
-    <resultMap type="IvrTaskcall" id="IvrTaskcallResult">
-        <result property="callid"    column="callid"    />
-        <result property="sendname"    column="sendname"    />
-        <result property="phone"    column="phone"    />
-        <result property="sex"    column="sex"    />
-        <result property="age"    column="age"    />
-        <result property="sfzh"    column="sfzh"    />
-        <result property="addr"    column="addr"    />
-        <result property="senderdetail"    column="senderdetail"    />
-        <result property="inserttype"    column="inserttype"    />
-        <result property="taskid"    column="taskid"    />
-        <result property="templateid"    column="templateid"    />
-        <result property="templatename"    column="templatename"    />
-        <result property="senddate"    column="senddate"    />
-        <result property="sendlimitabegin"    column="sendlimitabegin"    />
-        <result property="sendlimitaend"    column="sendlimitaend"    />
-        <result property="sendlimitpbegin"    column="sendlimitpbegin"    />
-        <result property="sendlimitpend"    column="sendlimitpend"    />
-        <result property="sendlimitnbegin"    column="sendlimitnbegin"    />
-        <result property="sendlimitnend"    column="sendlimitnend"    />
-        <result property="sendstate"    column="sendstate"    />
-        <result property="senduuid"    column="senduuid"    />
-        <result property="result"    column="result"    />
-        <result property="finishtime"    column="finishtime"    />
-        <result property="userid"    column="userid"    />
-        <result property="username"    column="username"    />
-        <result property="addtime"    column="addtime"    />
-        <result property="updatetime"    column="updatetime"    />
-        <result property="outbounduuid"    column="outbounduuid"    />
-        <result property="recordid"    column="recordid"    />
-        <result property="recallcount"    column="recallcount"    />
-        <result property="exrecallcount"    column="exrecallcount"    />
-        <result property="pulltime"    column="pulltime"    />
-        <result property="bqsms"    column="bqsms"    />
-        <result property="bhsms"    column="bhsms"    />
-        <result property="deptcode"    column="deptcode"    />
-        <result property="labelstatus"    column="labelstatus"    />
-        <result property="delFlag"    column="del_flag"    />
-        <result property="updateBy"    column="update_by"    />
-        <result property="updateTime"    column="update_time"    />
-        <result property="createBy"    column="create_by"    />
-        <result property="createTime"    column="create_time"    />
-        <result property="isupload"    column="isupload"    />
-        <result property="uploadTime"    column="upload_time"    />
-        <result property="orgid"    column="orgid"    />
+
+    <resultMap type="com.smartor.domain.IvrTaskcall" id="IvrTaskcallResult">
+        <result property="id" column="id"/>
+        <result property="sendname" column="sendname"/>
+        <result property="phone" column="phone"/>
+        <result property="sex" column="sex"/>
+        <result property="age" column="age"/>
+        <result property="sfzh" column="sfzh"/>
+        <result property="addr" column="addr"/>
+        <result property="senderdetail" column="senderdetail"/>
+        <result property="type" column="type"/>
+        <result property="taskid" column="taskid"/>
+        <result property="templateid" column="templateid"/>
+        <result property="templatename" column="templatename"/>
+        <result property="senddate" column="senddate"/>
+        <result property="sendlimitabegin" column="sendlimitabegin"/>
+        <result property="sendlimitaend" column="sendlimitaend"/>
+        <result property="sendlimitpbegin" column="sendlimitpbegin"/>
+        <result property="sendlimitpend" column="sendlimitpend"/>
+        <result property="sendlimitnbegin" column="sendlimitnbegin"/>
+        <result property="sendlimitnend" column="sendlimitnend"/>
+        <result property="sendstate" column="sendstate"/>
+        <result property="senduuid" column="senduuid"/>
+        <result property="result" column="result"/>
+        <result property="finishtime" column="finishtime"/>
+        <result property="userid" column="userid"/>
+        <result property="username" column="username"/>
+        <result property="outbounduuid" column="outbounduuid"/>
+        <result property="recordid" column="recordid"/>
+        <result property="recallcount" column="recallcount"/>
+        <result property="exrecallcount" column="exrecallcount"/>
+        <result property="pulltime" column="pulltime"/>
+        <result property="bqsms" column="bqsms"/>
+        <result property="bhsms" column="bhsms"/>
+        <result property="deptcode" column="deptcode"/>
+        <result property="labelstatus" column="labelstatus"/>
+        <result property="delFlag" column="del_flag"/>
+        <result property="updateBy" column="update_by"/>
+        <result property="updateTime" column="update_time"/>
+        <result property="createBy" column="create_by"/>
+        <result property="createTime" column="create_time"/>
+        <result property="isupload" column="isupload"/>
+        <result property="uploadTime" column="upload_time"/>
+        <result property="orgid" column="orgid"/>
+        <result property="pid" column="pid"/>
+        <result property="guid" column="guid"/>
+        <result property="textParam" column="text_param"/>
+        <result property="serviceform" column="serviceform"/>
+        <result property="badNo" column="bad_no"/>
+        <result property="icdName" column="icd_name"/>
+        <result property="medicalRecordNo" column="medical_record_no"/>
+        <result property="preachcontent" column="preachcontent"/>
     </resultMap>
 
     <sql id="selectIvrTaskcallVo">
-        select callid, sendname, phone, sex, age, sfzh, addr, senderdetail, inserttype, taskid, templateid, templatename, senddate, sendlimitabegin, sendlimitaend, sendlimitpbegin, sendlimitpend, sendlimitnbegin, sendlimitnend, sendstate, senduuid, result, finishtime, userid, username, addtime, updatetime, outbounduuid, recordid, recallcount, exrecallcount, pulltime, bqsms, bhsms, deptcode, labelstatus, del_flag, update_by, update_time, create_by, create_time, isupload, upload_time, orgid from ivr_taskcall
+        select id,
+               sendname,
+               phone,
+               sex,
+               age,
+               sfzh,
+               addr,
+               senderdetail,
+               type,
+               taskid,
+               templateid,
+               templatename,
+               senddate,
+               sendlimitabegin,
+               sendlimitaend,
+               sendlimitpbegin,
+               sendlimitpend,
+               sendlimitnbegin,
+               sendlimitnend,
+               sendstate,
+               senduuid,
+               result,
+               finishtime,
+               userid,
+               username,
+               outbounduuid,
+               recordid,
+               recallcount,
+               exrecallcount,
+               pulltime,
+               bqsms,
+               bhsms,
+               deptcode,
+               labelstatus,
+               del_flag,
+               update_by,
+               update_time,
+               create_by,
+               create_time,
+               isupload,
+               upload_time,
+               orgid,
+               pid,
+               guid,
+               text_param,
+               serviceform,
+               badNo,
+               icdName,
+               medicalRecordNo,
+               preachcontent
+        from ivr_taskcall
     </sql>
 
-    <select id="selectIvrTaskcallList" parameterType="IvrTaskcall" resultMap="IvrTaskcallResult">
+    <select id="selectIvrTaskcallList" parameterType="com.smartor.domain.IvrTaskcall" resultMap="IvrTaskcallResult">
         <include refid="selectIvrTaskcallVo"/>
-        <where>  
-            <if test="sendname != null  and sendname != ''"> and sendname like concat('%', #{sendname}, '%')</if>
-            <if test="phone != null  and phone != ''"> and phone = #{phone}</if>
-            <if test="sex != null  and sex != ''"> and sex = #{sex}</if>
-            <if test="age != null "> and age = #{age}</if>
-            <if test="sfzh != null  and sfzh != ''"> and sfzh = #{sfzh}</if>
-            <if test="addr != null  and addr != ''"> and addr = #{addr}</if>
-            <if test="senderdetail != null  and senderdetail != ''"> and senderdetail = #{senderdetail}</if>
-            <if test="inserttype != null  and inserttype != ''"> and inserttype = #{inserttype}</if>
-            <if test="taskid != null "> and taskid = #{taskid}</if>
-            <if test="templateid != null  and templateid != ''"> and templateid = #{templateid}</if>
-            <if test="templatename != null  and templatename != ''"> and templatename like concat('%', #{templatename}, '%')</if>
-            <if test="senddate != null "> and senddate = #{senddate}</if>
-            <if test="sendlimitabegin != null  and sendlimitabegin != ''"> and sendlimitabegin = #{sendlimitabegin}</if>
-            <if test="sendlimitaend != null  and sendlimitaend != ''"> and sendlimitaend = #{sendlimitaend}</if>
-            <if test="sendlimitpbegin != null  and sendlimitpbegin != ''"> and sendlimitpbegin = #{sendlimitpbegin}</if>
-            <if test="sendlimitpend != null  and sendlimitpend != ''"> and sendlimitpend = #{sendlimitpend}</if>
-            <if test="sendlimitnbegin != null  and sendlimitnbegin != ''"> and sendlimitnbegin = #{sendlimitnbegin}</if>
-            <if test="sendlimitnend != null  and sendlimitnend != ''"> and sendlimitnend = #{sendlimitnend}</if>
-            <if test="sendstate != null "> and sendstate = #{sendstate}</if>
-            <if test="senduuid != null  and senduuid != ''"> and senduuid = #{senduuid}</if>
-            <if test="result != null  and result != ''"> and result = #{result}</if>
-            <if test="finishtime != null "> and finishtime = #{finishtime}</if>
-            <if test="userid != null  and userid != ''"> and userid = #{userid}</if>
-            <if test="username != null  and username != ''"> and username like concat('%', #{username}, '%')</if>
-            <if test="addtime != null "> and addtime = #{addtime}</if>
-            <if test="updatetime != null "> and updatetime = #{updatetime}</if>
-            <if test="outbounduuid != null  and outbounduuid != ''"> and outbounduuid = #{outbounduuid}</if>
-            <if test="recordid != null "> and recordid = #{recordid}</if>
-            <if test="recallcount != null "> and recallcount = #{recallcount}</if>
-            <if test="exrecallcount != null "> and exrecallcount = #{exrecallcount}</if>
-            <if test="pulltime != null "> and pulltime = #{pulltime}</if>
-            <if test="bqsms != null "> and bqsms = #{bqsms}</if>
-            <if test="bhsms != null "> and bhsms = #{bhsms}</if>
-            <if test="deptcode != null  and deptcode != ''"> and deptcode = #{deptcode}</if>
-            <if test="labelstatus != null "> and labelstatus = #{labelstatus}</if>
-            <if test="isupload != null "> and isupload = #{isupload}</if>
-            <if test="uploadTime != null "> and upload_time = #{uploadTime}</if>
-            <if test="orgid != null  and orgid != ''"> and orgid = #{orgid}</if>
+        <where>
+            <if test="sendname != null  and sendname != ''">and sendname like concat('%', #{sendname}, '%')</if>
+            <if test="phone != null  and phone != ''">and phone = #{phone}</if>
+            <if test="sex != null  and sex != ''">and sex = #{sex}</if>
+            <if test="age != null ">and age = #{age}</if>
+            <if test="sfzh != null  and sfzh != ''">and sfzh = #{sfzh}</if>
+            <if test="addr != null  and addr != ''">and addr = #{addr}</if>
+            <if test="senderdetail != null  and senderdetail != ''">and senderdetail = #{senderdetail}</if>
+            <if test="type != null  and type != ''">and type = #{type}</if>
+            <if test="taskid != null ">and taskid = #{taskid}</if>
+            <if test="templateid != null  and templateid != ''">and templateid = #{templateid}</if>
+            <if test="templatename != null  and templatename != ''">and templatename like concat('%', #{templatename},
+                '%')
+            </if>
+            <if test="senddate != null ">and senddate = #{senddate}</if>
+            <if test="sendlimitabegin != null  and sendlimitabegin != ''">and sendlimitabegin = #{sendlimitabegin}</if>
+            <if test="sendlimitaend != null  and sendlimitaend != ''">and sendlimitaend = #{sendlimitaend}</if>
+            <if test="sendlimitpbegin != null  and sendlimitpbegin != ''">and sendlimitpbegin = #{sendlimitpbegin}</if>
+            <if test="sendlimitpend != null  and sendlimitpend != ''">and sendlimitpend = #{sendlimitpend}</if>
+            <if test="sendlimitnbegin != null  and sendlimitnbegin != ''">and sendlimitnbegin = #{sendlimitnbegin}</if>
+            <if test="sendlimitnend != null  and sendlimitnend != ''">and sendlimitnend = #{sendlimitnend}</if>
+            <if test="sendstate != null ">and sendstate = #{sendstate}</if>
+            <if test="senduuid != null  and senduuid != ''">and senduuid = #{senduuid}</if>
+            <if test="result != null  and result != ''">and result = #{result}</if>
+            <if test="finishtime != null ">and finishtime = #{finishtime}</if>
+            <if test="userid != null  and userid != ''">and userid = #{userid}</if>
+            <if test="username != null  and username != ''">and username like concat('%', #{username}, '%')</if>
+            <if test="outbounduuid != null  and outbounduuid != ''">and outbounduuid = #{outbounduuid}</if>
+            <if test="recordid != null ">and recordid = #{recordid}</if>
+            <if test="recallcount != null ">and recallcount = #{recallcount}</if>
+            <if test="exrecallcount != null ">and exrecallcount = #{exrecallcount}</if>
+            <if test="pulltime != null ">and pulltime = #{pulltime}</if>
+            <if test="bqsms != null ">and bqsms = #{bqsms}</if>
+            <if test="bhsms != null ">and bhsms = #{bhsms}</if>
+            <if test="deptcode != null  and deptcode != ''">and deptcode = #{deptcode}</if>
+            <if test="labelstatus != null ">and labelstatus = #{labelstatus}</if>
+            <if test="isupload != null ">and isupload = #{isupload}</if>
+            <if test="uploadTime != null ">and upload_time = #{uploadTime}</if>
+            <if test="orgid != null  and orgid != ''">and orgid = #{orgid}</if>
+            <if test="pid != null ">and pid = #{pid}</if>
+            <if test="piserviceformd != null ">and serviceform = #{serviceform}</if>
+            <if test="guid != null  and guid != ''">and guid = #{guid}</if>
+            <if test="textParam != null  and textParam != ''">and text_param = #{textParam}</if>
+            <if test="badNo != null">and bad_no = #{badNo}</if>
+            <if test="icdName != null  and icdName != ''">and icd_name = #{icdName}</if>
+            <if test="medicalRecordNo != null  and medicalRecordNo != ''">and medical_record_no = #{medicalRecordNo}</if>
+            <if test="preachcontent != null  and preachcontent != ''">and preachcontent = #{preachcontent}</if>
         </where>
     </select>
-    
-    <select id="selectIvrTaskcallByCallid" parameterType="Long" resultMap="IvrTaskcallResult">
+
+    <select id="selectIvrTaskcallById" parameterType="Long" resultMap="IvrTaskcallResult">
         <include refid="selectIvrTaskcallVo"/>
-        where callid = #{callid}
+        where id = #{id}
     </select>
-        
-    <insert id="insertIvrTaskcall" parameterType="IvrTaskcall">
+
+    <insert id="insertIvrTaskcall" parameterType="com.smartor.domain.IvrTaskcall">
         insert into ivr_taskcall
         <trim prefix="(" suffix=")" suffixOverrides=",">
-            <if test="callid != null">callid,</if>
+            <if test="id != null">id,</if>
             <if test="sendname != null">sendname,</if>
             <if test="phone != null">phone,</if>
             <if test="sex != null">sex,</if>
@@ -115,7 +179,7 @@
             <if test="sfzh != null">sfzh,</if>
             <if test="addr != null">addr,</if>
             <if test="senderdetail != null">senderdetail,</if>
-            <if test="inserttype != null">inserttype,</if>
+            <if test="type != null">type,</if>
             <if test="taskid != null">taskid,</if>
             <if test="templateid != null">templateid,</if>
             <if test="templatename != null">templatename,</if>
@@ -132,8 +196,6 @@
             <if test="finishtime != null">finishtime,</if>
             <if test="userid != null">userid,</if>
             <if test="username != null">username,</if>
-            <if test="addtime != null">addtime,</if>
-            <if test="updatetime != null">updatetime,</if>
             <if test="outbounduuid != null">outbounduuid,</if>
             <if test="recordid != null">recordid,</if>
             <if test="recallcount != null">recallcount,</if>
@@ -151,9 +213,17 @@
             <if test="isupload != null">isupload,</if>
             <if test="uploadTime != null">upload_time,</if>
             <if test="orgid != null">orgid,</if>
-         </trim>
+            <if test="pid != null">pid,</if>
+            <if test="guid != null">guid,</if>
+            <if test="textParam != null">text_param,</if>
+            <if test="serviceform != null">serviceform,</if>
+            <if test="badNo != null">bad_no,</if>
+            <if test="icdName != null  and icdName != ''">icd_name,</if>
+            <if test="medicalRecordNo != null  and medicalRecordNo != ''">medical_record_no,</if>
+            <if test="preachcontent != null  and preachcontent != ''">preachcontent,</if>
+        </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
-            <if test="callid != null">#{callid},</if>
+            <if test="id != null">#{id},</if>
             <if test="sendname != null">#{sendname},</if>
             <if test="phone != null">#{phone},</if>
             <if test="sex != null">#{sex},</if>
@@ -161,7 +231,7 @@
             <if test="sfzh != null">#{sfzh},</if>
             <if test="addr != null">#{addr},</if>
             <if test="senderdetail != null">#{senderdetail},</if>
-            <if test="inserttype != null">#{inserttype},</if>
+            <if test="type != null">#{type},</if>
             <if test="taskid != null">#{taskid},</if>
             <if test="templateid != null">#{templateid},</if>
             <if test="templatename != null">#{templatename},</if>
@@ -178,8 +248,6 @@
             <if test="finishtime != null">#{finishtime},</if>
             <if test="userid != null">#{userid},</if>
             <if test="username != null">#{username},</if>
-            <if test="addtime != null">#{addtime},</if>
-            <if test="updatetime != null">#{updatetime},</if>
             <if test="outbounduuid != null">#{outbounduuid},</if>
             <if test="recordid != null">#{recordid},</if>
             <if test="recallcount != null">#{recallcount},</if>
@@ -197,10 +265,18 @@
             <if test="isupload != null">#{isupload},</if>
             <if test="uploadTime != null">#{uploadTime},</if>
             <if test="orgid != null">#{orgid},</if>
-         </trim>
+            <if test="pid != null">#{pid},</if>
+            <if test="guid != null">#{guid},</if>
+            <if test="textParam != null">#{textParam},</if>
+            <if test="serviceform != null">#{serviceform},</if>
+            <if test="badNo != null">#{badNo},</if>
+            <if test="icdName != null  and icdName != ''">#{icdName},</if>
+            <if test="medicalRecordNo != null  and medicalRecordNo != ''">#{medicalRecordNo},</if>
+            <if test="preachcontent != null  and preachcontent != ''">#{preachcontent},</if>
+        </trim>
     </insert>
 
-    <update id="updateIvrTaskcall" parameterType="IvrTaskcall">
+    <update id="updateIvrTaskcall" parameterType="com.smartor.domain.IvrTaskcall">
         update ivr_taskcall
         <trim prefix="SET" suffixOverrides=",">
             <if test="sendname != null">sendname = #{sendname},</if>
@@ -210,7 +286,7 @@
             <if test="sfzh != null">sfzh = #{sfzh},</if>
             <if test="addr != null">addr = #{addr},</if>
             <if test="senderdetail != null">senderdetail = #{senderdetail},</if>
-            <if test="inserttype != null">inserttype = #{inserttype},</if>
+            <if test="type != null">type = #{type},</if>
             <if test="taskid != null">taskid = #{taskid},</if>
             <if test="templateid != null">templateid = #{templateid},</if>
             <if test="templatename != null">templatename = #{templatename},</if>
@@ -227,8 +303,6 @@
             <if test="finishtime != null">finishtime = #{finishtime},</if>
             <if test="userid != null">userid = #{userid},</if>
             <if test="username != null">username = #{username},</if>
-            <if test="addtime != null">addtime = #{addtime},</if>
-            <if test="updatetime != null">updatetime = #{updatetime},</if>
             <if test="outbounduuid != null">outbounduuid = #{outbounduuid},</if>
             <if test="recordid != null">recordid = #{recordid},</if>
             <if test="recallcount != null">recallcount = #{recallcount},</if>
@@ -246,18 +320,24 @@
             <if test="isupload != null">isupload = #{isupload},</if>
             <if test="uploadTime != null">upload_time = #{uploadTime},</if>
             <if test="orgid != null">orgid = #{orgid},</if>
+            <if test="pid != null">pid = #{pid},</if>
+            <if test="guid != null">guid = #{guid},</if>
+            <if test="textParam != null">text_param = #{textParam},</if>
+            <if test="serviceform != null">serviceform = #{serviceform},</if>
+            <if test="badNo != null">bad_no = #{badNo},</if>
+            <if test="icdName != null  and icdName != ''">icd_name = #{icdName},</if>
+            <if test="medicalRecordNo != null  and medicalRecordNo != ''">medical_record_no = #{medicalRecordNo},</if>
+            <if test="preachcontent != null  and preachcontent != ''">preachcontent = #{preachcontent},</if>
         </trim>
-        where callid = #{callid}
+        where id = #{id}
     </update>
 
-    <delete id="deleteIvrTaskcallByCallid" parameterType="Long">
-        delete from ivr_taskcall where callid = #{callid}
-    </delete>
+    <update id="deleteIvrTaskcallById" parameterType="Long">
+        update ivr_taskcall
+        <trim prefix="SET" suffixOverrides=",">
+            del_flag =1
+        </trim>
+        where id = #{id}
+    </update>
 
-    <delete id="deleteIvrTaskcallByCallids" parameterType="String">
-        delete from ivr_taskcall where callid in 
-        <foreach item="callid" collection="array" open="(" separator="," close=")">
-            #{callid}
-        </foreach>
-    </delete>
 </mapper>
\ No newline at end of file
diff --git a/smartor/src/main/resources/mapper/smartor/PatHetaskRelevanceMapper.xml b/smartor/src/main/resources/mapper/smartor/PatHetaskRelevanceMapper.xml
index 4f4619b..1b2f9c8 100644
--- a/smartor/src/main/resources/mapper/smartor/PatHetaskRelevanceMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/PatHetaskRelevanceMapper.xml
@@ -2,12 +2,12 @@
 <!DOCTYPE mapper
         PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.smartor.mapper.PatHetaskRelevanceMapper">
+<mapper namespace="com.smartor.mapper.PatTaskRelevanceMapper">
 
-    <resultMap type="com.smartor.domain.PatHetaskRelevance" id="PatHetaskRelevanceResult">
+    <resultMap type="com.smartor.domain.PatTaskRelevance" id="PatTaskRelevanceResult">
         <result property="id" column="id"/>
         <result property="patid" column="pat_id"/>
-        <result property="heTaskId" column="he_task_id"/>
+        <result property="taskId" column="task_id"/>
         <result property="delFlag" column="del_flag"/>
         <result property="createTime" column="create_time"/>
         <result property="updateTime" column="update_time"/>
@@ -24,12 +24,13 @@
         <result property="sendTime" column="send_time"/>
         <result property="operatePerson" column="operate_person"/>
         <result property="receiveTime" column="receive_time"/>
+        <result property="visitTime" column="visit_time"/>
     </resultMap>
 
-    <sql id="selectPatHetaskRelevanceVo">
+    <sql id="selectPatTaskRelevanceVo">
         select id,
                pat_id,
-               he_task_id,
+               task_id,
                del_flag,
                create_time,
                update_time,
@@ -45,17 +46,18 @@
                send_status,
                send_time,
                operate_person,
+               visit_time,
                receive_time
-        from pat_hetask_relevance
+        from pat_task_relevance
     </sql>
 
-    <select id="selectPatHetaskRelevanceList" parameterType="com.smartor.domain.PatHetaskRelevance"
-            resultMap="PatHetaskRelevanceResult">
-        <include refid="selectPatHetaskRelevanceVo"/>
+    <select id="selectPatTaskRelevanceList" parameterType="com.smartor.domain.PatTaskRelevance"
+            resultMap="PatTaskRelevanceResult">
+        <include refid="selectPatTaskRelevanceVo"/>
         <where>
             del_flag=0
             <if test="patid != null ">and pat_id = #{patid}</if>
-            <if test="heTaskId != null ">and he_task_id = #{heTaskId}</if>
+            <if test="taskId != null ">and task_id = #{taskId}</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>
@@ -67,21 +69,22 @@
             <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="visitTime != null ">and visit_time = #{visitTime}</if>
             <if test="receiveTime != null ">and receive_time = #{receiveTime}</if>
             <if test="operatePerson != null   and operatePerson != ''">and operate_person = #{operatePerson}</if>
         </where>
     </select>
 
-    <select id="selectPatHetaskRelevanceById" parameterType="Long" resultMap="PatHetaskRelevanceResult">
-        <include refid="selectPatHetaskRelevanceVo"/>
+    <select id="selectPatTaskRelevanceById" parameterType="Long" resultMap="PatTaskRelevanceResult">
+        <include refid="selectPatTaskRelevanceVo"/>
         where id = #{id}
     </select>
 
-    <insert id="insertPatHetaskRelevance" parameterType="com.smartor.domain.PatHetaskRelevance">
-        insert into pat_hetask_relevance
+    <insert id="insertPatTaskRelevance" parameterType="com.smartor.domain.PatTaskRelevance">
+        insert into pat_task_relevance
         <trim prefix="(" suffix=")" suffixOverrides=",">
             <if test="patid != null">pat_id,</if>
-            <if test="heTaskId != null">he_task_id,</if>
+            <if test="taskId != null">task_id,</if>
             <if test="delFlag != null">del_flag,</if>
             <if test="createTime != null">create_time,</if>
             <if test="updateTime != null">update_time,</if>
@@ -97,11 +100,12 @@
             <if test="sendStatus != null">send_status,</if>
             <if test="sendTime != null">send_time,</if>
             <if test="receiveTime != null">receive_time,</if>
+            <if test="visitTime != null">visit_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="heTaskId != null">#{heTaskId},</if>
+            <if test="taskId != null">#{taskId},</if>
             <if test="delFlag != null">#{delFlag},</if>
             <if test="createTime != null">#{createTime},</if>
             <if test="updateTime != null">#{updateTime},</if>
@@ -117,15 +121,16 @@
             <if test="sendStatus != null">#{sendStatus},</if>
             <if test="sendTime != null">#{sendTime},</if>
             <if test="receiveTime != null">#{receiveTime},</if>
+            <if test="visitTime != null">#{visitTime},</if>
             <if test="operatePerson != null and operatePerson != ''">#{operatePerson},</if>
         </trim>
     </insert>
 
-    <update id="updatePatHetaskRelevance" parameterType="com.smartor.domain.PatHetaskRelevance">
-        update pat_hetask_relevance
+    <update id="updatePatTaskRelevance" parameterType="com.smartor.domain.PatTaskRelevance">
+        update pat_task_relevance
         <trim prefix="SET" suffixOverrides=",">
             <if test="patid != null">pat_id = #{patid},</if>
-            <if test="heTaskId != null">he_task_id = #{heTaskId},</if>
+            <if test="taskId != null">task_id = #{taskId},</if>
             <if test="delFlag != null">del_flag = #{delFlag},</if>
             <if test="createTime != null">create_time = #{createTime},</if>
             <if test="updateTime != null">update_time = #{updateTime},</if>
@@ -141,21 +146,22 @@
             <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="visitTime != null">visit_time=#{visitTime},</if>
             <if test="operatePerson != null and operatePerson != ''">operate_person=#{operatePerson},</if>
         </trim>
         where id = #{id}
     </update>
 
-    <update id="deletePatHetaskRelevanceById" parameterType="Long">
-        update pat_hetask_relevance
+    <update id="deletePatTaskRelevanceById" parameterType="Long">
+        update pat_task_relevance
         <trim prefix="SET" suffixOverrides=",">
             <if test="delFlag != null">del_flag =1,</if>
         </trim>
         where id = #{id}
     </update>
 
-    <delete id="deletePatHetaskRelevanceByIds" parameterType="String">
-        delete from pat_hetask_relevance where id in
+    <delete id="deletePatTaskRelevanceByIds" parameterType="String">
+        delete from pat_task_relevance where id in
         <foreach item="id" collection="array" open="(" separator="," close=")">
             #{id}
         </foreach>
diff --git a/smartor/src/main/resources/mapper/smartor/SvyLibTitleCategoryMapper.xml b/smartor/src/main/resources/mapper/smartor/SvyLibTitleCategoryMapper.xml
index 4807eb5..2bfe78d 100644
--- a/smartor/src/main/resources/mapper/smartor/SvyLibTitleCategoryMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/SvyLibTitleCategoryMapper.xml
@@ -101,7 +101,7 @@
     <update id="deleteSvyLibTitleCategoryById" parameterType="Long">
         update svy_lib_title_category
         <trim prefix="SET" suffixOverrides=",">
-            <if test="delFlag != null">del_flag = 1,</if>
+           del_flag = 1
         </trim>
         where id = #{id}
     </update>
diff --git a/smartor/src/main/resources/mapper/smartor/SvyLibTopicoptionMapper.xml b/smartor/src/main/resources/mapper/smartor/SvyLibTopicoptionMapper.xml
index 9d8b98e..10ae51f 100644
--- a/smartor/src/main/resources/mapper/smartor/SvyLibTopicoptionMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/SvyLibTopicoptionMapper.xml
@@ -220,7 +220,7 @@
     <update id="deleteSvyLibTopicoptionByOptionid" parameterType="Long">
         update svy_lib_topicoption
         <trim prefix="SET" suffixOverrides=",">
-            <if test="delFlag != null and delFlag != ''">del_flag = 1,</if>
+           del_flag = 1
         </trim>
         where optionid = #{optionid}
     </update>

--
Gitblit v1.9.3