From 69123c8bf13ccb27539b0475e626c6c95c0ea6bb Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期三, 17 四月 2024 12:29:01 +0800
Subject: [PATCH] 代码提交

---
 smartor/src/main/java/com/smartor/domain/HeTask.java                                    |    1 
 smartor/src/main/java/com/smartor/domain/HeTaskSingleVO.java                            |  266 ++++++
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatMedInhospController.java  |   29 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/HeTaskSingleController.java  |  112 ++
 smartor/src/main/java/com/smartor/domain/IvrTaskSingle.java                             |   43 
 smartor/src/main/java/com/smartor/service/impl/IvrLibaScriptServiceImpl.java            |    2 
 smartor/src/main/java/com/smartor/domain/HeTaskSingle.java                              |  334 +++++++
 smartor/src/main/resources/mapper/smartor/PatHetaskRelevanceMapper.xml                  |   22 
 smartor/src/main/java/com/smartor/domain/IvrTaskSingleVO.java                           |   37 
 smartor/src/main/java/com/smartor/service/IHeTaskSingleService.java                     |   68 +
 smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml                        |   12 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/IvrTaskSingleController.java |   47 -
 smartor/src/main/java/com/smartor/domain/PatMedInhosp.java                              |  191 ++-
 smartor/src/main/java/com/smartor/service/IIvrTaskSingleService.java                    |   10 
 smartor/src/main/java/com/smartor/service/impl/HeTaskSingleServiceImpl.java             |  229 +++++
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/IvrTaskController.java       |   31 
 smartor/src/main/java/com/smartor/service/impl/IvrTaskSingleServiceImpl.java            |   87 +
 smartor/src/main/java/com/smartor/domain/IvrTask.java                                   |  481 +++-------
 smartor/src/main/resources/mapper/smartor/HeTaskSingleMapper.xml                        |  336 ++++++++
 smartor/src/main/resources/mapper/smartor/IvrTaskSingleMapper.xml                       |   43 
 smartor/src/main/java/com/smartor/domain/PatTaskRelevance.java                          |   18 
 smartor/src/main/java/com/smartor/mapper/HeTaskSingleMapper.java                        |   63 +
 smartor/src/main/resources/mapper/smartor/IvrTaskMapper.xml                             |   46 
 23 files changed, 1,956 insertions(+), 552 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/HeTaskSingleController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/HeTaskSingleController.java
new file mode 100644
index 0000000..6ffac37
--- /dev/null
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/HeTaskSingleController.java
@@ -0,0 +1,112 @@
+package com.ruoyi.web.controller.smartor;
+
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.core.page.TableDataInfo;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.common.utils.DtoConversionUtils;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.smartor.domain.*;
+import com.smartor.service.IHeTaskService;
+import com.smartor.service.IHeTaskSingleService;
+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;
+
+/**
+ * 瀹f暀鍗曚竴浠诲姟Controller
+ *
+ * @author ruoyi
+ * @date 2024-04-16
+ */
+@Api(description = "瀹f暀鍗曚竴浠诲姟")
+@RestController
+@RequestMapping("/smartor/heTaskSingle")
+public class HeTaskSingleController extends BaseController {
+    @Autowired
+    private IHeTaskSingleService heTaskSingleService;
+
+//    /**
+//     * 鏌ヨ瀹f暀鍗曚竴浠诲姟鍒楄〃
+//     */
+//    @ApiOperation("鏌ヨ瀹f暀鍗曚竴浠诲姟鍒楄〃")
+//    @PreAuthorize("@ss.hasPermi('system:single:list')")
+//    @GetMapping("/list")
+//    public TableDataInfo list(HeTaskSingle heTaskSingle) {
+//        startPage();
+//        List<HeTaskSingle> list = heTaskSingleService.selectHeTaskSingleList(heTaskSingle);
+//        return getDataTable(list);
+//    }
+
+    /**
+     * 瀵煎嚭瀹f暀鍗曚竴浠诲姟鍒楄〃
+     */
+    @ApiOperation("瀵煎嚭瀹f暀鍗曚竴浠诲姟鍒楄〃")
+    @PreAuthorize("@ss.hasPermi('system:single:export')")
+    @Log(title = "瀹f暀鍗曚竴浠诲姟", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, HeTaskSingle heTaskSingle) {
+        List<HeTaskSingle> list = heTaskSingleService.selectHeTaskSingleList(heTaskSingle);
+        ExcelUtil<HeTaskSingle> util = new ExcelUtil<HeTaskSingle>(HeTaskSingle.class);
+        util.exportExcel(response, list, "瀹f暀鍗曚竴浠诲姟鏁版嵁");
+    }
+
+    /**
+     * 鑾峰彇瀹f暀鍗曚竴浠诲姟璇︾粏淇℃伅
+     */
+    @ApiOperation("鑾峰彇瀹f暀鍗曚竴浠诲姟璇︾粏淇℃伅")
+    @PreAuthorize("@ss.hasPermi('system:single:query')")
+    @GetMapping(value = "/getInfo/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id) {
+        return success(heTaskSingleService.selectHeTaskSingleById(id));
+    }
+
+    /**
+     * 鏂板瀹f暀鍗曚竴浠诲姟
+     */
+    @ApiOperation("鏂板瀹f暀鍗曚竴浠诲姟")
+    @PreAuthorize("@ss.hasPermi('system:single:add')")
+    @Log(title = "瀹f暀鍗曚竴浠诲姟", businessType = BusinessType.INSERT)
+    @PostMapping("/addOrUpdateHeTaskSinle")
+    public AjaxResult addOrUpdateHeTaskSinle(@RequestBody HeTaskSingleVO heTaskSingleVO) {
+        return toAjax(heTaskSingleService.addOrUpdateHeTaskSinle(heTaskSingleVO));
+    }
+
+//    /**
+//     * 淇敼瀹f暀鍗曚竴浠诲姟
+//     */
+//    @PreAuthorize("@ss.hasPermi('system:single:edit')")
+//    @Log(title = "瀹f暀鍗曚竴浠诲姟", businessType = BusinessType.UPDATE)
+//    @PostMapping("/edit")
+//    public AjaxResult edit(@RequestBody HeTaskSingle heTaskSingle) {
+//        return toAjax(heTaskSingleService.updateHeTaskSingle(heTaskSingle));
+//    }
+
+    /**
+     * 鍒犻櫎瀹f暀鍗曚竴浠诲姟
+     */
+    @ApiOperation("鍒犻櫎瀹f暀鍗曚竴浠诲姟")
+    @PreAuthorize("@ss.hasPermi('system:single:remove')")
+    @Log(title = "瀹f暀鍗曚竴浠诲姟", businessType = BusinessType.DELETE)
+    @GetMapping("/remove/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids) {
+        return toAjax(heTaskSingleService.deleteHeTaskSingleByIds(ids));
+    }
+
+
+    /**
+     * 鏍规嵁鏉′欢鏌ヨ浠诲姟淇℃伅
+     */
+    @ApiOperation("鏍规嵁鏉′欢鏌ヨ浠诲姟淇℃伅")
+    @PostMapping("/queryHeTaskByCondition")
+    public AjaxResult queryHeTaskByCondition(@RequestBody HeTaskSingle heTaskSingle) {
+
+        return success(heTaskSingleService.queryHeTaskByCondition(heTaskSingle));
+    }
+}
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 98a7db5..0d5e09b 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
@@ -14,6 +14,7 @@
 import com.smartor.service.IIvrTaskSingleService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import org.apache.commons.collections4.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
@@ -41,25 +42,28 @@
     /**
      * 鏌ヨ璇煶浠诲姟鍒楄〃
      */
-    @ApiOperation("鏌ヨ璇煶浠诲姟鍒楄〃")
+    @ApiOperation("鏌ヨ浠诲姟鍒楄〃")
     @PreAuthorize("@ss.hasPermi('smartor:ivrtask:list')")
     @PostMapping("/list")
     public TableDataInfo list(@RequestBody IvrTask ivrTask) {
         startPage();
         List<IvrTask> list = ivrTaskService.selectIvrTaskList(ivrTask);
         List<IvrTaskVO> ivrTaskVOS = DtoConversionUtils.sourceToTarget(list, IvrTaskVO.class);
-        for (IvrTaskVO ivrTaskVO : ivrTaskVOS) {
-            IvrTaskSingle ivrTaskcall = new IvrTaskSingle();
-            ivrTaskcall.setTaskid(ivrTaskVO.getTaskid());
-            List<IvrTaskSingle> ivrTaskcalls = iIvrTaskCallService.selectIvrTaskcallList(ivrTaskcall);
-            //宸插彂閫�
-            long yfs = ivrTaskcalls.stream().filter(ivrTaskcall1 -> ivrTaskcall1.getSendstate() == 3L).collect(Collectors.toList()).stream().count();
-            //鏈彂閫�
-            long wfs = ivrTaskcalls.stream().filter(ivrTaskcall1 -> ivrTaskcall1.getSendstate() == 2L).collect(Collectors.toList()).stream().count();
-            ivrTaskVO.setYfs(yfs);
-            ivrTaskVO.setWfs(wfs);
+        if (CollectionUtils.isNotEmpty(ivrTaskVOS)) {
+            for (IvrTaskVO ivrTaskVO : ivrTaskVOS) {
+                IvrTaskSingle ivrTaskcall = new IvrTaskSingle();
+                ivrTaskcall.setTaskid(ivrTaskVO.getTaskid());
+                List<IvrTaskSingle> ivrTaskcalls = iIvrTaskCallService.selectIvrTaskcallList(ivrTaskcall);
+                if (CollectionUtils.isNotEmpty(ivrTaskcalls)) {
+                    //宸插彂閫�
+                    long yfs = ivrTaskcalls.stream().filter(ivrTaskcall1 -> ivrTaskcall1.getSendstate() != null && ivrTaskcall1.getSendstate() == 3L).collect(Collectors.toList()).stream().count();
+                    //鏈彂閫�
+                    long wfs = ivrTaskcalls.stream().filter(ivrTaskcall1 -> ivrTaskcall1.getSendstate() != null && ivrTaskcall1.getSendstate() == 2L).collect(Collectors.toList()).stream().count();
+                    ivrTaskVO.setYfs(yfs);
+                    ivrTaskVO.setWfs(wfs);
+                }
+            }
         }
-
         return getDataTable(ivrTaskVOS);
     }
 
@@ -130,9 +134,6 @@
     public AjaxResult removeTask(@PathVariable Long taskId) {
         return toAjax(ivrTaskService.deleteIvrTaskByTaskid(taskId));
     }
-
-
-
 
 
 }
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/IvrTaskSingleController.java
similarity index 64%
rename from ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/IvrTaskcallController.java
rename to ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/IvrTaskSingleController.java
index addc3e8..eefd066 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/IvrTaskSingleController.java
@@ -1,7 +1,5 @@
 package com.ruoyi.web.controller.smartor;
 
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
 import com.ruoyi.common.annotation.Log;
 import com.ruoyi.common.core.controller.BaseController;
 import com.ruoyi.common.core.domain.AjaxResult;
@@ -9,7 +7,6 @@
 import com.ruoyi.common.enums.BusinessType;
 import com.ruoyi.common.utils.DtoConversionUtils;
 import com.ruoyi.common.utils.PageUtils;
-import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.smartor.domain.*;
 import com.smartor.service.IIvrTaskSingleService;
@@ -20,9 +17,7 @@
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletResponse;
-import java.util.ArrayList;
 import java.util.List;
-import java.util.Map;
 
 /**
  * 鍗曚竴浠诲姟锛堥殢璁匡級Controller
@@ -33,7 +28,7 @@
 @Api(description = "鍗曚竴浠诲姟锛堥殢璁垮鏁欙級")
 @RestController
 @RequestMapping("/smartor/tasksingle")
-public class IvrTaskcallController extends BaseController {
+public class IvrTaskSingleController extends BaseController {
     @Autowired
     private IIvrTaskSingleService ivrTaskcallService;
 
@@ -81,7 +76,6 @@
         return toAjax(ivrTaskcallService.insertOrUpdateTask(ivrTaskcallVO));
     }
 
-
     /**
      * 鏍规嵁鏉′欢鏌ヨ浠诲姟淇℃伅
      */
@@ -90,43 +84,8 @@
     public AjaxResult queryTaskByCondition(@RequestBody IvrTaskSingleVO ivrTaskcallVO) {
         //鏍规嵁鍏ュ弬鏌ヨ淇℃伅
         IvrTaskSingle ivrTaskcall = DtoConversionUtils.sourceToTarget(ivrTaskcallVO, IvrTaskSingle.class);
-        List<IvrTaskSingle> list = ivrTaskcallService.selectIvrTaskcallList(ivrTaskcall);
-
-        //瀹氫箟鎮h�呬笌鍗曚竴浠诲姟鍏宠仈琛ㄩ泦鍚�
-        List<PatTaskRelevance> patTaskRelevances = new ArrayList<>();
-
-        //灏嗘煡鍑烘潵鐨勬暟鎹�掑叆IvrTaskcallVO涓�
-        IvrTaskSingleVO ivrTaskcallVO2 = DtoConversionUtils.sourceToTarget(list.get(0), IvrTaskSingleVO.class);
-        String sendTimeSlot = list.get(0).getSendTimeSlot();
-        ObjectMapper objectMapper = new ObjectMapper();
-        try {
-            //鑾峰彇鍒板彂閫佹椂闂寸殑闆嗗悎
-            if (StringUtils.isNotEmpty(sendTimeSlot)) {
-                List<TaskSendTimeVO> taskSendTimeVOList = objectMapper.readValue(sendTimeSlot, List.class);
-                ivrTaskcallVO2.setSendTimeslot(taskSendTimeVOList);
-            }
-            //鏂囨湰鍙橀噺鍙傛暟
-            if (StringUtils.isNotEmpty(list.get(0).getTextParam())) {
-                Map<String, Map<String, String>> textParam = objectMapper.readValue(list.get(0).getTextParam(), Map.class);
-                ivrTaskcallVO2.setTextParam(textParam);
-            }
-        } catch (JsonProcessingException e) {
-            e.printStackTrace();
-        }
-
-        for (IvrTaskSingle ivrTaskcall1 : list) {
-            PatTaskRelevance patTaskRelevance = new PatTaskRelevance();
-            //鑾峰彇鍒版偅鑰呬俊鎭紝骞舵斁鍏ュ埌闆嗗悎涓�
-            patTaskRelevance.setName(ivrTaskcall1.getSendname());
-            patTaskRelevance.setAge(ivrTaskcall1.getAge());
-            patTaskRelevance.setSfzh(ivrTaskcall1.getSfzh());
-            patTaskRelevance.setPhone(ivrTaskcall1.getPhone());
-            patTaskRelevance.setAddr(ivrTaskcall1.getAddr());
-            patTaskRelevances.add(patTaskRelevance);
-        }
-
-        ivrTaskcallVO2.setPatTaskRelevances(patTaskRelevances);
-        return success(ivrTaskcallVO2);
+        IvrTaskSingleVO ivrTaskSingleVO = ivrTaskcallService.queryTaskByCondition(ivrTaskcall);
+        return success(ivrTaskSingleVO);
     }
 
 
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatMedInhospController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatMedInhospController.java
index 719e1f4..5e64552 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatMedInhospController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatMedInhospController.java
@@ -1,32 +1,25 @@
 package com.smartor.controller;
 
-import java.util.List;
-import javax.servlet.http.HttpServletResponse;
-
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-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.PatMedInhosp;
 import com.smartor.service.IPatMedInhospService;
-import com.ruoyi.common.utils.poi.ExcelUtil;
-import com.ruoyi.common.core.page.TableDataInfo;
+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;
 
 /**
  * 鎮h�呬綇闄㈣褰旵ontroller
- * 
+ *
  * @author smartor
  * @date 2023-03-04
  */
diff --git a/smartor/src/main/java/com/smartor/domain/HeTask.java b/smartor/src/main/java/com/smartor/domain/HeTask.java
index be258ec..8bdce85 100644
--- a/smartor/src/main/java/com/smartor/domain/HeTask.java
+++ b/smartor/src/main/java/com/smartor/domain/HeTask.java
@@ -222,4 +222,5 @@
     private String textParam;
 
 
+
 }
diff --git a/smartor/src/main/java/com/smartor/domain/HeTaskSingle.java b/smartor/src/main/java/com/smartor/domain/HeTaskSingle.java
new file mode 100644
index 0000000..2d9a063
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/domain/HeTaskSingle.java
@@ -0,0 +1,334 @@
+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.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 瀹f暀鍗曚竴浠诲姟瀵硅薄 he_task_single
+ *
+ * @author ruoyi
+ * @date 2024-04-16
+ */
+@ApiModel(value = "IvrTask", description = "瀹f暀鍗曚竴浠诲姟瀵硅薄 ")
+@Data
+public class HeTaskSingle extends BaseEntity {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 鑷ID
+     */
+    @ApiModelProperty(value = "涓婚敭")
+    private Long id;
+
+    /**
+     * 鎮h�呮湇鍔′换鍔d
+     */
+    @Excel(name = "鎮h�呮湇鍔′换鍔d")
+    @ApiModelProperty(value = "鎮h�呮湇鍔′换鍔d")
+    private Long svrtaskid;
+
+    /**
+     * 鐥呬汉id锛堜綔搴燂紝鐢ㄤ富閿笌鍏宠仈琛ㄨ繘琛屽叧鑱旓級
+     */
+    @Excel(name = " 鐥呬汉id", readConverterExp = "浣�=搴燂紝鐢ㄤ富閿笌鍏宠仈琛ㄨ繘琛屽叧鑱�")
+    @ApiModelProperty(value = "鐥呬汉id锛堜綔搴燂紝鐢ㄤ富閿笌鍏宠仈琛ㄨ繘琛屽叧鑱旓級")
+    private String patientid;
+
+    /**
+     * 瀹f暀鍒嗙被
+     */
+    @Excel(name = " 瀹f暀鍒嗙被 ")
+    @ApiModelProperty(value = "瀹f暀鍒嗙被")
+    private String classification;
+
+    /**
+     * 瀹f暀id
+     */
+    @Excel(name = " 瀹f暀id")
+    @ApiModelProperty(value = "瀹f暀id")
+    private Long preachcategoryid;
+
+    /**
+     * 瀹f暀鍚嶇О
+     */
+    @Excel(name = " 瀹f暀鍚嶇О ")
+    @ApiModelProperty(value = "瀹f暀鍚嶇О")
+    private String preachname;
+
+    /**
+     * 鐗堟湰
+     */
+    @Excel(name = " 鐗堟湰 ")
+    @ApiModelProperty(value = "鐗堟湰")
+    private BigDecimal version;
+
+    /**
+     * 瀹f暀褰㈠紡 1,澶氬獟浣�   2,绾歌川  3,鐢佃瘽  4,鐭俊  5.寰俊鍏紬鍙� 6.寰俊灏忕▼搴�  7.鏀粯瀹�  8.鏅鸿兘灏忕▼搴�  9.閽夐拤
+     */
+    @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 String preachform;
+
+    /**
+     * 缁勭粐褰㈠紡锛�1.鍗曚汉瀹f暀   2.澶氫汉瀹f暀
+     */
+    @Excel(name = "缁勭粐褰㈠紡锛�1.鍗曚汉瀹f暀   2.澶氫汉瀹f暀")
+    @ApiModelProperty(value = "缁勭粐褰㈠紡锛�1.鍗曚汉瀹f暀   2.澶氫汉瀹f暀")
+    private Long orgform;
+
+    /**
+     * 瀹f暀鎻忚堪
+     */
+    @Excel(name = " 瀹f暀鎻忚堪 ")
+    @ApiModelProperty(value = "瀹f暀鎻忚堪")
+    private String preachdescription;
+
+    /**
+     * 瀹f暀鍐呭
+     */
+    @Excel(name = " 瀹f暀鍐呭 ")
+    @ApiModelProperty(value = "瀹f暀鍐呭")
+    private String preachcontent;
+
+    /**
+     * 妯℃澘ID
+     */
+    @Excel(name = " 妯℃澘ID ")
+    @ApiModelProperty(value = "妯℃澘ID")
+    private Long templateid;
+
+    /**
+     * 瀹f暀浠g爜
+     */
+    @Excel(name = " 瀹f暀浠g爜 ")
+    @ApiModelProperty(value = "瀹f暀浠g爜")
+    private String preachcode;
+
+    /**
+     * 涓績搴揑D
+     */
+    @Excel(name = " 涓績搴揑D ")
+    @ApiModelProperty(value = "涓績搴揑D")
+    private Long centerlibraryid;
+
+    /**
+     * 鏄惁鍚敤
+     */
+    @Excel(name = " 鏄惁鍚敤 ")
+    @ApiModelProperty(value = "鏄惁鍚敤")
+    private Long isenable;
+
+    /**
+     * 鏈烘瀯ID
+     */
+    @Excel(name = " 鏈烘瀯ID ")
+    @ApiModelProperty(value = "鏈烘瀯ID")
+    private String orgid;
+
+    /**
+     * 鍒犻櫎鏍囪
+     */
+    @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;
+
+    /**
+     * 鏄惁鏈湴
+     */
+    @Excel(name = " 鏄惁鏈湴 ")
+    @ApiModelProperty(value = "鏄惁鏈湴")
+    private Long islocal;
+
+    /**
+     * 涓績搴撲唬鐮�
+     */
+    @Excel(name = " 涓績搴撲唬鐮� ")
+    @ApiModelProperty(value = "涓績搴撲唬鐮�")
+    private String centerlibrarycode;
+
+    /**
+     * 鐖禝D
+     */
+    @Excel(name = "鐖禝D")
+    @ApiModelProperty(value = "鐖禝D")
+    private Long pid;
+
+    /**
+     * GUID
+     */
+    @Excel(name = "GUID")
+    @ApiModelProperty(value = "GUID")
+    private String guid;
+
+    /**
+     * 浠诲姟鍙戦�佹椂闂�
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "浠诲姟鍙戦�佹椂闂�", width = 30, dateFormat = "yyyy-MM-dd")
+    @ApiModelProperty(value = "浠诲姟鍙戦�佹椂闂�")
+    private Date sendTime;
+
+    /**
+     * 鏄惁鍙戦�� 锛� 0 鏆傚仠鍙戦��  1 瀹氭椂鍙戦��  2 绔嬪嵆鍙戦��
+     */
+    @Excel(name = "鏄惁鍙戦�� 锛� 0 鏆傚仠鍙戦��  1 瀹氭椂鍙戦��  2 绔嬪嵆鍙戦��  ")
+    @ApiModelProperty(value = " 鏄惁鍙戦�� 锛� 0 鏆傚仠鍙戦��  1 瀹氭椂鍙戦��  2 绔嬪嵆鍙戦��")
+    private Long isSend;
+
+    /**
+     * 鍙戦�佺姸鎬侊細  0  澶辫触   1鎴愬姛
+     */
+    @Excel(name = "鍙戦�佺姸鎬侊細  0  澶辫触   1鎴愬姛")
+    @ApiModelProperty(value = "鍙戦�佺姸鎬侊細  0  澶辫触   1鎴愬姛")
+    private String sendState;
+
+    /**
+     * 瀵屾枃鏈�
+     */
+    @Excel(name = "瀵屾枃鏈�")
+    @ApiModelProperty(value = "瀵屾枃鏈�")
+    private String richText;
+
+    /**
+     * 鏂囨湰鍙橀噺鍙傛暟
+     */
+    @Excel(name = "鏂囨湰鍙橀噺鍙傛暟")
+    @ApiModelProperty(value = "鏂囨湰鍙橀噺鍙傛暟")
+    private String textParam;
+
+    /**
+     * 鍙戦�佷汉 锛堟偅鑰咃級
+     */
+    @Excel(name = " 鍙戦�佷汉 ", readConverterExp = "鎮�=鑰�")
+    @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 wechat;
+
+    /**
+     * 璇婃柇鍚嶇О
+     */
+    @Excel(name = "璇婃柇鍚嶇О")
+    @ApiModelProperty(value = "璇婃柇鍚嶇О")
+    private String diagname;
+
+    /**
+     * 绉戝鍚嶇О
+     */
+    @Excel(name = "绉戝鍚嶇О")
+    @ApiModelProperty(value = "绉戝鍚嶇О")
+    private String deptname;
+
+    /**
+     * 灏辫瘖鏃ユ湡
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "灏辫瘖鏃ユ湡", width = 30, dateFormat = "yyyy-MM-dd")
+    @ApiModelProperty(value = "灏辫瘖鏃ユ湡")
+    private Date admindate;
+
+    /**
+     * 鐥呮埧鍙�
+     */
+    @Excel(name = "鐥呮埧鍙�")
+    @ApiModelProperty(value = "鐥呮埧鍙�")
+    private String roomno;
+
+    /**
+     * 鐥呭簥鍙�
+     */
+    @Excel(name = "鐥呭簥鍙�")
+    @ApiModelProperty(value = "鐥呭簥鍙�")
+    private String bedNo;
+
+    /**
+     * 鍙戦�佺被鍨�: 1 鏃堕棿娈�   2 鏃堕棿鐐�   3 鍗冲埢鍙戦��
+     */
+    @Excel(name = "鍙戦�佺被鍨�: 1 鏃堕棿娈�   2 鏃堕棿鐐�   3 鍗冲埢鍙戦��")
+    @ApiModelProperty(value = "涓婚敭")
+    private String sendType;
+
+    /**
+     * 鍙戦�佹椂闂存
+     */
+    @Excel(name = "鍙戦�佹椂闂存")
+    @ApiModelProperty(value = "鍙戦�佹椂闂存")
+    private String sendTimeSlot;
+
+    /**
+     * 绫诲瀷锛�1 瀹f暀銆�2 鍖绘妧锛�
+     */
+    @Excel(name = "绫诲瀷锛�1 瀹f暀銆�2 鍖绘妧锛�")
+    @ApiModelProperty(value = "绫诲瀷锛�1 瀹f暀銆�2 鍖绘妧锛�")
+    private String type;
+}
diff --git a/smartor/src/main/java/com/smartor/domain/HeTaskSingleVO.java b/smartor/src/main/java/com/smartor/domain/HeTaskSingleVO.java
new file mode 100644
index 0000000..6087ee9
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/domain/HeTaskSingleVO.java
@@ -0,0 +1,266 @@
+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.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 瀹f暀鍗曚竴浠诲姟瀵硅薄 he_task_single
+ *
+ * @author ruoyi
+ * @date 2024-04-16
+ */
+@ApiModel(value = "IvrTask", description = "瀹f暀鍗曚竴浠诲姟瀵硅薄 ")
+@Data
+public class HeTaskSingleVO extends BaseEntity {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 鑷ID
+     */
+    @ApiModelProperty(value = "涓婚敭")
+    private Long id;
+
+    /**
+     * 鎮h�呮湇鍔′换鍔d
+     */
+    @Excel(name = "鎮h�呮湇鍔′换鍔d")
+    @ApiModelProperty(value = "鎮h�呮湇鍔′换鍔d")
+    private Long svrtaskid;
+
+    /**
+     * 鐥呬汉id锛堜綔搴燂紝鐢ㄤ富閿笌鍏宠仈琛ㄨ繘琛屽叧鑱旓級
+     */
+    @Excel(name = " 鐥呬汉id", readConverterExp = "浣�=搴燂紝鐢ㄤ富閿笌鍏宠仈琛ㄨ繘琛屽叧鑱�")
+    @ApiModelProperty(value = "鐥呬汉id锛堜綔搴燂紝鐢ㄤ富閿笌鍏宠仈琛ㄨ繘琛屽叧鑱旓級")
+    private String patientid;
+
+    /**
+     * 瀹f暀鍒嗙被
+     */
+    @Excel(name = " 瀹f暀鍒嗙被 ")
+    @ApiModelProperty(value = "瀹f暀鍒嗙被")
+    private String classification;
+
+    /**
+     * 瀹f暀id
+     */
+    @Excel(name = " 瀹f暀id")
+    @ApiModelProperty(value = "瀹f暀id")
+    private Long preachcategoryid;
+
+    /**
+     * 瀹f暀鍚嶇О
+     */
+    @Excel(name = " 瀹f暀鍚嶇О ")
+    @ApiModelProperty(value = "瀹f暀鍚嶇О")
+    private String preachname;
+
+    /**
+     * 鐗堟湰
+     */
+    @Excel(name = " 鐗堟湰 ")
+    @ApiModelProperty(value = "鐗堟湰")
+    private BigDecimal version;
+
+    /**
+     * 瀹f暀褰㈠紡 1,澶氬獟浣�   2,绾歌川  3,鐢佃瘽  4,鐭俊  5.寰俊鍏紬鍙� 6.寰俊灏忕▼搴�  7.鏀粯瀹�  8.鏅鸿兘灏忕▼搴�  9.閽夐拤
+     */
+    @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 String preachform;
+
+    /**
+     * 缁勭粐褰㈠紡锛�1.鍗曚汉瀹f暀   2.澶氫汉瀹f暀
+     */
+    @Excel(name = "缁勭粐褰㈠紡锛�1.鍗曚汉瀹f暀   2.澶氫汉瀹f暀")
+    @ApiModelProperty(value = "缁勭粐褰㈠紡锛�1.鍗曚汉瀹f暀   2.澶氫汉瀹f暀")
+    private Long orgform;
+
+    /**
+     * 瀹f暀鎻忚堪
+     */
+    @Excel(name = " 瀹f暀鎻忚堪 ")
+    @ApiModelProperty(value = "瀹f暀鎻忚堪")
+    private String preachdescription;
+
+    /**
+     * 瀹f暀鍐呭
+     */
+    @Excel(name = " 瀹f暀鍐呭 ")
+    @ApiModelProperty(value = "瀹f暀鍐呭")
+    private String preachcontent;
+
+    /**
+     * 妯℃澘ID
+     */
+    @Excel(name = " 妯℃澘ID ")
+    @ApiModelProperty(value = "妯℃澘ID")
+    private Long templateid;
+
+    /**
+     * 瀹f暀浠g爜
+     */
+    @Excel(name = " 瀹f暀浠g爜 ")
+    @ApiModelProperty(value = "瀹f暀浠g爜")
+    private String preachcode;
+
+    /**
+     * 涓績搴揑D
+     */
+    @Excel(name = " 涓績搴揑D ")
+    @ApiModelProperty(value = "涓績搴揑D")
+    private Long centerlibraryid;
+
+    /**
+     * 鏄惁鍚敤
+     */
+    @Excel(name = " 鏄惁鍚敤 ")
+    @ApiModelProperty(value = "鏄惁鍚敤")
+    private Long isenable;
+
+    /**
+     * 鏈烘瀯ID
+     */
+    @Excel(name = " 鏈烘瀯ID ")
+    @ApiModelProperty(value = "鏈烘瀯ID")
+    private String orgid;
+
+    /**
+     * 鍒犻櫎鏍囪
+     */
+    @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;
+
+    /**
+     * 鏄惁鏈湴
+     */
+    @Excel(name = " 鏄惁鏈湴 ")
+    @ApiModelProperty(value = "鏄惁鏈湴")
+    private Long islocal;
+
+    /**
+     * 涓績搴撲唬鐮�
+     */
+    @Excel(name = " 涓績搴撲唬鐮� ")
+    @ApiModelProperty(value = "涓績搴撲唬鐮�")
+    private String centerlibrarycode;
+
+    /**
+     * 鐖禝D
+     */
+    @Excel(name = "鐖禝D")
+    @ApiModelProperty(value = "鐖禝D")
+    private Long pid;
+
+    /**
+     * GUID
+     */
+    @Excel(name = "GUID")
+    @ApiModelProperty(value = "GUID")
+    private String guid;
+
+    /**
+     * 浠诲姟鍙戦�佹椂闂�
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "浠诲姟鍙戦�佹椂闂�", width = 30, dateFormat = "yyyy-MM-dd")
+    @ApiModelProperty(value = "浠诲姟鍙戦�佹椂闂�")
+    private Date sendTime;
+
+    /**
+     * 鏄惁鍙戦�� 锛� 0 鏆傚仠鍙戦��  1 瀹氭椂鍙戦��  2 绔嬪嵆鍙戦��
+     */
+    @Excel(name = "鏄惁鍙戦�� 锛� 0 鏆傚仠鍙戦��  1 瀹氭椂鍙戦��  2 绔嬪嵆鍙戦��  ")
+    @ApiModelProperty(value = " 鏄惁鍙戦�� 锛� 0 鏆傚仠鍙戦��  1 瀹氭椂鍙戦��  2 绔嬪嵆鍙戦��")
+    private Long isSend;
+
+    /**
+     * 鍙戦�佺姸鎬侊細  0  澶辫触   1鎴愬姛
+     */
+    @Excel(name = "鍙戦�佺姸鎬侊細  0  澶辫触   1鎴愬姛")
+    @ApiModelProperty(value = "鍙戦�佺姸鎬侊細  0  澶辫触   1鎴愬姛")
+    private String sendState;
+
+    /**
+     * 瀵屾枃鏈�
+     */
+    @Excel(name = "瀵屾枃鏈�")
+    @ApiModelProperty(value = "瀵屾枃鏈�")
+    private String richText;
+
+    /**
+     * 灏辫瘖鏃ユ湡
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "灏辫瘖鏃ユ湡", width = 30, dateFormat = "yyyy-MM-dd")
+    @ApiModelProperty(value = "灏辫瘖鏃ユ湡")
+    private Date admindate;
+
+
+    /**
+     * 鍙戦�佺被鍨�: 1 鏃堕棿娈�   2 鏃堕棿鐐�   3 鍗冲埢鍙戦��
+     */
+    @Excel(name = "鍙戦�佺被鍨�: 1 鏃堕棿娈�   2 鏃堕棿鐐�   3 鍗冲埢鍙戦��")
+    @ApiModelProperty(value = "涓婚敭")
+    private String sendType;
+
+
+    /**
+     * 鍙戦�佹椂闂存
+     */
+    @ApiModelProperty(value = "鍙戦�佹椂闂存 ")
+    private List<TaskSendTimeVO> sendTimeslot;
+
+
+    /**
+     * 鏄惁瀛樺湪鎿嶄綔锛�1 鏂板 2淇敼 3鍒犻櫎
+     */
+    @ApiModelProperty(value = "鏄惁瀛樺湪鎿嶄綔锛�1 鏂板 2淇敼 3鍒犻櫎")
+    private Integer isoperation;
+
+    /**
+     * 鏂囨湰鍙橀噺鍙傛暟
+     */
+    @Excel(name = "鏂囨湰鍙橀噺鍙傛暟")
+    @ApiModelProperty(value = "鏂囨湰鍙橀噺鍙傛暟")
+    private Map<String, Map<String, String>> textParam;
+
+    /**
+     * 绫诲瀷锛�1 瀹f暀銆�2 鍖绘妧锛�
+     */
+    @Excel(name = "绫诲瀷锛�1 瀹f暀銆�2 鍖绘妧锛�")
+    @ApiModelProperty(value = "绫诲瀷锛�1 瀹f暀銆�2 鍖绘妧锛�")
+    private String type;
+
+    /**
+     * 鎮h�呬笌鍗曚竴浠诲姟鍏宠仈琛ㄩ泦鍚�
+     */
+    @Excel(name = " 瀹f偅鑰呬笌鍗曚竴浠诲姟鍏宠仈琛ㄩ泦鍚�")
+    @ApiModelProperty(value = "鎮h�呬笌鍗曚竴浠诲姟鍏宠仈琛ㄩ泦鍚�")
+    private List<PatTaskRelevance> patTaskRelevances;
+
+}
diff --git a/smartor/src/main/java/com/smartor/domain/IvrTask.java b/smartor/src/main/java/com/smartor/domain/IvrTask.java
index 4731f35..9ef8b76 100644
--- a/smartor/src/main/java/com/smartor/domain/IvrTask.java
+++ b/smartor/src/main/java/com/smartor/domain/IvrTask.java
@@ -1,395 +1,248 @@
 package com.smartor.domain;
 
-import java.util.Date;
 import com.fasterxml.jackson.annotation.JsonFormat;
-import org.apache.commons.lang3.builder.ToStringBuilder;
-import org.apache.commons.lang3.builder.ToStringStyle;
 import com.ruoyi.common.annotation.Excel;
 import com.ruoyi.common.core.domain.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
 
 /**
  * 璇煶浠诲姟瀵硅薄 ivr_task
- * 
+ *
  * @author smartor
  * @date 2023-03-24
  */
-public class IvrTask extends BaseEntity
-{
+@ApiModel(value = "IvrTask", description = "浠诲姟瀵硅薄")
+@Data
+public class IvrTask extends BaseEntity {
     private static final long serialVersionUID = 1L;
 
-    /**    */
+    /**
+     * 涓婚敭
+     */
+    @ApiModelProperty(value = "涓婚敭")
     private Long taskid;
 
-    /**    */
-    @Excel(name = "  ")
+    /**
+     * 浠诲姟鍚嶇О
+     */
+    @Excel(name = "浠诲姟鍚嶇О  ")
+    @ApiModelProperty(value = "浠诲姟鍚嶇О")
     private String taskname;
 
-    /**    */
-    @Excel(name = "  ")
+    /**
+     * 妯℃澘ID
+     */
+    @Excel(name = "妯℃澘ID ")
+    @ApiModelProperty(value = "妯℃澘ID")
     private String templateid;
 
-    /**    */
-    @Excel(name = "  ")
+    /**
+     * 妯℃澘鍚嶇О
+     */
+    @Excel(name = "妯℃澘鍚嶇О")
+    @ApiModelProperty(value = "妯℃澘鍚嶇О")
     private String templatename;
 
-    /**    */
-    @Excel(name = "  ")
+    /**
+     * 鏍囩淇℃伅
+     */
+    @Excel(name = "鏍囩淇℃伅")
+    @ApiModelProperty(value = "鏍囩淇℃伅")
     private String labelinfo;
 
-    /**    */
-    @Excel(name = "  ")
+    /**
+     * 鐘舵��
+     */
+    @Excel(name = "鐘舵��")
+    @ApiModelProperty(value = "鐘舵��")
     private Long state;
 
-    /**    */
-    @Excel(name = "  ")
+    /**
+     * 鏁伴噺
+     */
+    @Excel(name = "鏁伴噺")
+    @ApiModelProperty(value = "鏁伴噺")
     private Long count;
 
-    /**    */
-    @Excel(name = "  ")
+    /**
+     * 鎵ц
+     */
+    @Excel(name = "鎵ц")
+    @ApiModelProperty(value = "鎵ц")
     private Long executed;
 
-    /**    */
-    @Excel(name = "  ")
+    /**
+     * 涓嶆墽琛�
+     */
+    @Excel(name = "涓嶆墽琛�")
+    @ApiModelProperty(value = "涓嶆墽琛�")
     private Long unexecuted;
 
-    /**    */
-    @Excel(name = "  ")
+    /**
+     * 鏄惁澶辫触
+     */
+    @Excel(name = "鏄惁澶辫触")
+    @ApiModelProperty(value = "鏄惁澶辫触")
     private Long fail;
 
-    /**    */
-    @Excel(name = "  ")
-    private String userid;
+    /**
+     * 鎮h�匢D
+     */
+    @Excel(name = "鎮h�匢D")
+    @ApiModelProperty(value = "鎮h�匢D")
+    private String patientid;
 
-    /**    */
-    @Excel(name = "  ")
-    private String username;
+    /**
+     * 鎮h�呭鍚�
+     */
+    @Excel(name = "鎮h�呭鍚�")
+    @ApiModelProperty(value = "鎮h�呭鍚�")
+    private String patientname;
 
-    /**    */
+    /**
+     *
+     */
     @JsonFormat(pattern = "yyyy-MM-dd")
     @Excel(name = "  ", width = 30, dateFormat = "yyyy-MM-dd")
+    @ApiModelProperty(value = "娣诲姞鏃堕棿")
     private Date addtime;
 
-    /**    */
-    @Excel(name = "  ")
+    /**
+     * 瀹℃牳浜篿d
+     */
+    @Excel(name = "瀹℃牳浜篿d")
+    @ApiModelProperty(value = "瀹℃牳浜篿d")
     private String checkuserid;
 
-    /**    */
-    @Excel(name = "  ")
+    /**
+     * 瀹℃牳浜�
+     */
+    @Excel(name = "瀹℃牳浜�")
+    @ApiModelProperty(value = "瀹℃牳浜�")
     private String checkusername;
 
-    /**    */
+    /**
+     * 瀹℃牳浜烘椂闂�
+     */
     @JsonFormat(pattern = "yyyy-MM-dd")
     @Excel(name = "  ", width = 30, dateFormat = "yyyy-MM-dd")
+    @ApiModelProperty(value = "瀹℃牳浜烘椂闂�")
     private Date checktime;
 
-    /**  1锛屽嚭闄㈤殢璁匡紱2锛屼綋妫�閫氱煡锛�3锛屾弧鎰忓害璋冩煡锛�4锛屽鏁欙紱  */
+    /**
+     * 1锛屽嚭闄㈤殢璁匡紱2锛屼綋妫�閫氱煡锛�3锛屾弧鎰忓害璋冩煡锛�4锛屽鏁欙紱
+     */
     @Excel(name = " 1锛屽嚭闄㈤殢璁匡紱2锛屼綋妫�閫氱煡锛�3锛屾弧鎰忓害璋冩煡锛�4锛屽鏁欙紱 ")
+    @ApiModelProperty(value = "1锛屽嚭闄㈤殢璁匡紱2锛屼綋妫�閫氱煡锛�3锛屾弧鎰忓害璋冩煡锛�4锛屽鏁欙紱")
     private String type;
 
-    /**    */
-    @Excel(name = "  ")
+    /**
+     * 绫诲瀷鍚嶇О
+     */
+    @Excel(name = "绫诲瀷鍚嶇О")
+    @ApiModelProperty(value = "绫诲瀷鍚嶇О")
     private String typename;
 
-    /**  0.涓嶄娇鐢ㄦ挱鍓嶇煭淇� 1.浣跨敤鎾墠鐭俊  */
+    /**
+     * 0.涓嶄娇鐢ㄦ挱鍓嶇煭淇� 1.浣跨敤鎾墠鐭俊
+     */
     @Excel(name = " 0.涓嶄娇鐢ㄦ挱鍓嶇煭淇� 1.浣跨敤鎾墠鐭俊 ")
+    @ApiModelProperty(value = "绉戝鍚嶇О")
     private Long usebqsms;
 
-    /**  0.涓嶄娇鐢ㄦ挱鍚庣煭淇� 1.浣跨敤鎾墠鐭俊  */
+    /**
+     * 0.涓嶄娇鐢ㄦ挱鍚庣煭淇� 1.浣跨敤鎾墠鐭俊
+     */
     @Excel(name = " 0.涓嶄娇鐢ㄦ挱鍚庣煭淇� 1.浣跨敤鎾墠鐭俊 ")
+    @ApiModelProperty(value = "0.涓嶄娇鐢ㄦ挱鍓嶇煭淇� 1.浣跨敤鎾墠鐭俊 ")
     private Long usebhsms;
 
-    /**    */
-    @Excel(name = "  ")
+    /**
+     * 0.涓嶄娇鐢ㄦ挱鍚庣煭淇� 1.浣跨敤鎾悗鐭俊
+     */
+    @Excel(name = " 0.涓嶄娇鐢ㄦ挱鍚庣煭淇� 1.浣跨敤鎾悗鐭俊 ")
+    @ApiModelProperty(value = " 0.涓嶄娇鐢ㄦ挱鍚庣煭淇� 1.浣跨敤鎾悗鐭俊 ")
     private Long usesendsms;
 
-    /**    */
-    @Excel(name = "  ")
+    /**
+     * 閮ㄩ棬code
+     */
+    @Excel(name = "閮ㄩ棬code")
+    @ApiModelProperty(value = "閮ㄩ棬code")
     private String deptcode;
 
-    /**  鍒犻櫎鏍囪  */
+    /**
+     * 鍒犻櫎
+     */
+    @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 setTaskid(Long taskid) 
-    {
-        this.taskid = taskid;
-    }
+    /**
+     * 鐖禝D
+     */
+    @Excel(name = " 鐖禝D ")
+    @ApiModelProperty(value = "鐖禝D ")
+    private Integer pid;
 
-    public Long getTaskid() 
-    {
-        return taskid;
-    }
-    public void setTaskname(String taskname) 
-    {
-        this.taskname = taskname;
-    }
+    /**
+     * guid
+     */
+    @Excel(name = " guid ")
+    @ApiModelProperty(value = "guid ")
+    private String guid;
 
-    public String getTaskname() 
-    {
-        return taskname;
-    }
-    public void setTemplateid(String templateid) 
-    {
-        this.templateid = templateid;
-    }
+    /**
+     * 浠诲姟褰㈠紡 1,澶氬獟浣�   2,绾歌川  3,鐢佃瘽  4,鐭俊  5.寰俊鍏紬鍙� 6.寰俊灏忕▼搴�  7.鏀粯瀹�  8.鏅鸿兘灏忕▼搴�  9.閽夐拤
+     */
+    @Excel(name = "  浠诲姟褰㈠紡 1,澶氬獟浣�   2,绾歌川  3,鐢佃瘽  4,鐭俊  5.寰俊鍏紬鍙� 6.寰俊灏忕▼搴�  7.鏀粯瀹�  8.鏅鸿兘灏忕▼搴�  9.閽夐拤 ")
+    @ApiModelProperty(value = " 浠诲姟褰㈠紡 1,澶氬獟浣�   2,绾歌川  3,鐢佃瘽  4,鐭俊  5.寰俊鍏紬鍙� 6.寰俊灏忕▼搴�  7.鏀粯瀹�  8.鏅鸿兘灏忕▼搴�  9.閽夐拤 ")
+    private String preachform;
 
-    public String getTemplateid() 
-    {
-        return templateid;
-    }
-    public void setTemplatename(String templatename) 
-    {
-        this.templatename = templatename;
-    }
+    /**
+     * 鏄惁鍙戦�� 锛� 0 鏆傚仠鍙戦��  1 瀹氭椂鍙戦��  2 绔嬪嵆鍙戦��
+     */
+    @Excel(name = " 鏄惁鍙戦�� 锛� 0 鏆傚仠鍙戦��  1 瀹氭椂鍙戦��  2 绔嬪嵆鍙戦�� ")
+    @ApiModelProperty(value = "鏄惁鍙戦�� 锛� 0 鏆傚仠鍙戦��  1 瀹氭椂鍙戦��  2 绔嬪嵆鍙戦�� ")
+    private Integer isSend;
 
-    public String getTemplatename() 
-    {
-        return templatename;
-    }
-    public void setLabelinfo(String labelinfo) 
-    {
-        this.labelinfo = labelinfo;
-    }
+    /**
+     * 鍙戦�佺姸鎬侊細  0  澶辫触   1鎴愬姛
+     */
+    @Excel(name = " 鍙戦�佺姸鎬侊細  0  澶辫触   1鎴愬姛 ")
+    @ApiModelProperty(value = "鍙戦�佺姸鎬侊細  0  澶辫触   1鎴愬姛 ")
+    private String sendState;
 
-    public String getLabelinfo() 
-    {
-        return labelinfo;
-    }
-    public void setState(Long state) 
-    {
-        this.state = state;
-    }
+    /**
+     * 鏂囨湰鍙橀噺鍙傛暟
+     */
+    @Excel(name = " 鏂囨湰鍙橀噺鍙傛暟 ")
+    @ApiModelProperty(value = "鏂囨湰鍙橀噺鍙傛暟 ")
+    private String param;
 
-    public Long getState() 
-    {
-        return state;
-    }
-    public void setCount(Long count) 
-    {
-        this.count = count;
-    }
-
-    public Long getCount() 
-    {
-        return count;
-    }
-    public void setExecuted(Long executed) 
-    {
-        this.executed = executed;
-    }
-
-    public Long getExecuted() 
-    {
-        return executed;
-    }
-    public void setUnexecuted(Long unexecuted) 
-    {
-        this.unexecuted = unexecuted;
-    }
-
-    public Long getUnexecuted() 
-    {
-        return unexecuted;
-    }
-    public void setFail(Long fail) 
-    {
-        this.fail = fail;
-    }
-
-    public Long getFail() 
-    {
-        return fail;
-    }
-    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 setAddtime(Date addtime) 
-    {
-        this.addtime = addtime;
-    }
-
-    public Date getAddtime() 
-    {
-        return addtime;
-    }
-    public void setCheckuserid(String checkuserid) 
-    {
-        this.checkuserid = checkuserid;
-    }
-
-    public String getCheckuserid() 
-    {
-        return checkuserid;
-    }
-    public void setCheckusername(String checkusername) 
-    {
-        this.checkusername = checkusername;
-    }
-
-    public String getCheckusername() 
-    {
-        return checkusername;
-    }
-    public void setChecktime(Date checktime) 
-    {
-        this.checktime = checktime;
-    }
-
-    public Date getChecktime() 
-    {
-        return checktime;
-    }
-    public void setType(String type) 
-    {
-        this.type = type;
-    }
-
-    public String getType() 
-    {
-        return type;
-    }
-    public void setTypename(String typename) 
-    {
-        this.typename = typename;
-    }
-
-    public String getTypename() 
-    {
-        return typename;
-    }
-    public void setUsebqsms(Long usebqsms) 
-    {
-        this.usebqsms = usebqsms;
-    }
-
-    public Long getUsebqsms() 
-    {
-        return usebqsms;
-    }
-    public void setUsebhsms(Long usebhsms) 
-    {
-        this.usebhsms = usebhsms;
-    }
-
-    public Long getUsebhsms() 
-    {
-        return usebhsms;
-    }
-    public void setUsesendsms(Long usesendsms) 
-    {
-        this.usesendsms = usesendsms;
-    }
-
-    public Long getUsesendsms() 
-    {
-        return usesendsms;
-    }
-    public void setDeptcode(String deptcode) 
-    {
-        this.deptcode = deptcode;
-    }
-
-    public String getDeptcode() 
-    {
-        return deptcode;
-    }
-    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("taskid", getTaskid())
-            .append("taskname", getTaskname())
-            .append("templateid", getTemplateid())
-            .append("templatename", getTemplatename())
-            .append("labelinfo", getLabelinfo())
-            .append("state", getState())
-            .append("count", getCount())
-            .append("executed", getExecuted())
-            .append("unexecuted", getUnexecuted())
-            .append("fail", getFail())
-            .append("userid", getUserid())
-            .append("username", getUsername())
-            .append("addtime", getAddtime())
-            .append("checkuserid", getCheckuserid())
-            .append("checkusername", getCheckusername())
-            .append("checktime", getChecktime())
-            .append("type", getType())
-            .append("typename", getTypename())
-            .append("usebqsms", getUsebqsms())
-            .append("usebhsms", getUsebhsms())
-            .append("usesendsms", getUsesendsms())
-            .append("deptcode", getDeptcode())
-            .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/IvrTaskSingle.java b/smartor/src/main/java/com/smartor/domain/IvrTaskSingle.java
index b17b6da..c1512f7 100644
--- a/smartor/src/main/java/com/smartor/domain/IvrTaskSingle.java
+++ b/smartor/src/main/java/com/smartor/domain/IvrTaskSingle.java
@@ -9,14 +9,14 @@
 import com.ruoyi.common.core.domain.BaseEntity;
 
 /**
- * 鍗曚竴浠诲姟锛堥殢璁匡級瀵硅薄 ivr_taskcall
+ * 鍗曚竴浠诲姟锛堥殢璁匡級瀵硅薄 ivr_tasksingle
  *
  * @author ruoyi
  * @date 2024-02-02
  */
 @Data
 public class IvrTaskSingle extends BaseEntity {
-    @ApiModelProperty(value = "鎷夊彇鏃堕棿")
+    @ApiModelProperty(value = "鍗曚竴浠诲姟锛堥殢璁匡級")
     private static final long serialVersionUID = 1L;
 
     /**
@@ -320,7 +320,7 @@
      */
     @Excel(name = "搴婂彿")
     @ApiModelProperty(value = "搴婂彿")
-    private Long badNo;
+    private String badNo;
 
     /**
      * 鐤剧梾鍚嶇О
@@ -414,4 +414,41 @@
     @Excel(name = "  灏辫瘖绫诲瀷锛�1闂ㄨ瘖  2鍑洪櫌锛�")
     @ApiModelProperty(value = "灏辫瘖绫诲瀷锛�1闂ㄨ瘖  2鍑洪櫌锛�")
     private String hospType;
+
+
+    /**
+     * 寰俊
+     */
+    @Excel(name = "  寰俊")
+    @ApiModelProperty(value = "寰俊")
+    private String wechat;
+
+    /**
+     * 璇婃柇鍚嶇О
+     */
+    @Excel(name = "  璇婃柇鍚嶇О")
+    @ApiModelProperty(value = "璇婃柇鍚嶇О")
+    private String diagname;
+
+    /**
+     * 绉戝鍚嶇О
+     */
+    @Excel(name = "绉戝鍚嶇О")
+    @ApiModelProperty(value = "绉戝鍚嶇О")
+    private String deptname;
+
+    /**
+     * 灏辫瘖鏃ユ湡
+     */
+    @Excel(name = " 灏辫瘖鏃ユ湡")
+    @ApiModelProperty(value = "灏辫瘖鏃ユ湡")
+    private Date admindate;
+
+    /**
+     * 鐥呮埧鍙�
+     */
+    @Excel(name = "  鐥呮埧鍙�")
+    @ApiModelProperty(value = "鐥呮埧鍙�")
+    private String roomno;
+
 }
diff --git a/smartor/src/main/java/com/smartor/domain/IvrTaskSingleVO.java b/smartor/src/main/java/com/smartor/domain/IvrTaskSingleVO.java
index 1036018..318c139 100644
--- a/smartor/src/main/java/com/smartor/domain/IvrTaskSingleVO.java
+++ b/smartor/src/main/java/com/smartor/domain/IvrTaskSingleVO.java
@@ -417,6 +417,43 @@
     @ApiModelProperty(value = "灏辫瘖绫诲瀷锛�1闂ㄨ瘖  2鍑洪櫌锛�")
     private String hospType;
 
+    /**
+     * 寰俊
+     */
+    @Excel(name = "  寰俊")
+    @ApiModelProperty(value = "寰俊")
+    private String wechat;
+
+
+    /**
+     * 璇婃柇鍚嶇О
+     */
+    @Excel(name = "  璇婃柇鍚嶇О")
+    @ApiModelProperty(value = "璇婃柇鍚嶇О")
+    private String diagname;
+
+    /**
+     * 绉戝鍚嶇О
+     */
+    @Excel(name = "绉戝鍚嶇О")
+    @ApiModelProperty(value = "绉戝鍚嶇О")
+    private String deptname;
+
+    /**
+     * 灏辫瘖鏃ユ湡
+     */
+    @Excel(name = " 灏辫瘖鏃ユ湡")
+    @ApiModelProperty(value = "灏辫瘖鏃ユ湡")
+    private Date admindate;
+
+    /**
+     * 鐥呮埧鍙�
+     */
+    @Excel(name = "  鐥呮埧鍙�")
+    @ApiModelProperty(value = "鐥呮埧鍙�")
+    private String roomno;
+
+
     @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/PatMedInhosp.java b/smartor/src/main/java/com/smartor/domain/PatMedInhosp.java
index c45fdbc..5e59255 100644
--- a/smartor/src/main/java/com/smartor/domain/PatMedInhosp.java
+++ b/smartor/src/main/java/com/smartor/domain/PatMedInhosp.java
@@ -1,6 +1,7 @@
 package com.smartor.domain;
 
 import java.util.Date;
+
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -12,209 +13,235 @@
 
 /**
  * 鎮h�呬綇闄㈣褰曞璞� pat_med_inhosp
- * 
+ *
  * @author smartor
  * @date 2023-03-04
  */
 @ApiModel(value = "PatMedInhosp", description = "鎮h�呬綇闄㈣褰曞璞�")
 @Data
-public class PatMedInhosp extends BaseEntity
-{
+public class PatMedInhosp extends BaseEntity {
     private static final long serialVersionUID = 1L;
 
-    /**  鑷ID  */
+    /**
+     * 鑷ID
+     */
     @ApiModelProperty(value = "鑷ID")
     private Long inhospid;
 
-    /**  鑷ID  */
+    /**
+     * 鑷ID
+     */
     @ApiModelProperty(value = "鑷ID")
     private String inhospno;
 
-    /**  娴佹按鍙�  */
+    /**
+     * 娴佹按鍙�
+     */
     @ApiModelProperty(value = "娴佹按鍙�")
     private String serialnum;
 
-    /**  鍖婚櫌鍚嶇О  */
+    /**
+     * 鍖婚櫌鍚嶇О
+     */
     @ApiModelProperty(value = "鍖婚櫌鍚嶇О")
     @Excel(name = " 鍖婚櫌鍚嶇О ")
     private String hospitalname;
 
-    /**  鍖婚櫌缂栧彿  */
+    /**
+     * 鍖婚櫌缂栧彿
+     */
     @ApiModelProperty(value = "鍖婚櫌缂栧彿")
     private String hospitalcode;
 
-    /**  闄㈠尯缂栧彿  */
+    /**
+     * 闄㈠尯缂栧彿
+     */
     @ApiModelProperty(value = "闄㈠尯缂栧彿")
     private String hospitaldistrictcode;
 
-    /**  闄㈠尯鍚嶇О  */
+    /**
+     * 闄㈠尯鍚嶇О
+     */
     @ApiModelProperty(value = "闄㈠尯鍚嶇О")
     @Excel(name = " 闄㈠尯鍚嶇О ")
     private String hospitaldistrictname;
 
-    /**  鍏ラ櫌璇婃柇ICD鍊�  */
+    /**
+     * 鍏ラ櫌璇婃柇ICD鍊�
+     */
     @ApiModelProperty(value = "鍏ラ櫌璇婃柇ICD鍊�")
     private String icd10code;
 
-    /**  鍏ラ櫌璇婃柇鍚嶇О  */
+    /**
+     * 鍏ラ櫌璇婃柇鍚嶇О
+     */
     @ApiModelProperty(value = "鍏ラ櫌璇婃柇鍚嶇О")
     private String diagname;
 
-    /**  鍏ラ櫌鏃堕棿  */
+    /**
+     * 鍏ラ櫌鏃堕棿
+     */
     @ApiModelProperty(value = "鍏ラ櫌鏃堕棿")
     @JsonFormat(pattern = "yyyy-MM-dd")
     @Excel(name = " 鍏ラ櫌鏃堕棿 ", width = 30, dateFormat = "yyyy-MM-dd")
     private Date starttime;
 
-    /**  鍑洪櫌鏃堕棿  */
+    /**
+     * 鍑洪櫌鏃堕棿
+     */
     @ApiModelProperty(value = "鍑洪櫌鏃堕棿")
     @JsonFormat(pattern = "yyyy-MM-dd")
     @Excel(name = " 鍑洪櫌鏃堕棿 ", width = 30, dateFormat = "yyyy-MM-dd")
     private Date endtime;
 
-    /**  鍏ラ櫌绉戝浠g爜  */
+    /**
+     * 鍏ラ櫌绉戝浠g爜
+     */
     @ApiModelProperty(value = "鍏ラ櫌绉戝浠g爜")
     private String deptcode;
 
-    /**  鍏ラ櫌绉戝鍚嶇О  */
+    /**
+     * 鍏ラ櫌绉戝鍚嶇О
+     */
     @ApiModelProperty(value = "鍏ラ櫌绉戝鍚嶇О")
     private String deptname;
 
-    /**  鎴块棿鍙�  */
+    /**
+     * 鎴块棿鍙�
+     */
     @ApiModelProperty(value = "鎴块棿鍙�")
     private String roomno;
 
-    /**  搴婁綅鍙�  */
+    /**
+     * 搴婁綅鍙�
+     */
     @ApiModelProperty(value = "搴婁綅鍙�")
     @Excel(name = " 搴婁綅鍙� ")
-    private String bedno;
+    private String bedNo;
 
-    /**  鏈烘瀯ID  */
+    /**
+     * 鏈烘瀯ID
+     */
     @ApiModelProperty(value = "鏈烘瀯ID")
     @Excel(name = " 鏈烘瀯ID ")
     private String orgid;
 
-    /**  鍒犻櫎鏍囪  */
+    /**
+     * 鍒犻櫎鏍囪
+     */
     @ApiModelProperty(value = "鍒犻櫎鏍囪")
     private String delFlag;
 
-    /**  涓婁紶鏍囪  */
+    /**
+     * 涓婁紶鏍囪
+     */
     @ApiModelProperty(value = "涓婁紶鏍囪")
     private Long isupload;
 
-    /**  涓婁紶鏃堕棿  */
+    /**
+     * 涓婁紶鏃堕棿
+     */
     @ApiModelProperty(value = "涓婁紶鏃堕棿")
     private Date uploadTime;
 
-    /**  妗fID  */
+    /**
+     * 妗fID
+     */
     @ApiModelProperty(value = "妗fID")
     private Long patid;
 
-    /**  鍑洪櫌璇婃柇  */
+    /**
+     * 鍑洪櫌璇婃柇
+     */
     @ApiModelProperty(value = "鍑洪櫌璇婃柇")
     @Excel(name = " 鍑洪櫌璇婃柇 ")
     private String leavediagname;
 
-    /**  鍑洪櫌璇婃柇ICD鍊�  */
+    /**
+     * 鍑洪櫌璇婃柇ICD鍊�
+     */
     @ApiModelProperty(value = "鍑洪櫌璇婃柇ICD鍊�")
     private String leaveicd10code;
 
-    /**  鍖荤敓宸ュ彿  */
+    /**
+     * 鍖荤敓宸ュ彿
+     */
     @ApiModelProperty(value = "鍖荤敓宸ュ彿")
     private String drcode;
 
-    /**  鍖荤敓鍚嶇О  */
+    /**
+     * 鍖荤敓鍚嶇О
+     */
     @ApiModelProperty(value = "鍖荤敓鍚嶇О")
     @Excel(name = " 鍖荤敓鍚嶇О ")
     private String drname;
 
-    /**  鏄惁鐢熸垚鏂规鐘舵��;0鏈敓鎴� 1鐢熸垚鍏ラ櫌 2鐢熸垚鍑洪櫌 9鏃犲尮閰嶆柟妗�  */
+    /**
+     * 鏄惁鐢熸垚鏂规鐘舵��;0鏈敓鎴� 1鐢熸垚鍏ラ櫌 2鐢熸垚鍑洪櫌 9鏃犲尮閰嶆柟妗�
+     */
     @ApiModelProperty(value = "鏄惁鐢熸垚鏂规鐘舵��;0鏈敓鎴� 1鐢熸垚鍏ラ櫌 2鐢熸垚鍑洪櫌 9鏃犲尮閰嶆柟妗�")
     private Long schemestatus;
 
-    /**  鏄惁鐢熸垚閫氱敤鏂规鐘舵��;0鏈敓鎴� 1鐢熸垚 9鏃犲尮閰嶆柟妗�  */
+    /**
+     * 鏄惁鐢熸垚閫氱敤鏂规鐘舵��;0鏈敓鎴� 1鐢熸垚 9鏃犲尮閰嶆柟妗�
+     */
     @ApiModelProperty(value = "鏄惁鐢熸垚閫氱敤鏂规鐘舵��;0鏈敓鎴� 1鐢熸垚 9鏃犲尮閰嶆柟妗�")
     private Long generalschemestatus;
 
-    /**  鍑洪櫌绉戝浠g爜  */
+    /**
+     * 鍑洪櫌绉戝浠g爜
+     */
     @ApiModelProperty(value = "鍑洪櫌绉戝浠g爜")
     private String leaveldeptcode;
 
-    /**  鍑洪櫌绉戝鍚嶇О  */
+    /**
+     * 鍑洪櫌绉戝鍚嶇О
+     */
     @ApiModelProperty(value = "鍑洪櫌绉戝鍚嶇О")
     @Excel(name = " 鍑洪櫌绉戝鍚嶇О ")
     private String leaveldeptname;
 
-    /**  鐥呭尯ID  */
+    /**
+     * 鐥呭尯ID
+     */
     @ApiModelProperty(value = "鐥呭尯ID")
     private Long hospitaldistrictid;
 
-    /**  鍑洪櫌鐥呭尯缂栧彿  */
+    /**
+     * 鍑洪櫌鐥呭尯缂栧彿
+     */
     @ApiModelProperty(value = "鍑洪櫌鐥呭尯缂栧彿")
     private String leavehospitaldistrictcode;
 
-    /**  鍑洪櫌鐥呭尯鍚嶇О  */
+    /**
+     * 鍑洪櫌鐥呭尯鍚嶇О
+     */
     @ApiModelProperty(value = "鍑洪櫌鐥呭尯鍚嶇О")
     @Excel(name = " 鍑洪櫌鐥呭尯鍚嶇О ")
     private String leavehospitaldistrictname;
 
-    /**  鍑洪櫌鐥呭尯ID  */
+    /**
+     * 鍑洪櫌鐥呭尯ID
+     */
     @ApiModelProperty(value = "鍑洪櫌鐥呭尯ID")
     private Long leavehospitaldistrictid;
 
-    /**  鍏ラ櫌绉戝ID  */
+    /**
+     * 鍏ラ櫌绉戝ID
+     */
     @ApiModelProperty(value = "鍏ラ櫌绉戝ID")
     private Long deptid;
 
-    /**  鍑洪櫌绉戝ID  */
+    /**
+     * 鍑洪櫌绉戝ID
+     */
     @ApiModelProperty(value = "鍑洪櫌绉戝ID")
     private Long leaveldeptid;
 
-    /**  鏂规鐘舵�佹搷浣滄椂闂�  */
+    /**
+     * 鏂规鐘舵�佹搷浣滄椂闂�
+     */
     @ApiModelProperty(value = "鏂规鐘舵�佹搷浣滄椂闂�")
     private Date schemetime;
 
-    @Override
-    public String toString() {
-        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
-            .append("inhospid", getInhospid())
-            .append("serialnum", getSerialnum())
-            .append("hospitalname", getHospitalname())
-            .append("hospitalcode", getHospitalcode())
-            .append("hospitaldistrictcode", getHospitaldistrictcode())
-            .append("hospitaldistrictname", getHospitaldistrictname())
-            .append("icd10code", getIcd10code())
-            .append("diagname", getDiagname())
-            .append("starttime", getStarttime())
-            .append("endtime", getEndtime())
-            .append("deptcode", getDeptcode())
-            .append("deptname", getDeptname())
-            .append("roomno", getRoomno())
-            .append("bedno", getBedno())
-            .append("orgid", getOrgid())
-            .append("delFlag", getDelFlag())
-            .append("updateBy", getUpdateBy())
-            .append("updateTime", getUpdateTime())
-            .append("createBy", getCreateBy())
-            .append("createTime", getCreateTime())
-            .append("isupload", getIsupload())
-            .append("uploadTime", getUploadTime())
-            .append("patid", getPatid())
-            .append("leavediagname", getLeavediagname())
-            .append("leaveicd10code", getLeaveicd10code())
-            .append("drcode", getDrcode())
-            .append("drname", getDrname())
-            .append("schemestatus", getSchemestatus())
-            .append("generalschemestatus", getGeneralschemestatus())
-            .append("leaveldeptcode", getLeaveldeptcode())
-            .append("leaveldeptname", getLeaveldeptname())
-            .append("hospitaldistrictid", getHospitaldistrictid())
-            .append("leavehospitaldistrictcode", getLeavehospitaldistrictcode())
-            .append("leavehospitaldistrictname", getLeavehospitaldistrictname())
-            .append("leavehospitaldistrictid", getLeavehospitaldistrictid())
-            .append("deptid", getDeptid())
-            .append("leaveldeptid", getLeaveldeptid())
-            .append("schemetime", getSchemetime())
-            .toString();
-    }
 }
diff --git a/smartor/src/main/java/com/smartor/domain/PatTaskRelevance.java b/smartor/src/main/java/com/smartor/domain/PatTaskRelevance.java
index af693c3..a77e9e1 100644
--- a/smartor/src/main/java/com/smartor/domain/PatTaskRelevance.java
+++ b/smartor/src/main/java/com/smartor/domain/PatTaskRelevance.java
@@ -81,14 +81,14 @@
      */
     @Excel(name = "搴婂彿")
     @ApiModelProperty("搴婂彿")
-    private Long bedno;
+    private String bedNo;
 
     /**
      * 绉戝
      */
     @Excel(name = "绉戝")
     @ApiModelProperty("绉戝")
-    private String dept;
+    private String deptName;
 
     /**
      * 绉戝
@@ -157,9 +157,23 @@
     private String receiveTime;
 
     /**
+     * 璇婃柇鍚嶇О
+     */
+    @Excel(name = "璇婃柇鍚嶇О")
+    @ApiModelProperty(value = "璇婃柇鍚嶇О")
+    private String diagname;
+
+    /**
      * 鏄惁瀛樺湪鎿嶄綔锛�1 鏂板 2淇敼 3鍒犻櫎
      */
     @ApiModelProperty(value = "鏄惁瀛樺湪鎿嶄綔锛�1 鏂板 2淇敼 3鍒犻櫎")
     private Integer isoperation;
 
+    /**
+     * 鐥呮埧鍙�
+     */
+    @Excel(name = "鐥呮埧鍙�")
+    @ApiModelProperty(value = "鐥呮埧鍙�")
+    private String roomno;
+
 }
diff --git a/smartor/src/main/java/com/smartor/mapper/HeTaskSingleMapper.java b/smartor/src/main/java/com/smartor/mapper/HeTaskSingleMapper.java
new file mode 100644
index 0000000..eec6e02
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/mapper/HeTaskSingleMapper.java
@@ -0,0 +1,63 @@
+package com.smartor.mapper;
+
+import com.smartor.domain.HeTaskSingle;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+/**
+ * 瀹f暀鍗曚竴浠诲姟Mapper鎺ュ彛
+ *
+ * @author ruoyi
+ * @date 2024-04-16
+ */
+@Mapper
+public interface HeTaskSingleMapper {
+    /**
+     * 鏌ヨ瀹f暀鍗曚竴浠诲姟
+     *
+     * @param id 瀹f暀鍗曚竴浠诲姟涓婚敭
+     * @return 瀹f暀鍗曚竴浠诲姟
+     */
+    public HeTaskSingle selectHeTaskSingleById(Long id);
+
+    /**
+     * 鏌ヨ瀹f暀鍗曚竴浠诲姟鍒楄〃
+     *
+     * @param heTaskSingle 瀹f暀鍗曚竴浠诲姟
+     * @return 瀹f暀鍗曚竴浠诲姟闆嗗悎
+     */
+    public List<HeTaskSingle> selectHeTaskSingleList(HeTaskSingle heTaskSingle);
+
+    /**
+     * 鏂板瀹f暀鍗曚竴浠诲姟
+     *
+     * @param heTaskSingle 瀹f暀鍗曚竴浠诲姟
+     * @return 缁撴灉
+     */
+    public int insertHeTaskSingle(HeTaskSingle heTaskSingle);
+
+    /**
+     * 淇敼瀹f暀鍗曚竴浠诲姟
+     *
+     * @param heTaskSingle 瀹f暀鍗曚竴浠诲姟
+     * @return 缁撴灉
+     */
+    public int updateHeTaskSingle(HeTaskSingle heTaskSingle);
+
+    /**
+     * 鍒犻櫎瀹f暀鍗曚竴浠诲姟
+     *
+     * @param id 瀹f暀鍗曚竴浠诲姟涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteHeTaskSingleById(Long id);
+
+    /**
+     * 鎵归噺鍒犻櫎瀹f暀鍗曚竴浠诲姟
+     *
+     * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteHeTaskSingleByIds(Long[] ids);
+}
diff --git a/smartor/src/main/java/com/smartor/service/IHeTaskSingleService.java b/smartor/src/main/java/com/smartor/service/IHeTaskSingleService.java
new file mode 100644
index 0000000..c677e88
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/service/IHeTaskSingleService.java
@@ -0,0 +1,68 @@
+package com.smartor.service;
+
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.smartor.domain.HeTaskSingle;
+import com.smartor.domain.HeTaskSingleVO;
+import org.springframework.web.bind.annotation.RequestBody;
+
+import java.util.List;
+
+/**
+ * 瀹f暀鍗曚竴浠诲姟Service鎺ュ彛
+ *
+ * @author ruoyi
+ * @date 2024-04-16
+ */
+public interface IHeTaskSingleService {
+    /**
+     * 鏌ヨ瀹f暀鍗曚竴浠诲姟
+     *
+     * @param id 瀹f暀鍗曚竴浠诲姟涓婚敭
+     * @return 瀹f暀鍗曚竴浠诲姟
+     */
+    public HeTaskSingle selectHeTaskSingleById(Long id);
+
+    /**
+     * 鏌ヨ瀹f暀鍗曚竴浠诲姟鍒楄〃
+     *
+     * @param heTaskSingle 瀹f暀鍗曚竴浠诲姟
+     * @return 瀹f暀鍗曚竴浠诲姟闆嗗悎
+     */
+    public List<HeTaskSingle> selectHeTaskSingleList(HeTaskSingle heTaskSingle);
+
+    /**
+     * 鏂板瀹f暀鍗曚竴浠诲姟
+     *
+     * @param heTaskSingle 瀹f暀鍗曚竴浠诲姟
+     * @return 缁撴灉
+     */
+    public int insertHeTaskSingle(HeTaskSingle heTaskSingle);
+
+    public Integer addOrUpdateHeTaskSinle(HeTaskSingleVO heTaskSingleVO);
+
+    /**
+     * 淇敼瀹f暀鍗曚竴浠诲姟
+     *
+     * @param heTaskSingle 瀹f暀鍗曚竴浠诲姟
+     * @return 缁撴灉
+     */
+    public int updateHeTaskSingle(HeTaskSingle heTaskSingle);
+
+    /**
+     * 鎵归噺鍒犻櫎瀹f暀鍗曚竴浠诲姟
+     *
+     * @param ids 闇�瑕佸垹闄ょ殑瀹f暀鍗曚竴浠诲姟涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteHeTaskSingleByIds(Long[] ids);
+
+    /**
+     * 鍒犻櫎瀹f暀鍗曚竴浠诲姟淇℃伅
+     *
+     * @param id 瀹f暀鍗曚竴浠诲姟涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteHeTaskSingleById(Long id);
+
+    public HeTaskSingleVO queryHeTaskByCondition(HeTaskSingle heTaskSingle);
+}
diff --git a/smartor/src/main/java/com/smartor/service/IIvrTaskSingleService.java b/smartor/src/main/java/com/smartor/service/IIvrTaskSingleService.java
index 61d59db..39c4d30 100644
--- a/smartor/src/main/java/com/smartor/service/IIvrTaskSingleService.java
+++ b/smartor/src/main/java/com/smartor/service/IIvrTaskSingleService.java
@@ -28,9 +28,17 @@
     public List<IvrTaskSingle> selectIvrTaskcallList(IvrTaskSingle ivrTaskcall);
 
     /**
+     * 鏍规嵁鏉′欢鏌ヨ浠诲姟淇℃伅
+     *
+     * @param ivrTaskcall
+     * @return
+     */
+    public IvrTaskSingleVO queryTaskByCondition(IvrTaskSingle ivrTaskcall);
+
+    /**
      * 鏌ヨ鎮h�呴殢璁夸俊鎭�
      */
-    public List<IvrVisitInfoVo> patItem(IvrTaskSingle ivrTaskcall);
+    public List<IvrTaskSingle> patItem(IvrTaskSingle ivrTaskcall);
 
     /**
      * 鏂板鍗曚竴浠诲姟锛堥殢璁匡級
diff --git a/smartor/src/main/java/com/smartor/service/impl/HeTaskSingleServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/HeTaskSingleServiceImpl.java
new file mode 100644
index 0000000..6efe5a2
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/service/impl/HeTaskSingleServiceImpl.java
@@ -0,0 +1,229 @@
+package com.smartor.service.impl;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+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.HeTaskMapper;
+import com.smartor.mapper.HeTaskSingleMapper;
+import com.smartor.service.IHeTaskSingleService;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.lang3.ObjectUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 瀹f暀鍗曚竴浠诲姟Service涓氬姟灞傚鐞�
+ *
+ * @author ruoyi
+ * @date 2024-04-16
+ */
+@Slf4j
+@Service
+public class HeTaskSingleServiceImpl implements IHeTaskSingleService {
+    @Autowired
+    private HeTaskSingleMapper heTaskSingleMapper;
+
+    @Autowired
+    private HeTaskMapper heTaskMapper;
+
+    /**
+     * 鏌ヨ瀹f暀鍗曚竴浠诲姟
+     *
+     * @param id 瀹f暀鍗曚竴浠诲姟涓婚敭
+     * @return 瀹f暀鍗曚竴浠诲姟
+     */
+    @Override
+    public HeTaskSingle selectHeTaskSingleById(Long id) {
+        return heTaskSingleMapper.selectHeTaskSingleById(id);
+    }
+
+    /**
+     * 鏌ヨ瀹f暀鍗曚竴浠诲姟鍒楄〃
+     *
+     * @param heTaskSingle 瀹f暀鍗曚竴浠诲姟
+     * @return 瀹f暀鍗曚竴浠诲姟
+     */
+    @Override
+    public List<HeTaskSingle> selectHeTaskSingleList(HeTaskSingle heTaskSingle) {
+        return heTaskSingleMapper.selectHeTaskSingleList(heTaskSingle);
+    }
+
+    /**
+     * 鏂板瀹f暀鍗曚竴浠诲姟
+     *
+     * @param heTaskSingle 瀹f暀鍗曚竴浠诲姟
+     * @return 缁撴灉
+     */
+    @Override
+    public int insertHeTaskSingle(HeTaskSingle heTaskSingle) {
+        HeTask heTask = DtoConversionUtils.sourceToTarget(heTaskSingle, HeTask.class);
+        int heTaskId = heTaskMapper.insertHeTask(heTask);
+        heTaskSingle.setSvrtaskid(Long.valueOf(heTaskId));
+        heTaskSingle.setCreateTime(DateUtils.getNowDate());
+        return heTaskSingleMapper.insertHeTaskSingle(heTaskSingle);
+    }
+
+    /**
+     * 鏂板鎴栦慨鏀瑰鏁欏崟涓�浠诲姟
+     *
+     * @param heTaskSingleVO
+     * @return
+     */
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public Integer addOrUpdateHeTaskSinle(HeTaskSingleVO heTaskSingleVO) {
+        if (ObjectUtils.isEmpty(heTaskSingleVO)) {
+            log.info("瀹f暀浠诲姟鍏ュ弬涓虹┖锛岃妫�鏌ュ叆鍙�");
+            throw new BaseException("瀹f暀浠诲姟鍏ュ弬涓虹┖锛岃妫�鏌ュ叆鍙�");
+        }
+        Integer integer = null;
+        HeTask heTask = DtoConversionUtils.sourceToTarget(heTaskSingleVO, HeTask.class);
+        if (heTaskSingleVO.getIsoperation() != null && heTaskSingleVO.getIsoperation() == 1) {
+            //寰�浠诲姟琛ㄤ腑锛屾柊澧炰换鍔�
+            Integer taskId = heTaskMapper.insertHeTask(heTask);
+            heTaskSingleVO.setSvrtaskid(taskId.longValue());
+            //鏂板
+            if (CollectionUtils.isNotEmpty(heTaskSingleVO.getPatTaskRelevances())) {
+                for (PatTaskRelevance patTaskRelevance : heTaskSingleVO.getPatTaskRelevances()) {
+                    //灏嗕换鍔′俊鎭柊澧炲埌瀹f暀浠诲姟琛ㄤ腑
+                    HeTaskSingle heTaskSingle = getHeTaskSingle(heTaskSingleVO, patTaskRelevance);
+                    integer = heTaskSingleMapper.insertHeTaskSingle(heTaskSingle);
+                }
+            }
+        } else if (heTaskSingleVO.getIsoperation() != null && heTaskSingleVO.getIsoperation() == 2) {
+            //浠诲姟淇敼
+            heTaskMapper.updateHeTask(heTask);
+
+            if (CollectionUtils.isNotEmpty(heTaskSingleVO.getPatTaskRelevances())) {
+                for (PatTaskRelevance patTaskRelevance : heTaskSingleVO.getPatTaskRelevances()) {
+                    HeTaskSingle heTaskSingle = getHeTaskSingle(heTaskSingleVO, patTaskRelevance);
+                    heTaskSingle.setTextParam(new Gson().toJson(heTaskSingleVO.getTextParam()));
+                    if (patTaskRelevance.getIsoperation() == 2) heTaskSingleMapper.updateHeTaskSingle(heTaskSingle);
+                    if (patTaskRelevance.getIsoperation() == 1) heTaskSingleMapper.insertHeTaskSingle(heTaskSingle);
+                    integer = heTaskSingle.getId().intValue();
+                }
+            }
+        } else if (heTaskSingleVO.getIsoperation() != null && heTaskSingleVO.getIsoperation() == 3) {
+            heTaskSingleMapper.deleteHeTaskSingleById(heTaskSingleVO.getId());
+
+            integer = heTaskSingleVO.getId().intValue();
+        }
+        return integer;
+    }
+
+    /**
+     * 淇敼瀹f暀鍗曚竴浠诲姟
+     *
+     * @param heTaskSingle 瀹f暀鍗曚竴浠诲姟
+     * @return 缁撴灉
+     */
+    @Override
+    public int updateHeTaskSingle(HeTaskSingle heTaskSingle) {
+        heTaskSingle.setUpdateTime(DateUtils.getNowDate());
+        return heTaskSingleMapper.updateHeTaskSingle(heTaskSingle);
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎瀹f暀鍗曚竴浠诲姟
+     *
+     * @param ids 闇�瑕佸垹闄ょ殑瀹f暀鍗曚竴浠诲姟涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteHeTaskSingleByIds(Long[] ids) {
+        return heTaskSingleMapper.deleteHeTaskSingleByIds(ids);
+    }
+
+    /**
+     * 鍒犻櫎瀹f暀鍗曚竴浠诲姟淇℃伅
+     *
+     * @param id 瀹f暀鍗曚竴浠诲姟涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteHeTaskSingleById(Long id) {
+        return heTaskSingleMapper.deleteHeTaskSingleById(id);
+    }
+
+    @Override
+    public HeTaskSingleVO queryHeTaskByCondition(HeTaskSingle heTaskSingle) {
+        //瀹氫箟鎮h�呬笌鍗曚竴浠诲姟鍏宠仈琛ㄩ泦鍚�
+        List<PatTaskRelevance> patTaskRelevances = new ArrayList<>();
+        List<HeTaskSingle> heTaskSingles = selectHeTaskSingleList(heTaskSingle);
+        //灏嗘煡鍑烘潵鐨勬暟鎹�掑叆IvrTaskcallVO涓�
+        HeTaskSingleVO heTaskSingleVO = DtoConversionUtils.sourceToTarget(heTaskSingles.get(0), HeTaskSingleVO.class);
+        String sendTimeSlot = heTaskSingles.get(0).getSendTimeSlot();
+        ObjectMapper objectMapper = new ObjectMapper();
+        try {
+            //鑾峰彇鍒板彂閫佹椂闂寸殑闆嗗悎
+            if (StringUtils.isNotEmpty(sendTimeSlot)) {
+                List<TaskSendTimeVO> taskSendTimeVOList = objectMapper.readValue(sendTimeSlot, List.class);
+                heTaskSingleVO.setSendTimeslot(taskSendTimeVOList);
+            }
+            //鏂囨湰鍙橀噺鍙傛暟
+            if (com.ruoyi.common.utils.StringUtils.isNotEmpty(heTaskSingles.get(0).getTextParam())) {
+                Map<String, Map<String, String>> textParam = objectMapper.readValue(heTaskSingles.get(0).getTextParam(), Map.class);
+                heTaskSingleVO.setTextParam(textParam);
+            }
+        } catch (JsonProcessingException e) {
+            e.printStackTrace();
+        }
+
+        for (HeTaskSingle heTaskSingle1 : heTaskSingles) {
+            PatTaskRelevance patTaskRelevance = new PatTaskRelevance();
+            if (!heTaskSingle1.getClassification().equals("2")) {
+                //鑾峰彇鍒版偅鑰呬俊鎭紝骞舵斁鍏ュ埌闆嗗悎涓�
+                log.info("瀹f暀鍒嗙被涓猴細{}", heTaskSingle1.getClassification());
+                patTaskRelevance.setName(heTaskSingle1.getSendname());
+                patTaskRelevance.setAge(heTaskSingle1.getAge());
+                patTaskRelevance.setSfzh(heTaskSingle1.getSfzh());
+                patTaskRelevance.setPhone(heTaskSingle1.getPhone());
+                patTaskRelevance.setAddr(heTaskSingle1.getAddr());
+                patTaskRelevance.setDiagname(heTaskSingle1.getDiagname());
+                patTaskRelevances.add(patTaskRelevance);
+            } else if (heTaskSingle1.getClassification().equals("2")) {
+                log.info("瀹f暀鍒嗙被涓轰綇闄�", heTaskSingle1.getClassification());
+                patTaskRelevance.setName(heTaskSingle1.getSendname());
+                patTaskRelevance.setAge(heTaskSingle1.getAge());
+                patTaskRelevance.setSfzh(heTaskSingle1.getSfzh());
+                patTaskRelevance.setPhone(heTaskSingle1.getPhone());
+                patTaskRelevance.setAddr(heTaskSingle1.getAddr());
+                patTaskRelevance.setDeptName(heTaskSingle1.getDeptname());
+                patTaskRelevance.setBedNo(heTaskSingle1.getBedNo());
+                patTaskRelevance.setDiagname(heTaskSingle1.getDiagname());
+                patTaskRelevances.add(patTaskRelevance);
+            }
+        }
+
+        heTaskSingleVO.setPatTaskRelevances(patTaskRelevances);
+        return heTaskSingleVO;
+    }
+
+
+    private HeTaskSingle getHeTaskSingle(HeTaskSingleVO heTaskSingleVO, PatTaskRelevance patTaskRelevance) {
+
+        HeTaskSingle heTaskSingle = DtoConversionUtils.sourceToTarget(heTaskSingleVO, HeTaskSingle.class);
+        heTaskSingle.setSendname(patTaskRelevance.getName());
+        heTaskSingle.setAge(patTaskRelevance.getAge());
+        heTaskSingle.setSfzh(patTaskRelevance.getSfzh());
+        heTaskSingle.setPhone(patTaskRelevance.getPhone());
+        heTaskSingle.setAddr(patTaskRelevance.getAddr());
+        heTaskSingle.setCreateTime(DateUtils.getNowDate());
+        if (CollectionUtils.isNotEmpty(heTaskSingleVO.getSendTimeslot())) {
+            heTaskSingle.setSendTimeSlot(heTaskSingleVO.getSendTimeslot().toString());
+        }
+        return heTaskSingle;
+    }
+
+}
diff --git a/smartor/src/main/java/com/smartor/service/impl/IvrLibaScriptServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/IvrLibaScriptServiceImpl.java
index b3c4db6..2568b25 100644
--- a/smartor/src/main/java/com/smartor/service/impl/IvrLibaScriptServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/IvrLibaScriptServiceImpl.java
@@ -191,8 +191,6 @@
                 }
             }
         }
-
-
         return i;
     }
 
diff --git a/smartor/src/main/java/com/smartor/service/impl/IvrTaskSingleServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/IvrTaskSingleServiceImpl.java
index 8fc80bd..91b93f6 100644
--- a/smartor/src/main/java/com/smartor/service/impl/IvrTaskSingleServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/IvrTaskSingleServiceImpl.java
@@ -88,41 +88,64 @@
     }
 
     @Override
-    public List<IvrVisitInfoVo> patItem(IvrTaskSingle ivrTaskcall) {
-        List<IvrTaskSingle> list = this.selectIvrTaskcallList(ivrTaskcall);
+    public IvrTaskSingleVO queryTaskByCondition(IvrTaskSingle ivrTaskcall) {
+        //瀹氫箟鎮h�呬笌鍗曚竴浠诲姟鍏宠仈琛ㄩ泦鍚�
+        List<PatTaskRelevance> patTaskRelevances = new ArrayList<>();
+        List<IvrTaskSingle> list = selectIvrTaskcallList(ivrTaskcall);
+        //灏嗘煡鍑烘潵鐨勬暟鎹�掑叆IvrTaskcallVO涓�
+        IvrTaskSingleVO ivrTaskcallVO2 = DtoConversionUtils.sourceToTarget(list.get(0), IvrTaskSingleVO.class);
+        String sendTimeSlot = list.get(0).getSendTimeSlot();
+        ObjectMapper objectMapper = new ObjectMapper();
+        try {
+            //鑾峰彇鍒板彂閫佹椂闂寸殑闆嗗悎
+            if (com.ruoyi.common.utils.StringUtils.isNotEmpty(sendTimeSlot)) {
+                List<TaskSendTimeVO> taskSendTimeVOList = objectMapper.readValue(sendTimeSlot, List.class);
+                ivrTaskcallVO2.setSendTimeslot(taskSendTimeVOList);
+            }
+            //鏂囨湰鍙橀噺鍙傛暟
+            if (com.ruoyi.common.utils.StringUtils.isNotEmpty(list.get(0).getTextParam())) {
+                Map<String, Map<String, String>> textParam = objectMapper.readValue(list.get(0).getTextParam(), Map.class);
+                ivrTaskcallVO2.setTextParam(textParam);
+            }
+        } catch (JsonProcessingException e) {
+            e.printStackTrace();
+        }
 
-        //瀹氫箟杩斿弬鏁版嵁
-        List<IvrVisitInfoVo> visitInfoVos = new ArrayList<>();
         for (IvrTaskSingle ivrTaskcall1 : list) {
-            IvrVisitInfoVo ivrVisitInfoVo = DtoConversionUtils.sourceToTarget(ivrTaskcall1, IvrVisitInfoVo.class);
-            ivrVisitInfoVo.setPatientName(ivrTaskcall1.getSendname());
-            if (ivrTaskcall.getRecordid() != null) {
-                if (ivrTaskcall1.getHospType().equals("1")) {
-                    //闂ㄨ瘖闅忚
-                    PatMedOuthosp patMedOuthosp = patMedOuthospMapper.selectPatMedOuthospById(ivrTaskcall.getRecordid());
-                    ivrVisitInfoVo.setDiagname(patMedOuthosp.getDiagname());
-                    ivrVisitInfoVo.setDeptname(patMedOuthosp.getDeptname());
-                    ivrVisitInfoVo.setAdmitdate(patMedOuthosp.getAdmitdate());
-                    ivrVisitInfoVo.setVisitTime(ivrTaskcall1.getSendTimeSlot());
-                    ivrVisitInfoVo.setState(ivrTaskcall1.getSendstate());
-                    ivrVisitInfoVo.setHospno(patMedOuthosp.getOuthospno());
-                    visitInfoVos.add(ivrVisitInfoVo);
-                } else if (ivrTaskcall1.getHospType().equals("2")) {
-                    //鍑洪櫌
-                    PatMedInhosp patMedInhosp = patMedInhospMapper.selectPatMedInhospByInhospid(ivrTaskcall.getRecordid());
-                    ivrVisitInfoVo.setDiagname(patMedInhosp.getDiagname());
-                    ivrVisitInfoVo.setDeptname(patMedInhosp.getDeptname());
-                    ivrVisitInfoVo.setAdmitdate(patMedInhosp.getStarttime());
-                    ivrVisitInfoVo.setVisitTime(ivrTaskcall1.getSendTimeSlot());
-                    ivrVisitInfoVo.setState(ivrTaskcall1.getSendstate());
-                    ivrVisitInfoVo.setHospno(patMedInhosp.getInhospno());
-                    ivrVisitInfoVo.setRoomno(patMedInhosp.getRoomno());
-                    ivrVisitInfoVo.setBedno(patMedInhosp.getBedno());
-                    visitInfoVos.add(ivrVisitInfoVo);
-                }
+            PatTaskRelevance patTaskRelevance = new PatTaskRelevance();
+            if (!ivrTaskcall1.getHospType().equals("2")) {
+                log.info("闅忚鏌ヨ涓嶄负鍑洪櫌锛寋}", ivrTaskcall1.getHospType());
+                //鑾峰彇鍒版偅鑰呬俊鎭紝骞舵斁鍏ュ埌闆嗗悎涓�
+                patTaskRelevance.setName(ivrTaskcall1.getSendname());
+                patTaskRelevance.setAge(ivrTaskcall1.getAge());
+                patTaskRelevance.setSfzh(ivrTaskcall1.getSfzh());
+                patTaskRelevance.setPhone(ivrTaskcall1.getPhone());
+                patTaskRelevance.setAddr(ivrTaskcall1.getAddr());
+                patTaskRelevance.setDiagname(ivrTaskcall1.getDiagname());
+                patTaskRelevances.add(patTaskRelevance);
+            } else if (ivrTaskcall1.getHospType().equals("2")) {
+                log.info("闅忚鏌ヨ涓哄嚭闄紝{}", ivrTaskcall1.getHospType());
+                patTaskRelevance.setName(ivrTaskcall1.getSendname());
+                patTaskRelevance.setAge(ivrTaskcall1.getAge());
+                patTaskRelevance.setSfzh(ivrTaskcall1.getSfzh());
+                patTaskRelevance.setPhone(ivrTaskcall1.getPhone());
+                patTaskRelevance.setAddr(ivrTaskcall1.getAddr());
+                patTaskRelevance.setDeptName(ivrTaskcall1.getDeptname());
+                patTaskRelevance.setBedNo(ivrTaskcall1.getBadNo());
+                patTaskRelevance.setDiagname(ivrTaskcall1.getDiagname());
+                patTaskRelevances.add(patTaskRelevance);
             }
         }
-        return visitInfoVos;
+
+        ivrTaskcallVO2.setPatTaskRelevances(patTaskRelevances);
+        return ivrTaskcallVO2;
+    }
+
+    @Override
+    public List<IvrTaskSingle> patItem(IvrTaskSingle ivrTaskSingle) {
+
+
+        return this.selectIvrTaskcallList(ivrTaskSingle);
     }
 
     /**
@@ -152,7 +175,6 @@
     /**
      * 鎵归噺鍒犻櫎鍗曚竴浠诲姟锛堥殢璁匡級
      *
-     * @param ids 闇�瑕佸垹闄ょ殑鍗曚竴浠诲姟锛堥殢璁匡級涓婚敭
      * @return 缁撴灉
      */
     @Override
@@ -167,7 +189,6 @@
     /**
      * 鍗曚竴浠诲姟
      *
-     * @param ivrTaskcallVO 鍗曚竴浠诲姟
      * @return 缁撴灉
      */
     @Transactional(rollbackFor = Exception.class)
diff --git a/smartor/src/main/resources/mapper/smartor/HeTaskSingleMapper.xml b/smartor/src/main/resources/mapper/smartor/HeTaskSingleMapper.xml
new file mode 100644
index 0000000..8e1477d
--- /dev/null
+++ b/smartor/src/main/resources/mapper/smartor/HeTaskSingleMapper.xml
@@ -0,0 +1,336 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.smartor.mapper.HeTaskSingleMapper">
+
+    <resultMap type="com.smartor.domain.HeTaskSingle" id="HeTaskSingleResult">
+        <result property="id" column="id"/>
+        <result property="svrtaskid" column="svrtaskid"/>
+        <result property="patientid" column="patientid"/>
+        <result property="classification" column="classification"/>
+        <result property="preachcategoryid" column="preachcategoryid"/>
+        <result property="preachname" column="preachname"/>
+        <result property="version" column="version"/>
+        <result property="preachform" column="preachform"/>
+        <result property="orgform" column="orgform"/>
+        <result property="preachdescription" column="preachdescription"/>
+        <result property="preachcontent" column="preachcontent"/>
+        <result property="templateid" column="templateid"/>
+        <result property="preachcode" column="preachcode"/>
+        <result property="centerlibraryid" column="centerlibraryid"/>
+        <result property="isenable" column="isenable"/>
+        <result property="orgid" column="orgid"/>
+        <result property="updateBy" column="update_by"/>
+        <result property="updateTime" column="update_time"/>
+        <result property="delFlag" column="del_flag"/>
+        <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="islocal" column="islocal"/>
+        <result property="centerlibrarycode" column="centerlibrarycode"/>
+        <result property="pid" column="pid"/>
+        <result property="guid" column="guid"/>
+        <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"/>
+        <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="wechat" column="wechat"/>
+        <result property="diagname" column="diagname"/>
+        <result property="deptname" column="deptname"/>
+        <result property="admindate" column="admindate"/>
+        <result property="roomno" column="roomno"/>
+        <result property="bedNo" column="bedno"/>
+        <result property="type" column="type"/>
+        <result property="sendType" column="send_type"/>
+        <result property="sendTimeSlot" column="send_time_slot"/>
+    </resultMap>
+
+    <sql id="selectHeTaskSingleVo">
+        select id,
+               svrtaskid,
+               patientid,
+               classification,
+               preachcategoryid,
+               preachname,
+               version,
+               preachform,
+               orgform,
+               preachdescription,
+               preachcontent,
+               templateid,
+               preachcode,
+               centerlibraryid,
+               isenable,
+               orgid,
+               update_by,
+               update_time,
+               del_flag,
+               create_by,
+               create_time,
+               isupload,
+               upload_time,
+               islocal,
+               centerlibrarycode,
+               pid,
+               guid,
+               send_time,
+               is_send,
+               send_state,
+               rich_text,
+               text_param,
+               sendname,
+               phone,
+               sex,
+               age,
+               sfzh,
+               addr,
+               senderdetail,
+               wechat,
+               diagname,
+               deptname,
+               admindate,
+               roomno,
+               bedno,
+               send_type,
+               type,
+               send_time_slot
+        from he_task_single
+    </sql>
+
+    <select id="selectHeTaskSingleList" parameterType="com.smartor.domain.HeTaskSingle" resultMap="HeTaskSingleResult">
+        <include refid="selectHeTaskSingleVo"/>
+        <where>
+            <if test="svrtaskid != null ">and svrtaskid = #{svrtaskid}</if>
+            <if test="patientid != null  and patientid != ''">and patientid = #{patientid}</if>
+            <if test="classification != null  and classification != ''">and classification = #{classification}</if>
+            <if test="preachcategoryid != null ">and preachcategoryid = #{preachcategoryid}</if>
+            <if test="preachname != null  and preachname != ''">and preachname like concat('%', #{preachname}, '%')</if>
+            <if test="version != null ">and version = #{version}</if>
+            <if test="preachform != null  and preachform != ''">and preachform = #{preachform}</if>
+            <if test="orgform != null ">and orgform = #{orgform}</if>
+            <if test="preachdescription != null  and preachdescription != ''">and preachdescription =
+                #{preachdescription}
+            </if>
+            <if test="preachcontent != null  and preachcontent != ''">and preachcontent = #{preachcontent}</if>
+            <if test="templateid != null ">and templateid = #{templateid}</if>
+            <if test="preachcode != null  and preachcode != ''">and preachcode = #{preachcode}</if>
+            <if test="centerlibraryid != null ">and centerlibraryid = #{centerlibraryid}</if>
+            <if test="isenable != null ">and isenable = #{isenable}</if>
+            <if test="orgid != null  and orgid != ''">and orgid = #{orgid}</if>
+            <if test="isupload != null ">and isupload = #{isupload}</if>
+            <if test="uploadTime != null ">and upload_time = #{uploadTime}</if>
+            <if test="islocal != null ">and islocal = #{islocal}</if>
+            <if test="centerlibrarycode != null  and centerlibrarycode != ''">and centerlibrarycode =
+                #{centerlibrarycode}
+            </if>
+            <if test="pid != null ">and pid = #{pid}</if>
+            <if test="guid != null  and guid != ''">and guid = #{guid}</if>
+            <if test="sendTime != null ">and send_time = #{sendTime}</if>
+            <if test="isSend != null ">and is_send = #{isSend}</if>
+            <if test="sendState != null  and sendState != ''">and send_state = #{sendState}</if>
+            <if test="richText != null  and richText != ''">and rich_text = #{richText}</if>
+            <if test="textParam != null  and textParam != ''">and text_param = #{textParam}</if>
+            <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="wechat != null  and wechat != ''">and wechat = #{wechat}</if>
+            <if test="diagname != null  and diagname != ''">and diagname like concat('%', #{diagname}, '%')</if>
+            <if test="deptname != null  and deptname != ''">and deptname like concat('%', #{deptname}, '%')</if>
+            <if test="admindate != null ">and admindate = #{admindate}</if>
+            <if test="roomno != null  and roomno != ''">and roomno = #{roomno}</if>
+            <if test="bedno != null  and bedno != ''">and bedno = #{bedno}</if>
+            <if test="sendType != null  and sendType != ''">and send_type = #{sendType}</if>
+            <if test="sendTimeSlot != null  and sendTimeSlot != ''">and send_time_slot = #{sendTimeSlot}</if>
+            <if test="type != null  and type != ''">and type = #{type}</if>
+        </where>
+    </select>
+
+    <select id="selectHeTaskSingleById" parameterType="Long" resultMap="HeTaskSingleResult">
+        <include refid="selectHeTaskSingleVo"/>
+        where id = #{id}
+    </select>
+
+    <insert id="insertHeTaskSingle" parameterType="com.smartor.domain.HeTaskSingle" useGeneratedKeys="true"
+            keyProperty="id">
+        insert into he_task_single
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="svrtaskid != null">svrtaskid,</if>
+            <if test="patientid != null">patientid,</if>
+            <if test="classification != null">classification,</if>
+            <if test="preachcategoryid != null">preachcategoryid,</if>
+            <if test="preachname != null">preachname,</if>
+            <if test="version != null">version,</if>
+            <if test="preachform != null">preachform,</if>
+            <if test="orgform != null">orgform,</if>
+            <if test="preachdescription != null">preachdescription,</if>
+            <if test="preachcontent != null">preachcontent,</if>
+            <if test="templateid != null">templateid,</if>
+            <if test="preachcode != null">preachcode,</if>
+            <if test="centerlibraryid != null">centerlibraryid,</if>
+            <if test="isenable != null">isenable,</if>
+            <if test="orgid != null">orgid,</if>
+            <if test="updateBy != null">update_by,</if>
+            <if test="updateTime != null">update_time,</if>
+            <if test="delFlag != null and delFlag != ''">del_flag,</if>
+            <if test="createBy != null">create_by,</if>
+            <if test="createTime != null">create_time,</if>
+            <if test="isupload != null">isupload,</if>
+            <if test="uploadTime != null">upload_time,</if>
+            <if test="islocal != null">islocal,</if>
+            <if test="centerlibrarycode != null">centerlibrarycode,</if>
+            <if test="pid != null">pid,</if>
+            <if test="guid != null">guid,</if>
+            <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>
+            <if test="sendname != null">sendname,</if>
+            <if test="phone != null">phone,</if>
+            <if test="sex != null">sex,</if>
+            <if test="age != null">age,</if>
+            <if test="sfzh != null">sfzh,</if>
+            <if test="addr != null">addr,</if>
+            <if test="senderdetail != null">senderdetail,</if>
+            <if test="wechat != null">wechat,</if>
+            <if test="diagname != null">diagname,</if>
+            <if test="deptname != null">deptname,</if>
+            <if test="admindate != null">admindate,</if>
+            <if test="roomno != null">roomno,</if>
+            <if test="bedno != null">bedno,</if>
+            <if test="sendType != null">send_type,</if>
+            <if test="sendTimeSlot != null">send_time_slot,</if>
+            <if test="type != null">type,</if>
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="svrtaskid != null">#{svrtaskid},</if>
+            <if test="patientid != null">#{patientid},</if>
+            <if test="classification != null">#{classification},</if>
+            <if test="preachcategoryid != null">#{preachcategoryid},</if>
+            <if test="preachname != null">#{preachname},</if>
+            <if test="version != null">#{version},</if>
+            <if test="preachform != null">#{preachform},</if>
+            <if test="orgform != null">#{orgform},</if>
+            <if test="preachdescription != null">#{preachdescription},</if>
+            <if test="preachcontent != null">#{preachcontent},</if>
+            <if test="templateid != null">#{templateid},</if>
+            <if test="preachcode != null">#{preachcode},</if>
+            <if test="centerlibraryid != null">#{centerlibraryid},</if>
+            <if test="isenable != null">#{isenable},</if>
+            <if test="orgid != null">#{orgid},</if>
+            <if test="updateBy != null">#{updateBy},</if>
+            <if test="updateTime != null">#{updateTime},</if>
+            <if test="delFlag != null and delFlag != ''">#{delFlag},</if>
+            <if test="createBy != null">#{createBy},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="isupload != null">#{isupload},</if>
+            <if test="uploadTime != null">#{uploadTime},</if>
+            <if test="islocal != null">#{islocal},</if>
+            <if test="centerlibrarycode != null">#{centerlibrarycode},</if>
+            <if test="pid != null">#{pid},</if>
+            <if test="guid != null">#{guid},</if>
+            <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>
+            <if test="sendname != null">#{sendname},</if>
+            <if test="phone != null">#{phone},</if>
+            <if test="sex != null">#{sex},</if>
+            <if test="age != null">#{age},</if>
+            <if test="sfzh != null">#{sfzh},</if>
+            <if test="addr != null">#{addr},</if>
+            <if test="senderdetail != null">#{senderdetail},</if>
+            <if test="wechat != null">#{wechat},</if>
+            <if test="diagname != null">#{diagname},</if>
+            <if test="deptname != null">#{deptname},</if>
+            <if test="admindate != null">#{admindate},</if>
+            <if test="roomno != null">#{roomno},</if>
+            <if test="bedno != null">#{bedno},</if>
+            <if test="sendType != null">#{sendType},</if>
+            <if test="sendTimeSlot != null">#{sendTimeSlot},</if>
+            <if test="type != null">#{type},</if>
+        </trim>
+    </insert>
+
+    <update id="updateHeTaskSingle" parameterType="com.smartor.domain.HeTaskSingle">
+        update he_task_single
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="svrtaskid != null">svrtaskid = #{svrtaskid},</if>
+            <if test="patientid != null">patientid = #{patientid},</if>
+            <if test="classification != null">classification = #{classification},</if>
+            <if test="preachcategoryid != null">preachcategoryid = #{preachcategoryid},</if>
+            <if test="preachname != null">preachname = #{preachname},</if>
+            <if test="version != null">version = #{version},</if>
+            <if test="preachform != null">preachform = #{preachform},</if>
+            <if test="orgform != null">orgform = #{orgform},</if>
+            <if test="preachdescription != null">preachdescription = #{preachdescription},</if>
+            <if test="preachcontent != null">preachcontent = #{preachcontent},</if>
+            <if test="templateid != null">templateid = #{templateid},</if>
+            <if test="preachcode != null">preachcode = #{preachcode},</if>
+            <if test="centerlibraryid != null">centerlibraryid = #{centerlibraryid},</if>
+            <if test="isenable != null">isenable = #{isenable},</if>
+            <if test="orgid != null">orgid = #{orgid},</if>
+            <if test="updateBy != null">update_by = #{updateBy},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+            <if test="delFlag != null and delFlag != ''">del_flag = #{delFlag},</if>
+            <if test="createBy != null">create_by = #{createBy},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+            <if test="isupload != null">isupload = #{isupload},</if>
+            <if test="uploadTime != null">upload_time = #{uploadTime},</if>
+            <if test="islocal != null">islocal = #{islocal},</if>
+            <if test="centerlibrarycode != null">centerlibrarycode = #{centerlibrarycode},</if>
+            <if test="pid != null">pid = #{pid},</if>
+            <if test="guid != null">guid = #{guid},</if>
+            <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>
+            <if test="sendname != null">sendname = #{sendname},</if>
+            <if test="phone != null">phone = #{phone},</if>
+            <if test="sex != null">sex = #{sex},</if>
+            <if test="age != null">age = #{age},</if>
+            <if test="sfzh != null">sfzh = #{sfzh},</if>
+            <if test="addr != null">addr = #{addr},</if>
+            <if test="senderdetail != null">senderdetail = #{senderdetail},</if>
+            <if test="wechat != null">wechat = #{wechat},</if>
+            <if test="diagname != null">diagname = #{diagname},</if>
+            <if test="deptname != null">deptname = #{deptname},</if>
+            <if test="admindate != null">admindate = #{admindate},</if>
+            <if test="roomno != null">roomno = #{roomno},</if>
+            <if test="bedno != null">bedno = #{bedno},</if>
+            <if test="sendType != null">send_type = #{sendType},</if>
+            <if test="sendTimeSlot != null">send_time_slot = #{sendTimeSlot},</if>
+            <if test="type != null">type = #{type},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteHeTaskSingleById" parameterType="Long">
+        delete
+        from he_task_single
+        where id = #{id}
+    </delete>
+
+    <delete id="deleteHeTaskSingleByIds" parameterType="String">
+        delete from he_task_single where id in
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>
diff --git a/smartor/src/main/resources/mapper/smartor/IvrTaskMapper.xml b/smartor/src/main/resources/mapper/smartor/IvrTaskMapper.xml
index aac85aa..c2dbe67 100644
--- a/smartor/src/main/resources/mapper/smartor/IvrTaskMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/IvrTaskMapper.xml
@@ -15,8 +15,6 @@
         <result property="executed" column="executed"/>
         <result property="unexecuted" column="unexecuted"/>
         <result property="fail" column="fail"/>
-        <result property="userid" column="userid"/>
-        <result property="username" column="username"/>
         <result property="addtime" column="addtime"/>
         <result property="checkuserid" column="checkuserid"/>
         <result property="checkusername" column="checkusername"/>
@@ -35,6 +33,12 @@
         <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="preachform" column="preachform"/>
+        <result property="isSend" column="is_send"/>
+        <result property="sendState" column="send_state"/>
+        <result property="param" column="param"/>
     </resultMap>
 
     <sql id="selectIvrTaskVo">
@@ -48,8 +52,6 @@
                executed,
                unexecuted,
                fail,
-               userid,
-               username,
                addtime,
                checkuserid,
                checkusername,
@@ -67,6 +69,12 @@
                create_time,
                isupload,
                upload_time,
+               pid,
+               guid,
+               preachform,
+               is_send,
+               send_state,
+               param,
                orgid
         from ivr_task
     </sql>
@@ -85,8 +93,6 @@
             <if test="executed != null ">and executed = #{executed}</if>
             <if test="unexecuted != null ">and unexecuted = #{unexecuted}</if>
             <if test="fail != null ">and fail = #{fail}</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="checkuserid != null  and checkuserid != ''">and checkuserid = #{checkuserid}</if>
             <if test="checkusername != null  and checkusername != ''">and checkusername like concat('%',
@@ -103,7 +109,7 @@
             <if test="uploadTime != null ">and upload_time = #{uploadTime}</if>
             <if test="orgid != null  and orgid != ''">and orgid = #{orgid}</if>
         </where>
-        order by upeate_time desc,taskid desc
+        order by update_time desc,taskid desc
     </select>
 
     <select id="selectIvrTaskByTaskid" parameterType="Long" resultMap="IvrTaskResult">
@@ -115,7 +121,6 @@
             keyProperty="taskid">
         insert into ivr_task
         <trim prefix="(" suffix=")" suffixOverrides=",">
-            <if test="taskid != null">taskid,</if>
             <if test="taskname != null">taskname,</if>
             <if test="templateid != null">templateid,</if>
             <if test="templatename != null">templatename,</if>
@@ -125,8 +130,6 @@
             <if test="executed != null">executed,</if>
             <if test="unexecuted != null">unexecuted,</if>
             <if test="fail != null">fail,</if>
-            <if test="userid != null">userid,</if>
-            <if test="username != null">username,</if>
             <if test="addtime != null">addtime,</if>
             <if test="checkuserid != null">checkuserid,</if>
             <if test="checkusername != null">checkusername,</if>
@@ -145,9 +148,14 @@
             <if test="isupload != null">isupload,</if>
             <if test="uploadTime != null">upload_time,</if>
             <if test="orgid != null">orgid,</if>
+            <if test="pid != null">pid,</if>
+            <if test="guid != null">guid,</if>
+            <if test="preachform != null">preachform,</if>
+            <if test="isSend != null">is_send,</if>
+            <if test="sendState != null">send_state,</if>
+            <if test="param != null">param,</if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
-            <if test="taskid != null">#{taskid},</if>
             <if test="taskname != null">#{taskname},</if>
             <if test="templateid != null">#{templateid},</if>
             <if test="templatename != null">#{templatename},</if>
@@ -157,8 +165,6 @@
             <if test="executed != null">#{executed},</if>
             <if test="unexecuted != null">#{unexecuted},</if>
             <if test="fail != null">#{fail},</if>
-            <if test="userid != null">#{userid},</if>
-            <if test="username != null">#{username},</if>
             <if test="addtime != null">#{addtime},</if>
             <if test="checkuserid != null">#{checkuserid},</if>
             <if test="checkusername != null">#{checkusername},</if>
@@ -177,6 +183,12 @@
             <if test="isupload != null">#{isupload},</if>
             <if test="uploadTime != null">#{uploadTime},</if>
             <if test="orgid != null">#{orgid},</if>
+            <if test="pid != null">#{pid},</if>
+            <if test="guid != null">#{guid},</if>
+            <if test="preachform != null">#{preachform},</if>
+            <if test="isSend != null">#{isSend},</if>
+            <if test="sendState != null">#{sendState},</if>
+            <if test="param != null">#{param},</if>
         </trim>
     </insert>
 
@@ -192,8 +204,6 @@
             <if test="executed != null">executed = #{executed},</if>
             <if test="unexecuted != null">unexecuted = #{unexecuted},</if>
             <if test="fail != null">fail = #{fail},</if>
-            <if test="userid != null">userid = #{userid},</if>
-            <if test="username != null">username = #{username},</if>
             <if test="addtime != null">addtime = #{addtime},</if>
             <if test="checkuserid != null">checkuserid = #{checkuserid},</if>
             <if test="checkusername != null">checkusername = #{checkusername},</if>
@@ -212,6 +222,12 @@
             <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="preachform != null">preachform = #{preachform},</if>
+            <if test="isSend != null">is_send = #{isSend},</if>
+            <if test="sendState != null">send_state = #{sendState},</if>
+            <if test="param != null">param = #{param},</if>
         </trim>
         where taskid = #{taskid}
     </update>
diff --git a/smartor/src/main/resources/mapper/smartor/IvrTaskSingleMapper.xml b/smartor/src/main/resources/mapper/smartor/IvrTaskSingleMapper.xml
index d190734..96aaa82 100644
--- a/smartor/src/main/resources/mapper/smartor/IvrTaskSingleMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/IvrTaskSingleMapper.xml
@@ -63,11 +63,15 @@
         <result property="operatorNo" column="operator_no"/>
         <result property="hospno" column="hospno"/>
         <result property="hospType" column="hosp_type"/>
+        <result property="wechat" column="wechat"/>
+        <result property="diagname" column="diagname"/>
+        <result property="deptname" column="deptname"/>
+        <result property="admindate" column="admindate"/>
+        <result property="roomno" column="roomno"/>
     </resultMap>
 
     <sql id="selectIvrTaskcallVo">
         select id,
-               sendname,
                hosp_type,
                hospno,
                phone,
@@ -123,8 +127,14 @@
                task_desc,
                operator_no,
                operator,
+               wechat,
+               sendname,
+               roomno,
+               admindate,
+               deptname,
+               diagname,
                preachcontent
-        from ivr_taskcall
+        from ivr_task_single
     </sql>
 
     <select id="selectIvrTaskcallList" parameterType="com.smartor.domain.IvrTaskSingle" resultMap="IvrTaskcallResult">
@@ -180,6 +190,7 @@
             <if test="sendType != null  and sendType != ''">and send_type = #{sendType}</if>
             <if test="operator != null  and operator != ''">and operator = #{operator}</if>
             <if test="operatorNo != null  and operatorNo != ''">and operator_no = #{operatorNo}</if>
+            <if test="wechat != null  and wechat != ''">and wechat = #{wechat}</if>
         </where>
         order by update_time desc,id desc
     </select>
@@ -191,7 +202,7 @@
 
     <insert id="insertIvrTaskcall" parameterType="com.smartor.domain.IvrTaskSingle" useGeneratedKeys="true"
             keyProperty="id">
-        insert into ivr_taskcall
+        insert into ivr_task_single
         <trim prefix="(" suffix=")" suffixOverrides=",">
             <if test="sendname != null">sendname,</if>
             <if test="phone != null">phone,</if>
@@ -249,6 +260,11 @@
             <if test="operatorNo != null  and operatorNo != ''">operator_no,</if>
             <if test="hospType != null  and hospType != ''">hosp_type,</if>
             <if test="hospno != null  and hospno != ''">hospno,</if>
+            <if test="wechat != null  and wechat != ''">wechat,</if>
+            <if test="roomno != null  and roomno != ''">roomno,</if>
+            <if test="admindate != null  and admindate != ''">admindate,</if>
+            <if test="deptname != null  and deptname != ''">deptname,</if>
+            <if test="diagname != null  and diagname != ''">diagname,</if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="sendname != null">#{sendname},</if>
@@ -307,11 +323,16 @@
             <if test="operatorNo != null  and operatorNo != ''">#{operatorNo},</if>
             <if test="hospType != null  and hospType != ''">#{hospType},</if>
             <if test="hospno != null  and hospno != ''">#{hospno},</if>
+            <if test="wechat != null  and wechat != ''">#{wechat},</if>
+            <if test="roomno != null  and roomno != ''">#{roomno},</if>
+            <if test="admindate != null  and admindate != ''">#{admindate},</if>
+            <if test="deptname != null  and deptname != ''">#{deptname},</if>
+            <if test="diagname != null  and diagname != ''">#{diagname},</if>
         </trim>
     </insert>
 
     <update id="updateIvrTaskcall" parameterType="com.smartor.domain.IvrTaskSingle">
-        update ivr_taskcall
+        update ivr_task_single
         <trim prefix="SET" suffixOverrides=",">
             <if test="sendname != null">sendname = #{sendname},</if>
             <if test="phone != null">phone = #{phone},</if>
@@ -369,12 +390,17 @@
             <if test="operator != null  and operator != ''">operator = #{operator},</if>
             <if test="hospType != null  and hospType != ''">hosp_type = #{hospType},</if>
             <if test="hospno != null  and hospno != ''">hospno = #{hospno},</if>
+            <if test="wechat != null  and wechat != ''">wechat = #{wechat},</if>
+            <if test="roomno != null  and roomno != ''">roomno = #{roomno},</if>
+            <if test="admindate != null  and admindate != ''">admindate = #{admindate},</if>
+            <if test="deptname != null  and deptname != ''">deptname = #{deptname},</if>
+            <if test="diagname != null  and diagname != ''">diagname = #{diagname},</if>
         </trim>
         where id = #{id}
     </update>
 
     <update id="deleteIvrTaskcallById" parameterType="Long">
-        update ivr_taskcall
+        update ivr_task_single
         <trim prefix="SET" suffixOverrides=",">
             del_flag =1
         </trim>
@@ -440,8 +466,13 @@
                operator,
                hospno,
                hosp_type,
+               wechat,
+               roomno,
+               admindate,
+               deptname,
+               diagname,
                send_time_slot
-        FROM ivr_taskcall,
+        FROM ivr_task_single,
              JSON_TABLE(send_time_slot, '$[*]' COLUMNS (
         begantime DATETIME PATH '$.begantime',
         endtime DATETIME PATH '$.endtime'
diff --git a/smartor/src/main/resources/mapper/smartor/PatHetaskRelevanceMapper.xml b/smartor/src/main/resources/mapper/smartor/PatHetaskRelevanceMapper.xml
index 1b2f9c8..7702171 100644
--- a/smartor/src/main/resources/mapper/smartor/PatHetaskRelevanceMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/PatHetaskRelevanceMapper.xml
@@ -15,8 +15,8 @@
         <result property="name" column="name"/>
         <result property="age" column="age"/>
         <result property="sex" column="sex"/>
-        <result property="bedno" column="bed_no"/>
-        <result property="dept" column="dept"/>
+        <result property="bedNo" column="bed_no"/>
+        <result property="deptName" column="dept"/>
         <result property="icdName" column="icd_name"/>
         <result property="phone" column="phone"/>
         <result property="medicalRecordNo" column="medical_record_no"/>
@@ -61,8 +61,8 @@
             <if test="name != null  and name != ''">and name like concat('%', #{name}, '%')</if>
             <if test="age != null ">and age = #{age}</if>
             <if test="sex != null ">and sex = #{sex}</if>
-            <if test="bedno != null ">and bed_no = #{bedno}</if>
-            <if test="dept != null  and dept != ''">and dept = #{dept}</if>
+            <if test="bedNo != null ">and bed_no = #{bedNo}</if>
+            <if test="deptName != null  and deptName != ''">and dept = #{deptName}</if>
             <if test="phone != null  and phone != ''">and phone = #{phone}</if>
             <if test="medicalRecordNo != null  and medicalRecordNo != ''">and medical_record_no = #{medicalRecordNo}
             </if>
@@ -92,8 +92,8 @@
             <if test="name != null">name,</if>
             <if test="age != null">age,</if>
             <if test="sex != null">sex,</if>
-            <if test="bedno != null">bed_no,</if>
-            <if test="dept != null">dept,</if>
+            <if test="bedNo != null">bed_no,</if>
+            <if test="deptName != null">dept,</if>
             <if test="icdName != null">icd_name,</if>
             <if test="phone != null">phone,</if>
             <if test="medicalRecordNo != null">medical_record_no,</if>
@@ -113,8 +113,8 @@
             <if test="name != null">#{name},</if>
             <if test="age != null">#{age},</if>
             <if test="sex != null">#{sex},</if>
-            <if test="bedno != null">#{bedno},</if>
-            <if test="dept != null">#{dept},</if>
+            <if test="bedNo != null">#{bedNo},</if>
+            <if test="deptName != null">#{deptName},</if>
             <if test="icdName != null">#{icdName},</if>
             <if test="phone != null">#{phone},</if>
             <if test="medicalRecordNo != null">#{medicalRecordNo},</if>
@@ -138,8 +138,8 @@
             <if test="name != null">name = #{name},</if>
             <if test="age != null">age = #{age},</if>
             <if test="sex != null">sex = #{sex},</if>
-            <if test="bedno != null">bed_no = #{bedno},</if>
-            <if test="dept != null">dept = #{dept},</if>
+            <if test="bedNo != null">bed_no = #{bedNo},</if>
+            <if test="deptName != null">dept = #{deptName},</if>
             <if test="icdName != null">icd_name = #{icdName},</if>
             <if test="phone != null">phone = #{phone},</if>
             <if test="medicalRecordNo != null">medical_record_no = #{medicalRecordNo},</if>
@@ -166,4 +166,4 @@
             #{id}
         </foreach>
     </delete>
-</mapper>
\ No newline at end of file
+</mapper>
diff --git a/smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml b/smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml
index 9285192..063d6c9 100644
--- a/smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml
@@ -19,7 +19,7 @@
         <result property="deptcode"    column="deptcode"    />
         <result property="deptname"    column="deptname"    />
         <result property="roomno"    column="roomno"    />
-        <result property="bedno"    column="bedno"    />
+        <result property="bedNo"    column="bed_no"    />
         <result property="orgid"    column="orgid"    />
         <result property="delFlag"    column="del_flag"    />
         <result property="updateBy"    column="update_by"    />
@@ -47,7 +47,7 @@
     </resultMap>
 
     <sql id="selectPatMedInhospVo">
-        select inhospid,inhospno, serialnum, hospitalname, hospitalcode, hospitaldistrictcode, hospitaldistrictname, icd10code, diagname, starttime, endtime, deptcode, deptname, roomno, bedno, orgid, del_flag, update_by, update_time, create_by, create_time, isupload, upload_time, patid, leavediagname, leaveicd10code, drcode, drname, schemestatus, generalschemestatus, leaveldeptcode, leaveldeptname, hospitaldistrictid, leavehospitaldistrictcode, leavehospitaldistrictname, leavehospitaldistrictid, deptid, leaveldeptid, schemetime from pat_med_inhosp
+        select inhospid,inhospno, serialnum, hospitalname, hospitalcode, hospitaldistrictcode, hospitaldistrictname, icd10code, diagname, starttime, endtime, deptcode, deptname, roomno, bed_no, orgid, del_flag, update_by, update_time, create_by, create_time, isupload, upload_time, patid, leavediagname, leaveicd10code, drcode, drname, schemestatus, generalschemestatus, leaveldeptcode, leaveldeptname, hospitaldistrictid, leavehospitaldistrictcode, leavehospitaldistrictname, leavehospitaldistrictid, deptid, leaveldeptid, schemetime from pat_med_inhosp
     </sql>
 
     <select id="selectPatMedInhospList" parameterType="com.smartor.domain.PatMedInhosp" resultMap="PatMedInhospResult">
@@ -83,7 +83,7 @@
             <if test="deptcode != null">deptcode,</if>
             <if test="deptname != null">deptname,</if>
             <if test="roomno != null">roomno,</if>
-            <if test="bedno != null">bedno,</if>
+            <if test="bedNo != null">bed_no,</if>
             <if test="orgid != null">orgid,</if>
             <if test="delFlag != null and delFlag != ''">del_flag,</if>
             <if test="updateBy != null">update_by,</if>
@@ -122,7 +122,7 @@
             <if test="deptcode != null">#{deptcode},</if>
             <if test="deptname != null">#{deptname},</if>
             <if test="roomno != null">#{roomno},</if>
-            <if test="bedno != null">#{bedno},</if>
+            <if test="bedNo != null">#{bedNo},</if>
             <if test="orgid != null">#{orgid},</if>
             <if test="delFlag != null and delFlag != ''">#{delFlag},</if>
             <if test="updateBy != null">#{updateBy},</if>
@@ -165,7 +165,7 @@
             <if test="deptcode != null">deptcode = #{deptcode},</if>
             <if test="deptname != null">deptname = #{deptname},</if>
             <if test="roomno != null">roomno = #{roomno},</if>
-            <if test="bedno != null">bedno = #{bedno},</if>
+            <if test="bedNo != null">bed_no = #{bedNo},</if>
             <if test="orgid != null">orgid = #{orgid},</if>
             <if test="delFlag != null and delFlag != ''">del_flag = #{delFlag},</if>
             <if test="updateBy != null">update_by = #{updateBy},</if>
@@ -204,4 +204,4 @@
             #{inhospid}
         </foreach>
     </delete>
-</mapper>
\ No newline at end of file
+</mapper>

--
Gitblit v1.9.3