From ddb2967a71974153af40cf881d4b76b2dd894dc6 Mon Sep 17 00:00:00 2001
From: yxh <172933527@qq.com>
Date: 星期六, 04 三月 2023 17:25:37 +0800
Subject: [PATCH] yxh

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SchemeTaskrecordCalldetailController.java |  104 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatMedPhysicalController.java             |  104 
 smartor/src/main/java/com/smartor/domain/SchemeTaskconfig.java                                       |  659 +++
 smartor/src/main/java/com/smartor/mapper/SchemePlanMapper.java                                       |   61 
 smartor/src/main/java/com/smartor/service/impl/SchemeLocallibraryServiceImpl.java                    |   96 
 smartor/src/main/java/com/smartor/domain/SchemeAutofinshrule.java                                    |  138 
 smartor/src/main/resources/mapper/smartor/SchemeTaskMapper.xml                                       |  276 +
 smartor/src/main/java/com/smartor/service/ISchemeTriggersceneService.java                            |   61 
 smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml                                     |  206 +
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SchemeAutofinshruleController.java        |  104 
 smartor/src/main/java/com/smartor/domain/SchemePlan.java                                             |  297 +
 smartor/src/main/java/com/smartor/service/ISchemeTaskconfigService.java                              |   61 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SchemeTaskController.java                 |  104 
 smartor/src/main/java/com/smartor/service/ISchemePlanService.java                                    |   61 
 smartor/src/main/resources/mapper/smartor/SchemeLocallibraryMapper.xml                               |  206 +
 smartor/src/main/java/com/smartor/mapper/SchemeTaskrecordMapper.java                                 |   61 
 smartor/src/main/java/com/smartor/domain/SchemeCategory.java                                         |  124 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SchemeTaskrecordController.java           |  104 
 smartor/src/main/java/com/smartor/domain/SchemeTaskrecord.java                                       |  341 +
 smartor/src/main/resources/mapper/smartor/SchemeTriggersceneMapper.xml                               |  106 
 smartor/src/main/java/com/smartor/domain/SchemeTriggerrule.java                                      |  309 +
 smartor/src/main/java/com/smartor/service/impl/SchemeTaskconfigServiceImpl.java                      |   96 
 smartor/src/main/java/com/smartor/domain/SchemeTask.java                                             |  641 +++
 smartor/src/main/java/com/smartor/service/impl/SchemeTriggersceneServiceImpl.java                    |   96 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatMedInhospController.java               |  104 
 smartor/src/main/java/com/smartor/service/impl/SchemePlanServiceImpl.java                            |   96 
 smartor/src/main/resources/mapper/smartor/PatMedOuthospMapper.xml                                    |  152 
 smartor/src/main/java/com/smartor/mapper/SchemeTaskMapper.java                                       |   61 
 smartor/src/main/java/com/smartor/service/impl/SchemeCategoryServiceImpl.java                        |   96 
 smartor/src/main/java/com/smartor/domain/PatMedOuthosp.java                                          |  313 +
 smartor/src/main/java/com/smartor/mapper/SchemeCategoryMapper.java                                   |   61 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatMedOuthospController.java              |  104 
 smartor/src/main/java/com/smartor/service/impl/SchemeTaskrecordServiceImpl.java                      |   96 
 smartor/src/main/java/com/smartor/service/ISchemeTriggerruleService.java                             |   61 
 smartor/src/main/resources/mapper/smartor/SchemeTriggerruleMapper.xml                                |  161 
 smartor/src/main/java/com/smartor/domain/SchemeTriggerscene.java                                     |  155 
 smartor/src/main/resources/mapper/smartor/SchemePlanMapper.xml                                       |  156 
 smartor/src/main/resources/mapper/smartor/SchemeTaskrepeatconfigMapper.xml                           |  151 
 smartor/src/main/java/com/smartor/mapper/PatMedOuthospMapper.java                                    |   61 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SchemeTriggersceneController.java         |  104 
 smartor/src/main/java/com/smartor/service/impl/SchemeTriggerruleServiceImpl.java                     |   96 
 smartor/src/main/java/com/smartor/service/IPatMedOuthospService.java                                 |   61 
 smartor/src/main/java/com/smartor/service/impl/SchemeTaskServiceImpl.java                            |   96 
 smartor/src/main/java/com/smartor/service/impl/SchemeTaskrepeatconfigServiceImpl.java                |   96 
 smartor/src/main/java/com/smartor/mapper/SchemeAutofinshruleMapper.java                              |   61 
 smartor/src/main/java/com/smartor/service/ISchemeAutofinshruleService.java                           |   61 
 smartor/src/main/java/com/smartor/service/impl/PatMedOuthospServiceImpl.java                         |   96 
 smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java                          |   96 
 smartor/src/main/java/com/smartor/service/ISchemeLocallibraryService.java                            |   61 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SchemeTriggerruleController.java          |  104 
 smartor/src/main/java/com/smartor/mapper/SchemeTriggerruleMapper.java                                |   61 
 smartor/src/main/java/com/smartor/service/impl/PatMedPhysicalServiceImpl.java                        |   96 
 smartor/src/main/resources/mapper/smartor/SchemeAutofinshruleMapper.xml                              |   99 
 smartor/src/main/java/com/smartor/service/IPatMedPhysicalService.java                                |   61 
 smartor/src/main/java/com/smartor/service/ISchemeTaskService.java                                    |   61 
 smartor/src/main/java/com/smartor/mapper/SchemeTaskrepeatconfigMapper.java                           |   61 
 smartor/src/main/java/com/smartor/mapper/SchemeTaskconfigMapper.java                                 |   61 
 smartor/src/main/java/com/smartor/domain/SchemeTaskrepeatconfig.java                                 |  281 +
 smartor/src/main/java/com/smartor/mapper/SchemeTriggersceneMapper.java                               |   61 
 smartor/src/main/resources/mapper/smartor/SchemeCategoryMapper.xml                                   |   94 
 smartor/src/main/resources/mapper/smartor/SchemeTaskconfigMapper.xml                                 |  286 +
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SchemePlanController.java                 |  104 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SchemeLocallibraryController.java         |  104 
 smartor/src/main/resources/mapper/smartor/PatMedPhysicalMapper.xml                                   |  156 
 smartor/src/main/resources/mapper/smartor/SchemeTaskrecordCalldetailMapper.xml                       |  226 +
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SchemeCategoryController.java             |  104 
 smartor/src/main/java/com/smartor/service/impl/SchemeTaskrecordCalldetailServiceImpl.java            |   96 
 smartor/src/main/java/com/smartor/mapper/PatMedPhysicalMapper.java                                   |   61 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SchemeTaskrepeatconfigController.java     |  104 
 smartor/src/main/java/com/smartor/mapper/PatMedInhospMapper.java                                     |   61 
 smartor/src/main/java/com/smartor/mapper/SchemeTaskrecordCalldetailMapper.java                       |   61 
 smartor/src/main/java/com/smartor/domain/SchemeTaskrecordCalldetail.java                             |  491 ++
 smartor/src/main/java/com/smartor/service/ISchemeCategoryService.java                                |   61 
 smartor/src/main/java/com/smartor/service/IPatMedInhospService.java                                  |   61 
 smartor/src/main/resources/mapper/smartor/SchemeTaskrecordMapper.xml                                 |  175 
 smartor/src/main/java/com/smartor/domain/PatMedInhosp.java                                           |  484 ++
 smartor/src/main/java/com/smartor/service/ISchemeTaskrecordCalldetailService.java                    |   61 
 smartor/src/main/java/com/smartor/mapper/SchemeLocallibraryMapper.java                               |   61 
 smartor/src/main/java/com/smartor/service/impl/SchemeAutofinshruleServiceImpl.java                   |   96 
 smartor/src/main/java/com/smartor/domain/SchemeLocallibrary.java                                     |  437 ++
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SchemeTaskconfigController.java           |  104 
 smartor/src/main/java/com/smartor/domain/PatMedPhysical.java                                         |  324 +
 smartor/src/main/java/com/smartor/service/ISchemeTaskrecordService.java                              |   61 
 smartor/src/main/java/com/smartor/service/ISchemeTaskrepeatconfigService.java                        |   61 
 84 files changed, 11,952 insertions(+), 0 deletions(-)

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
new file mode 100644
index 0000000..a50de21
--- /dev/null
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatMedInhospController.java
@@ -0,0 +1,104 @@
+package com.smartor.controller;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.enums.BusinessType;
+import com.smartor.domain.PatMedInhosp;
+import com.smartor.service.IPatMedInhospService;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 鎮h�呬綇闄㈣褰旵ontroller
+ * 
+ * @author smartor
+ * @date 2023-03-04
+ */
+@RestController
+@RequestMapping("/smartor/patinhosp")
+public class PatMedInhospController extends BaseController
+{
+    @Autowired
+    private IPatMedInhospService patMedInhospService;
+
+    /**
+     * 鏌ヨ鎮h�呬綇闄㈣褰曞垪琛�
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:patinhosp:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(PatMedInhosp patMedInhosp)
+    {
+        startPage();
+        List<PatMedInhosp> list = patMedInhospService.selectPatMedInhospList(patMedInhosp);
+        return getDataTable(list);
+    }
+
+    /**
+     * 瀵煎嚭鎮h�呬綇闄㈣褰曞垪琛�
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:patinhosp:export')")
+    @Log(title = "鎮h�呬綇闄㈣褰�", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, PatMedInhosp patMedInhosp)
+    {
+        List<PatMedInhosp> list = patMedInhospService.selectPatMedInhospList(patMedInhosp);
+        ExcelUtil<PatMedInhosp> util = new ExcelUtil<PatMedInhosp>(PatMedInhosp.class);
+        util.exportExcel(response, list, "鎮h�呬綇闄㈣褰曟暟鎹�");
+    }
+
+    /**
+     * 鑾峰彇鎮h�呬綇闄㈣褰曡缁嗕俊鎭�
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:patinhosp:query')")
+    @GetMapping(value = "/{inhospid}")
+    public AjaxResult getInfo(@PathVariable("inhospid") Long inhospid)
+    {
+        return success(patMedInhospService.selectPatMedInhospByInhospid(inhospid));
+    }
+
+    /**
+     * 鏂板鎮h�呬綇闄㈣褰�
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:patinhosp:add')")
+    @Log(title = "鎮h�呬綇闄㈣褰�", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody PatMedInhosp patMedInhosp)
+    {
+        return toAjax(patMedInhospService.insertPatMedInhosp(patMedInhosp));
+    }
+
+    /**
+     * 淇敼鎮h�呬綇闄㈣褰�
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:patinhosp:edit')")
+    @Log(title = "鎮h�呬綇闄㈣褰�", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody PatMedInhosp patMedInhosp)
+    {
+        return toAjax(patMedInhospService.updatePatMedInhosp(patMedInhosp));
+    }
+
+    /**
+     * 鍒犻櫎鎮h�呬綇闄㈣褰�
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:patinhosp:remove')")
+    @Log(title = "鎮h�呬綇闄㈣褰�", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{inhospids}")
+    public AjaxResult remove(@PathVariable Long[] inhospids)
+    {
+        return toAjax(patMedInhospService.deletePatMedInhospByInhospids(inhospids));
+    }
+}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatMedOuthospController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatMedOuthospController.java
new file mode 100644
index 0000000..e5cca58
--- /dev/null
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatMedOuthospController.java
@@ -0,0 +1,104 @@
+package com.smartor.controller;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.enums.BusinessType;
+import com.smartor.domain.PatMedOuthosp;
+import com.smartor.service.IPatMedOuthospService;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 鎮h�呴棬璇婅褰旵ontroller
+ * 
+ * @author smartor
+ * @date 2023-03-04
+ */
+@RestController
+@RequestMapping("/smartor/patouthosp")
+public class PatMedOuthospController extends BaseController
+{
+    @Autowired
+    private IPatMedOuthospService patMedOuthospService;
+
+    /**
+     * 鏌ヨ鎮h�呴棬璇婅褰曞垪琛�
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:patouthosp:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(PatMedOuthosp patMedOuthosp)
+    {
+        startPage();
+        List<PatMedOuthosp> list = patMedOuthospService.selectPatMedOuthospList(patMedOuthosp);
+        return getDataTable(list);
+    }
+
+    /**
+     * 瀵煎嚭鎮h�呴棬璇婅褰曞垪琛�
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:patouthosp:export')")
+    @Log(title = "鎮h�呴棬璇婅褰�", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, PatMedOuthosp patMedOuthosp)
+    {
+        List<PatMedOuthosp> list = patMedOuthospService.selectPatMedOuthospList(patMedOuthosp);
+        ExcelUtil<PatMedOuthosp> util = new ExcelUtil<PatMedOuthosp>(PatMedOuthosp.class);
+        util.exportExcel(response, list, "鎮h�呴棬璇婅褰曟暟鎹�");
+    }
+
+    /**
+     * 鑾峰彇鎮h�呴棬璇婅褰曡缁嗕俊鎭�
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:patouthosp:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(patMedOuthospService.selectPatMedOuthospById(id));
+    }
+
+    /**
+     * 鏂板鎮h�呴棬璇婅褰�
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:patouthosp:add')")
+    @Log(title = "鎮h�呴棬璇婅褰�", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody PatMedOuthosp patMedOuthosp)
+    {
+        return toAjax(patMedOuthospService.insertPatMedOuthosp(patMedOuthosp));
+    }
+
+    /**
+     * 淇敼鎮h�呴棬璇婅褰�
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:patouthosp:edit')")
+    @Log(title = "鎮h�呴棬璇婅褰�", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody PatMedOuthosp patMedOuthosp)
+    {
+        return toAjax(patMedOuthospService.updatePatMedOuthosp(patMedOuthosp));
+    }
+
+    /**
+     * 鍒犻櫎鎮h�呴棬璇婅褰�
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:patouthosp:remove')")
+    @Log(title = "鎮h�呴棬璇婅褰�", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(patMedOuthospService.deletePatMedOuthospByIds(ids));
+    }
+}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatMedPhysicalController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatMedPhysicalController.java
new file mode 100644
index 0000000..5bebbe7
--- /dev/null
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatMedPhysicalController.java
@@ -0,0 +1,104 @@
+package com.smartor.controller;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.enums.BusinessType;
+import com.smartor.domain.PatMedPhysical;
+import com.smartor.service.IPatMedPhysicalService;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 鎮h�呬綋妫�璁板綍Controller
+ * 
+ * @author smartor
+ * @date 2023-03-04
+ */
+@RestController
+@RequestMapping("/smartor/patphysical")
+public class PatMedPhysicalController extends BaseController
+{
+    @Autowired
+    private IPatMedPhysicalService patMedPhysicalService;
+
+    /**
+     * 鏌ヨ鎮h�呬綋妫�璁板綍鍒楄〃
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:patphysical:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(PatMedPhysical patMedPhysical)
+    {
+        startPage();
+        List<PatMedPhysical> list = patMedPhysicalService.selectPatMedPhysicalList(patMedPhysical);
+        return getDataTable(list);
+    }
+
+    /**
+     * 瀵煎嚭鎮h�呬綋妫�璁板綍鍒楄〃
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:patphysical:export')")
+    @Log(title = "鎮h�呬綋妫�璁板綍", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, PatMedPhysical patMedPhysical)
+    {
+        List<PatMedPhysical> list = patMedPhysicalService.selectPatMedPhysicalList(patMedPhysical);
+        ExcelUtil<PatMedPhysical> util = new ExcelUtil<PatMedPhysical>(PatMedPhysical.class);
+        util.exportExcel(response, list, "鎮h�呬綋妫�璁板綍鏁版嵁");
+    }
+
+    /**
+     * 鑾峰彇鎮h�呬綋妫�璁板綍璇︾粏淇℃伅
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:patphysical:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(patMedPhysicalService.selectPatMedPhysicalById(id));
+    }
+
+    /**
+     * 鏂板鎮h�呬綋妫�璁板綍
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:patphysical:add')")
+    @Log(title = "鎮h�呬綋妫�璁板綍", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody PatMedPhysical patMedPhysical)
+    {
+        return toAjax(patMedPhysicalService.insertPatMedPhysical(patMedPhysical));
+    }
+
+    /**
+     * 淇敼鎮h�呬綋妫�璁板綍
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:patphysical:edit')")
+    @Log(title = "鎮h�呬綋妫�璁板綍", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody PatMedPhysical patMedPhysical)
+    {
+        return toAjax(patMedPhysicalService.updatePatMedPhysical(patMedPhysical));
+    }
+
+    /**
+     * 鍒犻櫎鎮h�呬綋妫�璁板綍
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:patphysical:remove')")
+    @Log(title = "鎮h�呬綋妫�璁板綍", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(patMedPhysicalService.deletePatMedPhysicalByIds(ids));
+    }
+}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SchemeAutofinshruleController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SchemeAutofinshruleController.java
new file mode 100644
index 0000000..7412fa9
--- /dev/null
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SchemeAutofinshruleController.java
@@ -0,0 +1,104 @@
+package com.ruoyi.smartor.controller;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.smartor.domain.SchemeAutofinshrule;
+import com.ruoyi.smartor.service.ISchemeAutofinshruleService;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 鏂规缁撴瑙勫垯Controller
+ * 
+ * @author smartor
+ * @date 2023-03-04
+ */
+@RestController
+@RequestMapping("/smartor/schemeautofinshrule")
+public class SchemeAutofinshruleController extends BaseController
+{
+    @Autowired
+    private ISchemeAutofinshruleService schemeAutofinshruleService;
+
+    /**
+     * 鏌ヨ鏂规缁撴瑙勫垯鍒楄〃
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:schemeautofinshrule:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(SchemeAutofinshrule schemeAutofinshrule)
+    {
+        startPage();
+        List<SchemeAutofinshrule> list = schemeAutofinshruleService.selectSchemeAutofinshruleList(schemeAutofinshrule);
+        return getDataTable(list);
+    }
+
+    /**
+     * 瀵煎嚭鏂规缁撴瑙勫垯鍒楄〃
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:schemeautofinshrule:export')")
+    @Log(title = "鏂规缁撴瑙勫垯", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, SchemeAutofinshrule schemeAutofinshrule)
+    {
+        List<SchemeAutofinshrule> list = schemeAutofinshruleService.selectSchemeAutofinshruleList(schemeAutofinshrule);
+        ExcelUtil<SchemeAutofinshrule> util = new ExcelUtil<SchemeAutofinshrule>(SchemeAutofinshrule.class);
+        util.exportExcel(response, list, "鏂规缁撴瑙勫垯鏁版嵁");
+    }
+
+    /**
+     * 鑾峰彇鏂规缁撴瑙勫垯璇︾粏淇℃伅
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:schemeautofinshrule:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(schemeAutofinshruleService.selectSchemeAutofinshruleById(id));
+    }
+
+    /**
+     * 鏂板鏂规缁撴瑙勫垯
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:schemeautofinshrule:add')")
+    @Log(title = "鏂规缁撴瑙勫垯", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody SchemeAutofinshrule schemeAutofinshrule)
+    {
+        return toAjax(schemeAutofinshruleService.insertSchemeAutofinshrule(schemeAutofinshrule));
+    }
+
+    /**
+     * 淇敼鏂规缁撴瑙勫垯
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:schemeautofinshrule:edit')")
+    @Log(title = "鏂规缁撴瑙勫垯", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody SchemeAutofinshrule schemeAutofinshrule)
+    {
+        return toAjax(schemeAutofinshruleService.updateSchemeAutofinshrule(schemeAutofinshrule));
+    }
+
+    /**
+     * 鍒犻櫎鏂规缁撴瑙勫垯
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:schemeautofinshrule:remove')")
+    @Log(title = "鏂规缁撴瑙勫垯", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(schemeAutofinshruleService.deleteSchemeAutofinshruleByIds(ids));
+    }
+}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SchemeCategoryController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SchemeCategoryController.java
new file mode 100644
index 0000000..9bee334
--- /dev/null
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SchemeCategoryController.java
@@ -0,0 +1,104 @@
+package com.smartor.controller;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.enums.BusinessType;
+import com.smartor.domain.SchemeCategory;
+import com.smartor.service.ISchemeCategoryService;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 鏂规鍒嗙被Controller
+ * 
+ * @author smartor
+ * @date 2023-03-04
+ */
+@RestController
+@RequestMapping("/smartor/schemecategory")
+public class SchemeCategoryController extends BaseController
+{
+    @Autowired
+    private ISchemeCategoryService schemeCategoryService;
+
+    /**
+     * 鏌ヨ鏂规鍒嗙被鍒楄〃
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:schemecategory:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(SchemeCategory schemeCategory)
+    {
+        startPage();
+        List<SchemeCategory> list = schemeCategoryService.selectSchemeCategoryList(schemeCategory);
+        return getDataTable(list);
+    }
+
+    /**
+     * 瀵煎嚭鏂规鍒嗙被鍒楄〃
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:schemecategory:export')")
+    @Log(title = "鏂规鍒嗙被", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, SchemeCategory schemeCategory)
+    {
+        List<SchemeCategory> list = schemeCategoryService.selectSchemeCategoryList(schemeCategory);
+        ExcelUtil<SchemeCategory> util = new ExcelUtil<SchemeCategory>(SchemeCategory.class);
+        util.exportExcel(response, list, "鏂规鍒嗙被鏁版嵁");
+    }
+
+    /**
+     * 鑾峰彇鏂规鍒嗙被璇︾粏淇℃伅
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:schemecategory:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(schemeCategoryService.selectSchemeCategoryById(id));
+    }
+
+    /**
+     * 鏂板鏂规鍒嗙被
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:schemecategory:add')")
+    @Log(title = "鏂规鍒嗙被", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody SchemeCategory schemeCategory)
+    {
+        return toAjax(schemeCategoryService.insertSchemeCategory(schemeCategory));
+    }
+
+    /**
+     * 淇敼鏂规鍒嗙被
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:schemecategory:edit')")
+    @Log(title = "鏂规鍒嗙被", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody SchemeCategory schemeCategory)
+    {
+        return toAjax(schemeCategoryService.updateSchemeCategory(schemeCategory));
+    }
+
+    /**
+     * 鍒犻櫎鏂规鍒嗙被
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:schemecategory:remove')")
+    @Log(title = "鏂规鍒嗙被", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(schemeCategoryService.deleteSchemeCategoryByIds(ids));
+    }
+}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SchemeLocallibraryController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SchemeLocallibraryController.java
new file mode 100644
index 0000000..bad0436
--- /dev/null
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SchemeLocallibraryController.java
@@ -0,0 +1,104 @@
+package com.smartor.controller;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.enums.BusinessType;
+import com.smartor.domain.SchemeLocallibrary;
+import com.smartor.service.ISchemeLocallibraryService;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 鏈嶅姟鏂规搴揅ontroller
+ * 
+ * @author smartor
+ * @date 2023-03-04
+ */
+@RestController
+@RequestMapping("/smartor/schemelibrary")
+public class SchemeLocallibraryController extends BaseController
+{
+    @Autowired
+    private ISchemeLocallibraryService schemeLocallibraryService;
+
+    /**
+     * 鏌ヨ鏈嶅姟鏂规搴撳垪琛�
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:schemelibrary:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(SchemeLocallibrary schemeLocallibrary)
+    {
+        startPage();
+        List<SchemeLocallibrary> list = schemeLocallibraryService.selectSchemeLocallibraryList(schemeLocallibrary);
+        return getDataTable(list);
+    }
+
+    /**
+     * 瀵煎嚭鏈嶅姟鏂规搴撳垪琛�
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:schemelibrary:export')")
+    @Log(title = "鏈嶅姟鏂规搴�", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, SchemeLocallibrary schemeLocallibrary)
+    {
+        List<SchemeLocallibrary> list = schemeLocallibraryService.selectSchemeLocallibraryList(schemeLocallibrary);
+        ExcelUtil<SchemeLocallibrary> util = new ExcelUtil<SchemeLocallibrary>(SchemeLocallibrary.class);
+        util.exportExcel(response, list, "鏈嶅姟鏂规搴撴暟鎹�");
+    }
+
+    /**
+     * 鑾峰彇鏈嶅姟鏂规搴撹缁嗕俊鎭�
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:schemelibrary:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(schemeLocallibraryService.selectSchemeLocallibraryById(id));
+    }
+
+    /**
+     * 鏂板鏈嶅姟鏂规搴�
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:schemelibrary:add')")
+    @Log(title = "鏈嶅姟鏂规搴�", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody SchemeLocallibrary schemeLocallibrary)
+    {
+        return toAjax(schemeLocallibraryService.insertSchemeLocallibrary(schemeLocallibrary));
+    }
+
+    /**
+     * 淇敼鏈嶅姟鏂规搴�
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:schemelibrary:edit')")
+    @Log(title = "鏈嶅姟鏂规搴�", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody SchemeLocallibrary schemeLocallibrary)
+    {
+        return toAjax(schemeLocallibraryService.updateSchemeLocallibrary(schemeLocallibrary));
+    }
+
+    /**
+     * 鍒犻櫎鏈嶅姟鏂规搴�
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:schemelibrary:remove')")
+    @Log(title = "鏈嶅姟鏂规搴�", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(schemeLocallibraryService.deleteSchemeLocallibraryByIds(ids));
+    }
+}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SchemePlanController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SchemePlanController.java
new file mode 100644
index 0000000..55c607d
--- /dev/null
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SchemePlanController.java
@@ -0,0 +1,104 @@
+package com.smartor.controller;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.enums.BusinessType;
+import com.smartor.domain.SchemePlan;
+import com.smartor.service.ISchemePlanService;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 绠$悊璁″垝Controller
+ * 
+ * @author smartor
+ * @date 2023-03-04
+ */
+@RestController
+@RequestMapping("/smartor/schemeplan")
+public class SchemePlanController extends BaseController
+{
+    @Autowired
+    private ISchemePlanService schemePlanService;
+
+    /**
+     * 鏌ヨ绠$悊璁″垝鍒楄〃
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:schemeplan:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(SchemePlan schemePlan)
+    {
+        startPage();
+        List<SchemePlan> list = schemePlanService.selectSchemePlanList(schemePlan);
+        return getDataTable(list);
+    }
+
+    /**
+     * 瀵煎嚭绠$悊璁″垝鍒楄〃
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:schemeplan:export')")
+    @Log(title = "绠$悊璁″垝", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, SchemePlan schemePlan)
+    {
+        List<SchemePlan> list = schemePlanService.selectSchemePlanList(schemePlan);
+        ExcelUtil<SchemePlan> util = new ExcelUtil<SchemePlan>(SchemePlan.class);
+        util.exportExcel(response, list, "绠$悊璁″垝鏁版嵁");
+    }
+
+    /**
+     * 鑾峰彇绠$悊璁″垝璇︾粏淇℃伅
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:schemeplan:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(schemePlanService.selectSchemePlanById(id));
+    }
+
+    /**
+     * 鏂板绠$悊璁″垝
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:schemeplan:add')")
+    @Log(title = "绠$悊璁″垝", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody SchemePlan schemePlan)
+    {
+        return toAjax(schemePlanService.insertSchemePlan(schemePlan));
+    }
+
+    /**
+     * 淇敼绠$悊璁″垝
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:schemeplan:edit')")
+    @Log(title = "绠$悊璁″垝", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody SchemePlan schemePlan)
+    {
+        return toAjax(schemePlanService.updateSchemePlan(schemePlan));
+    }
+
+    /**
+     * 鍒犻櫎绠$悊璁″垝
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:schemeplan:remove')")
+    @Log(title = "绠$悊璁″垝", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(schemePlanService.deleteSchemePlanByIds(ids));
+    }
+}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SchemeTaskController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SchemeTaskController.java
new file mode 100644
index 0000000..271a5ce
--- /dev/null
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SchemeTaskController.java
@@ -0,0 +1,104 @@
+package com.smartor.controller;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.enums.BusinessType;
+import com.smartor.domain.SchemeTask;
+import com.smartor.service.ISchemeTaskService;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 鏂规浠诲姟Controller
+ * 
+ * @author smartor
+ * @date 2023-03-04
+ */
+@RestController
+@RequestMapping("/smartor/schemetask")
+public class SchemeTaskController extends BaseController
+{
+    @Autowired
+    private ISchemeTaskService schemeTaskService;
+
+    /**
+     * 鏌ヨ鏂规浠诲姟鍒楄〃
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:schemetask:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(SchemeTask schemeTask)
+    {
+        startPage();
+        List<SchemeTask> list = schemeTaskService.selectSchemeTaskList(schemeTask);
+        return getDataTable(list);
+    }
+
+    /**
+     * 瀵煎嚭鏂规浠诲姟鍒楄〃
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:schemetask:export')")
+    @Log(title = "鏂规浠诲姟", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, SchemeTask schemeTask)
+    {
+        List<SchemeTask> list = schemeTaskService.selectSchemeTaskList(schemeTask);
+        ExcelUtil<SchemeTask> util = new ExcelUtil<SchemeTask>(SchemeTask.class);
+        util.exportExcel(response, list, "鏂规浠诲姟鏁版嵁");
+    }
+
+    /**
+     * 鑾峰彇鏂规浠诲姟璇︾粏淇℃伅
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:schemetask:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(schemeTaskService.selectSchemeTaskById(id));
+    }
+
+    /**
+     * 鏂板鏂规浠诲姟
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:schemetask:add')")
+    @Log(title = "鏂规浠诲姟", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody SchemeTask schemeTask)
+    {
+        return toAjax(schemeTaskService.insertSchemeTask(schemeTask));
+    }
+
+    /**
+     * 淇敼鏂规浠诲姟
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:schemetask:edit')")
+    @Log(title = "鏂规浠诲姟", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody SchemeTask schemeTask)
+    {
+        return toAjax(schemeTaskService.updateSchemeTask(schemeTask));
+    }
+
+    /**
+     * 鍒犻櫎鏂规浠诲姟
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:schemetask:remove')")
+    @Log(title = "鏂规浠诲姟", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(schemeTaskService.deleteSchemeTaskByIds(ids));
+    }
+}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SchemeTaskconfigController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SchemeTaskconfigController.java
new file mode 100644
index 0000000..28934cf
--- /dev/null
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SchemeTaskconfigController.java
@@ -0,0 +1,104 @@
+package com.smartor.controller;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.enums.BusinessType;
+import com.smartor.domain.SchemeTaskconfig;
+import com.smartor.service.ISchemeTaskconfigService;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 鏂规浠诲姟閰嶇疆Controller
+ * 
+ * @author smartor
+ * @date 2023-03-04
+ */
+@RestController
+@RequestMapping("/smartor/schemetaskconfig")
+public class SchemeTaskconfigController extends BaseController
+{
+    @Autowired
+    private ISchemeTaskconfigService schemeTaskconfigService;
+
+    /**
+     * 鏌ヨ鏂规浠诲姟閰嶇疆鍒楄〃
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:schemetaskconfig:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(SchemeTaskconfig schemeTaskconfig)
+    {
+        startPage();
+        List<SchemeTaskconfig> list = schemeTaskconfigService.selectSchemeTaskconfigList(schemeTaskconfig);
+        return getDataTable(list);
+    }
+
+    /**
+     * 瀵煎嚭鏂规浠诲姟閰嶇疆鍒楄〃
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:schemetaskconfig:export')")
+    @Log(title = "鏂规浠诲姟閰嶇疆", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, SchemeTaskconfig schemeTaskconfig)
+    {
+        List<SchemeTaskconfig> list = schemeTaskconfigService.selectSchemeTaskconfigList(schemeTaskconfig);
+        ExcelUtil<SchemeTaskconfig> util = new ExcelUtil<SchemeTaskconfig>(SchemeTaskconfig.class);
+        util.exportExcel(response, list, "鏂规浠诲姟閰嶇疆鏁版嵁");
+    }
+
+    /**
+     * 鑾峰彇鏂规浠诲姟閰嶇疆璇︾粏淇℃伅
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:schemetaskconfig:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(schemeTaskconfigService.selectSchemeTaskconfigById(id));
+    }
+
+    /**
+     * 鏂板鏂规浠诲姟閰嶇疆
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:schemetaskconfig:add')")
+    @Log(title = "鏂规浠诲姟閰嶇疆", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody SchemeTaskconfig schemeTaskconfig)
+    {
+        return toAjax(schemeTaskconfigService.insertSchemeTaskconfig(schemeTaskconfig));
+    }
+
+    /**
+     * 淇敼鏂规浠诲姟閰嶇疆
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:schemetaskconfig:edit')")
+    @Log(title = "鏂规浠诲姟閰嶇疆", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody SchemeTaskconfig schemeTaskconfig)
+    {
+        return toAjax(schemeTaskconfigService.updateSchemeTaskconfig(schemeTaskconfig));
+    }
+
+    /**
+     * 鍒犻櫎鏂规浠诲姟閰嶇疆
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:schemetaskconfig:remove')")
+    @Log(title = "鏂规浠诲姟閰嶇疆", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(schemeTaskconfigService.deleteSchemeTaskconfigByIds(ids));
+    }
+}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SchemeTaskrecordCalldetailController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SchemeTaskrecordCalldetailController.java
new file mode 100644
index 0000000..d41338d
--- /dev/null
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SchemeTaskrecordCalldetailController.java
@@ -0,0 +1,104 @@
+package com.smartor.controller;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.enums.BusinessType;
+import com.smartor.domain.SchemeTaskrecordCalldetail;
+import com.smartor.service.ISchemeTaskrecordCalldetailService;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 鏂规AI澶栧懠浠诲姟璇︽儏Controller
+ * 
+ * @author smartor
+ * @date 2023-03-04
+ */
+@RestController
+@RequestMapping("/smartor/schemecalldetail")
+public class SchemeTaskrecordCalldetailController extends BaseController
+{
+    @Autowired
+    private ISchemeTaskrecordCalldetailService schemeTaskrecordCalldetailService;
+
+    /**
+     * 鏌ヨ鏂规AI澶栧懠浠诲姟璇︽儏鍒楄〃
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:schemecalldetail:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(SchemeTaskrecordCalldetail schemeTaskrecordCalldetail)
+    {
+        startPage();
+        List<SchemeTaskrecordCalldetail> list = schemeTaskrecordCalldetailService.selectSchemeTaskrecordCalldetailList(schemeTaskrecordCalldetail);
+        return getDataTable(list);
+    }
+
+    /**
+     * 瀵煎嚭鏂规AI澶栧懠浠诲姟璇︽儏鍒楄〃
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:schemecalldetail:export')")
+    @Log(title = "鏂规AI澶栧懠浠诲姟璇︽儏", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, SchemeTaskrecordCalldetail schemeTaskrecordCalldetail)
+    {
+        List<SchemeTaskrecordCalldetail> list = schemeTaskrecordCalldetailService.selectSchemeTaskrecordCalldetailList(schemeTaskrecordCalldetail);
+        ExcelUtil<SchemeTaskrecordCalldetail> util = new ExcelUtil<SchemeTaskrecordCalldetail>(SchemeTaskrecordCalldetail.class);
+        util.exportExcel(response, list, "鏂规AI澶栧懠浠诲姟璇︽儏鏁版嵁");
+    }
+
+    /**
+     * 鑾峰彇鏂规AI澶栧懠浠诲姟璇︽儏璇︾粏淇℃伅
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:schemecalldetail:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(schemeTaskrecordCalldetailService.selectSchemeTaskrecordCalldetailById(id));
+    }
+
+    /**
+     * 鏂板鏂规AI澶栧懠浠诲姟璇︽儏
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:schemecalldetail:add')")
+    @Log(title = "鏂规AI澶栧懠浠诲姟璇︽儏", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody SchemeTaskrecordCalldetail schemeTaskrecordCalldetail)
+    {
+        return toAjax(schemeTaskrecordCalldetailService.insertSchemeTaskrecordCalldetail(schemeTaskrecordCalldetail));
+    }
+
+    /**
+     * 淇敼鏂规AI澶栧懠浠诲姟璇︽儏
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:schemecalldetail:edit')")
+    @Log(title = "鏂规AI澶栧懠浠诲姟璇︽儏", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody SchemeTaskrecordCalldetail schemeTaskrecordCalldetail)
+    {
+        return toAjax(schemeTaskrecordCalldetailService.updateSchemeTaskrecordCalldetail(schemeTaskrecordCalldetail));
+    }
+
+    /**
+     * 鍒犻櫎鏂规AI澶栧懠浠诲姟璇︽儏
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:schemecalldetail:remove')")
+    @Log(title = "鏂规AI澶栧懠浠诲姟璇︽儏", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(schemeTaskrecordCalldetailService.deleteSchemeTaskrecordCalldetailByIds(ids));
+    }
+}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SchemeTaskrecordController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SchemeTaskrecordController.java
new file mode 100644
index 0000000..976cc37
--- /dev/null
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SchemeTaskrecordController.java
@@ -0,0 +1,104 @@
+package com.smartor.controller;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.enums.BusinessType;
+import com.smartor.domain.SchemeTaskrecord;
+import com.smartor.service.ISchemeTaskrecordService;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 鏂规浠诲姟澶勭悊璁板綍Controller
+ * 
+ * @author smartor
+ * @date 2023-03-04
+ */
+@RestController
+@RequestMapping("/smartor/schemetaskrecord")
+public class SchemeTaskrecordController extends BaseController
+{
+    @Autowired
+    private ISchemeTaskrecordService schemeTaskrecordService;
+
+    /**
+     * 鏌ヨ鏂规浠诲姟澶勭悊璁板綍鍒楄〃
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:schemetaskrecord:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(SchemeTaskrecord schemeTaskrecord)
+    {
+        startPage();
+        List<SchemeTaskrecord> list = schemeTaskrecordService.selectSchemeTaskrecordList(schemeTaskrecord);
+        return getDataTable(list);
+    }
+
+    /**
+     * 瀵煎嚭鏂规浠诲姟澶勭悊璁板綍鍒楄〃
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:schemetaskrecord:export')")
+    @Log(title = "鏂规浠诲姟澶勭悊璁板綍", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, SchemeTaskrecord schemeTaskrecord)
+    {
+        List<SchemeTaskrecord> list = schemeTaskrecordService.selectSchemeTaskrecordList(schemeTaskrecord);
+        ExcelUtil<SchemeTaskrecord> util = new ExcelUtil<SchemeTaskrecord>(SchemeTaskrecord.class);
+        util.exportExcel(response, list, "鏂规浠诲姟澶勭悊璁板綍鏁版嵁");
+    }
+
+    /**
+     * 鑾峰彇鏂规浠诲姟澶勭悊璁板綍璇︾粏淇℃伅
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:schemetaskrecord:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(schemeTaskrecordService.selectSchemeTaskrecordById(id));
+    }
+
+    /**
+     * 鏂板鏂规浠诲姟澶勭悊璁板綍
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:schemetaskrecord:add')")
+    @Log(title = "鏂规浠诲姟澶勭悊璁板綍", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody SchemeTaskrecord schemeTaskrecord)
+    {
+        return toAjax(schemeTaskrecordService.insertSchemeTaskrecord(schemeTaskrecord));
+    }
+
+    /**
+     * 淇敼鏂规浠诲姟澶勭悊璁板綍
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:schemetaskrecord:edit')")
+    @Log(title = "鏂规浠诲姟澶勭悊璁板綍", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody SchemeTaskrecord schemeTaskrecord)
+    {
+        return toAjax(schemeTaskrecordService.updateSchemeTaskrecord(schemeTaskrecord));
+    }
+
+    /**
+     * 鍒犻櫎鏂规浠诲姟澶勭悊璁板綍
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:schemetaskrecord:remove')")
+    @Log(title = "鏂规浠诲姟澶勭悊璁板綍", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(schemeTaskrecordService.deleteSchemeTaskrecordByIds(ids));
+    }
+}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SchemeTaskrepeatconfigController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SchemeTaskrepeatconfigController.java
new file mode 100644
index 0000000..a355e6e
--- /dev/null
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SchemeTaskrepeatconfigController.java
@@ -0,0 +1,104 @@
+package com.smartor.controller;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.enums.BusinessType;
+import com.smartor.domain.SchemeTaskrepeatconfig;
+import com.smartor.service.ISchemeTaskrepeatconfigService;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 鏂规浠诲姟閲嶅彂閰嶇疆Controller
+ * 
+ * @author smartor
+ * @date 2023-03-04
+ */
+@RestController
+@RequestMapping("/smartor/schemetaskrepeatconfig")
+public class SchemeTaskrepeatconfigController extends BaseController
+{
+    @Autowired
+    private ISchemeTaskrepeatconfigService schemeTaskrepeatconfigService;
+
+    /**
+     * 鏌ヨ鏂规浠诲姟閲嶅彂閰嶇疆鍒楄〃
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:schemetaskrepeatconfig:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(SchemeTaskrepeatconfig schemeTaskrepeatconfig)
+    {
+        startPage();
+        List<SchemeTaskrepeatconfig> list = schemeTaskrepeatconfigService.selectSchemeTaskrepeatconfigList(schemeTaskrepeatconfig);
+        return getDataTable(list);
+    }
+
+    /**
+     * 瀵煎嚭鏂规浠诲姟閲嶅彂閰嶇疆鍒楄〃
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:schemetaskrepeatconfig:export')")
+    @Log(title = "鏂规浠诲姟閲嶅彂閰嶇疆", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, SchemeTaskrepeatconfig schemeTaskrepeatconfig)
+    {
+        List<SchemeTaskrepeatconfig> list = schemeTaskrepeatconfigService.selectSchemeTaskrepeatconfigList(schemeTaskrepeatconfig);
+        ExcelUtil<SchemeTaskrepeatconfig> util = new ExcelUtil<SchemeTaskrepeatconfig>(SchemeTaskrepeatconfig.class);
+        util.exportExcel(response, list, "鏂规浠诲姟閲嶅彂閰嶇疆鏁版嵁");
+    }
+
+    /**
+     * 鑾峰彇鏂规浠诲姟閲嶅彂閰嶇疆璇︾粏淇℃伅
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:schemetaskrepeatconfig:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(schemeTaskrepeatconfigService.selectSchemeTaskrepeatconfigById(id));
+    }
+
+    /**
+     * 鏂板鏂规浠诲姟閲嶅彂閰嶇疆
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:schemetaskrepeatconfig:add')")
+    @Log(title = "鏂规浠诲姟閲嶅彂閰嶇疆", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody SchemeTaskrepeatconfig schemeTaskrepeatconfig)
+    {
+        return toAjax(schemeTaskrepeatconfigService.insertSchemeTaskrepeatconfig(schemeTaskrepeatconfig));
+    }
+
+    /**
+     * 淇敼鏂规浠诲姟閲嶅彂閰嶇疆
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:schemetaskrepeatconfig:edit')")
+    @Log(title = "鏂规浠诲姟閲嶅彂閰嶇疆", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody SchemeTaskrepeatconfig schemeTaskrepeatconfig)
+    {
+        return toAjax(schemeTaskrepeatconfigService.updateSchemeTaskrepeatconfig(schemeTaskrepeatconfig));
+    }
+
+    /**
+     * 鍒犻櫎鏂规浠诲姟閲嶅彂閰嶇疆
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:schemetaskrepeatconfig:remove')")
+    @Log(title = "鏂规浠诲姟閲嶅彂閰嶇疆", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(schemeTaskrepeatconfigService.deleteSchemeTaskrepeatconfigByIds(ids));
+    }
+}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SchemeTriggerruleController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SchemeTriggerruleController.java
new file mode 100644
index 0000000..ffb5d95
--- /dev/null
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SchemeTriggerruleController.java
@@ -0,0 +1,104 @@
+package com.smartor.controller;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.enums.BusinessType;
+import com.smartor.domain.SchemeTriggerrule;
+import com.smartor.service.ISchemeTriggerruleService;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 鏂规瑙﹀彂鏉′欢瑙勫垯Controller
+ * 
+ * @author smartor
+ * @date 2023-03-04
+ */
+@RestController
+@RequestMapping("/smartor/schemetriggerrule")
+public class SchemeTriggerruleController extends BaseController
+{
+    @Autowired
+    private ISchemeTriggerruleService schemeTriggerruleService;
+
+    /**
+     * 鏌ヨ鏂规瑙﹀彂鏉′欢瑙勫垯鍒楄〃
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:schemetriggerrule:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(SchemeTriggerrule schemeTriggerrule)
+    {
+        startPage();
+        List<SchemeTriggerrule> list = schemeTriggerruleService.selectSchemeTriggerruleList(schemeTriggerrule);
+        return getDataTable(list);
+    }
+
+    /**
+     * 瀵煎嚭鏂规瑙﹀彂鏉′欢瑙勫垯鍒楄〃
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:schemetriggerrule:export')")
+    @Log(title = "鏂规瑙﹀彂鏉′欢瑙勫垯", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, SchemeTriggerrule schemeTriggerrule)
+    {
+        List<SchemeTriggerrule> list = schemeTriggerruleService.selectSchemeTriggerruleList(schemeTriggerrule);
+        ExcelUtil<SchemeTriggerrule> util = new ExcelUtil<SchemeTriggerrule>(SchemeTriggerrule.class);
+        util.exportExcel(response, list, "鏂规瑙﹀彂鏉′欢瑙勫垯鏁版嵁");
+    }
+
+    /**
+     * 鑾峰彇鏂规瑙﹀彂鏉′欢瑙勫垯璇︾粏淇℃伅
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:schemetriggerrule:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(schemeTriggerruleService.selectSchemeTriggerruleById(id));
+    }
+
+    /**
+     * 鏂板鏂规瑙﹀彂鏉′欢瑙勫垯
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:schemetriggerrule:add')")
+    @Log(title = "鏂规瑙﹀彂鏉′欢瑙勫垯", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody SchemeTriggerrule schemeTriggerrule)
+    {
+        return toAjax(schemeTriggerruleService.insertSchemeTriggerrule(schemeTriggerrule));
+    }
+
+    /**
+     * 淇敼鏂规瑙﹀彂鏉′欢瑙勫垯
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:schemetriggerrule:edit')")
+    @Log(title = "鏂规瑙﹀彂鏉′欢瑙勫垯", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody SchemeTriggerrule schemeTriggerrule)
+    {
+        return toAjax(schemeTriggerruleService.updateSchemeTriggerrule(schemeTriggerrule));
+    }
+
+    /**
+     * 鍒犻櫎鏂规瑙﹀彂鏉′欢瑙勫垯
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:schemetriggerrule:remove')")
+    @Log(title = "鏂规瑙﹀彂鏉′欢瑙勫垯", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(schemeTriggerruleService.deleteSchemeTriggerruleByIds(ids));
+    }
+}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SchemeTriggersceneController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SchemeTriggersceneController.java
new file mode 100644
index 0000000..36f07ee
--- /dev/null
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SchemeTriggersceneController.java
@@ -0,0 +1,104 @@
+package com.smartor.controller;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.enums.BusinessType;
+import com.smartor.domain.SchemeTriggerscene;
+import com.smartor.service.ISchemeTriggersceneService;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 鏂规瑙﹀彂鍦烘櫙Controller
+ * 
+ * @author smartor
+ * @date 2023-03-04
+ */
+@RestController
+@RequestMapping("/smartor/schemetriggerscene")
+public class SchemeTriggersceneController extends BaseController
+{
+    @Autowired
+    private ISchemeTriggersceneService schemeTriggersceneService;
+
+    /**
+     * 鏌ヨ鏂规瑙﹀彂鍦烘櫙鍒楄〃
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:schemetriggerscene:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(SchemeTriggerscene schemeTriggerscene)
+    {
+        startPage();
+        List<SchemeTriggerscene> list = schemeTriggersceneService.selectSchemeTriggersceneList(schemeTriggerscene);
+        return getDataTable(list);
+    }
+
+    /**
+     * 瀵煎嚭鏂规瑙﹀彂鍦烘櫙鍒楄〃
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:schemetriggerscene:export')")
+    @Log(title = "鏂规瑙﹀彂鍦烘櫙", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, SchemeTriggerscene schemeTriggerscene)
+    {
+        List<SchemeTriggerscene> list = schemeTriggersceneService.selectSchemeTriggersceneList(schemeTriggerscene);
+        ExcelUtil<SchemeTriggerscene> util = new ExcelUtil<SchemeTriggerscene>(SchemeTriggerscene.class);
+        util.exportExcel(response, list, "鏂规瑙﹀彂鍦烘櫙鏁版嵁");
+    }
+
+    /**
+     * 鑾峰彇鏂规瑙﹀彂鍦烘櫙璇︾粏淇℃伅
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:schemetriggerscene:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(schemeTriggersceneService.selectSchemeTriggersceneById(id));
+    }
+
+    /**
+     * 鏂板鏂规瑙﹀彂鍦烘櫙
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:schemetriggerscene:add')")
+    @Log(title = "鏂规瑙﹀彂鍦烘櫙", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody SchemeTriggerscene schemeTriggerscene)
+    {
+        return toAjax(schemeTriggersceneService.insertSchemeTriggerscene(schemeTriggerscene));
+    }
+
+    /**
+     * 淇敼鏂规瑙﹀彂鍦烘櫙
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:schemetriggerscene:edit')")
+    @Log(title = "鏂规瑙﹀彂鍦烘櫙", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody SchemeTriggerscene schemeTriggerscene)
+    {
+        return toAjax(schemeTriggersceneService.updateSchemeTriggerscene(schemeTriggerscene));
+    }
+
+    /**
+     * 鍒犻櫎鏂规瑙﹀彂鍦烘櫙
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:schemetriggerscene:remove')")
+    @Log(title = "鏂规瑙﹀彂鍦烘櫙", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(schemeTriggersceneService.deleteSchemeTriggersceneByIds(ids));
+    }
+}
diff --git a/smartor/src/main/java/com/smartor/domain/PatMedInhosp.java b/smartor/src/main/java/com/smartor/domain/PatMedInhosp.java
new file mode 100644
index 0000000..1df76cf
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/domain/PatMedInhosp.java
@@ -0,0 +1,484 @@
+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;
+
+/**
+ * 鎮h�呬綇闄㈣褰曞璞� pat_med_inhosp
+ * 
+ * @author smartor
+ * @date 2023-03-04
+ */
+public class PatMedInhosp extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /**  鑷ID  */
+    private Long inhospid;
+
+    /**  娴佹按鍙�  */
+    private String serialnum;
+
+    /**  鍖婚櫌鍚嶇О  */
+    @Excel(name = " 鍖婚櫌鍚嶇О ")
+    private String hospitalname;
+
+    /**  鍖婚櫌缂栧彿  */
+    private String hospitalcode;
+
+    /**  闄㈠尯缂栧彿  */
+    private String hospitaldistrictcode;
+
+    /**  闄㈠尯鍚嶇О  */
+    @Excel(name = " 闄㈠尯鍚嶇О ")
+    private String hospitaldistrictname;
+
+    /**  鍏ラ櫌璇婃柇ICD鍊�  */
+    private String icd10code;
+
+    /**  鍏ラ櫌璇婃柇鍚嶇О  */
+    private String diagname;
+
+    /**  鍏ラ櫌鏃堕棿  */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = " 鍏ラ櫌鏃堕棿 ", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date starttime;
+
+    /**  鍑洪櫌鏃堕棿  */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = " 鍑洪櫌鏃堕棿 ", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date endtime;
+
+    /**  鍏ラ櫌绉戝浠g爜  */
+    private String deptcode;
+
+    /**  鍏ラ櫌绉戝鍚嶇О  */
+    private String deptname;
+
+    /**  鎴块棿鍙�  */
+    private String roomno;
+
+    /**  搴婁綅鍙�  */
+    @Excel(name = " 搴婁綅鍙� ")
+    private String bedno;
+
+    /**  鏈烘瀯ID  */
+    @Excel(name = " 鏈烘瀯ID ")
+    private String orgid;
+
+    /**  鍒犻櫎鏍囪  */
+    private String delFlag;
+
+    /**  涓婁紶鏍囪  */
+    private Long isupload;
+
+    /**  涓婁紶鏃堕棿  */
+    private Date uploadTime;
+
+    /**  妗fID  */
+    private Long patid;
+
+    /**  鍑洪櫌璇婃柇  */
+    @Excel(name = " 鍑洪櫌璇婃柇 ")
+    private String leavediagname;
+
+    /**  鍑洪櫌璇婃柇ICD鍊�  */
+    private String leaveicd10code;
+
+    /**  鍖荤敓宸ュ彿  */
+    private String drcode;
+
+    /**  鍖荤敓鍚嶇О  */
+    @Excel(name = " 鍖荤敓鍚嶇О ")
+    private String drname;
+
+    /**  鏄惁鐢熸垚鏂规鐘舵��;0鏈敓鎴� 1鐢熸垚鍏ラ櫌 2鐢熸垚鍑洪櫌 9鏃犲尮閰嶆柟妗�  */
+    private Long schemestatus;
+
+    /**  鏄惁鐢熸垚閫氱敤鏂规鐘舵��;0鏈敓鎴� 1鐢熸垚 9鏃犲尮閰嶆柟妗�  */
+    private Long generalschemestatus;
+
+    /**  鍑洪櫌绉戝浠g爜  */
+    private String leaveldeptcode;
+
+    /**  鍑洪櫌绉戝鍚嶇О  */
+    @Excel(name = " 鍑洪櫌绉戝鍚嶇О ")
+    private String leaveldeptname;
+
+    /**  鐥呭尯ID  */
+    private Long hospitaldistrictid;
+
+    /**  鍑洪櫌鐥呭尯缂栧彿  */
+    private String leavehospitaldistrictcode;
+
+    /**  鍑洪櫌鐥呭尯鍚嶇О  */
+    @Excel(name = " 鍑洪櫌鐥呭尯鍚嶇О ")
+    private String leavehospitaldistrictname;
+
+    /**  鍑洪櫌鐥呭尯ID  */
+    private Long leavehospitaldistrictid;
+
+    /**  鍏ラ櫌绉戝ID  */
+    private Long deptid;
+
+    /**  鍑洪櫌绉戝ID  */
+    private Long leaveldeptid;
+
+    /**  鏂规鐘舵�佹搷浣滄椂闂�  */
+    private Date schemetime;
+
+    public void setInhospid(Long inhospid) 
+    {
+        this.inhospid = inhospid;
+    }
+
+    public Long getInhospid() 
+    {
+        return inhospid;
+    }
+    public void setSerialnum(String serialnum) 
+    {
+        this.serialnum = serialnum;
+    }
+
+    public String getSerialnum() 
+    {
+        return serialnum;
+    }
+    public void setHospitalname(String hospitalname) 
+    {
+        this.hospitalname = hospitalname;
+    }
+
+    public String getHospitalname() 
+    {
+        return hospitalname;
+    }
+    public void setHospitalcode(String hospitalcode) 
+    {
+        this.hospitalcode = hospitalcode;
+    }
+
+    public String getHospitalcode() 
+    {
+        return hospitalcode;
+    }
+    public void setHospitaldistrictcode(String hospitaldistrictcode) 
+    {
+        this.hospitaldistrictcode = hospitaldistrictcode;
+    }
+
+    public String getHospitaldistrictcode() 
+    {
+        return hospitaldistrictcode;
+    }
+    public void setHospitaldistrictname(String hospitaldistrictname) 
+    {
+        this.hospitaldistrictname = hospitaldistrictname;
+    }
+
+    public String getHospitaldistrictname() 
+    {
+        return hospitaldistrictname;
+    }
+    public void setIcd10code(String icd10code) 
+    {
+        this.icd10code = icd10code;
+    }
+
+    public String getIcd10code() 
+    {
+        return icd10code;
+    }
+    public void setDiagname(String diagname) 
+    {
+        this.diagname = diagname;
+    }
+
+    public String getDiagname() 
+    {
+        return diagname;
+    }
+    public void setStarttime(Date starttime) 
+    {
+        this.starttime = starttime;
+    }
+
+    public Date getStarttime() 
+    {
+        return starttime;
+    }
+    public void setEndtime(Date endtime) 
+    {
+        this.endtime = endtime;
+    }
+
+    public Date getEndtime() 
+    {
+        return endtime;
+    }
+    public void setDeptcode(String deptcode) 
+    {
+        this.deptcode = deptcode;
+    }
+
+    public String getDeptcode() 
+    {
+        return deptcode;
+    }
+    public void setDeptname(String deptname) 
+    {
+        this.deptname = deptname;
+    }
+
+    public String getDeptname() 
+    {
+        return deptname;
+    }
+    public void setRoomno(String roomno) 
+    {
+        this.roomno = roomno;
+    }
+
+    public String getRoomno() 
+    {
+        return roomno;
+    }
+    public void setBedno(String bedno) 
+    {
+        this.bedno = bedno;
+    }
+
+    public String getBedno() 
+    {
+        return bedno;
+    }
+    public void setOrgid(String orgid) 
+    {
+        this.orgid = orgid;
+    }
+
+    public String getOrgid() 
+    {
+        return orgid;
+    }
+    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 setPatid(Long patid) 
+    {
+        this.patid = patid;
+    }
+
+    public Long getPatid() 
+    {
+        return patid;
+    }
+    public void setLeavediagname(String leavediagname) 
+    {
+        this.leavediagname = leavediagname;
+    }
+
+    public String getLeavediagname() 
+    {
+        return leavediagname;
+    }
+    public void setLeaveicd10code(String leaveicd10code) 
+    {
+        this.leaveicd10code = leaveicd10code;
+    }
+
+    public String getLeaveicd10code() 
+    {
+        return leaveicd10code;
+    }
+    public void setDrcode(String drcode) 
+    {
+        this.drcode = drcode;
+    }
+
+    public String getDrcode() 
+    {
+        return drcode;
+    }
+    public void setDrname(String drname) 
+    {
+        this.drname = drname;
+    }
+
+    public String getDrname() 
+    {
+        return drname;
+    }
+    public void setSchemestatus(Long schemestatus) 
+    {
+        this.schemestatus = schemestatus;
+    }
+
+    public Long getSchemestatus() 
+    {
+        return schemestatus;
+    }
+    public void setGeneralschemestatus(Long generalschemestatus) 
+    {
+        this.generalschemestatus = generalschemestatus;
+    }
+
+    public Long getGeneralschemestatus() 
+    {
+        return generalschemestatus;
+    }
+    public void setLeaveldeptcode(String leaveldeptcode) 
+    {
+        this.leaveldeptcode = leaveldeptcode;
+    }
+
+    public String getLeaveldeptcode() 
+    {
+        return leaveldeptcode;
+    }
+    public void setLeaveldeptname(String leaveldeptname) 
+    {
+        this.leaveldeptname = leaveldeptname;
+    }
+
+    public String getLeaveldeptname() 
+    {
+        return leaveldeptname;
+    }
+    public void setHospitaldistrictid(Long hospitaldistrictid) 
+    {
+        this.hospitaldistrictid = hospitaldistrictid;
+    }
+
+    public Long getHospitaldistrictid() 
+    {
+        return hospitaldistrictid;
+    }
+    public void setLeavehospitaldistrictcode(String leavehospitaldistrictcode) 
+    {
+        this.leavehospitaldistrictcode = leavehospitaldistrictcode;
+    }
+
+    public String getLeavehospitaldistrictcode() 
+    {
+        return leavehospitaldistrictcode;
+    }
+    public void setLeavehospitaldistrictname(String leavehospitaldistrictname) 
+    {
+        this.leavehospitaldistrictname = leavehospitaldistrictname;
+    }
+
+    public String getLeavehospitaldistrictname() 
+    {
+        return leavehospitaldistrictname;
+    }
+    public void setLeavehospitaldistrictid(Long leavehospitaldistrictid) 
+    {
+        this.leavehospitaldistrictid = leavehospitaldistrictid;
+    }
+
+    public Long getLeavehospitaldistrictid() 
+    {
+        return leavehospitaldistrictid;
+    }
+    public void setDeptid(Long deptid) 
+    {
+        this.deptid = deptid;
+    }
+
+    public Long getDeptid() 
+    {
+        return deptid;
+    }
+    public void setLeaveldeptid(Long leaveldeptid) 
+    {
+        this.leaveldeptid = leaveldeptid;
+    }
+
+    public Long getLeaveldeptid() 
+    {
+        return leaveldeptid;
+    }
+    public void setSchemetime(Date schemetime) 
+    {
+        this.schemetime = schemetime;
+    }
+
+    public Date getSchemetime() 
+    {
+        return 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/PatMedOuthosp.java b/smartor/src/main/java/com/smartor/domain/PatMedOuthosp.java
new file mode 100644
index 0000000..3c916b3
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/domain/PatMedOuthosp.java
@@ -0,0 +1,313 @@
+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;
+
+/**
+ * 鎮h�呴棬璇婅褰曞璞� pat_med_outhosp
+ * 
+ * @author smartor
+ * @date 2023-03-04
+ */
+public class PatMedOuthosp extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /**  鑷ID  */
+    private Long id;
+
+    /**  娴佹按鍙�  */
+    private String serialnum;
+
+    /**  妗fID  */
+    private Long patid;
+
+    /**  鍖婚櫌鍚嶇О  */
+    @Excel(name = " 鍖婚櫌鍚嶇О ")
+    private String hospitalname;
+
+    /**  鍖婚櫌缂栧彿  */
+    private String hospitalcode;
+
+    /**  璇婃柇ICD鍊�  */
+    private String icd10code;
+
+    /**  璇婃柇鍚嶇О  */
+    @Excel(name = " 璇婃柇鍚嶇О ")
+    private String diagname;
+
+    /**  绉戝浠g爜  */
+    private String deptcode;
+
+    /**  绉戝鍚嶇О  */
+    @Excel(name = " 绉戝鍚嶇О ")
+    private String deptname;
+
+    /**  鍖荤敓宸ュ彿  */
+    private String drcode;
+
+    /**  鍖荤敓鍚嶇О  */
+    @Excel(name = " 鍖荤敓鍚嶇О ")
+    private String drname;
+
+    /**  灏辫瘖鏃ユ湡  */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = " 灏辫瘖鏃ユ湡 ", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date admitdate;
+
+    /**  鏈烘瀯ID  */
+    @Excel(name = " 鏈烘瀯ID ")
+    private String orgid;
+
+    /**  鍒犻櫎鏍囪  */
+    private String delFlag;
+
+    /**  涓婁紶鏍囪  */
+    private Long isupload;
+
+    /**  涓婁紶鏃堕棿  */
+    private Date uploadTime;
+
+    /**  鏄惁鐢熸垚鏂规鐘舵��;0鏈敓鎴� 1鐢熸垚灏辫瘖 9鏃犲尮閰嶆柟妗�  */
+    @Excel(name = " 鏄惁鐢熸垚鏂规鐘舵��;0鏈敓鎴� 1鐢熸垚灏辫瘖 9鏃犲尮閰嶆柟妗� ")
+    private Long schemestatus;
+
+    /**  绉戝ID  */
+    private Long deptid;
+
+    /**  鏂规鐘舵�佹搷浣滄椂闂�  */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = " 鏂规鐘舵�佹搷浣滄椂闂� ", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date schemetime;
+
+    /**  鐜扮梾鍙�  */
+    private String hpi;
+
+    /**  涓昏堪  */
+    private String mainsuit;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+    public void setSerialnum(String serialnum) 
+    {
+        this.serialnum = serialnum;
+    }
+
+    public String getSerialnum() 
+    {
+        return serialnum;
+    }
+    public void setPatid(Long patid) 
+    {
+        this.patid = patid;
+    }
+
+    public Long getPatid() 
+    {
+        return patid;
+    }
+    public void setHospitalname(String hospitalname) 
+    {
+        this.hospitalname = hospitalname;
+    }
+
+    public String getHospitalname() 
+    {
+        return hospitalname;
+    }
+    public void setHospitalcode(String hospitalcode) 
+    {
+        this.hospitalcode = hospitalcode;
+    }
+
+    public String getHospitalcode() 
+    {
+        return hospitalcode;
+    }
+    public void setIcd10code(String icd10code) 
+    {
+        this.icd10code = icd10code;
+    }
+
+    public String getIcd10code() 
+    {
+        return icd10code;
+    }
+    public void setDiagname(String diagname) 
+    {
+        this.diagname = diagname;
+    }
+
+    public String getDiagname() 
+    {
+        return diagname;
+    }
+    public void setDeptcode(String deptcode) 
+    {
+        this.deptcode = deptcode;
+    }
+
+    public String getDeptcode() 
+    {
+        return deptcode;
+    }
+    public void setDeptname(String deptname) 
+    {
+        this.deptname = deptname;
+    }
+
+    public String getDeptname() 
+    {
+        return deptname;
+    }
+    public void setDrcode(String drcode) 
+    {
+        this.drcode = drcode;
+    }
+
+    public String getDrcode() 
+    {
+        return drcode;
+    }
+    public void setDrname(String drname) 
+    {
+        this.drname = drname;
+    }
+
+    public String getDrname() 
+    {
+        return drname;
+    }
+    public void setAdmitdate(Date admitdate) 
+    {
+        this.admitdate = admitdate;
+    }
+
+    public Date getAdmitdate() 
+    {
+        return admitdate;
+    }
+    public void setOrgid(String orgid) 
+    {
+        this.orgid = orgid;
+    }
+
+    public String getOrgid() 
+    {
+        return orgid;
+    }
+    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 setSchemestatus(Long schemestatus) 
+    {
+        this.schemestatus = schemestatus;
+    }
+
+    public Long getSchemestatus() 
+    {
+        return schemestatus;
+    }
+    public void setDeptid(Long deptid) 
+    {
+        this.deptid = deptid;
+    }
+
+    public Long getDeptid() 
+    {
+        return deptid;
+    }
+    public void setSchemetime(Date schemetime) 
+    {
+        this.schemetime = schemetime;
+    }
+
+    public Date getSchemetime() 
+    {
+        return schemetime;
+    }
+    public void setHpi(String hpi) 
+    {
+        this.hpi = hpi;
+    }
+
+    public String getHpi() 
+    {
+        return hpi;
+    }
+    public void setMainsuit(String mainsuit) 
+    {
+        this.mainsuit = mainsuit;
+    }
+
+    public String getMainsuit() 
+    {
+        return mainsuit;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("serialnum", getSerialnum())
+            .append("patid", getPatid())
+            .append("hospitalname", getHospitalname())
+            .append("hospitalcode", getHospitalcode())
+            .append("icd10code", getIcd10code())
+            .append("diagname", getDiagname())
+            .append("deptcode", getDeptcode())
+            .append("deptname", getDeptname())
+            .append("drcode", getDrcode())
+            .append("drname", getDrname())
+            .append("admitdate", getAdmitdate())
+            .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("schemestatus", getSchemestatus())
+            .append("deptid", getDeptid())
+            .append("schemetime", getSchemetime())
+            .append("hpi", getHpi())
+            .append("mainsuit", getMainsuit())
+            .toString();
+    }
+}
diff --git a/smartor/src/main/java/com/smartor/domain/PatMedPhysical.java b/smartor/src/main/java/com/smartor/domain/PatMedPhysical.java
new file mode 100644
index 0000000..5989917
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/domain/PatMedPhysical.java
@@ -0,0 +1,324 @@
+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;
+
+/**
+ * 鎮h�呬綋妫�璁板綍瀵硅薄 pat_med_physical
+ * 
+ * @author smartor
+ * @date 2023-03-04
+ */
+public class PatMedPhysical extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /**  鑷ID  */
+    private Long id;
+
+    /**  娴佹按鍙�  */
+    @Excel(name = " 娴佹按鍙� ")
+    private String serialnum;
+
+    /**  妗fID  */
+    private Long patid;
+
+    /**  鎬荤粨鍖荤敓宸ュ彿  */
+    private String drcode;
+
+    /**  鎬荤粨鍖荤敓鍚嶇О  */
+    @Excel(name = " 鎬荤粨鍖荤敓鍚嶇О ")
+    private String drname;
+
+    /**  浣撴鍗曚綅/鍖婚櫌缂栧彿  */
+    private String hospitalcode;
+
+    /**  浣撴鍗曚綅/鍖婚櫌  */
+    @Excel(name = " 浣撴鍗曚綅/鍖婚櫌 ")
+    private String hospitalname;
+
+    /**  浣撴鏃堕棿  */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = " 浣撴鏃堕棿 ", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date physicaldate;
+
+    /**  鏈烘瀯ID  */
+    @Excel(name = " 鏈烘瀯ID ")
+    private String orgid;
+
+    /**  鍒犻櫎鏍囪  */
+    private String delFlag;
+
+    /**  涓婁紶鏍囪  */
+    private Long isupload;
+
+    /**  涓婁紶鏃堕棿  */
+    private Date uploadTime;
+
+    /**  绉戝浠g爜  */
+    private String deptcode;
+
+    /**  绉戝鍚嶇О  */
+    @Excel(name = " 绉戝鍚嶇О ")
+    private String deptname;
+
+    /**  浣撴椤圭洰鍚嶇О  */
+    @Excel(name = " 浣撴椤圭洰鍚嶇О ")
+    private String projectname;
+
+    /**  浣撴椤圭洰缂栫爜  */
+    private String projectcode;
+
+    /**  鐘舵��;0.宸查绾� 1.宸蹭綋妫� 2.鎶ュ憡宸插嚭  */
+    private Long state;
+
+    /**  鏄惁鐢熸垚鏂规鐘舵��;0鏈敓鎴� 1鐢熸垚浣撴鍓� 2鐢熸垚浣撴鍚� 3.鐢熸垚鎶ュ憡宸插嚭  9鏃犲尮閰嶆柟妗�  */
+    private Long schemestatus;
+
+    /**  鏄惁鐢熸垚閫氱敤鏂规鐘舵��;0鏈敓鎴� 1鐢熸垚 9鏃犲尮閰嶆柟妗�  */
+    private Long generalschemestatus;
+
+    /**  绉戝ID  */
+    private Long deptid;
+
+    /**  浣撴濂楅ID  */
+    private Long projectid;
+
+    /**  鏂规鐘舵�佹搷浣滄椂闂�  */
+    private Date schemetime;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+    public void setSerialnum(String serialnum) 
+    {
+        this.serialnum = serialnum;
+    }
+
+    public String getSerialnum() 
+    {
+        return serialnum;
+    }
+    public void setPatid(Long patid) 
+    {
+        this.patid = patid;
+    }
+
+    public Long getPatid() 
+    {
+        return patid;
+    }
+    public void setDrcode(String drcode) 
+    {
+        this.drcode = drcode;
+    }
+
+    public String getDrcode() 
+    {
+        return drcode;
+    }
+    public void setDrname(String drname) 
+    {
+        this.drname = drname;
+    }
+
+    public String getDrname() 
+    {
+        return drname;
+    }
+    public void setHospitalcode(String hospitalcode) 
+    {
+        this.hospitalcode = hospitalcode;
+    }
+
+    public String getHospitalcode() 
+    {
+        return hospitalcode;
+    }
+    public void setHospitalname(String hospitalname) 
+    {
+        this.hospitalname = hospitalname;
+    }
+
+    public String getHospitalname() 
+    {
+        return hospitalname;
+    }
+    public void setPhysicaldate(Date physicaldate) 
+    {
+        this.physicaldate = physicaldate;
+    }
+
+    public Date getPhysicaldate() 
+    {
+        return physicaldate;
+    }
+    public void setOrgid(String orgid) 
+    {
+        this.orgid = orgid;
+    }
+
+    public String getOrgid() 
+    {
+        return orgid;
+    }
+    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 setDeptcode(String deptcode) 
+    {
+        this.deptcode = deptcode;
+    }
+
+    public String getDeptcode() 
+    {
+        return deptcode;
+    }
+    public void setDeptname(String deptname) 
+    {
+        this.deptname = deptname;
+    }
+
+    public String getDeptname() 
+    {
+        return deptname;
+    }
+    public void setProjectname(String projectname) 
+    {
+        this.projectname = projectname;
+    }
+
+    public String getProjectname() 
+    {
+        return projectname;
+    }
+    public void setProjectcode(String projectcode) 
+    {
+        this.projectcode = projectcode;
+    }
+
+    public String getProjectcode() 
+    {
+        return projectcode;
+    }
+    public void setState(Long state) 
+    {
+        this.state = state;
+    }
+
+    public Long getState() 
+    {
+        return state;
+    }
+    public void setSchemestatus(Long schemestatus) 
+    {
+        this.schemestatus = schemestatus;
+    }
+
+    public Long getSchemestatus() 
+    {
+        return schemestatus;
+    }
+    public void setGeneralschemestatus(Long generalschemestatus) 
+    {
+        this.generalschemestatus = generalschemestatus;
+    }
+
+    public Long getGeneralschemestatus() 
+    {
+        return generalschemestatus;
+    }
+    public void setDeptid(Long deptid) 
+    {
+        this.deptid = deptid;
+    }
+
+    public Long getDeptid() 
+    {
+        return deptid;
+    }
+    public void setProjectid(Long projectid) 
+    {
+        this.projectid = projectid;
+    }
+
+    public Long getProjectid() 
+    {
+        return projectid;
+    }
+    public void setSchemetime(Date schemetime) 
+    {
+        this.schemetime = schemetime;
+    }
+
+    public Date getSchemetime() 
+    {
+        return schemetime;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("serialnum", getSerialnum())
+            .append("patid", getPatid())
+            .append("drcode", getDrcode())
+            .append("drname", getDrname())
+            .append("hospitalcode", getHospitalcode())
+            .append("hospitalname", getHospitalname())
+            .append("physicaldate", getPhysicaldate())
+            .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("deptcode", getDeptcode())
+            .append("deptname", getDeptname())
+            .append("projectname", getProjectname())
+            .append("projectcode", getProjectcode())
+            .append("state", getState())
+            .append("schemestatus", getSchemestatus())
+            .append("generalschemestatus", getGeneralschemestatus())
+            .append("deptid", getDeptid())
+            .append("projectid", getProjectid())
+            .append("schemetime", getSchemetime())
+            .toString();
+    }
+}
diff --git a/smartor/src/main/java/com/smartor/domain/SchemeAutofinshrule.java b/smartor/src/main/java/com/smartor/domain/SchemeAutofinshrule.java
new file mode 100644
index 0000000..f674a4a
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/domain/SchemeAutofinshrule.java
@@ -0,0 +1,138 @@
+package com.ruoyi.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;
+
+/**
+ * 鏂规缁撴瑙勫垯瀵硅薄 scheme_autofinshrule
+ * 
+ * @author smartor
+ * @date 2023-03-04
+ */
+public class SchemeAutofinshrule extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /**  鑷ID  */
+    private Long id;
+
+    /**  鏂规ID  */
+    @Excel(name = " 鏂规ID ")
+    private Long schemeid;
+
+    /**  瑙勫垯绫诲瀷;1.鎵�鏈変换鍔″畬鎴愯嚜鍔ㄧ粨妗� 2.鎮h�呯姸鎬� 3.浜掓枼绠$悊鏂规  */
+    @Excel(name = " 瑙勫垯绫诲瀷;1.鎵�鏈変换鍔″畬鎴愯嚜鍔ㄧ粨妗� 2.鎮h�呯姸鎬� 3.浜掓枼绠$悊鏂规 ")
+    private Long ruletype;
+
+    /**  瑙勫垯鐩稿叧鍊�;Type 涓�2鏃� 1.鍦ㄩ櫌 2.绂婚櫌 3.姝讳骸 Type涓�3鏃跺搴旀柟妗圛D 澶氶�夐�楀彿闅斿紑  */
+    @Excel(name = " 瑙勫垯鐩稿叧鍊�;Type 涓�2鏃� 1.鍦ㄩ櫌 2.绂婚櫌 3.姝讳骸 Type涓�3鏃跺搴旀柟妗圛D 澶氶�夐�楀彿闅斿紑 ")
+    private String rulevalue;
+
+    /**  鏈烘瀯ID  */
+    @Excel(name = " 鏈烘瀯ID ")
+    private String orgid;
+
+    /**  鍒犻櫎鏍囪  */
+    private String delFlag;
+
+    /**  涓婁紶鏍囪  */
+    private Long isupload;
+
+    /**  涓婁紶鏃堕棿  */
+    private Date uploadTime;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+    public void setSchemeid(Long schemeid) 
+    {
+        this.schemeid = schemeid;
+    }
+
+    public Long getSchemeid() 
+    {
+        return schemeid;
+    }
+    public void setRuletype(Long ruletype) 
+    {
+        this.ruletype = ruletype;
+    }
+
+    public Long getRuletype() 
+    {
+        return ruletype;
+    }
+    public void setRulevalue(String rulevalue) 
+    {
+        this.rulevalue = rulevalue;
+    }
+
+    public String getRulevalue() 
+    {
+        return rulevalue;
+    }
+    public void setOrgid(String orgid) 
+    {
+        this.orgid = orgid;
+    }
+
+    public String getOrgid() 
+    {
+        return orgid;
+    }
+    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;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("schemeid", getSchemeid())
+            .append("ruletype", getRuletype())
+            .append("rulevalue", getRulevalue())
+            .append("orgid", getOrgid())
+            .append("delFlag", getDelFlag())
+            .append("createBy", getCreateBy())
+            .append("createTime", getCreateTime())
+            .append("updateBy", getUpdateBy())
+            .append("updateTime", getUpdateTime())
+            .append("isupload", getIsupload())
+            .append("uploadTime", getUploadTime())
+            .toString();
+    }
+}
diff --git a/smartor/src/main/java/com/smartor/domain/SchemeCategory.java b/smartor/src/main/java/com/smartor/domain/SchemeCategory.java
new file mode 100644
index 0000000..bff022e
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/domain/SchemeCategory.java
@@ -0,0 +1,124 @@
+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;
+
+/**
+ * 鏂规鍒嗙被瀵硅薄 scheme_category
+ * 
+ * @author smartor
+ * @date 2023-03-04
+ */
+public class SchemeCategory extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /**  鑷ID  */
+    private Long id;
+
+    /**  鍒嗙被鍚嶇О  */
+    @Excel(name = " 鍒嗙被鍚嶇О ")
+    private String categoryname;
+
+    /**  鏈烘瀯ID  */
+    @Excel(name = " 鏈烘瀯ID ")
+    private String orgid;
+
+    /**  鏄惁閫氱敤 0.鍚� 1.鏄�  */
+    @Excel(name = " 鏄惁閫氱敤 0.鍚� 1.鏄� ")
+    private Long iscurrency;
+
+    /**  鍒犻櫎鏍囪  */
+    private String delFlag;
+
+    /**  涓婁紶鏍囪  */
+    private Long isupload;
+
+    /**  涓婁紶鏃堕棿  */
+    private Date uploadTime;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+    public void setCategoryname(String categoryname) 
+    {
+        this.categoryname = categoryname;
+    }
+
+    public String getCategoryname() 
+    {
+        return categoryname;
+    }
+    public void setOrgid(String orgid) 
+    {
+        this.orgid = orgid;
+    }
+
+    public String getOrgid() 
+    {
+        return orgid;
+    }
+    public void setIscurrency(Long iscurrency) 
+    {
+        this.iscurrency = iscurrency;
+    }
+
+    public Long getIscurrency() 
+    {
+        return iscurrency;
+    }
+    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;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("categoryname", getCategoryname())
+            .append("orgid", getOrgid())
+            .append("iscurrency", getIscurrency())
+            .append("delFlag", getDelFlag())
+            .append("createBy", getCreateBy())
+            .append("createTime", getCreateTime())
+            .append("updateBy", getUpdateBy())
+            .append("updateTime", getUpdateTime())
+            .append("isupload", getIsupload())
+            .append("uploadTime", getUploadTime())
+            .toString();
+    }
+}
diff --git a/smartor/src/main/java/com/smartor/domain/SchemeLocallibrary.java b/smartor/src/main/java/com/smartor/domain/SchemeLocallibrary.java
new file mode 100644
index 0000000..2b16395
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/domain/SchemeLocallibrary.java
@@ -0,0 +1,437 @@
+package com.smartor.domain;
+
+import java.math.BigDecimal;
+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;
+
+/**
+ * 鏈嶅姟鏂规搴撳璞� scheme_locallibrary
+ * 
+ * @author smartor
+ * @date 2023-03-04
+ */
+public class SchemeLocallibrary extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /**  鑷ID  */
+    private Long id;
+
+    /**  鏂规鍒嗙被ID  */
+    @Excel(name = " 鏂规鍒嗙被ID ")
+    private Long schemecategoryid;
+
+    /**  鏂规鍚嶇О  */
+    @Excel(name = " 鏂规鍚嶇О ")
+    private String schemename;
+
+    /**  鏂规鎻忚堪  */
+    @Excel(name = " 鏂规鎻忚堪 ")
+    private String description;
+
+    /**  妯℃澘ID  */
+    @Excel(name = " 妯℃澘ID ")
+    private Long templateid;
+
+    /**  鐗堟湰  */
+    @Excel(name = " 鐗堟湰 ")
+    private BigDecimal version;
+
+    /**  鏂规浠g爜  */
+    @Excel(name = " 鏂规浠g爜 ")
+    private String schemecode;
+
+    /**  涓績搴揑D  */
+    @Excel(name = " 涓績搴揑D ")
+    private Long centerlibraryid;
+
+    /**  鎮h�呮潵婧�;1.鍑洪櫌 2.鍦ㄩ櫌 3.闂ㄨ瘖 4.浣撴 5.鏃�  */
+    @Excel(name = " 鎮h�呮潵婧�;1.鍑洪櫌 2.鍦ㄩ櫌 3.闂ㄨ瘖 4.浣撴 5.鏃� ")
+    private Long patientsource;
+
+    /**  鎵�灞炵瀹D;澶氫釜绉戝閫楀彿闅斿紑  */
+    @Excel(name = " 鎵�灞炵瀹D;澶氫釜绉戝閫楀彿闅斿紑 ")
+    private String belongdeptid;
+
+    /**  绉戝瑙勫垯;0.涓嶅寘鍚� 1.鍖呭惈  */
+    @Excel(name = " 绉戝瑙勫垯;0.涓嶅寘鍚� 1.鍖呭惈 ")
+    private Long ruledept;
+
+    /**  鎵�灞炵梾鍖篒D;澶氫釜鐥呭尯閫楀彿闅斿紑  */
+    @Excel(name = " 鎵�灞炵梾鍖篒D;澶氫釜鐥呭尯閫楀彿闅斿紑 ")
+    private String belongwardid;
+
+    /**  鐥呭尯瑙勫垯;0.涓嶅寘鍚� 1.鍖呭惈  */
+    @Excel(name = " 鐥呭尯瑙勫垯;0.涓嶅寘鍚� 1.鍖呭惈 ")
+    private Long ruleward;
+
+    /**  閲嶅澶勭悊;1.鏂拌鍒掕嚜鍔ㄧ粨妗� 2.鍘熻鍒掕嚜鍔ㄧ粨妗�  */
+    @Excel(name = " 閲嶅澶勭悊;1.鏂拌鍒掕嚜鍔ㄧ粨妗� 2.鍘熻鍒掕嚜鍔ㄧ粨妗� ")
+    private Long repeathandle;
+
+    /**  杩囨湡澶勭悊;1.鑷姩鍏抽棴 2.鑷姩鎵ц 3.浜哄伐澶勭悊  */
+    @Excel(name = " 杩囨湡澶勭悊;1.鑷姩鍏抽棴 2.鑷姩鎵ц 3.浜哄伐澶勭悊 ")
+    private Long expirehandle;
+
+    /**  鑷姩缁撴;0.鍚� 1.鏄�  */
+    @Excel(name = " 鑷姩缁撴;0.鍚� 1.鏄� ")
+    private Long autofinsh;
+
+    /**  鍩虹嚎鏃堕棿;1.鍔犲叆鍚� 2.鍑洪櫌鍚� 3.灏辫瘖鍚� 4.鍏ラ櫌鍚� 5.鎵嬫湳鍓� 6.鎵嬫湳鍚� 7.寮�鑽墠 8.妫�楠岀敵璇峰悗 9.妫�楠屽畬鎴愬悗 10.妫�鏌ョ敵璇峰悗 11.妫�鏌ュ畬鎴愬悗 12.浜嬩欢鍙戠敓鍚� 13.鍩虹嚎鏃ユ湡鍚�  */
+    @Excel(name = " 鍩虹嚎鏃堕棿;1.鍔犲叆鍚� 2.鍑洪櫌鍚� 3.灏辫瘖鍚� 4.鍏ラ櫌鍚� 5.鎵嬫湳鍓� 6.鎵嬫湳鍚� 7.寮�鑽墠 8.妫�楠岀敵璇峰悗 9.妫�楠屽畬鎴愬悗 10.妫�鏌ョ敵璇峰悗 11.妫�鏌ュ畬鎴愬悗 12.浜嬩欢鍙戠敓鍚� 13.鍩虹嚎鏃ユ湡鍚� ")
+    private Long baselinetime;
+
+    /**  瑙﹀彂鏉′欢;0.鏃� 1.鏈�  */
+    @Excel(name = " 瑙﹀彂鏉′欢;0.鏃� 1.鏈� ")
+    private Long triggerornot;
+
+    /**  鏄惁鍚敤  */
+    @Excel(name = " 鏄惁鍚敤 ")
+    private Long isenable;
+
+    /**  鏈烘瀯ID  */
+    @Excel(name = " 鏈烘瀯ID ")
+    private String orgid;
+
+    /**  鍒犻櫎鏍囪  */
+    private String delFlag;
+
+    /**  涓婁紶鏍囪  */
+    @Excel(name = " 涓婁紶鏍囪 ")
+    private Long isupload;
+
+    /**  涓婁紶鏃堕棿  */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = " 涓婁紶鏃堕棿 ", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date uploadTime;
+
+    /**  鐘舵��;0鏈紑鍚紝1宸插紑鍚紝2鍏抽棴  */
+    @Excel(name = " 鐘舵��;0鏈紑鍚紝1宸插紑鍚紝2鍏抽棴 ")
+    private Long state;
+
+    /**  寮�鍚汉  */
+    @Excel(name = " 寮�鍚汉 ")
+    private String openBy;
+
+    /**  寮�鍚椂闂�  */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = " 寮�鍚椂闂� ", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date openTime;
+
+    /**  涓績搴撲唬鐮�  */
+    @Excel(name = " 涓績搴撲唬鐮� ")
+    private String centerlibrarycode;
+
+    /**  鏄惁鏈湴  */
+    @Excel(name = " 鏄惁鏈湴 ")
+    private Long islocal;
+
+    /**  鏄惁閫氱敤;0.鍚� 1.鏄�  */
+    @Excel(name = " 鏄惁閫氱敤;0.鍚� 1.鏄� ")
+    private Long iscurrency;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+    public void setSchemecategoryid(Long schemecategoryid) 
+    {
+        this.schemecategoryid = schemecategoryid;
+    }
+
+    public Long getSchemecategoryid() 
+    {
+        return schemecategoryid;
+    }
+    public void setSchemename(String schemename) 
+    {
+        this.schemename = schemename;
+    }
+
+    public String getSchemename() 
+    {
+        return schemename;
+    }
+    public void setDescription(String description) 
+    {
+        this.description = description;
+    }
+
+    public String getDescription() 
+    {
+        return description;
+    }
+    public void setTemplateid(Long templateid) 
+    {
+        this.templateid = templateid;
+    }
+
+    public Long getTemplateid() 
+    {
+        return templateid;
+    }
+    public void setVersion(BigDecimal version) 
+    {
+        this.version = version;
+    }
+
+    public BigDecimal getVersion() 
+    {
+        return version;
+    }
+    public void setSchemecode(String schemecode) 
+    {
+        this.schemecode = schemecode;
+    }
+
+    public String getSchemecode() 
+    {
+        return schemecode;
+    }
+    public void setCenterlibraryid(Long centerlibraryid) 
+    {
+        this.centerlibraryid = centerlibraryid;
+    }
+
+    public Long getCenterlibraryid() 
+    {
+        return centerlibraryid;
+    }
+    public void setPatientsource(Long patientsource) 
+    {
+        this.patientsource = patientsource;
+    }
+
+    public Long getPatientsource() 
+    {
+        return patientsource;
+    }
+    public void setBelongdeptid(String belongdeptid) 
+    {
+        this.belongdeptid = belongdeptid;
+    }
+
+    public String getBelongdeptid() 
+    {
+        return belongdeptid;
+    }
+    public void setRuledept(Long ruledept) 
+    {
+        this.ruledept = ruledept;
+    }
+
+    public Long getRuledept() 
+    {
+        return ruledept;
+    }
+    public void setBelongwardid(String belongwardid) 
+    {
+        this.belongwardid = belongwardid;
+    }
+
+    public String getBelongwardid() 
+    {
+        return belongwardid;
+    }
+    public void setRuleward(Long ruleward) 
+    {
+        this.ruleward = ruleward;
+    }
+
+    public Long getRuleward() 
+    {
+        return ruleward;
+    }
+    public void setRepeathandle(Long repeathandle) 
+    {
+        this.repeathandle = repeathandle;
+    }
+
+    public Long getRepeathandle() 
+    {
+        return repeathandle;
+    }
+    public void setExpirehandle(Long expirehandle) 
+    {
+        this.expirehandle = expirehandle;
+    }
+
+    public Long getExpirehandle() 
+    {
+        return expirehandle;
+    }
+    public void setAutofinsh(Long autofinsh) 
+    {
+        this.autofinsh = autofinsh;
+    }
+
+    public Long getAutofinsh() 
+    {
+        return autofinsh;
+    }
+    public void setBaselinetime(Long baselinetime) 
+    {
+        this.baselinetime = baselinetime;
+    }
+
+    public Long getBaselinetime() 
+    {
+        return baselinetime;
+    }
+    public void setTriggerornot(Long triggerornot) 
+    {
+        this.triggerornot = triggerornot;
+    }
+
+    public Long getTriggerornot() 
+    {
+        return triggerornot;
+    }
+    public void setIsenable(Long isenable) 
+    {
+        this.isenable = isenable;
+    }
+
+    public Long getIsenable() 
+    {
+        return isenable;
+    }
+    public void setOrgid(String orgid) 
+    {
+        this.orgid = orgid;
+    }
+
+    public String getOrgid() 
+    {
+        return orgid;
+    }
+    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 setState(Long state) 
+    {
+        this.state = state;
+    }
+
+    public Long getState() 
+    {
+        return state;
+    }
+    public void setOpenBy(String openBy) 
+    {
+        this.openBy = openBy;
+    }
+
+    public String getOpenBy() 
+    {
+        return openBy;
+    }
+    public void setOpenTime(Date openTime) 
+    {
+        this.openTime = openTime;
+    }
+
+    public Date getOpenTime() 
+    {
+        return openTime;
+    }
+    public void setCenterlibrarycode(String centerlibrarycode) 
+    {
+        this.centerlibrarycode = centerlibrarycode;
+    }
+
+    public String getCenterlibrarycode() 
+    {
+        return centerlibrarycode;
+    }
+    public void setIslocal(Long islocal) 
+    {
+        this.islocal = islocal;
+    }
+
+    public Long getIslocal() 
+    {
+        return islocal;
+    }
+    public void setIscurrency(Long iscurrency) 
+    {
+        this.iscurrency = iscurrency;
+    }
+
+    public Long getIscurrency() 
+    {
+        return iscurrency;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("schemecategoryid", getSchemecategoryid())
+            .append("schemename", getSchemename())
+            .append("description", getDescription())
+            .append("templateid", getTemplateid())
+            .append("version", getVersion())
+            .append("schemecode", getSchemecode())
+            .append("centerlibraryid", getCenterlibraryid())
+            .append("patientsource", getPatientsource())
+            .append("belongdeptid", getBelongdeptid())
+            .append("ruledept", getRuledept())
+            .append("belongwardid", getBelongwardid())
+            .append("ruleward", getRuleward())
+            .append("repeathandle", getRepeathandle())
+            .append("expirehandle", getExpirehandle())
+            .append("autofinsh", getAutofinsh())
+            .append("baselinetime", getBaselinetime())
+            .append("triggerornot", getTriggerornot())
+            .append("isenable", getIsenable())
+            .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("state", getState())
+            .append("openBy", getOpenBy())
+            .append("openTime", getOpenTime())
+            .append("centerlibrarycode", getCenterlibrarycode())
+            .append("islocal", getIslocal())
+            .append("iscurrency", getIscurrency())
+            .toString();
+    }
+}
diff --git a/smartor/src/main/java/com/smartor/domain/SchemePlan.java b/smartor/src/main/java/com/smartor/domain/SchemePlan.java
new file mode 100644
index 0000000..6431528
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/domain/SchemePlan.java
@@ -0,0 +1,297 @@
+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;
+
+/**
+ * 绠$悊璁″垝瀵硅薄 scheme_plan
+ * 
+ * @author smartor
+ * @date 2023-03-04
+ */
+public class SchemePlan extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /**  鑷ID  */
+    private Long id;
+
+    /**  鏂规ID  */
+    @Excel(name = " 鏂规ID ")
+    private Long schemeid;
+
+    /**  鏂规浠g爜  */
+    @Excel(name = " 鏂规浠g爜 ")
+    private String schemecode;
+
+    /**  鎮h�匢D  */
+    @Excel(name = " 鎮h�匢D ")
+    private Long patientid;
+
+    /**  瀵瑰簲璁板綍娴佹按鍙�  */
+    @Excel(name = " 瀵瑰簲璁板綍娴佹按鍙� ")
+    private String serialnum;
+
+    /**  灏辫瘖ID  */
+    @Excel(name = " 灏辫瘖ID ")
+    private Long visitid;
+
+    /**  灏辫瘖绫诲瀷  */
+    @Excel(name = " 灏辫瘖绫诲瀷 ")
+    private Long visittype;
+
+    /**  鐘舵��;0.寰呭紑濮� 1.杩涜涓� 9.宸茬粨妗�  */
+    @Excel(name = " 鐘舵��;0.寰呭紑濮� 1.杩涜涓� 9.宸茬粨妗� ")
+    private Long state;
+
+    /**  缁撴鏃堕棿  */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = " 缁撴鏃堕棿 ", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date finshtime;
+
+    /**  鏉ユ簮绫诲瀷;1.鑷姩鐢熸垚 2.鎵嬪姩鍖归厤 3.鎵嬪姩娣诲姞 3.鎵归噺瀵煎叆  */
+    @Excel(name = " 鏉ユ簮绫诲瀷;1.鑷姩鐢熸垚 2.鎵嬪姩鍖归厤 3.鎵嬪姩娣诲姞 3.鎵归噺瀵煎叆 ")
+    private Long sourcetype;
+
+    /**  鎮h�呮潵婧�;0.鍏ㄩ櫌(閫氱敤) 1.鍑洪櫌 2.鍦ㄩ櫌 3.闂ㄨ瘖 4.浣撴 5.鏃�  */
+    @Excel(name = " 鎮h�呮潵婧�;0.鍏ㄩ櫌(閫氱敤) 1.鍑洪櫌 2.鍦ㄩ櫌 3.闂ㄨ瘖 4.浣撴 5.鏃� ")
+    private Long patientsource;
+
+    /**  缁撴绫诲瀷  */
+    @Excel(name = " 缁撴绫诲瀷 ")
+    private Long finshtype;
+
+    /**  缁撴璇存槑  */
+    @Excel(name = " 缁撴璇存槑 ")
+    private String finshdesc;
+
+    /**  鍩虹嚎鏃堕棿  */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = " 鍩虹嚎鏃堕棿 ", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date basetime;
+
+    /**  鏈烘瀯ID  */
+    @Excel(name = " 鏈烘瀯ID ")
+    private String orgid;
+
+    /**  鍏宠仈琛↖D  */
+    @Excel(name = " 鍏宠仈琛↖D ")
+    private Long relationid;
+
+    /**  鍒犻櫎鏍囪  */
+    private String delFlag;
+
+    /**  涓婁紶鏍囪  */
+    @Excel(name = " 涓婁紶鏍囪 ")
+    private Long isupload;
+
+    /**  涓婁紶鏃堕棿  */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = " 涓婁紶鏃堕棿 ", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date uploadTime;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+    public void setSchemeid(Long schemeid) 
+    {
+        this.schemeid = schemeid;
+    }
+
+    public Long getSchemeid() 
+    {
+        return schemeid;
+    }
+    public void setSchemecode(String schemecode) 
+    {
+        this.schemecode = schemecode;
+    }
+
+    public String getSchemecode() 
+    {
+        return schemecode;
+    }
+    public void setPatientid(Long patientid) 
+    {
+        this.patientid = patientid;
+    }
+
+    public Long getPatientid() 
+    {
+        return patientid;
+    }
+    public void setSerialnum(String serialnum) 
+    {
+        this.serialnum = serialnum;
+    }
+
+    public String getSerialnum() 
+    {
+        return serialnum;
+    }
+    public void setVisitid(Long visitid) 
+    {
+        this.visitid = visitid;
+    }
+
+    public Long getVisitid() 
+    {
+        return visitid;
+    }
+    public void setVisittype(Long visittype) 
+    {
+        this.visittype = visittype;
+    }
+
+    public Long getVisittype() 
+    {
+        return visittype;
+    }
+    public void setState(Long state) 
+    {
+        this.state = state;
+    }
+
+    public Long getState() 
+    {
+        return state;
+    }
+    public void setFinshtime(Date finshtime) 
+    {
+        this.finshtime = finshtime;
+    }
+
+    public Date getFinshtime() 
+    {
+        return finshtime;
+    }
+    public void setSourcetype(Long sourcetype) 
+    {
+        this.sourcetype = sourcetype;
+    }
+
+    public Long getSourcetype() 
+    {
+        return sourcetype;
+    }
+    public void setPatientsource(Long patientsource) 
+    {
+        this.patientsource = patientsource;
+    }
+
+    public Long getPatientsource() 
+    {
+        return patientsource;
+    }
+    public void setFinshtype(Long finshtype) 
+    {
+        this.finshtype = finshtype;
+    }
+
+    public Long getFinshtype() 
+    {
+        return finshtype;
+    }
+    public void setFinshdesc(String finshdesc) 
+    {
+        this.finshdesc = finshdesc;
+    }
+
+    public String getFinshdesc() 
+    {
+        return finshdesc;
+    }
+    public void setBasetime(Date basetime) 
+    {
+        this.basetime = basetime;
+    }
+
+    public Date getBasetime() 
+    {
+        return basetime;
+    }
+    public void setOrgid(String orgid) 
+    {
+        this.orgid = orgid;
+    }
+
+    public String getOrgid() 
+    {
+        return orgid;
+    }
+    public void setRelationid(Long relationid) 
+    {
+        this.relationid = relationid;
+    }
+
+    public Long getRelationid() 
+    {
+        return relationid;
+    }
+    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;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("schemeid", getSchemeid())
+            .append("schemecode", getSchemecode())
+            .append("patientid", getPatientid())
+            .append("serialnum", getSerialnum())
+            .append("visitid", getVisitid())
+            .append("visittype", getVisittype())
+            .append("state", getState())
+            .append("finshtime", getFinshtime())
+            .append("sourcetype", getSourcetype())
+            .append("patientsource", getPatientsource())
+            .append("finshtype", getFinshtype())
+            .append("finshdesc", getFinshdesc())
+            .append("basetime", getBasetime())
+            .append("orgid", getOrgid())
+            .append("relationid", getRelationid())
+            .append("delFlag", getDelFlag())
+            .append("createBy", getCreateBy())
+            .append("createTime", getCreateTime())
+            .append("updateBy", getUpdateBy())
+            .append("updateTime", getUpdateTime())
+            .append("isupload", getIsupload())
+            .append("uploadTime", getUploadTime())
+            .toString();
+    }
+}
diff --git a/smartor/src/main/java/com/smartor/domain/SchemeTask.java b/smartor/src/main/java/com/smartor/domain/SchemeTask.java
new file mode 100644
index 0000000..59035d9
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/domain/SchemeTask.java
@@ -0,0 +1,641 @@
+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;
+
+/**
+ * 鏂规浠诲姟瀵硅薄 scheme_task
+ * 
+ * @author smartor
+ * @date 2023-03-04
+ */
+public class SchemeTask extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /**  鑷ID  */
+    private Long id;
+
+    /**  鏂规ID  */
+    @Excel(name = " 鏂规ID ")
+    private Long schemeid;
+
+    /**  璁″垝ID  */
+    @Excel(name = " 璁″垝ID ")
+    private Long schemeplanid;
+
+    /**  鎮h�匢D  */
+    @Excel(name = " 鎮h�匢D ")
+    private Long patientid;
+
+    /**  鐘舵��;0.寰呭紑濮� 1.杩涜涓� 2.宸插畬鎴� 3.澶辫 9.宸插叧闂�  */
+    @Excel(name = " 鐘舵��;0.寰呭紑濮� 1.杩涜涓� 2.宸插畬鎴� 3.澶辫 9.宸插叧闂� ")
+    private Long state;
+
+    /**  鍩虹嚎鏃堕棿  */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = " 鍩虹嚎鏃堕棿 ", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date baselinetime;
+
+    /**  璁″垝鎵ц鏃堕棿  */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = " 璁″垝鎵ц鏃堕棿 ", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date plantime;
+
+    /**  瀹為檯瀹屾垚鏃堕棿  */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = " 瀹為檯瀹屾垚鏃堕棿 ", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date actualtime;
+
+    /**  閫炬湡鏃堕棿  */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = " 閫炬湡鏃堕棿 ", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date overtime;
+
+    /**  鏈烘瀯ID  */
+    @Excel(name = " 鏈烘瀯ID ")
+    private String orgid;
+
+    /**  鍒犻櫎鏍囪  */
+    private String delFlag;
+
+    /**  涓婁紶鏍囪  */
+    @Excel(name = " 涓婁紶鏍囪 ")
+    private Long isupload;
+
+    /**  涓婁紶鏃堕棿  */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = " 涓婁紶鏃堕棿 ", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date uploadTime;
+
+    /**  鎮h�呮潵婧�;0.鍏ㄩ櫌(閫氱敤) 1.鍑洪櫌 2.鍦ㄩ櫌 3.闂ㄨ瘖 4.浣撴 5.鏃�  */
+    @Excel(name = " 鎮h�呮潵婧�;0.鍏ㄩ櫌(閫氱敤) 1.鍑洪櫌 2.鍦ㄩ櫌 3.闂ㄨ瘖 4.浣撴 5.鏃� ")
+    private Long patientsource;
+
+    /**  閰嶇疆ID  */
+    @Excel(name = " 閰嶇疆ID ")
+    private String taskconfigid;
+
+    /**  鍏宠仈缂栧彿 绉戝&椤圭洰&闂嵎&瀹f暀  */
+    @Excel(name = " 鍏宠仈缂栧彿 绉戝&椤圭洰&闂嵎&瀹f暀 ")
+    private Long relationid;
+
+    /**  鍏宠仈鍚嶇О  */
+    @Excel(name = " 鍏宠仈鍚嶇О ")
+    private String relationname;
+
+    /**  浠嬬粛&鎻愰啋鍐呭  */
+    @Excel(name = " 浠嬬粛&鎻愰啋鍐呭 ")
+    private String content;
+
+    /**  鎻愮ず鍐呭  */
+    @Excel(name = " 鎻愮ず鍐呭 ")
+    private String tipscontent;
+
+    /**  浠诲姟绫诲瀷  */
+    @Excel(name = " 浠诲姟绫诲瀷 ")
+    private Long tasktype;
+
+    /**  鍏抽棴鏃堕棿  */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = " 鍏抽棴鏃堕棿 ", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date finshtime;
+
+    /**  鍏抽棴绫诲瀷;0.鑷姩鍏抽棴 1.浠诲姟閲嶅 2.鎮h�呮浜� 3.鎮h�呮嫆缁濈鐞� 4.鎮h�呴厤鍚堝害涓嶅 5.鎮h�呬綇闄� 6.鍏朵粬  */
+    @Excel(name = " 鍏抽棴绫诲瀷;0.鑷姩鍏抽棴 1.浠诲姟閲嶅 2.鎮h�呮浜� 3.鎮h�呮嫆缁濈鐞� 4.鎮h�呴厤鍚堝害涓嶅 5.鎮h�呬綇闄� 6.鍏朵粬 ")
+    private Long finshtype;
+
+    /**  鍏抽棴璇存槑  */
+    @Excel(name = " 鍏抽棴璇存槑 ")
+    private String finshdesc;
+
+    /**  鏈夋晥鏈�  */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = " 鏈夋晥鏈� ", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date termvaliditytime;
+
+    /**  鏄惁鐢熸垚鏂规;0鏈敓鎴� 1鐢熸垚 9鏃犲尮閰嶆柟妗�  */
+    @Excel(name = " 鏄惁鐢熸垚鏂规;0鏈敓鎴� 1鐢熸垚 9鏃犲尮閰嶆柟妗� ")
+    private Long schemestatus;
+
+    /**  灏辫瘖ID  */
+    @Excel(name = " 灏辫瘖ID ")
+    private Long visitid;
+
+    /**  灏辫瘖绫诲瀷  */
+    @Excel(name = " 灏辫瘖绫诲瀷 ")
+    private Long visittype;
+
+    /**  浠诲姟鏉ユ簮;0.鑷姩鍒涘缓 1.鎵嬪姩鍒涘缓  */
+    @Excel(name = " 浠诲姟鏉ユ簮;0.鑷姩鍒涘缓 1.鎵嬪姩鍒涘缓 ")
+    private Long tasksource;
+
+    /**  鍏宠仈椤圭洰绫诲瀷;1.妫�鏌� 2.妫�楠�  */
+    @Excel(name = " 鍏宠仈椤圭洰绫诲瀷;1.妫�鏌� 2.妫�楠� ")
+    private Long relationtype;
+
+    /**  鏄惁浜哄伐澶勭悊;1鏄� 0鍚�  */
+    @Excel(name = " 鏄惁浜哄伐澶勭悊;1鏄� 0鍚� ")
+    private Long isartificial;
+
+    /**  灏嗛�炬湡鏃堕棿  */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = " 灏嗛�炬湡鏃堕棿 ", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date overduetipstime;
+
+    /**  鏄惁寮傚父璺熻繘浠诲姟;1鏄� 0鍚�  */
+    @Excel(name = " 鏄惁寮傚父璺熻繘浠诲姟;1鏄� 0鍚� ")
+    private Long isabnormal;
+
+    /**  宸茬粡浜哄伐澶勭悊鏍囧織;1宸茬粡浜哄伐澶勭悊杩�  0杩樻湭杩涜浜哄伐澶勭悊  */
+    @Excel(name = " 宸茬粡浜哄伐澶勭悊鏍囧織;1宸茬粡浜哄伐澶勭悊杩�  0杩樻湭杩涜浜哄伐澶勭悊 ")
+    private Long artificialtag;
+
+    /**  鍏宠仈浠g爜 闂嵎&瀹f暀  */
+    @Excel(name = " 鍏宠仈浠g爜 闂嵎&瀹f暀 ")
+    private String relationcode;
+
+    /**  鏂规浠g爜  */
+    @Excel(name = " 鏂规浠g爜 ")
+    private String schemecode;
+
+    /**  鏈�鍚庝竴娆¤鍒掓墽琛屾椂闂�  */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = " 鏈�鍚庝竴娆¤鍒掓墽琛屾椂闂� ", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date lastplantime;
+
+    /**  鏄惁涓烘祴璇曚换鍔�;0.鍚� 1.鏄�  */
+    @Excel(name = " 鏄惁涓烘祴璇曚换鍔�;0.鍚� 1.鏄� ")
+    private Long istest;
+
+    /**  绗竴娆¤鍒掓墽琛屾椂闂�  */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = " 绗竴娆¤鍒掓墽琛屾椂闂� ", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date firstplantime;
+
+    /**  閲嶅彂娆℃暟;Null琛ㄧず鏃犻渶閲嶅彂 0琛ㄧず闇�瑕侀噸鍙� 鏁板瓧琛ㄧず宸茬粡閲嶅彂浜嗗嚑娆�  */
+    @Excel(name = " 閲嶅彂娆℃暟;Null琛ㄧず鏃犻渶閲嶅彂 0琛ㄧず闇�瑕侀噸鍙� 鏁板瓧琛ㄧず宸茬粡閲嶅彂浜嗗嚑娆� ")
+    private Long repeatsecond;
+
+    /**  鏄惁瀛樺湪閲嶅彂鏍囪  */
+    @Excel(name = " 鏄惁瀛樺湪閲嶅彂鏍囪 ")
+    private Long isrepeat;
+
+    /**  鎵嬪姩鎵ц鏍囪  */
+    @Excel(name = " 鎵嬪姩鎵ц鏍囪 ")
+    private Long ismanual;
+
+    /**  澶辫鏃堕棿  */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = " 澶辫鏃堕棿 ", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date losstime;
+
+    /**   */
+    @Excel(name = " ")
+    private String relationlistid;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+    public void setSchemeid(Long schemeid) 
+    {
+        this.schemeid = schemeid;
+    }
+
+    public Long getSchemeid() 
+    {
+        return schemeid;
+    }
+    public void setSchemeplanid(Long schemeplanid) 
+    {
+        this.schemeplanid = schemeplanid;
+    }
+
+    public Long getSchemeplanid() 
+    {
+        return schemeplanid;
+    }
+    public void setPatientid(Long patientid) 
+    {
+        this.patientid = patientid;
+    }
+
+    public Long getPatientid() 
+    {
+        return patientid;
+    }
+    public void setState(Long state) 
+    {
+        this.state = state;
+    }
+
+    public Long getState() 
+    {
+        return state;
+    }
+    public void setBaselinetime(Date baselinetime) 
+    {
+        this.baselinetime = baselinetime;
+    }
+
+    public Date getBaselinetime() 
+    {
+        return baselinetime;
+    }
+    public void setPlantime(Date plantime) 
+    {
+        this.plantime = plantime;
+    }
+
+    public Date getPlantime() 
+    {
+        return plantime;
+    }
+    public void setActualtime(Date actualtime) 
+    {
+        this.actualtime = actualtime;
+    }
+
+    public Date getActualtime() 
+    {
+        return actualtime;
+    }
+    public void setOvertime(Date overtime) 
+    {
+        this.overtime = overtime;
+    }
+
+    public Date getOvertime() 
+    {
+        return overtime;
+    }
+    public void setOrgid(String orgid) 
+    {
+        this.orgid = orgid;
+    }
+
+    public String getOrgid() 
+    {
+        return orgid;
+    }
+    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 setPatientsource(Long patientsource) 
+    {
+        this.patientsource = patientsource;
+    }
+
+    public Long getPatientsource() 
+    {
+        return patientsource;
+    }
+    public void setTaskconfigid(String taskconfigid) 
+    {
+        this.taskconfigid = taskconfigid;
+    }
+
+    public String getTaskconfigid() 
+    {
+        return taskconfigid;
+    }
+    public void setRelationid(Long relationid) 
+    {
+        this.relationid = relationid;
+    }
+
+    public Long getRelationid() 
+    {
+        return relationid;
+    }
+    public void setRelationname(String relationname) 
+    {
+        this.relationname = relationname;
+    }
+
+    public String getRelationname() 
+    {
+        return relationname;
+    }
+    public void setContent(String content) 
+    {
+        this.content = content;
+    }
+
+    public String getContent() 
+    {
+        return content;
+    }
+    public void setTipscontent(String tipscontent) 
+    {
+        this.tipscontent = tipscontent;
+    }
+
+    public String getTipscontent() 
+    {
+        return tipscontent;
+    }
+    public void setTasktype(Long tasktype) 
+    {
+        this.tasktype = tasktype;
+    }
+
+    public Long getTasktype() 
+    {
+        return tasktype;
+    }
+    public void setFinshtime(Date finshtime) 
+    {
+        this.finshtime = finshtime;
+    }
+
+    public Date getFinshtime() 
+    {
+        return finshtime;
+    }
+    public void setFinshtype(Long finshtype) 
+    {
+        this.finshtype = finshtype;
+    }
+
+    public Long getFinshtype() 
+    {
+        return finshtype;
+    }
+    public void setFinshdesc(String finshdesc) 
+    {
+        this.finshdesc = finshdesc;
+    }
+
+    public String getFinshdesc() 
+    {
+        return finshdesc;
+    }
+    public void setTermvaliditytime(Date termvaliditytime) 
+    {
+        this.termvaliditytime = termvaliditytime;
+    }
+
+    public Date getTermvaliditytime() 
+    {
+        return termvaliditytime;
+    }
+    public void setSchemestatus(Long schemestatus) 
+    {
+        this.schemestatus = schemestatus;
+    }
+
+    public Long getSchemestatus() 
+    {
+        return schemestatus;
+    }
+    public void setVisitid(Long visitid) 
+    {
+        this.visitid = visitid;
+    }
+
+    public Long getVisitid() 
+    {
+        return visitid;
+    }
+    public void setVisittype(Long visittype) 
+    {
+        this.visittype = visittype;
+    }
+
+    public Long getVisittype() 
+    {
+        return visittype;
+    }
+    public void setTasksource(Long tasksource) 
+    {
+        this.tasksource = tasksource;
+    }
+
+    public Long getTasksource() 
+    {
+        return tasksource;
+    }
+    public void setRelationtype(Long relationtype) 
+    {
+        this.relationtype = relationtype;
+    }
+
+    public Long getRelationtype() 
+    {
+        return relationtype;
+    }
+    public void setIsartificial(Long isartificial) 
+    {
+        this.isartificial = isartificial;
+    }
+
+    public Long getIsartificial() 
+    {
+        return isartificial;
+    }
+    public void setOverduetipstime(Date overduetipstime) 
+    {
+        this.overduetipstime = overduetipstime;
+    }
+
+    public Date getOverduetipstime() 
+    {
+        return overduetipstime;
+    }
+    public void setIsabnormal(Long isabnormal) 
+    {
+        this.isabnormal = isabnormal;
+    }
+
+    public Long getIsabnormal() 
+    {
+        return isabnormal;
+    }
+    public void setArtificialtag(Long artificialtag) 
+    {
+        this.artificialtag = artificialtag;
+    }
+
+    public Long getArtificialtag() 
+    {
+        return artificialtag;
+    }
+    public void setRelationcode(String relationcode) 
+    {
+        this.relationcode = relationcode;
+    }
+
+    public String getRelationcode() 
+    {
+        return relationcode;
+    }
+    public void setSchemecode(String schemecode) 
+    {
+        this.schemecode = schemecode;
+    }
+
+    public String getSchemecode() 
+    {
+        return schemecode;
+    }
+    public void setLastplantime(Date lastplantime) 
+    {
+        this.lastplantime = lastplantime;
+    }
+
+    public Date getLastplantime() 
+    {
+        return lastplantime;
+    }
+    public void setIstest(Long istest) 
+    {
+        this.istest = istest;
+    }
+
+    public Long getIstest() 
+    {
+        return istest;
+    }
+    public void setFirstplantime(Date firstplantime) 
+    {
+        this.firstplantime = firstplantime;
+    }
+
+    public Date getFirstplantime() 
+    {
+        return firstplantime;
+    }
+    public void setRepeatsecond(Long repeatsecond) 
+    {
+        this.repeatsecond = repeatsecond;
+    }
+
+    public Long getRepeatsecond() 
+    {
+        return repeatsecond;
+    }
+    public void setIsrepeat(Long isrepeat) 
+    {
+        this.isrepeat = isrepeat;
+    }
+
+    public Long getIsrepeat() 
+    {
+        return isrepeat;
+    }
+    public void setIsmanual(Long ismanual) 
+    {
+        this.ismanual = ismanual;
+    }
+
+    public Long getIsmanual() 
+    {
+        return ismanual;
+    }
+    public void setLosstime(Date losstime) 
+    {
+        this.losstime = losstime;
+    }
+
+    public Date getLosstime() 
+    {
+        return losstime;
+    }
+    public void setRelationlistid(String relationlistid) 
+    {
+        this.relationlistid = relationlistid;
+    }
+
+    public String getRelationlistid() 
+    {
+        return relationlistid;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("schemeid", getSchemeid())
+            .append("schemeplanid", getSchemeplanid())
+            .append("patientid", getPatientid())
+            .append("state", getState())
+            .append("baselinetime", getBaselinetime())
+            .append("plantime", getPlantime())
+            .append("actualtime", getActualtime())
+            .append("overtime", getOvertime())
+            .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("patientsource", getPatientsource())
+            .append("taskconfigid", getTaskconfigid())
+            .append("relationid", getRelationid())
+            .append("relationname", getRelationname())
+            .append("content", getContent())
+            .append("tipscontent", getTipscontent())
+            .append("tasktype", getTasktype())
+            .append("finshtime", getFinshtime())
+            .append("finshtype", getFinshtype())
+            .append("finshdesc", getFinshdesc())
+            .append("termvaliditytime", getTermvaliditytime())
+            .append("schemestatus", getSchemestatus())
+            .append("visitid", getVisitid())
+            .append("visittype", getVisittype())
+            .append("tasksource", getTasksource())
+            .append("relationtype", getRelationtype())
+            .append("isartificial", getIsartificial())
+            .append("overduetipstime", getOverduetipstime())
+            .append("isabnormal", getIsabnormal())
+            .append("artificialtag", getArtificialtag())
+            .append("relationcode", getRelationcode())
+            .append("schemecode", getSchemecode())
+            .append("lastplantime", getLastplantime())
+            .append("istest", getIstest())
+            .append("firstplantime", getFirstplantime())
+            .append("repeatsecond", getRepeatsecond())
+            .append("isrepeat", getIsrepeat())
+            .append("ismanual", getIsmanual())
+            .append("losstime", getLosstime())
+            .append("relationlistid", getRelationlistid())
+            .toString();
+    }
+}
diff --git a/smartor/src/main/java/com/smartor/domain/SchemeTaskconfig.java b/smartor/src/main/java/com/smartor/domain/SchemeTaskconfig.java
new file mode 100644
index 0000000..61146d4
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/domain/SchemeTaskconfig.java
@@ -0,0 +1,659 @@
+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;
+
+/**
+ * 鏂规浠诲姟閰嶇疆瀵硅薄 scheme_taskconfig
+ * 
+ * @author smartor
+ * @date 2023-03-04
+ */
+public class SchemeTaskconfig extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /**  鑷ID  */
+    private Long id;
+
+    /**  鏂规ID  */
+    @Excel(name = " 鏂规ID ")
+    private Long schemeid;
+
+    /**  瑙﹀彂鍦烘櫙ID  */
+    @Excel(name = " 瑙﹀彂鍦烘櫙ID ")
+    private Long triggersceneid;
+
+    /**  瑙﹀彂瑙勫垯ID  */
+    @Excel(name = " 瑙﹀彂瑙勫垯ID ")
+    private Long triggerruleid;
+
+    /**  浠诲姟绫诲瀷;1.闅忚浠诲姟 2.瀹f暀浠诲姟 3. 鎻愰啋浠诲姟 4. 澶嶈瘖绠$悊浠诲姟 5. 澶嶆煡绠$悊浠诲姟 6.鍏朵粬浠诲姟  */
+    @Excel(name = " 浠诲姟绫诲瀷;1.闅忚浠诲姟 2.瀹f暀浠诲姟 3. 鎻愰啋浠诲姟 4. 澶嶈瘖绠$悊浠诲姟 5. 澶嶆煡绠$悊浠诲姟 6.鍏朵粬浠诲姟 ")
+    private Long tasktype;
+
+    /**  鏄惁鍛ㄦ湡浠诲姟;0.鍚� 1.鏄�  */
+    @Excel(name = " 鏄惁鍛ㄦ湡浠诲姟;0.鍚� 1.鏄� ")
+    private Long iscycle;
+
+    /**  璁″垝鎵ц鏃堕棿鏁板��  */
+    @Excel(name = " 璁″垝鎵ц鏃堕棿鏁板�� ")
+    private Long planexecutevalue;
+
+    /**  璁″垝鎵ц鏃堕棿鍗曚綅;1.澶� 2.鍛� 3.鏈� 4.骞�  */
+    @Excel(name = " 璁″垝鎵ц鏃堕棿鍗曚綅;1.澶� 2.鍛� 3.鏈� 4.骞� ")
+    private Long planexecuteunit;
+
+    /**  璁″垝鎵ц鍏蜂綋鏃堕棿  */
+    @Excel(name = " 璁″垝鎵ц鍏蜂綋鏃堕棿 ")
+    private String planexecutetime;
+
+    /**  璁″垝鎵ц绫诲瀷;1.褰撳ぉ鎵ц 2.绗簩澶╂寜鎸囧畾鏃堕棿鎵ц 3.璁″垝鏃堕棿鏃╀簬鎸囧畾鏃堕棿涓嶆墽琛�  */
+    @Excel(name = " 璁″垝鎵ц绫诲瀷;1.褰撳ぉ鎵ц 2.绗簩澶╂寜鎸囧畾鏃堕棿鎵ц 3.璁″垝鏃堕棿鏃╀簬鎸囧畾鏃堕棿涓嶆墽琛� ")
+    private Long planexecutetype;
+
+    /**  璁″垝鎵ц鏄惁瀹炴椂;0.瀹氭椂 1.瀹炴椂  */
+    @Excel(name = " 璁″垝鎵ц鏄惁瀹炴椂;0.瀹氭椂 1.瀹炴椂 ")
+    private Long isrealtime;
+
+    /**  鍛ㄦ湡棰戠巼  */
+    @Excel(name = " 鍛ㄦ湡棰戠巼 ")
+    private Long cyclefrequency;
+
+    /**  鍛ㄦ湡棰戠巼鍗曚綅;1.澶� 2.鍛� 3.鏈� 4.骞�  */
+    @Excel(name = " 鍛ㄦ湡棰戠巼鍗曚綅;1.澶� 2.鍛� 3.鏈� 4.骞� ")
+    private Long cyclefrequencyunit;
+
+    /**  鍛ㄦ湡棰戠巼娆℃暟  */
+    @Excel(name = " 鍛ㄦ湡棰戠巼娆℃暟 ")
+    private Long cyclefrequencycount;
+
+    /**  鏈夋晥鏈熷ぉ鏁�  */
+    @Excel(name = " 鏈夋晥鏈熷ぉ鏁� ")
+    private Long termvalidityday;
+
+    /**  鏈夋晥鏈熻鍒�;1.褰撳ぉ 2.鎻愬墠 3.寤惰繜 4.鎻愬墠鎴栧欢杩�  */
+    @Excel(name = " 鏈夋晥鏈熻鍒�;1.褰撳ぉ 2.鎻愬墠 3.寤惰繜 4.鎻愬墠鎴栧欢杩� ")
+    private Long termvalidityrule;
+
+    /**  鏈夋晥鏈熷墠鎻愰啋澶╂暟  */
+    @Excel(name = " 鏈夋晥鏈熷墠鎻愰啋澶╂暟 ")
+    private Long termvaliditytipsday;
+
+    /**  鏈夋晥鏈熸彁閱掑綋澶╁叿浣撴椂闂�  */
+    @Excel(name = " 鏈夋晥鏈熸彁閱掑綋澶╁叿浣撴椂闂� ")
+    private String termvaliditytipstime;
+
+    /**  鍏宠仈缂栧彿 绉戝&椤圭洰  */
+    @Excel(name = " 鍏宠仈缂栧彿 绉戝&椤圭洰 ")
+    private Long relationid;
+
+    /**  浠嬬粛&鎻愰啋鍐呭  */
+    @Excel(name = " 浠嬬粛&鎻愰啋鍐呭 ")
+    private String content;
+
+    /**  鎻愮ず鍐呭  */
+    @Excel(name = " 鎻愮ず鍐呭 ")
+    private String tipscontent;
+
+    /**  鏈夐檺鏈熼檺/澶�  */
+    @Excel(name = " 鏈夐檺鏈熼檺/澶� ")
+    private Long limitedday;
+
+    /**  閫炬湡鍒ゆ柇澶╂暟  */
+    @Excel(name = " 閫炬湡鍒ゆ柇澶╂暟 ")
+    private Long overdueday;
+
+    /**  閫炬湡鍓嶆彁閱掑ぉ鏁�  */
+    @Excel(name = " 閫炬湡鍓嶆彁閱掑ぉ鏁� ")
+    private Long overduetipsday;
+
+    /**  澶辫鍒ゆ柇澶╂暟  */
+    @Excel(name = " 澶辫鍒ゆ柇澶╂暟 ")
+    private Long lossday;
+
+    /**  鎵ц鏂瑰紡;1.寰俊/鐭俊 2.AI鐢佃瘽 3.涓嶈嚜鍔ㄥ彂閫� 4.寰俊 5.鐭俊 6.浼佷笟寰俊 7.浼佷笟寰俊缇� 8.閽夐拤 9.閽夐拤缇� 10.椋炰功 11.椋炰功缇�  */
+    @Excel(name = " 鎵ц鏂瑰紡;1.寰俊/鐭俊 2.AI鐢佃瘽 3.涓嶈嚜鍔ㄥ彂閫� 4.寰俊 5.鐭俊 6.浼佷笟寰俊 7.浼佷笟寰俊缇� 8.閽夐拤 9.閽夐拤缇� 10.椋炰功 11.椋炰功缇� ")
+    private Long executetype;
+
+    /**  鎵ц妯℃澘 寰俊&AI澶栧懠妯℃澘  */
+    @Excel(name = " 鎵ц妯℃澘 寰俊&AI澶栧懠妯℃澘 ")
+    private Long executetemplate;
+
+    /**  棰濆鎵ц妯℃澘 鐭俊妯℃澘  */
+    @Excel(name = " 棰濆鎵ц妯℃澘 鐭俊妯℃澘 ")
+    private Long executetemplateextra;
+
+    /**  鎵ц椤哄簭;1.寰俊浼樺厛 2.鐭俊浼樺厛 3.鍚屾椂鍙戦��  */
+    @Excel(name = " 鎵ц椤哄簭;1.寰俊浼樺厛 2.鐭俊浼樺厛 3.鍚屾椂鍙戦�� ")
+    private Long executeorder;
+
+    /**  鎵ц璇煶绫诲瀷;1.褰曢煶 2.TTS  */
+    @Excel(name = " 鎵ц璇煶绫诲瀷;1.褰曢煶 2.TTS ")
+    private String executevoicetype;
+
+    /**  褰曢煶鏂囦欢&TTS鍙傛暟  */
+    @Excel(name = " 褰曢煶鏂囦欢&TTS鍙傛暟 ")
+    private String executevoicecontent;
+
+    /**  鎻愰啋鍖绘姢浜哄憳ID锛堝閫夛級  */
+    @Excel(name = " 鎻愰啋鍖绘姢浜哄憳ID", readConverterExp = "澶�=閫�")
+    private String exeutetipspersonid;
+
+    /**  鏈烘瀯ID  */
+    @Excel(name = " 鏈烘瀯ID ")
+    private String orgid;
+
+    /**  鍒犻櫎鏍囪  */
+    private String delFlag;
+
+    /**  涓婁紶鏍囪  */
+    @Excel(name = " 涓婁紶鏍囪 ")
+    private Long isupload;
+
+    /**  涓婁紶鏃堕棿  */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = " 涓婁紶鏃堕棿 ", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date uploadTime;
+
+    /**  鏄惁鏈湴  */
+    @Excel(name = " 鏄惁鏈湴 ")
+    private Long islocal;
+
+    /**  鍏宠仈椤圭洰绫诲瀷;1.妫�鏌� 2.妫�楠�  */
+    @Excel(name = " 鍏宠仈椤圭洰绫诲瀷;1.妫�鏌� 2.妫�楠� ")
+    private Long relationtype;
+
+    /**  璇煶鍚堟垚鍘傚晢  */
+    @Excel(name = " 璇煶鍚堟垚鍘傚晢 ")
+    private Long voicemanufacturers;
+
+    /**  璇煶鍚堟垚閰嶇疆  */
+    @Excel(name = " 璇煶鍚堟垚閰嶇疆 ")
+    private String voiceconfig;
+
+    /**  瀹屾垚鏉′欢;1閫氳瘽鐘舵��  2澶嶆牳鐘舵��  */
+    @Excel(name = " 瀹屾垚鏉′欢;1閫氳瘽鐘舵��  2澶嶆牳鐘舵�� ")
+    private Long completecondition;
+
+    /**  瀹屾垚鏉′欢瀵瑰簲鐘舵��  */
+    @Excel(name = " 瀹屾垚鏉′欢瀵瑰簲鐘舵�� ")
+    private Long completeconditionstate;
+
+    /**  鍏宠仈缂栧彿 绉戝&椤圭洰(澶氶��)  */
+    @Excel(name = " 鍏宠仈缂栧彿 绉戝&椤圭洰(澶氶��) ")
+    private String relationlistid;
+
+    /**  鍏宠仈浠g爜 闂嵎&瀹f暀  */
+    @Excel(name = " 鍏宠仈浠g爜 闂嵎&瀹f暀 ")
+    private String relationcode;
+
+    /**  鏄惁瀛樺湪閲嶅彂鏍囪  */
+    @Excel(name = " 鏄惁瀛樺湪閲嶅彂鏍囪 ")
+    private Long isrepeat;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+    public void setSchemeid(Long schemeid) 
+    {
+        this.schemeid = schemeid;
+    }
+
+    public Long getSchemeid() 
+    {
+        return schemeid;
+    }
+    public void setTriggersceneid(Long triggersceneid) 
+    {
+        this.triggersceneid = triggersceneid;
+    }
+
+    public Long getTriggersceneid() 
+    {
+        return triggersceneid;
+    }
+    public void setTriggerruleid(Long triggerruleid) 
+    {
+        this.triggerruleid = triggerruleid;
+    }
+
+    public Long getTriggerruleid() 
+    {
+        return triggerruleid;
+    }
+    public void setTasktype(Long tasktype) 
+    {
+        this.tasktype = tasktype;
+    }
+
+    public Long getTasktype() 
+    {
+        return tasktype;
+    }
+    public void setIscycle(Long iscycle) 
+    {
+        this.iscycle = iscycle;
+    }
+
+    public Long getIscycle() 
+    {
+        return iscycle;
+    }
+    public void setPlanexecutevalue(Long planexecutevalue) 
+    {
+        this.planexecutevalue = planexecutevalue;
+    }
+
+    public Long getPlanexecutevalue() 
+    {
+        return planexecutevalue;
+    }
+    public void setPlanexecuteunit(Long planexecuteunit) 
+    {
+        this.planexecuteunit = planexecuteunit;
+    }
+
+    public Long getPlanexecuteunit() 
+    {
+        return planexecuteunit;
+    }
+    public void setPlanexecutetime(String planexecutetime) 
+    {
+        this.planexecutetime = planexecutetime;
+    }
+
+    public String getPlanexecutetime() 
+    {
+        return planexecutetime;
+    }
+    public void setPlanexecutetype(Long planexecutetype) 
+    {
+        this.planexecutetype = planexecutetype;
+    }
+
+    public Long getPlanexecutetype() 
+    {
+        return planexecutetype;
+    }
+    public void setIsrealtime(Long isrealtime) 
+    {
+        this.isrealtime = isrealtime;
+    }
+
+    public Long getIsrealtime() 
+    {
+        return isrealtime;
+    }
+    public void setCyclefrequency(Long cyclefrequency) 
+    {
+        this.cyclefrequency = cyclefrequency;
+    }
+
+    public Long getCyclefrequency() 
+    {
+        return cyclefrequency;
+    }
+    public void setCyclefrequencyunit(Long cyclefrequencyunit) 
+    {
+        this.cyclefrequencyunit = cyclefrequencyunit;
+    }
+
+    public Long getCyclefrequencyunit() 
+    {
+        return cyclefrequencyunit;
+    }
+    public void setCyclefrequencycount(Long cyclefrequencycount) 
+    {
+        this.cyclefrequencycount = cyclefrequencycount;
+    }
+
+    public Long getCyclefrequencycount() 
+    {
+        return cyclefrequencycount;
+    }
+    public void setTermvalidityday(Long termvalidityday) 
+    {
+        this.termvalidityday = termvalidityday;
+    }
+
+    public Long getTermvalidityday() 
+    {
+        return termvalidityday;
+    }
+    public void setTermvalidityrule(Long termvalidityrule) 
+    {
+        this.termvalidityrule = termvalidityrule;
+    }
+
+    public Long getTermvalidityrule() 
+    {
+        return termvalidityrule;
+    }
+    public void setTermvaliditytipsday(Long termvaliditytipsday) 
+    {
+        this.termvaliditytipsday = termvaliditytipsday;
+    }
+
+    public Long getTermvaliditytipsday() 
+    {
+        return termvaliditytipsday;
+    }
+    public void setTermvaliditytipstime(String termvaliditytipstime) 
+    {
+        this.termvaliditytipstime = termvaliditytipstime;
+    }
+
+    public String getTermvaliditytipstime() 
+    {
+        return termvaliditytipstime;
+    }
+    public void setRelationid(Long relationid) 
+    {
+        this.relationid = relationid;
+    }
+
+    public Long getRelationid() 
+    {
+        return relationid;
+    }
+    public void setContent(String content) 
+    {
+        this.content = content;
+    }
+
+    public String getContent() 
+    {
+        return content;
+    }
+    public void setTipscontent(String tipscontent) 
+    {
+        this.tipscontent = tipscontent;
+    }
+
+    public String getTipscontent() 
+    {
+        return tipscontent;
+    }
+    public void setLimitedday(Long limitedday) 
+    {
+        this.limitedday = limitedday;
+    }
+
+    public Long getLimitedday() 
+    {
+        return limitedday;
+    }
+    public void setOverdueday(Long overdueday) 
+    {
+        this.overdueday = overdueday;
+    }
+
+    public Long getOverdueday() 
+    {
+        return overdueday;
+    }
+    public void setOverduetipsday(Long overduetipsday) 
+    {
+        this.overduetipsday = overduetipsday;
+    }
+
+    public Long getOverduetipsday() 
+    {
+        return overduetipsday;
+    }
+    public void setLossday(Long lossday) 
+    {
+        this.lossday = lossday;
+    }
+
+    public Long getLossday() 
+    {
+        return lossday;
+    }
+    public void setExecutetype(Long executetype) 
+    {
+        this.executetype = executetype;
+    }
+
+    public Long getExecutetype() 
+    {
+        return executetype;
+    }
+    public void setExecutetemplate(Long executetemplate) 
+    {
+        this.executetemplate = executetemplate;
+    }
+
+    public Long getExecutetemplate() 
+    {
+        return executetemplate;
+    }
+    public void setExecutetemplateextra(Long executetemplateextra) 
+    {
+        this.executetemplateextra = executetemplateextra;
+    }
+
+    public Long getExecutetemplateextra() 
+    {
+        return executetemplateextra;
+    }
+    public void setExecuteorder(Long executeorder) 
+    {
+        this.executeorder = executeorder;
+    }
+
+    public Long getExecuteorder() 
+    {
+        return executeorder;
+    }
+    public void setExecutevoicetype(String executevoicetype) 
+    {
+        this.executevoicetype = executevoicetype;
+    }
+
+    public String getExecutevoicetype() 
+    {
+        return executevoicetype;
+    }
+    public void setExecutevoicecontent(String executevoicecontent) 
+    {
+        this.executevoicecontent = executevoicecontent;
+    }
+
+    public String getExecutevoicecontent() 
+    {
+        return executevoicecontent;
+    }
+    public void setExeutetipspersonid(String exeutetipspersonid) 
+    {
+        this.exeutetipspersonid = exeutetipspersonid;
+    }
+
+    public String getExeutetipspersonid() 
+    {
+        return exeutetipspersonid;
+    }
+    public void setOrgid(String orgid) 
+    {
+        this.orgid = orgid;
+    }
+
+    public String getOrgid() 
+    {
+        return orgid;
+    }
+    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 setIslocal(Long islocal) 
+    {
+        this.islocal = islocal;
+    }
+
+    public Long getIslocal() 
+    {
+        return islocal;
+    }
+    public void setRelationtype(Long relationtype) 
+    {
+        this.relationtype = relationtype;
+    }
+
+    public Long getRelationtype() 
+    {
+        return relationtype;
+    }
+    public void setVoicemanufacturers(Long voicemanufacturers) 
+    {
+        this.voicemanufacturers = voicemanufacturers;
+    }
+
+    public Long getVoicemanufacturers() 
+    {
+        return voicemanufacturers;
+    }
+    public void setVoiceconfig(String voiceconfig) 
+    {
+        this.voiceconfig = voiceconfig;
+    }
+
+    public String getVoiceconfig() 
+    {
+        return voiceconfig;
+    }
+    public void setCompletecondition(Long completecondition) 
+    {
+        this.completecondition = completecondition;
+    }
+
+    public Long getCompletecondition() 
+    {
+        return completecondition;
+    }
+    public void setCompleteconditionstate(Long completeconditionstate) 
+    {
+        this.completeconditionstate = completeconditionstate;
+    }
+
+    public Long getCompleteconditionstate() 
+    {
+        return completeconditionstate;
+    }
+    public void setRelationlistid(String relationlistid) 
+    {
+        this.relationlistid = relationlistid;
+    }
+
+    public String getRelationlistid() 
+    {
+        return relationlistid;
+    }
+    public void setRelationcode(String relationcode) 
+    {
+        this.relationcode = relationcode;
+    }
+
+    public String getRelationcode() 
+    {
+        return relationcode;
+    }
+    public void setIsrepeat(Long isrepeat) 
+    {
+        this.isrepeat = isrepeat;
+    }
+
+    public Long getIsrepeat() 
+    {
+        return isrepeat;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("schemeid", getSchemeid())
+            .append("triggersceneid", getTriggersceneid())
+            .append("triggerruleid", getTriggerruleid())
+            .append("tasktype", getTasktype())
+            .append("iscycle", getIscycle())
+            .append("planexecutevalue", getPlanexecutevalue())
+            .append("planexecuteunit", getPlanexecuteunit())
+            .append("planexecutetime", getPlanexecutetime())
+            .append("planexecutetype", getPlanexecutetype())
+            .append("isrealtime", getIsrealtime())
+            .append("cyclefrequency", getCyclefrequency())
+            .append("cyclefrequencyunit", getCyclefrequencyunit())
+            .append("cyclefrequencycount", getCyclefrequencycount())
+            .append("termvalidityday", getTermvalidityday())
+            .append("termvalidityrule", getTermvalidityrule())
+            .append("termvaliditytipsday", getTermvaliditytipsday())
+            .append("termvaliditytipstime", getTermvaliditytipstime())
+            .append("relationid", getRelationid())
+            .append("content", getContent())
+            .append("tipscontent", getTipscontent())
+            .append("limitedday", getLimitedday())
+            .append("overdueday", getOverdueday())
+            .append("overduetipsday", getOverduetipsday())
+            .append("lossday", getLossday())
+            .append("executetype", getExecutetype())
+            .append("executetemplate", getExecutetemplate())
+            .append("executetemplateextra", getExecutetemplateextra())
+            .append("executeorder", getExecuteorder())
+            .append("executevoicetype", getExecutevoicetype())
+            .append("executevoicecontent", getExecutevoicecontent())
+            .append("exeutetipspersonid", getExeutetipspersonid())
+            .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("islocal", getIslocal())
+            .append("relationtype", getRelationtype())
+            .append("voicemanufacturers", getVoicemanufacturers())
+            .append("voiceconfig", getVoiceconfig())
+            .append("completecondition", getCompletecondition())
+            .append("completeconditionstate", getCompleteconditionstate())
+            .append("relationlistid", getRelationlistid())
+            .append("relationcode", getRelationcode())
+            .append("isrepeat", getIsrepeat())
+            .toString();
+    }
+}
diff --git a/smartor/src/main/java/com/smartor/domain/SchemeTaskrecord.java b/smartor/src/main/java/com/smartor/domain/SchemeTaskrecord.java
new file mode 100644
index 0000000..233467c
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/domain/SchemeTaskrecord.java
@@ -0,0 +1,341 @@
+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;
+
+/**
+ * 鏂规浠诲姟澶勭悊璁板綍瀵硅薄 scheme_taskrecord
+ * 
+ * @author smartor
+ * @date 2023-03-04
+ */
+public class SchemeTaskrecord extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /**  鑷ID  */
+    private Long id;
+
+    /**  绫诲瀷;0.浜哄伐 1.寰俊 2.鐭俊 3.AI鐢佃瘽  */
+    @Excel(name = " 绫诲瀷;0.浜哄伐 1.寰俊 2.鐭俊 3.AI鐢佃瘽 ")
+    private Long recordtype;
+
+    /**  浠诲姟ID  */
+    @Excel(name = " 浠诲姟ID ")
+    private Long taskid;
+
+    /**  缁撴灉  */
+    @Excel(name = " 缁撴灉 ")
+    private String result;
+
+    /**  鏈烘瀯ID  */
+    @Excel(name = " 鏈烘瀯ID ")
+    private String orgid;
+
+    /**  鍒犻櫎鏍囪  */
+    private String delFlag;
+
+    /**  涓婁紶鏍囪  */
+    @Excel(name = " 涓婁紶鏍囪 ")
+    private Long isupload;
+
+    /**  涓婁紶鏃堕棿  */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = " 涓婁紶鏃堕棿 ", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date uploadTime;
+
+    /**  鍏宠仈ID;闂嵎缁撴灉ID  */
+    @Excel(name = " 鍏宠仈ID;闂嵎缁撴灉ID ")
+    private Long relationid;
+
+    /**  娓犻亾绫诲瀷;榛樿0  绫诲瀷涓哄井淇�/鐭俊鏃�-1.寰俊 2鐭俊  */
+    @Excel(name = " 娓犻亾绫诲瀷;榛樿0  绫诲瀷涓哄井淇�/鐭俊鏃�-1.寰俊 2鐭俊 ")
+    private Long channeltype;
+
+    /**  鍙戦�佹椂闂�/澶栧懠鏃堕棿/闅忚鏃堕棿  */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = " 鍙戦�佹椂闂�/澶栧懠鏃堕棿/闅忚鏃堕棿 ", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date sendtime;
+
+    /**  鎿嶄綔浜�/闅忚浜�/澶嶆牳浜�  */
+    @Excel(name = " 鎿嶄綔浜�/闅忚浜�/澶嶆牳浜� ")
+    private String operator;
+
+    /**  鍥炲鏃堕棿/鎸傛柇鏃堕棿  */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = " 鍥炲鏃堕棿/鎸傛柇鏃堕棿 ", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date replytime;
+
+    /**  澶嶆牳鏃堕棿  */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = " 澶嶆牳鏃堕棿 ", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date reviewtime;
+
+    /**  鐘舵��  */
+    @Excel(name = " 鐘舵�� ")
+    private Long state;
+
+    /**  澶嶆牳鐘舵��;0寰呭鏍� 1鎴愬姛 2澶辫触  */
+    @Excel(name = " 澶嶆牳鐘舵��;0寰呭鏍� 1鎴愬姛 2澶辫触 ")
+    private Long reviewstate;
+
+    /**  鍏宠仈鍦烘櫙ID  */
+    @Excel(name = " 鍏宠仈鍦烘櫙ID ")
+    private Long sceneid;
+
+    /**  鏍囪瘑  */
+    @Excel(name = " 鏍囪瘑 ")
+    private String uuid;
+
+    /**  鍙戦�佺殑鐩爣鍙风爜锛圓I澶栧懠浣跨敤锛�  */
+    @Excel(name = " 鍙戦�佺殑鐩爣鍙风爜", readConverterExp = "A=I澶栧懠浣跨敤")
+    private String sendphone;
+
+    /**  鏄惁鍐嶆鎵ц  */
+    @Excel(name = " 鏄惁鍐嶆鎵ц ")
+    private Long isagain;
+
+    /**  鍧愬腑ID  */
+    @Excel(name = " 鍧愬腑ID ")
+    private Long seatsid;
+
+    /**  鎵嬪姩澶勭悊绫诲瀷  */
+    @Excel(name = " 鎵嬪姩澶勭悊绫诲瀷 ")
+    private Long handletype;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+    public void setRecordtype(Long recordtype) 
+    {
+        this.recordtype = recordtype;
+    }
+
+    public Long getRecordtype() 
+    {
+        return recordtype;
+    }
+    public void setTaskid(Long taskid) 
+    {
+        this.taskid = taskid;
+    }
+
+    public Long getTaskid() 
+    {
+        return taskid;
+    }
+    public void setResult(String result) 
+    {
+        this.result = result;
+    }
+
+    public String getResult() 
+    {
+        return result;
+    }
+    public void setOrgid(String orgid) 
+    {
+        this.orgid = orgid;
+    }
+
+    public String getOrgid() 
+    {
+        return orgid;
+    }
+    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 setRelationid(Long relationid) 
+    {
+        this.relationid = relationid;
+    }
+
+    public Long getRelationid() 
+    {
+        return relationid;
+    }
+    public void setChanneltype(Long channeltype) 
+    {
+        this.channeltype = channeltype;
+    }
+
+    public Long getChanneltype() 
+    {
+        return channeltype;
+    }
+    public void setSendtime(Date sendtime) 
+    {
+        this.sendtime = sendtime;
+    }
+
+    public Date getSendtime() 
+    {
+        return sendtime;
+    }
+    public void setOperator(String operator) 
+    {
+        this.operator = operator;
+    }
+
+    public String getOperator() 
+    {
+        return operator;
+    }
+    public void setReplytime(Date replytime) 
+    {
+        this.replytime = replytime;
+    }
+
+    public Date getReplytime() 
+    {
+        return replytime;
+    }
+    public void setReviewtime(Date reviewtime) 
+    {
+        this.reviewtime = reviewtime;
+    }
+
+    public Date getReviewtime() 
+    {
+        return reviewtime;
+    }
+    public void setState(Long state) 
+    {
+        this.state = state;
+    }
+
+    public Long getState() 
+    {
+        return state;
+    }
+    public void setReviewstate(Long reviewstate) 
+    {
+        this.reviewstate = reviewstate;
+    }
+
+    public Long getReviewstate() 
+    {
+        return reviewstate;
+    }
+    public void setSceneid(Long sceneid) 
+    {
+        this.sceneid = sceneid;
+    }
+
+    public Long getSceneid() 
+    {
+        return sceneid;
+    }
+    public void setUuid(String uuid) 
+    {
+        this.uuid = uuid;
+    }
+
+    public String getUuid() 
+    {
+        return uuid;
+    }
+    public void setSendphone(String sendphone) 
+    {
+        this.sendphone = sendphone;
+    }
+
+    public String getSendphone() 
+    {
+        return sendphone;
+    }
+    public void setIsagain(Long isagain) 
+    {
+        this.isagain = isagain;
+    }
+
+    public Long getIsagain() 
+    {
+        return isagain;
+    }
+    public void setSeatsid(Long seatsid) 
+    {
+        this.seatsid = seatsid;
+    }
+
+    public Long getSeatsid() 
+    {
+        return seatsid;
+    }
+    public void setHandletype(Long handletype) 
+    {
+        this.handletype = handletype;
+    }
+
+    public Long getHandletype() 
+    {
+        return handletype;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("recordtype", getRecordtype())
+            .append("taskid", getTaskid())
+            .append("result", getResult())
+            .append("remark", getRemark())
+            .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("relationid", getRelationid())
+            .append("channeltype", getChanneltype())
+            .append("sendtime", getSendtime())
+            .append("operator", getOperator())
+            .append("replytime", getReplytime())
+            .append("reviewtime", getReviewtime())
+            .append("state", getState())
+            .append("reviewstate", getReviewstate())
+            .append("sceneid", getSceneid())
+            .append("uuid", getUuid())
+            .append("sendphone", getSendphone())
+            .append("isagain", getIsagain())
+            .append("seatsid", getSeatsid())
+            .append("handletype", getHandletype())
+            .toString();
+    }
+}
diff --git a/smartor/src/main/java/com/smartor/domain/SchemeTaskrecordCalldetail.java b/smartor/src/main/java/com/smartor/domain/SchemeTaskrecordCalldetail.java
new file mode 100644
index 0000000..61bdfd1
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/domain/SchemeTaskrecordCalldetail.java
@@ -0,0 +1,491 @@
+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;
+
+/**
+ * 鏂规AI澶栧懠浠诲姟璇︽儏瀵硅薄 scheme_taskrecord_calldetail
+ * 
+ * @author smartor
+ * @date 2023-03-04
+ */
+public class SchemeTaskrecordCalldetail extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /**  鑷ID  */
+    private Long id;
+
+    /**  閫氳瘽鏍囪瘑  */
+    @Excel(name = " 閫氳瘽鏍囪瘑 ")
+    private String uuid;
+
+    /**  鐩爣鍙风爜  */
+    @Excel(name = " 鐩爣鍙风爜 ")
+    private String phone;
+
+    /**  褰撳墠鍥炶皟鐨勮姹傜被鍨�  */
+    @Excel(name = " 褰撳墠鍥炶皟鐨勮姹傜被鍨� ")
+    private String operate;
+
+    /**  鍛煎彨澶栫嚎鏃朵娇鐢ㄧ殑澶栨樉鍙风爜  */
+    @Excel(name = " 鍛煎彨澶栫嚎鏃朵娇鐢ㄧ殑澶栨樉鍙风爜 ")
+    private String displayno;
+
+    /**  鏄惁涓哄懠鍏ラ�氳瘽  */
+    @Excel(name = " 鏄惁涓哄懠鍏ラ�氳瘽 ")
+    private Long inbound;
+
+    /**  鏄惁涓哄懠鍏ヨ姹傛搷浣�(鍛煎叆鐨刬nbound鍧囦负true锛岄娆¤姹傛椂incoming涓簍rue) 濡傛灉涓嶅簲绛旓紝鍒欎細鎸傛柇褰撳墠鍛煎叆锛�  */
+    @Excel(name = " 鏄惁涓哄懠鍏ヨ姹傛搷浣�(鍛煎叆鐨刬nbound鍧囦负true锛岄娆¤姹傛椂incoming涓簍rue) 濡傛灉涓嶅簲绛旓紝鍒欎細鎸傛柇褰撳墠鍛煎叆锛� ")
+    private Long incoming;
+
+    /**  鍒嗛厤鏃堕棿  */
+    @Excel(name = " 鍒嗛厤鏃堕棿 ")
+    private Long assigntime;
+
+    /**  寮�濮嬫椂闂达紝濡傛灉鍛煎叆鐨勫垯涓哄懠鍏ュ紑濮嬫椂闂�  */
+    @Excel(name = " 寮�濮嬫椂闂达紝濡傛灉鍛煎叆鐨勫垯涓哄懠鍏ュ紑濮嬫椂闂� ")
+    private Long starttime;
+
+    /**  搴旂瓟鏃堕棿  */
+    @Excel(name = " 搴旂瓟鏃堕棿 ")
+    private Long answertime;
+
+    /**  鏍囪瘑褰撳墠鏄惁涓洪潤榛樺洖璋�  */
+    @Excel(name = " 鏍囪瘑褰撳墠鏄惁涓洪潤榛樺洖璋� ")
+    private Long silent;
+
+    /**  鏀跺埌鐨勬寜閿唴瀹�  */
+    @Excel(name = " 鏀跺埌鐨勬寜閿唴瀹� ")
+    private Long dtmfKey;
+
+    /**  闊充箰鎾斁鎴栧仠姝㈡椂鐩稿叧闊充箰鍚嶇О  */
+    @Excel(name = " 闊充箰鎾斁鎴栧仠姝㈡椂鐩稿叧闊充箰鍚嶇О ")
+    private String musicpath;
+
+    /**  褰撳墠鍙ュ瓙鐨勭储寮曞彿  */
+    @Excel(name = " 褰撳墠鍙ュ瓙鐨勭储寮曞彿 ")
+    private Long sentindex;
+
+    /**  褰撳墠鏄惁涓鸿璇濆紑濮�  */
+    @Excel(name = " 褰撳墠鏄惁涓鸿璇濆紑濮� ")
+    private Long sentbegin;
+
+    /**  褰撳墠鏀跺埌鐨凙SR璇嗗埆鏂囨湰  */
+    @Excel(name = " 褰撳墠鏀跺埌鐨凙SR璇嗗埆鏂囨湰 ")
+    private String asrtext;
+
+    /**  褰撳墠asr鏂囨湰 閫氳瘽寮�濮嬫椂闂寸偣锛屾绉掓暟  */
+    @Excel(name = " 褰撳墠asr鏂囨湰 閫氳瘽寮�濮嬫椂闂寸偣锛屾绉掓暟 ")
+    private Long begintime;
+
+    /**  褰撳墠asr鏂囨湰 鎵�澶� 缁撴潫鏃堕棿鐐癸紝姣鏁帮紝褰撳墠鏂囨湰涓嶆槸鍙ュ瓙缁撴潫鏃讹紝鍒欎负-1  */
+    @Excel(name = " 褰撳墠asr鏂囨湰 鎵�澶� 缁撴潫鏃堕棿鐐癸紝姣鏁帮紝褰撳墠鏂囨湰涓嶆槸鍙ュ瓙缁撴潫鏃讹紝鍒欎负-1 ")
+    private Long endtime;
+
+    /**  鏍囪瘑褰撳墠鏄惁涓哄彞瀛愮粨鏉�  */
+    @Excel(name = " 鏍囪瘑褰撳墠鏄惁涓哄彞瀛愮粨鏉� ")
+    private Long sentend;
+
+    /**  褰撳墠鍙ュ瓙鐨勫綍闊虫枃浠惰矾寰勶紝鍙ュ瓙鏈粨鏉熸椂涓虹┖銆�  */
+    @Excel(name = " 褰撳墠鍙ュ瓙鐨勫綍闊虫枃浠惰矾寰勶紝鍙ュ瓙鏈粨鏉熸椂涓虹┖銆� ")
+    private String recordpath;
+
+    /**  褰撳墠鍙ュ瓙褰曢煶url璺緞銆�  */
+    @Excel(name = " 褰撳墠鍙ュ瓙褰曢煶url璺緞銆� ")
+    private String recordurl;
+
+    /**  鍦烘櫙ID  */
+    @Excel(name = " 鍦烘櫙ID ")
+    private Long sceneid;
+
+    /**  鍏宠仈浠诲姟璁板綍ID  */
+    @Excel(name = " 鍏宠仈浠诲姟璁板綍ID ")
+    private Long taskrecordid;
+
+    /**  褰撳墠娴佺▼ID  */
+    @Excel(name = " 褰撳墠娴佺▼ID ")
+    private Long flowiid;
+
+    /**  褰撳墠鑺傜偣ID  */
+    @Excel(name = " 褰撳墠鑺傜偣ID ")
+    private Long flownodeid;
+
+    /**  璇濇湳鏂囨湰  */
+    @Excel(name = " 璇濇湳鏂囨湰 ")
+    private String corpustext;
+
+    /**  璇濇湳璇煶  */
+    @Excel(name = " 璇濇湳璇煶 ")
+    private String corpusvoice;
+
+    /**  璇嗗埆鎰忓浘鍊�  */
+    @Excel(name = " 璇嗗埆鎰忓浘鍊� ")
+    private String intentvalue;
+
+    /**  鍖归厤鏂囨湰  */
+    @Excel(name = " 鍖归厤鏂囨湰 ")
+    private String matchedtext;
+
+    /**  鏈烘瀯ID  */
+    @Excel(name = " 鏈烘瀯ID ")
+    private String orgid;
+
+    /**  鍒犻櫎鏍囪  */
+    private String delFlag;
+
+    /**  涓婁紶鏍囪  */
+    @Excel(name = " 涓婁紶鏍囪 ")
+    private Long isupload;
+
+    /**  涓婁紶鏃堕棿  */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = " 涓婁紶鏃堕棿 ", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date uploadTime;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+    public void setUuid(String uuid) 
+    {
+        this.uuid = uuid;
+    }
+
+    public String getUuid() 
+    {
+        return uuid;
+    }
+    public void setPhone(String phone) 
+    {
+        this.phone = phone;
+    }
+
+    public String getPhone() 
+    {
+        return phone;
+    }
+    public void setOperate(String operate) 
+    {
+        this.operate = operate;
+    }
+
+    public String getOperate() 
+    {
+        return operate;
+    }
+    public void setDisplayno(String displayno) 
+    {
+        this.displayno = displayno;
+    }
+
+    public String getDisplayno() 
+    {
+        return displayno;
+    }
+    public void setInbound(Long inbound) 
+    {
+        this.inbound = inbound;
+    }
+
+    public Long getInbound() 
+    {
+        return inbound;
+    }
+    public void setIncoming(Long incoming) 
+    {
+        this.incoming = incoming;
+    }
+
+    public Long getIncoming() 
+    {
+        return incoming;
+    }
+    public void setAssigntime(Long assigntime) 
+    {
+        this.assigntime = assigntime;
+    }
+
+    public Long getAssigntime() 
+    {
+        return assigntime;
+    }
+    public void setStarttime(Long starttime) 
+    {
+        this.starttime = starttime;
+    }
+
+    public Long getStarttime() 
+    {
+        return starttime;
+    }
+    public void setAnswertime(Long answertime) 
+    {
+        this.answertime = answertime;
+    }
+
+    public Long getAnswertime() 
+    {
+        return answertime;
+    }
+    public void setSilent(Long silent) 
+    {
+        this.silent = silent;
+    }
+
+    public Long getSilent() 
+    {
+        return silent;
+    }
+    public void setDtmfKey(Long dtmfKey) 
+    {
+        this.dtmfKey = dtmfKey;
+    }
+
+    public Long getDtmfKey() 
+    {
+        return dtmfKey;
+    }
+    public void setMusicpath(String musicpath) 
+    {
+        this.musicpath = musicpath;
+    }
+
+    public String getMusicpath() 
+    {
+        return musicpath;
+    }
+    public void setSentindex(Long sentindex) 
+    {
+        this.sentindex = sentindex;
+    }
+
+    public Long getSentindex() 
+    {
+        return sentindex;
+    }
+    public void setSentbegin(Long sentbegin) 
+    {
+        this.sentbegin = sentbegin;
+    }
+
+    public Long getSentbegin() 
+    {
+        return sentbegin;
+    }
+    public void setAsrtext(String asrtext) 
+    {
+        this.asrtext = asrtext;
+    }
+
+    public String getAsrtext() 
+    {
+        return asrtext;
+    }
+    public void setBegintime(Long begintime) 
+    {
+        this.begintime = begintime;
+    }
+
+    public Long getBegintime() 
+    {
+        return begintime;
+    }
+    public void setEndtime(Long endtime) 
+    {
+        this.endtime = endtime;
+    }
+
+    public Long getEndtime() 
+    {
+        return endtime;
+    }
+    public void setSentend(Long sentend) 
+    {
+        this.sentend = sentend;
+    }
+
+    public Long getSentend() 
+    {
+        return sentend;
+    }
+    public void setRecordpath(String recordpath) 
+    {
+        this.recordpath = recordpath;
+    }
+
+    public String getRecordpath() 
+    {
+        return recordpath;
+    }
+    public void setRecordurl(String recordurl) 
+    {
+        this.recordurl = recordurl;
+    }
+
+    public String getRecordurl() 
+    {
+        return recordurl;
+    }
+    public void setSceneid(Long sceneid) 
+    {
+        this.sceneid = sceneid;
+    }
+
+    public Long getSceneid() 
+    {
+        return sceneid;
+    }
+    public void setTaskrecordid(Long taskrecordid) 
+    {
+        this.taskrecordid = taskrecordid;
+    }
+
+    public Long getTaskrecordid() 
+    {
+        return taskrecordid;
+    }
+    public void setFlowiid(Long flowiid) 
+    {
+        this.flowiid = flowiid;
+    }
+
+    public Long getFlowiid() 
+    {
+        return flowiid;
+    }
+    public void setFlownodeid(Long flownodeid) 
+    {
+        this.flownodeid = flownodeid;
+    }
+
+    public Long getFlownodeid() 
+    {
+        return flownodeid;
+    }
+    public void setCorpustext(String corpustext) 
+    {
+        this.corpustext = corpustext;
+    }
+
+    public String getCorpustext() 
+    {
+        return corpustext;
+    }
+    public void setCorpusvoice(String corpusvoice) 
+    {
+        this.corpusvoice = corpusvoice;
+    }
+
+    public String getCorpusvoice() 
+    {
+        return corpusvoice;
+    }
+    public void setIntentvalue(String intentvalue) 
+    {
+        this.intentvalue = intentvalue;
+    }
+
+    public String getIntentvalue() 
+    {
+        return intentvalue;
+    }
+    public void setMatchedtext(String matchedtext) 
+    {
+        this.matchedtext = matchedtext;
+    }
+
+    public String getMatchedtext() 
+    {
+        return matchedtext;
+    }
+    public void setOrgid(String orgid) 
+    {
+        this.orgid = orgid;
+    }
+
+    public String getOrgid() 
+    {
+        return orgid;
+    }
+    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;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("uuid", getUuid())
+            .append("phone", getPhone())
+            .append("operate", getOperate())
+            .append("displayno", getDisplayno())
+            .append("inbound", getInbound())
+            .append("incoming", getIncoming())
+            .append("assigntime", getAssigntime())
+            .append("starttime", getStarttime())
+            .append("answertime", getAnswertime())
+            .append("silent", getSilent())
+            .append("dtmfKey", getDtmfKey())
+            .append("musicpath", getMusicpath())
+            .append("sentindex", getSentindex())
+            .append("sentbegin", getSentbegin())
+            .append("asrtext", getAsrtext())
+            .append("begintime", getBegintime())
+            .append("endtime", getEndtime())
+            .append("sentend", getSentend())
+            .append("recordpath", getRecordpath())
+            .append("recordurl", getRecordurl())
+            .append("sceneid", getSceneid())
+            .append("taskrecordid", getTaskrecordid())
+            .append("flowiid", getFlowiid())
+            .append("flownodeid", getFlownodeid())
+            .append("corpustext", getCorpustext())
+            .append("corpusvoice", getCorpusvoice())
+            .append("intentvalue", getIntentvalue())
+            .append("matchedtext", getMatchedtext())
+            .append("orgid", getOrgid())
+            .append("delFlag", getDelFlag())
+            .append("updateBy", getUpdateBy())
+            .append("updateTime", getUpdateTime())
+            .append("createBy", getCreateBy())
+            .append("createTime", getCreateTime())
+            .append("isupload", getIsupload())
+            .append("uploadTime", getUploadTime())
+            .toString();
+    }
+}
diff --git a/smartor/src/main/java/com/smartor/domain/SchemeTaskrepeatconfig.java b/smartor/src/main/java/com/smartor/domain/SchemeTaskrepeatconfig.java
new file mode 100644
index 0000000..0712c36
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/domain/SchemeTaskrepeatconfig.java
@@ -0,0 +1,281 @@
+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;
+
+/**
+ * 鏂规浠诲姟閲嶅彂閰嶇疆瀵硅薄 scheme_taskrepeatconfig
+ * 
+ * @author smartor
+ * @date 2023-03-04
+ */
+public class SchemeTaskrepeatconfig extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /**  鑷ID  */
+    private Long id;
+
+    /**  鏂规ID  */
+    @Excel(name = " 鏂规ID ")
+    private Long schemeid;
+
+    /**  瑙﹀彂鍦烘櫙ID  */
+    @Excel(name = " 瑙﹀彂鍦烘櫙ID ")
+    private Long triggersceneid;
+
+    /**  瑙﹀彂瑙勫垯ID  */
+    @Excel(name = " 瑙﹀彂瑙勫垯ID ")
+    private Long triggerruleid;
+
+    /**  浠诲姟閰嶇疆ID  */
+    @Excel(name = " 浠诲姟閰嶇疆ID ")
+    private Long taskconfigid;
+
+    /**  鎵ц鏂瑰紡;1.寰俊/鐭俊 2.AI鐢佃瘽 3.涓嶈嚜鍔ㄥ彂閫� 4.寰俊 5.鐭俊 6.浼佷笟寰俊 7.浼佷笟寰俊缇� 8.閽夐拤 9.閽夐拤缇� 10.椋炰功 11.椋炰功缇�  */
+    @Excel(name = " 鎵ц鏂瑰紡;1.寰俊/鐭俊 2.AI鐢佃瘽 3.涓嶈嚜鍔ㄥ彂閫� 4.寰俊 5.鐭俊 6.浼佷笟寰俊 7.浼佷笟寰俊缇� 8.閽夐拤 9.閽夐拤缇� 10.椋炰功 11.椋炰功缇� ")
+    private Long executetype;
+
+    /**  鎵ц澶辫触绫诲瀷;1.澶栧懠澶辫触 2.鏃犲洖澶�  */
+    @Excel(name = " 鎵ц澶辫触绫诲瀷;1.澶栧懠澶辫触 2.鏃犲洖澶� ")
+    private Long executefailtype;
+
+    /**  鎵ц澶辫触鏁板��  */
+    @Excel(name = " 鎵ц澶辫触鏁板�� ")
+    private Long executefailvalue;
+
+    /**  鎵ц澶辫触鍗曚綅;1.鍒嗛挓 2.灏忔椂  */
+    @Excel(name = " 鎵ц澶辫触鍗曚綅;1.鍒嗛挓 2.灏忔椂 ")
+    private Long executefailunit;
+
+    /**  鎵ц妯℃澘 寰俊&AI澶栧懠妯℃澘  */
+    @Excel(name = " 鎵ц妯℃澘 寰俊&AI澶栧懠妯℃澘 ")
+    private Long executetemplate;
+
+    /**  棰濆鎵ц妯℃澘 鐭俊妯℃澘  */
+    @Excel(name = " 棰濆鎵ц妯℃澘 鐭俊妯℃澘 ")
+    private Long executetemplateextra;
+
+    /**  鎵ц椤哄簭;1.寰俊浼樺厛 2.鐭俊浼樺厛 3.鍚屾椂鍙戦��  */
+    @Excel(name = " 鎵ц椤哄簭;1.寰俊浼樺厛 2.鐭俊浼樺厛 3.鍚屾椂鍙戦�� ")
+    private Long executeorder;
+
+    /**  鎵ц璇煶绫诲瀷;1.褰曢煶 2.TTS  */
+    @Excel(name = " 鎵ц璇煶绫诲瀷;1.褰曢煶 2.TTS ")
+    private String executevoicetype;
+
+    /**  褰曢煶鏂囦欢&TTS鍙傛暟  */
+    @Excel(name = " 褰曢煶鏂囦欢&TTS鍙傛暟 ")
+    private String executevoicecontent;
+
+    /**  鏈烘瀯ID  */
+    @Excel(name = " 鏈烘瀯ID ")
+    private String orgid;
+
+    /**  鍒犻櫎鏍囪  */
+    private String delFlag;
+
+    /**  涓婁紶鏍囪  */
+    @Excel(name = " 涓婁紶鏍囪 ")
+    private Long isupload;
+
+    /**  涓婁紶鏃堕棿  */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = " 涓婁紶鏃堕棿 ", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date uploadTime;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+    public void setSchemeid(Long schemeid) 
+    {
+        this.schemeid = schemeid;
+    }
+
+    public Long getSchemeid() 
+    {
+        return schemeid;
+    }
+    public void setTriggersceneid(Long triggersceneid) 
+    {
+        this.triggersceneid = triggersceneid;
+    }
+
+    public Long getTriggersceneid() 
+    {
+        return triggersceneid;
+    }
+    public void setTriggerruleid(Long triggerruleid) 
+    {
+        this.triggerruleid = triggerruleid;
+    }
+
+    public Long getTriggerruleid() 
+    {
+        return triggerruleid;
+    }
+    public void setTaskconfigid(Long taskconfigid) 
+    {
+        this.taskconfigid = taskconfigid;
+    }
+
+    public Long getTaskconfigid() 
+    {
+        return taskconfigid;
+    }
+    public void setExecutetype(Long executetype) 
+    {
+        this.executetype = executetype;
+    }
+
+    public Long getExecutetype() 
+    {
+        return executetype;
+    }
+    public void setExecutefailtype(Long executefailtype) 
+    {
+        this.executefailtype = executefailtype;
+    }
+
+    public Long getExecutefailtype() 
+    {
+        return executefailtype;
+    }
+    public void setExecutefailvalue(Long executefailvalue) 
+    {
+        this.executefailvalue = executefailvalue;
+    }
+
+    public Long getExecutefailvalue() 
+    {
+        return executefailvalue;
+    }
+    public void setExecutefailunit(Long executefailunit) 
+    {
+        this.executefailunit = executefailunit;
+    }
+
+    public Long getExecutefailunit() 
+    {
+        return executefailunit;
+    }
+    public void setExecutetemplate(Long executetemplate) 
+    {
+        this.executetemplate = executetemplate;
+    }
+
+    public Long getExecutetemplate() 
+    {
+        return executetemplate;
+    }
+    public void setExecutetemplateextra(Long executetemplateextra) 
+    {
+        this.executetemplateextra = executetemplateextra;
+    }
+
+    public Long getExecutetemplateextra() 
+    {
+        return executetemplateextra;
+    }
+    public void setExecuteorder(Long executeorder) 
+    {
+        this.executeorder = executeorder;
+    }
+
+    public Long getExecuteorder() 
+    {
+        return executeorder;
+    }
+    public void setExecutevoicetype(String executevoicetype) 
+    {
+        this.executevoicetype = executevoicetype;
+    }
+
+    public String getExecutevoicetype() 
+    {
+        return executevoicetype;
+    }
+    public void setExecutevoicecontent(String executevoicecontent) 
+    {
+        this.executevoicecontent = executevoicecontent;
+    }
+
+    public String getExecutevoicecontent() 
+    {
+        return executevoicecontent;
+    }
+    public void setOrgid(String orgid) 
+    {
+        this.orgid = orgid;
+    }
+
+    public String getOrgid() 
+    {
+        return orgid;
+    }
+    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;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("schemeid", getSchemeid())
+            .append("triggersceneid", getTriggersceneid())
+            .append("triggerruleid", getTriggerruleid())
+            .append("taskconfigid", getTaskconfigid())
+            .append("executetype", getExecutetype())
+            .append("executefailtype", getExecutefailtype())
+            .append("executefailvalue", getExecutefailvalue())
+            .append("executefailunit", getExecutefailunit())
+            .append("executetemplate", getExecutetemplate())
+            .append("executetemplateextra", getExecutetemplateextra())
+            .append("executeorder", getExecuteorder())
+            .append("executevoicetype", getExecutevoicetype())
+            .append("executevoicecontent", getExecutevoicecontent())
+            .append("orgid", getOrgid())
+            .append("delFlag", getDelFlag())
+            .append("updateBy", getUpdateBy())
+            .append("updateTime", getUpdateTime())
+            .append("createBy", getCreateBy())
+            .append("createTime", getCreateTime())
+            .append("isupload", getIsupload())
+            .append("uploadTime", getUploadTime())
+            .toString();
+    }
+}
diff --git a/smartor/src/main/java/com/smartor/domain/SchemeTriggerrule.java b/smartor/src/main/java/com/smartor/domain/SchemeTriggerrule.java
new file mode 100644
index 0000000..7f1af03
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/domain/SchemeTriggerrule.java
@@ -0,0 +1,309 @@
+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;
+
+/**
+ * 鏂规瑙﹀彂鏉′欢瑙勫垯瀵硅薄 scheme_triggerrule
+ * 
+ * @author smartor
+ * @date 2023-03-04
+ */
+public class SchemeTriggerrule extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /**  鑷ID  */
+    private Long id;
+
+    /**  鏉′欢绫诲瀷;1.鎮h�呭睘鎬� 2.璇婄枟淇℃伅 3.鐩戞祴鍊� 4.浠诲姟淇℃伅  */
+    @Excel(name = " 鏉′欢绫诲瀷;1.鎮h�呭睘鎬� 2.璇婄枟淇℃伅 3.鐩戞祴鍊� 4.浠诲姟淇℃伅 ")
+    private Long conditionstype;
+
+    /**  涓旀垨  */
+    @Excel(name = " 涓旀垨 ")
+    private Long orand;
+
+    /**  瑙勫垯鏉′欢  */
+    @Excel(name = " 瑙勫垯鏉′欢 ")
+    private String ruleconditions;
+
+    /**  鐖舵潯浠�  */
+    @Excel(name = " 鐖舵潯浠� ")
+    private String parentresultconditionsid;
+
+    /**  鏈烘瀯ID  */
+    @Excel(name = " 鏈烘瀯ID ")
+    private String orgid;
+
+    /**  鍒犻櫎鏍囪  */
+    private String delFlag;
+
+    /**  涓婁紶鏍囪  */
+    @Excel(name = " 涓婁紶鏍囪 ")
+    private Long isupload;
+
+    /**  涓婁紶鏃堕棿  */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = " 涓婁紶鏃堕棿 ", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date uploadTime;
+
+    /**  鏂规ID  */
+    @Excel(name = " 鏂规ID ")
+    private Long schemeid;
+
+    /**  瑙﹀彂鍦烘櫙ID  */
+    @Excel(name = " 瑙﹀彂鍦烘櫙ID ")
+    private Long triggersceneid;
+
+    /**   */
+    @Excel(name = " ")
+    private Long conditionstypesecord;
+
+    /**  涓夌骇鏉′欢绫诲瀷  */
+    @Excel(name = " 涓夌骇鏉′欢绫诲瀷 ")
+    private String conditionstypethree;
+
+    /**  楠岃瘉瑙勫垯;鏁板�肩洿鎺ヨ緭鍏ワ紱鑼冨洿鐢ㄦí鏉狅紙1-100锛夛紱澶氶�夐�楀彿闅斿紑锛�1,2,3锛夛紱鐩稿簲绫诲瀷鐨勪富閿�  */
+    @Excel(name = " 楠岃瘉瑙勫垯;鏁板�肩洿鎺ヨ緭鍏ワ紱鑼冨洿鐢ㄦí鏉�", readConverterExp = "1=-100")
+    private String verifyrule;
+
+    /**  棰濆瑙勫垯鏉′欢  */
+    @Excel(name = " 棰濆瑙勫垯鏉′欢 ")
+    private String extraruleconditions;
+
+    /**  棰濆楠岃瘉瑙勫垯  */
+    @Excel(name = " 棰濆楠岃瘉瑙勫垯 ")
+    private String extraverifyrule;
+
+    /**  鍒嗙粍缂栧彿  */
+    @Excel(name = " 鍒嗙粍缂栧彿 ")
+    private Long number;
+
+    /**  鐖剁骇鍒嗙粍  */
+    @Excel(name = " 鐖剁骇鍒嗙粍 ")
+    private Long groupnumber;
+
+    /**  鐖朵笖鎴�  */
+    @Excel(name = " 鐖朵笖鎴� ")
+    private Long grouporand;
+
+    /**  鏄惁蹇呭~  */
+    @Excel(name = " 鏄惁蹇呭~ ")
+    private Long isrequired;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+    public void setConditionstype(Long conditionstype) 
+    {
+        this.conditionstype = conditionstype;
+    }
+
+    public Long getConditionstype() 
+    {
+        return conditionstype;
+    }
+    public void setOrand(Long orand) 
+    {
+        this.orand = orand;
+    }
+
+    public Long getOrand() 
+    {
+        return orand;
+    }
+    public void setRuleconditions(String ruleconditions) 
+    {
+        this.ruleconditions = ruleconditions;
+    }
+
+    public String getRuleconditions() 
+    {
+        return ruleconditions;
+    }
+    public void setParentresultconditionsid(String parentresultconditionsid) 
+    {
+        this.parentresultconditionsid = parentresultconditionsid;
+    }
+
+    public String getParentresultconditionsid() 
+    {
+        return parentresultconditionsid;
+    }
+    public void setOrgid(String orgid) 
+    {
+        this.orgid = orgid;
+    }
+
+    public String getOrgid() 
+    {
+        return orgid;
+    }
+    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 setSchemeid(Long schemeid) 
+    {
+        this.schemeid = schemeid;
+    }
+
+    public Long getSchemeid() 
+    {
+        return schemeid;
+    }
+    public void setTriggersceneid(Long triggersceneid) 
+    {
+        this.triggersceneid = triggersceneid;
+    }
+
+    public Long getTriggersceneid() 
+    {
+        return triggersceneid;
+    }
+    public void setConditionstypesecord(Long conditionstypesecord) 
+    {
+        this.conditionstypesecord = conditionstypesecord;
+    }
+
+    public Long getConditionstypesecord() 
+    {
+        return conditionstypesecord;
+    }
+    public void setConditionstypethree(String conditionstypethree) 
+    {
+        this.conditionstypethree = conditionstypethree;
+    }
+
+    public String getConditionstypethree() 
+    {
+        return conditionstypethree;
+    }
+    public void setVerifyrule(String verifyrule) 
+    {
+        this.verifyrule = verifyrule;
+    }
+
+    public String getVerifyrule() 
+    {
+        return verifyrule;
+    }
+    public void setExtraruleconditions(String extraruleconditions) 
+    {
+        this.extraruleconditions = extraruleconditions;
+    }
+
+    public String getExtraruleconditions() 
+    {
+        return extraruleconditions;
+    }
+    public void setExtraverifyrule(String extraverifyrule) 
+    {
+        this.extraverifyrule = extraverifyrule;
+    }
+
+    public String getExtraverifyrule() 
+    {
+        return extraverifyrule;
+    }
+    public void setNumber(Long number) 
+    {
+        this.number = number;
+    }
+
+    public Long getNumber() 
+    {
+        return number;
+    }
+    public void setGroupnumber(Long groupnumber) 
+    {
+        this.groupnumber = groupnumber;
+    }
+
+    public Long getGroupnumber() 
+    {
+        return groupnumber;
+    }
+    public void setGrouporand(Long grouporand) 
+    {
+        this.grouporand = grouporand;
+    }
+
+    public Long getGrouporand() 
+    {
+        return grouporand;
+    }
+    public void setIsrequired(Long isrequired) 
+    {
+        this.isrequired = isrequired;
+    }
+
+    public Long getIsrequired() 
+    {
+        return isrequired;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("conditionstype", getConditionstype())
+            .append("orand", getOrand())
+            .append("ruleconditions", getRuleconditions())
+            .append("parentresultconditionsid", getParentresultconditionsid())
+            .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("schemeid", getSchemeid())
+            .append("triggersceneid", getTriggersceneid())
+            .append("conditionstypesecord", getConditionstypesecord())
+            .append("conditionstypethree", getConditionstypethree())
+            .append("verifyrule", getVerifyrule())
+            .append("extraruleconditions", getExtraruleconditions())
+            .append("extraverifyrule", getExtraverifyrule())
+            .append("number", getNumber())
+            .append("groupnumber", getGroupnumber())
+            .append("grouporand", getGrouporand())
+            .append("isrequired", getIsrequired())
+            .toString();
+    }
+}
diff --git a/smartor/src/main/java/com/smartor/domain/SchemeTriggerscene.java b/smartor/src/main/java/com/smartor/domain/SchemeTriggerscene.java
new file mode 100644
index 0000000..6254571
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/domain/SchemeTriggerscene.java
@@ -0,0 +1,155 @@
+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;
+
+/**
+ * 鏂规瑙﹀彂鍦烘櫙瀵硅薄 scheme_triggerscene
+ * 
+ * @author smartor
+ * @date 2023-03-04
+ */
+public class SchemeTriggerscene extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /**  鑷ID  */
+    private Long id;
+
+    /**  鏂规ID  */
+    @Excel(name = " 鏂规ID ")
+    private Long schemeid;
+
+    /**  鍩虹嚎鏃堕棿;1.鍔犲叆鍚� 2.鍑洪櫌鍚� 3.灏辫瘖鍚� 4.鍏ラ櫌鍚� 5.鎵嬫湳鍓� 6.鎵嬫湳鍚� 7.寮�鑽墠 8.妫�楠岀敵璇峰悗 9.妫�楠屽畬鎴愬悗 10.妫�鏌ョ敵璇峰悗 11.妫�鏌ュ畬鎴愬悗 12.浜嬩欢鍙戠敓鍚� 13.鍩虹嚎鏃ユ湡鍚�  */
+    @Excel(name = " 鍩虹嚎鏃堕棿;1.鍔犲叆鍚� 2.鍑洪櫌鍚� 3.灏辫瘖鍚� 4.鍏ラ櫌鍚� 5.鎵嬫湳鍓� 6.鎵嬫湳鍚� 7.寮�鑽墠 8.妫�楠岀敵璇峰悗 9.妫�楠屽畬鎴愬悗 10.妫�鏌ョ敵璇峰悗 11.妫�鏌ュ畬鎴愬悗 12.浜嬩欢鍙戠敓鍚� 13.鍩虹嚎鏃ユ湡鍚� ")
+    private Long baselinetime;
+
+    /**  瑙﹀彂鏉′欢;0.鏃� 1.鏈�  */
+    @Excel(name = " 瑙﹀彂鏉′欢;0.鏃� 1.鏈� ")
+    private Long triggerornot;
+
+    /**  鏈烘瀯ID  */
+    @Excel(name = " 鏈烘瀯ID ")
+    private String orgid;
+
+    /**  鍒犻櫎鏍囪  */
+    private String delFlag;
+
+    /**  涓婁紶鏍囪  */
+    @Excel(name = " 涓婁紶鏍囪 ")
+    private Long isupload;
+
+    /**  涓婁紶鏃堕棿  */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = " 涓婁紶鏃堕棿 ", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date uploadTime;
+
+    /**  鏄惁涓轰富璺緞;0.鍚� 1.鏄�  */
+    @Excel(name = " 鏄惁涓轰富璺緞;0.鍚� 1.鏄� ")
+    private Long ismain;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+    public void setSchemeid(Long schemeid) 
+    {
+        this.schemeid = schemeid;
+    }
+
+    public Long getSchemeid() 
+    {
+        return schemeid;
+    }
+    public void setBaselinetime(Long baselinetime) 
+    {
+        this.baselinetime = baselinetime;
+    }
+
+    public Long getBaselinetime() 
+    {
+        return baselinetime;
+    }
+    public void setTriggerornot(Long triggerornot) 
+    {
+        this.triggerornot = triggerornot;
+    }
+
+    public Long getTriggerornot() 
+    {
+        return triggerornot;
+    }
+    public void setOrgid(String orgid) 
+    {
+        this.orgid = orgid;
+    }
+
+    public String getOrgid() 
+    {
+        return orgid;
+    }
+    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 setIsmain(Long ismain) 
+    {
+        this.ismain = ismain;
+    }
+
+    public Long getIsmain() 
+    {
+        return ismain;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("schemeid", getSchemeid())
+            .append("baselinetime", getBaselinetime())
+            .append("triggerornot", getTriggerornot())
+            .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("ismain", getIsmain())
+            .toString();
+    }
+}
diff --git a/smartor/src/main/java/com/smartor/mapper/PatMedInhospMapper.java b/smartor/src/main/java/com/smartor/mapper/PatMedInhospMapper.java
new file mode 100644
index 0000000..410c9b2
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/mapper/PatMedInhospMapper.java
@@ -0,0 +1,61 @@
+package com.smartor.mapper;
+
+import java.util.List;
+import com.smartor.domain.PatMedInhosp;
+
+/**
+ * 鎮h�呬綇闄㈣褰昅apper鎺ュ彛
+ * 
+ * @author smartor
+ * @date 2023-03-04
+ */
+public interface PatMedInhospMapper 
+{
+    /**
+     * 鏌ヨ鎮h�呬綇闄㈣褰�
+     * 
+     * @param inhospid 鎮h�呬綇闄㈣褰曚富閿�
+     * @return 鎮h�呬綇闄㈣褰�
+     */
+    public PatMedInhosp selectPatMedInhospByInhospid(Long inhospid);
+
+    /**
+     * 鏌ヨ鎮h�呬綇闄㈣褰曞垪琛�
+     * 
+     * @param patMedInhosp 鎮h�呬綇闄㈣褰�
+     * @return 鎮h�呬綇闄㈣褰曢泦鍚�
+     */
+    public List<PatMedInhosp> selectPatMedInhospList(PatMedInhosp patMedInhosp);
+
+    /**
+     * 鏂板鎮h�呬綇闄㈣褰�
+     * 
+     * @param patMedInhosp 鎮h�呬綇闄㈣褰�
+     * @return 缁撴灉
+     */
+    public int insertPatMedInhosp(PatMedInhosp patMedInhosp);
+
+    /**
+     * 淇敼鎮h�呬綇闄㈣褰�
+     * 
+     * @param patMedInhosp 鎮h�呬綇闄㈣褰�
+     * @return 缁撴灉
+     */
+    public int updatePatMedInhosp(PatMedInhosp patMedInhosp);
+
+    /**
+     * 鍒犻櫎鎮h�呬綇闄㈣褰�
+     * 
+     * @param inhospid 鎮h�呬綇闄㈣褰曚富閿�
+     * @return 缁撴灉
+     */
+    public int deletePatMedInhospByInhospid(Long inhospid);
+
+    /**
+     * 鎵归噺鍒犻櫎鎮h�呬綇闄㈣褰�
+     * 
+     * @param inhospids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deletePatMedInhospByInhospids(Long[] inhospids);
+}
diff --git a/smartor/src/main/java/com/smartor/mapper/PatMedOuthospMapper.java b/smartor/src/main/java/com/smartor/mapper/PatMedOuthospMapper.java
new file mode 100644
index 0000000..b22c37d
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/mapper/PatMedOuthospMapper.java
@@ -0,0 +1,61 @@
+package com.smartor.mapper;
+
+import java.util.List;
+import com.smartor.domain.PatMedOuthosp;
+
+/**
+ * 鎮h�呴棬璇婅褰昅apper鎺ュ彛
+ * 
+ * @author smartor
+ * @date 2023-03-04
+ */
+public interface PatMedOuthospMapper 
+{
+    /**
+     * 鏌ヨ鎮h�呴棬璇婅褰�
+     * 
+     * @param id 鎮h�呴棬璇婅褰曚富閿�
+     * @return 鎮h�呴棬璇婅褰�
+     */
+    public PatMedOuthosp selectPatMedOuthospById(Long id);
+
+    /**
+     * 鏌ヨ鎮h�呴棬璇婅褰曞垪琛�
+     * 
+     * @param patMedOuthosp 鎮h�呴棬璇婅褰�
+     * @return 鎮h�呴棬璇婅褰曢泦鍚�
+     */
+    public List<PatMedOuthosp> selectPatMedOuthospList(PatMedOuthosp patMedOuthosp);
+
+    /**
+     * 鏂板鎮h�呴棬璇婅褰�
+     * 
+     * @param patMedOuthosp 鎮h�呴棬璇婅褰�
+     * @return 缁撴灉
+     */
+    public int insertPatMedOuthosp(PatMedOuthosp patMedOuthosp);
+
+    /**
+     * 淇敼鎮h�呴棬璇婅褰�
+     * 
+     * @param patMedOuthosp 鎮h�呴棬璇婅褰�
+     * @return 缁撴灉
+     */
+    public int updatePatMedOuthosp(PatMedOuthosp patMedOuthosp);
+
+    /**
+     * 鍒犻櫎鎮h�呴棬璇婅褰�
+     * 
+     * @param id 鎮h�呴棬璇婅褰曚富閿�
+     * @return 缁撴灉
+     */
+    public int deletePatMedOuthospById(Long id);
+
+    /**
+     * 鎵归噺鍒犻櫎鎮h�呴棬璇婅褰�
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deletePatMedOuthospByIds(Long[] ids);
+}
diff --git a/smartor/src/main/java/com/smartor/mapper/PatMedPhysicalMapper.java b/smartor/src/main/java/com/smartor/mapper/PatMedPhysicalMapper.java
new file mode 100644
index 0000000..8a218e9
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/mapper/PatMedPhysicalMapper.java
@@ -0,0 +1,61 @@
+package com.smartor.mapper;
+
+import java.util.List;
+import com.smartor.domain.PatMedPhysical;
+
+/**
+ * 鎮h�呬綋妫�璁板綍Mapper鎺ュ彛
+ * 
+ * @author smartor
+ * @date 2023-03-04
+ */
+public interface PatMedPhysicalMapper 
+{
+    /**
+     * 鏌ヨ鎮h�呬綋妫�璁板綍
+     * 
+     * @param id 鎮h�呬綋妫�璁板綍涓婚敭
+     * @return 鎮h�呬綋妫�璁板綍
+     */
+    public PatMedPhysical selectPatMedPhysicalById(Long id);
+
+    /**
+     * 鏌ヨ鎮h�呬綋妫�璁板綍鍒楄〃
+     * 
+     * @param patMedPhysical 鎮h�呬綋妫�璁板綍
+     * @return 鎮h�呬綋妫�璁板綍闆嗗悎
+     */
+    public List<PatMedPhysical> selectPatMedPhysicalList(PatMedPhysical patMedPhysical);
+
+    /**
+     * 鏂板鎮h�呬綋妫�璁板綍
+     * 
+     * @param patMedPhysical 鎮h�呬綋妫�璁板綍
+     * @return 缁撴灉
+     */
+    public int insertPatMedPhysical(PatMedPhysical patMedPhysical);
+
+    /**
+     * 淇敼鎮h�呬綋妫�璁板綍
+     * 
+     * @param patMedPhysical 鎮h�呬綋妫�璁板綍
+     * @return 缁撴灉
+     */
+    public int updatePatMedPhysical(PatMedPhysical patMedPhysical);
+
+    /**
+     * 鍒犻櫎鎮h�呬綋妫�璁板綍
+     * 
+     * @param id 鎮h�呬綋妫�璁板綍涓婚敭
+     * @return 缁撴灉
+     */
+    public int deletePatMedPhysicalById(Long id);
+
+    /**
+     * 鎵归噺鍒犻櫎鎮h�呬綋妫�璁板綍
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deletePatMedPhysicalByIds(Long[] ids);
+}
diff --git a/smartor/src/main/java/com/smartor/mapper/SchemeAutofinshruleMapper.java b/smartor/src/main/java/com/smartor/mapper/SchemeAutofinshruleMapper.java
new file mode 100644
index 0000000..68c0c53
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/mapper/SchemeAutofinshruleMapper.java
@@ -0,0 +1,61 @@
+package com.ruoyi.smartor.mapper;
+
+import java.util.List;
+import com.ruoyi.smartor.domain.SchemeAutofinshrule;
+
+/**
+ * 鏂规缁撴瑙勫垯Mapper鎺ュ彛
+ * 
+ * @author smartor
+ * @date 2023-03-04
+ */
+public interface SchemeAutofinshruleMapper 
+{
+    /**
+     * 鏌ヨ鏂规缁撴瑙勫垯
+     * 
+     * @param id 鏂规缁撴瑙勫垯涓婚敭
+     * @return 鏂规缁撴瑙勫垯
+     */
+    public SchemeAutofinshrule selectSchemeAutofinshruleById(Long id);
+
+    /**
+     * 鏌ヨ鏂规缁撴瑙勫垯鍒楄〃
+     * 
+     * @param schemeAutofinshrule 鏂规缁撴瑙勫垯
+     * @return 鏂规缁撴瑙勫垯闆嗗悎
+     */
+    public List<SchemeAutofinshrule> selectSchemeAutofinshruleList(SchemeAutofinshrule schemeAutofinshrule);
+
+    /**
+     * 鏂板鏂规缁撴瑙勫垯
+     * 
+     * @param schemeAutofinshrule 鏂规缁撴瑙勫垯
+     * @return 缁撴灉
+     */
+    public int insertSchemeAutofinshrule(SchemeAutofinshrule schemeAutofinshrule);
+
+    /**
+     * 淇敼鏂规缁撴瑙勫垯
+     * 
+     * @param schemeAutofinshrule 鏂规缁撴瑙勫垯
+     * @return 缁撴灉
+     */
+    public int updateSchemeAutofinshrule(SchemeAutofinshrule schemeAutofinshrule);
+
+    /**
+     * 鍒犻櫎鏂规缁撴瑙勫垯
+     * 
+     * @param id 鏂规缁撴瑙勫垯涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteSchemeAutofinshruleById(Long id);
+
+    /**
+     * 鎵归噺鍒犻櫎鏂规缁撴瑙勫垯
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteSchemeAutofinshruleByIds(Long[] ids);
+}
diff --git a/smartor/src/main/java/com/smartor/mapper/SchemeCategoryMapper.java b/smartor/src/main/java/com/smartor/mapper/SchemeCategoryMapper.java
new file mode 100644
index 0000000..fbd8568
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/mapper/SchemeCategoryMapper.java
@@ -0,0 +1,61 @@
+package com.smartor.mapper;
+
+import java.util.List;
+import com.smartor.domain.SchemeCategory;
+
+/**
+ * 鏂规鍒嗙被Mapper鎺ュ彛
+ * 
+ * @author smartor
+ * @date 2023-03-04
+ */
+public interface SchemeCategoryMapper 
+{
+    /**
+     * 鏌ヨ鏂规鍒嗙被
+     * 
+     * @param id 鏂规鍒嗙被涓婚敭
+     * @return 鏂规鍒嗙被
+     */
+    public SchemeCategory selectSchemeCategoryById(Long id);
+
+    /**
+     * 鏌ヨ鏂规鍒嗙被鍒楄〃
+     * 
+     * @param schemeCategory 鏂规鍒嗙被
+     * @return 鏂规鍒嗙被闆嗗悎
+     */
+    public List<SchemeCategory> selectSchemeCategoryList(SchemeCategory schemeCategory);
+
+    /**
+     * 鏂板鏂规鍒嗙被
+     * 
+     * @param schemeCategory 鏂规鍒嗙被
+     * @return 缁撴灉
+     */
+    public int insertSchemeCategory(SchemeCategory schemeCategory);
+
+    /**
+     * 淇敼鏂规鍒嗙被
+     * 
+     * @param schemeCategory 鏂规鍒嗙被
+     * @return 缁撴灉
+     */
+    public int updateSchemeCategory(SchemeCategory schemeCategory);
+
+    /**
+     * 鍒犻櫎鏂规鍒嗙被
+     * 
+     * @param id 鏂规鍒嗙被涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteSchemeCategoryById(Long id);
+
+    /**
+     * 鎵归噺鍒犻櫎鏂规鍒嗙被
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteSchemeCategoryByIds(Long[] ids);
+}
diff --git a/smartor/src/main/java/com/smartor/mapper/SchemeLocallibraryMapper.java b/smartor/src/main/java/com/smartor/mapper/SchemeLocallibraryMapper.java
new file mode 100644
index 0000000..b020978
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/mapper/SchemeLocallibraryMapper.java
@@ -0,0 +1,61 @@
+package com.smartor.mapper;
+
+import java.util.List;
+import com.smartor.domain.SchemeLocallibrary;
+
+/**
+ * 鏈嶅姟鏂规搴揗apper鎺ュ彛
+ * 
+ * @author smartor
+ * @date 2023-03-04
+ */
+public interface SchemeLocallibraryMapper 
+{
+    /**
+     * 鏌ヨ鏈嶅姟鏂规搴�
+     * 
+     * @param id 鏈嶅姟鏂规搴撲富閿�
+     * @return 鏈嶅姟鏂规搴�
+     */
+    public SchemeLocallibrary selectSchemeLocallibraryById(Long id);
+
+    /**
+     * 鏌ヨ鏈嶅姟鏂规搴撳垪琛�
+     * 
+     * @param schemeLocallibrary 鏈嶅姟鏂规搴�
+     * @return 鏈嶅姟鏂规搴撻泦鍚�
+     */
+    public List<SchemeLocallibrary> selectSchemeLocallibraryList(SchemeLocallibrary schemeLocallibrary);
+
+    /**
+     * 鏂板鏈嶅姟鏂规搴�
+     * 
+     * @param schemeLocallibrary 鏈嶅姟鏂规搴�
+     * @return 缁撴灉
+     */
+    public int insertSchemeLocallibrary(SchemeLocallibrary schemeLocallibrary);
+
+    /**
+     * 淇敼鏈嶅姟鏂规搴�
+     * 
+     * @param schemeLocallibrary 鏈嶅姟鏂规搴�
+     * @return 缁撴灉
+     */
+    public int updateSchemeLocallibrary(SchemeLocallibrary schemeLocallibrary);
+
+    /**
+     * 鍒犻櫎鏈嶅姟鏂规搴�
+     * 
+     * @param id 鏈嶅姟鏂规搴撲富閿�
+     * @return 缁撴灉
+     */
+    public int deleteSchemeLocallibraryById(Long id);
+
+    /**
+     * 鎵归噺鍒犻櫎鏈嶅姟鏂规搴�
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteSchemeLocallibraryByIds(Long[] ids);
+}
diff --git a/smartor/src/main/java/com/smartor/mapper/SchemePlanMapper.java b/smartor/src/main/java/com/smartor/mapper/SchemePlanMapper.java
new file mode 100644
index 0000000..656aeff
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/mapper/SchemePlanMapper.java
@@ -0,0 +1,61 @@
+package com.smartor.mapper;
+
+import java.util.List;
+import com.smartor.domain.SchemePlan;
+
+/**
+ * 绠$悊璁″垝Mapper鎺ュ彛
+ * 
+ * @author smartor
+ * @date 2023-03-04
+ */
+public interface SchemePlanMapper 
+{
+    /**
+     * 鏌ヨ绠$悊璁″垝
+     * 
+     * @param id 绠$悊璁″垝涓婚敭
+     * @return 绠$悊璁″垝
+     */
+    public SchemePlan selectSchemePlanById(Long id);
+
+    /**
+     * 鏌ヨ绠$悊璁″垝鍒楄〃
+     * 
+     * @param schemePlan 绠$悊璁″垝
+     * @return 绠$悊璁″垝闆嗗悎
+     */
+    public List<SchemePlan> selectSchemePlanList(SchemePlan schemePlan);
+
+    /**
+     * 鏂板绠$悊璁″垝
+     * 
+     * @param schemePlan 绠$悊璁″垝
+     * @return 缁撴灉
+     */
+    public int insertSchemePlan(SchemePlan schemePlan);
+
+    /**
+     * 淇敼绠$悊璁″垝
+     * 
+     * @param schemePlan 绠$悊璁″垝
+     * @return 缁撴灉
+     */
+    public int updateSchemePlan(SchemePlan schemePlan);
+
+    /**
+     * 鍒犻櫎绠$悊璁″垝
+     * 
+     * @param id 绠$悊璁″垝涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteSchemePlanById(Long id);
+
+    /**
+     * 鎵归噺鍒犻櫎绠$悊璁″垝
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteSchemePlanByIds(Long[] ids);
+}
diff --git a/smartor/src/main/java/com/smartor/mapper/SchemeTaskMapper.java b/smartor/src/main/java/com/smartor/mapper/SchemeTaskMapper.java
new file mode 100644
index 0000000..8b83936
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/mapper/SchemeTaskMapper.java
@@ -0,0 +1,61 @@
+package com.smartor.mapper;
+
+import java.util.List;
+import com.smartor.domain.SchemeTask;
+
+/**
+ * 鏂规浠诲姟Mapper鎺ュ彛
+ * 
+ * @author smartor
+ * @date 2023-03-04
+ */
+public interface SchemeTaskMapper 
+{
+    /**
+     * 鏌ヨ鏂规浠诲姟
+     * 
+     * @param id 鏂规浠诲姟涓婚敭
+     * @return 鏂规浠诲姟
+     */
+    public SchemeTask selectSchemeTaskById(Long id);
+
+    /**
+     * 鏌ヨ鏂规浠诲姟鍒楄〃
+     * 
+     * @param schemeTask 鏂规浠诲姟
+     * @return 鏂规浠诲姟闆嗗悎
+     */
+    public List<SchemeTask> selectSchemeTaskList(SchemeTask schemeTask);
+
+    /**
+     * 鏂板鏂规浠诲姟
+     * 
+     * @param schemeTask 鏂规浠诲姟
+     * @return 缁撴灉
+     */
+    public int insertSchemeTask(SchemeTask schemeTask);
+
+    /**
+     * 淇敼鏂规浠诲姟
+     * 
+     * @param schemeTask 鏂规浠诲姟
+     * @return 缁撴灉
+     */
+    public int updateSchemeTask(SchemeTask schemeTask);
+
+    /**
+     * 鍒犻櫎鏂规浠诲姟
+     * 
+     * @param id 鏂规浠诲姟涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteSchemeTaskById(Long id);
+
+    /**
+     * 鎵归噺鍒犻櫎鏂规浠诲姟
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteSchemeTaskByIds(Long[] ids);
+}
diff --git a/smartor/src/main/java/com/smartor/mapper/SchemeTaskconfigMapper.java b/smartor/src/main/java/com/smartor/mapper/SchemeTaskconfigMapper.java
new file mode 100644
index 0000000..bfadafa
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/mapper/SchemeTaskconfigMapper.java
@@ -0,0 +1,61 @@
+package com.smartor.mapper;
+
+import java.util.List;
+import com.smartor.domain.SchemeTaskconfig;
+
+/**
+ * 鏂规浠诲姟閰嶇疆Mapper鎺ュ彛
+ * 
+ * @author smartor
+ * @date 2023-03-04
+ */
+public interface SchemeTaskconfigMapper 
+{
+    /**
+     * 鏌ヨ鏂规浠诲姟閰嶇疆
+     * 
+     * @param id 鏂规浠诲姟閰嶇疆涓婚敭
+     * @return 鏂规浠诲姟閰嶇疆
+     */
+    public SchemeTaskconfig selectSchemeTaskconfigById(Long id);
+
+    /**
+     * 鏌ヨ鏂规浠诲姟閰嶇疆鍒楄〃
+     * 
+     * @param schemeTaskconfig 鏂规浠诲姟閰嶇疆
+     * @return 鏂规浠诲姟閰嶇疆闆嗗悎
+     */
+    public List<SchemeTaskconfig> selectSchemeTaskconfigList(SchemeTaskconfig schemeTaskconfig);
+
+    /**
+     * 鏂板鏂规浠诲姟閰嶇疆
+     * 
+     * @param schemeTaskconfig 鏂规浠诲姟閰嶇疆
+     * @return 缁撴灉
+     */
+    public int insertSchemeTaskconfig(SchemeTaskconfig schemeTaskconfig);
+
+    /**
+     * 淇敼鏂规浠诲姟閰嶇疆
+     * 
+     * @param schemeTaskconfig 鏂规浠诲姟閰嶇疆
+     * @return 缁撴灉
+     */
+    public int updateSchemeTaskconfig(SchemeTaskconfig schemeTaskconfig);
+
+    /**
+     * 鍒犻櫎鏂规浠诲姟閰嶇疆
+     * 
+     * @param id 鏂规浠诲姟閰嶇疆涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteSchemeTaskconfigById(Long id);
+
+    /**
+     * 鎵归噺鍒犻櫎鏂规浠诲姟閰嶇疆
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteSchemeTaskconfigByIds(Long[] ids);
+}
diff --git a/smartor/src/main/java/com/smartor/mapper/SchemeTaskrecordCalldetailMapper.java b/smartor/src/main/java/com/smartor/mapper/SchemeTaskrecordCalldetailMapper.java
new file mode 100644
index 0000000..60f9540
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/mapper/SchemeTaskrecordCalldetailMapper.java
@@ -0,0 +1,61 @@
+package com.smartor.mapper;
+
+import java.util.List;
+import com.smartor.domain.SchemeTaskrecordCalldetail;
+
+/**
+ * 鏂规AI澶栧懠浠诲姟璇︽儏Mapper鎺ュ彛
+ * 
+ * @author smartor
+ * @date 2023-03-04
+ */
+public interface SchemeTaskrecordCalldetailMapper 
+{
+    /**
+     * 鏌ヨ鏂规AI澶栧懠浠诲姟璇︽儏
+     * 
+     * @param id 鏂规AI澶栧懠浠诲姟璇︽儏涓婚敭
+     * @return 鏂规AI澶栧懠浠诲姟璇︽儏
+     */
+    public SchemeTaskrecordCalldetail selectSchemeTaskrecordCalldetailById(Long id);
+
+    /**
+     * 鏌ヨ鏂规AI澶栧懠浠诲姟璇︽儏鍒楄〃
+     * 
+     * @param schemeTaskrecordCalldetail 鏂规AI澶栧懠浠诲姟璇︽儏
+     * @return 鏂规AI澶栧懠浠诲姟璇︽儏闆嗗悎
+     */
+    public List<SchemeTaskrecordCalldetail> selectSchemeTaskrecordCalldetailList(SchemeTaskrecordCalldetail schemeTaskrecordCalldetail);
+
+    /**
+     * 鏂板鏂规AI澶栧懠浠诲姟璇︽儏
+     * 
+     * @param schemeTaskrecordCalldetail 鏂规AI澶栧懠浠诲姟璇︽儏
+     * @return 缁撴灉
+     */
+    public int insertSchemeTaskrecordCalldetail(SchemeTaskrecordCalldetail schemeTaskrecordCalldetail);
+
+    /**
+     * 淇敼鏂规AI澶栧懠浠诲姟璇︽儏
+     * 
+     * @param schemeTaskrecordCalldetail 鏂规AI澶栧懠浠诲姟璇︽儏
+     * @return 缁撴灉
+     */
+    public int updateSchemeTaskrecordCalldetail(SchemeTaskrecordCalldetail schemeTaskrecordCalldetail);
+
+    /**
+     * 鍒犻櫎鏂规AI澶栧懠浠诲姟璇︽儏
+     * 
+     * @param id 鏂规AI澶栧懠浠诲姟璇︽儏涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteSchemeTaskrecordCalldetailById(Long id);
+
+    /**
+     * 鎵归噺鍒犻櫎鏂规AI澶栧懠浠诲姟璇︽儏
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteSchemeTaskrecordCalldetailByIds(Long[] ids);
+}
diff --git a/smartor/src/main/java/com/smartor/mapper/SchemeTaskrecordMapper.java b/smartor/src/main/java/com/smartor/mapper/SchemeTaskrecordMapper.java
new file mode 100644
index 0000000..abe5405
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/mapper/SchemeTaskrecordMapper.java
@@ -0,0 +1,61 @@
+package com.smartor.mapper;
+
+import java.util.List;
+import com.smartor.domain.SchemeTaskrecord;
+
+/**
+ * 鏂规浠诲姟澶勭悊璁板綍Mapper鎺ュ彛
+ * 
+ * @author smartor
+ * @date 2023-03-04
+ */
+public interface SchemeTaskrecordMapper 
+{
+    /**
+     * 鏌ヨ鏂规浠诲姟澶勭悊璁板綍
+     * 
+     * @param id 鏂规浠诲姟澶勭悊璁板綍涓婚敭
+     * @return 鏂规浠诲姟澶勭悊璁板綍
+     */
+    public SchemeTaskrecord selectSchemeTaskrecordById(Long id);
+
+    /**
+     * 鏌ヨ鏂规浠诲姟澶勭悊璁板綍鍒楄〃
+     * 
+     * @param schemeTaskrecord 鏂规浠诲姟澶勭悊璁板綍
+     * @return 鏂规浠诲姟澶勭悊璁板綍闆嗗悎
+     */
+    public List<SchemeTaskrecord> selectSchemeTaskrecordList(SchemeTaskrecord schemeTaskrecord);
+
+    /**
+     * 鏂板鏂规浠诲姟澶勭悊璁板綍
+     * 
+     * @param schemeTaskrecord 鏂规浠诲姟澶勭悊璁板綍
+     * @return 缁撴灉
+     */
+    public int insertSchemeTaskrecord(SchemeTaskrecord schemeTaskrecord);
+
+    /**
+     * 淇敼鏂规浠诲姟澶勭悊璁板綍
+     * 
+     * @param schemeTaskrecord 鏂规浠诲姟澶勭悊璁板綍
+     * @return 缁撴灉
+     */
+    public int updateSchemeTaskrecord(SchemeTaskrecord schemeTaskrecord);
+
+    /**
+     * 鍒犻櫎鏂规浠诲姟澶勭悊璁板綍
+     * 
+     * @param id 鏂规浠诲姟澶勭悊璁板綍涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteSchemeTaskrecordById(Long id);
+
+    /**
+     * 鎵归噺鍒犻櫎鏂规浠诲姟澶勭悊璁板綍
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteSchemeTaskrecordByIds(Long[] ids);
+}
diff --git a/smartor/src/main/java/com/smartor/mapper/SchemeTaskrepeatconfigMapper.java b/smartor/src/main/java/com/smartor/mapper/SchemeTaskrepeatconfigMapper.java
new file mode 100644
index 0000000..6108870
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/mapper/SchemeTaskrepeatconfigMapper.java
@@ -0,0 +1,61 @@
+package com.smartor.mapper;
+
+import java.util.List;
+import com.smartor.domain.SchemeTaskrepeatconfig;
+
+/**
+ * 鏂规浠诲姟閲嶅彂閰嶇疆Mapper鎺ュ彛
+ * 
+ * @author smartor
+ * @date 2023-03-04
+ */
+public interface SchemeTaskrepeatconfigMapper 
+{
+    /**
+     * 鏌ヨ鏂规浠诲姟閲嶅彂閰嶇疆
+     * 
+     * @param id 鏂规浠诲姟閲嶅彂閰嶇疆涓婚敭
+     * @return 鏂规浠诲姟閲嶅彂閰嶇疆
+     */
+    public SchemeTaskrepeatconfig selectSchemeTaskrepeatconfigById(Long id);
+
+    /**
+     * 鏌ヨ鏂规浠诲姟閲嶅彂閰嶇疆鍒楄〃
+     * 
+     * @param schemeTaskrepeatconfig 鏂规浠诲姟閲嶅彂閰嶇疆
+     * @return 鏂规浠诲姟閲嶅彂閰嶇疆闆嗗悎
+     */
+    public List<SchemeTaskrepeatconfig> selectSchemeTaskrepeatconfigList(SchemeTaskrepeatconfig schemeTaskrepeatconfig);
+
+    /**
+     * 鏂板鏂规浠诲姟閲嶅彂閰嶇疆
+     * 
+     * @param schemeTaskrepeatconfig 鏂规浠诲姟閲嶅彂閰嶇疆
+     * @return 缁撴灉
+     */
+    public int insertSchemeTaskrepeatconfig(SchemeTaskrepeatconfig schemeTaskrepeatconfig);
+
+    /**
+     * 淇敼鏂规浠诲姟閲嶅彂閰嶇疆
+     * 
+     * @param schemeTaskrepeatconfig 鏂规浠诲姟閲嶅彂閰嶇疆
+     * @return 缁撴灉
+     */
+    public int updateSchemeTaskrepeatconfig(SchemeTaskrepeatconfig schemeTaskrepeatconfig);
+
+    /**
+     * 鍒犻櫎鏂规浠诲姟閲嶅彂閰嶇疆
+     * 
+     * @param id 鏂规浠诲姟閲嶅彂閰嶇疆涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteSchemeTaskrepeatconfigById(Long id);
+
+    /**
+     * 鎵归噺鍒犻櫎鏂规浠诲姟閲嶅彂閰嶇疆
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteSchemeTaskrepeatconfigByIds(Long[] ids);
+}
diff --git a/smartor/src/main/java/com/smartor/mapper/SchemeTriggerruleMapper.java b/smartor/src/main/java/com/smartor/mapper/SchemeTriggerruleMapper.java
new file mode 100644
index 0000000..401e729
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/mapper/SchemeTriggerruleMapper.java
@@ -0,0 +1,61 @@
+package com.smartor.mapper;
+
+import java.util.List;
+import com.smartor.domain.SchemeTriggerrule;
+
+/**
+ * 鏂规瑙﹀彂鏉′欢瑙勫垯Mapper鎺ュ彛
+ * 
+ * @author smartor
+ * @date 2023-03-04
+ */
+public interface SchemeTriggerruleMapper 
+{
+    /**
+     * 鏌ヨ鏂规瑙﹀彂鏉′欢瑙勫垯
+     * 
+     * @param id 鏂规瑙﹀彂鏉′欢瑙勫垯涓婚敭
+     * @return 鏂规瑙﹀彂鏉′欢瑙勫垯
+     */
+    public SchemeTriggerrule selectSchemeTriggerruleById(Long id);
+
+    /**
+     * 鏌ヨ鏂规瑙﹀彂鏉′欢瑙勫垯鍒楄〃
+     * 
+     * @param schemeTriggerrule 鏂规瑙﹀彂鏉′欢瑙勫垯
+     * @return 鏂规瑙﹀彂鏉′欢瑙勫垯闆嗗悎
+     */
+    public List<SchemeTriggerrule> selectSchemeTriggerruleList(SchemeTriggerrule schemeTriggerrule);
+
+    /**
+     * 鏂板鏂规瑙﹀彂鏉′欢瑙勫垯
+     * 
+     * @param schemeTriggerrule 鏂规瑙﹀彂鏉′欢瑙勫垯
+     * @return 缁撴灉
+     */
+    public int insertSchemeTriggerrule(SchemeTriggerrule schemeTriggerrule);
+
+    /**
+     * 淇敼鏂规瑙﹀彂鏉′欢瑙勫垯
+     * 
+     * @param schemeTriggerrule 鏂规瑙﹀彂鏉′欢瑙勫垯
+     * @return 缁撴灉
+     */
+    public int updateSchemeTriggerrule(SchemeTriggerrule schemeTriggerrule);
+
+    /**
+     * 鍒犻櫎鏂规瑙﹀彂鏉′欢瑙勫垯
+     * 
+     * @param id 鏂规瑙﹀彂鏉′欢瑙勫垯涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteSchemeTriggerruleById(Long id);
+
+    /**
+     * 鎵归噺鍒犻櫎鏂规瑙﹀彂鏉′欢瑙勫垯
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteSchemeTriggerruleByIds(Long[] ids);
+}
diff --git a/smartor/src/main/java/com/smartor/mapper/SchemeTriggersceneMapper.java b/smartor/src/main/java/com/smartor/mapper/SchemeTriggersceneMapper.java
new file mode 100644
index 0000000..772ae66
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/mapper/SchemeTriggersceneMapper.java
@@ -0,0 +1,61 @@
+package com.smartor.mapper;
+
+import java.util.List;
+import com.smartor.domain.SchemeTriggerscene;
+
+/**
+ * 鏂规瑙﹀彂鍦烘櫙Mapper鎺ュ彛
+ * 
+ * @author smartor
+ * @date 2023-03-04
+ */
+public interface SchemeTriggersceneMapper 
+{
+    /**
+     * 鏌ヨ鏂规瑙﹀彂鍦烘櫙
+     * 
+     * @param id 鏂规瑙﹀彂鍦烘櫙涓婚敭
+     * @return 鏂规瑙﹀彂鍦烘櫙
+     */
+    public SchemeTriggerscene selectSchemeTriggersceneById(Long id);
+
+    /**
+     * 鏌ヨ鏂规瑙﹀彂鍦烘櫙鍒楄〃
+     * 
+     * @param schemeTriggerscene 鏂规瑙﹀彂鍦烘櫙
+     * @return 鏂规瑙﹀彂鍦烘櫙闆嗗悎
+     */
+    public List<SchemeTriggerscene> selectSchemeTriggersceneList(SchemeTriggerscene schemeTriggerscene);
+
+    /**
+     * 鏂板鏂规瑙﹀彂鍦烘櫙
+     * 
+     * @param schemeTriggerscene 鏂规瑙﹀彂鍦烘櫙
+     * @return 缁撴灉
+     */
+    public int insertSchemeTriggerscene(SchemeTriggerscene schemeTriggerscene);
+
+    /**
+     * 淇敼鏂规瑙﹀彂鍦烘櫙
+     * 
+     * @param schemeTriggerscene 鏂规瑙﹀彂鍦烘櫙
+     * @return 缁撴灉
+     */
+    public int updateSchemeTriggerscene(SchemeTriggerscene schemeTriggerscene);
+
+    /**
+     * 鍒犻櫎鏂规瑙﹀彂鍦烘櫙
+     * 
+     * @param id 鏂规瑙﹀彂鍦烘櫙涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteSchemeTriggersceneById(Long id);
+
+    /**
+     * 鎵归噺鍒犻櫎鏂规瑙﹀彂鍦烘櫙
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteSchemeTriggersceneByIds(Long[] ids);
+}
diff --git a/smartor/src/main/java/com/smartor/service/IPatMedInhospService.java b/smartor/src/main/java/com/smartor/service/IPatMedInhospService.java
new file mode 100644
index 0000000..63bac56
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/service/IPatMedInhospService.java
@@ -0,0 +1,61 @@
+package com.smartor.service;
+
+import java.util.List;
+import com.smartor.domain.PatMedInhosp;
+
+/**
+ * 鎮h�呬綇闄㈣褰昐ervice鎺ュ彛
+ * 
+ * @author smartor
+ * @date 2023-03-04
+ */
+public interface IPatMedInhospService 
+{
+    /**
+     * 鏌ヨ鎮h�呬綇闄㈣褰�
+     * 
+     * @param inhospid 鎮h�呬綇闄㈣褰曚富閿�
+     * @return 鎮h�呬綇闄㈣褰�
+     */
+    public PatMedInhosp selectPatMedInhospByInhospid(Long inhospid);
+
+    /**
+     * 鏌ヨ鎮h�呬綇闄㈣褰曞垪琛�
+     * 
+     * @param patMedInhosp 鎮h�呬綇闄㈣褰�
+     * @return 鎮h�呬綇闄㈣褰曢泦鍚�
+     */
+    public List<PatMedInhosp> selectPatMedInhospList(PatMedInhosp patMedInhosp);
+
+    /**
+     * 鏂板鎮h�呬綇闄㈣褰�
+     * 
+     * @param patMedInhosp 鎮h�呬綇闄㈣褰�
+     * @return 缁撴灉
+     */
+    public int insertPatMedInhosp(PatMedInhosp patMedInhosp);
+
+    /**
+     * 淇敼鎮h�呬綇闄㈣褰�
+     * 
+     * @param patMedInhosp 鎮h�呬綇闄㈣褰�
+     * @return 缁撴灉
+     */
+    public int updatePatMedInhosp(PatMedInhosp patMedInhosp);
+
+    /**
+     * 鎵归噺鍒犻櫎鎮h�呬綇闄㈣褰�
+     * 
+     * @param inhospids 闇�瑕佸垹闄ょ殑鎮h�呬綇闄㈣褰曚富閿泦鍚�
+     * @return 缁撴灉
+     */
+    public int deletePatMedInhospByInhospids(Long[] inhospids);
+
+    /**
+     * 鍒犻櫎鎮h�呬綇闄㈣褰曚俊鎭�
+     * 
+     * @param inhospid 鎮h�呬綇闄㈣褰曚富閿�
+     * @return 缁撴灉
+     */
+    public int deletePatMedInhospByInhospid(Long inhospid);
+}
diff --git a/smartor/src/main/java/com/smartor/service/IPatMedOuthospService.java b/smartor/src/main/java/com/smartor/service/IPatMedOuthospService.java
new file mode 100644
index 0000000..6de62f6
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/service/IPatMedOuthospService.java
@@ -0,0 +1,61 @@
+package com.smartor.service;
+
+import java.util.List;
+import com.smartor.domain.PatMedOuthosp;
+
+/**
+ * 鎮h�呴棬璇婅褰昐ervice鎺ュ彛
+ * 
+ * @author smartor
+ * @date 2023-03-04
+ */
+public interface IPatMedOuthospService 
+{
+    /**
+     * 鏌ヨ鎮h�呴棬璇婅褰�
+     * 
+     * @param id 鎮h�呴棬璇婅褰曚富閿�
+     * @return 鎮h�呴棬璇婅褰�
+     */
+    public PatMedOuthosp selectPatMedOuthospById(Long id);
+
+    /**
+     * 鏌ヨ鎮h�呴棬璇婅褰曞垪琛�
+     * 
+     * @param patMedOuthosp 鎮h�呴棬璇婅褰�
+     * @return 鎮h�呴棬璇婅褰曢泦鍚�
+     */
+    public List<PatMedOuthosp> selectPatMedOuthospList(PatMedOuthosp patMedOuthosp);
+
+    /**
+     * 鏂板鎮h�呴棬璇婅褰�
+     * 
+     * @param patMedOuthosp 鎮h�呴棬璇婅褰�
+     * @return 缁撴灉
+     */
+    public int insertPatMedOuthosp(PatMedOuthosp patMedOuthosp);
+
+    /**
+     * 淇敼鎮h�呴棬璇婅褰�
+     * 
+     * @param patMedOuthosp 鎮h�呴棬璇婅褰�
+     * @return 缁撴灉
+     */
+    public int updatePatMedOuthosp(PatMedOuthosp patMedOuthosp);
+
+    /**
+     * 鎵归噺鍒犻櫎鎮h�呴棬璇婅褰�
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑鎮h�呴棬璇婅褰曚富閿泦鍚�
+     * @return 缁撴灉
+     */
+    public int deletePatMedOuthospByIds(Long[] ids);
+
+    /**
+     * 鍒犻櫎鎮h�呴棬璇婅褰曚俊鎭�
+     * 
+     * @param id 鎮h�呴棬璇婅褰曚富閿�
+     * @return 缁撴灉
+     */
+    public int deletePatMedOuthospById(Long id);
+}
diff --git a/smartor/src/main/java/com/smartor/service/IPatMedPhysicalService.java b/smartor/src/main/java/com/smartor/service/IPatMedPhysicalService.java
new file mode 100644
index 0000000..fe74258
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/service/IPatMedPhysicalService.java
@@ -0,0 +1,61 @@
+package com.smartor.service;
+
+import java.util.List;
+import com.smartor.domain.PatMedPhysical;
+
+/**
+ * 鎮h�呬綋妫�璁板綍Service鎺ュ彛
+ * 
+ * @author smartor
+ * @date 2023-03-04
+ */
+public interface IPatMedPhysicalService 
+{
+    /**
+     * 鏌ヨ鎮h�呬綋妫�璁板綍
+     * 
+     * @param id 鎮h�呬綋妫�璁板綍涓婚敭
+     * @return 鎮h�呬綋妫�璁板綍
+     */
+    public PatMedPhysical selectPatMedPhysicalById(Long id);
+
+    /**
+     * 鏌ヨ鎮h�呬綋妫�璁板綍鍒楄〃
+     * 
+     * @param patMedPhysical 鎮h�呬綋妫�璁板綍
+     * @return 鎮h�呬綋妫�璁板綍闆嗗悎
+     */
+    public List<PatMedPhysical> selectPatMedPhysicalList(PatMedPhysical patMedPhysical);
+
+    /**
+     * 鏂板鎮h�呬綋妫�璁板綍
+     * 
+     * @param patMedPhysical 鎮h�呬綋妫�璁板綍
+     * @return 缁撴灉
+     */
+    public int insertPatMedPhysical(PatMedPhysical patMedPhysical);
+
+    /**
+     * 淇敼鎮h�呬綋妫�璁板綍
+     * 
+     * @param patMedPhysical 鎮h�呬綋妫�璁板綍
+     * @return 缁撴灉
+     */
+    public int updatePatMedPhysical(PatMedPhysical patMedPhysical);
+
+    /**
+     * 鎵归噺鍒犻櫎鎮h�呬綋妫�璁板綍
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑鎮h�呬綋妫�璁板綍涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deletePatMedPhysicalByIds(Long[] ids);
+
+    /**
+     * 鍒犻櫎鎮h�呬綋妫�璁板綍淇℃伅
+     * 
+     * @param id 鎮h�呬綋妫�璁板綍涓婚敭
+     * @return 缁撴灉
+     */
+    public int deletePatMedPhysicalById(Long id);
+}
diff --git a/smartor/src/main/java/com/smartor/service/ISchemeAutofinshruleService.java b/smartor/src/main/java/com/smartor/service/ISchemeAutofinshruleService.java
new file mode 100644
index 0000000..960c86a
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/service/ISchemeAutofinshruleService.java
@@ -0,0 +1,61 @@
+package com.ruoyi.smartor.service;
+
+import java.util.List;
+import com.ruoyi.smartor.domain.SchemeAutofinshrule;
+
+/**
+ * 鏂规缁撴瑙勫垯Service鎺ュ彛
+ * 
+ * @author smartor
+ * @date 2023-03-04
+ */
+public interface ISchemeAutofinshruleService 
+{
+    /**
+     * 鏌ヨ鏂规缁撴瑙勫垯
+     * 
+     * @param id 鏂规缁撴瑙勫垯涓婚敭
+     * @return 鏂规缁撴瑙勫垯
+     */
+    public SchemeAutofinshrule selectSchemeAutofinshruleById(Long id);
+
+    /**
+     * 鏌ヨ鏂规缁撴瑙勫垯鍒楄〃
+     * 
+     * @param schemeAutofinshrule 鏂规缁撴瑙勫垯
+     * @return 鏂规缁撴瑙勫垯闆嗗悎
+     */
+    public List<SchemeAutofinshrule> selectSchemeAutofinshruleList(SchemeAutofinshrule schemeAutofinshrule);
+
+    /**
+     * 鏂板鏂规缁撴瑙勫垯
+     * 
+     * @param schemeAutofinshrule 鏂规缁撴瑙勫垯
+     * @return 缁撴灉
+     */
+    public int insertSchemeAutofinshrule(SchemeAutofinshrule schemeAutofinshrule);
+
+    /**
+     * 淇敼鏂规缁撴瑙勫垯
+     * 
+     * @param schemeAutofinshrule 鏂规缁撴瑙勫垯
+     * @return 缁撴灉
+     */
+    public int updateSchemeAutofinshrule(SchemeAutofinshrule schemeAutofinshrule);
+
+    /**
+     * 鎵归噺鍒犻櫎鏂规缁撴瑙勫垯
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑鏂规缁撴瑙勫垯涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteSchemeAutofinshruleByIds(Long[] ids);
+
+    /**
+     * 鍒犻櫎鏂规缁撴瑙勫垯淇℃伅
+     * 
+     * @param id 鏂规缁撴瑙勫垯涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteSchemeAutofinshruleById(Long id);
+}
diff --git a/smartor/src/main/java/com/smartor/service/ISchemeCategoryService.java b/smartor/src/main/java/com/smartor/service/ISchemeCategoryService.java
new file mode 100644
index 0000000..f9684fa
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/service/ISchemeCategoryService.java
@@ -0,0 +1,61 @@
+package com.smartor.service;
+
+import java.util.List;
+import com.smartor.domain.SchemeCategory;
+
+/**
+ * 鏂规鍒嗙被Service鎺ュ彛
+ * 
+ * @author smartor
+ * @date 2023-03-04
+ */
+public interface ISchemeCategoryService 
+{
+    /**
+     * 鏌ヨ鏂规鍒嗙被
+     * 
+     * @param id 鏂规鍒嗙被涓婚敭
+     * @return 鏂规鍒嗙被
+     */
+    public SchemeCategory selectSchemeCategoryById(Long id);
+
+    /**
+     * 鏌ヨ鏂规鍒嗙被鍒楄〃
+     * 
+     * @param schemeCategory 鏂规鍒嗙被
+     * @return 鏂规鍒嗙被闆嗗悎
+     */
+    public List<SchemeCategory> selectSchemeCategoryList(SchemeCategory schemeCategory);
+
+    /**
+     * 鏂板鏂规鍒嗙被
+     * 
+     * @param schemeCategory 鏂规鍒嗙被
+     * @return 缁撴灉
+     */
+    public int insertSchemeCategory(SchemeCategory schemeCategory);
+
+    /**
+     * 淇敼鏂规鍒嗙被
+     * 
+     * @param schemeCategory 鏂规鍒嗙被
+     * @return 缁撴灉
+     */
+    public int updateSchemeCategory(SchemeCategory schemeCategory);
+
+    /**
+     * 鎵归噺鍒犻櫎鏂规鍒嗙被
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑鏂规鍒嗙被涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteSchemeCategoryByIds(Long[] ids);
+
+    /**
+     * 鍒犻櫎鏂规鍒嗙被淇℃伅
+     * 
+     * @param id 鏂规鍒嗙被涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteSchemeCategoryById(Long id);
+}
diff --git a/smartor/src/main/java/com/smartor/service/ISchemeLocallibraryService.java b/smartor/src/main/java/com/smartor/service/ISchemeLocallibraryService.java
new file mode 100644
index 0000000..f8d2e8f
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/service/ISchemeLocallibraryService.java
@@ -0,0 +1,61 @@
+package com.smartor.service;
+
+import java.util.List;
+import com.smartor.domain.SchemeLocallibrary;
+
+/**
+ * 鏈嶅姟鏂规搴揝ervice鎺ュ彛
+ * 
+ * @author smartor
+ * @date 2023-03-04
+ */
+public interface ISchemeLocallibraryService 
+{
+    /**
+     * 鏌ヨ鏈嶅姟鏂规搴�
+     * 
+     * @param id 鏈嶅姟鏂规搴撲富閿�
+     * @return 鏈嶅姟鏂规搴�
+     */
+    public SchemeLocallibrary selectSchemeLocallibraryById(Long id);
+
+    /**
+     * 鏌ヨ鏈嶅姟鏂规搴撳垪琛�
+     * 
+     * @param schemeLocallibrary 鏈嶅姟鏂规搴�
+     * @return 鏈嶅姟鏂规搴撻泦鍚�
+     */
+    public List<SchemeLocallibrary> selectSchemeLocallibraryList(SchemeLocallibrary schemeLocallibrary);
+
+    /**
+     * 鏂板鏈嶅姟鏂规搴�
+     * 
+     * @param schemeLocallibrary 鏈嶅姟鏂规搴�
+     * @return 缁撴灉
+     */
+    public int insertSchemeLocallibrary(SchemeLocallibrary schemeLocallibrary);
+
+    /**
+     * 淇敼鏈嶅姟鏂规搴�
+     * 
+     * @param schemeLocallibrary 鏈嶅姟鏂规搴�
+     * @return 缁撴灉
+     */
+    public int updateSchemeLocallibrary(SchemeLocallibrary schemeLocallibrary);
+
+    /**
+     * 鎵归噺鍒犻櫎鏈嶅姟鏂规搴�
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑鏈嶅姟鏂规搴撲富閿泦鍚�
+     * @return 缁撴灉
+     */
+    public int deleteSchemeLocallibraryByIds(Long[] ids);
+
+    /**
+     * 鍒犻櫎鏈嶅姟鏂规搴撲俊鎭�
+     * 
+     * @param id 鏈嶅姟鏂规搴撲富閿�
+     * @return 缁撴灉
+     */
+    public int deleteSchemeLocallibraryById(Long id);
+}
diff --git a/smartor/src/main/java/com/smartor/service/ISchemePlanService.java b/smartor/src/main/java/com/smartor/service/ISchemePlanService.java
new file mode 100644
index 0000000..b374c8f
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/service/ISchemePlanService.java
@@ -0,0 +1,61 @@
+package com.smartor.service;
+
+import java.util.List;
+import com.smartor.domain.SchemePlan;
+
+/**
+ * 绠$悊璁″垝Service鎺ュ彛
+ * 
+ * @author smartor
+ * @date 2023-03-04
+ */
+public interface ISchemePlanService 
+{
+    /**
+     * 鏌ヨ绠$悊璁″垝
+     * 
+     * @param id 绠$悊璁″垝涓婚敭
+     * @return 绠$悊璁″垝
+     */
+    public SchemePlan selectSchemePlanById(Long id);
+
+    /**
+     * 鏌ヨ绠$悊璁″垝鍒楄〃
+     * 
+     * @param schemePlan 绠$悊璁″垝
+     * @return 绠$悊璁″垝闆嗗悎
+     */
+    public List<SchemePlan> selectSchemePlanList(SchemePlan schemePlan);
+
+    /**
+     * 鏂板绠$悊璁″垝
+     * 
+     * @param schemePlan 绠$悊璁″垝
+     * @return 缁撴灉
+     */
+    public int insertSchemePlan(SchemePlan schemePlan);
+
+    /**
+     * 淇敼绠$悊璁″垝
+     * 
+     * @param schemePlan 绠$悊璁″垝
+     * @return 缁撴灉
+     */
+    public int updateSchemePlan(SchemePlan schemePlan);
+
+    /**
+     * 鎵归噺鍒犻櫎绠$悊璁″垝
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑绠$悊璁″垝涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteSchemePlanByIds(Long[] ids);
+
+    /**
+     * 鍒犻櫎绠$悊璁″垝淇℃伅
+     * 
+     * @param id 绠$悊璁″垝涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteSchemePlanById(Long id);
+}
diff --git a/smartor/src/main/java/com/smartor/service/ISchemeTaskService.java b/smartor/src/main/java/com/smartor/service/ISchemeTaskService.java
new file mode 100644
index 0000000..55f03aa
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/service/ISchemeTaskService.java
@@ -0,0 +1,61 @@
+package com.smartor.service;
+
+import java.util.List;
+import com.smartor.domain.SchemeTask;
+
+/**
+ * 鏂规浠诲姟Service鎺ュ彛
+ * 
+ * @author smartor
+ * @date 2023-03-04
+ */
+public interface ISchemeTaskService 
+{
+    /**
+     * 鏌ヨ鏂规浠诲姟
+     * 
+     * @param id 鏂规浠诲姟涓婚敭
+     * @return 鏂规浠诲姟
+     */
+    public SchemeTask selectSchemeTaskById(Long id);
+
+    /**
+     * 鏌ヨ鏂规浠诲姟鍒楄〃
+     * 
+     * @param schemeTask 鏂规浠诲姟
+     * @return 鏂规浠诲姟闆嗗悎
+     */
+    public List<SchemeTask> selectSchemeTaskList(SchemeTask schemeTask);
+
+    /**
+     * 鏂板鏂规浠诲姟
+     * 
+     * @param schemeTask 鏂规浠诲姟
+     * @return 缁撴灉
+     */
+    public int insertSchemeTask(SchemeTask schemeTask);
+
+    /**
+     * 淇敼鏂规浠诲姟
+     * 
+     * @param schemeTask 鏂规浠诲姟
+     * @return 缁撴灉
+     */
+    public int updateSchemeTask(SchemeTask schemeTask);
+
+    /**
+     * 鎵归噺鍒犻櫎鏂规浠诲姟
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑鏂规浠诲姟涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteSchemeTaskByIds(Long[] ids);
+
+    /**
+     * 鍒犻櫎鏂规浠诲姟淇℃伅
+     * 
+     * @param id 鏂规浠诲姟涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteSchemeTaskById(Long id);
+}
diff --git a/smartor/src/main/java/com/smartor/service/ISchemeTaskconfigService.java b/smartor/src/main/java/com/smartor/service/ISchemeTaskconfigService.java
new file mode 100644
index 0000000..12e26a8
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/service/ISchemeTaskconfigService.java
@@ -0,0 +1,61 @@
+package com.smartor.service;
+
+import java.util.List;
+import com.smartor.domain.SchemeTaskconfig;
+
+/**
+ * 鏂规浠诲姟閰嶇疆Service鎺ュ彛
+ * 
+ * @author smartor
+ * @date 2023-03-04
+ */
+public interface ISchemeTaskconfigService 
+{
+    /**
+     * 鏌ヨ鏂规浠诲姟閰嶇疆
+     * 
+     * @param id 鏂规浠诲姟閰嶇疆涓婚敭
+     * @return 鏂规浠诲姟閰嶇疆
+     */
+    public SchemeTaskconfig selectSchemeTaskconfigById(Long id);
+
+    /**
+     * 鏌ヨ鏂规浠诲姟閰嶇疆鍒楄〃
+     * 
+     * @param schemeTaskconfig 鏂规浠诲姟閰嶇疆
+     * @return 鏂规浠诲姟閰嶇疆闆嗗悎
+     */
+    public List<SchemeTaskconfig> selectSchemeTaskconfigList(SchemeTaskconfig schemeTaskconfig);
+
+    /**
+     * 鏂板鏂规浠诲姟閰嶇疆
+     * 
+     * @param schemeTaskconfig 鏂规浠诲姟閰嶇疆
+     * @return 缁撴灉
+     */
+    public int insertSchemeTaskconfig(SchemeTaskconfig schemeTaskconfig);
+
+    /**
+     * 淇敼鏂规浠诲姟閰嶇疆
+     * 
+     * @param schemeTaskconfig 鏂规浠诲姟閰嶇疆
+     * @return 缁撴灉
+     */
+    public int updateSchemeTaskconfig(SchemeTaskconfig schemeTaskconfig);
+
+    /**
+     * 鎵归噺鍒犻櫎鏂规浠诲姟閰嶇疆
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑鏂规浠诲姟閰嶇疆涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteSchemeTaskconfigByIds(Long[] ids);
+
+    /**
+     * 鍒犻櫎鏂规浠诲姟閰嶇疆淇℃伅
+     * 
+     * @param id 鏂规浠诲姟閰嶇疆涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteSchemeTaskconfigById(Long id);
+}
diff --git a/smartor/src/main/java/com/smartor/service/ISchemeTaskrecordCalldetailService.java b/smartor/src/main/java/com/smartor/service/ISchemeTaskrecordCalldetailService.java
new file mode 100644
index 0000000..75259e5
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/service/ISchemeTaskrecordCalldetailService.java
@@ -0,0 +1,61 @@
+package com.smartor.service;
+
+import java.util.List;
+import com.smartor.domain.SchemeTaskrecordCalldetail;
+
+/**
+ * 鏂规AI澶栧懠浠诲姟璇︽儏Service鎺ュ彛
+ * 
+ * @author smartor
+ * @date 2023-03-04
+ */
+public interface ISchemeTaskrecordCalldetailService 
+{
+    /**
+     * 鏌ヨ鏂规AI澶栧懠浠诲姟璇︽儏
+     * 
+     * @param id 鏂规AI澶栧懠浠诲姟璇︽儏涓婚敭
+     * @return 鏂规AI澶栧懠浠诲姟璇︽儏
+     */
+    public SchemeTaskrecordCalldetail selectSchemeTaskrecordCalldetailById(Long id);
+
+    /**
+     * 鏌ヨ鏂规AI澶栧懠浠诲姟璇︽儏鍒楄〃
+     * 
+     * @param schemeTaskrecordCalldetail 鏂规AI澶栧懠浠诲姟璇︽儏
+     * @return 鏂规AI澶栧懠浠诲姟璇︽儏闆嗗悎
+     */
+    public List<SchemeTaskrecordCalldetail> selectSchemeTaskrecordCalldetailList(SchemeTaskrecordCalldetail schemeTaskrecordCalldetail);
+
+    /**
+     * 鏂板鏂规AI澶栧懠浠诲姟璇︽儏
+     * 
+     * @param schemeTaskrecordCalldetail 鏂规AI澶栧懠浠诲姟璇︽儏
+     * @return 缁撴灉
+     */
+    public int insertSchemeTaskrecordCalldetail(SchemeTaskrecordCalldetail schemeTaskrecordCalldetail);
+
+    /**
+     * 淇敼鏂规AI澶栧懠浠诲姟璇︽儏
+     * 
+     * @param schemeTaskrecordCalldetail 鏂规AI澶栧懠浠诲姟璇︽儏
+     * @return 缁撴灉
+     */
+    public int updateSchemeTaskrecordCalldetail(SchemeTaskrecordCalldetail schemeTaskrecordCalldetail);
+
+    /**
+     * 鎵归噺鍒犻櫎鏂规AI澶栧懠浠诲姟璇︽儏
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑鏂规AI澶栧懠浠诲姟璇︽儏涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteSchemeTaskrecordCalldetailByIds(Long[] ids);
+
+    /**
+     * 鍒犻櫎鏂规AI澶栧懠浠诲姟璇︽儏淇℃伅
+     * 
+     * @param id 鏂规AI澶栧懠浠诲姟璇︽儏涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteSchemeTaskrecordCalldetailById(Long id);
+}
diff --git a/smartor/src/main/java/com/smartor/service/ISchemeTaskrecordService.java b/smartor/src/main/java/com/smartor/service/ISchemeTaskrecordService.java
new file mode 100644
index 0000000..4dd4c28
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/service/ISchemeTaskrecordService.java
@@ -0,0 +1,61 @@
+package com.smartor.service;
+
+import java.util.List;
+import com.smartor.domain.SchemeTaskrecord;
+
+/**
+ * 鏂规浠诲姟澶勭悊璁板綍Service鎺ュ彛
+ * 
+ * @author smartor
+ * @date 2023-03-04
+ */
+public interface ISchemeTaskrecordService 
+{
+    /**
+     * 鏌ヨ鏂规浠诲姟澶勭悊璁板綍
+     * 
+     * @param id 鏂规浠诲姟澶勭悊璁板綍涓婚敭
+     * @return 鏂规浠诲姟澶勭悊璁板綍
+     */
+    public SchemeTaskrecord selectSchemeTaskrecordById(Long id);
+
+    /**
+     * 鏌ヨ鏂规浠诲姟澶勭悊璁板綍鍒楄〃
+     * 
+     * @param schemeTaskrecord 鏂规浠诲姟澶勭悊璁板綍
+     * @return 鏂规浠诲姟澶勭悊璁板綍闆嗗悎
+     */
+    public List<SchemeTaskrecord> selectSchemeTaskrecordList(SchemeTaskrecord schemeTaskrecord);
+
+    /**
+     * 鏂板鏂规浠诲姟澶勭悊璁板綍
+     * 
+     * @param schemeTaskrecord 鏂规浠诲姟澶勭悊璁板綍
+     * @return 缁撴灉
+     */
+    public int insertSchemeTaskrecord(SchemeTaskrecord schemeTaskrecord);
+
+    /**
+     * 淇敼鏂规浠诲姟澶勭悊璁板綍
+     * 
+     * @param schemeTaskrecord 鏂规浠诲姟澶勭悊璁板綍
+     * @return 缁撴灉
+     */
+    public int updateSchemeTaskrecord(SchemeTaskrecord schemeTaskrecord);
+
+    /**
+     * 鎵归噺鍒犻櫎鏂规浠诲姟澶勭悊璁板綍
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑鏂规浠诲姟澶勭悊璁板綍涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteSchemeTaskrecordByIds(Long[] ids);
+
+    /**
+     * 鍒犻櫎鏂规浠诲姟澶勭悊璁板綍淇℃伅
+     * 
+     * @param id 鏂规浠诲姟澶勭悊璁板綍涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteSchemeTaskrecordById(Long id);
+}
diff --git a/smartor/src/main/java/com/smartor/service/ISchemeTaskrepeatconfigService.java b/smartor/src/main/java/com/smartor/service/ISchemeTaskrepeatconfigService.java
new file mode 100644
index 0000000..da1107c
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/service/ISchemeTaskrepeatconfigService.java
@@ -0,0 +1,61 @@
+package com.smartor.service;
+
+import java.util.List;
+import com.smartor.domain.SchemeTaskrepeatconfig;
+
+/**
+ * 鏂规浠诲姟閲嶅彂閰嶇疆Service鎺ュ彛
+ * 
+ * @author smartor
+ * @date 2023-03-04
+ */
+public interface ISchemeTaskrepeatconfigService 
+{
+    /**
+     * 鏌ヨ鏂规浠诲姟閲嶅彂閰嶇疆
+     * 
+     * @param id 鏂规浠诲姟閲嶅彂閰嶇疆涓婚敭
+     * @return 鏂规浠诲姟閲嶅彂閰嶇疆
+     */
+    public SchemeTaskrepeatconfig selectSchemeTaskrepeatconfigById(Long id);
+
+    /**
+     * 鏌ヨ鏂规浠诲姟閲嶅彂閰嶇疆鍒楄〃
+     * 
+     * @param schemeTaskrepeatconfig 鏂规浠诲姟閲嶅彂閰嶇疆
+     * @return 鏂规浠诲姟閲嶅彂閰嶇疆闆嗗悎
+     */
+    public List<SchemeTaskrepeatconfig> selectSchemeTaskrepeatconfigList(SchemeTaskrepeatconfig schemeTaskrepeatconfig);
+
+    /**
+     * 鏂板鏂规浠诲姟閲嶅彂閰嶇疆
+     * 
+     * @param schemeTaskrepeatconfig 鏂规浠诲姟閲嶅彂閰嶇疆
+     * @return 缁撴灉
+     */
+    public int insertSchemeTaskrepeatconfig(SchemeTaskrepeatconfig schemeTaskrepeatconfig);
+
+    /**
+     * 淇敼鏂规浠诲姟閲嶅彂閰嶇疆
+     * 
+     * @param schemeTaskrepeatconfig 鏂规浠诲姟閲嶅彂閰嶇疆
+     * @return 缁撴灉
+     */
+    public int updateSchemeTaskrepeatconfig(SchemeTaskrepeatconfig schemeTaskrepeatconfig);
+
+    /**
+     * 鎵归噺鍒犻櫎鏂规浠诲姟閲嶅彂閰嶇疆
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑鏂规浠诲姟閲嶅彂閰嶇疆涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteSchemeTaskrepeatconfigByIds(Long[] ids);
+
+    /**
+     * 鍒犻櫎鏂规浠诲姟閲嶅彂閰嶇疆淇℃伅
+     * 
+     * @param id 鏂规浠诲姟閲嶅彂閰嶇疆涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteSchemeTaskrepeatconfigById(Long id);
+}
diff --git a/smartor/src/main/java/com/smartor/service/ISchemeTriggerruleService.java b/smartor/src/main/java/com/smartor/service/ISchemeTriggerruleService.java
new file mode 100644
index 0000000..42ddf3c
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/service/ISchemeTriggerruleService.java
@@ -0,0 +1,61 @@
+package com.smartor.service;
+
+import java.util.List;
+import com.smartor.domain.SchemeTriggerrule;
+
+/**
+ * 鏂规瑙﹀彂鏉′欢瑙勫垯Service鎺ュ彛
+ * 
+ * @author smartor
+ * @date 2023-03-04
+ */
+public interface ISchemeTriggerruleService 
+{
+    /**
+     * 鏌ヨ鏂规瑙﹀彂鏉′欢瑙勫垯
+     * 
+     * @param id 鏂规瑙﹀彂鏉′欢瑙勫垯涓婚敭
+     * @return 鏂规瑙﹀彂鏉′欢瑙勫垯
+     */
+    public SchemeTriggerrule selectSchemeTriggerruleById(Long id);
+
+    /**
+     * 鏌ヨ鏂规瑙﹀彂鏉′欢瑙勫垯鍒楄〃
+     * 
+     * @param schemeTriggerrule 鏂规瑙﹀彂鏉′欢瑙勫垯
+     * @return 鏂规瑙﹀彂鏉′欢瑙勫垯闆嗗悎
+     */
+    public List<SchemeTriggerrule> selectSchemeTriggerruleList(SchemeTriggerrule schemeTriggerrule);
+
+    /**
+     * 鏂板鏂规瑙﹀彂鏉′欢瑙勫垯
+     * 
+     * @param schemeTriggerrule 鏂规瑙﹀彂鏉′欢瑙勫垯
+     * @return 缁撴灉
+     */
+    public int insertSchemeTriggerrule(SchemeTriggerrule schemeTriggerrule);
+
+    /**
+     * 淇敼鏂规瑙﹀彂鏉′欢瑙勫垯
+     * 
+     * @param schemeTriggerrule 鏂规瑙﹀彂鏉′欢瑙勫垯
+     * @return 缁撴灉
+     */
+    public int updateSchemeTriggerrule(SchemeTriggerrule schemeTriggerrule);
+
+    /**
+     * 鎵归噺鍒犻櫎鏂规瑙﹀彂鏉′欢瑙勫垯
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑鏂规瑙﹀彂鏉′欢瑙勫垯涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteSchemeTriggerruleByIds(Long[] ids);
+
+    /**
+     * 鍒犻櫎鏂规瑙﹀彂鏉′欢瑙勫垯淇℃伅
+     * 
+     * @param id 鏂规瑙﹀彂鏉′欢瑙勫垯涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteSchemeTriggerruleById(Long id);
+}
diff --git a/smartor/src/main/java/com/smartor/service/ISchemeTriggersceneService.java b/smartor/src/main/java/com/smartor/service/ISchemeTriggersceneService.java
new file mode 100644
index 0000000..c657d04
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/service/ISchemeTriggersceneService.java
@@ -0,0 +1,61 @@
+package com.smartor.service;
+
+import java.util.List;
+import com.smartor.domain.SchemeTriggerscene;
+
+/**
+ * 鏂规瑙﹀彂鍦烘櫙Service鎺ュ彛
+ * 
+ * @author smartor
+ * @date 2023-03-04
+ */
+public interface ISchemeTriggersceneService 
+{
+    /**
+     * 鏌ヨ鏂规瑙﹀彂鍦烘櫙
+     * 
+     * @param id 鏂规瑙﹀彂鍦烘櫙涓婚敭
+     * @return 鏂规瑙﹀彂鍦烘櫙
+     */
+    public SchemeTriggerscene selectSchemeTriggersceneById(Long id);
+
+    /**
+     * 鏌ヨ鏂规瑙﹀彂鍦烘櫙鍒楄〃
+     * 
+     * @param schemeTriggerscene 鏂规瑙﹀彂鍦烘櫙
+     * @return 鏂规瑙﹀彂鍦烘櫙闆嗗悎
+     */
+    public List<SchemeTriggerscene> selectSchemeTriggersceneList(SchemeTriggerscene schemeTriggerscene);
+
+    /**
+     * 鏂板鏂规瑙﹀彂鍦烘櫙
+     * 
+     * @param schemeTriggerscene 鏂规瑙﹀彂鍦烘櫙
+     * @return 缁撴灉
+     */
+    public int insertSchemeTriggerscene(SchemeTriggerscene schemeTriggerscene);
+
+    /**
+     * 淇敼鏂规瑙﹀彂鍦烘櫙
+     * 
+     * @param schemeTriggerscene 鏂规瑙﹀彂鍦烘櫙
+     * @return 缁撴灉
+     */
+    public int updateSchemeTriggerscene(SchemeTriggerscene schemeTriggerscene);
+
+    /**
+     * 鎵归噺鍒犻櫎鏂规瑙﹀彂鍦烘櫙
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑鏂规瑙﹀彂鍦烘櫙涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteSchemeTriggersceneByIds(Long[] ids);
+
+    /**
+     * 鍒犻櫎鏂规瑙﹀彂鍦烘櫙淇℃伅
+     * 
+     * @param id 鏂规瑙﹀彂鍦烘櫙涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteSchemeTriggersceneById(Long id);
+}
diff --git a/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
new file mode 100644
index 0000000..7853b90
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
@@ -0,0 +1,96 @@
+package com.smartor.service.impl;
+
+import java.util.List;
+import com.ruoyi.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.smartor.mapper.PatMedInhospMapper;
+import com.smartor.domain.PatMedInhosp;
+import com.smartor.service.IPatMedInhospService;
+
+/**
+ * 鎮h�呬綇闄㈣褰昐ervice涓氬姟灞傚鐞�
+ * 
+ * @author smartor
+ * @date 2023-03-04
+ */
+@Service
+public class PatMedInhospServiceImpl implements IPatMedInhospService 
+{
+    @Autowired
+    private PatMedInhospMapper patMedInhospMapper;
+
+    /**
+     * 鏌ヨ鎮h�呬綇闄㈣褰�
+     * 
+     * @param inhospid 鎮h�呬綇闄㈣褰曚富閿�
+     * @return 鎮h�呬綇闄㈣褰�
+     */
+    @Override
+    public PatMedInhosp selectPatMedInhospByInhospid(Long inhospid)
+    {
+        return patMedInhospMapper.selectPatMedInhospByInhospid(inhospid);
+    }
+
+    /**
+     * 鏌ヨ鎮h�呬綇闄㈣褰曞垪琛�
+     * 
+     * @param patMedInhosp 鎮h�呬綇闄㈣褰�
+     * @return 鎮h�呬綇闄㈣褰�
+     */
+    @Override
+    public List<PatMedInhosp> selectPatMedInhospList(PatMedInhosp patMedInhosp)
+    {
+        return patMedInhospMapper.selectPatMedInhospList(patMedInhosp);
+    }
+
+    /**
+     * 鏂板鎮h�呬綇闄㈣褰�
+     * 
+     * @param patMedInhosp 鎮h�呬綇闄㈣褰�
+     * @return 缁撴灉
+     */
+    @Override
+    public int insertPatMedInhosp(PatMedInhosp patMedInhosp)
+    {
+        patMedInhosp.setCreateTime(DateUtils.getNowDate());
+        return patMedInhospMapper.insertPatMedInhosp(patMedInhosp);
+    }
+
+    /**
+     * 淇敼鎮h�呬綇闄㈣褰�
+     * 
+     * @param patMedInhosp 鎮h�呬綇闄㈣褰�
+     * @return 缁撴灉
+     */
+    @Override
+    public int updatePatMedInhosp(PatMedInhosp patMedInhosp)
+    {
+        patMedInhosp.setUpdateTime(DateUtils.getNowDate());
+        return patMedInhospMapper.updatePatMedInhosp(patMedInhosp);
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎鎮h�呬綇闄㈣褰�
+     * 
+     * @param inhospids 闇�瑕佸垹闄ょ殑鎮h�呬綇闄㈣褰曚富閿�
+     * @return 缁撴灉
+     */
+    @Override
+    public int deletePatMedInhospByInhospids(Long[] inhospids)
+    {
+        return patMedInhospMapper.deletePatMedInhospByInhospids(inhospids);
+    }
+
+    /**
+     * 鍒犻櫎鎮h�呬綇闄㈣褰曚俊鎭�
+     * 
+     * @param inhospid 鎮h�呬綇闄㈣褰曚富閿�
+     * @return 缁撴灉
+     */
+    @Override
+    public int deletePatMedInhospByInhospid(Long inhospid)
+    {
+        return patMedInhospMapper.deletePatMedInhospByInhospid(inhospid);
+    }
+}
diff --git a/smartor/src/main/java/com/smartor/service/impl/PatMedOuthospServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/PatMedOuthospServiceImpl.java
new file mode 100644
index 0000000..062e758
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/service/impl/PatMedOuthospServiceImpl.java
@@ -0,0 +1,96 @@
+package com.smartor.service.impl;
+
+import java.util.List;
+import com.ruoyi.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.smartor.mapper.PatMedOuthospMapper;
+import com.smartor.domain.PatMedOuthosp;
+import com.smartor.service.IPatMedOuthospService;
+
+/**
+ * 鎮h�呴棬璇婅褰昐ervice涓氬姟灞傚鐞�
+ * 
+ * @author smartor
+ * @date 2023-03-04
+ */
+@Service
+public class PatMedOuthospServiceImpl implements IPatMedOuthospService 
+{
+    @Autowired
+    private PatMedOuthospMapper patMedOuthospMapper;
+
+    /**
+     * 鏌ヨ鎮h�呴棬璇婅褰�
+     * 
+     * @param id 鎮h�呴棬璇婅褰曚富閿�
+     * @return 鎮h�呴棬璇婅褰�
+     */
+    @Override
+    public PatMedOuthosp selectPatMedOuthospById(Long id)
+    {
+        return patMedOuthospMapper.selectPatMedOuthospById(id);
+    }
+
+    /**
+     * 鏌ヨ鎮h�呴棬璇婅褰曞垪琛�
+     * 
+     * @param patMedOuthosp 鎮h�呴棬璇婅褰�
+     * @return 鎮h�呴棬璇婅褰�
+     */
+    @Override
+    public List<PatMedOuthosp> selectPatMedOuthospList(PatMedOuthosp patMedOuthosp)
+    {
+        return patMedOuthospMapper.selectPatMedOuthospList(patMedOuthosp);
+    }
+
+    /**
+     * 鏂板鎮h�呴棬璇婅褰�
+     * 
+     * @param patMedOuthosp 鎮h�呴棬璇婅褰�
+     * @return 缁撴灉
+     */
+    @Override
+    public int insertPatMedOuthosp(PatMedOuthosp patMedOuthosp)
+    {
+        patMedOuthosp.setCreateTime(DateUtils.getNowDate());
+        return patMedOuthospMapper.insertPatMedOuthosp(patMedOuthosp);
+    }
+
+    /**
+     * 淇敼鎮h�呴棬璇婅褰�
+     * 
+     * @param patMedOuthosp 鎮h�呴棬璇婅褰�
+     * @return 缁撴灉
+     */
+    @Override
+    public int updatePatMedOuthosp(PatMedOuthosp patMedOuthosp)
+    {
+        patMedOuthosp.setUpdateTime(DateUtils.getNowDate());
+        return patMedOuthospMapper.updatePatMedOuthosp(patMedOuthosp);
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎鎮h�呴棬璇婅褰�
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑鎮h�呴棬璇婅褰曚富閿�
+     * @return 缁撴灉
+     */
+    @Override
+    public int deletePatMedOuthospByIds(Long[] ids)
+    {
+        return patMedOuthospMapper.deletePatMedOuthospByIds(ids);
+    }
+
+    /**
+     * 鍒犻櫎鎮h�呴棬璇婅褰曚俊鎭�
+     * 
+     * @param id 鎮h�呴棬璇婅褰曚富閿�
+     * @return 缁撴灉
+     */
+    @Override
+    public int deletePatMedOuthospById(Long id)
+    {
+        return patMedOuthospMapper.deletePatMedOuthospById(id);
+    }
+}
diff --git a/smartor/src/main/java/com/smartor/service/impl/PatMedPhysicalServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/PatMedPhysicalServiceImpl.java
new file mode 100644
index 0000000..c193298
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/service/impl/PatMedPhysicalServiceImpl.java
@@ -0,0 +1,96 @@
+package com.smartor.service.impl;
+
+import java.util.List;
+import com.ruoyi.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.smartor.mapper.PatMedPhysicalMapper;
+import com.smartor.domain.PatMedPhysical;
+import com.smartor.service.IPatMedPhysicalService;
+
+/**
+ * 鎮h�呬綋妫�璁板綍Service涓氬姟灞傚鐞�
+ * 
+ * @author smartor
+ * @date 2023-03-04
+ */
+@Service
+public class PatMedPhysicalServiceImpl implements IPatMedPhysicalService 
+{
+    @Autowired
+    private PatMedPhysicalMapper patMedPhysicalMapper;
+
+    /**
+     * 鏌ヨ鎮h�呬綋妫�璁板綍
+     * 
+     * @param id 鎮h�呬綋妫�璁板綍涓婚敭
+     * @return 鎮h�呬綋妫�璁板綍
+     */
+    @Override
+    public PatMedPhysical selectPatMedPhysicalById(Long id)
+    {
+        return patMedPhysicalMapper.selectPatMedPhysicalById(id);
+    }
+
+    /**
+     * 鏌ヨ鎮h�呬綋妫�璁板綍鍒楄〃
+     * 
+     * @param patMedPhysical 鎮h�呬綋妫�璁板綍
+     * @return 鎮h�呬綋妫�璁板綍
+     */
+    @Override
+    public List<PatMedPhysical> selectPatMedPhysicalList(PatMedPhysical patMedPhysical)
+    {
+        return patMedPhysicalMapper.selectPatMedPhysicalList(patMedPhysical);
+    }
+
+    /**
+     * 鏂板鎮h�呬綋妫�璁板綍
+     * 
+     * @param patMedPhysical 鎮h�呬綋妫�璁板綍
+     * @return 缁撴灉
+     */
+    @Override
+    public int insertPatMedPhysical(PatMedPhysical patMedPhysical)
+    {
+        patMedPhysical.setCreateTime(DateUtils.getNowDate());
+        return patMedPhysicalMapper.insertPatMedPhysical(patMedPhysical);
+    }
+
+    /**
+     * 淇敼鎮h�呬綋妫�璁板綍
+     * 
+     * @param patMedPhysical 鎮h�呬綋妫�璁板綍
+     * @return 缁撴灉
+     */
+    @Override
+    public int updatePatMedPhysical(PatMedPhysical patMedPhysical)
+    {
+        patMedPhysical.setUpdateTime(DateUtils.getNowDate());
+        return patMedPhysicalMapper.updatePatMedPhysical(patMedPhysical);
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎鎮h�呬綋妫�璁板綍
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑鎮h�呬綋妫�璁板綍涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deletePatMedPhysicalByIds(Long[] ids)
+    {
+        return patMedPhysicalMapper.deletePatMedPhysicalByIds(ids);
+    }
+
+    /**
+     * 鍒犻櫎鎮h�呬綋妫�璁板綍淇℃伅
+     * 
+     * @param id 鎮h�呬綋妫�璁板綍涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deletePatMedPhysicalById(Long id)
+    {
+        return patMedPhysicalMapper.deletePatMedPhysicalById(id);
+    }
+}
diff --git a/smartor/src/main/java/com/smartor/service/impl/SchemeAutofinshruleServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/SchemeAutofinshruleServiceImpl.java
new file mode 100644
index 0000000..17b1366
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/service/impl/SchemeAutofinshruleServiceImpl.java
@@ -0,0 +1,96 @@
+package com.ruoyi.smartor.service.impl;
+
+import java.util.List;
+import com.ruoyi.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.ruoyi.smartor.mapper.SchemeAutofinshruleMapper;
+import com.ruoyi.smartor.domain.SchemeAutofinshrule;
+import com.ruoyi.smartor.service.ISchemeAutofinshruleService;
+
+/**
+ * 鏂规缁撴瑙勫垯Service涓氬姟灞傚鐞�
+ * 
+ * @author smartor
+ * @date 2023-03-04
+ */
+@Service
+public class SchemeAutofinshruleServiceImpl implements ISchemeAutofinshruleService 
+{
+    @Autowired
+    private SchemeAutofinshruleMapper schemeAutofinshruleMapper;
+
+    /**
+     * 鏌ヨ鏂规缁撴瑙勫垯
+     * 
+     * @param id 鏂规缁撴瑙勫垯涓婚敭
+     * @return 鏂规缁撴瑙勫垯
+     */
+    @Override
+    public SchemeAutofinshrule selectSchemeAutofinshruleById(Long id)
+    {
+        return schemeAutofinshruleMapper.selectSchemeAutofinshruleById(id);
+    }
+
+    /**
+     * 鏌ヨ鏂规缁撴瑙勫垯鍒楄〃
+     * 
+     * @param schemeAutofinshrule 鏂规缁撴瑙勫垯
+     * @return 鏂规缁撴瑙勫垯
+     */
+    @Override
+    public List<SchemeAutofinshrule> selectSchemeAutofinshruleList(SchemeAutofinshrule schemeAutofinshrule)
+    {
+        return schemeAutofinshruleMapper.selectSchemeAutofinshruleList(schemeAutofinshrule);
+    }
+
+    /**
+     * 鏂板鏂规缁撴瑙勫垯
+     * 
+     * @param schemeAutofinshrule 鏂规缁撴瑙勫垯
+     * @return 缁撴灉
+     */
+    @Override
+    public int insertSchemeAutofinshrule(SchemeAutofinshrule schemeAutofinshrule)
+    {
+        schemeAutofinshrule.setCreateTime(DateUtils.getNowDate());
+        return schemeAutofinshruleMapper.insertSchemeAutofinshrule(schemeAutofinshrule);
+    }
+
+    /**
+     * 淇敼鏂规缁撴瑙勫垯
+     * 
+     * @param schemeAutofinshrule 鏂规缁撴瑙勫垯
+     * @return 缁撴灉
+     */
+    @Override
+    public int updateSchemeAutofinshrule(SchemeAutofinshrule schemeAutofinshrule)
+    {
+        schemeAutofinshrule.setUpdateTime(DateUtils.getNowDate());
+        return schemeAutofinshruleMapper.updateSchemeAutofinshrule(schemeAutofinshrule);
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎鏂规缁撴瑙勫垯
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑鏂规缁撴瑙勫垯涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteSchemeAutofinshruleByIds(Long[] ids)
+    {
+        return schemeAutofinshruleMapper.deleteSchemeAutofinshruleByIds(ids);
+    }
+
+    /**
+     * 鍒犻櫎鏂规缁撴瑙勫垯淇℃伅
+     * 
+     * @param id 鏂规缁撴瑙勫垯涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteSchemeAutofinshruleById(Long id)
+    {
+        return schemeAutofinshruleMapper.deleteSchemeAutofinshruleById(id);
+    }
+}
diff --git a/smartor/src/main/java/com/smartor/service/impl/SchemeCategoryServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/SchemeCategoryServiceImpl.java
new file mode 100644
index 0000000..c32a8a8
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/service/impl/SchemeCategoryServiceImpl.java
@@ -0,0 +1,96 @@
+package com.smartor.service.impl;
+
+import java.util.List;
+import com.ruoyi.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.smartor.mapper.SchemeCategoryMapper;
+import com.smartor.domain.SchemeCategory;
+import com.smartor.service.ISchemeCategoryService;
+
+/**
+ * 鏂规鍒嗙被Service涓氬姟灞傚鐞�
+ * 
+ * @author smartor
+ * @date 2023-03-04
+ */
+@Service
+public class SchemeCategoryServiceImpl implements ISchemeCategoryService 
+{
+    @Autowired
+    private SchemeCategoryMapper schemeCategoryMapper;
+
+    /**
+     * 鏌ヨ鏂规鍒嗙被
+     * 
+     * @param id 鏂规鍒嗙被涓婚敭
+     * @return 鏂规鍒嗙被
+     */
+    @Override
+    public SchemeCategory selectSchemeCategoryById(Long id)
+    {
+        return schemeCategoryMapper.selectSchemeCategoryById(id);
+    }
+
+    /**
+     * 鏌ヨ鏂规鍒嗙被鍒楄〃
+     * 
+     * @param schemeCategory 鏂规鍒嗙被
+     * @return 鏂规鍒嗙被
+     */
+    @Override
+    public List<SchemeCategory> selectSchemeCategoryList(SchemeCategory schemeCategory)
+    {
+        return schemeCategoryMapper.selectSchemeCategoryList(schemeCategory);
+    }
+
+    /**
+     * 鏂板鏂规鍒嗙被
+     * 
+     * @param schemeCategory 鏂规鍒嗙被
+     * @return 缁撴灉
+     */
+    @Override
+    public int insertSchemeCategory(SchemeCategory schemeCategory)
+    {
+        schemeCategory.setCreateTime(DateUtils.getNowDate());
+        return schemeCategoryMapper.insertSchemeCategory(schemeCategory);
+    }
+
+    /**
+     * 淇敼鏂规鍒嗙被
+     * 
+     * @param schemeCategory 鏂规鍒嗙被
+     * @return 缁撴灉
+     */
+    @Override
+    public int updateSchemeCategory(SchemeCategory schemeCategory)
+    {
+        schemeCategory.setUpdateTime(DateUtils.getNowDate());
+        return schemeCategoryMapper.updateSchemeCategory(schemeCategory);
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎鏂规鍒嗙被
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑鏂规鍒嗙被涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteSchemeCategoryByIds(Long[] ids)
+    {
+        return schemeCategoryMapper.deleteSchemeCategoryByIds(ids);
+    }
+
+    /**
+     * 鍒犻櫎鏂规鍒嗙被淇℃伅
+     * 
+     * @param id 鏂规鍒嗙被涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteSchemeCategoryById(Long id)
+    {
+        return schemeCategoryMapper.deleteSchemeCategoryById(id);
+    }
+}
diff --git a/smartor/src/main/java/com/smartor/service/impl/SchemeLocallibraryServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/SchemeLocallibraryServiceImpl.java
new file mode 100644
index 0000000..86b3087
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/service/impl/SchemeLocallibraryServiceImpl.java
@@ -0,0 +1,96 @@
+package com.smartor.service.impl;
+
+import java.util.List;
+import com.ruoyi.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.smartor.mapper.SchemeLocallibraryMapper;
+import com.smartor.domain.SchemeLocallibrary;
+import com.smartor.service.ISchemeLocallibraryService;
+
+/**
+ * 鏈嶅姟鏂规搴揝ervice涓氬姟灞傚鐞�
+ * 
+ * @author smartor
+ * @date 2023-03-04
+ */
+@Service
+public class SchemeLocallibraryServiceImpl implements ISchemeLocallibraryService 
+{
+    @Autowired
+    private SchemeLocallibraryMapper schemeLocallibraryMapper;
+
+    /**
+     * 鏌ヨ鏈嶅姟鏂规搴�
+     * 
+     * @param id 鏈嶅姟鏂规搴撲富閿�
+     * @return 鏈嶅姟鏂规搴�
+     */
+    @Override
+    public SchemeLocallibrary selectSchemeLocallibraryById(Long id)
+    {
+        return schemeLocallibraryMapper.selectSchemeLocallibraryById(id);
+    }
+
+    /**
+     * 鏌ヨ鏈嶅姟鏂规搴撳垪琛�
+     * 
+     * @param schemeLocallibrary 鏈嶅姟鏂规搴�
+     * @return 鏈嶅姟鏂规搴�
+     */
+    @Override
+    public List<SchemeLocallibrary> selectSchemeLocallibraryList(SchemeLocallibrary schemeLocallibrary)
+    {
+        return schemeLocallibraryMapper.selectSchemeLocallibraryList(schemeLocallibrary);
+    }
+
+    /**
+     * 鏂板鏈嶅姟鏂规搴�
+     * 
+     * @param schemeLocallibrary 鏈嶅姟鏂规搴�
+     * @return 缁撴灉
+     */
+    @Override
+    public int insertSchemeLocallibrary(SchemeLocallibrary schemeLocallibrary)
+    {
+        schemeLocallibrary.setCreateTime(DateUtils.getNowDate());
+        return schemeLocallibraryMapper.insertSchemeLocallibrary(schemeLocallibrary);
+    }
+
+    /**
+     * 淇敼鏈嶅姟鏂规搴�
+     * 
+     * @param schemeLocallibrary 鏈嶅姟鏂规搴�
+     * @return 缁撴灉
+     */
+    @Override
+    public int updateSchemeLocallibrary(SchemeLocallibrary schemeLocallibrary)
+    {
+        schemeLocallibrary.setUpdateTime(DateUtils.getNowDate());
+        return schemeLocallibraryMapper.updateSchemeLocallibrary(schemeLocallibrary);
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎鏈嶅姟鏂规搴�
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑鏈嶅姟鏂规搴撲富閿�
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteSchemeLocallibraryByIds(Long[] ids)
+    {
+        return schemeLocallibraryMapper.deleteSchemeLocallibraryByIds(ids);
+    }
+
+    /**
+     * 鍒犻櫎鏈嶅姟鏂规搴撲俊鎭�
+     * 
+     * @param id 鏈嶅姟鏂规搴撲富閿�
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteSchemeLocallibraryById(Long id)
+    {
+        return schemeLocallibraryMapper.deleteSchemeLocallibraryById(id);
+    }
+}
diff --git a/smartor/src/main/java/com/smartor/service/impl/SchemePlanServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/SchemePlanServiceImpl.java
new file mode 100644
index 0000000..361bbe0
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/service/impl/SchemePlanServiceImpl.java
@@ -0,0 +1,96 @@
+package com.smartor.service.impl;
+
+import java.util.List;
+import com.ruoyi.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.smartor.mapper.SchemePlanMapper;
+import com.smartor.domain.SchemePlan;
+import com.smartor.service.ISchemePlanService;
+
+/**
+ * 绠$悊璁″垝Service涓氬姟灞傚鐞�
+ * 
+ * @author smartor
+ * @date 2023-03-04
+ */
+@Service
+public class SchemePlanServiceImpl implements ISchemePlanService 
+{
+    @Autowired
+    private SchemePlanMapper schemePlanMapper;
+
+    /**
+     * 鏌ヨ绠$悊璁″垝
+     * 
+     * @param id 绠$悊璁″垝涓婚敭
+     * @return 绠$悊璁″垝
+     */
+    @Override
+    public SchemePlan selectSchemePlanById(Long id)
+    {
+        return schemePlanMapper.selectSchemePlanById(id);
+    }
+
+    /**
+     * 鏌ヨ绠$悊璁″垝鍒楄〃
+     * 
+     * @param schemePlan 绠$悊璁″垝
+     * @return 绠$悊璁″垝
+     */
+    @Override
+    public List<SchemePlan> selectSchemePlanList(SchemePlan schemePlan)
+    {
+        return schemePlanMapper.selectSchemePlanList(schemePlan);
+    }
+
+    /**
+     * 鏂板绠$悊璁″垝
+     * 
+     * @param schemePlan 绠$悊璁″垝
+     * @return 缁撴灉
+     */
+    @Override
+    public int insertSchemePlan(SchemePlan schemePlan)
+    {
+        schemePlan.setCreateTime(DateUtils.getNowDate());
+        return schemePlanMapper.insertSchemePlan(schemePlan);
+    }
+
+    /**
+     * 淇敼绠$悊璁″垝
+     * 
+     * @param schemePlan 绠$悊璁″垝
+     * @return 缁撴灉
+     */
+    @Override
+    public int updateSchemePlan(SchemePlan schemePlan)
+    {
+        schemePlan.setUpdateTime(DateUtils.getNowDate());
+        return schemePlanMapper.updateSchemePlan(schemePlan);
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎绠$悊璁″垝
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑绠$悊璁″垝涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteSchemePlanByIds(Long[] ids)
+    {
+        return schemePlanMapper.deleteSchemePlanByIds(ids);
+    }
+
+    /**
+     * 鍒犻櫎绠$悊璁″垝淇℃伅
+     * 
+     * @param id 绠$悊璁″垝涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteSchemePlanById(Long id)
+    {
+        return schemePlanMapper.deleteSchemePlanById(id);
+    }
+}
diff --git a/smartor/src/main/java/com/smartor/service/impl/SchemeTaskServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/SchemeTaskServiceImpl.java
new file mode 100644
index 0000000..e4617b8
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/service/impl/SchemeTaskServiceImpl.java
@@ -0,0 +1,96 @@
+package com.smartor.service.impl;
+
+import java.util.List;
+import com.ruoyi.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.smartor.mapper.SchemeTaskMapper;
+import com.smartor.domain.SchemeTask;
+import com.smartor.service.ISchemeTaskService;
+
+/**
+ * 鏂规浠诲姟Service涓氬姟灞傚鐞�
+ * 
+ * @author smartor
+ * @date 2023-03-04
+ */
+@Service
+public class SchemeTaskServiceImpl implements ISchemeTaskService 
+{
+    @Autowired
+    private SchemeTaskMapper schemeTaskMapper;
+
+    /**
+     * 鏌ヨ鏂规浠诲姟
+     * 
+     * @param id 鏂规浠诲姟涓婚敭
+     * @return 鏂规浠诲姟
+     */
+    @Override
+    public SchemeTask selectSchemeTaskById(Long id)
+    {
+        return schemeTaskMapper.selectSchemeTaskById(id);
+    }
+
+    /**
+     * 鏌ヨ鏂规浠诲姟鍒楄〃
+     * 
+     * @param schemeTask 鏂规浠诲姟
+     * @return 鏂规浠诲姟
+     */
+    @Override
+    public List<SchemeTask> selectSchemeTaskList(SchemeTask schemeTask)
+    {
+        return schemeTaskMapper.selectSchemeTaskList(schemeTask);
+    }
+
+    /**
+     * 鏂板鏂规浠诲姟
+     * 
+     * @param schemeTask 鏂规浠诲姟
+     * @return 缁撴灉
+     */
+    @Override
+    public int insertSchemeTask(SchemeTask schemeTask)
+    {
+        schemeTask.setCreateTime(DateUtils.getNowDate());
+        return schemeTaskMapper.insertSchemeTask(schemeTask);
+    }
+
+    /**
+     * 淇敼鏂规浠诲姟
+     * 
+     * @param schemeTask 鏂规浠诲姟
+     * @return 缁撴灉
+     */
+    @Override
+    public int updateSchemeTask(SchemeTask schemeTask)
+    {
+        schemeTask.setUpdateTime(DateUtils.getNowDate());
+        return schemeTaskMapper.updateSchemeTask(schemeTask);
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎鏂规浠诲姟
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑鏂规浠诲姟涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteSchemeTaskByIds(Long[] ids)
+    {
+        return schemeTaskMapper.deleteSchemeTaskByIds(ids);
+    }
+
+    /**
+     * 鍒犻櫎鏂规浠诲姟淇℃伅
+     * 
+     * @param id 鏂规浠诲姟涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteSchemeTaskById(Long id)
+    {
+        return schemeTaskMapper.deleteSchemeTaskById(id);
+    }
+}
diff --git a/smartor/src/main/java/com/smartor/service/impl/SchemeTaskconfigServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/SchemeTaskconfigServiceImpl.java
new file mode 100644
index 0000000..6eda85c
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/service/impl/SchemeTaskconfigServiceImpl.java
@@ -0,0 +1,96 @@
+package com.smartor.service.impl;
+
+import java.util.List;
+import com.ruoyi.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.smartor.mapper.SchemeTaskconfigMapper;
+import com.smartor.domain.SchemeTaskconfig;
+import com.smartor.service.ISchemeTaskconfigService;
+
+/**
+ * 鏂规浠诲姟閰嶇疆Service涓氬姟灞傚鐞�
+ * 
+ * @author smartor
+ * @date 2023-03-04
+ */
+@Service
+public class SchemeTaskconfigServiceImpl implements ISchemeTaskconfigService 
+{
+    @Autowired
+    private SchemeTaskconfigMapper schemeTaskconfigMapper;
+
+    /**
+     * 鏌ヨ鏂规浠诲姟閰嶇疆
+     * 
+     * @param id 鏂规浠诲姟閰嶇疆涓婚敭
+     * @return 鏂规浠诲姟閰嶇疆
+     */
+    @Override
+    public SchemeTaskconfig selectSchemeTaskconfigById(Long id)
+    {
+        return schemeTaskconfigMapper.selectSchemeTaskconfigById(id);
+    }
+
+    /**
+     * 鏌ヨ鏂规浠诲姟閰嶇疆鍒楄〃
+     * 
+     * @param schemeTaskconfig 鏂规浠诲姟閰嶇疆
+     * @return 鏂规浠诲姟閰嶇疆
+     */
+    @Override
+    public List<SchemeTaskconfig> selectSchemeTaskconfigList(SchemeTaskconfig schemeTaskconfig)
+    {
+        return schemeTaskconfigMapper.selectSchemeTaskconfigList(schemeTaskconfig);
+    }
+
+    /**
+     * 鏂板鏂规浠诲姟閰嶇疆
+     * 
+     * @param schemeTaskconfig 鏂规浠诲姟閰嶇疆
+     * @return 缁撴灉
+     */
+    @Override
+    public int insertSchemeTaskconfig(SchemeTaskconfig schemeTaskconfig)
+    {
+        schemeTaskconfig.setCreateTime(DateUtils.getNowDate());
+        return schemeTaskconfigMapper.insertSchemeTaskconfig(schemeTaskconfig);
+    }
+
+    /**
+     * 淇敼鏂规浠诲姟閰嶇疆
+     * 
+     * @param schemeTaskconfig 鏂规浠诲姟閰嶇疆
+     * @return 缁撴灉
+     */
+    @Override
+    public int updateSchemeTaskconfig(SchemeTaskconfig schemeTaskconfig)
+    {
+        schemeTaskconfig.setUpdateTime(DateUtils.getNowDate());
+        return schemeTaskconfigMapper.updateSchemeTaskconfig(schemeTaskconfig);
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎鏂规浠诲姟閰嶇疆
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑鏂规浠诲姟閰嶇疆涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteSchemeTaskconfigByIds(Long[] ids)
+    {
+        return schemeTaskconfigMapper.deleteSchemeTaskconfigByIds(ids);
+    }
+
+    /**
+     * 鍒犻櫎鏂规浠诲姟閰嶇疆淇℃伅
+     * 
+     * @param id 鏂规浠诲姟閰嶇疆涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteSchemeTaskconfigById(Long id)
+    {
+        return schemeTaskconfigMapper.deleteSchemeTaskconfigById(id);
+    }
+}
diff --git a/smartor/src/main/java/com/smartor/service/impl/SchemeTaskrecordCalldetailServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/SchemeTaskrecordCalldetailServiceImpl.java
new file mode 100644
index 0000000..0b41520
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/service/impl/SchemeTaskrecordCalldetailServiceImpl.java
@@ -0,0 +1,96 @@
+package com.smartor.service.impl;
+
+import java.util.List;
+import com.ruoyi.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.smartor.mapper.SchemeTaskrecordCalldetailMapper;
+import com.smartor.domain.SchemeTaskrecordCalldetail;
+import com.smartor.service.ISchemeTaskrecordCalldetailService;
+
+/**
+ * 鏂规AI澶栧懠浠诲姟璇︽儏Service涓氬姟灞傚鐞�
+ * 
+ * @author smartor
+ * @date 2023-03-04
+ */
+@Service
+public class SchemeTaskrecordCalldetailServiceImpl implements ISchemeTaskrecordCalldetailService 
+{
+    @Autowired
+    private SchemeTaskrecordCalldetailMapper schemeTaskrecordCalldetailMapper;
+
+    /**
+     * 鏌ヨ鏂规AI澶栧懠浠诲姟璇︽儏
+     * 
+     * @param id 鏂规AI澶栧懠浠诲姟璇︽儏涓婚敭
+     * @return 鏂规AI澶栧懠浠诲姟璇︽儏
+     */
+    @Override
+    public SchemeTaskrecordCalldetail selectSchemeTaskrecordCalldetailById(Long id)
+    {
+        return schemeTaskrecordCalldetailMapper.selectSchemeTaskrecordCalldetailById(id);
+    }
+
+    /**
+     * 鏌ヨ鏂规AI澶栧懠浠诲姟璇︽儏鍒楄〃
+     * 
+     * @param schemeTaskrecordCalldetail 鏂规AI澶栧懠浠诲姟璇︽儏
+     * @return 鏂规AI澶栧懠浠诲姟璇︽儏
+     */
+    @Override
+    public List<SchemeTaskrecordCalldetail> selectSchemeTaskrecordCalldetailList(SchemeTaskrecordCalldetail schemeTaskrecordCalldetail)
+    {
+        return schemeTaskrecordCalldetailMapper.selectSchemeTaskrecordCalldetailList(schemeTaskrecordCalldetail);
+    }
+
+    /**
+     * 鏂板鏂规AI澶栧懠浠诲姟璇︽儏
+     * 
+     * @param schemeTaskrecordCalldetail 鏂规AI澶栧懠浠诲姟璇︽儏
+     * @return 缁撴灉
+     */
+    @Override
+    public int insertSchemeTaskrecordCalldetail(SchemeTaskrecordCalldetail schemeTaskrecordCalldetail)
+    {
+        schemeTaskrecordCalldetail.setCreateTime(DateUtils.getNowDate());
+        return schemeTaskrecordCalldetailMapper.insertSchemeTaskrecordCalldetail(schemeTaskrecordCalldetail);
+    }
+
+    /**
+     * 淇敼鏂规AI澶栧懠浠诲姟璇︽儏
+     * 
+     * @param schemeTaskrecordCalldetail 鏂规AI澶栧懠浠诲姟璇︽儏
+     * @return 缁撴灉
+     */
+    @Override
+    public int updateSchemeTaskrecordCalldetail(SchemeTaskrecordCalldetail schemeTaskrecordCalldetail)
+    {
+        schemeTaskrecordCalldetail.setUpdateTime(DateUtils.getNowDate());
+        return schemeTaskrecordCalldetailMapper.updateSchemeTaskrecordCalldetail(schemeTaskrecordCalldetail);
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎鏂规AI澶栧懠浠诲姟璇︽儏
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑鏂规AI澶栧懠浠诲姟璇︽儏涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteSchemeTaskrecordCalldetailByIds(Long[] ids)
+    {
+        return schemeTaskrecordCalldetailMapper.deleteSchemeTaskrecordCalldetailByIds(ids);
+    }
+
+    /**
+     * 鍒犻櫎鏂规AI澶栧懠浠诲姟璇︽儏淇℃伅
+     * 
+     * @param id 鏂规AI澶栧懠浠诲姟璇︽儏涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteSchemeTaskrecordCalldetailById(Long id)
+    {
+        return schemeTaskrecordCalldetailMapper.deleteSchemeTaskrecordCalldetailById(id);
+    }
+}
diff --git a/smartor/src/main/java/com/smartor/service/impl/SchemeTaskrecordServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/SchemeTaskrecordServiceImpl.java
new file mode 100644
index 0000000..27bf9e9
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/service/impl/SchemeTaskrecordServiceImpl.java
@@ -0,0 +1,96 @@
+package com.smartor.service.impl;
+
+import java.util.List;
+import com.ruoyi.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.smartor.mapper.SchemeTaskrecordMapper;
+import com.smartor.domain.SchemeTaskrecord;
+import com.smartor.service.ISchemeTaskrecordService;
+
+/**
+ * 鏂规浠诲姟澶勭悊璁板綍Service涓氬姟灞傚鐞�
+ * 
+ * @author smartor
+ * @date 2023-03-04
+ */
+@Service
+public class SchemeTaskrecordServiceImpl implements ISchemeTaskrecordService 
+{
+    @Autowired
+    private SchemeTaskrecordMapper schemeTaskrecordMapper;
+
+    /**
+     * 鏌ヨ鏂规浠诲姟澶勭悊璁板綍
+     * 
+     * @param id 鏂规浠诲姟澶勭悊璁板綍涓婚敭
+     * @return 鏂规浠诲姟澶勭悊璁板綍
+     */
+    @Override
+    public SchemeTaskrecord selectSchemeTaskrecordById(Long id)
+    {
+        return schemeTaskrecordMapper.selectSchemeTaskrecordById(id);
+    }
+
+    /**
+     * 鏌ヨ鏂规浠诲姟澶勭悊璁板綍鍒楄〃
+     * 
+     * @param schemeTaskrecord 鏂规浠诲姟澶勭悊璁板綍
+     * @return 鏂规浠诲姟澶勭悊璁板綍
+     */
+    @Override
+    public List<SchemeTaskrecord> selectSchemeTaskrecordList(SchemeTaskrecord schemeTaskrecord)
+    {
+        return schemeTaskrecordMapper.selectSchemeTaskrecordList(schemeTaskrecord);
+    }
+
+    /**
+     * 鏂板鏂规浠诲姟澶勭悊璁板綍
+     * 
+     * @param schemeTaskrecord 鏂规浠诲姟澶勭悊璁板綍
+     * @return 缁撴灉
+     */
+    @Override
+    public int insertSchemeTaskrecord(SchemeTaskrecord schemeTaskrecord)
+    {
+        schemeTaskrecord.setCreateTime(DateUtils.getNowDate());
+        return schemeTaskrecordMapper.insertSchemeTaskrecord(schemeTaskrecord);
+    }
+
+    /**
+     * 淇敼鏂规浠诲姟澶勭悊璁板綍
+     * 
+     * @param schemeTaskrecord 鏂规浠诲姟澶勭悊璁板綍
+     * @return 缁撴灉
+     */
+    @Override
+    public int updateSchemeTaskrecord(SchemeTaskrecord schemeTaskrecord)
+    {
+        schemeTaskrecord.setUpdateTime(DateUtils.getNowDate());
+        return schemeTaskrecordMapper.updateSchemeTaskrecord(schemeTaskrecord);
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎鏂规浠诲姟澶勭悊璁板綍
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑鏂规浠诲姟澶勭悊璁板綍涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteSchemeTaskrecordByIds(Long[] ids)
+    {
+        return schemeTaskrecordMapper.deleteSchemeTaskrecordByIds(ids);
+    }
+
+    /**
+     * 鍒犻櫎鏂规浠诲姟澶勭悊璁板綍淇℃伅
+     * 
+     * @param id 鏂规浠诲姟澶勭悊璁板綍涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteSchemeTaskrecordById(Long id)
+    {
+        return schemeTaskrecordMapper.deleteSchemeTaskrecordById(id);
+    }
+}
diff --git a/smartor/src/main/java/com/smartor/service/impl/SchemeTaskrepeatconfigServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/SchemeTaskrepeatconfigServiceImpl.java
new file mode 100644
index 0000000..7163d33
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/service/impl/SchemeTaskrepeatconfigServiceImpl.java
@@ -0,0 +1,96 @@
+package com.smartor.service.impl;
+
+import java.util.List;
+import com.ruoyi.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.smartor.mapper.SchemeTaskrepeatconfigMapper;
+import com.smartor.domain.SchemeTaskrepeatconfig;
+import com.smartor.service.ISchemeTaskrepeatconfigService;
+
+/**
+ * 鏂规浠诲姟閲嶅彂閰嶇疆Service涓氬姟灞傚鐞�
+ * 
+ * @author smartor
+ * @date 2023-03-04
+ */
+@Service
+public class SchemeTaskrepeatconfigServiceImpl implements ISchemeTaskrepeatconfigService 
+{
+    @Autowired
+    private SchemeTaskrepeatconfigMapper schemeTaskrepeatconfigMapper;
+
+    /**
+     * 鏌ヨ鏂规浠诲姟閲嶅彂閰嶇疆
+     * 
+     * @param id 鏂规浠诲姟閲嶅彂閰嶇疆涓婚敭
+     * @return 鏂规浠诲姟閲嶅彂閰嶇疆
+     */
+    @Override
+    public SchemeTaskrepeatconfig selectSchemeTaskrepeatconfigById(Long id)
+    {
+        return schemeTaskrepeatconfigMapper.selectSchemeTaskrepeatconfigById(id);
+    }
+
+    /**
+     * 鏌ヨ鏂规浠诲姟閲嶅彂閰嶇疆鍒楄〃
+     * 
+     * @param schemeTaskrepeatconfig 鏂规浠诲姟閲嶅彂閰嶇疆
+     * @return 鏂规浠诲姟閲嶅彂閰嶇疆
+     */
+    @Override
+    public List<SchemeTaskrepeatconfig> selectSchemeTaskrepeatconfigList(SchemeTaskrepeatconfig schemeTaskrepeatconfig)
+    {
+        return schemeTaskrepeatconfigMapper.selectSchemeTaskrepeatconfigList(schemeTaskrepeatconfig);
+    }
+
+    /**
+     * 鏂板鏂规浠诲姟閲嶅彂閰嶇疆
+     * 
+     * @param schemeTaskrepeatconfig 鏂规浠诲姟閲嶅彂閰嶇疆
+     * @return 缁撴灉
+     */
+    @Override
+    public int insertSchemeTaskrepeatconfig(SchemeTaskrepeatconfig schemeTaskrepeatconfig)
+    {
+        schemeTaskrepeatconfig.setCreateTime(DateUtils.getNowDate());
+        return schemeTaskrepeatconfigMapper.insertSchemeTaskrepeatconfig(schemeTaskrepeatconfig);
+    }
+
+    /**
+     * 淇敼鏂规浠诲姟閲嶅彂閰嶇疆
+     * 
+     * @param schemeTaskrepeatconfig 鏂规浠诲姟閲嶅彂閰嶇疆
+     * @return 缁撴灉
+     */
+    @Override
+    public int updateSchemeTaskrepeatconfig(SchemeTaskrepeatconfig schemeTaskrepeatconfig)
+    {
+        schemeTaskrepeatconfig.setUpdateTime(DateUtils.getNowDate());
+        return schemeTaskrepeatconfigMapper.updateSchemeTaskrepeatconfig(schemeTaskrepeatconfig);
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎鏂规浠诲姟閲嶅彂閰嶇疆
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑鏂规浠诲姟閲嶅彂閰嶇疆涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteSchemeTaskrepeatconfigByIds(Long[] ids)
+    {
+        return schemeTaskrepeatconfigMapper.deleteSchemeTaskrepeatconfigByIds(ids);
+    }
+
+    /**
+     * 鍒犻櫎鏂规浠诲姟閲嶅彂閰嶇疆淇℃伅
+     * 
+     * @param id 鏂规浠诲姟閲嶅彂閰嶇疆涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteSchemeTaskrepeatconfigById(Long id)
+    {
+        return schemeTaskrepeatconfigMapper.deleteSchemeTaskrepeatconfigById(id);
+    }
+}
diff --git a/smartor/src/main/java/com/smartor/service/impl/SchemeTriggerruleServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/SchemeTriggerruleServiceImpl.java
new file mode 100644
index 0000000..727c217
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/service/impl/SchemeTriggerruleServiceImpl.java
@@ -0,0 +1,96 @@
+package com.smartor.service.impl;
+
+import java.util.List;
+import com.ruoyi.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.smartor.mapper.SchemeTriggerruleMapper;
+import com.smartor.domain.SchemeTriggerrule;
+import com.smartor.service.ISchemeTriggerruleService;
+
+/**
+ * 鏂规瑙﹀彂鏉′欢瑙勫垯Service涓氬姟灞傚鐞�
+ * 
+ * @author smartor
+ * @date 2023-03-04
+ */
+@Service
+public class SchemeTriggerruleServiceImpl implements ISchemeTriggerruleService 
+{
+    @Autowired
+    private SchemeTriggerruleMapper schemeTriggerruleMapper;
+
+    /**
+     * 鏌ヨ鏂规瑙﹀彂鏉′欢瑙勫垯
+     * 
+     * @param id 鏂规瑙﹀彂鏉′欢瑙勫垯涓婚敭
+     * @return 鏂规瑙﹀彂鏉′欢瑙勫垯
+     */
+    @Override
+    public SchemeTriggerrule selectSchemeTriggerruleById(Long id)
+    {
+        return schemeTriggerruleMapper.selectSchemeTriggerruleById(id);
+    }
+
+    /**
+     * 鏌ヨ鏂规瑙﹀彂鏉′欢瑙勫垯鍒楄〃
+     * 
+     * @param schemeTriggerrule 鏂规瑙﹀彂鏉′欢瑙勫垯
+     * @return 鏂规瑙﹀彂鏉′欢瑙勫垯
+     */
+    @Override
+    public List<SchemeTriggerrule> selectSchemeTriggerruleList(SchemeTriggerrule schemeTriggerrule)
+    {
+        return schemeTriggerruleMapper.selectSchemeTriggerruleList(schemeTriggerrule);
+    }
+
+    /**
+     * 鏂板鏂规瑙﹀彂鏉′欢瑙勫垯
+     * 
+     * @param schemeTriggerrule 鏂规瑙﹀彂鏉′欢瑙勫垯
+     * @return 缁撴灉
+     */
+    @Override
+    public int insertSchemeTriggerrule(SchemeTriggerrule schemeTriggerrule)
+    {
+        schemeTriggerrule.setCreateTime(DateUtils.getNowDate());
+        return schemeTriggerruleMapper.insertSchemeTriggerrule(schemeTriggerrule);
+    }
+
+    /**
+     * 淇敼鏂规瑙﹀彂鏉′欢瑙勫垯
+     * 
+     * @param schemeTriggerrule 鏂规瑙﹀彂鏉′欢瑙勫垯
+     * @return 缁撴灉
+     */
+    @Override
+    public int updateSchemeTriggerrule(SchemeTriggerrule schemeTriggerrule)
+    {
+        schemeTriggerrule.setUpdateTime(DateUtils.getNowDate());
+        return schemeTriggerruleMapper.updateSchemeTriggerrule(schemeTriggerrule);
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎鏂规瑙﹀彂鏉′欢瑙勫垯
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑鏂规瑙﹀彂鏉′欢瑙勫垯涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteSchemeTriggerruleByIds(Long[] ids)
+    {
+        return schemeTriggerruleMapper.deleteSchemeTriggerruleByIds(ids);
+    }
+
+    /**
+     * 鍒犻櫎鏂规瑙﹀彂鏉′欢瑙勫垯淇℃伅
+     * 
+     * @param id 鏂规瑙﹀彂鏉′欢瑙勫垯涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteSchemeTriggerruleById(Long id)
+    {
+        return schemeTriggerruleMapper.deleteSchemeTriggerruleById(id);
+    }
+}
diff --git a/smartor/src/main/java/com/smartor/service/impl/SchemeTriggersceneServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/SchemeTriggersceneServiceImpl.java
new file mode 100644
index 0000000..8917154
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/service/impl/SchemeTriggersceneServiceImpl.java
@@ -0,0 +1,96 @@
+package com.smartor.service.impl;
+
+import java.util.List;
+import com.ruoyi.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.smartor.mapper.SchemeTriggersceneMapper;
+import com.smartor.domain.SchemeTriggerscene;
+import com.smartor.service.ISchemeTriggersceneService;
+
+/**
+ * 鏂规瑙﹀彂鍦烘櫙Service涓氬姟灞傚鐞�
+ * 
+ * @author smartor
+ * @date 2023-03-04
+ */
+@Service
+public class SchemeTriggersceneServiceImpl implements ISchemeTriggersceneService 
+{
+    @Autowired
+    private SchemeTriggersceneMapper schemeTriggersceneMapper;
+
+    /**
+     * 鏌ヨ鏂规瑙﹀彂鍦烘櫙
+     * 
+     * @param id 鏂规瑙﹀彂鍦烘櫙涓婚敭
+     * @return 鏂规瑙﹀彂鍦烘櫙
+     */
+    @Override
+    public SchemeTriggerscene selectSchemeTriggersceneById(Long id)
+    {
+        return schemeTriggersceneMapper.selectSchemeTriggersceneById(id);
+    }
+
+    /**
+     * 鏌ヨ鏂规瑙﹀彂鍦烘櫙鍒楄〃
+     * 
+     * @param schemeTriggerscene 鏂规瑙﹀彂鍦烘櫙
+     * @return 鏂规瑙﹀彂鍦烘櫙
+     */
+    @Override
+    public List<SchemeTriggerscene> selectSchemeTriggersceneList(SchemeTriggerscene schemeTriggerscene)
+    {
+        return schemeTriggersceneMapper.selectSchemeTriggersceneList(schemeTriggerscene);
+    }
+
+    /**
+     * 鏂板鏂规瑙﹀彂鍦烘櫙
+     * 
+     * @param schemeTriggerscene 鏂规瑙﹀彂鍦烘櫙
+     * @return 缁撴灉
+     */
+    @Override
+    public int insertSchemeTriggerscene(SchemeTriggerscene schemeTriggerscene)
+    {
+        schemeTriggerscene.setCreateTime(DateUtils.getNowDate());
+        return schemeTriggersceneMapper.insertSchemeTriggerscene(schemeTriggerscene);
+    }
+
+    /**
+     * 淇敼鏂规瑙﹀彂鍦烘櫙
+     * 
+     * @param schemeTriggerscene 鏂规瑙﹀彂鍦烘櫙
+     * @return 缁撴灉
+     */
+    @Override
+    public int updateSchemeTriggerscene(SchemeTriggerscene schemeTriggerscene)
+    {
+        schemeTriggerscene.setUpdateTime(DateUtils.getNowDate());
+        return schemeTriggersceneMapper.updateSchemeTriggerscene(schemeTriggerscene);
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎鏂规瑙﹀彂鍦烘櫙
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑鏂规瑙﹀彂鍦烘櫙涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteSchemeTriggersceneByIds(Long[] ids)
+    {
+        return schemeTriggersceneMapper.deleteSchemeTriggersceneByIds(ids);
+    }
+
+    /**
+     * 鍒犻櫎鏂规瑙﹀彂鍦烘櫙淇℃伅
+     * 
+     * @param id 鏂规瑙﹀彂鍦烘櫙涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteSchemeTriggersceneById(Long id)
+    {
+        return schemeTriggersceneMapper.deleteSchemeTriggersceneById(id);
+    }
+}
diff --git a/smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml b/smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml
new file mode 100644
index 0000000..811c5e4
--- /dev/null
+++ b/smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml
@@ -0,0 +1,206 @@
+<?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.PatMedInhospMapper">
+    
+    <resultMap type="PatMedInhosp" id="PatMedInhospResult">
+        <result property="inhospid"    column="inhospid"    />
+        <result property="serialnum"    column="serialnum"    />
+        <result property="hospitalname"    column="hospitalname"    />
+        <result property="hospitalcode"    column="hospitalcode"    />
+        <result property="hospitaldistrictcode"    column="hospitaldistrictcode"    />
+        <result property="hospitaldistrictname"    column="hospitaldistrictname"    />
+        <result property="icd10code"    column="icd10code"    />
+        <result property="diagname"    column="diagname"    />
+        <result property="starttime"    column="starttime"    />
+        <result property="endtime"    column="endtime"    />
+        <result property="deptcode"    column="deptcode"    />
+        <result property="deptname"    column="deptname"    />
+        <result property="roomno"    column="roomno"    />
+        <result property="bedno"    column="bedno"    />
+        <result property="orgid"    column="orgid"    />
+        <result property="delFlag"    column="del_flag"    />
+        <result property="updateBy"    column="update_by"    />
+        <result property="updateTime"    column="update_time"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="isupload"    column="isupload"    />
+        <result property="uploadTime"    column="upload_time"    />
+        <result property="patid"    column="patid"    />
+        <result property="leavediagname"    column="leavediagname"    />
+        <result property="leaveicd10code"    column="leaveicd10code"    />
+        <result property="drcode"    column="drcode"    />
+        <result property="drname"    column="drname"    />
+        <result property="schemestatus"    column="schemestatus"    />
+        <result property="generalschemestatus"    column="generalschemestatus"    />
+        <result property="leaveldeptcode"    column="leaveldeptcode"    />
+        <result property="leaveldeptname"    column="leaveldeptname"    />
+        <result property="hospitaldistrictid"    column="hospitaldistrictid"    />
+        <result property="leavehospitaldistrictcode"    column="leavehospitaldistrictcode"    />
+        <result property="leavehospitaldistrictname"    column="leavehospitaldistrictname"    />
+        <result property="leavehospitaldistrictid"    column="leavehospitaldistrictid"    />
+        <result property="deptid"    column="deptid"    />
+        <result property="leaveldeptid"    column="leaveldeptid"    />
+        <result property="schemetime"    column="schemetime"    />
+    </resultMap>
+
+    <sql id="selectPatMedInhospVo">
+        select inhospid, 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
+    </sql>
+
+    <select id="selectPatMedInhospList" parameterType="PatMedInhosp" resultMap="PatMedInhospResult">
+        <include refid="selectPatMedInhospVo"/>
+        <where>  
+            <if test="hospitalname != null  and hospitalname != ''"> and hospitalname like concat('%', #{hospitalname}, '%')</if>
+            <if test="hospitaldistrictname != null  and hospitaldistrictname != ''"> and hospitaldistrictname like concat('%', #{hospitaldistrictname}, '%')</if>
+            <if test="endtime != null "> and endtime = #{endtime}</if>
+            <if test="leavediagname != null  and leavediagname != ''"> and leavediagname like concat('%', #{leavediagname}, '%')</if>
+            <if test="drname != null  and drname != ''"> and drname like concat('%', #{drname}, '%')</if>
+            <if test="leaveldeptname != null  and leaveldeptname != ''"> and leaveldeptname like concat('%', #{leaveldeptname}, '%')</if>
+            <if test="leavehospitaldistrictname != null  and leavehospitaldistrictname != ''"> and leavehospitaldistrictname like concat('%', #{leavehospitaldistrictname}, '%')</if>
+        </where>
+    </select>
+    
+    <select id="selectPatMedInhospByInhospid" parameterType="Long" resultMap="PatMedInhospResult">
+        <include refid="selectPatMedInhospVo"/>
+        where inhospid = #{inhospid}
+    </select>
+        
+    <insert id="insertPatMedInhosp" parameterType="PatMedInhosp" useGeneratedKeys="true" keyProperty="inhospid">
+        insert into pat_med_inhosp
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="serialnum != null">serialnum,</if>
+            <if test="hospitalname != null">hospitalname,</if>
+            <if test="hospitalcode != null">hospitalcode,</if>
+            <if test="hospitaldistrictcode != null">hospitaldistrictcode,</if>
+            <if test="hospitaldistrictname != null">hospitaldistrictname,</if>
+            <if test="icd10code != null">icd10code,</if>
+            <if test="diagname != null">diagname,</if>
+            <if test="starttime != null">starttime,</if>
+            <if test="endtime != null">endtime,</if>
+            <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="orgid != null">orgid,</if>
+            <if test="delFlag != null and delFlag != ''">del_flag,</if>
+            <if test="updateBy != null">update_by,</if>
+            <if test="updateTime != null">update_time,</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="patid != null">patid,</if>
+            <if test="leavediagname != null">leavediagname,</if>
+            <if test="leaveicd10code != null">leaveicd10code,</if>
+            <if test="drcode != null">drcode,</if>
+            <if test="drname != null">drname,</if>
+            <if test="schemestatus != null">schemestatus,</if>
+            <if test="generalschemestatus != null">generalschemestatus,</if>
+            <if test="leaveldeptcode != null">leaveldeptcode,</if>
+            <if test="leaveldeptname != null">leaveldeptname,</if>
+            <if test="hospitaldistrictid != null">hospitaldistrictid,</if>
+            <if test="leavehospitaldistrictcode != null">leavehospitaldistrictcode,</if>
+            <if test="leavehospitaldistrictname != null">leavehospitaldistrictname,</if>
+            <if test="leavehospitaldistrictid != null">leavehospitaldistrictid,</if>
+            <if test="deptid != null">deptid,</if>
+            <if test="leaveldeptid != null">leaveldeptid,</if>
+            <if test="schemetime != null">schemetime,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="serialnum != null">#{serialnum},</if>
+            <if test="hospitalname != null">#{hospitalname},</if>
+            <if test="hospitalcode != null">#{hospitalcode},</if>
+            <if test="hospitaldistrictcode != null">#{hospitaldistrictcode},</if>
+            <if test="hospitaldistrictname != null">#{hospitaldistrictname},</if>
+            <if test="icd10code != null">#{icd10code},</if>
+            <if test="diagname != null">#{diagname},</if>
+            <if test="starttime != null">#{starttime},</if>
+            <if test="endtime != null">#{endtime},</if>
+            <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="orgid != null">#{orgid},</if>
+            <if test="delFlag != null and delFlag != ''">#{delFlag},</if>
+            <if test="updateBy != null">#{updateBy},</if>
+            <if test="updateTime != null">#{updateTime},</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="patid != null">#{patid},</if>
+            <if test="leavediagname != null">#{leavediagname},</if>
+            <if test="leaveicd10code != null">#{leaveicd10code},</if>
+            <if test="drcode != null">#{drcode},</if>
+            <if test="drname != null">#{drname},</if>
+            <if test="schemestatus != null">#{schemestatus},</if>
+            <if test="generalschemestatus != null">#{generalschemestatus},</if>
+            <if test="leaveldeptcode != null">#{leaveldeptcode},</if>
+            <if test="leaveldeptname != null">#{leaveldeptname},</if>
+            <if test="hospitaldistrictid != null">#{hospitaldistrictid},</if>
+            <if test="leavehospitaldistrictcode != null">#{leavehospitaldistrictcode},</if>
+            <if test="leavehospitaldistrictname != null">#{leavehospitaldistrictname},</if>
+            <if test="leavehospitaldistrictid != null">#{leavehospitaldistrictid},</if>
+            <if test="deptid != null">#{deptid},</if>
+            <if test="leaveldeptid != null">#{leaveldeptid},</if>
+            <if test="schemetime != null">#{schemetime},</if>
+         </trim>
+    </insert>
+
+    <update id="updatePatMedInhosp" parameterType="PatMedInhosp">
+        update pat_med_inhosp
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="serialnum != null">serialnum = #{serialnum},</if>
+            <if test="hospitalname != null">hospitalname = #{hospitalname},</if>
+            <if test="hospitalcode != null">hospitalcode = #{hospitalcode},</if>
+            <if test="hospitaldistrictcode != null">hospitaldistrictcode = #{hospitaldistrictcode},</if>
+            <if test="hospitaldistrictname != null">hospitaldistrictname = #{hospitaldistrictname},</if>
+            <if test="icd10code != null">icd10code = #{icd10code},</if>
+            <if test="diagname != null">diagname = #{diagname},</if>
+            <if test="starttime != null">starttime = #{starttime},</if>
+            <if test="endtime != null">endtime = #{endtime},</if>
+            <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="orgid != null">orgid = #{orgid},</if>
+            <if test="delFlag != null and delFlag != ''">del_flag = #{delFlag},</if>
+            <if test="updateBy != null">update_by = #{updateBy},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</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="patid != null">patid = #{patid},</if>
+            <if test="leavediagname != null">leavediagname = #{leavediagname},</if>
+            <if test="leaveicd10code != null">leaveicd10code = #{leaveicd10code},</if>
+            <if test="drcode != null">drcode = #{drcode},</if>
+            <if test="drname != null">drname = #{drname},</if>
+            <if test="schemestatus != null">schemestatus = #{schemestatus},</if>
+            <if test="generalschemestatus != null">generalschemestatus = #{generalschemestatus},</if>
+            <if test="leaveldeptcode != null">leaveldeptcode = #{leaveldeptcode},</if>
+            <if test="leaveldeptname != null">leaveldeptname = #{leaveldeptname},</if>
+            <if test="hospitaldistrictid != null">hospitaldistrictid = #{hospitaldistrictid},</if>
+            <if test="leavehospitaldistrictcode != null">leavehospitaldistrictcode = #{leavehospitaldistrictcode},</if>
+            <if test="leavehospitaldistrictname != null">leavehospitaldistrictname = #{leavehospitaldistrictname},</if>
+            <if test="leavehospitaldistrictid != null">leavehospitaldistrictid = #{leavehospitaldistrictid},</if>
+            <if test="deptid != null">deptid = #{deptid},</if>
+            <if test="leaveldeptid != null">leaveldeptid = #{leaveldeptid},</if>
+            <if test="schemetime != null">schemetime = #{schemetime},</if>
+        </trim>
+        where inhospid = #{inhospid}
+    </update>
+
+    <delete id="deletePatMedInhospByInhospid" parameterType="Long">
+        delete from pat_med_inhosp where inhospid = #{inhospid}
+    </delete>
+
+    <delete id="deletePatMedInhospByInhospids" parameterType="String">
+        delete from pat_med_inhosp where inhospid in 
+        <foreach item="inhospid" collection="array" open="(" separator="," close=")">
+            #{inhospid}
+        </foreach>
+    </delete>
+</mapper>
\ No newline at end of file
diff --git a/smartor/src/main/resources/mapper/smartor/PatMedOuthospMapper.xml b/smartor/src/main/resources/mapper/smartor/PatMedOuthospMapper.xml
new file mode 100644
index 0000000..8e1b6fc
--- /dev/null
+++ b/smartor/src/main/resources/mapper/smartor/PatMedOuthospMapper.xml
@@ -0,0 +1,152 @@
+<?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.PatMedOuthospMapper">
+    
+    <resultMap type="PatMedOuthosp" id="PatMedOuthospResult">
+        <result property="id"    column="id"    />
+        <result property="serialnum"    column="serialnum"    />
+        <result property="patid"    column="patid"    />
+        <result property="hospitalname"    column="hospitalname"    />
+        <result property="hospitalcode"    column="hospitalcode"    />
+        <result property="icd10code"    column="icd10code"    />
+        <result property="diagname"    column="diagname"    />
+        <result property="deptcode"    column="deptcode"    />
+        <result property="deptname"    column="deptname"    />
+        <result property="drcode"    column="drcode"    />
+        <result property="drname"    column="drname"    />
+        <result property="admitdate"    column="admitdate"    />
+        <result property="orgid"    column="orgid"    />
+        <result property="delFlag"    column="del_flag"    />
+        <result property="updateBy"    column="update_by"    />
+        <result property="updateTime"    column="update_time"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="isupload"    column="isupload"    />
+        <result property="uploadTime"    column="upload_time"    />
+        <result property="schemestatus"    column="schemestatus"    />
+        <result property="deptid"    column="deptid"    />
+        <result property="schemetime"    column="schemetime"    />
+        <result property="hpi"    column="hpi"    />
+        <result property="mainsuit"    column="mainsuit"    />
+    </resultMap>
+
+    <sql id="selectPatMedOuthospVo">
+        select id, serialnum, patid, hospitalname, hospitalcode, icd10code, diagname, deptcode, deptname, drcode, drname, admitdate, orgid, del_flag, update_by, update_time, create_by, create_time, isupload, upload_time, schemestatus, deptid, schemetime, hpi, mainsuit from pat_med_outhosp
+    </sql>
+
+    <select id="selectPatMedOuthospList" parameterType="PatMedOuthosp" resultMap="PatMedOuthospResult">
+        <include refid="selectPatMedOuthospVo"/>
+        <where>  
+            <if test="hospitalname != null  and hospitalname != ''"> and hospitalname like concat('%', #{hospitalname}, '%')</if>
+            <if test="deptname != null  and deptname != ''"> and deptname like concat('%', #{deptname}, '%')</if>
+            <if test="drname != null  and drname != ''"> and drname like concat('%', #{drname}, '%')</if>
+            <if test="admitdate != null "> and admitdate = #{admitdate}</if>
+            <if test="orgid != null  and orgid != ''"> and orgid = #{orgid}</if>
+        </where>
+    </select>
+    
+    <select id="selectPatMedOuthospById" parameterType="Long" resultMap="PatMedOuthospResult">
+        <include refid="selectPatMedOuthospVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertPatMedOuthosp" parameterType="PatMedOuthosp" useGeneratedKeys="true" keyProperty="id">
+        insert into pat_med_outhosp
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="serialnum != null">serialnum,</if>
+            <if test="patid != null">patid,</if>
+            <if test="hospitalname != null">hospitalname,</if>
+            <if test="hospitalcode != null">hospitalcode,</if>
+            <if test="icd10code != null">icd10code,</if>
+            <if test="diagname != null">diagname,</if>
+            <if test="deptcode != null">deptcode,</if>
+            <if test="deptname != null">deptname,</if>
+            <if test="drcode != null">drcode,</if>
+            <if test="drname != null">drname,</if>
+            <if test="admitdate != null">admitdate,</if>
+            <if test="orgid != null">orgid,</if>
+            <if test="delFlag != null and delFlag != ''">del_flag,</if>
+            <if test="updateBy != null">update_by,</if>
+            <if test="updateTime != null">update_time,</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="schemestatus != null">schemestatus,</if>
+            <if test="deptid != null">deptid,</if>
+            <if test="schemetime != null">schemetime,</if>
+            <if test="hpi != null">hpi,</if>
+            <if test="mainsuit != null">mainsuit,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="serialnum != null">#{serialnum},</if>
+            <if test="patid != null">#{patid},</if>
+            <if test="hospitalname != null">#{hospitalname},</if>
+            <if test="hospitalcode != null">#{hospitalcode},</if>
+            <if test="icd10code != null">#{icd10code},</if>
+            <if test="diagname != null">#{diagname},</if>
+            <if test="deptcode != null">#{deptcode},</if>
+            <if test="deptname != null">#{deptname},</if>
+            <if test="drcode != null">#{drcode},</if>
+            <if test="drname != null">#{drname},</if>
+            <if test="admitdate != null">#{admitdate},</if>
+            <if test="orgid != null">#{orgid},</if>
+            <if test="delFlag != null and delFlag != ''">#{delFlag},</if>
+            <if test="updateBy != null">#{updateBy},</if>
+            <if test="updateTime != null">#{updateTime},</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="schemestatus != null">#{schemestatus},</if>
+            <if test="deptid != null">#{deptid},</if>
+            <if test="schemetime != null">#{schemetime},</if>
+            <if test="hpi != null">#{hpi},</if>
+            <if test="mainsuit != null">#{mainsuit},</if>
+         </trim>
+    </insert>
+
+    <update id="updatePatMedOuthosp" parameterType="PatMedOuthosp">
+        update pat_med_outhosp
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="serialnum != null">serialnum = #{serialnum},</if>
+            <if test="patid != null">patid = #{patid},</if>
+            <if test="hospitalname != null">hospitalname = #{hospitalname},</if>
+            <if test="hospitalcode != null">hospitalcode = #{hospitalcode},</if>
+            <if test="icd10code != null">icd10code = #{icd10code},</if>
+            <if test="diagname != null">diagname = #{diagname},</if>
+            <if test="deptcode != null">deptcode = #{deptcode},</if>
+            <if test="deptname != null">deptname = #{deptname},</if>
+            <if test="drcode != null">drcode = #{drcode},</if>
+            <if test="drname != null">drname = #{drname},</if>
+            <if test="admitdate != null">admitdate = #{admitdate},</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>
+            <if test="updateTime != null">update_time = #{updateTime},</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="schemestatus != null">schemestatus = #{schemestatus},</if>
+            <if test="deptid != null">deptid = #{deptid},</if>
+            <if test="schemetime != null">schemetime = #{schemetime},</if>
+            <if test="hpi != null">hpi = #{hpi},</if>
+            <if test="mainsuit != null">mainsuit = #{mainsuit},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deletePatMedOuthospById" parameterType="Long">
+        delete from pat_med_outhosp where id = #{id}
+    </delete>
+
+    <delete id="deletePatMedOuthospByIds" parameterType="String">
+        delete from pat_med_outhosp where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>
\ No newline at end of file
diff --git a/smartor/src/main/resources/mapper/smartor/PatMedPhysicalMapper.xml b/smartor/src/main/resources/mapper/smartor/PatMedPhysicalMapper.xml
new file mode 100644
index 0000000..f7dcfad
--- /dev/null
+++ b/smartor/src/main/resources/mapper/smartor/PatMedPhysicalMapper.xml
@@ -0,0 +1,156 @@
+<?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.PatMedPhysicalMapper">
+    
+    <resultMap type="PatMedPhysical" id="PatMedPhysicalResult">
+        <result property="id"    column="id"    />
+        <result property="serialnum"    column="serialnum"    />
+        <result property="patid"    column="patid"    />
+        <result property="drcode"    column="drcode"    />
+        <result property="drname"    column="drname"    />
+        <result property="hospitalcode"    column="hospitalcode"    />
+        <result property="hospitalname"    column="hospitalname"    />
+        <result property="physicaldate"    column="physicaldate"    />
+        <result property="orgid"    column="orgid"    />
+        <result property="delFlag"    column="del_flag"    />
+        <result property="updateBy"    column="update_by"    />
+        <result property="updateTime"    column="update_time"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="isupload"    column="isupload"    />
+        <result property="uploadTime"    column="upload_time"    />
+        <result property="deptcode"    column="deptcode"    />
+        <result property="deptname"    column="deptname"    />
+        <result property="projectname"    column="projectname"    />
+        <result property="projectcode"    column="projectcode"    />
+        <result property="state"    column="state"    />
+        <result property="schemestatus"    column="schemestatus"    />
+        <result property="generalschemestatus"    column="generalschemestatus"    />
+        <result property="deptid"    column="deptid"    />
+        <result property="projectid"    column="projectid"    />
+        <result property="schemetime"    column="schemetime"    />
+    </resultMap>
+
+    <sql id="selectPatMedPhysicalVo">
+        select id, serialnum, patid, drcode, drname, hospitalcode, hospitalname, physicaldate, orgid, del_flag, update_by, update_time, create_by, create_time, isupload, upload_time, deptcode, deptname, projectname, projectcode, state, schemestatus, generalschemestatus, deptid, projectid, schemetime from pat_med_physical
+    </sql>
+
+    <select id="selectPatMedPhysicalList" parameterType="PatMedPhysical" resultMap="PatMedPhysicalResult">
+        <include refid="selectPatMedPhysicalVo"/>
+        <where>  
+            <if test="hospitalname != null  and hospitalname != ''"> and hospitalname like concat('%', #{hospitalname}, '%')</if>
+            <if test="physicaldate != null "> and physicaldate = #{physicaldate}</if>
+            <if test="orgid != null  and orgid != ''"> and orgid = #{orgid}</if>
+            <if test="deptname != null  and deptname != ''"> and deptname like concat('%', #{deptname}, '%')</if>
+            <if test="projectname != null  and projectname != ''"> and projectname like concat('%', #{projectname}, '%')</if>
+        </where>
+    </select>
+    
+    <select id="selectPatMedPhysicalById" parameterType="Long" resultMap="PatMedPhysicalResult">
+        <include refid="selectPatMedPhysicalVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertPatMedPhysical" parameterType="PatMedPhysical" useGeneratedKeys="true" keyProperty="id">
+        insert into pat_med_physical
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="serialnum != null">serialnum,</if>
+            <if test="patid != null">patid,</if>
+            <if test="drcode != null">drcode,</if>
+            <if test="drname != null">drname,</if>
+            <if test="hospitalcode != null">hospitalcode,</if>
+            <if test="hospitalname != null">hospitalname,</if>
+            <if test="physicaldate != null">physicaldate,</if>
+            <if test="orgid != null">orgid,</if>
+            <if test="delFlag != null and delFlag != ''">del_flag,</if>
+            <if test="updateBy != null">update_by,</if>
+            <if test="updateTime != null">update_time,</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="deptcode != null">deptcode,</if>
+            <if test="deptname != null">deptname,</if>
+            <if test="projectname != null">projectname,</if>
+            <if test="projectcode != null">projectcode,</if>
+            <if test="state != null">state,</if>
+            <if test="schemestatus != null">schemestatus,</if>
+            <if test="generalschemestatus != null">generalschemestatus,</if>
+            <if test="deptid != null">deptid,</if>
+            <if test="projectid != null">projectid,</if>
+            <if test="schemetime != null">schemetime,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="serialnum != null">#{serialnum},</if>
+            <if test="patid != null">#{patid},</if>
+            <if test="drcode != null">#{drcode},</if>
+            <if test="drname != null">#{drname},</if>
+            <if test="hospitalcode != null">#{hospitalcode},</if>
+            <if test="hospitalname != null">#{hospitalname},</if>
+            <if test="physicaldate != null">#{physicaldate},</if>
+            <if test="orgid != null">#{orgid},</if>
+            <if test="delFlag != null and delFlag != ''">#{delFlag},</if>
+            <if test="updateBy != null">#{updateBy},</if>
+            <if test="updateTime != null">#{updateTime},</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="deptcode != null">#{deptcode},</if>
+            <if test="deptname != null">#{deptname},</if>
+            <if test="projectname != null">#{projectname},</if>
+            <if test="projectcode != null">#{projectcode},</if>
+            <if test="state != null">#{state},</if>
+            <if test="schemestatus != null">#{schemestatus},</if>
+            <if test="generalschemestatus != null">#{generalschemestatus},</if>
+            <if test="deptid != null">#{deptid},</if>
+            <if test="projectid != null">#{projectid},</if>
+            <if test="schemetime != null">#{schemetime},</if>
+         </trim>
+    </insert>
+
+    <update id="updatePatMedPhysical" parameterType="PatMedPhysical">
+        update pat_med_physical
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="serialnum != null">serialnum = #{serialnum},</if>
+            <if test="patid != null">patid = #{patid},</if>
+            <if test="drcode != null">drcode = #{drcode},</if>
+            <if test="drname != null">drname = #{drname},</if>
+            <if test="hospitalcode != null">hospitalcode = #{hospitalcode},</if>
+            <if test="hospitalname != null">hospitalname = #{hospitalname},</if>
+            <if test="physicaldate != null">physicaldate = #{physicaldate},</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>
+            <if test="updateTime != null">update_time = #{updateTime},</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="deptcode != null">deptcode = #{deptcode},</if>
+            <if test="deptname != null">deptname = #{deptname},</if>
+            <if test="projectname != null">projectname = #{projectname},</if>
+            <if test="projectcode != null">projectcode = #{projectcode},</if>
+            <if test="state != null">state = #{state},</if>
+            <if test="schemestatus != null">schemestatus = #{schemestatus},</if>
+            <if test="generalschemestatus != null">generalschemestatus = #{generalschemestatus},</if>
+            <if test="deptid != null">deptid = #{deptid},</if>
+            <if test="projectid != null">projectid = #{projectid},</if>
+            <if test="schemetime != null">schemetime = #{schemetime},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deletePatMedPhysicalById" parameterType="Long">
+        delete from pat_med_physical where id = #{id}
+    </delete>
+
+    <delete id="deletePatMedPhysicalByIds" parameterType="String">
+        delete from pat_med_physical where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>
\ No newline at end of file
diff --git a/smartor/src/main/resources/mapper/smartor/SchemeAutofinshruleMapper.xml b/smartor/src/main/resources/mapper/smartor/SchemeAutofinshruleMapper.xml
new file mode 100644
index 0000000..da3a2cf
--- /dev/null
+++ b/smartor/src/main/resources/mapper/smartor/SchemeAutofinshruleMapper.xml
@@ -0,0 +1,99 @@
+<?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.ruoyi.smartor.mapper.SchemeAutofinshruleMapper">
+    
+    <resultMap type="SchemeAutofinshrule" id="SchemeAutofinshruleResult">
+        <result property="id"    column="id"    />
+        <result property="schemeid"    column="schemeid"    />
+        <result property="ruletype"    column="ruletype"    />
+        <result property="rulevalue"    column="rulevalue"    />
+        <result property="orgid"    column="orgid"    />
+        <result property="delFlag"    column="del_flag"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateBy"    column="update_by"    />
+        <result property="updateTime"    column="update_time"    />
+        <result property="isupload"    column="isupload"    />
+        <result property="uploadTime"    column="upload_time"    />
+    </resultMap>
+
+    <sql id="selectSchemeAutofinshruleVo">
+        select id, schemeid, ruletype, rulevalue, orgid, del_flag, create_by, create_time, update_by, update_time, isupload, upload_time from scheme_autofinshrule
+    </sql>
+
+    <select id="selectSchemeAutofinshruleList" parameterType="SchemeAutofinshrule" resultMap="SchemeAutofinshruleResult">
+        <include refid="selectSchemeAutofinshruleVo"/>
+        <where>  
+            <if test="schemeid != null "> and schemeid = #{schemeid}</if>
+            <if test="ruletype != null "> and ruletype = #{ruletype}</if>
+            <if test="rulevalue != null  and rulevalue != ''"> and rulevalue = #{rulevalue}</if>
+            <if test="orgid != null  and orgid != ''"> and orgid = #{orgid}</if>
+        </where>
+    </select>
+    
+    <select id="selectSchemeAutofinshruleById" parameterType="Long" resultMap="SchemeAutofinshruleResult">
+        <include refid="selectSchemeAutofinshruleVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertSchemeAutofinshrule" parameterType="SchemeAutofinshrule" useGeneratedKeys="true" keyProperty="id">
+        insert into scheme_autofinshrule
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="schemeid != null">schemeid,</if>
+            <if test="ruletype != null">ruletype,</if>
+            <if test="rulevalue != null">rulevalue,</if>
+            <if test="orgid != null">orgid,</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="updateBy != null">update_by,</if>
+            <if test="updateTime != null">update_time,</if>
+            <if test="isupload != null">isupload,</if>
+            <if test="uploadTime != null">upload_time,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="schemeid != null">#{schemeid},</if>
+            <if test="ruletype != null">#{ruletype},</if>
+            <if test="rulevalue != null">#{rulevalue},</if>
+            <if test="orgid != null">#{orgid},</if>
+            <if test="delFlag != null and delFlag != ''">#{delFlag},</if>
+            <if test="createBy != null">#{createBy},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="updateBy != null">#{updateBy},</if>
+            <if test="updateTime != null">#{updateTime},</if>
+            <if test="isupload != null">#{isupload},</if>
+            <if test="uploadTime != null">#{uploadTime},</if>
+         </trim>
+    </insert>
+
+    <update id="updateSchemeAutofinshrule" parameterType="SchemeAutofinshrule">
+        update scheme_autofinshrule
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="schemeid != null">schemeid = #{schemeid},</if>
+            <if test="ruletype != null">ruletype = #{ruletype},</if>
+            <if test="rulevalue != null">rulevalue = #{rulevalue},</if>
+            <if test="orgid != null">orgid = #{orgid},</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="updateBy != null">update_by = #{updateBy},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+            <if test="isupload != null">isupload = #{isupload},</if>
+            <if test="uploadTime != null">upload_time = #{uploadTime},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteSchemeAutofinshruleById" parameterType="Long">
+        delete from scheme_autofinshrule where id = #{id}
+    </delete>
+
+    <delete id="deleteSchemeAutofinshruleByIds" parameterType="String">
+        delete from scheme_autofinshrule where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>
\ No newline at end of file
diff --git a/smartor/src/main/resources/mapper/smartor/SchemeCategoryMapper.xml b/smartor/src/main/resources/mapper/smartor/SchemeCategoryMapper.xml
new file mode 100644
index 0000000..6177ba4
--- /dev/null
+++ b/smartor/src/main/resources/mapper/smartor/SchemeCategoryMapper.xml
@@ -0,0 +1,94 @@
+<?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.SchemeCategoryMapper">
+    
+    <resultMap type="SchemeCategory" id="SchemeCategoryResult">
+        <result property="id"    column="id"    />
+        <result property="categoryname"    column="categoryname"    />
+        <result property="orgid"    column="orgid"    />
+        <result property="iscurrency"    column="iscurrency"    />
+        <result property="delFlag"    column="del_flag"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateBy"    column="update_by"    />
+        <result property="updateTime"    column="update_time"    />
+        <result property="isupload"    column="isupload"    />
+        <result property="uploadTime"    column="upload_time"    />
+    </resultMap>
+
+    <sql id="selectSchemeCategoryVo">
+        select id, categoryname, orgid, iscurrency, del_flag, create_by, create_time, update_by, update_time, isupload, upload_time from scheme_category
+    </sql>
+
+    <select id="selectSchemeCategoryList" parameterType="SchemeCategory" resultMap="SchemeCategoryResult">
+        <include refid="selectSchemeCategoryVo"/>
+        <where>  
+            <if test="categoryname != null  and categoryname != ''"> and categoryname like concat('%', #{categoryname}, '%')</if>
+            <if test="orgid != null  and orgid != ''"> and orgid = #{orgid}</if>
+            <if test="iscurrency != null "> and iscurrency = #{iscurrency}</if>
+        </where>
+    </select>
+    
+    <select id="selectSchemeCategoryById" parameterType="Long" resultMap="SchemeCategoryResult">
+        <include refid="selectSchemeCategoryVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertSchemeCategory" parameterType="SchemeCategory" useGeneratedKeys="true" keyProperty="id">
+        insert into scheme_category
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="categoryname != null">categoryname,</if>
+            <if test="orgid != null">orgid,</if>
+            <if test="iscurrency != null">iscurrency,</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="updateBy != null">update_by,</if>
+            <if test="updateTime != null">update_time,</if>
+            <if test="isupload != null">isupload,</if>
+            <if test="uploadTime != null">upload_time,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="categoryname != null">#{categoryname},</if>
+            <if test="orgid != null">#{orgid},</if>
+            <if test="iscurrency != null">#{iscurrency},</if>
+            <if test="delFlag != null and delFlag != ''">#{delFlag},</if>
+            <if test="createBy != null">#{createBy},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="updateBy != null">#{updateBy},</if>
+            <if test="updateTime != null">#{updateTime},</if>
+            <if test="isupload != null">#{isupload},</if>
+            <if test="uploadTime != null">#{uploadTime},</if>
+         </trim>
+    </insert>
+
+    <update id="updateSchemeCategory" parameterType="SchemeCategory">
+        update scheme_category
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="categoryname != null">categoryname = #{categoryname},</if>
+            <if test="orgid != null">orgid = #{orgid},</if>
+            <if test="iscurrency != null">iscurrency = #{iscurrency},</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="updateBy != null">update_by = #{updateBy},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+            <if test="isupload != null">isupload = #{isupload},</if>
+            <if test="uploadTime != null">upload_time = #{uploadTime},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteSchemeCategoryById" parameterType="Long">
+        delete from scheme_category where id = #{id}
+    </delete>
+
+    <delete id="deleteSchemeCategoryByIds" parameterType="String">
+        delete from scheme_category where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>
\ No newline at end of file
diff --git a/smartor/src/main/resources/mapper/smartor/SchemeLocallibraryMapper.xml b/smartor/src/main/resources/mapper/smartor/SchemeLocallibraryMapper.xml
new file mode 100644
index 0000000..9c82b0d
--- /dev/null
+++ b/smartor/src/main/resources/mapper/smartor/SchemeLocallibraryMapper.xml
@@ -0,0 +1,206 @@
+<?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.SchemeLocallibraryMapper">
+    
+    <resultMap type="SchemeLocallibrary" id="SchemeLocallibraryResult">
+        <result property="id"    column="id"    />
+        <result property="schemecategoryid"    column="schemecategoryid"    />
+        <result property="schemename"    column="schemename"    />
+        <result property="description"    column="description"    />
+        <result property="templateid"    column="templateid"    />
+        <result property="version"    column="version"    />
+        <result property="schemecode"    column="schemecode"    />
+        <result property="centerlibraryid"    column="centerlibraryid"    />
+        <result property="patientsource"    column="patientsource"    />
+        <result property="belongdeptid"    column="belongdeptid"    />
+        <result property="ruledept"    column="ruledept"    />
+        <result property="belongwardid"    column="belongwardid"    />
+        <result property="ruleward"    column="ruleward"    />
+        <result property="repeathandle"    column="repeathandle"    />
+        <result property="expirehandle"    column="expirehandle"    />
+        <result property="autofinsh"    column="autofinsh"    />
+        <result property="baselinetime"    column="baselinetime"    />
+        <result property="triggerornot"    column="triggerornot"    />
+        <result property="isenable"    column="isenable"    />
+        <result property="orgid"    column="orgid"    />
+        <result property="delFlag"    column="del_flag"    />
+        <result property="updateBy"    column="update_by"    />
+        <result property="updateTime"    column="update_time"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="isupload"    column="isupload"    />
+        <result property="uploadTime"    column="upload_time"    />
+        <result property="state"    column="state"    />
+        <result property="openBy"    column="open_by"    />
+        <result property="openTime"    column="open_time"    />
+        <result property="centerlibrarycode"    column="centerlibrarycode"    />
+        <result property="islocal"    column="islocal"    />
+        <result property="iscurrency"    column="iscurrency"    />
+    </resultMap>
+
+    <sql id="selectSchemeLocallibraryVo">
+        select id, schemecategoryid, schemename, description, templateid, version, schemecode, centerlibraryid, patientsource, belongdeptid, ruledept, belongwardid, ruleward, repeathandle, expirehandle, autofinsh, baselinetime, triggerornot, isenable, orgid, del_flag, update_by, update_time, create_by, create_time, isupload, upload_time, state, open_by, open_time, centerlibrarycode, islocal, iscurrency from scheme_locallibrary
+    </sql>
+
+    <select id="selectSchemeLocallibraryList" parameterType="SchemeLocallibrary" resultMap="SchemeLocallibraryResult">
+        <include refid="selectSchemeLocallibraryVo"/>
+        <where>  
+            <if test="schemecategoryid != null "> and schemecategoryid = #{schemecategoryid}</if>
+            <if test="schemename != null  and schemename != ''"> and schemename like concat('%', #{schemename}, '%')</if>
+            <if test="description != null  and description != ''"> and description = #{description}</if>
+            <if test="templateid != null "> and templateid = #{templateid}</if>
+            <if test="version != null "> and version = #{version}</if>
+            <if test="schemecode != null  and schemecode != ''"> and schemecode = #{schemecode}</if>
+            <if test="centerlibraryid != null "> and centerlibraryid = #{centerlibraryid}</if>
+            <if test="patientsource != null "> and patientsource = #{patientsource}</if>
+            <if test="belongdeptid != null  and belongdeptid != ''"> and belongdeptid = #{belongdeptid}</if>
+            <if test="ruledept != null "> and ruledept = #{ruledept}</if>
+            <if test="belongwardid != null  and belongwardid != ''"> and belongwardid = #{belongwardid}</if>
+            <if test="ruleward != null "> and ruleward = #{ruleward}</if>
+            <if test="repeathandle != null "> and repeathandle = #{repeathandle}</if>
+            <if test="expirehandle != null "> and expirehandle = #{expirehandle}</if>
+            <if test="autofinsh != null "> and autofinsh = #{autofinsh}</if>
+            <if test="baselinetime != null "> and baselinetime = #{baselinetime}</if>
+            <if test="triggerornot != null "> and triggerornot = #{triggerornot}</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="state != null "> and state = #{state}</if>
+            <if test="openBy != null  and openBy != ''"> and open_by = #{openBy}</if>
+            <if test="openTime != null "> and open_time = #{openTime}</if>
+            <if test="centerlibrarycode != null  and centerlibrarycode != ''"> and centerlibrarycode = #{centerlibrarycode}</if>
+            <if test="islocal != null "> and islocal = #{islocal}</if>
+            <if test="iscurrency != null "> and iscurrency = #{iscurrency}</if>
+        </where>
+    </select>
+    
+    <select id="selectSchemeLocallibraryById" parameterType="Long" resultMap="SchemeLocallibraryResult">
+        <include refid="selectSchemeLocallibraryVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertSchemeLocallibrary" parameterType="SchemeLocallibrary" useGeneratedKeys="true" keyProperty="id">
+        insert into scheme_locallibrary
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="schemecategoryid != null">schemecategoryid,</if>
+            <if test="schemename != null">schemename,</if>
+            <if test="description != null">description,</if>
+            <if test="templateid != null">templateid,</if>
+            <if test="version != null">version,</if>
+            <if test="schemecode != null">schemecode,</if>
+            <if test="centerlibraryid != null">centerlibraryid,</if>
+            <if test="patientsource != null">patientsource,</if>
+            <if test="belongdeptid != null">belongdeptid,</if>
+            <if test="ruledept != null">ruledept,</if>
+            <if test="belongwardid != null">belongwardid,</if>
+            <if test="ruleward != null">ruleward,</if>
+            <if test="repeathandle != null">repeathandle,</if>
+            <if test="expirehandle != null">expirehandle,</if>
+            <if test="autofinsh != null">autofinsh,</if>
+            <if test="baselinetime != null">baselinetime,</if>
+            <if test="triggerornot != null">triggerornot,</if>
+            <if test="isenable != null">isenable,</if>
+            <if test="orgid != null">orgid,</if>
+            <if test="delFlag != null and delFlag != ''">del_flag,</if>
+            <if test="updateBy != null">update_by,</if>
+            <if test="updateTime != null">update_time,</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="state != null">state,</if>
+            <if test="openBy != null">open_by,</if>
+            <if test="openTime != null">open_time,</if>
+            <if test="centerlibrarycode != null">centerlibrarycode,</if>
+            <if test="islocal != null">islocal,</if>
+            <if test="iscurrency != null">iscurrency,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="schemecategoryid != null">#{schemecategoryid},</if>
+            <if test="schemename != null">#{schemename},</if>
+            <if test="description != null">#{description},</if>
+            <if test="templateid != null">#{templateid},</if>
+            <if test="version != null">#{version},</if>
+            <if test="schemecode != null">#{schemecode},</if>
+            <if test="centerlibraryid != null">#{centerlibraryid},</if>
+            <if test="patientsource != null">#{patientsource},</if>
+            <if test="belongdeptid != null">#{belongdeptid},</if>
+            <if test="ruledept != null">#{ruledept},</if>
+            <if test="belongwardid != null">#{belongwardid},</if>
+            <if test="ruleward != null">#{ruleward},</if>
+            <if test="repeathandle != null">#{repeathandle},</if>
+            <if test="expirehandle != null">#{expirehandle},</if>
+            <if test="autofinsh != null">#{autofinsh},</if>
+            <if test="baselinetime != null">#{baselinetime},</if>
+            <if test="triggerornot != null">#{triggerornot},</if>
+            <if test="isenable != null">#{isenable},</if>
+            <if test="orgid != null">#{orgid},</if>
+            <if test="delFlag != null and delFlag != ''">#{delFlag},</if>
+            <if test="updateBy != null">#{updateBy},</if>
+            <if test="updateTime != null">#{updateTime},</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="state != null">#{state},</if>
+            <if test="openBy != null">#{openBy},</if>
+            <if test="openTime != null">#{openTime},</if>
+            <if test="centerlibrarycode != null">#{centerlibrarycode},</if>
+            <if test="islocal != null">#{islocal},</if>
+            <if test="iscurrency != null">#{iscurrency},</if>
+         </trim>
+    </insert>
+
+    <update id="updateSchemeLocallibrary" parameterType="SchemeLocallibrary">
+        update scheme_locallibrary
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="schemecategoryid != null">schemecategoryid = #{schemecategoryid},</if>
+            <if test="schemename != null">schemename = #{schemename},</if>
+            <if test="description != null">description = #{description},</if>
+            <if test="templateid != null">templateid = #{templateid},</if>
+            <if test="version != null">version = #{version},</if>
+            <if test="schemecode != null">schemecode = #{schemecode},</if>
+            <if test="centerlibraryid != null">centerlibraryid = #{centerlibraryid},</if>
+            <if test="patientsource != null">patientsource = #{patientsource},</if>
+            <if test="belongdeptid != null">belongdeptid = #{belongdeptid},</if>
+            <if test="ruledept != null">ruledept = #{ruledept},</if>
+            <if test="belongwardid != null">belongwardid = #{belongwardid},</if>
+            <if test="ruleward != null">ruleward = #{ruleward},</if>
+            <if test="repeathandle != null">repeathandle = #{repeathandle},</if>
+            <if test="expirehandle != null">expirehandle = #{expirehandle},</if>
+            <if test="autofinsh != null">autofinsh = #{autofinsh},</if>
+            <if test="baselinetime != null">baselinetime = #{baselinetime},</if>
+            <if test="triggerornot != null">triggerornot = #{triggerornot},</if>
+            <if test="isenable != null">isenable = #{isenable},</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>
+            <if test="updateTime != null">update_time = #{updateTime},</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="state != null">state = #{state},</if>
+            <if test="openBy != null">open_by = #{openBy},</if>
+            <if test="openTime != null">open_time = #{openTime},</if>
+            <if test="centerlibrarycode != null">centerlibrarycode = #{centerlibrarycode},</if>
+            <if test="islocal != null">islocal = #{islocal},</if>
+            <if test="iscurrency != null">iscurrency = #{iscurrency},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteSchemeLocallibraryById" parameterType="Long">
+        delete from scheme_locallibrary where id = #{id}
+    </delete>
+
+    <delete id="deleteSchemeLocallibraryByIds" parameterType="String">
+        delete from scheme_locallibrary where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>
\ No newline at end of file
diff --git a/smartor/src/main/resources/mapper/smartor/SchemePlanMapper.xml b/smartor/src/main/resources/mapper/smartor/SchemePlanMapper.xml
new file mode 100644
index 0000000..ef54b66
--- /dev/null
+++ b/smartor/src/main/resources/mapper/smartor/SchemePlanMapper.xml
@@ -0,0 +1,156 @@
+<?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.SchemePlanMapper">
+    
+    <resultMap type="SchemePlan" id="SchemePlanResult">
+        <result property="id"    column="id"    />
+        <result property="schemeid"    column="schemeid"    />
+        <result property="schemecode"    column="schemecode"    />
+        <result property="patientid"    column="patientid"    />
+        <result property="serialnum"    column="serialnum"    />
+        <result property="visitid"    column="visitid"    />
+        <result property="visittype"    column="visittype"    />
+        <result property="state"    column="state"    />
+        <result property="finshtime"    column="finshtime"    />
+        <result property="sourcetype"    column="sourcetype"    />
+        <result property="patientsource"    column="patientsource"    />
+        <result property="finshtype"    column="finshtype"    />
+        <result property="finshdesc"    column="finshdesc"    />
+        <result property="basetime"    column="basetime"    />
+        <result property="orgid"    column="orgid"    />
+        <result property="relationid"    column="relationid"    />
+        <result property="delFlag"    column="del_flag"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateBy"    column="update_by"    />
+        <result property="updateTime"    column="update_time"    />
+        <result property="isupload"    column="isupload"    />
+        <result property="uploadTime"    column="upload_time"    />
+    </resultMap>
+
+    <sql id="selectSchemePlanVo">
+        select id, schemeid, schemecode, patientid, serialnum, visitid, visittype, state, finshtime, sourcetype, patientsource, finshtype, finshdesc, basetime, orgid, relationid, del_flag, create_by, create_time, update_by, update_time, isupload, upload_time from scheme_plan
+    </sql>
+
+    <select id="selectSchemePlanList" parameterType="SchemePlan" resultMap="SchemePlanResult">
+        <include refid="selectSchemePlanVo"/>
+        <where>  
+            <if test="schemeid != null "> and schemeid = #{schemeid}</if>
+            <if test="schemecode != null  and schemecode != ''"> and schemecode = #{schemecode}</if>
+            <if test="patientid != null "> and patientid = #{patientid}</if>
+            <if test="serialnum != null  and serialnum != ''"> and serialnum = #{serialnum}</if>
+            <if test="visitid != null "> and visitid = #{visitid}</if>
+            <if test="visittype != null "> and visittype = #{visittype}</if>
+            <if test="state != null "> and state = #{state}</if>
+            <if test="finshtime != null "> and finshtime = #{finshtime}</if>
+            <if test="sourcetype != null "> and sourcetype = #{sourcetype}</if>
+            <if test="patientsource != null "> and patientsource = #{patientsource}</if>
+            <if test="finshtype != null "> and finshtype = #{finshtype}</if>
+            <if test="finshdesc != null  and finshdesc != ''"> and finshdesc = #{finshdesc}</if>
+            <if test="basetime != null "> and basetime = #{basetime}</if>
+            <if test="orgid != null  and orgid != ''"> and orgid = #{orgid}</if>
+            <if test="relationid != null "> and relationid = #{relationid}</if>
+            <if test="isupload != null "> and isupload = #{isupload}</if>
+            <if test="uploadTime != null "> and upload_time = #{uploadTime}</if>
+        </where>
+    </select>
+    
+    <select id="selectSchemePlanById" parameterType="Long" resultMap="SchemePlanResult">
+        <include refid="selectSchemePlanVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertSchemePlan" parameterType="SchemePlan" useGeneratedKeys="true" keyProperty="id">
+        insert into scheme_plan
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="schemeid != null">schemeid,</if>
+            <if test="schemecode != null">schemecode,</if>
+            <if test="patientid != null">patientid,</if>
+            <if test="serialnum != null">serialnum,</if>
+            <if test="visitid != null">visitid,</if>
+            <if test="visittype != null">visittype,</if>
+            <if test="state != null">state,</if>
+            <if test="finshtime != null">finshtime,</if>
+            <if test="sourcetype != null">sourcetype,</if>
+            <if test="patientsource != null">patientsource,</if>
+            <if test="finshtype != null">finshtype,</if>
+            <if test="finshdesc != null">finshdesc,</if>
+            <if test="basetime != null">basetime,</if>
+            <if test="orgid != null">orgid,</if>
+            <if test="relationid != null">relationid,</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="updateBy != null">update_by,</if>
+            <if test="updateTime != null">update_time,</if>
+            <if test="isupload != null">isupload,</if>
+            <if test="uploadTime != null">upload_time,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="schemeid != null">#{schemeid},</if>
+            <if test="schemecode != null">#{schemecode},</if>
+            <if test="patientid != null">#{patientid},</if>
+            <if test="serialnum != null">#{serialnum},</if>
+            <if test="visitid != null">#{visitid},</if>
+            <if test="visittype != null">#{visittype},</if>
+            <if test="state != null">#{state},</if>
+            <if test="finshtime != null">#{finshtime},</if>
+            <if test="sourcetype != null">#{sourcetype},</if>
+            <if test="patientsource != null">#{patientsource},</if>
+            <if test="finshtype != null">#{finshtype},</if>
+            <if test="finshdesc != null">#{finshdesc},</if>
+            <if test="basetime != null">#{basetime},</if>
+            <if test="orgid != null">#{orgid},</if>
+            <if test="relationid != null">#{relationid},</if>
+            <if test="delFlag != null and delFlag != ''">#{delFlag},</if>
+            <if test="createBy != null">#{createBy},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="updateBy != null">#{updateBy},</if>
+            <if test="updateTime != null">#{updateTime},</if>
+            <if test="isupload != null">#{isupload},</if>
+            <if test="uploadTime != null">#{uploadTime},</if>
+         </trim>
+    </insert>
+
+    <update id="updateSchemePlan" parameterType="SchemePlan">
+        update scheme_plan
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="schemeid != null">schemeid = #{schemeid},</if>
+            <if test="schemecode != null">schemecode = #{schemecode},</if>
+            <if test="patientid != null">patientid = #{patientid},</if>
+            <if test="serialnum != null">serialnum = #{serialnum},</if>
+            <if test="visitid != null">visitid = #{visitid},</if>
+            <if test="visittype != null">visittype = #{visittype},</if>
+            <if test="state != null">state = #{state},</if>
+            <if test="finshtime != null">finshtime = #{finshtime},</if>
+            <if test="sourcetype != null">sourcetype = #{sourcetype},</if>
+            <if test="patientsource != null">patientsource = #{patientsource},</if>
+            <if test="finshtype != null">finshtype = #{finshtype},</if>
+            <if test="finshdesc != null">finshdesc = #{finshdesc},</if>
+            <if test="basetime != null">basetime = #{basetime},</if>
+            <if test="orgid != null">orgid = #{orgid},</if>
+            <if test="relationid != null">relationid = #{relationid},</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="updateBy != null">update_by = #{updateBy},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+            <if test="isupload != null">isupload = #{isupload},</if>
+            <if test="uploadTime != null">upload_time = #{uploadTime},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteSchemePlanById" parameterType="Long">
+        delete from scheme_plan where id = #{id}
+    </delete>
+
+    <delete id="deleteSchemePlanByIds" parameterType="String">
+        delete from scheme_plan where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>
\ No newline at end of file
diff --git a/smartor/src/main/resources/mapper/smartor/SchemeTaskMapper.xml b/smartor/src/main/resources/mapper/smartor/SchemeTaskMapper.xml
new file mode 100644
index 0000000..d52cf0f
--- /dev/null
+++ b/smartor/src/main/resources/mapper/smartor/SchemeTaskMapper.xml
@@ -0,0 +1,276 @@
+<?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.SchemeTaskMapper">
+    
+    <resultMap type="SchemeTask" id="SchemeTaskResult">
+        <result property="id"    column="id"    />
+        <result property="schemeid"    column="schemeid"    />
+        <result property="schemeplanid"    column="schemeplanid"    />
+        <result property="patientid"    column="patientid"    />
+        <result property="state"    column="state"    />
+        <result property="baselinetime"    column="baselinetime"    />
+        <result property="plantime"    column="plantime"    />
+        <result property="actualtime"    column="actualtime"    />
+        <result property="overtime"    column="overtime"    />
+        <result property="orgid"    column="orgid"    />
+        <result property="delFlag"    column="del_flag"    />
+        <result property="updateBy"    column="update_by"    />
+        <result property="updateTime"    column="update_time"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="isupload"    column="isupload"    />
+        <result property="uploadTime"    column="upload_time"    />
+        <result property="patientsource"    column="patientsource"    />
+        <result property="taskconfigid"    column="taskconfigid"    />
+        <result property="relationid"    column="relationid"    />
+        <result property="relationname"    column="relationname"    />
+        <result property="content"    column="content"    />
+        <result property="tipscontent"    column="tipscontent"    />
+        <result property="tasktype"    column="tasktype"    />
+        <result property="finshtime"    column="finshtime"    />
+        <result property="finshtype"    column="finshtype"    />
+        <result property="finshdesc"    column="finshdesc"    />
+        <result property="termvaliditytime"    column="termvaliditytime"    />
+        <result property="schemestatus"    column="schemestatus"    />
+        <result property="visitid"    column="visitid"    />
+        <result property="visittype"    column="visittype"    />
+        <result property="tasksource"    column="tasksource"    />
+        <result property="relationtype"    column="relationtype"    />
+        <result property="isartificial"    column="isartificial"    />
+        <result property="overduetipstime"    column="overduetipstime"    />
+        <result property="isabnormal"    column="isabnormal"    />
+        <result property="artificialtag"    column="artificialtag"    />
+        <result property="relationcode"    column="relationcode"    />
+        <result property="schemecode"    column="schemecode"    />
+        <result property="lastplantime"    column="lastplantime"    />
+        <result property="istest"    column="istest"    />
+        <result property="firstplantime"    column="firstplantime"    />
+        <result property="repeatsecond"    column="repeatsecond"    />
+        <result property="isrepeat"    column="isrepeat"    />
+        <result property="ismanual"    column="ismanual"    />
+        <result property="losstime"    column="losstime"    />
+        <result property="relationlistid"    column="relationlistid"    />
+    </resultMap>
+
+    <sql id="selectSchemeTaskVo">
+        select id, schemeid, schemeplanid, patientid, state, baselinetime, plantime, actualtime, overtime, orgid, del_flag, update_by, update_time, create_by, create_time, isupload, upload_time, patientsource, taskconfigid, relationid, relationname, content, tipscontent, tasktype, finshtime, finshtype, finshdesc, termvaliditytime, schemestatus, visitid, visittype, tasksource, relationtype, isartificial, overduetipstime, isabnormal, artificialtag, relationcode, schemecode, lastplantime, istest, firstplantime, repeatsecond, isrepeat, ismanual, losstime, relationlistid from scheme_task
+    </sql>
+
+    <select id="selectSchemeTaskList" parameterType="SchemeTask" resultMap="SchemeTaskResult">
+        <include refid="selectSchemeTaskVo"/>
+        <where>  
+            <if test="schemeid != null "> and schemeid = #{schemeid}</if>
+            <if test="schemeplanid != null "> and schemeplanid = #{schemeplanid}</if>
+            <if test="patientid != null "> and patientid = #{patientid}</if>
+            <if test="state != null "> and state = #{state}</if>
+            <if test="baselinetime != null "> and baselinetime = #{baselinetime}</if>
+            <if test="plantime != null "> and plantime = #{plantime}</if>
+            <if test="actualtime != null "> and actualtime = #{actualtime}</if>
+            <if test="overtime != null "> and overtime = #{overtime}</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="patientsource != null "> and patientsource = #{patientsource}</if>
+            <if test="taskconfigid != null  and taskconfigid != ''"> and taskconfigid = #{taskconfigid}</if>
+            <if test="relationid != null "> and relationid = #{relationid}</if>
+            <if test="relationname != null  and relationname != ''"> and relationname like concat('%', #{relationname}, '%')</if>
+            <if test="content != null  and content != ''"> and content = #{content}</if>
+            <if test="tipscontent != null  and tipscontent != ''"> and tipscontent = #{tipscontent}</if>
+            <if test="tasktype != null "> and tasktype = #{tasktype}</if>
+            <if test="finshtime != null "> and finshtime = #{finshtime}</if>
+            <if test="finshtype != null "> and finshtype = #{finshtype}</if>
+            <if test="finshdesc != null  and finshdesc != ''"> and finshdesc = #{finshdesc}</if>
+            <if test="termvaliditytime != null "> and termvaliditytime = #{termvaliditytime}</if>
+            <if test="schemestatus != null "> and schemestatus = #{schemestatus}</if>
+            <if test="visitid != null "> and visitid = #{visitid}</if>
+            <if test="visittype != null "> and visittype = #{visittype}</if>
+            <if test="tasksource != null "> and tasksource = #{tasksource}</if>
+            <if test="relationtype != null "> and relationtype = #{relationtype}</if>
+            <if test="isartificial != null "> and isartificial = #{isartificial}</if>
+            <if test="overduetipstime != null "> and overduetipstime = #{overduetipstime}</if>
+            <if test="isabnormal != null "> and isabnormal = #{isabnormal}</if>
+            <if test="artificialtag != null "> and artificialtag = #{artificialtag}</if>
+            <if test="relationcode != null  and relationcode != ''"> and relationcode = #{relationcode}</if>
+            <if test="schemecode != null  and schemecode != ''"> and schemecode = #{schemecode}</if>
+            <if test="lastplantime != null "> and lastplantime = #{lastplantime}</if>
+            <if test="istest != null "> and istest = #{istest}</if>
+            <if test="firstplantime != null "> and firstplantime = #{firstplantime}</if>
+            <if test="repeatsecond != null "> and repeatsecond = #{repeatsecond}</if>
+            <if test="isrepeat != null "> and isrepeat = #{isrepeat}</if>
+            <if test="ismanual != null "> and ismanual = #{ismanual}</if>
+            <if test="losstime != null "> and losstime = #{losstime}</if>
+            <if test="relationlistid != null  and relationlistid != ''"> and relationlistid = #{relationlistid}</if>
+        </where>
+    </select>
+    
+    <select id="selectSchemeTaskById" parameterType="Long" resultMap="SchemeTaskResult">
+        <include refid="selectSchemeTaskVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertSchemeTask" parameterType="SchemeTask" useGeneratedKeys="true" keyProperty="id">
+        insert into scheme_task
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="schemeid != null">schemeid,</if>
+            <if test="schemeplanid != null">schemeplanid,</if>
+            <if test="patientid != null">patientid,</if>
+            <if test="state != null">state,</if>
+            <if test="baselinetime != null">baselinetime,</if>
+            <if test="plantime != null">plantime,</if>
+            <if test="actualtime != null">actualtime,</if>
+            <if test="overtime != null">overtime,</if>
+            <if test="orgid != null">orgid,</if>
+            <if test="delFlag != null and delFlag != ''">del_flag,</if>
+            <if test="updateBy != null">update_by,</if>
+            <if test="updateTime != null">update_time,</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="patientsource != null">patientsource,</if>
+            <if test="taskconfigid != null">taskconfigid,</if>
+            <if test="relationid != null">relationid,</if>
+            <if test="relationname != null">relationname,</if>
+            <if test="content != null">content,</if>
+            <if test="tipscontent != null">tipscontent,</if>
+            <if test="tasktype != null">tasktype,</if>
+            <if test="finshtime != null">finshtime,</if>
+            <if test="finshtype != null">finshtype,</if>
+            <if test="finshdesc != null">finshdesc,</if>
+            <if test="termvaliditytime != null">termvaliditytime,</if>
+            <if test="schemestatus != null">schemestatus,</if>
+            <if test="visitid != null">visitid,</if>
+            <if test="visittype != null">visittype,</if>
+            <if test="tasksource != null">tasksource,</if>
+            <if test="relationtype != null">relationtype,</if>
+            <if test="isartificial != null">isartificial,</if>
+            <if test="overduetipstime != null">overduetipstime,</if>
+            <if test="isabnormal != null">isabnormal,</if>
+            <if test="artificialtag != null">artificialtag,</if>
+            <if test="relationcode != null">relationcode,</if>
+            <if test="schemecode != null">schemecode,</if>
+            <if test="lastplantime != null">lastplantime,</if>
+            <if test="istest != null">istest,</if>
+            <if test="firstplantime != null">firstplantime,</if>
+            <if test="repeatsecond != null">repeatsecond,</if>
+            <if test="isrepeat != null">isrepeat,</if>
+            <if test="ismanual != null">ismanual,</if>
+            <if test="losstime != null">losstime,</if>
+            <if test="relationlistid != null">relationlistid,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="schemeid != null">#{schemeid},</if>
+            <if test="schemeplanid != null">#{schemeplanid},</if>
+            <if test="patientid != null">#{patientid},</if>
+            <if test="state != null">#{state},</if>
+            <if test="baselinetime != null">#{baselinetime},</if>
+            <if test="plantime != null">#{plantime},</if>
+            <if test="actualtime != null">#{actualtime},</if>
+            <if test="overtime != null">#{overtime},</if>
+            <if test="orgid != null">#{orgid},</if>
+            <if test="delFlag != null and delFlag != ''">#{delFlag},</if>
+            <if test="updateBy != null">#{updateBy},</if>
+            <if test="updateTime != null">#{updateTime},</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="patientsource != null">#{patientsource},</if>
+            <if test="taskconfigid != null">#{taskconfigid},</if>
+            <if test="relationid != null">#{relationid},</if>
+            <if test="relationname != null">#{relationname},</if>
+            <if test="content != null">#{content},</if>
+            <if test="tipscontent != null">#{tipscontent},</if>
+            <if test="tasktype != null">#{tasktype},</if>
+            <if test="finshtime != null">#{finshtime},</if>
+            <if test="finshtype != null">#{finshtype},</if>
+            <if test="finshdesc != null">#{finshdesc},</if>
+            <if test="termvaliditytime != null">#{termvaliditytime},</if>
+            <if test="schemestatus != null">#{schemestatus},</if>
+            <if test="visitid != null">#{visitid},</if>
+            <if test="visittype != null">#{visittype},</if>
+            <if test="tasksource != null">#{tasksource},</if>
+            <if test="relationtype != null">#{relationtype},</if>
+            <if test="isartificial != null">#{isartificial},</if>
+            <if test="overduetipstime != null">#{overduetipstime},</if>
+            <if test="isabnormal != null">#{isabnormal},</if>
+            <if test="artificialtag != null">#{artificialtag},</if>
+            <if test="relationcode != null">#{relationcode},</if>
+            <if test="schemecode != null">#{schemecode},</if>
+            <if test="lastplantime != null">#{lastplantime},</if>
+            <if test="istest != null">#{istest},</if>
+            <if test="firstplantime != null">#{firstplantime},</if>
+            <if test="repeatsecond != null">#{repeatsecond},</if>
+            <if test="isrepeat != null">#{isrepeat},</if>
+            <if test="ismanual != null">#{ismanual},</if>
+            <if test="losstime != null">#{losstime},</if>
+            <if test="relationlistid != null">#{relationlistid},</if>
+         </trim>
+    </insert>
+
+    <update id="updateSchemeTask" parameterType="SchemeTask">
+        update scheme_task
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="schemeid != null">schemeid = #{schemeid},</if>
+            <if test="schemeplanid != null">schemeplanid = #{schemeplanid},</if>
+            <if test="patientid != null">patientid = #{patientid},</if>
+            <if test="state != null">state = #{state},</if>
+            <if test="baselinetime != null">baselinetime = #{baselinetime},</if>
+            <if test="plantime != null">plantime = #{plantime},</if>
+            <if test="actualtime != null">actualtime = #{actualtime},</if>
+            <if test="overtime != null">overtime = #{overtime},</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>
+            <if test="updateTime != null">update_time = #{updateTime},</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="patientsource != null">patientsource = #{patientsource},</if>
+            <if test="taskconfigid != null">taskconfigid = #{taskconfigid},</if>
+            <if test="relationid != null">relationid = #{relationid},</if>
+            <if test="relationname != null">relationname = #{relationname},</if>
+            <if test="content != null">content = #{content},</if>
+            <if test="tipscontent != null">tipscontent = #{tipscontent},</if>
+            <if test="tasktype != null">tasktype = #{tasktype},</if>
+            <if test="finshtime != null">finshtime = #{finshtime},</if>
+            <if test="finshtype != null">finshtype = #{finshtype},</if>
+            <if test="finshdesc != null">finshdesc = #{finshdesc},</if>
+            <if test="termvaliditytime != null">termvaliditytime = #{termvaliditytime},</if>
+            <if test="schemestatus != null">schemestatus = #{schemestatus},</if>
+            <if test="visitid != null">visitid = #{visitid},</if>
+            <if test="visittype != null">visittype = #{visittype},</if>
+            <if test="tasksource != null">tasksource = #{tasksource},</if>
+            <if test="relationtype != null">relationtype = #{relationtype},</if>
+            <if test="isartificial != null">isartificial = #{isartificial},</if>
+            <if test="overduetipstime != null">overduetipstime = #{overduetipstime},</if>
+            <if test="isabnormal != null">isabnormal = #{isabnormal},</if>
+            <if test="artificialtag != null">artificialtag = #{artificialtag},</if>
+            <if test="relationcode != null">relationcode = #{relationcode},</if>
+            <if test="schemecode != null">schemecode = #{schemecode},</if>
+            <if test="lastplantime != null">lastplantime = #{lastplantime},</if>
+            <if test="istest != null">istest = #{istest},</if>
+            <if test="firstplantime != null">firstplantime = #{firstplantime},</if>
+            <if test="repeatsecond != null">repeatsecond = #{repeatsecond},</if>
+            <if test="isrepeat != null">isrepeat = #{isrepeat},</if>
+            <if test="ismanual != null">ismanual = #{ismanual},</if>
+            <if test="losstime != null">losstime = #{losstime},</if>
+            <if test="relationlistid != null">relationlistid = #{relationlistid},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteSchemeTaskById" parameterType="Long">
+        delete from scheme_task where id = #{id}
+    </delete>
+
+    <delete id="deleteSchemeTaskByIds" parameterType="String">
+        delete from scheme_task where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>
\ No newline at end of file
diff --git a/smartor/src/main/resources/mapper/smartor/SchemeTaskconfigMapper.xml b/smartor/src/main/resources/mapper/smartor/SchemeTaskconfigMapper.xml
new file mode 100644
index 0000000..7c1d3a6
--- /dev/null
+++ b/smartor/src/main/resources/mapper/smartor/SchemeTaskconfigMapper.xml
@@ -0,0 +1,286 @@
+<?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.SchemeTaskconfigMapper">
+    
+    <resultMap type="SchemeTaskconfig" id="SchemeTaskconfigResult">
+        <result property="id"    column="id"    />
+        <result property="schemeid"    column="schemeid"    />
+        <result property="triggersceneid"    column="triggersceneid"    />
+        <result property="triggerruleid"    column="triggerruleid"    />
+        <result property="tasktype"    column="tasktype"    />
+        <result property="iscycle"    column="iscycle"    />
+        <result property="planexecutevalue"    column="planexecutevalue"    />
+        <result property="planexecuteunit"    column="planexecuteunit"    />
+        <result property="planexecutetime"    column="planexecutetime"    />
+        <result property="planexecutetype"    column="planexecutetype"    />
+        <result property="isrealtime"    column="isrealtime"    />
+        <result property="cyclefrequency"    column="cyclefrequency"    />
+        <result property="cyclefrequencyunit"    column="cyclefrequencyunit"    />
+        <result property="cyclefrequencycount"    column="cyclefrequencycount"    />
+        <result property="termvalidityday"    column="termvalidityday"    />
+        <result property="termvalidityrule"    column="termvalidityrule"    />
+        <result property="termvaliditytipsday"    column="termvaliditytipsday"    />
+        <result property="termvaliditytipstime"    column="termvaliditytipstime"    />
+        <result property="relationid"    column="relationid"    />
+        <result property="content"    column="content"    />
+        <result property="tipscontent"    column="tipscontent"    />
+        <result property="limitedday"    column="limitedday"    />
+        <result property="overdueday"    column="overdueday"    />
+        <result property="overduetipsday"    column="overduetipsday"    />
+        <result property="lossday"    column="lossday"    />
+        <result property="executetype"    column="executetype"    />
+        <result property="executetemplate"    column="executetemplate"    />
+        <result property="executetemplateextra"    column="executetemplateextra"    />
+        <result property="executeorder"    column="executeorder"    />
+        <result property="executevoicetype"    column="executevoicetype"    />
+        <result property="executevoicecontent"    column="executevoicecontent"    />
+        <result property="exeutetipspersonid"    column="exeutetipspersonid"    />
+        <result property="orgid"    column="orgid"    />
+        <result property="delFlag"    column="del_flag"    />
+        <result property="updateBy"    column="update_by"    />
+        <result property="updateTime"    column="update_time"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="isupload"    column="isupload"    />
+        <result property="uploadTime"    column="upload_time"    />
+        <result property="islocal"    column="islocal"    />
+        <result property="relationtype"    column="relationtype"    />
+        <result property="voicemanufacturers"    column="voicemanufacturers"    />
+        <result property="voiceconfig"    column="voiceconfig"    />
+        <result property="completecondition"    column="completecondition"    />
+        <result property="completeconditionstate"    column="completeconditionstate"    />
+        <result property="relationlistid"    column="relationlistid"    />
+        <result property="relationcode"    column="relationcode"    />
+        <result property="isrepeat"    column="isrepeat"    />
+    </resultMap>
+
+    <sql id="selectSchemeTaskconfigVo">
+        select id, schemeid, triggersceneid, triggerruleid, tasktype, iscycle, planexecutevalue, planexecuteunit, planexecutetime, planexecutetype, isrealtime, cyclefrequency, cyclefrequencyunit, cyclefrequencycount, termvalidityday, termvalidityrule, termvaliditytipsday, termvaliditytipstime, relationid, content, tipscontent, limitedday, overdueday, overduetipsday, lossday, executetype, executetemplate, executetemplateextra, executeorder, executevoicetype, executevoicecontent, exeutetipspersonid, orgid, del_flag, update_by, update_time, create_by, create_time, isupload, upload_time, islocal, relationtype, voicemanufacturers, voiceconfig, completecondition, completeconditionstate, relationlistid, relationcode, isrepeat from scheme_taskconfig
+    </sql>
+
+    <select id="selectSchemeTaskconfigList" parameterType="SchemeTaskconfig" resultMap="SchemeTaskconfigResult">
+        <include refid="selectSchemeTaskconfigVo"/>
+        <where>  
+            <if test="schemeid != null "> and schemeid = #{schemeid}</if>
+            <if test="triggersceneid != null "> and triggersceneid = #{triggersceneid}</if>
+            <if test="triggerruleid != null "> and triggerruleid = #{triggerruleid}</if>
+            <if test="tasktype != null "> and tasktype = #{tasktype}</if>
+            <if test="iscycle != null "> and iscycle = #{iscycle}</if>
+            <if test="planexecutevalue != null "> and planexecutevalue = #{planexecutevalue}</if>
+            <if test="planexecuteunit != null "> and planexecuteunit = #{planexecuteunit}</if>
+            <if test="planexecutetime != null  and planexecutetime != ''"> and planexecutetime = #{planexecutetime}</if>
+            <if test="planexecutetype != null "> and planexecutetype = #{planexecutetype}</if>
+            <if test="isrealtime != null "> and isrealtime = #{isrealtime}</if>
+            <if test="cyclefrequency != null "> and cyclefrequency = #{cyclefrequency}</if>
+            <if test="cyclefrequencyunit != null "> and cyclefrequencyunit = #{cyclefrequencyunit}</if>
+            <if test="cyclefrequencycount != null "> and cyclefrequencycount = #{cyclefrequencycount}</if>
+            <if test="termvalidityday != null "> and termvalidityday = #{termvalidityday}</if>
+            <if test="termvalidityrule != null "> and termvalidityrule = #{termvalidityrule}</if>
+            <if test="termvaliditytipsday != null "> and termvaliditytipsday = #{termvaliditytipsday}</if>
+            <if test="termvaliditytipstime != null  and termvaliditytipstime != ''"> and termvaliditytipstime = #{termvaliditytipstime}</if>
+            <if test="relationid != null "> and relationid = #{relationid}</if>
+            <if test="content != null  and content != ''"> and content = #{content}</if>
+            <if test="tipscontent != null  and tipscontent != ''"> and tipscontent = #{tipscontent}</if>
+            <if test="limitedday != null "> and limitedday = #{limitedday}</if>
+            <if test="overdueday != null "> and overdueday = #{overdueday}</if>
+            <if test="overduetipsday != null "> and overduetipsday = #{overduetipsday}</if>
+            <if test="lossday != null "> and lossday = #{lossday}</if>
+            <if test="executetype != null "> and executetype = #{executetype}</if>
+            <if test="executetemplate != null "> and executetemplate = #{executetemplate}</if>
+            <if test="executetemplateextra != null "> and executetemplateextra = #{executetemplateextra}</if>
+            <if test="executeorder != null "> and executeorder = #{executeorder}</if>
+            <if test="executevoicetype != null  and executevoicetype != ''"> and executevoicetype = #{executevoicetype}</if>
+            <if test="executevoicecontent != null  and executevoicecontent != ''"> and executevoicecontent = #{executevoicecontent}</if>
+            <if test="exeutetipspersonid != null  and exeutetipspersonid != ''"> and exeutetipspersonid = #{exeutetipspersonid}</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="relationtype != null "> and relationtype = #{relationtype}</if>
+            <if test="voicemanufacturers != null "> and voicemanufacturers = #{voicemanufacturers}</if>
+            <if test="voiceconfig != null  and voiceconfig != ''"> and voiceconfig = #{voiceconfig}</if>
+            <if test="completecondition != null "> and completecondition = #{completecondition}</if>
+            <if test="completeconditionstate != null "> and completeconditionstate = #{completeconditionstate}</if>
+            <if test="relationlistid != null  and relationlistid != ''"> and relationlistid = #{relationlistid}</if>
+            <if test="relationcode != null  and relationcode != ''"> and relationcode = #{relationcode}</if>
+            <if test="isrepeat != null "> and isrepeat = #{isrepeat}</if>
+        </where>
+    </select>
+    
+    <select id="selectSchemeTaskconfigById" parameterType="Long" resultMap="SchemeTaskconfigResult">
+        <include refid="selectSchemeTaskconfigVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertSchemeTaskconfig" parameterType="SchemeTaskconfig" useGeneratedKeys="true" keyProperty="id">
+        insert into scheme_taskconfig
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="schemeid != null">schemeid,</if>
+            <if test="triggersceneid != null">triggersceneid,</if>
+            <if test="triggerruleid != null">triggerruleid,</if>
+            <if test="tasktype != null">tasktype,</if>
+            <if test="iscycle != null">iscycle,</if>
+            <if test="planexecutevalue != null">planexecutevalue,</if>
+            <if test="planexecuteunit != null">planexecuteunit,</if>
+            <if test="planexecutetime != null">planexecutetime,</if>
+            <if test="planexecutetype != null">planexecutetype,</if>
+            <if test="isrealtime != null">isrealtime,</if>
+            <if test="cyclefrequency != null">cyclefrequency,</if>
+            <if test="cyclefrequencyunit != null">cyclefrequencyunit,</if>
+            <if test="cyclefrequencycount != null">cyclefrequencycount,</if>
+            <if test="termvalidityday != null">termvalidityday,</if>
+            <if test="termvalidityrule != null">termvalidityrule,</if>
+            <if test="termvaliditytipsday != null">termvaliditytipsday,</if>
+            <if test="termvaliditytipstime != null">termvaliditytipstime,</if>
+            <if test="relationid != null">relationid,</if>
+            <if test="content != null">content,</if>
+            <if test="tipscontent != null">tipscontent,</if>
+            <if test="limitedday != null">limitedday,</if>
+            <if test="overdueday != null">overdueday,</if>
+            <if test="overduetipsday != null">overduetipsday,</if>
+            <if test="lossday != null">lossday,</if>
+            <if test="executetype != null">executetype,</if>
+            <if test="executetemplate != null">executetemplate,</if>
+            <if test="executetemplateextra != null">executetemplateextra,</if>
+            <if test="executeorder != null">executeorder,</if>
+            <if test="executevoicetype != null">executevoicetype,</if>
+            <if test="executevoicecontent != null">executevoicecontent,</if>
+            <if test="exeutetipspersonid != null">exeutetipspersonid,</if>
+            <if test="orgid != null">orgid,</if>
+            <if test="delFlag != null and delFlag != ''">del_flag,</if>
+            <if test="updateBy != null">update_by,</if>
+            <if test="updateTime != null">update_time,</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="relationtype != null">relationtype,</if>
+            <if test="voicemanufacturers != null">voicemanufacturers,</if>
+            <if test="voiceconfig != null">voiceconfig,</if>
+            <if test="completecondition != null">completecondition,</if>
+            <if test="completeconditionstate != null">completeconditionstate,</if>
+            <if test="relationlistid != null">relationlistid,</if>
+            <if test="relationcode != null">relationcode,</if>
+            <if test="isrepeat != null">isrepeat,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="schemeid != null">#{schemeid},</if>
+            <if test="triggersceneid != null">#{triggersceneid},</if>
+            <if test="triggerruleid != null">#{triggerruleid},</if>
+            <if test="tasktype != null">#{tasktype},</if>
+            <if test="iscycle != null">#{iscycle},</if>
+            <if test="planexecutevalue != null">#{planexecutevalue},</if>
+            <if test="planexecuteunit != null">#{planexecuteunit},</if>
+            <if test="planexecutetime != null">#{planexecutetime},</if>
+            <if test="planexecutetype != null">#{planexecutetype},</if>
+            <if test="isrealtime != null">#{isrealtime},</if>
+            <if test="cyclefrequency != null">#{cyclefrequency},</if>
+            <if test="cyclefrequencyunit != null">#{cyclefrequencyunit},</if>
+            <if test="cyclefrequencycount != null">#{cyclefrequencycount},</if>
+            <if test="termvalidityday != null">#{termvalidityday},</if>
+            <if test="termvalidityrule != null">#{termvalidityrule},</if>
+            <if test="termvaliditytipsday != null">#{termvaliditytipsday},</if>
+            <if test="termvaliditytipstime != null">#{termvaliditytipstime},</if>
+            <if test="relationid != null">#{relationid},</if>
+            <if test="content != null">#{content},</if>
+            <if test="tipscontent != null">#{tipscontent},</if>
+            <if test="limitedday != null">#{limitedday},</if>
+            <if test="overdueday != null">#{overdueday},</if>
+            <if test="overduetipsday != null">#{overduetipsday},</if>
+            <if test="lossday != null">#{lossday},</if>
+            <if test="executetype != null">#{executetype},</if>
+            <if test="executetemplate != null">#{executetemplate},</if>
+            <if test="executetemplateextra != null">#{executetemplateextra},</if>
+            <if test="executeorder != null">#{executeorder},</if>
+            <if test="executevoicetype != null">#{executevoicetype},</if>
+            <if test="executevoicecontent != null">#{executevoicecontent},</if>
+            <if test="exeutetipspersonid != null">#{exeutetipspersonid},</if>
+            <if test="orgid != null">#{orgid},</if>
+            <if test="delFlag != null and delFlag != ''">#{delFlag},</if>
+            <if test="updateBy != null">#{updateBy},</if>
+            <if test="updateTime != null">#{updateTime},</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="relationtype != null">#{relationtype},</if>
+            <if test="voicemanufacturers != null">#{voicemanufacturers},</if>
+            <if test="voiceconfig != null">#{voiceconfig},</if>
+            <if test="completecondition != null">#{completecondition},</if>
+            <if test="completeconditionstate != null">#{completeconditionstate},</if>
+            <if test="relationlistid != null">#{relationlistid},</if>
+            <if test="relationcode != null">#{relationcode},</if>
+            <if test="isrepeat != null">#{isrepeat},</if>
+         </trim>
+    </insert>
+
+    <update id="updateSchemeTaskconfig" parameterType="SchemeTaskconfig">
+        update scheme_taskconfig
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="schemeid != null">schemeid = #{schemeid},</if>
+            <if test="triggersceneid != null">triggersceneid = #{triggersceneid},</if>
+            <if test="triggerruleid != null">triggerruleid = #{triggerruleid},</if>
+            <if test="tasktype != null">tasktype = #{tasktype},</if>
+            <if test="iscycle != null">iscycle = #{iscycle},</if>
+            <if test="planexecutevalue != null">planexecutevalue = #{planexecutevalue},</if>
+            <if test="planexecuteunit != null">planexecuteunit = #{planexecuteunit},</if>
+            <if test="planexecutetime != null">planexecutetime = #{planexecutetime},</if>
+            <if test="planexecutetype != null">planexecutetype = #{planexecutetype},</if>
+            <if test="isrealtime != null">isrealtime = #{isrealtime},</if>
+            <if test="cyclefrequency != null">cyclefrequency = #{cyclefrequency},</if>
+            <if test="cyclefrequencyunit != null">cyclefrequencyunit = #{cyclefrequencyunit},</if>
+            <if test="cyclefrequencycount != null">cyclefrequencycount = #{cyclefrequencycount},</if>
+            <if test="termvalidityday != null">termvalidityday = #{termvalidityday},</if>
+            <if test="termvalidityrule != null">termvalidityrule = #{termvalidityrule},</if>
+            <if test="termvaliditytipsday != null">termvaliditytipsday = #{termvaliditytipsday},</if>
+            <if test="termvaliditytipstime != null">termvaliditytipstime = #{termvaliditytipstime},</if>
+            <if test="relationid != null">relationid = #{relationid},</if>
+            <if test="content != null">content = #{content},</if>
+            <if test="tipscontent != null">tipscontent = #{tipscontent},</if>
+            <if test="limitedday != null">limitedday = #{limitedday},</if>
+            <if test="overdueday != null">overdueday = #{overdueday},</if>
+            <if test="overduetipsday != null">overduetipsday = #{overduetipsday},</if>
+            <if test="lossday != null">lossday = #{lossday},</if>
+            <if test="executetype != null">executetype = #{executetype},</if>
+            <if test="executetemplate != null">executetemplate = #{executetemplate},</if>
+            <if test="executetemplateextra != null">executetemplateextra = #{executetemplateextra},</if>
+            <if test="executeorder != null">executeorder = #{executeorder},</if>
+            <if test="executevoicetype != null">executevoicetype = #{executevoicetype},</if>
+            <if test="executevoicecontent != null">executevoicecontent = #{executevoicecontent},</if>
+            <if test="exeutetipspersonid != null">exeutetipspersonid = #{exeutetipspersonid},</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>
+            <if test="updateTime != null">update_time = #{updateTime},</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="relationtype != null">relationtype = #{relationtype},</if>
+            <if test="voicemanufacturers != null">voicemanufacturers = #{voicemanufacturers},</if>
+            <if test="voiceconfig != null">voiceconfig = #{voiceconfig},</if>
+            <if test="completecondition != null">completecondition = #{completecondition},</if>
+            <if test="completeconditionstate != null">completeconditionstate = #{completeconditionstate},</if>
+            <if test="relationlistid != null">relationlistid = #{relationlistid},</if>
+            <if test="relationcode != null">relationcode = #{relationcode},</if>
+            <if test="isrepeat != null">isrepeat = #{isrepeat},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteSchemeTaskconfigById" parameterType="Long">
+        delete from scheme_taskconfig where id = #{id}
+    </delete>
+
+    <delete id="deleteSchemeTaskconfigByIds" parameterType="String">
+        delete from scheme_taskconfig where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>
\ No newline at end of file
diff --git a/smartor/src/main/resources/mapper/smartor/SchemeTaskrecordCalldetailMapper.xml b/smartor/src/main/resources/mapper/smartor/SchemeTaskrecordCalldetailMapper.xml
new file mode 100644
index 0000000..1146337
--- /dev/null
+++ b/smartor/src/main/resources/mapper/smartor/SchemeTaskrecordCalldetailMapper.xml
@@ -0,0 +1,226 @@
+<?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.SchemeTaskrecordCalldetailMapper">
+    
+    <resultMap type="SchemeTaskrecordCalldetail" id="SchemeTaskrecordCalldetailResult">
+        <result property="id"    column="id"    />
+        <result property="uuid"    column="uuid"    />
+        <result property="phone"    column="phone"    />
+        <result property="operate"    column="operate"    />
+        <result property="displayno"    column="displayno"    />
+        <result property="inbound"    column="inbound"    />
+        <result property="incoming"    column="incoming"    />
+        <result property="assigntime"    column="assigntime"    />
+        <result property="starttime"    column="starttime"    />
+        <result property="answertime"    column="answertime"    />
+        <result property="silent"    column="silent"    />
+        <result property="dtmfKey"    column="dtmf_key"    />
+        <result property="musicpath"    column="musicpath"    />
+        <result property="sentindex"    column="sentindex"    />
+        <result property="sentbegin"    column="sentbegin"    />
+        <result property="asrtext"    column="asrtext"    />
+        <result property="begintime"    column="begintime"    />
+        <result property="endtime"    column="endtime"    />
+        <result property="sentend"    column="sentend"    />
+        <result property="recordpath"    column="recordpath"    />
+        <result property="recordurl"    column="recordurl"    />
+        <result property="sceneid"    column="sceneid"    />
+        <result property="taskrecordid"    column="taskrecordid"    />
+        <result property="flowiid"    column="flowiid"    />
+        <result property="flownodeid"    column="flownodeid"    />
+        <result property="corpustext"    column="corpustext"    />
+        <result property="corpusvoice"    column="corpusvoice"    />
+        <result property="intentvalue"    column="intentvalue"    />
+        <result property="matchedtext"    column="matchedtext"    />
+        <result property="orgid"    column="orgid"    />
+        <result property="delFlag"    column="del_flag"    />
+        <result property="updateBy"    column="update_by"    />
+        <result property="updateTime"    column="update_time"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="isupload"    column="isupload"    />
+        <result property="uploadTime"    column="upload_time"    />
+    </resultMap>
+
+    <sql id="selectSchemeTaskrecordCalldetailVo">
+        select id, uuid, phone, operate, displayno, inbound, incoming, assigntime, starttime, answertime, silent, dtmf_key, musicpath, sentindex, sentbegin, asrtext, begintime, endtime, sentend, recordpath, recordurl, sceneid, taskrecordid, flowiid, flownodeid, corpustext, corpusvoice, intentvalue, matchedtext, orgid, del_flag, update_by, update_time, create_by, create_time, isupload, upload_time from scheme_taskrecord_calldetail
+    </sql>
+
+    <select id="selectSchemeTaskrecordCalldetailList" parameterType="SchemeTaskrecordCalldetail" resultMap="SchemeTaskrecordCalldetailResult">
+        <include refid="selectSchemeTaskrecordCalldetailVo"/>
+        <where>  
+            <if test="uuid != null  and uuid != ''"> and uuid = #{uuid}</if>
+            <if test="phone != null  and phone != ''"> and phone = #{phone}</if>
+            <if test="operate != null  and operate != ''"> and operate = #{operate}</if>
+            <if test="displayno != null  and displayno != ''"> and displayno = #{displayno}</if>
+            <if test="inbound != null "> and inbound = #{inbound}</if>
+            <if test="incoming != null "> and incoming = #{incoming}</if>
+            <if test="assigntime != null "> and assigntime = #{assigntime}</if>
+            <if test="starttime != null "> and starttime = #{starttime}</if>
+            <if test="answertime != null "> and answertime = #{answertime}</if>
+            <if test="silent != null "> and silent = #{silent}</if>
+            <if test="dtmfKey != null "> and dtmf_key = #{dtmfKey}</if>
+            <if test="musicpath != null  and musicpath != ''"> and musicpath = #{musicpath}</if>
+            <if test="sentindex != null "> and sentindex = #{sentindex}</if>
+            <if test="sentbegin != null "> and sentbegin = #{sentbegin}</if>
+            <if test="asrtext != null  and asrtext != ''"> and asrtext = #{asrtext}</if>
+            <if test="begintime != null "> and begintime = #{begintime}</if>
+            <if test="endtime != null "> and endtime = #{endtime}</if>
+            <if test="sentend != null "> and sentend = #{sentend}</if>
+            <if test="recordpath != null  and recordpath != ''"> and recordpath = #{recordpath}</if>
+            <if test="recordurl != null  and recordurl != ''"> and recordurl = #{recordurl}</if>
+            <if test="sceneid != null "> and sceneid = #{sceneid}</if>
+            <if test="taskrecordid != null "> and taskrecordid = #{taskrecordid}</if>
+            <if test="flowiid != null "> and flowiid = #{flowiid}</if>
+            <if test="flownodeid != null "> and flownodeid = #{flownodeid}</if>
+            <if test="corpustext != null  and corpustext != ''"> and corpustext = #{corpustext}</if>
+            <if test="corpusvoice != null  and corpusvoice != ''"> and corpusvoice = #{corpusvoice}</if>
+            <if test="intentvalue != null  and intentvalue != ''"> and intentvalue = #{intentvalue}</if>
+            <if test="matchedtext != null  and matchedtext != ''"> and matchedtext = #{matchedtext}</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>
+        </where>
+    </select>
+    
+    <select id="selectSchemeTaskrecordCalldetailById" parameterType="Long" resultMap="SchemeTaskrecordCalldetailResult">
+        <include refid="selectSchemeTaskrecordCalldetailVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertSchemeTaskrecordCalldetail" parameterType="SchemeTaskrecordCalldetail" useGeneratedKeys="true" keyProperty="id">
+        insert into scheme_taskrecord_calldetail
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="uuid != null">uuid,</if>
+            <if test="phone != null">phone,</if>
+            <if test="operate != null">operate,</if>
+            <if test="displayno != null">displayno,</if>
+            <if test="inbound != null">inbound,</if>
+            <if test="incoming != null">incoming,</if>
+            <if test="assigntime != null">assigntime,</if>
+            <if test="starttime != null">starttime,</if>
+            <if test="answertime != null">answertime,</if>
+            <if test="silent != null">silent,</if>
+            <if test="dtmfKey != null">dtmf_key,</if>
+            <if test="musicpath != null">musicpath,</if>
+            <if test="sentindex != null">sentindex,</if>
+            <if test="sentbegin != null">sentbegin,</if>
+            <if test="asrtext != null">asrtext,</if>
+            <if test="begintime != null">begintime,</if>
+            <if test="endtime != null">endtime,</if>
+            <if test="sentend != null">sentend,</if>
+            <if test="recordpath != null">recordpath,</if>
+            <if test="recordurl != null">recordurl,</if>
+            <if test="sceneid != null">sceneid,</if>
+            <if test="taskrecordid != null">taskrecordid,</if>
+            <if test="flowiid != null">flowiid,</if>
+            <if test="flownodeid != null">flownodeid,</if>
+            <if test="corpustext != null">corpustext,</if>
+            <if test="corpusvoice != null">corpusvoice,</if>
+            <if test="intentvalue != null">intentvalue,</if>
+            <if test="matchedtext != null">matchedtext,</if>
+            <if test="orgid != null">orgid,</if>
+            <if test="delFlag != null and delFlag != ''">del_flag,</if>
+            <if test="updateBy != null">update_by,</if>
+            <if test="updateTime != null">update_time,</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>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="uuid != null">#{uuid},</if>
+            <if test="phone != null">#{phone},</if>
+            <if test="operate != null">#{operate},</if>
+            <if test="displayno != null">#{displayno},</if>
+            <if test="inbound != null">#{inbound},</if>
+            <if test="incoming != null">#{incoming},</if>
+            <if test="assigntime != null">#{assigntime},</if>
+            <if test="starttime != null">#{starttime},</if>
+            <if test="answertime != null">#{answertime},</if>
+            <if test="silent != null">#{silent},</if>
+            <if test="dtmfKey != null">#{dtmfKey},</if>
+            <if test="musicpath != null">#{musicpath},</if>
+            <if test="sentindex != null">#{sentindex},</if>
+            <if test="sentbegin != null">#{sentbegin},</if>
+            <if test="asrtext != null">#{asrtext},</if>
+            <if test="begintime != null">#{begintime},</if>
+            <if test="endtime != null">#{endtime},</if>
+            <if test="sentend != null">#{sentend},</if>
+            <if test="recordpath != null">#{recordpath},</if>
+            <if test="recordurl != null">#{recordurl},</if>
+            <if test="sceneid != null">#{sceneid},</if>
+            <if test="taskrecordid != null">#{taskrecordid},</if>
+            <if test="flowiid != null">#{flowiid},</if>
+            <if test="flownodeid != null">#{flownodeid},</if>
+            <if test="corpustext != null">#{corpustext},</if>
+            <if test="corpusvoice != null">#{corpusvoice},</if>
+            <if test="intentvalue != null">#{intentvalue},</if>
+            <if test="matchedtext != null">#{matchedtext},</if>
+            <if test="orgid != null">#{orgid},</if>
+            <if test="delFlag != null and delFlag != ''">#{delFlag},</if>
+            <if test="updateBy != null">#{updateBy},</if>
+            <if test="updateTime != null">#{updateTime},</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>
+         </trim>
+    </insert>
+
+    <update id="updateSchemeTaskrecordCalldetail" parameterType="SchemeTaskrecordCalldetail">
+        update scheme_taskrecord_calldetail
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="uuid != null">uuid = #{uuid},</if>
+            <if test="phone != null">phone = #{phone},</if>
+            <if test="operate != null">operate = #{operate},</if>
+            <if test="displayno != null">displayno = #{displayno},</if>
+            <if test="inbound != null">inbound = #{inbound},</if>
+            <if test="incoming != null">incoming = #{incoming},</if>
+            <if test="assigntime != null">assigntime = #{assigntime},</if>
+            <if test="starttime != null">starttime = #{starttime},</if>
+            <if test="answertime != null">answertime = #{answertime},</if>
+            <if test="silent != null">silent = #{silent},</if>
+            <if test="dtmfKey != null">dtmf_key = #{dtmfKey},</if>
+            <if test="musicpath != null">musicpath = #{musicpath},</if>
+            <if test="sentindex != null">sentindex = #{sentindex},</if>
+            <if test="sentbegin != null">sentbegin = #{sentbegin},</if>
+            <if test="asrtext != null">asrtext = #{asrtext},</if>
+            <if test="begintime != null">begintime = #{begintime},</if>
+            <if test="endtime != null">endtime = #{endtime},</if>
+            <if test="sentend != null">sentend = #{sentend},</if>
+            <if test="recordpath != null">recordpath = #{recordpath},</if>
+            <if test="recordurl != null">recordurl = #{recordurl},</if>
+            <if test="sceneid != null">sceneid = #{sceneid},</if>
+            <if test="taskrecordid != null">taskrecordid = #{taskrecordid},</if>
+            <if test="flowiid != null">flowiid = #{flowiid},</if>
+            <if test="flownodeid != null">flownodeid = #{flownodeid},</if>
+            <if test="corpustext != null">corpustext = #{corpustext},</if>
+            <if test="corpusvoice != null">corpusvoice = #{corpusvoice},</if>
+            <if test="intentvalue != null">intentvalue = #{intentvalue},</if>
+            <if test="matchedtext != null">matchedtext = #{matchedtext},</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>
+            <if test="updateTime != null">update_time = #{updateTime},</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>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteSchemeTaskrecordCalldetailById" parameterType="Long">
+        delete from scheme_taskrecord_calldetail where id = #{id}
+    </delete>
+
+    <delete id="deleteSchemeTaskrecordCalldetailByIds" parameterType="String">
+        delete from scheme_taskrecord_calldetail where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>
\ No newline at end of file
diff --git a/smartor/src/main/resources/mapper/smartor/SchemeTaskrecordMapper.xml b/smartor/src/main/resources/mapper/smartor/SchemeTaskrecordMapper.xml
new file mode 100644
index 0000000..c5bbc93
--- /dev/null
+++ b/smartor/src/main/resources/mapper/smartor/SchemeTaskrecordMapper.xml
@@ -0,0 +1,175 @@
+<?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.SchemeTaskrecordMapper">
+    
+    <resultMap type="SchemeTaskrecord" id="SchemeTaskrecordResult">
+        <result property="id"    column="id"    />
+        <result property="recordtype"    column="recordtype"    />
+        <result property="taskid"    column="taskid"    />
+        <result property="result"    column="result"    />
+        <result property="remark"    column="remark"    />
+        <result property="orgid"    column="orgid"    />
+        <result property="delFlag"    column="del_flag"    />
+        <result property="updateBy"    column="update_by"    />
+        <result property="updateTime"    column="update_time"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="isupload"    column="isupload"    />
+        <result property="uploadTime"    column="upload_time"    />
+        <result property="relationid"    column="relationid"    />
+        <result property="channeltype"    column="channeltype"    />
+        <result property="sendtime"    column="sendtime"    />
+        <result property="operator"    column="operator"    />
+        <result property="replytime"    column="replytime"    />
+        <result property="reviewtime"    column="reviewtime"    />
+        <result property="state"    column="state"    />
+        <result property="reviewstate"    column="reviewstate"    />
+        <result property="sceneid"    column="sceneid"    />
+        <result property="uuid"    column="uuid"    />
+        <result property="sendphone"    column="sendphone"    />
+        <result property="isagain"    column="isagain"    />
+        <result property="seatsid"    column="seatsid"    />
+        <result property="handletype"    column="handletype"    />
+    </resultMap>
+
+    <sql id="selectSchemeTaskrecordVo">
+        select id, recordtype, taskid, result, remark, orgid, del_flag, update_by, update_time, create_by, create_time, isupload, upload_time, relationid, channeltype, sendtime, operator, replytime, reviewtime, state, reviewstate, sceneid, uuid, sendphone, isagain, seatsid, handletype from scheme_taskrecord
+    </sql>
+
+    <select id="selectSchemeTaskrecordList" parameterType="SchemeTaskrecord" resultMap="SchemeTaskrecordResult">
+        <include refid="selectSchemeTaskrecordVo"/>
+        <where>  
+            <if test="recordtype != null "> and recordtype = #{recordtype}</if>
+            <if test="taskid != null "> and taskid = #{taskid}</if>
+            <if test="result != null  and result != ''"> and result = #{result}</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="relationid != null "> and relationid = #{relationid}</if>
+            <if test="channeltype != null "> and channeltype = #{channeltype}</if>
+            <if test="sendtime != null "> and sendtime = #{sendtime}</if>
+            <if test="operator != null  and operator != ''"> and operator = #{operator}</if>
+            <if test="replytime != null "> and replytime = #{replytime}</if>
+            <if test="reviewtime != null "> and reviewtime = #{reviewtime}</if>
+            <if test="state != null "> and state = #{state}</if>
+            <if test="reviewstate != null "> and reviewstate = #{reviewstate}</if>
+            <if test="sceneid != null "> and sceneid = #{sceneid}</if>
+            <if test="uuid != null  and uuid != ''"> and uuid = #{uuid}</if>
+            <if test="sendphone != null  and sendphone != ''"> and sendphone = #{sendphone}</if>
+            <if test="isagain != null "> and isagain = #{isagain}</if>
+            <if test="seatsid != null "> and seatsid = #{seatsid}</if>
+            <if test="handletype != null "> and handletype = #{handletype}</if>
+        </where>
+    </select>
+    
+    <select id="selectSchemeTaskrecordById" parameterType="Long" resultMap="SchemeTaskrecordResult">
+        <include refid="selectSchemeTaskrecordVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertSchemeTaskrecord" parameterType="SchemeTaskrecord" useGeneratedKeys="true" keyProperty="id">
+        insert into scheme_taskrecord
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="recordtype != null">recordtype,</if>
+            <if test="taskid != null">taskid,</if>
+            <if test="result != null">result,</if>
+            <if test="remark != null">remark,</if>
+            <if test="orgid != null">orgid,</if>
+            <if test="delFlag != null and delFlag != ''">del_flag,</if>
+            <if test="updateBy != null">update_by,</if>
+            <if test="updateTime != null">update_time,</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="relationid != null">relationid,</if>
+            <if test="channeltype != null">channeltype,</if>
+            <if test="sendtime != null">sendtime,</if>
+            <if test="operator != null">operator,</if>
+            <if test="replytime != null">replytime,</if>
+            <if test="reviewtime != null">reviewtime,</if>
+            <if test="state != null">state,</if>
+            <if test="reviewstate != null">reviewstate,</if>
+            <if test="sceneid != null">sceneid,</if>
+            <if test="uuid != null">uuid,</if>
+            <if test="sendphone != null">sendphone,</if>
+            <if test="isagain != null">isagain,</if>
+            <if test="seatsid != null">seatsid,</if>
+            <if test="handletype != null">handletype,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="recordtype != null">#{recordtype},</if>
+            <if test="taskid != null">#{taskid},</if>
+            <if test="result != null">#{result},</if>
+            <if test="remark != null">#{remark},</if>
+            <if test="orgid != null">#{orgid},</if>
+            <if test="delFlag != null and delFlag != ''">#{delFlag},</if>
+            <if test="updateBy != null">#{updateBy},</if>
+            <if test="updateTime != null">#{updateTime},</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="relationid != null">#{relationid},</if>
+            <if test="channeltype != null">#{channeltype},</if>
+            <if test="sendtime != null">#{sendtime},</if>
+            <if test="operator != null">#{operator},</if>
+            <if test="replytime != null">#{replytime},</if>
+            <if test="reviewtime != null">#{reviewtime},</if>
+            <if test="state != null">#{state},</if>
+            <if test="reviewstate != null">#{reviewstate},</if>
+            <if test="sceneid != null">#{sceneid},</if>
+            <if test="uuid != null">#{uuid},</if>
+            <if test="sendphone != null">#{sendphone},</if>
+            <if test="isagain != null">#{isagain},</if>
+            <if test="seatsid != null">#{seatsid},</if>
+            <if test="handletype != null">#{handletype},</if>
+         </trim>
+    </insert>
+
+    <update id="updateSchemeTaskrecord" parameterType="SchemeTaskrecord">
+        update scheme_taskrecord
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="recordtype != null">recordtype = #{recordtype},</if>
+            <if test="taskid != null">taskid = #{taskid},</if>
+            <if test="result != null">result = #{result},</if>
+            <if test="remark != null">remark = #{remark},</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>
+            <if test="updateTime != null">update_time = #{updateTime},</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="relationid != null">relationid = #{relationid},</if>
+            <if test="channeltype != null">channeltype = #{channeltype},</if>
+            <if test="sendtime != null">sendtime = #{sendtime},</if>
+            <if test="operator != null">operator = #{operator},</if>
+            <if test="replytime != null">replytime = #{replytime},</if>
+            <if test="reviewtime != null">reviewtime = #{reviewtime},</if>
+            <if test="state != null">state = #{state},</if>
+            <if test="reviewstate != null">reviewstate = #{reviewstate},</if>
+            <if test="sceneid != null">sceneid = #{sceneid},</if>
+            <if test="uuid != null">uuid = #{uuid},</if>
+            <if test="sendphone != null">sendphone = #{sendphone},</if>
+            <if test="isagain != null">isagain = #{isagain},</if>
+            <if test="seatsid != null">seatsid = #{seatsid},</if>
+            <if test="handletype != null">handletype = #{handletype},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteSchemeTaskrecordById" parameterType="Long">
+        delete from scheme_taskrecord where id = #{id}
+    </delete>
+
+    <delete id="deleteSchemeTaskrecordByIds" parameterType="String">
+        delete from scheme_taskrecord where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>
\ No newline at end of file
diff --git a/smartor/src/main/resources/mapper/smartor/SchemeTaskrepeatconfigMapper.xml b/smartor/src/main/resources/mapper/smartor/SchemeTaskrepeatconfigMapper.xml
new file mode 100644
index 0000000..58a384f
--- /dev/null
+++ b/smartor/src/main/resources/mapper/smartor/SchemeTaskrepeatconfigMapper.xml
@@ -0,0 +1,151 @@
+<?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.SchemeTaskrepeatconfigMapper">
+    
+    <resultMap type="SchemeTaskrepeatconfig" id="SchemeTaskrepeatconfigResult">
+        <result property="id"    column="id"    />
+        <result property="schemeid"    column="schemeid"    />
+        <result property="triggersceneid"    column="triggersceneid"    />
+        <result property="triggerruleid"    column="triggerruleid"    />
+        <result property="taskconfigid"    column="taskconfigid"    />
+        <result property="executetype"    column="executetype"    />
+        <result property="executefailtype"    column="executefailtype"    />
+        <result property="executefailvalue"    column="executefailvalue"    />
+        <result property="executefailunit"    column="executefailunit"    />
+        <result property="executetemplate"    column="executetemplate"    />
+        <result property="executetemplateextra"    column="executetemplateextra"    />
+        <result property="executeorder"    column="executeorder"    />
+        <result property="executevoicetype"    column="executevoicetype"    />
+        <result property="executevoicecontent"    column="executevoicecontent"    />
+        <result property="orgid"    column="orgid"    />
+        <result property="delFlag"    column="del_flag"    />
+        <result property="updateBy"    column="update_by"    />
+        <result property="updateTime"    column="update_time"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="isupload"    column="isupload"    />
+        <result property="uploadTime"    column="upload_time"    />
+    </resultMap>
+
+    <sql id="selectSchemeTaskrepeatconfigVo">
+        select id, schemeid, triggersceneid, triggerruleid, taskconfigid, executetype, executefailtype, executefailvalue, executefailunit, executetemplate, executetemplateextra, executeorder, executevoicetype, executevoicecontent, orgid, del_flag, update_by, update_time, create_by, create_time, isupload, upload_time from scheme_taskrepeatconfig
+    </sql>
+
+    <select id="selectSchemeTaskrepeatconfigList" parameterType="SchemeTaskrepeatconfig" resultMap="SchemeTaskrepeatconfigResult">
+        <include refid="selectSchemeTaskrepeatconfigVo"/>
+        <where>  
+            <if test="schemeid != null "> and schemeid = #{schemeid}</if>
+            <if test="triggersceneid != null "> and triggersceneid = #{triggersceneid}</if>
+            <if test="triggerruleid != null "> and triggerruleid = #{triggerruleid}</if>
+            <if test="taskconfigid != null "> and taskconfigid = #{taskconfigid}</if>
+            <if test="executetype != null "> and executetype = #{executetype}</if>
+            <if test="executefailtype != null "> and executefailtype = #{executefailtype}</if>
+            <if test="executefailvalue != null "> and executefailvalue = #{executefailvalue}</if>
+            <if test="executefailunit != null "> and executefailunit = #{executefailunit}</if>
+            <if test="executetemplate != null "> and executetemplate = #{executetemplate}</if>
+            <if test="executetemplateextra != null "> and executetemplateextra = #{executetemplateextra}</if>
+            <if test="executeorder != null "> and executeorder = #{executeorder}</if>
+            <if test="executevoicetype != null  and executevoicetype != ''"> and executevoicetype = #{executevoicetype}</if>
+            <if test="executevoicecontent != null  and executevoicecontent != ''"> and executevoicecontent = #{executevoicecontent}</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>
+        </where>
+    </select>
+    
+    <select id="selectSchemeTaskrepeatconfigById" parameterType="Long" resultMap="SchemeTaskrepeatconfigResult">
+        <include refid="selectSchemeTaskrepeatconfigVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertSchemeTaskrepeatconfig" parameterType="SchemeTaskrepeatconfig" useGeneratedKeys="true" keyProperty="id">
+        insert into scheme_taskrepeatconfig
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="schemeid != null">schemeid,</if>
+            <if test="triggersceneid != null">triggersceneid,</if>
+            <if test="triggerruleid != null">triggerruleid,</if>
+            <if test="taskconfigid != null">taskconfigid,</if>
+            <if test="executetype != null">executetype,</if>
+            <if test="executefailtype != null">executefailtype,</if>
+            <if test="executefailvalue != null">executefailvalue,</if>
+            <if test="executefailunit != null">executefailunit,</if>
+            <if test="executetemplate != null">executetemplate,</if>
+            <if test="executetemplateextra != null">executetemplateextra,</if>
+            <if test="executeorder != null">executeorder,</if>
+            <if test="executevoicetype != null">executevoicetype,</if>
+            <if test="executevoicecontent != null">executevoicecontent,</if>
+            <if test="orgid != null">orgid,</if>
+            <if test="delFlag != null and delFlag != ''">del_flag,</if>
+            <if test="updateBy != null">update_by,</if>
+            <if test="updateTime != null">update_time,</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>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="schemeid != null">#{schemeid},</if>
+            <if test="triggersceneid != null">#{triggersceneid},</if>
+            <if test="triggerruleid != null">#{triggerruleid},</if>
+            <if test="taskconfigid != null">#{taskconfigid},</if>
+            <if test="executetype != null">#{executetype},</if>
+            <if test="executefailtype != null">#{executefailtype},</if>
+            <if test="executefailvalue != null">#{executefailvalue},</if>
+            <if test="executefailunit != null">#{executefailunit},</if>
+            <if test="executetemplate != null">#{executetemplate},</if>
+            <if test="executetemplateextra != null">#{executetemplateextra},</if>
+            <if test="executeorder != null">#{executeorder},</if>
+            <if test="executevoicetype != null">#{executevoicetype},</if>
+            <if test="executevoicecontent != null">#{executevoicecontent},</if>
+            <if test="orgid != null">#{orgid},</if>
+            <if test="delFlag != null and delFlag != ''">#{delFlag},</if>
+            <if test="updateBy != null">#{updateBy},</if>
+            <if test="updateTime != null">#{updateTime},</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>
+         </trim>
+    </insert>
+
+    <update id="updateSchemeTaskrepeatconfig" parameterType="SchemeTaskrepeatconfig">
+        update scheme_taskrepeatconfig
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="schemeid != null">schemeid = #{schemeid},</if>
+            <if test="triggersceneid != null">triggersceneid = #{triggersceneid},</if>
+            <if test="triggerruleid != null">triggerruleid = #{triggerruleid},</if>
+            <if test="taskconfigid != null">taskconfigid = #{taskconfigid},</if>
+            <if test="executetype != null">executetype = #{executetype},</if>
+            <if test="executefailtype != null">executefailtype = #{executefailtype},</if>
+            <if test="executefailvalue != null">executefailvalue = #{executefailvalue},</if>
+            <if test="executefailunit != null">executefailunit = #{executefailunit},</if>
+            <if test="executetemplate != null">executetemplate = #{executetemplate},</if>
+            <if test="executetemplateextra != null">executetemplateextra = #{executetemplateextra},</if>
+            <if test="executeorder != null">executeorder = #{executeorder},</if>
+            <if test="executevoicetype != null">executevoicetype = #{executevoicetype},</if>
+            <if test="executevoicecontent != null">executevoicecontent = #{executevoicecontent},</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>
+            <if test="updateTime != null">update_time = #{updateTime},</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>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteSchemeTaskrepeatconfigById" parameterType="Long">
+        delete from scheme_taskrepeatconfig where id = #{id}
+    </delete>
+
+    <delete id="deleteSchemeTaskrepeatconfigByIds" parameterType="String">
+        delete from scheme_taskrepeatconfig where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>
\ No newline at end of file
diff --git a/smartor/src/main/resources/mapper/smartor/SchemeTriggerruleMapper.xml b/smartor/src/main/resources/mapper/smartor/SchemeTriggerruleMapper.xml
new file mode 100644
index 0000000..ea38351
--- /dev/null
+++ b/smartor/src/main/resources/mapper/smartor/SchemeTriggerruleMapper.xml
@@ -0,0 +1,161 @@
+<?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.SchemeTriggerruleMapper">
+    
+    <resultMap type="SchemeTriggerrule" id="SchemeTriggerruleResult">
+        <result property="id"    column="id"    />
+        <result property="conditionstype"    column="conditionstype"    />
+        <result property="orand"    column="orand"    />
+        <result property="ruleconditions"    column="ruleconditions"    />
+        <result property="parentresultconditionsid"    column="parentresultconditionsid"    />
+        <result property="orgid"    column="orgid"    />
+        <result property="delFlag"    column="del_flag"    />
+        <result property="updateBy"    column="update_by"    />
+        <result property="updateTime"    column="update_time"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="isupload"    column="isupload"    />
+        <result property="uploadTime"    column="upload_time"    />
+        <result property="schemeid"    column="schemeid"    />
+        <result property="triggersceneid"    column="triggersceneid"    />
+        <result property="conditionstypesecord"    column="conditionstypesecord"    />
+        <result property="conditionstypethree"    column="conditionstypethree"    />
+        <result property="verifyrule"    column="verifyrule"    />
+        <result property="extraruleconditions"    column="extraruleconditions"    />
+        <result property="extraverifyrule"    column="extraverifyrule"    />
+        <result property="number"    column="number"    />
+        <result property="groupnumber"    column="groupnumber"    />
+        <result property="grouporand"    column="grouporand"    />
+        <result property="isrequired"    column="isrequired"    />
+    </resultMap>
+
+    <sql id="selectSchemeTriggerruleVo">
+        select id, conditionstype, orand, ruleconditions, parentresultconditionsid, orgid, del_flag, update_by, update_time, create_by, create_time, isupload, upload_time, schemeid, triggersceneid, conditionstypesecord, conditionstypethree, verifyrule, extraruleconditions, extraverifyrule, number, groupnumber, grouporand, isrequired from scheme_triggerrule
+    </sql>
+
+    <select id="selectSchemeTriggerruleList" parameterType="SchemeTriggerrule" resultMap="SchemeTriggerruleResult">
+        <include refid="selectSchemeTriggerruleVo"/>
+        <where>  
+            <if test="conditionstype != null "> and conditionstype = #{conditionstype}</if>
+            <if test="orand != null "> and orand = #{orand}</if>
+            <if test="ruleconditions != null  and ruleconditions != ''"> and ruleconditions = #{ruleconditions}</if>
+            <if test="parentresultconditionsid != null  and parentresultconditionsid != ''"> and parentresultconditionsid = #{parentresultconditionsid}</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="schemeid != null "> and schemeid = #{schemeid}</if>
+            <if test="triggersceneid != null "> and triggersceneid = #{triggersceneid}</if>
+            <if test="conditionstypesecord != null "> and conditionstypesecord = #{conditionstypesecord}</if>
+            <if test="conditionstypethree != null  and conditionstypethree != ''"> and conditionstypethree = #{conditionstypethree}</if>
+            <if test="verifyrule != null  and verifyrule != ''"> and verifyrule = #{verifyrule}</if>
+            <if test="extraruleconditions != null  and extraruleconditions != ''"> and extraruleconditions = #{extraruleconditions}</if>
+            <if test="extraverifyrule != null  and extraverifyrule != ''"> and extraverifyrule = #{extraverifyrule}</if>
+            <if test="number != null "> and number = #{number}</if>
+            <if test="groupnumber != null "> and groupnumber = #{groupnumber}</if>
+            <if test="grouporand != null "> and grouporand = #{grouporand}</if>
+            <if test="isrequired != null "> and isrequired = #{isrequired}</if>
+        </where>
+    </select>
+    
+    <select id="selectSchemeTriggerruleById" parameterType="Long" resultMap="SchemeTriggerruleResult">
+        <include refid="selectSchemeTriggerruleVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertSchemeTriggerrule" parameterType="SchemeTriggerrule" useGeneratedKeys="true" keyProperty="id">
+        insert into scheme_triggerrule
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="conditionstype != null">conditionstype,</if>
+            <if test="orand != null">orand,</if>
+            <if test="ruleconditions != null">ruleconditions,</if>
+            <if test="parentresultconditionsid != null">parentresultconditionsid,</if>
+            <if test="orgid != null">orgid,</if>
+            <if test="delFlag != null and delFlag != ''">del_flag,</if>
+            <if test="updateBy != null">update_by,</if>
+            <if test="updateTime != null">update_time,</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="schemeid != null">schemeid,</if>
+            <if test="triggersceneid != null">triggersceneid,</if>
+            <if test="conditionstypesecord != null">conditionstypesecord,</if>
+            <if test="conditionstypethree != null">conditionstypethree,</if>
+            <if test="verifyrule != null">verifyrule,</if>
+            <if test="extraruleconditions != null">extraruleconditions,</if>
+            <if test="extraverifyrule != null">extraverifyrule,</if>
+            <if test="number != null">number,</if>
+            <if test="groupnumber != null">groupnumber,</if>
+            <if test="grouporand != null">grouporand,</if>
+            <if test="isrequired != null">isrequired,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="conditionstype != null">#{conditionstype},</if>
+            <if test="orand != null">#{orand},</if>
+            <if test="ruleconditions != null">#{ruleconditions},</if>
+            <if test="parentresultconditionsid != null">#{parentresultconditionsid},</if>
+            <if test="orgid != null">#{orgid},</if>
+            <if test="delFlag != null and delFlag != ''">#{delFlag},</if>
+            <if test="updateBy != null">#{updateBy},</if>
+            <if test="updateTime != null">#{updateTime},</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="schemeid != null">#{schemeid},</if>
+            <if test="triggersceneid != null">#{triggersceneid},</if>
+            <if test="conditionstypesecord != null">#{conditionstypesecord},</if>
+            <if test="conditionstypethree != null">#{conditionstypethree},</if>
+            <if test="verifyrule != null">#{verifyrule},</if>
+            <if test="extraruleconditions != null">#{extraruleconditions},</if>
+            <if test="extraverifyrule != null">#{extraverifyrule},</if>
+            <if test="number != null">#{number},</if>
+            <if test="groupnumber != null">#{groupnumber},</if>
+            <if test="grouporand != null">#{grouporand},</if>
+            <if test="isrequired != null">#{isrequired},</if>
+         </trim>
+    </insert>
+
+    <update id="updateSchemeTriggerrule" parameterType="SchemeTriggerrule">
+        update scheme_triggerrule
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="conditionstype != null">conditionstype = #{conditionstype},</if>
+            <if test="orand != null">orand = #{orand},</if>
+            <if test="ruleconditions != null">ruleconditions = #{ruleconditions},</if>
+            <if test="parentresultconditionsid != null">parentresultconditionsid = #{parentresultconditionsid},</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>
+            <if test="updateTime != null">update_time = #{updateTime},</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="schemeid != null">schemeid = #{schemeid},</if>
+            <if test="triggersceneid != null">triggersceneid = #{triggersceneid},</if>
+            <if test="conditionstypesecord != null">conditionstypesecord = #{conditionstypesecord},</if>
+            <if test="conditionstypethree != null">conditionstypethree = #{conditionstypethree},</if>
+            <if test="verifyrule != null">verifyrule = #{verifyrule},</if>
+            <if test="extraruleconditions != null">extraruleconditions = #{extraruleconditions},</if>
+            <if test="extraverifyrule != null">extraverifyrule = #{extraverifyrule},</if>
+            <if test="number != null">number = #{number},</if>
+            <if test="groupnumber != null">groupnumber = #{groupnumber},</if>
+            <if test="grouporand != null">grouporand = #{grouporand},</if>
+            <if test="isrequired != null">isrequired = #{isrequired},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteSchemeTriggerruleById" parameterType="Long">
+        delete from scheme_triggerrule where id = #{id}
+    </delete>
+
+    <delete id="deleteSchemeTriggerruleByIds" parameterType="String">
+        delete from scheme_triggerrule where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>
\ No newline at end of file
diff --git a/smartor/src/main/resources/mapper/smartor/SchemeTriggersceneMapper.xml b/smartor/src/main/resources/mapper/smartor/SchemeTriggersceneMapper.xml
new file mode 100644
index 0000000..6338f9a
--- /dev/null
+++ b/smartor/src/main/resources/mapper/smartor/SchemeTriggersceneMapper.xml
@@ -0,0 +1,106 @@
+<?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.SchemeTriggersceneMapper">
+    
+    <resultMap type="SchemeTriggerscene" id="SchemeTriggersceneResult">
+        <result property="id"    column="id"    />
+        <result property="schemeid"    column="schemeid"    />
+        <result property="baselinetime"    column="baselinetime"    />
+        <result property="triggerornot"    column="triggerornot"    />
+        <result property="orgid"    column="orgid"    />
+        <result property="delFlag"    column="del_flag"    />
+        <result property="updateBy"    column="update_by"    />
+        <result property="updateTime"    column="update_time"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="isupload"    column="isupload"    />
+        <result property="uploadTime"    column="upload_time"    />
+        <result property="ismain"    column="ismain"    />
+    </resultMap>
+
+    <sql id="selectSchemeTriggersceneVo">
+        select id, schemeid, baselinetime, triggerornot, orgid, del_flag, update_by, update_time, create_by, create_time, isupload, upload_time, ismain from scheme_triggerscene
+    </sql>
+
+    <select id="selectSchemeTriggersceneList" parameterType="SchemeTriggerscene" resultMap="SchemeTriggersceneResult">
+        <include refid="selectSchemeTriggersceneVo"/>
+        <where>  
+            <if test="schemeid != null "> and schemeid = #{schemeid}</if>
+            <if test="baselinetime != null "> and baselinetime = #{baselinetime}</if>
+            <if test="triggerornot != null "> and triggerornot = #{triggerornot}</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="ismain != null "> and ismain = #{ismain}</if>
+        </where>
+    </select>
+    
+    <select id="selectSchemeTriggersceneById" parameterType="Long" resultMap="SchemeTriggersceneResult">
+        <include refid="selectSchemeTriggersceneVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertSchemeTriggerscene" parameterType="SchemeTriggerscene" useGeneratedKeys="true" keyProperty="id">
+        insert into scheme_triggerscene
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="schemeid != null">schemeid,</if>
+            <if test="baselinetime != null">baselinetime,</if>
+            <if test="triggerornot != null">triggerornot,</if>
+            <if test="orgid != null">orgid,</if>
+            <if test="delFlag != null and delFlag != ''">del_flag,</if>
+            <if test="updateBy != null">update_by,</if>
+            <if test="updateTime != null">update_time,</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="ismain != null">ismain,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="schemeid != null">#{schemeid},</if>
+            <if test="baselinetime != null">#{baselinetime},</if>
+            <if test="triggerornot != null">#{triggerornot},</if>
+            <if test="orgid != null">#{orgid},</if>
+            <if test="delFlag != null and delFlag != ''">#{delFlag},</if>
+            <if test="updateBy != null">#{updateBy},</if>
+            <if test="updateTime != null">#{updateTime},</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="ismain != null">#{ismain},</if>
+         </trim>
+    </insert>
+
+    <update id="updateSchemeTriggerscene" parameterType="SchemeTriggerscene">
+        update scheme_triggerscene
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="schemeid != null">schemeid = #{schemeid},</if>
+            <if test="baselinetime != null">baselinetime = #{baselinetime},</if>
+            <if test="triggerornot != null">triggerornot = #{triggerornot},</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>
+            <if test="updateTime != null">update_time = #{updateTime},</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="ismain != null">ismain = #{ismain},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteSchemeTriggersceneById" parameterType="Long">
+        delete from scheme_triggerscene where id = #{id}
+    </delete>
+
+    <delete id="deleteSchemeTriggersceneByIds" parameterType="String">
+        delete from scheme_triggerscene where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>
\ No newline at end of file

--
Gitblit v1.9.3