From 188085f6b8579d173c0a587e4163639d70ce8854 Mon Sep 17 00:00:00 2001
From: qianxj <qianxj15@sina.com>
Date: 星期五, 03 三月 2023 11:09:24 +0800
Subject: [PATCH] update step

---
 smartor/src/main/java/com/smartor/service/ISvyLibExceptionService.java                      |   61 
 smartor1/src/main/java/com/smartor/service/impl/SvyLibTopicoptionServiceImpl.java           |   96 
 smartor1/src/main/java/com/smartor/domain/SvyLibTopic.java                                  |  211 +
 smartor1/src/main/java/com/smartor/mapper/SvyLibResultMapper.java                           |   61 
 smartor/src/main/java/com/smartor/service/ISvyLibTitleService.java                          |   61 
 smartor1/src/main/java/com/smartor/domain/SvyLibTopicoption.java                            |  407 ++
 smartor1/src/main/java/com/smartor/service/ISvyLibExceptionService.java                     |   61 
 smartor1/src/main/java/com/smartor/service/ISvyLibResultService.java                        |   61 
 smartor1/src/main/java/com/smartor/service/impl/SvyCategoryServiceImpl.java                 |   96 
 ruoyi-ui/bin/build.bat                                                                      |    2 
 smartor/src/main/java/com/smartor/service/ISvyLibTopicService.java                          |   61 
 smartor1/src/main/java/com/smartor/service/ISvyCategoryService.java                         |   61 
 ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java                                   |    5 
 smartor1/src/main/resources/mapper/smartor/SvyLibTopicoptionMapper.xml                      |  196 +
 smartor/src/main/java/com/smartor/domain/SvyCategory.java                                   |  110 
 smartor/src/main/java/com/smartor/service/impl/SvyLibTopicServiceImpl.java                  |   96 
 smartor1/src/main/resources/mapper/smartor/SvyLibTitleMapper.xml                            |  146 
 smartor/src/main/java/com/smartor/domain/SvyLibResult.java                                  |  169 +
 smartor1/src/main/java/com/smartor/mapper/SvyLibTopicoptionMapper.java                      |   61 
 smartor1/src/main/resources/mapper/smartor/PatMedInhospMapper.xml                           |  206 +
 smartor/src/main/java/com/smartor/service/IPatArchiveService.java                           |   16 
 smartor/src/main/resources/mapper/smartor/SvyLibResultMapper.xml                            |  111 
 smartor/src/main/resources/mapper/smartor/SvyLibTitleMapper.xml                             |  146 
 smartor1/src/main/java/com/smartor/mapper/SvyLibTopicMapper.java                            |   61 
 smartor/src/main/java/com/smartor/domain/SvyLibException.java                               |  267 +
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SvyCategoryController.java       |  104 
 ruoyi-ui/vue.config.js                                                                      |    2 
 smartor/src/main/java/com/smartor/mapper/PatArchiveMapper.java                              |   42 
 smartor/src/main/resources/mapper/smartor/SvyCategoryMapper.xml                             |   89 
 smartor1/src/main/java/com/smartor/service/ISvyLibTopicService.java                         |   61 
 ruoyi-admin/src/main/resources/application.yml                                              |    2 
 ruoyi-ui/bin/package.bat                                                                    |    2 
 smartor/src/main/java/com/smartor/service/ISvyLibResultService.java                         |   61 
 smartor/src/main/java/com/smartor/service/impl/SvyCategoryServiceImpl.java                  |   96 
 smartor/src/main/java/com/smartor/service/impl/SvyLibResultServiceImpl.java                 |   96 
 smartor/src/main/resources/mapper/smartor/PatArchiveMapper.xml                              |  240 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SvyLibTopicController.java       |  104 
 smartor1/src/main/java/com/smartor/mapper/PatArchiveMapper.java                             |   61 
 smartor1/src/main/java/com/smartor/domain/SvyLibTitle.java                                  |  268 +
 smartor/src/main/java/com/smartor/domain/SvyLibTopic.java                                   |  211 +
 smartor1/src/main/java/com/smartor/domain/SvyLibResult.java                                 |  169 +
 smartor1/src/main/resources/mapper/smartor/PatArchiveMapper.xml                             |  138 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SvyLibResultController.java      |  104 
 ruoyi-ui/bin/run-web.bat                                                                    |    4 
 smartor/src/main/java/com/smartor/domain/SvyLibTitle.java                                   |  268 +
 smartor1/src/main/java/com/smartor/domain/PatMedInhosp.java                                 |  484 ++
 smartor1/src/main/resources/mapper/smartor/SvyCategoryMapper.xml                            |   89 
 smartor/src/main/java/com/smartor/mapper/SvyCategoryMapper.java                             |   61 
 smartor/src/main/java/com/smartor/mapper/SvyLibTitleMapper.java                             |   61 
 smartor1/src/main/resources/mapper/smartor/SvyLibTopicMapper.xml                            |  126 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SvyLibTitleController.java       |  104 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SvyLibTopicoptionController.java |  104 
 smartor/src/main/java/com/smartor/service/impl/SvyLibTopicoptionServiceImpl.java            |   96 
 smartor/src/main/java/com/smartor/service/ISvyLibTopicoptionService.java                    |   61 
 smartor/src/main/java/com/smartor/service/impl/PatArchiveServiceImpl.java                   |   62 
 smartor1/src/main/java/com/smartor/domain/PatArchive.java                                   |  260 +
 smartor1/src/main/java/com/smartor/domain/SvyCategory.java                                  |  110 
 smartor/src/main/java/com/smartor/domain/PatArchive.java                                    |  230 
 smartor/src/main/java/com/smartor/service/impl/SvyLibExceptionServiceImpl.java              |   96 
 smartor/src/main/resources/mapper/smartor/SvyLibExceptionMapper.xml                         |  146 
 smartor/src/main/resources/mapper/smartor/SvyLibTopicMapper.xml                             |  126 
 smartor1/src/main/java/com/smartor/mapper/PatMedInhospMapper.java                           |   61 
 smartor1/src/main/java/com/smartor/mapper/SvyLibTitleMapper.java                            |   61 
 smartor1/src/main/java/com/smartor/service/IPatArchiveService.java                          |   61 
 smartor/src/main/java/com/smartor/mapper/SvyLibTopicoptionMapper.java                       |   61 
 smartor1/src/main/java/com/smartor/domain/SvyLibException.java                              |  267 +
 smartor/src/main/java/com/smartor/service/ISvyCategoryService.java                          |   61 
 smartor1/src/main/java/com/smartor/service/ISvyLibTopicoptionService.java                   |   61 
 smartor/src/main/java/com/smartor/mapper/SvyLibExceptionMapper.java                         |   61 
 smartor/src/main/resources/mapper/smartor/SvyLibTopicoptionMapper.xml                       |  196 +
 smartor1/src/main/java/com/smartor/service/impl/SvyLibTitleServiceImpl.java                 |   96 
 smartor1/src/main/resources/mapper/smartor/SvyLibExceptionMapper.xml                        |  146 
 smartor1/src/main/java/com/smartor/service/impl/SvyLibTopicServiceImpl.java                 |   96 
 ruoyi-admin/pom.xml                                                                         |    2 
 smartor/src/main/java/com/smartor/mapper/SvyLibResultMapper.java                            |   61 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SvyLibExceptionController.java   |  104 
 smartor1/src/main/java/com/smartor/service/impl/SvyLibResultServiceImpl.java                |   96 
 smartor1/pom.xml                                                                            |   29 
 smartor1/src/main/java/com/smartor/mapper/SvyCategoryMapper.java                            |   61 
 smartor1/src/main/java/com/smartor/service/impl/PatArchiveServiceImpl.java                  |   96 
 smartor1/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java                |   96 
 smartor1/src/main/java/com/smartor/service/impl/SvyLibExceptionServiceImpl.java             |   96 
 smartor1/src/main/java/com/smartor/mapper/SvyLibExceptionMapper.java                        |   61 
 smartor/src/main/java/com/smartor/service/impl/SvyLibTitleServiceImpl.java                  |   96 
 smartor1/src/main/java/com/smartor/service/ISvyLibTitleService.java                         |   61 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatArchiveController.java        |   32 
 smartor1/src/main/resources/mapper/smartor/SvyLibResultMapper.xml                           |  111 
 smartor/src/main/java/com/smartor/domain/SvyLibTopicoption.java                             |  407 ++
 smartor/src/main/java/com/smartor/mapper/SvyLibTopicMapper.java                             |   61 
 smartor1/src/main/java/com/smartor/service/IPatMedInhospService.java                        |   61 
 smartor1/src/main/java/com/smartor/domain/PatMedOuthosp.java                                |    0 
 91 files changed, 9,541 insertions(+), 385 deletions(-)

diff --git a/ruoyi-admin/pom.xml b/ruoyi-admin/pom.xml
index 7dccb90..0a4e3e1 100644
--- a/ruoyi-admin/pom.xml
+++ b/ruoyi-admin/pom.xml
@@ -17,7 +17,7 @@
 
     <dependencies>
 
-        <!-- spring-boot-devtools -->
+       <!-- spring-boot-devtools -->
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-devtools</artifactId>
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java b/ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java
index 32eb6f1..7f73136 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java
@@ -3,13 +3,16 @@
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
+import org.mybatis.spring.annotation.MapperScan;
 
 /**
  * 鍚姩绋嬪簭
  * 
  * @author ruoyi
  */
-@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class })
+//@SpringBootApplication(scanBasePackages="com.smartor",exclude = { DataSourceAutoConfiguration.class })
+@SpringBootApplication(scanBasePackages={"com.ruoyi","com.smartor"},exclude = { DataSourceAutoConfiguration.class })
+@MapperScan(value="com.smartor.mapper")
 public class RuoYiApplication
 {
     public static void main(String[] args)
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatArchiveController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatArchiveController.java
index d11cf9e..86ad952 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatArchiveController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatArchiveController.java
@@ -1,4 +1,4 @@
-package com.ruoyi.web.controller.smartor;
+package com.smartor.controller;
 
 import java.util.List;
 import javax.servlet.http.HttpServletResponse;
@@ -24,11 +24,11 @@
 /**
  * 鎮h�呮。妗圕ontroller
  * 
- * @author ruoyi
- * @date 2023-02-22
+ * @author smartor
+ * @date 2023-03-01
  */
 @RestController
-@RequestMapping("/smartor/archive")
+@RequestMapping("/smartor/patarchive")
 public class PatArchiveController extends BaseController
 {
     @Autowired
@@ -37,7 +37,7 @@
     /**
      * 鏌ヨ鎮h�呮。妗堝垪琛�
      */
-    @PreAuthorize("@ss.hasPermi('smartor:archive:list')")
+    @PreAuthorize("@ss.hasPermi('smartor:patarchive:list')")
     @GetMapping("/list")
     public TableDataInfo list(PatArchive patArchive)
     {
@@ -49,7 +49,7 @@
     /**
      * 瀵煎嚭鎮h�呮。妗堝垪琛�
      */
-    @PreAuthorize("@ss.hasPermi('smartor:archive:export')")
+    @PreAuthorize("@ss.hasPermi('smartor:patarchive:export')")
     @Log(title = "鎮h�呮。妗�", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
     public void export(HttpServletResponse response, PatArchive patArchive)
@@ -62,17 +62,17 @@
     /**
      * 鑾峰彇鎮h�呮。妗堣缁嗕俊鎭�
      */
-    @PreAuthorize("@ss.hasPermi('smartor:archive:query')")
-    @GetMapping(value = "/{PatID}")
-    public AjaxResult getInfo(@PathVariable("PatID") Long PatID)
+    @PreAuthorize("@ss.hasPermi('smartor:patarchive:query')")
+    @GetMapping(value = "/{patid}")
+    public AjaxResult getInfo(@PathVariable("patid") Long patid)
     {
-        return success(patArchiveService.selectPatArchiveByPatID(PatID));
+        return success(patArchiveService.selectPatArchiveByPatid(patid));
     }
 
     /**
      * 鏂板鎮h�呮。妗�
      */
-    @PreAuthorize("@ss.hasPermi('smartor:archive:add')")
+    @PreAuthorize("@ss.hasPermi('smartor:patarchive:add')")
     @Log(title = "鎮h�呮。妗�", businessType = BusinessType.INSERT)
     @PostMapping
     public AjaxResult add(@RequestBody PatArchive patArchive)
@@ -83,7 +83,7 @@
     /**
      * 淇敼鎮h�呮。妗�
      */
-    @PreAuthorize("@ss.hasPermi('smartor:archive:edit')")
+    @PreAuthorize("@ss.hasPermi('smartor:patarchive:edit')")
     @Log(title = "鎮h�呮。妗�", businessType = BusinessType.UPDATE)
     @PutMapping
     public AjaxResult edit(@RequestBody PatArchive patArchive)
@@ -94,11 +94,11 @@
     /**
      * 鍒犻櫎鎮h�呮。妗�
      */
-    @PreAuthorize("@ss.hasPermi('smartor:archive:remove')")
+    @PreAuthorize("@ss.hasPermi('smartor:patarchive:remove')")
     @Log(title = "鎮h�呮。妗�", businessType = BusinessType.DELETE)
-	@DeleteMapping("/{PatIDs}")
-    public AjaxResult remove(@PathVariable Long[] PatIDs)
+	@DeleteMapping("/{patids}")
+    public AjaxResult remove(@PathVariable Long[] patids)
     {
-        return toAjax(patArchiveService.deletePatArchiveByPatIDs(PatIDs));
+        return toAjax(patArchiveService.deletePatArchiveByPatids(patids));
     }
 }
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SvyCategoryController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SvyCategoryController.java
new file mode 100644
index 0000000..dfe83ea
--- /dev/null
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SvyCategoryController.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.SvyCategory;
+import com.smartor.service.ISvyCategoryService;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 闂嵎鍒嗙被Controller
+ * 
+ * @author ruoyi
+ * @date 2023-03-02
+ */
+@RestController
+@RequestMapping("/smartor/svycategory")
+public class SvyCategoryController extends BaseController
+{
+    @Autowired
+    private ISvyCategoryService svyCategoryService;
+
+    /**
+     * 鏌ヨ闂嵎鍒嗙被鍒楄〃
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:svycategory:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(SvyCategory svyCategory)
+    {
+        startPage();
+        List<SvyCategory> list = svyCategoryService.selectSvyCategoryList(svyCategory);
+        return getDataTable(list);
+    }
+
+    /**
+     * 瀵煎嚭闂嵎鍒嗙被鍒楄〃
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:svycategory:export')")
+    @Log(title = "闂嵎鍒嗙被", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, SvyCategory svyCategory)
+    {
+        List<SvyCategory> list = svyCategoryService.selectSvyCategoryList(svyCategory);
+        ExcelUtil<SvyCategory> util = new ExcelUtil<SvyCategory>(SvyCategory.class);
+        util.exportExcel(response, list, "闂嵎鍒嗙被鏁版嵁");
+    }
+
+    /**
+     * 鑾峰彇闂嵎鍒嗙被璇︾粏淇℃伅
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:svycategory:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(svyCategoryService.selectSvyCategoryById(id));
+    }
+
+    /**
+     * 鏂板闂嵎鍒嗙被
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:svycategory:add')")
+    @Log(title = "闂嵎鍒嗙被", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody SvyCategory svyCategory)
+    {
+        return toAjax(svyCategoryService.insertSvyCategory(svyCategory));
+    }
+
+    /**
+     * 淇敼闂嵎鍒嗙被
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:svycategory:edit')")
+    @Log(title = "闂嵎鍒嗙被", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody SvyCategory svyCategory)
+    {
+        return toAjax(svyCategoryService.updateSvyCategory(svyCategory));
+    }
+
+    /**
+     * 鍒犻櫎闂嵎鍒嗙被
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:svycategory:remove')")
+    @Log(title = "闂嵎鍒嗙被", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(svyCategoryService.deleteSvyCategoryByIds(ids));
+    }
+}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SvyLibExceptionController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SvyLibExceptionController.java
new file mode 100644
index 0000000..914eadb
--- /dev/null
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SvyLibExceptionController.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.SvyLibException;
+import com.smartor.service.ISvyLibExceptionService;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 闂嵎寮傚父Controller
+ * 
+ * @author ruoyi
+ * @date 2023-03-02
+ */
+@RestController
+@RequestMapping("/smartor/svyexception")
+public class SvyLibExceptionController extends BaseController
+{
+    @Autowired
+    private ISvyLibExceptionService svyLibExceptionService;
+
+    /**
+     * 鏌ヨ闂嵎寮傚父鍒楄〃
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:svyexception:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(SvyLibException svyLibException)
+    {
+        startPage();
+        List<SvyLibException> list = svyLibExceptionService.selectSvyLibExceptionList(svyLibException);
+        return getDataTable(list);
+    }
+
+    /**
+     * 瀵煎嚭闂嵎寮傚父鍒楄〃
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:svyexception:export')")
+    @Log(title = "闂嵎寮傚父", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, SvyLibException svyLibException)
+    {
+        List<SvyLibException> list = svyLibExceptionService.selectSvyLibExceptionList(svyLibException);
+        ExcelUtil<SvyLibException> util = new ExcelUtil<SvyLibException>(SvyLibException.class);
+        util.exportExcel(response, list, "闂嵎寮傚父鏁版嵁");
+    }
+
+    /**
+     * 鑾峰彇闂嵎寮傚父璇︾粏淇℃伅
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:svyexception:query')")
+    @GetMapping(value = "/{ecid}")
+    public AjaxResult getInfo(@PathVariable("ecid") Long ecid)
+    {
+        return success(svyLibExceptionService.selectSvyLibExceptionByEcid(ecid));
+    }
+
+    /**
+     * 鏂板闂嵎寮傚父
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:svyexception:add')")
+    @Log(title = "闂嵎寮傚父", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody SvyLibException svyLibException)
+    {
+        return toAjax(svyLibExceptionService.insertSvyLibException(svyLibException));
+    }
+
+    /**
+     * 淇敼闂嵎寮傚父
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:svyexception:edit')")
+    @Log(title = "闂嵎寮傚父", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody SvyLibException svyLibException)
+    {
+        return toAjax(svyLibExceptionService.updateSvyLibException(svyLibException));
+    }
+
+    /**
+     * 鍒犻櫎闂嵎寮傚父
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:svyexception:remove')")
+    @Log(title = "闂嵎寮傚父", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ecids}")
+    public AjaxResult remove(@PathVariable Long[] ecids)
+    {
+        return toAjax(svyLibExceptionService.deleteSvyLibExceptionByEcids(ecids));
+    }
+}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SvyLibResultController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SvyLibResultController.java
new file mode 100644
index 0000000..ac96f78
--- /dev/null
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SvyLibResultController.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.SvyLibResult;
+import com.smartor.service.ISvyLibResultService;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 闂嵎缁撴灉Controller
+ * 
+ * @author ruoyi
+ * @date 2023-03-02
+ */
+@RestController
+@RequestMapping("/smartor/svyresult")
+public class SvyLibResultController extends BaseController
+{
+    @Autowired
+    private ISvyLibResultService svyLibResultService;
+
+    /**
+     * 鏌ヨ闂嵎缁撴灉鍒楄〃
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:svyresult:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(SvyLibResult svyLibResult)
+    {
+        startPage();
+        List<SvyLibResult> list = svyLibResultService.selectSvyLibResultList(svyLibResult);
+        return getDataTable(list);
+    }
+
+    /**
+     * 瀵煎嚭闂嵎缁撴灉鍒楄〃
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:svyresult:export')")
+    @Log(title = "闂嵎缁撴灉", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, SvyLibResult svyLibResult)
+    {
+        List<SvyLibResult> list = svyLibResultService.selectSvyLibResultList(svyLibResult);
+        ExcelUtil<SvyLibResult> util = new ExcelUtil<SvyLibResult>(SvyLibResult.class);
+        util.exportExcel(response, list, "闂嵎缁撴灉鏁版嵁");
+    }
+
+    /**
+     * 鑾峰彇闂嵎缁撴灉璇︾粏淇℃伅
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:svyresult:query')")
+    @GetMapping(value = "/{resultid}")
+    public AjaxResult getInfo(@PathVariable("resultid") Long resultid)
+    {
+        return success(svyLibResultService.selectSvyLibResultByResultid(resultid));
+    }
+
+    /**
+     * 鏂板闂嵎缁撴灉
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:svyresult:add')")
+    @Log(title = "闂嵎缁撴灉", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody SvyLibResult svyLibResult)
+    {
+        return toAjax(svyLibResultService.insertSvyLibResult(svyLibResult));
+    }
+
+    /**
+     * 淇敼闂嵎缁撴灉
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:svyresult:edit')")
+    @Log(title = "闂嵎缁撴灉", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody SvyLibResult svyLibResult)
+    {
+        return toAjax(svyLibResultService.updateSvyLibResult(svyLibResult));
+    }
+
+    /**
+     * 鍒犻櫎闂嵎缁撴灉
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:svyresult:remove')")
+    @Log(title = "闂嵎缁撴灉", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{resultids}")
+    public AjaxResult remove(@PathVariable Long[] resultids)
+    {
+        return toAjax(svyLibResultService.deleteSvyLibResultByResultids(resultids));
+    }
+}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SvyLibTitleController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SvyLibTitleController.java
new file mode 100644
index 0000000..92a1846
--- /dev/null
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SvyLibTitleController.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.SvyLibTitle;
+import com.smartor.service.ISvyLibTitleService;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 闂嵎Controller
+ * 
+ * @author ruoyi
+ * @date 2023-03-02
+ */
+@RestController
+@RequestMapping("/smartor/svytitle")
+public class SvyLibTitleController extends BaseController
+{
+    @Autowired
+    private ISvyLibTitleService svyLibTitleService;
+
+    /**
+     * 鏌ヨ闂嵎鍒楄〃
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:svytitle:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(SvyLibTitle svyLibTitle)
+    {
+        startPage();
+        List<SvyLibTitle> list = svyLibTitleService.selectSvyLibTitleList(svyLibTitle);
+        return getDataTable(list);
+    }
+
+    /**
+     * 瀵煎嚭闂嵎鍒楄〃
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:svytitle:export')")
+    @Log(title = "闂嵎", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, SvyLibTitle svyLibTitle)
+    {
+        List<SvyLibTitle> list = svyLibTitleService.selectSvyLibTitleList(svyLibTitle);
+        ExcelUtil<SvyLibTitle> util = new ExcelUtil<SvyLibTitle>(SvyLibTitle.class);
+        util.exportExcel(response, list, "闂嵎鏁版嵁");
+    }
+
+    /**
+     * 鑾峰彇闂嵎璇︾粏淇℃伅
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:svytitle:query')")
+    @GetMapping(value = "/{svyid}")
+    public AjaxResult getInfo(@PathVariable("svyid") Long svyid)
+    {
+        return success(svyLibTitleService.selectSvyLibTitleBySvyid(svyid));
+    }
+
+    /**
+     * 鏂板闂嵎
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:svytitle:add')")
+    @Log(title = "闂嵎", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody SvyLibTitle svyLibTitle)
+    {
+        return toAjax(svyLibTitleService.insertSvyLibTitle(svyLibTitle));
+    }
+
+    /**
+     * 淇敼闂嵎
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:svytitle:edit')")
+    @Log(title = "闂嵎", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody SvyLibTitle svyLibTitle)
+    {
+        return toAjax(svyLibTitleService.updateSvyLibTitle(svyLibTitle));
+    }
+
+    /**
+     * 鍒犻櫎闂嵎
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:svytitle:remove')")
+    @Log(title = "闂嵎", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{svyids}")
+    public AjaxResult remove(@PathVariable Long[] svyids)
+    {
+        return toAjax(svyLibTitleService.deleteSvyLibTitleBySvyids(svyids));
+    }
+}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SvyLibTopicController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SvyLibTopicController.java
new file mode 100644
index 0000000..321f5e8
--- /dev/null
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SvyLibTopicController.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.SvyLibTopic;
+import com.smartor.service.ISvyLibTopicService;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 闂嵎棰樼洰Controller
+ * 
+ * @author ruoyi
+ * @date 2023-03-02
+ */
+@RestController
+@RequestMapping("/system/snytopic")
+public class SvyLibTopicController extends BaseController
+{
+    @Autowired
+    private ISvyLibTopicService svyLibTopicService;
+
+    /**
+     * 鏌ヨ闂嵎棰樼洰鍒楄〃
+     */
+    @PreAuthorize("@ss.hasPermi('system:snytopic:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(SvyLibTopic svyLibTopic)
+    {
+        startPage();
+        List<SvyLibTopic> list = svyLibTopicService.selectSvyLibTopicList(svyLibTopic);
+        return getDataTable(list);
+    }
+
+    /**
+     * 瀵煎嚭闂嵎棰樼洰鍒楄〃
+     */
+    @PreAuthorize("@ss.hasPermi('system:snytopic:export')")
+    @Log(title = "闂嵎棰樼洰", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, SvyLibTopic svyLibTopic)
+    {
+        List<SvyLibTopic> list = svyLibTopicService.selectSvyLibTopicList(svyLibTopic);
+        ExcelUtil<SvyLibTopic> util = new ExcelUtil<SvyLibTopic>(SvyLibTopic.class);
+        util.exportExcel(response, list, "闂嵎棰樼洰鏁版嵁");
+    }
+
+    /**
+     * 鑾峰彇闂嵎棰樼洰璇︾粏淇℃伅
+     */
+    @PreAuthorize("@ss.hasPermi('system:snytopic:query')")
+    @GetMapping(value = "/{topicid}")
+    public AjaxResult getInfo(@PathVariable("topicid") Long topicid)
+    {
+        return success(svyLibTopicService.selectSvyLibTopicByTopicid(topicid));
+    }
+
+    /**
+     * 鏂板闂嵎棰樼洰
+     */
+    @PreAuthorize("@ss.hasPermi('system:snytopic:add')")
+    @Log(title = "闂嵎棰樼洰", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody SvyLibTopic svyLibTopic)
+    {
+        return toAjax(svyLibTopicService.insertSvyLibTopic(svyLibTopic));
+    }
+
+    /**
+     * 淇敼闂嵎棰樼洰
+     */
+    @PreAuthorize("@ss.hasPermi('system:snytopic:edit')")
+    @Log(title = "闂嵎棰樼洰", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody SvyLibTopic svyLibTopic)
+    {
+        return toAjax(svyLibTopicService.updateSvyLibTopic(svyLibTopic));
+    }
+
+    /**
+     * 鍒犻櫎闂嵎棰樼洰
+     */
+    @PreAuthorize("@ss.hasPermi('system:snytopic:remove')")
+    @Log(title = "闂嵎棰樼洰", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{topicids}")
+    public AjaxResult remove(@PathVariable Long[] topicids)
+    {
+        return toAjax(svyLibTopicService.deleteSvyLibTopicByTopicids(topicids));
+    }
+}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SvyLibTopicoptionController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SvyLibTopicoptionController.java
new file mode 100644
index 0000000..f633598
--- /dev/null
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SvyLibTopicoptionController.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.SvyLibTopicoption;
+import com.smartor.service.ISvyLibTopicoptionService;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 闂嵎闂閫夐」Controller
+ * 
+ * @author ruoyi
+ * @date 2023-03-02
+ */
+@RestController
+@RequestMapping("/smartor/svytopicoption")
+public class SvyLibTopicoptionController extends BaseController
+{
+    @Autowired
+    private ISvyLibTopicoptionService svyLibTopicoptionService;
+
+    /**
+     * 鏌ヨ闂嵎闂閫夐」鍒楄〃
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:svytopicoption:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(SvyLibTopicoption svyLibTopicoption)
+    {
+        startPage();
+        List<SvyLibTopicoption> list = svyLibTopicoptionService.selectSvyLibTopicoptionList(svyLibTopicoption);
+        return getDataTable(list);
+    }
+
+    /**
+     * 瀵煎嚭闂嵎闂閫夐」鍒楄〃
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:svytopicoption:export')")
+    @Log(title = "闂嵎闂閫夐」", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, SvyLibTopicoption svyLibTopicoption)
+    {
+        List<SvyLibTopicoption> list = svyLibTopicoptionService.selectSvyLibTopicoptionList(svyLibTopicoption);
+        ExcelUtil<SvyLibTopicoption> util = new ExcelUtil<SvyLibTopicoption>(SvyLibTopicoption.class);
+        util.exportExcel(response, list, "闂嵎闂閫夐」鏁版嵁");
+    }
+
+    /**
+     * 鑾峰彇闂嵎闂閫夐」璇︾粏淇℃伅
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:svytopicoption:query')")
+    @GetMapping(value = "/{optionid}")
+    public AjaxResult getInfo(@PathVariable("optionid") Long optionid)
+    {
+        return success(svyLibTopicoptionService.selectSvyLibTopicoptionByOptionid(optionid));
+    }
+
+    /**
+     * 鏂板闂嵎闂閫夐」
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:svytopicoption:add')")
+    @Log(title = "闂嵎闂閫夐」", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody SvyLibTopicoption svyLibTopicoption)
+    {
+        return toAjax(svyLibTopicoptionService.insertSvyLibTopicoption(svyLibTopicoption));
+    }
+
+    /**
+     * 淇敼闂嵎闂閫夐」
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:svytopicoption:edit')")
+    @Log(title = "闂嵎闂閫夐」", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody SvyLibTopicoption svyLibTopicoption)
+    {
+        return toAjax(svyLibTopicoptionService.updateSvyLibTopicoption(svyLibTopicoption));
+    }
+
+    /**
+     * 鍒犻櫎闂嵎闂閫夐」
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:svytopicoption:remove')")
+    @Log(title = "闂嵎闂閫夐」", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{optionids}")
+    public AjaxResult remove(@PathVariable Long[] optionids)
+    {
+        return toAjax(svyLibTopicoptionService.deleteSvyLibTopicoptionByOptionids(optionids));
+    }
+}
diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml
index 50e2dfe..9dffcb8 100644
--- a/ruoyi-admin/src/main/resources/application.yml
+++ b/ruoyi-admin/src/main/resources/application.yml
@@ -18,7 +18,7 @@
 # 寮�鍙戠幆澧冮厤缃�
 server:
   # 鏈嶅姟鍣ㄧ殑HTTP绔彛锛岄粯璁や负8080
-  port: 8081
+  port: 8080
   servlet:
     # 搴旂敤鐨勮闂矾寰�
     context-path: /
diff --git a/ruoyi-ui/bin/build.bat b/ruoyi-ui/bin/build.bat
index dda590d..4f0d73a 100644
--- a/ruoyi-ui/bin/build.bat
+++ b/ruoyi-ui/bin/build.bat
@@ -9,4 +9,4 @@
 cd ..
 npm run build:prod
 
-pause
\ No newline at end of file
+pause
diff --git a/ruoyi-ui/bin/package.bat b/ruoyi-ui/bin/package.bat
index 0e5bc0f..2e5ce79 100644
--- a/ruoyi-ui/bin/package.bat
+++ b/ruoyi-ui/bin/package.bat
@@ -9,4 +9,4 @@
 cd ..
 npm install --registry=https://registry.npmmirror.com
 
-pause
\ No newline at end of file
+pause
diff --git a/ruoyi-ui/bin/run-web.bat b/ruoyi-ui/bin/run-web.bat
index d30deae..b7ff754 100644
--- a/ruoyi-ui/bin/run-web.bat
+++ b/ruoyi-ui/bin/run-web.bat
@@ -1,6 +1,6 @@
 @echo off
 echo.
-echo [信息] 使用 Vue CLI 命令运行 Web 工程。
+echo [淇℃伅] 浣跨敤 Vue CLI 鍛戒护杩愯 Web 宸ョ▼銆�
 echo.
 
 %~d0
@@ -9,4 +9,4 @@
 cd ..
 npm run dev
 
-pause
\ No newline at end of file
+pause
diff --git a/ruoyi-ui/vue.config.js b/ruoyi-ui/vue.config.js
index f4d866a..5b8a429 100644
--- a/ruoyi-ui/vue.config.js
+++ b/ruoyi-ui/vue.config.js
@@ -9,7 +9,7 @@
 
 const name = process.env.VUE_APP_TITLE || '鑻ヤ緷绠$悊绯荤粺' // 缃戦〉鏍囬
 
-const port = process.env.port || process.env.npm_config_port || 80 // 绔彛
+const port = process.env.port || process.env.npm_config_port || 8090 // 绔彛
 
 // vue.config.js 閰嶇疆璇存槑
 //瀹樻柟vue.config.js 鍙傝�冩枃妗� https://cli.vuejs.org/zh/config/#css-loaderoptions
diff --git a/smartor/src/main/java/com/smartor/domain/PatArchive.java b/smartor/src/main/java/com/smartor/domain/PatArchive.java
index 5adfe8f..8d61092 100644
--- a/smartor/src/main/java/com/smartor/domain/PatArchive.java
+++ b/smartor/src/main/java/com/smartor/domain/PatArchive.java
@@ -1,6 +1,5 @@
 package com.smartor.domain;
 
-import java.util.List;
 import java.util.Date;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import org.apache.commons.lang3.builder.ToStringBuilder;
@@ -11,184 +10,198 @@
 /**
  * 鎮h�呮。妗堝璞� pat_archive
  * 
- * @author ruoyi
- * @date 2023-02-22
+ * @author smartor
+ * @date 2023-03-01
  */
 public class PatArchive extends BaseEntity
 {
     private static final long serialVersionUID = 1L;
 
     /**  鑷ID  */
-    private Long PatID;
+    private Long patid;
 
     /**  濮撳悕  */
     @Excel(name = " 濮撳悕 ")
-    private String Name;
+    private String name;
 
     /**  鎬у埆  */
     @Excel(name = " 鎬у埆 ")
-    private Long Gender;
+    private Long sex;
 
     /**  璇佷欢鍙风爜  */
     @Excel(name = " 璇佷欢鍙风爜 ")
-    private String PapersNumber;
+    private String iccardno;
 
     /**  鐢熸棩  */
-    private Date BirthDate;
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = " 鐢熸棩 ", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date birthdate;
+
+    /**  骞撮緞  */
+    @Excel(name = " 骞撮緞 ")
+    private Long age;
 
     /**  鏉ユ簮  */
     @Excel(name = " 鏉ユ簮 ")
-    private Long Source;
+    private Long source;
 
     /**  寤烘。鏃堕棿  */
-    @JsonFormat(pattern = "yyyy-MM-dd")
-    @Excel(name = " 寤烘。鏃堕棿 ", width = 30, dateFormat = "yyyy-MM-dd")
-    private Date MakeArchiveTime;
+    private Date archivetime;
 
     /**  寤烘。浜�  */
-    private String MakeArchivePeople;
+    private String archiveby;
 
     /**  鎵嬫満鍙风爜  */
     @Excel(name = " 鎵嬫満鍙风爜 ")
-    private String MobileNumberCode;
+    private String telcode;
 
     /**  浜插睘鍙风爜  */
-    private String RelativesNumber;
+    private String relativetelcode;
 
     /**  璇佷欢绫诲瀷  */
-    private String PapersType;
+    private String iccardtype;
 
     /**  鏈烘瀯ID  */
     @Excel(name = " 鏈烘瀯ID ")
-    private String OrgID;
+    private String orgid;
+
+    /**  寰俊openid  */
+    private String openid;
 
     /**  鍒犻櫎鏍囪  */
-    @Excel(name = " 鍒犻櫎鏍囪 ")
     private String delFlag;
 
     /**  涓婁紶鏍囪  */
-    private Long IsUpload;
+    private Long isupload;
 
     /**  涓婁紶鏃堕棿  */
     private Date uploadTime;
 
-    /**  骞撮緞  */
-    @Excel(name = " 骞撮緞 ")
-    private Long Age;
-
-    /**  寰俊openid  */
-    private String OpenId;
-
-    /** 鎮h�呴棬璇婅褰曚俊鎭� */
-    private List<PatMedOuthosp> patMedOuthospList;
-
-    public void setPatID(Long PatID) 
+    public void setPatid(Long patid) 
     {
-        this.PatID = PatID;
+        this.patid = patid;
     }
 
-    public Long getPatID() 
+    public Long getPatid() 
     {
-        return PatID;
+        return patid;
     }
-    public void setName(String Name) 
+    public void setName(String name) 
     {
-        this.Name = Name;
+        this.name = name;
     }
 
     public String getName() 
     {
-        return Name;
+        return name;
     }
-    public void setGender(Long Gender) 
+    public void setSex(Long sex) 
     {
-        this.Gender = Gender;
+        this.sex = sex;
     }
 
-    public Long getGender() 
+    public Long getSex() 
     {
-        return Gender;
+        return sex;
     }
-    public void setPapersNumber(String PapersNumber) 
+    public void setIccardno(String iccardno) 
     {
-        this.PapersNumber = PapersNumber;
+        this.iccardno = iccardno;
     }
 
-    public String getPapersNumber() 
+    public String getIccardno() 
     {
-        return PapersNumber;
+        return iccardno;
     }
-    public void setBirthDate(Date BirthDate) 
+    public void setBirthdate(Date birthdate) 
     {
-        this.BirthDate = BirthDate;
+        this.birthdate = birthdate;
     }
 
-    public Date getBirthDate() 
+    public Date getBirthdate() 
     {
-        return BirthDate;
+        return birthdate;
     }
-    public void setSource(Long Source) 
+    public void setAge(Long age) 
     {
-        this.Source = Source;
+        this.age = age;
+    }
+
+    public Long getAge() 
+    {
+        return age;
+    }
+    public void setSource(Long source) 
+    {
+        this.source = source;
     }
 
     public Long getSource() 
     {
-        return Source;
+        return source;
     }
-    public void setMakeArchiveTime(Date MakeArchiveTime) 
+    public void setArchivetime(Date archivetime) 
     {
-        this.MakeArchiveTime = MakeArchiveTime;
+        this.archivetime = archivetime;
     }
 
-    public Date getMakeArchiveTime() 
+    public Date getArchivetime() 
     {
-        return MakeArchiveTime;
+        return archivetime;
     }
-    public void setMakeArchivePeople(String MakeArchivePeople) 
+    public void setArchiveby(String archiveby) 
     {
-        this.MakeArchivePeople = MakeArchivePeople;
+        this.archiveby = archiveby;
     }
 
-    public String getMakeArchivePeople() 
+    public String getArchiveby() 
     {
-        return MakeArchivePeople;
+        return archiveby;
     }
-    public void setMobileNumberCode(String MobileNumberCode) 
+    public void setTelcode(String telcode) 
     {
-        this.MobileNumberCode = MobileNumberCode;
+        this.telcode = telcode;
     }
 
-    public String getMobileNumberCode() 
+    public String getTelcode() 
     {
-        return MobileNumberCode;
+        return telcode;
     }
-    public void setRelativesNumber(String RelativesNumber) 
+    public void setRelativetelcode(String relativetelcode) 
     {
-        this.RelativesNumber = RelativesNumber;
+        this.relativetelcode = relativetelcode;
     }
 
-    public String getRelativesNumber() 
+    public String getRelativetelcode() 
     {
-        return RelativesNumber;
+        return relativetelcode;
     }
-    public void setPapersType(String PapersType) 
+    public void setIccardtype(String iccardtype) 
     {
-        this.PapersType = PapersType;
+        this.iccardtype = iccardtype;
     }
 
-    public String getPapersType() 
+    public String getIccardtype() 
     {
-        return PapersType;
+        return iccardtype;
     }
-    public void setOrgID(String OrgID) 
+    public void setOrgid(String orgid) 
     {
-        this.OrgID = OrgID;
+        this.orgid = orgid;
     }
 
-    public String getOrgID() 
+    public String getOrgid() 
     {
-        return OrgID;
+        return orgid;
+    }
+    public void setOpenid(String openid) 
+    {
+        this.openid = openid;
+    }
+
+    public String getOpenid() 
+    {
+        return openid;
     }
     public void setDelFlag(String delFlag) 
     {
@@ -199,14 +212,14 @@
     {
         return delFlag;
     }
-    public void setIsUpload(Long IsUpload) 
+    public void setIsupload(Long isupload) 
     {
-        this.IsUpload = IsUpload;
+        this.isupload = isupload;
     }
 
-    public Long getIsUpload() 
+    public Long getIsupload() 
     {
-        return IsUpload;
+        return isupload;
     }
     public void setUploadTime(Date uploadTime) 
     {
@@ -217,60 +230,31 @@
     {
         return uploadTime;
     }
-    public void setAge(Long Age) 
-    {
-        this.Age = Age;
-    }
-
-    public Long getAge() 
-    {
-        return Age;
-    }
-    public void setOpenId(String OpenId) 
-    {
-        this.OpenId = OpenId;
-    }
-
-    public String getOpenId() 
-    {
-        return OpenId;
-    }
-
-    public List<PatMedOuthosp> getPatMedOuthospList()
-    {
-        return patMedOuthospList;
-    }
-
-    public void setPatMedOuthospList(List<PatMedOuthosp> patMedOuthospList)
-    {
-        this.patMedOuthospList = patMedOuthospList;
-    }
 
     @Override
     public String toString() {
         return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
-            .append("PatID", getPatID())
-            .append("Name", getName())
-            .append("Gender", getGender())
-            .append("PapersNumber", getPapersNumber())
-            .append("BirthDate", getBirthDate())
-            .append("Source", getSource())
-            .append("MakeArchiveTime", getMakeArchiveTime())
-            .append("MakeArchivePeople", getMakeArchivePeople())
-            .append("MobileNumberCode", getMobileNumberCode())
-            .append("RelativesNumber", getRelativesNumber())
-            .append("PapersType", getPapersType())
-            .append("OrgID", getOrgID())
+            .append("patid", getPatid())
+            .append("name", getName())
+            .append("sex", getSex())
+            .append("iccardno", getIccardno())
+            .append("birthdate", getBirthdate())
+            .append("age", getAge())
+            .append("source", getSource())
+            .append("archivetime", getArchivetime())
+            .append("archiveby", getArchiveby())
+            .append("telcode", getTelcode())
+            .append("relativetelcode", getRelativetelcode())
+            .append("iccardtype", getIccardtype())
+            .append("orgid", getOrgid())
+            .append("openid", getOpenid())
             .append("delFlag", getDelFlag())
             .append("updateBy", getUpdateBy())
             .append("updateTime", getUpdateTime())
             .append("createBy", getCreateBy())
             .append("createTime", getCreateTime())
-            .append("IsUpload", getIsUpload())
+            .append("isupload", getIsupload())
             .append("uploadTime", getUploadTime())
-            .append("Age", getAge())
-            .append("OpenId", getOpenId())
-            .append("patMedOuthospList", getPatMedOuthospList())
             .toString();
     }
 }
diff --git a/smartor/src/main/java/com/smartor/domain/SvyCategory.java b/smartor/src/main/java/com/smartor/domain/SvyCategory.java
new file mode 100644
index 0000000..ad06d4d
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/domain/SvyCategory.java
@@ -0,0 +1,110 @@
+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;
+
+/**
+ * 闂嵎鍒嗙被瀵硅薄 svy_category
+ * 
+ * @author ruoyi
+ * @date 2023-03-02
+ */
+public class SvyCategory extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /**  鑷ID  */
+    private Long id;
+
+    /**  鍒嗙被鍚嶇О  */
+    @Excel(name = " 鍒嗙被鍚嶇О ")
+    private String categoryname;
+
+    /**  鏈烘瀯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 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 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("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/SvyLibException.java b/smartor/src/main/java/com/smartor/domain/SvyLibException.java
new file mode 100644
index 0000000..4f88927
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/domain/SvyLibException.java
@@ -0,0 +1,267 @@
+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;
+
+/**
+ * 闂嵎寮傚父瀵硅薄 svy_lib_exception
+ * 
+ * @author ruoyi
+ * @date 2023-03-02
+ */
+public class SvyLibException extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /**  鑷ID  */
+    private Long ecid;
+
+    /**  涓婁釜鐗堟湰ID  */
+    @Excel(name = " 涓婁釜鐗堟湰ID ")
+    private Long oldid;
+
+    /**  鏈烘瀯ID  */
+    @Excel(name = " 鏈烘瀯ID ")
+    private String orgid;
+
+    /**  闂閫夐」ID  */
+    @Excel(name = " 闂閫夐」ID ")
+    private Long questionoptionid;
+
+    /**  棰樼洰ID  */
+    @Excel(name = " 棰樼洰ID ")
+    private Long topicid;
+
+    /**  闂嵎ID  */
+    @Excel(name = " 闂嵎ID ")
+    private Long psqid;
+
+    /**  涓旀垨  */
+    @Excel(name = " 涓旀垨 ")
+    private Long orand;
+
+    /**  瑙勫垯楠岃瘉  */
+    @Excel(name = " 瑙勫垯楠岃瘉 ")
+    private String ruleverify;
+
+    /**  瑙勫垯鏉′欢  */
+    @Excel(name = " 瑙勫垯鏉′欢 ")
+    private String ruleconditions;
+
+    /**  瑙勫垯鍐呭  */
+    @Excel(name = " 瑙勫垯鍐呭 ")
+    private String rulecontent;
+
+    /**  缁勭紪鍙�  */
+    @Excel(name = " 缁勭紪鍙� ")
+    private Long groupnumber;
+
+    /**  鐖舵潯浠禝D  */
+    @Excel(name = " 鐖舵潯浠禝D ")
+    private Long grouporand;
+
+    /**  瀛愭潯浠剁紪鍙�  */
+    @Excel(name = " 瀛愭潯浠剁紪鍙� ")
+    private Long number;
+
+    /**  鏄惁璺熻釜  */
+    @Excel(name = " 鏄惁璺熻釜 ")
+    private Long istrack;
+
+    /**  鍒犻櫎鏍囪  */
+    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 setEcid(Long ecid) 
+    {
+        this.ecid = ecid;
+    }
+
+    public Long getEcid() 
+    {
+        return ecid;
+    }
+    public void setOldid(Long oldid) 
+    {
+        this.oldid = oldid;
+    }
+
+    public Long getOldid() 
+    {
+        return oldid;
+    }
+    public void setOrgid(String orgid) 
+    {
+        this.orgid = orgid;
+    }
+
+    public String getOrgid() 
+    {
+        return orgid;
+    }
+    public void setQuestionoptionid(Long questionoptionid) 
+    {
+        this.questionoptionid = questionoptionid;
+    }
+
+    public Long getQuestionoptionid() 
+    {
+        return questionoptionid;
+    }
+    public void setTopicid(Long topicid) 
+    {
+        this.topicid = topicid;
+    }
+
+    public Long getTopicid() 
+    {
+        return topicid;
+    }
+    public void setPsqid(Long psqid) 
+    {
+        this.psqid = psqid;
+    }
+
+    public Long getPsqid() 
+    {
+        return psqid;
+    }
+    public void setOrand(Long orand) 
+    {
+        this.orand = orand;
+    }
+
+    public Long getOrand() 
+    {
+        return orand;
+    }
+    public void setRuleverify(String ruleverify) 
+    {
+        this.ruleverify = ruleverify;
+    }
+
+    public String getRuleverify() 
+    {
+        return ruleverify;
+    }
+    public void setRuleconditions(String ruleconditions) 
+    {
+        this.ruleconditions = ruleconditions;
+    }
+
+    public String getRuleconditions() 
+    {
+        return ruleconditions;
+    }
+    public void setRulecontent(String rulecontent) 
+    {
+        this.rulecontent = rulecontent;
+    }
+
+    public String getRulecontent() 
+    {
+        return rulecontent;
+    }
+    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 setNumber(Long number) 
+    {
+        this.number = number;
+    }
+
+    public Long getNumber() 
+    {
+        return number;
+    }
+    public void setIstrack(Long istrack) 
+    {
+        this.istrack = istrack;
+    }
+
+    public Long getIstrack() 
+    {
+        return istrack;
+    }
+    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("ecid", getEcid())
+            .append("oldid", getOldid())
+            .append("orgid", getOrgid())
+            .append("questionoptionid", getQuestionoptionid())
+            .append("topicid", getTopicid())
+            .append("psqid", getPsqid())
+            .append("orand", getOrand())
+            .append("ruleverify", getRuleverify())
+            .append("ruleconditions", getRuleconditions())
+            .append("rulecontent", getRulecontent())
+            .append("groupnumber", getGroupnumber())
+            .append("grouporand", getGrouporand())
+            .append("number", getNumber())
+            .append("istrack", getIstrack())
+            .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/SvyLibResult.java b/smartor/src/main/java/com/smartor/domain/SvyLibResult.java
new file mode 100644
index 0000000..c030e18
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/domain/SvyLibResult.java
@@ -0,0 +1,169 @@
+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;
+
+/**
+ * 闂嵎缁撴灉瀵硅薄 svy_lib_result
+ * 
+ * @author ruoyi
+ * @date 2023-03-02
+ */
+public class SvyLibResult extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /**  鑷ID  */
+    private Long resultid;
+
+    /**  闂嵎ID  */
+    @Excel(name = " 闂嵎ID ")
+    private Long svyid;
+
+    /**  缁撴灉鍐呭  */
+    @Excel(name = " 缁撴灉鍐呭 ")
+    private String resultcontent;
+
+    /**  鎴栦笖  */
+    @Excel(name = " 鎴栦笖 ")
+    private Long orand;
+
+    /**  鏄惁鏄剧ず寰楀垎  */
+    @Excel(name = " 鏄惁鏄剧ず寰楀垎 ")
+    private Long isshowscore;
+
+    /**  鎺掑簭  */
+    @Excel(name = " 鎺掑簭 ")
+    private Long sort;
+
+    /**  鏈烘瀯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 setResultid(Long resultid) 
+    {
+        this.resultid = resultid;
+    }
+
+    public Long getResultid() 
+    {
+        return resultid;
+    }
+    public void setSvyid(Long svyid) 
+    {
+        this.svyid = svyid;
+    }
+
+    public Long getSvyid() 
+    {
+        return svyid;
+    }
+    public void setResultcontent(String resultcontent) 
+    {
+        this.resultcontent = resultcontent;
+    }
+
+    public String getResultcontent() 
+    {
+        return resultcontent;
+    }
+    public void setOrand(Long orand) 
+    {
+        this.orand = orand;
+    }
+
+    public Long getOrand() 
+    {
+        return orand;
+    }
+    public void setIsshowscore(Long isshowscore) 
+    {
+        this.isshowscore = isshowscore;
+    }
+
+    public Long getIsshowscore() 
+    {
+        return isshowscore;
+    }
+    public void setSort(Long sort) 
+    {
+        this.sort = sort;
+    }
+
+    public Long getSort() 
+    {
+        return sort;
+    }
+    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("resultid", getResultid())
+            .append("svyid", getSvyid())
+            .append("resultcontent", getResultcontent())
+            .append("orand", getOrand())
+            .append("isshowscore", getIsshowscore())
+            .append("sort", getSort())
+            .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/SvyLibTitle.java b/smartor/src/main/java/com/smartor/domain/SvyLibTitle.java
new file mode 100644
index 0000000..e7de39c
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/domain/SvyLibTitle.java
@@ -0,0 +1,268 @@
+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;
+
+/**
+ * 闂嵎瀵硅薄 svy_lib_title
+ * 
+ * @author ruoyi
+ * @date 2023-03-02
+ */
+public class SvyLibTitle extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /**  鑷ID  */
+    private Long svyid;
+
+    /**  闂嵎鍒嗙被ID  */
+    @Excel(name = " 闂嵎鍒嗙被ID ")
+    private Long categoryid;
+
+    /**  闂嵎浠g爜  */
+    @Excel(name = " 闂嵎浠g爜 ")
+    private String svycode;
+
+    /**  闂嵎鍚嶇О  */
+    @Excel(name = " 闂嵎鍚嶇О ")
+    private String svyname;
+
+    /**  鎻忚堪  */
+    @Excel(name = " 鎻忚堪 ")
+    private String description;
+
+    /**  闂嵎浠嬬粛  */
+    @Excel(name = " 闂嵎浠嬬粛 ")
+    private String introduce;
+
+    /**  闂嵎鎻愮ず  */
+    @Excel(name = " 闂嵎鎻愮ず ")
+    private String submitprompt;
+
+    /**  妯℃澘ID  */
+    @Excel(name = " 妯℃澘ID ")
+    private Long templateid;
+
+    /**  鐗堟湰  */
+    @Excel(name = " 鐗堟湰 ")
+    private BigDecimal version;
+
+    /**  涓績搴撲唬鐮�  */
+    @Excel(name = " 涓績搴撲唬鐮� ")
+    private String centerlibrarycode;
+
+    /**  涓績搴揑D  */
+    @Excel(name = " 涓績搴揑D ")
+    private Long centerlibraryid;
+
+    /**  鏄惁鏈湴  */
+    @Excel(name = " 鏄惁鏈湴 ")
+    private Long islocal;
+
+    /**  鏄惁鍚敤  */
+    @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;
+
+    public void setSvyid(Long svyid) 
+    {
+        this.svyid = svyid;
+    }
+
+    public Long getSvyid() 
+    {
+        return svyid;
+    }
+    public void setCategoryid(Long categoryid) 
+    {
+        this.categoryid = categoryid;
+    }
+
+    public Long getCategoryid() 
+    {
+        return categoryid;
+    }
+    public void setSvycode(String svycode) 
+    {
+        this.svycode = svycode;
+    }
+
+    public String getSvycode() 
+    {
+        return svycode;
+    }
+    public void setSvyname(String svyname) 
+    {
+        this.svyname = svyname;
+    }
+
+    public String getSvyname() 
+    {
+        return svyname;
+    }
+    public void setDescription(String description) 
+    {
+        this.description = description;
+    }
+
+    public String getDescription() 
+    {
+        return description;
+    }
+    public void setIntroduce(String introduce) 
+    {
+        this.introduce = introduce;
+    }
+
+    public String getIntroduce() 
+    {
+        return introduce;
+    }
+    public void setSubmitprompt(String submitprompt) 
+    {
+        this.submitprompt = submitprompt;
+    }
+
+    public String getSubmitprompt() 
+    {
+        return submitprompt;
+    }
+    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 setCenterlibrarycode(String centerlibrarycode) 
+    {
+        this.centerlibrarycode = centerlibrarycode;
+    }
+
+    public String getCenterlibrarycode() 
+    {
+        return centerlibrarycode;
+    }
+    public void setCenterlibraryid(Long centerlibraryid) 
+    {
+        this.centerlibraryid = centerlibraryid;
+    }
+
+    public Long getCenterlibraryid() 
+    {
+        return centerlibraryid;
+    }
+    public void setIslocal(Long islocal) 
+    {
+        this.islocal = islocal;
+    }
+
+    public Long getIslocal() 
+    {
+        return islocal;
+    }
+    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;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("svyid", getSvyid())
+            .append("categoryid", getCategoryid())
+            .append("svycode", getSvycode())
+            .append("svyname", getSvyname())
+            .append("description", getDescription())
+            .append("introduce", getIntroduce())
+            .append("submitprompt", getSubmitprompt())
+            .append("templateid", getTemplateid())
+            .append("version", getVersion())
+            .append("centerlibrarycode", getCenterlibrarycode())
+            .append("centerlibraryid", getCenterlibraryid())
+            .append("islocal", getIslocal())
+            .append("isenable", getIsenable())
+            .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/SvyLibTopic.java b/smartor/src/main/java/com/smartor/domain/SvyLibTopic.java
new file mode 100644
index 0000000..523bf02
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/domain/SvyLibTopic.java
@@ -0,0 +1,211 @@
+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;
+
+/**
+ * 闂嵎棰樼洰瀵硅薄 svy_lib_topic
+ * 
+ * @author ruoyi
+ * @date 2023-03-02
+ */
+public class SvyLibTopic extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /**  鑷ID  */
+    private Long topicid;
+
+    /**  鑰佺増鏈琁D  */
+    @Excel(name = " 鑰佺増鏈琁D ")
+    private Long oldid;
+
+    /**  闂嵎ID  */
+    @Excel(name = " 闂嵎ID ")
+    private Long svyid;
+
+    /**  棰樼洰绫诲瀷;鏋氫妇 1.鍗曢�� 2澶氶�� 3濉┖  */
+    @Excel(name = " 棰樼洰绫诲瀷;鏋氫妇 1.鍗曢�� 2澶氶�� 3濉┖ ")
+    private Long topictype;
+
+    /**  棰樼洰Code  */
+    @Excel(name = " 棰樼洰Code ")
+    private String topiccode;
+
+    /**  棰樼洰  */
+    @Excel(name = " 棰樼洰 ")
+    private String topic;
+
+    /**  鎺掑簭  */
+    @Excel(name = " 鎺掑簭 ")
+    private Long sort;
+
+    /**  鏄惁蹇呭~  */
+    @Excel(name = " 鏄惁蹇呭~ ")
+    private Long ismandatory;
+
+    /**  鏄惁闅愯棌  */
+    @Excel(name = " 鏄惁闅愯棌 ")
+    private Long ishide;
+
+    /**  鍒犻櫎鏍囪  */
+    private String delFlag;
+
+    /**  鏈烘瀯ID  */
+    @Excel(name = " 鏈烘瀯ID ")
+    private String orgid;
+
+    /**  涓婁紶鏍囪  */
+    @Excel(name = " 涓婁紶鏍囪 ")
+    private Long isupload;
+
+    /**  涓婁紶鏃堕棿  */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = " 涓婁紶鏃堕棿 ", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date uploadTime;
+
+    public void setTopicid(Long topicid) 
+    {
+        this.topicid = topicid;
+    }
+
+    public Long getTopicid() 
+    {
+        return topicid;
+    }
+    public void setOldid(Long oldid) 
+    {
+        this.oldid = oldid;
+    }
+
+    public Long getOldid() 
+    {
+        return oldid;
+    }
+    public void setSvyid(Long svyid) 
+    {
+        this.svyid = svyid;
+    }
+
+    public Long getSvyid() 
+    {
+        return svyid;
+    }
+    public void setTopictype(Long topictype) 
+    {
+        this.topictype = topictype;
+    }
+
+    public Long getTopictype() 
+    {
+        return topictype;
+    }
+    public void setTopiccode(String topiccode) 
+    {
+        this.topiccode = topiccode;
+    }
+
+    public String getTopiccode() 
+    {
+        return topiccode;
+    }
+    public void setTopic(String topic) 
+    {
+        this.topic = topic;
+    }
+
+    public String getTopic() 
+    {
+        return topic;
+    }
+    public void setSort(Long sort) 
+    {
+        this.sort = sort;
+    }
+
+    public Long getSort() 
+    {
+        return sort;
+    }
+    public void setIsmandatory(Long ismandatory) 
+    {
+        this.ismandatory = ismandatory;
+    }
+
+    public Long getIsmandatory() 
+    {
+        return ismandatory;
+    }
+    public void setIshide(Long ishide) 
+    {
+        this.ishide = ishide;
+    }
+
+    public Long getIshide() 
+    {
+        return ishide;
+    }
+    public void setDelFlag(String delFlag) 
+    {
+        this.delFlag = delFlag;
+    }
+
+    public String getDelFlag() 
+    {
+        return delFlag;
+    }
+    public void setOrgid(String orgid) 
+    {
+        this.orgid = orgid;
+    }
+
+    public String getOrgid() 
+    {
+        return orgid;
+    }
+    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("topicid", getTopicid())
+            .append("oldid", getOldid())
+            .append("svyid", getSvyid())
+            .append("topictype", getTopictype())
+            .append("topiccode", getTopiccode())
+            .append("topic", getTopic())
+            .append("sort", getSort())
+            .append("ismandatory", getIsmandatory())
+            .append("ishide", getIshide())
+            .append("delFlag", getDelFlag())
+            .append("orgid", getOrgid())
+            .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/SvyLibTopicoption.java b/smartor/src/main/java/com/smartor/domain/SvyLibTopicoption.java
new file mode 100644
index 0000000..04a5fec
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/domain/SvyLibTopicoption.java
@@ -0,0 +1,407 @@
+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;
+
+/**
+ * 闂嵎闂閫夐」瀵硅薄 svy_lib_topicoption
+ * 
+ * @author ruoyi
+ * @date 2023-03-02
+ */
+public class SvyLibTopicoption extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /**  鑷ID  */
+    private Long optionid;
+
+    /**  棰樼洰ID  */
+    @Excel(name = " 棰樼洰ID ")
+    private Long topicid;
+
+    /**  闂嵎ID  */
+    @Excel(name = " 闂嵎ID ")
+    private Long svyid;
+
+    /**  棰樼洰绫诲瀷  */
+    @Excel(name = " 棰樼洰绫诲瀷 ")
+    private Long topictype;
+
+    /**  閫夐」Code  */
+    @Excel(name = " 閫夐」Code ")
+    private String optioncode;
+
+    /**  閫夐」鍐呭  */
+    @Excel(name = " 閫夐」鍐呭 ")
+    private String optioncontent;
+
+    /**  鏄惁瀛樺湪鏄庣粏  */
+    @Excel(name = " 鏄惁瀛樺湪鏄庣粏 ")
+    private Long isexistdetail;
+
+    /**  鏄庣粏鏄惁蹇呭~  */
+    @Excel(name = " 鏄庣粏鏄惁蹇呭~ ")
+    private Long detailismandatory;
+
+    /**  鏄惁寮傚父椤圭洰  */
+    @Excel(name = " 鏄惁寮傚父椤圭洰 ")
+    private Long isexceptionitem;
+
+    /**  鏄惁璺熻繘  */
+    @Excel(name = " 鏄惁璺熻繘 ")
+    private Long istrack;
+
+    /**  鍒嗘暟  */
+    @Excel(name = " 鍒嗘暟 ")
+    private Long score;
+
+    /**  鎻愮ず  */
+    @Excel(name = " 鎻愮ず ")
+    private String prompt;
+
+    /**  璺宠浆  */
+    @Excel(name = " 璺宠浆 ")
+    private String jump;
+
+    /**  鐖堕�夐」ID  */
+    @Excel(name = " 鐖堕�夐」ID ")
+    private Long parentoptionid;
+
+    /**  鏄惁浜掓枼  */
+    @Excel(name = " 鏄惁浜掓枼 ")
+    private Long ismutex;
+
+    /**  楠岃瘉瑙勫垯  */
+    @Excel(name = " 楠岃瘉瑙勫垯 ")
+    private String verifyrule;
+
+    /**  鎺掑簭  */
+    @Excel(name = " 鎺掑簭 ")
+    private Long sort;
+
+    /**  楠岃瘉绫诲瀷;0.涓嶉獙璇� 1.鏁存暟 2.灏忔暟 3.鎵嬫満鍙� 4.韬唤璇� 5.鏃ユ湡  */
+    @Excel(name = " 楠岃瘉绫诲瀷;0.涓嶉獙璇� 1.鏁存暟 2.灏忔暟 3.鎵嬫満鍙� 4.韬唤璇� 5.鏃ユ湡 ")
+    private Long verificationtype;
+
+    /**  鏄惁闄愬埗鑼冨洿  */
+    @Excel(name = " 鏄惁闄愬埗鑼冨洿 ")
+    private Long isrange;
+
+    /**  鏈�灏忚寖鍥�  */
+    @Excel(name = " 鏈�灏忚寖鍥� ")
+    private String minrange;
+
+    /**  鏈�澶ц寖鍥�  */
+    @Excel(name = " 鏈�澶ц寖鍥� ")
+    private String maxrange;
+
+    /**  鑼冨洿闀垮害;鐢ㄤ簬灏忔暟淇濈暀浣嶆暟  */
+    @Excel(name = " 鑼冨洿闀垮害;鐢ㄤ簬灏忔暟淇濈暀浣嶆暟 ")
+    private Long rangelength;
+
+    /**  鏈烘瀯ID  */
+    @Excel(name = " 鏈烘瀯ID ")
+    private String orgid;
+
+    /**  涓婁竴鐗堟湰ID  */
+    @Excel(name = " 涓婁竴鐗堟湰ID ")
+    private Long oldid;
+
+    /**  鍒犻櫎鏍囪  */
+    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 setOptionid(Long optionid) 
+    {
+        this.optionid = optionid;
+    }
+
+    public Long getOptionid() 
+    {
+        return optionid;
+    }
+    public void setTopicid(Long topicid) 
+    {
+        this.topicid = topicid;
+    }
+
+    public Long getTopicid() 
+    {
+        return topicid;
+    }
+    public void setSvyid(Long svyid) 
+    {
+        this.svyid = svyid;
+    }
+
+    public Long getSvyid() 
+    {
+        return svyid;
+    }
+    public void setTopictype(Long topictype) 
+    {
+        this.topictype = topictype;
+    }
+
+    public Long getTopictype() 
+    {
+        return topictype;
+    }
+    public void setOptioncode(String optioncode) 
+    {
+        this.optioncode = optioncode;
+    }
+
+    public String getOptioncode() 
+    {
+        return optioncode;
+    }
+    public void setOptioncontent(String optioncontent) 
+    {
+        this.optioncontent = optioncontent;
+    }
+
+    public String getOptioncontent() 
+    {
+        return optioncontent;
+    }
+    public void setIsexistdetail(Long isexistdetail) 
+    {
+        this.isexistdetail = isexistdetail;
+    }
+
+    public Long getIsexistdetail() 
+    {
+        return isexistdetail;
+    }
+    public void setDetailismandatory(Long detailismandatory) 
+    {
+        this.detailismandatory = detailismandatory;
+    }
+
+    public Long getDetailismandatory() 
+    {
+        return detailismandatory;
+    }
+    public void setIsexceptionitem(Long isexceptionitem) 
+    {
+        this.isexceptionitem = isexceptionitem;
+    }
+
+    public Long getIsexceptionitem() 
+    {
+        return isexceptionitem;
+    }
+    public void setIstrack(Long istrack) 
+    {
+        this.istrack = istrack;
+    }
+
+    public Long getIstrack() 
+    {
+        return istrack;
+    }
+    public void setScore(Long score) 
+    {
+        this.score = score;
+    }
+
+    public Long getScore() 
+    {
+        return score;
+    }
+    public void setPrompt(String prompt) 
+    {
+        this.prompt = prompt;
+    }
+
+    public String getPrompt() 
+    {
+        return prompt;
+    }
+    public void setJump(String jump) 
+    {
+        this.jump = jump;
+    }
+
+    public String getJump() 
+    {
+        return jump;
+    }
+    public void setParentoptionid(Long parentoptionid) 
+    {
+        this.parentoptionid = parentoptionid;
+    }
+
+    public Long getParentoptionid() 
+    {
+        return parentoptionid;
+    }
+    public void setIsmutex(Long ismutex) 
+    {
+        this.ismutex = ismutex;
+    }
+
+    public Long getIsmutex() 
+    {
+        return ismutex;
+    }
+    public void setVerifyrule(String verifyrule) 
+    {
+        this.verifyrule = verifyrule;
+    }
+
+    public String getVerifyrule() 
+    {
+        return verifyrule;
+    }
+    public void setSort(Long sort) 
+    {
+        this.sort = sort;
+    }
+
+    public Long getSort() 
+    {
+        return sort;
+    }
+    public void setVerificationtype(Long verificationtype) 
+    {
+        this.verificationtype = verificationtype;
+    }
+
+    public Long getVerificationtype() 
+    {
+        return verificationtype;
+    }
+    public void setIsrange(Long isrange) 
+    {
+        this.isrange = isrange;
+    }
+
+    public Long getIsrange() 
+    {
+        return isrange;
+    }
+    public void setMinrange(String minrange) 
+    {
+        this.minrange = minrange;
+    }
+
+    public String getMinrange() 
+    {
+        return minrange;
+    }
+    public void setMaxrange(String maxrange) 
+    {
+        this.maxrange = maxrange;
+    }
+
+    public String getMaxrange() 
+    {
+        return maxrange;
+    }
+    public void setRangelength(Long rangelength) 
+    {
+        this.rangelength = rangelength;
+    }
+
+    public Long getRangelength() 
+    {
+        return rangelength;
+    }
+    public void setOrgid(String orgid) 
+    {
+        this.orgid = orgid;
+    }
+
+    public String getOrgid() 
+    {
+        return orgid;
+    }
+    public void setOldid(Long oldid) 
+    {
+        this.oldid = oldid;
+    }
+
+    public Long getOldid() 
+    {
+        return oldid;
+    }
+    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("optionid", getOptionid())
+            .append("topicid", getTopicid())
+            .append("svyid", getSvyid())
+            .append("topictype", getTopictype())
+            .append("optioncode", getOptioncode())
+            .append("optioncontent", getOptioncontent())
+            .append("isexistdetail", getIsexistdetail())
+            .append("detailismandatory", getDetailismandatory())
+            .append("isexceptionitem", getIsexceptionitem())
+            .append("istrack", getIstrack())
+            .append("score", getScore())
+            .append("prompt", getPrompt())
+            .append("jump", getJump())
+            .append("parentoptionid", getParentoptionid())
+            .append("ismutex", getIsmutex())
+            .append("verifyrule", getVerifyrule())
+            .append("sort", getSort())
+            .append("verificationtype", getVerificationtype())
+            .append("isrange", getIsrange())
+            .append("minrange", getMinrange())
+            .append("maxrange", getMaxrange())
+            .append("rangelength", getRangelength())
+            .append("orgid", getOrgid())
+            .append("oldid", getOldid())
+            .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/mapper/PatArchiveMapper.java b/smartor/src/main/java/com/smartor/mapper/PatArchiveMapper.java
index e8eada3..e204bad 100644
--- a/smartor/src/main/java/com/smartor/mapper/PatArchiveMapper.java
+++ b/smartor/src/main/java/com/smartor/mapper/PatArchiveMapper.java
@@ -2,23 +2,22 @@
 
 import java.util.List;
 import com.smartor.domain.PatArchive;
-import com.smartor.domain.PatMedOuthosp;
 
 /**
  * 鎮h�呮。妗圡apper鎺ュ彛
  * 
- * @author ruoyi
- * @date 2023-02-22
+ * @author smartor
+ * @date 2023-03-01
  */
 public interface PatArchiveMapper 
 {
     /**
      * 鏌ヨ鎮h�呮。妗�
      * 
-     * @param PatID 鎮h�呮。妗堜富閿�
+     * @param patid 鎮h�呮。妗堜富閿�
      * @return 鎮h�呮。妗�
      */
-    public PatArchive selectPatArchiveByPatID(Long PatID);
+    public PatArchive selectPatArchiveByPatid(Long patid);
 
     /**
      * 鏌ヨ鎮h�呮。妗堝垪琛�
@@ -47,41 +46,16 @@
     /**
      * 鍒犻櫎鎮h�呮。妗�
      * 
-     * @param PatID 鎮h�呮。妗堜富閿�
+     * @param patid 鎮h�呮。妗堜富閿�
      * @return 缁撴灉
      */
-    public int deletePatArchiveByPatID(Long PatID);
+    public int deletePatArchiveByPatid(Long patid);
 
     /**
      * 鎵归噺鍒犻櫎鎮h�呮。妗�
      * 
-     * @param PatIDs 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
+     * @param patids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
      * @return 缁撴灉
      */
-    public int deletePatArchiveByPatIDs(Long[] PatIDs);
-
-    /**
-     * 鎵归噺鍒犻櫎鎮h�呴棬璇婅褰�
-     * 
-     * @param PatIDs 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
-     * @return 缁撴灉
-     */
-    public int deletePatMedOuthospByPatIDs(Long[] PatIDs);
-    
-    /**
-     * 鎵归噺鏂板鎮h�呴棬璇婅褰�
-     * 
-     * @param patMedOuthospList 鎮h�呴棬璇婅褰曞垪琛�
-     * @return 缁撴灉
-     */
-    public int batchPatMedOuthosp(List<PatMedOuthosp> patMedOuthospList);
-    
-
-    /**
-     * 閫氳繃鎮h�呮。妗堜富閿垹闄ゆ偅鑰呴棬璇婅褰曚俊鎭�
-     * 
-     * @param PatID 鎮h�呮。妗圛D
-     * @return 缁撴灉
-     */
-    public int deletePatMedOuthospByPatID(Long PatID);
+    public int deletePatArchiveByPatids(Long[] patids);
 }
diff --git a/smartor/src/main/java/com/smartor/mapper/SvyCategoryMapper.java b/smartor/src/main/java/com/smartor/mapper/SvyCategoryMapper.java
new file mode 100644
index 0000000..6a06d97
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/mapper/SvyCategoryMapper.java
@@ -0,0 +1,61 @@
+package com.smartor.mapper;
+
+import java.util.List;
+import com.smartor.domain.SvyCategory;
+
+/**
+ * 闂嵎鍒嗙被Mapper鎺ュ彛
+ * 
+ * @author ruoyi
+ * @date 2023-03-02
+ */
+public interface SvyCategoryMapper 
+{
+    /**
+     * 鏌ヨ闂嵎鍒嗙被
+     * 
+     * @param id 闂嵎鍒嗙被涓婚敭
+     * @return 闂嵎鍒嗙被
+     */
+    public SvyCategory selectSvyCategoryById(Long id);
+
+    /**
+     * 鏌ヨ闂嵎鍒嗙被鍒楄〃
+     * 
+     * @param svyCategory 闂嵎鍒嗙被
+     * @return 闂嵎鍒嗙被闆嗗悎
+     */
+    public List<SvyCategory> selectSvyCategoryList(SvyCategory svyCategory);
+
+    /**
+     * 鏂板闂嵎鍒嗙被
+     * 
+     * @param svyCategory 闂嵎鍒嗙被
+     * @return 缁撴灉
+     */
+    public int insertSvyCategory(SvyCategory svyCategory);
+
+    /**
+     * 淇敼闂嵎鍒嗙被
+     * 
+     * @param svyCategory 闂嵎鍒嗙被
+     * @return 缁撴灉
+     */
+    public int updateSvyCategory(SvyCategory svyCategory);
+
+    /**
+     * 鍒犻櫎闂嵎鍒嗙被
+     * 
+     * @param id 闂嵎鍒嗙被涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteSvyCategoryById(Long id);
+
+    /**
+     * 鎵归噺鍒犻櫎闂嵎鍒嗙被
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteSvyCategoryByIds(Long[] ids);
+}
diff --git a/smartor/src/main/java/com/smartor/mapper/SvyLibExceptionMapper.java b/smartor/src/main/java/com/smartor/mapper/SvyLibExceptionMapper.java
new file mode 100644
index 0000000..b51cc37
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/mapper/SvyLibExceptionMapper.java
@@ -0,0 +1,61 @@
+package com.smartor.mapper;
+
+import java.util.List;
+import com.smartor.domain.SvyLibException;
+
+/**
+ * 闂嵎寮傚父Mapper鎺ュ彛
+ * 
+ * @author ruoyi
+ * @date 2023-03-02
+ */
+public interface SvyLibExceptionMapper 
+{
+    /**
+     * 鏌ヨ闂嵎寮傚父
+     * 
+     * @param ecid 闂嵎寮傚父涓婚敭
+     * @return 闂嵎寮傚父
+     */
+    public SvyLibException selectSvyLibExceptionByEcid(Long ecid);
+
+    /**
+     * 鏌ヨ闂嵎寮傚父鍒楄〃
+     * 
+     * @param svyLibException 闂嵎寮傚父
+     * @return 闂嵎寮傚父闆嗗悎
+     */
+    public List<SvyLibException> selectSvyLibExceptionList(SvyLibException svyLibException);
+
+    /**
+     * 鏂板闂嵎寮傚父
+     * 
+     * @param svyLibException 闂嵎寮傚父
+     * @return 缁撴灉
+     */
+    public int insertSvyLibException(SvyLibException svyLibException);
+
+    /**
+     * 淇敼闂嵎寮傚父
+     * 
+     * @param svyLibException 闂嵎寮傚父
+     * @return 缁撴灉
+     */
+    public int updateSvyLibException(SvyLibException svyLibException);
+
+    /**
+     * 鍒犻櫎闂嵎寮傚父
+     * 
+     * @param ecid 闂嵎寮傚父涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteSvyLibExceptionByEcid(Long ecid);
+
+    /**
+     * 鎵归噺鍒犻櫎闂嵎寮傚父
+     * 
+     * @param ecids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteSvyLibExceptionByEcids(Long[] ecids);
+}
diff --git a/smartor/src/main/java/com/smartor/mapper/SvyLibResultMapper.java b/smartor/src/main/java/com/smartor/mapper/SvyLibResultMapper.java
new file mode 100644
index 0000000..0dab4ed
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/mapper/SvyLibResultMapper.java
@@ -0,0 +1,61 @@
+package com.smartor.mapper;
+
+import java.util.List;
+import com.smartor.domain.SvyLibResult;
+
+/**
+ * 闂嵎缁撴灉Mapper鎺ュ彛
+ * 
+ * @author ruoyi
+ * @date 2023-03-02
+ */
+public interface SvyLibResultMapper 
+{
+    /**
+     * 鏌ヨ闂嵎缁撴灉
+     * 
+     * @param resultid 闂嵎缁撴灉涓婚敭
+     * @return 闂嵎缁撴灉
+     */
+    public SvyLibResult selectSvyLibResultByResultid(Long resultid);
+
+    /**
+     * 鏌ヨ闂嵎缁撴灉鍒楄〃
+     * 
+     * @param svyLibResult 闂嵎缁撴灉
+     * @return 闂嵎缁撴灉闆嗗悎
+     */
+    public List<SvyLibResult> selectSvyLibResultList(SvyLibResult svyLibResult);
+
+    /**
+     * 鏂板闂嵎缁撴灉
+     * 
+     * @param svyLibResult 闂嵎缁撴灉
+     * @return 缁撴灉
+     */
+    public int insertSvyLibResult(SvyLibResult svyLibResult);
+
+    /**
+     * 淇敼闂嵎缁撴灉
+     * 
+     * @param svyLibResult 闂嵎缁撴灉
+     * @return 缁撴灉
+     */
+    public int updateSvyLibResult(SvyLibResult svyLibResult);
+
+    /**
+     * 鍒犻櫎闂嵎缁撴灉
+     * 
+     * @param resultid 闂嵎缁撴灉涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteSvyLibResultByResultid(Long resultid);
+
+    /**
+     * 鎵归噺鍒犻櫎闂嵎缁撴灉
+     * 
+     * @param resultids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteSvyLibResultByResultids(Long[] resultids);
+}
diff --git a/smartor/src/main/java/com/smartor/mapper/SvyLibTitleMapper.java b/smartor/src/main/java/com/smartor/mapper/SvyLibTitleMapper.java
new file mode 100644
index 0000000..bc0f712
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/mapper/SvyLibTitleMapper.java
@@ -0,0 +1,61 @@
+package com.smartor.mapper;
+
+import java.util.List;
+import com.smartor.domain.SvyLibTitle;
+
+/**
+ * 闂嵎Mapper鎺ュ彛
+ * 
+ * @author ruoyi
+ * @date 2023-03-02
+ */
+public interface SvyLibTitleMapper 
+{
+    /**
+     * 鏌ヨ闂嵎
+     * 
+     * @param svyid 闂嵎涓婚敭
+     * @return 闂嵎
+     */
+    public SvyLibTitle selectSvyLibTitleBySvyid(Long svyid);
+
+    /**
+     * 鏌ヨ闂嵎鍒楄〃
+     * 
+     * @param svyLibTitle 闂嵎
+     * @return 闂嵎闆嗗悎
+     */
+    public List<SvyLibTitle> selectSvyLibTitleList(SvyLibTitle svyLibTitle);
+
+    /**
+     * 鏂板闂嵎
+     * 
+     * @param svyLibTitle 闂嵎
+     * @return 缁撴灉
+     */
+    public int insertSvyLibTitle(SvyLibTitle svyLibTitle);
+
+    /**
+     * 淇敼闂嵎
+     * 
+     * @param svyLibTitle 闂嵎
+     * @return 缁撴灉
+     */
+    public int updateSvyLibTitle(SvyLibTitle svyLibTitle);
+
+    /**
+     * 鍒犻櫎闂嵎
+     * 
+     * @param svyid 闂嵎涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteSvyLibTitleBySvyid(Long svyid);
+
+    /**
+     * 鎵归噺鍒犻櫎闂嵎
+     * 
+     * @param svyids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteSvyLibTitleBySvyids(Long[] svyids);
+}
diff --git a/smartor/src/main/java/com/smartor/mapper/SvyLibTopicMapper.java b/smartor/src/main/java/com/smartor/mapper/SvyLibTopicMapper.java
new file mode 100644
index 0000000..3c3c073
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/mapper/SvyLibTopicMapper.java
@@ -0,0 +1,61 @@
+package com.smartor.mapper;
+
+import java.util.List;
+import com.smartor.domain.SvyLibTopic;
+
+/**
+ * 闂嵎棰樼洰Mapper鎺ュ彛
+ * 
+ * @author ruoyi
+ * @date 2023-03-02
+ */
+public interface SvyLibTopicMapper 
+{
+    /**
+     * 鏌ヨ闂嵎棰樼洰
+     * 
+     * @param topicid 闂嵎棰樼洰涓婚敭
+     * @return 闂嵎棰樼洰
+     */
+    public SvyLibTopic selectSvyLibTopicByTopicid(Long topicid);
+
+    /**
+     * 鏌ヨ闂嵎棰樼洰鍒楄〃
+     * 
+     * @param svyLibTopic 闂嵎棰樼洰
+     * @return 闂嵎棰樼洰闆嗗悎
+     */
+    public List<SvyLibTopic> selectSvyLibTopicList(SvyLibTopic svyLibTopic);
+
+    /**
+     * 鏂板闂嵎棰樼洰
+     * 
+     * @param svyLibTopic 闂嵎棰樼洰
+     * @return 缁撴灉
+     */
+    public int insertSvyLibTopic(SvyLibTopic svyLibTopic);
+
+    /**
+     * 淇敼闂嵎棰樼洰
+     * 
+     * @param svyLibTopic 闂嵎棰樼洰
+     * @return 缁撴灉
+     */
+    public int updateSvyLibTopic(SvyLibTopic svyLibTopic);
+
+    /**
+     * 鍒犻櫎闂嵎棰樼洰
+     * 
+     * @param topicid 闂嵎棰樼洰涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteSvyLibTopicByTopicid(Long topicid);
+
+    /**
+     * 鎵归噺鍒犻櫎闂嵎棰樼洰
+     * 
+     * @param topicids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteSvyLibTopicByTopicids(Long[] topicids);
+}
diff --git a/smartor/src/main/java/com/smartor/mapper/SvyLibTopicoptionMapper.java b/smartor/src/main/java/com/smartor/mapper/SvyLibTopicoptionMapper.java
new file mode 100644
index 0000000..4b9252f
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/mapper/SvyLibTopicoptionMapper.java
@@ -0,0 +1,61 @@
+package com.smartor.mapper;
+
+import java.util.List;
+import com.smartor.domain.SvyLibTopicoption;
+
+/**
+ * 闂嵎闂閫夐」Mapper鎺ュ彛
+ * 
+ * @author ruoyi
+ * @date 2023-03-02
+ */
+public interface SvyLibTopicoptionMapper 
+{
+    /**
+     * 鏌ヨ闂嵎闂閫夐」
+     * 
+     * @param optionid 闂嵎闂閫夐」涓婚敭
+     * @return 闂嵎闂閫夐」
+     */
+    public SvyLibTopicoption selectSvyLibTopicoptionByOptionid(Long optionid);
+
+    /**
+     * 鏌ヨ闂嵎闂閫夐」鍒楄〃
+     * 
+     * @param svyLibTopicoption 闂嵎闂閫夐」
+     * @return 闂嵎闂閫夐」闆嗗悎
+     */
+    public List<SvyLibTopicoption> selectSvyLibTopicoptionList(SvyLibTopicoption svyLibTopicoption);
+
+    /**
+     * 鏂板闂嵎闂閫夐」
+     * 
+     * @param svyLibTopicoption 闂嵎闂閫夐」
+     * @return 缁撴灉
+     */
+    public int insertSvyLibTopicoption(SvyLibTopicoption svyLibTopicoption);
+
+    /**
+     * 淇敼闂嵎闂閫夐」
+     * 
+     * @param svyLibTopicoption 闂嵎闂閫夐」
+     * @return 缁撴灉
+     */
+    public int updateSvyLibTopicoption(SvyLibTopicoption svyLibTopicoption);
+
+    /**
+     * 鍒犻櫎闂嵎闂閫夐」
+     * 
+     * @param optionid 闂嵎闂閫夐」涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteSvyLibTopicoptionByOptionid(Long optionid);
+
+    /**
+     * 鎵归噺鍒犻櫎闂嵎闂閫夐」
+     * 
+     * @param optionids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteSvyLibTopicoptionByOptionids(Long[] optionids);
+}
diff --git a/smartor/src/main/java/com/smartor/service/IPatArchiveService.java b/smartor/src/main/java/com/smartor/service/IPatArchiveService.java
index dbcb798..6b77d52 100644
--- a/smartor/src/main/java/com/smartor/service/IPatArchiveService.java
+++ b/smartor/src/main/java/com/smartor/service/IPatArchiveService.java
@@ -6,18 +6,18 @@
 /**
  * 鎮h�呮。妗圫ervice鎺ュ彛
  * 
- * @author ruoyi
- * @date 2023-02-22
+ * @author smartor
+ * @date 2023-03-01
  */
 public interface IPatArchiveService 
 {
     /**
      * 鏌ヨ鎮h�呮。妗�
      * 
-     * @param PatID 鎮h�呮。妗堜富閿�
+     * @param patid 鎮h�呮。妗堜富閿�
      * @return 鎮h�呮。妗�
      */
-    public PatArchive selectPatArchiveByPatID(Long PatID);
+    public PatArchive selectPatArchiveByPatid(Long patid);
 
     /**
      * 鏌ヨ鎮h�呮。妗堝垪琛�
@@ -46,16 +46,16 @@
     /**
      * 鎵归噺鍒犻櫎鎮h�呮。妗�
      * 
-     * @param PatIDs 闇�瑕佸垹闄ょ殑鎮h�呮。妗堜富閿泦鍚�
+     * @param patids 闇�瑕佸垹闄ょ殑鎮h�呮。妗堜富閿泦鍚�
      * @return 缁撴灉
      */
-    public int deletePatArchiveByPatIDs(Long[] PatIDs);
+    public int deletePatArchiveByPatids(Long[] patids);
 
     /**
      * 鍒犻櫎鎮h�呮。妗堜俊鎭�
      * 
-     * @param PatID 鎮h�呮。妗堜富閿�
+     * @param patid 鎮h�呮。妗堜富閿�
      * @return 缁撴灉
      */
-    public int deletePatArchiveByPatID(Long PatID);
+    public int deletePatArchiveByPatid(Long patid);
 }
diff --git a/smartor/src/main/java/com/smartor/service/ISvyCategoryService.java b/smartor/src/main/java/com/smartor/service/ISvyCategoryService.java
new file mode 100644
index 0000000..e6995fd
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/service/ISvyCategoryService.java
@@ -0,0 +1,61 @@
+package com.smartor.service;
+
+import java.util.List;
+import com.smartor.domain.SvyCategory;
+
+/**
+ * 闂嵎鍒嗙被Service鎺ュ彛
+ * 
+ * @author ruoyi
+ * @date 2023-03-02
+ */
+public interface ISvyCategoryService 
+{
+    /**
+     * 鏌ヨ闂嵎鍒嗙被
+     * 
+     * @param id 闂嵎鍒嗙被涓婚敭
+     * @return 闂嵎鍒嗙被
+     */
+    public SvyCategory selectSvyCategoryById(Long id);
+
+    /**
+     * 鏌ヨ闂嵎鍒嗙被鍒楄〃
+     * 
+     * @param svyCategory 闂嵎鍒嗙被
+     * @return 闂嵎鍒嗙被闆嗗悎
+     */
+    public List<SvyCategory> selectSvyCategoryList(SvyCategory svyCategory);
+
+    /**
+     * 鏂板闂嵎鍒嗙被
+     * 
+     * @param svyCategory 闂嵎鍒嗙被
+     * @return 缁撴灉
+     */
+    public int insertSvyCategory(SvyCategory svyCategory);
+
+    /**
+     * 淇敼闂嵎鍒嗙被
+     * 
+     * @param svyCategory 闂嵎鍒嗙被
+     * @return 缁撴灉
+     */
+    public int updateSvyCategory(SvyCategory svyCategory);
+
+    /**
+     * 鎵归噺鍒犻櫎闂嵎鍒嗙被
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑闂嵎鍒嗙被涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteSvyCategoryByIds(Long[] ids);
+
+    /**
+     * 鍒犻櫎闂嵎鍒嗙被淇℃伅
+     * 
+     * @param id 闂嵎鍒嗙被涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteSvyCategoryById(Long id);
+}
diff --git a/smartor/src/main/java/com/smartor/service/ISvyLibExceptionService.java b/smartor/src/main/java/com/smartor/service/ISvyLibExceptionService.java
new file mode 100644
index 0000000..607a076
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/service/ISvyLibExceptionService.java
@@ -0,0 +1,61 @@
+package com.smartor.service;
+
+import java.util.List;
+import com.smartor.domain.SvyLibException;
+
+/**
+ * 闂嵎寮傚父Service鎺ュ彛
+ * 
+ * @author ruoyi
+ * @date 2023-03-02
+ */
+public interface ISvyLibExceptionService 
+{
+    /**
+     * 鏌ヨ闂嵎寮傚父
+     * 
+     * @param ecid 闂嵎寮傚父涓婚敭
+     * @return 闂嵎寮傚父
+     */
+    public SvyLibException selectSvyLibExceptionByEcid(Long ecid);
+
+    /**
+     * 鏌ヨ闂嵎寮傚父鍒楄〃
+     * 
+     * @param svyLibException 闂嵎寮傚父
+     * @return 闂嵎寮傚父闆嗗悎
+     */
+    public List<SvyLibException> selectSvyLibExceptionList(SvyLibException svyLibException);
+
+    /**
+     * 鏂板闂嵎寮傚父
+     * 
+     * @param svyLibException 闂嵎寮傚父
+     * @return 缁撴灉
+     */
+    public int insertSvyLibException(SvyLibException svyLibException);
+
+    /**
+     * 淇敼闂嵎寮傚父
+     * 
+     * @param svyLibException 闂嵎寮傚父
+     * @return 缁撴灉
+     */
+    public int updateSvyLibException(SvyLibException svyLibException);
+
+    /**
+     * 鎵归噺鍒犻櫎闂嵎寮傚父
+     * 
+     * @param ecids 闇�瑕佸垹闄ょ殑闂嵎寮傚父涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteSvyLibExceptionByEcids(Long[] ecids);
+
+    /**
+     * 鍒犻櫎闂嵎寮傚父淇℃伅
+     * 
+     * @param ecid 闂嵎寮傚父涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteSvyLibExceptionByEcid(Long ecid);
+}
diff --git a/smartor/src/main/java/com/smartor/service/ISvyLibResultService.java b/smartor/src/main/java/com/smartor/service/ISvyLibResultService.java
new file mode 100644
index 0000000..d20dba4
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/service/ISvyLibResultService.java
@@ -0,0 +1,61 @@
+package com.smartor.service;
+
+import java.util.List;
+import com.smartor.domain.SvyLibResult;
+
+/**
+ * 闂嵎缁撴灉Service鎺ュ彛
+ * 
+ * @author ruoyi
+ * @date 2023-03-02
+ */
+public interface ISvyLibResultService 
+{
+    /**
+     * 鏌ヨ闂嵎缁撴灉
+     * 
+     * @param resultid 闂嵎缁撴灉涓婚敭
+     * @return 闂嵎缁撴灉
+     */
+    public SvyLibResult selectSvyLibResultByResultid(Long resultid);
+
+    /**
+     * 鏌ヨ闂嵎缁撴灉鍒楄〃
+     * 
+     * @param svyLibResult 闂嵎缁撴灉
+     * @return 闂嵎缁撴灉闆嗗悎
+     */
+    public List<SvyLibResult> selectSvyLibResultList(SvyLibResult svyLibResult);
+
+    /**
+     * 鏂板闂嵎缁撴灉
+     * 
+     * @param svyLibResult 闂嵎缁撴灉
+     * @return 缁撴灉
+     */
+    public int insertSvyLibResult(SvyLibResult svyLibResult);
+
+    /**
+     * 淇敼闂嵎缁撴灉
+     * 
+     * @param svyLibResult 闂嵎缁撴灉
+     * @return 缁撴灉
+     */
+    public int updateSvyLibResult(SvyLibResult svyLibResult);
+
+    /**
+     * 鎵归噺鍒犻櫎闂嵎缁撴灉
+     * 
+     * @param resultids 闇�瑕佸垹闄ょ殑闂嵎缁撴灉涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteSvyLibResultByResultids(Long[] resultids);
+
+    /**
+     * 鍒犻櫎闂嵎缁撴灉淇℃伅
+     * 
+     * @param resultid 闂嵎缁撴灉涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteSvyLibResultByResultid(Long resultid);
+}
diff --git a/smartor/src/main/java/com/smartor/service/ISvyLibTitleService.java b/smartor/src/main/java/com/smartor/service/ISvyLibTitleService.java
new file mode 100644
index 0000000..c57af4e
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/service/ISvyLibTitleService.java
@@ -0,0 +1,61 @@
+package com.smartor.service;
+
+import java.util.List;
+import com.smartor.domain.SvyLibTitle;
+
+/**
+ * 闂嵎Service鎺ュ彛
+ * 
+ * @author ruoyi
+ * @date 2023-03-02
+ */
+public interface ISvyLibTitleService 
+{
+    /**
+     * 鏌ヨ闂嵎
+     * 
+     * @param svyid 闂嵎涓婚敭
+     * @return 闂嵎
+     */
+    public SvyLibTitle selectSvyLibTitleBySvyid(Long svyid);
+
+    /**
+     * 鏌ヨ闂嵎鍒楄〃
+     * 
+     * @param svyLibTitle 闂嵎
+     * @return 闂嵎闆嗗悎
+     */
+    public List<SvyLibTitle> selectSvyLibTitleList(SvyLibTitle svyLibTitle);
+
+    /**
+     * 鏂板闂嵎
+     * 
+     * @param svyLibTitle 闂嵎
+     * @return 缁撴灉
+     */
+    public int insertSvyLibTitle(SvyLibTitle svyLibTitle);
+
+    /**
+     * 淇敼闂嵎
+     * 
+     * @param svyLibTitle 闂嵎
+     * @return 缁撴灉
+     */
+    public int updateSvyLibTitle(SvyLibTitle svyLibTitle);
+
+    /**
+     * 鎵归噺鍒犻櫎闂嵎
+     * 
+     * @param svyids 闇�瑕佸垹闄ょ殑闂嵎涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteSvyLibTitleBySvyids(Long[] svyids);
+
+    /**
+     * 鍒犻櫎闂嵎淇℃伅
+     * 
+     * @param svyid 闂嵎涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteSvyLibTitleBySvyid(Long svyid);
+}
diff --git a/smartor/src/main/java/com/smartor/service/ISvyLibTopicService.java b/smartor/src/main/java/com/smartor/service/ISvyLibTopicService.java
new file mode 100644
index 0000000..2d2fae9
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/service/ISvyLibTopicService.java
@@ -0,0 +1,61 @@
+package com.smartor.service;
+
+import java.util.List;
+import com.smartor.domain.SvyLibTopic;
+
+/**
+ * 闂嵎棰樼洰Service鎺ュ彛
+ * 
+ * @author ruoyi
+ * @date 2023-03-02
+ */
+public interface ISvyLibTopicService 
+{
+    /**
+     * 鏌ヨ闂嵎棰樼洰
+     * 
+     * @param topicid 闂嵎棰樼洰涓婚敭
+     * @return 闂嵎棰樼洰
+     */
+    public SvyLibTopic selectSvyLibTopicByTopicid(Long topicid);
+
+    /**
+     * 鏌ヨ闂嵎棰樼洰鍒楄〃
+     * 
+     * @param svyLibTopic 闂嵎棰樼洰
+     * @return 闂嵎棰樼洰闆嗗悎
+     */
+    public List<SvyLibTopic> selectSvyLibTopicList(SvyLibTopic svyLibTopic);
+
+    /**
+     * 鏂板闂嵎棰樼洰
+     * 
+     * @param svyLibTopic 闂嵎棰樼洰
+     * @return 缁撴灉
+     */
+    public int insertSvyLibTopic(SvyLibTopic svyLibTopic);
+
+    /**
+     * 淇敼闂嵎棰樼洰
+     * 
+     * @param svyLibTopic 闂嵎棰樼洰
+     * @return 缁撴灉
+     */
+    public int updateSvyLibTopic(SvyLibTopic svyLibTopic);
+
+    /**
+     * 鎵归噺鍒犻櫎闂嵎棰樼洰
+     * 
+     * @param topicids 闇�瑕佸垹闄ょ殑闂嵎棰樼洰涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteSvyLibTopicByTopicids(Long[] topicids);
+
+    /**
+     * 鍒犻櫎闂嵎棰樼洰淇℃伅
+     * 
+     * @param topicid 闂嵎棰樼洰涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteSvyLibTopicByTopicid(Long topicid);
+}
diff --git a/smartor/src/main/java/com/smartor/service/ISvyLibTopicoptionService.java b/smartor/src/main/java/com/smartor/service/ISvyLibTopicoptionService.java
new file mode 100644
index 0000000..f6357e0
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/service/ISvyLibTopicoptionService.java
@@ -0,0 +1,61 @@
+package com.smartor.service;
+
+import java.util.List;
+import com.smartor.domain.SvyLibTopicoption;
+
+/**
+ * 闂嵎闂閫夐」Service鎺ュ彛
+ * 
+ * @author ruoyi
+ * @date 2023-03-02
+ */
+public interface ISvyLibTopicoptionService 
+{
+    /**
+     * 鏌ヨ闂嵎闂閫夐」
+     * 
+     * @param optionid 闂嵎闂閫夐」涓婚敭
+     * @return 闂嵎闂閫夐」
+     */
+    public SvyLibTopicoption selectSvyLibTopicoptionByOptionid(Long optionid);
+
+    /**
+     * 鏌ヨ闂嵎闂閫夐」鍒楄〃
+     * 
+     * @param svyLibTopicoption 闂嵎闂閫夐」
+     * @return 闂嵎闂閫夐」闆嗗悎
+     */
+    public List<SvyLibTopicoption> selectSvyLibTopicoptionList(SvyLibTopicoption svyLibTopicoption);
+
+    /**
+     * 鏂板闂嵎闂閫夐」
+     * 
+     * @param svyLibTopicoption 闂嵎闂閫夐」
+     * @return 缁撴灉
+     */
+    public int insertSvyLibTopicoption(SvyLibTopicoption svyLibTopicoption);
+
+    /**
+     * 淇敼闂嵎闂閫夐」
+     * 
+     * @param svyLibTopicoption 闂嵎闂閫夐」
+     * @return 缁撴灉
+     */
+    public int updateSvyLibTopicoption(SvyLibTopicoption svyLibTopicoption);
+
+    /**
+     * 鎵归噺鍒犻櫎闂嵎闂閫夐」
+     * 
+     * @param optionids 闇�瑕佸垹闄ょ殑闂嵎闂閫夐」涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteSvyLibTopicoptionByOptionids(Long[] optionids);
+
+    /**
+     * 鍒犻櫎闂嵎闂閫夐」淇℃伅
+     * 
+     * @param optionid 闂嵎闂閫夐」涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteSvyLibTopicoptionByOptionid(Long optionid);
+}
diff --git a/smartor/src/main/java/com/smartor/service/impl/PatArchiveServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/PatArchiveServiceImpl.java
index 59996fc..30bf31c 100644
--- a/smartor/src/main/java/com/smartor/service/impl/PatArchiveServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/PatArchiveServiceImpl.java
@@ -4,10 +4,6 @@
 import com.ruoyi.common.utils.DateUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import java.util.ArrayList;
-import com.ruoyi.common.utils.StringUtils;
-import org.springframework.transaction.annotation.Transactional;
-import com.smartor.domain.PatMedOuthosp;
 import com.smartor.mapper.PatArchiveMapper;
 import com.smartor.domain.PatArchive;
 import com.smartor.service.IPatArchiveService;
@@ -15,8 +11,8 @@
 /**
  * 鎮h�呮。妗圫ervice涓氬姟灞傚鐞�
  * 
- * @author ruoyi
- * @date 2023-02-22
+ * @author smartor
+ * @date 2023-03-01
  */
 @Service
 public class PatArchiveServiceImpl implements IPatArchiveService 
@@ -27,13 +23,13 @@
     /**
      * 鏌ヨ鎮h�呮。妗�
      * 
-     * @param PatID 鎮h�呮。妗堜富閿�
+     * @param patid 鎮h�呮。妗堜富閿�
      * @return 鎮h�呮。妗�
      */
     @Override
-    public PatArchive selectPatArchiveByPatID(Long PatID)
+    public PatArchive selectPatArchiveByPatid(Long patid)
     {
-        return patArchiveMapper.selectPatArchiveByPatID(PatID);
+        return patArchiveMapper.selectPatArchiveByPatid(patid);
     }
 
     /**
@@ -54,14 +50,11 @@
      * @param patArchive 鎮h�呮。妗�
      * @return 缁撴灉
      */
-    @Transactional
     @Override
     public int insertPatArchive(PatArchive patArchive)
     {
         patArchive.setCreateTime(DateUtils.getNowDate());
-        int rows = patArchiveMapper.insertPatArchive(patArchive);
-        insertPatMedOuthosp(patArchive);
-        return rows;
+        return patArchiveMapper.insertPatArchive(patArchive);
     }
 
     /**
@@ -70,65 +63,34 @@
      * @param patArchive 鎮h�呮。妗�
      * @return 缁撴灉
      */
-    @Transactional
     @Override
     public int updatePatArchive(PatArchive patArchive)
     {
         patArchive.setUpdateTime(DateUtils.getNowDate());
-        patArchiveMapper.deletePatMedOuthospByPatID(patArchive.getPatID());
-        insertPatMedOuthosp(patArchive);
         return patArchiveMapper.updatePatArchive(patArchive);
     }
 
     /**
      * 鎵归噺鍒犻櫎鎮h�呮。妗�
      * 
-     * @param PatIDs 闇�瑕佸垹闄ょ殑鎮h�呮。妗堜富閿�
+     * @param patids 闇�瑕佸垹闄ょ殑鎮h�呮。妗堜富閿�
      * @return 缁撴灉
      */
-    @Transactional
     @Override
-    public int deletePatArchiveByPatIDs(Long[] PatIDs)
+    public int deletePatArchiveByPatids(Long[] patids)
     {
-        patArchiveMapper.deletePatMedOuthospByPatIDs(PatIDs);
-        return patArchiveMapper.deletePatArchiveByPatIDs(PatIDs);
+        return patArchiveMapper.deletePatArchiveByPatids(patids);
     }
 
     /**
      * 鍒犻櫎鎮h�呮。妗堜俊鎭�
      * 
-     * @param PatID 鎮h�呮。妗堜富閿�
+     * @param patid 鎮h�呮。妗堜富閿�
      * @return 缁撴灉
      */
-    @Transactional
     @Override
-    public int deletePatArchiveByPatID(Long PatID)
+    public int deletePatArchiveByPatid(Long patid)
     {
-        patArchiveMapper.deletePatMedOuthospByPatID(PatID);
-        return patArchiveMapper.deletePatArchiveByPatID(PatID);
-    }
-
-    /**
-     * 鏂板鎮h�呴棬璇婅褰曚俊鎭�
-     * 
-     * @param patArchive 鎮h�呮。妗堝璞�
-     */
-    public void insertPatMedOuthosp(PatArchive patArchive)
-    {
-        List<PatMedOuthosp> patMedOuthospList = patArchive.getPatMedOuthospList();
-        Long PatID = patArchive.getPatID();
-        if (StringUtils.isNotNull(patMedOuthospList))
-        {
-            List<PatMedOuthosp> list = new ArrayList<PatMedOuthosp>();
-            for (PatMedOuthosp patMedOuthosp : patMedOuthospList)
-            {
-                patMedOuthosp.setPatID(PatID);
-                list.add(patMedOuthosp);
-            }
-            if (list.size() > 0)
-            {
-                patArchiveMapper.batchPatMedOuthosp(list);
-            }
-        }
+        return patArchiveMapper.deletePatArchiveByPatid(patid);
     }
 }
diff --git a/smartor/src/main/java/com/smartor/service/impl/SvyCategoryServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/SvyCategoryServiceImpl.java
new file mode 100644
index 0000000..721e1f9
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/service/impl/SvyCategoryServiceImpl.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.SvyCategoryMapper;
+import com.smartor.domain.SvyCategory;
+import com.smartor.service.ISvyCategoryService;
+
+/**
+ * 闂嵎鍒嗙被Service涓氬姟灞傚鐞�
+ * 
+ * @author ruoyi
+ * @date 2023-03-02
+ */
+@Service
+public class SvyCategoryServiceImpl implements ISvyCategoryService 
+{
+    @Autowired
+    private SvyCategoryMapper svyCategoryMapper;
+
+    /**
+     * 鏌ヨ闂嵎鍒嗙被
+     * 
+     * @param id 闂嵎鍒嗙被涓婚敭
+     * @return 闂嵎鍒嗙被
+     */
+    @Override
+    public SvyCategory selectSvyCategoryById(Long id)
+    {
+        return svyCategoryMapper.selectSvyCategoryById(id);
+    }
+
+    /**
+     * 鏌ヨ闂嵎鍒嗙被鍒楄〃
+     * 
+     * @param svyCategory 闂嵎鍒嗙被
+     * @return 闂嵎鍒嗙被
+     */
+    @Override
+    public List<SvyCategory> selectSvyCategoryList(SvyCategory svyCategory)
+    {
+        return svyCategoryMapper.selectSvyCategoryList(svyCategory);
+    }
+
+    /**
+     * 鏂板闂嵎鍒嗙被
+     * 
+     * @param svyCategory 闂嵎鍒嗙被
+     * @return 缁撴灉
+     */
+    @Override
+    public int insertSvyCategory(SvyCategory svyCategory)
+    {
+        svyCategory.setCreateTime(DateUtils.getNowDate());
+        return svyCategoryMapper.insertSvyCategory(svyCategory);
+    }
+
+    /**
+     * 淇敼闂嵎鍒嗙被
+     * 
+     * @param svyCategory 闂嵎鍒嗙被
+     * @return 缁撴灉
+     */
+    @Override
+    public int updateSvyCategory(SvyCategory svyCategory)
+    {
+        svyCategory.setUpdateTime(DateUtils.getNowDate());
+        return svyCategoryMapper.updateSvyCategory(svyCategory);
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎闂嵎鍒嗙被
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑闂嵎鍒嗙被涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteSvyCategoryByIds(Long[] ids)
+    {
+        return svyCategoryMapper.deleteSvyCategoryByIds(ids);
+    }
+
+    /**
+     * 鍒犻櫎闂嵎鍒嗙被淇℃伅
+     * 
+     * @param id 闂嵎鍒嗙被涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteSvyCategoryById(Long id)
+    {
+        return svyCategoryMapper.deleteSvyCategoryById(id);
+    }
+}
diff --git a/smartor/src/main/java/com/smartor/service/impl/SvyLibExceptionServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/SvyLibExceptionServiceImpl.java
new file mode 100644
index 0000000..530e501
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/service/impl/SvyLibExceptionServiceImpl.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.SvyLibExceptionMapper;
+import com.smartor.domain.SvyLibException;
+import com.smartor.service.ISvyLibExceptionService;
+
+/**
+ * 闂嵎寮傚父Service涓氬姟灞傚鐞�
+ * 
+ * @author ruoyi
+ * @date 2023-03-02
+ */
+@Service
+public class SvyLibExceptionServiceImpl implements ISvyLibExceptionService 
+{
+    @Autowired
+    private SvyLibExceptionMapper svyLibExceptionMapper;
+
+    /**
+     * 鏌ヨ闂嵎寮傚父
+     * 
+     * @param ecid 闂嵎寮傚父涓婚敭
+     * @return 闂嵎寮傚父
+     */
+    @Override
+    public SvyLibException selectSvyLibExceptionByEcid(Long ecid)
+    {
+        return svyLibExceptionMapper.selectSvyLibExceptionByEcid(ecid);
+    }
+
+    /**
+     * 鏌ヨ闂嵎寮傚父鍒楄〃
+     * 
+     * @param svyLibException 闂嵎寮傚父
+     * @return 闂嵎寮傚父
+     */
+    @Override
+    public List<SvyLibException> selectSvyLibExceptionList(SvyLibException svyLibException)
+    {
+        return svyLibExceptionMapper.selectSvyLibExceptionList(svyLibException);
+    }
+
+    /**
+     * 鏂板闂嵎寮傚父
+     * 
+     * @param svyLibException 闂嵎寮傚父
+     * @return 缁撴灉
+     */
+    @Override
+    public int insertSvyLibException(SvyLibException svyLibException)
+    {
+        svyLibException.setCreateTime(DateUtils.getNowDate());
+        return svyLibExceptionMapper.insertSvyLibException(svyLibException);
+    }
+
+    /**
+     * 淇敼闂嵎寮傚父
+     * 
+     * @param svyLibException 闂嵎寮傚父
+     * @return 缁撴灉
+     */
+    @Override
+    public int updateSvyLibException(SvyLibException svyLibException)
+    {
+        svyLibException.setUpdateTime(DateUtils.getNowDate());
+        return svyLibExceptionMapper.updateSvyLibException(svyLibException);
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎闂嵎寮傚父
+     * 
+     * @param ecids 闇�瑕佸垹闄ょ殑闂嵎寮傚父涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteSvyLibExceptionByEcids(Long[] ecids)
+    {
+        return svyLibExceptionMapper.deleteSvyLibExceptionByEcids(ecids);
+    }
+
+    /**
+     * 鍒犻櫎闂嵎寮傚父淇℃伅
+     * 
+     * @param ecid 闂嵎寮傚父涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteSvyLibExceptionByEcid(Long ecid)
+    {
+        return svyLibExceptionMapper.deleteSvyLibExceptionByEcid(ecid);
+    }
+}
diff --git a/smartor/src/main/java/com/smartor/service/impl/SvyLibResultServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/SvyLibResultServiceImpl.java
new file mode 100644
index 0000000..84b1f11
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/service/impl/SvyLibResultServiceImpl.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.SvyLibResultMapper;
+import com.smartor.domain.SvyLibResult;
+import com.smartor.service.ISvyLibResultService;
+
+/**
+ * 闂嵎缁撴灉Service涓氬姟灞傚鐞�
+ * 
+ * @author ruoyi
+ * @date 2023-03-02
+ */
+@Service
+public class SvyLibResultServiceImpl implements ISvyLibResultService 
+{
+    @Autowired
+    private SvyLibResultMapper svyLibResultMapper;
+
+    /**
+     * 鏌ヨ闂嵎缁撴灉
+     * 
+     * @param resultid 闂嵎缁撴灉涓婚敭
+     * @return 闂嵎缁撴灉
+     */
+    @Override
+    public SvyLibResult selectSvyLibResultByResultid(Long resultid)
+    {
+        return svyLibResultMapper.selectSvyLibResultByResultid(resultid);
+    }
+
+    /**
+     * 鏌ヨ闂嵎缁撴灉鍒楄〃
+     * 
+     * @param svyLibResult 闂嵎缁撴灉
+     * @return 闂嵎缁撴灉
+     */
+    @Override
+    public List<SvyLibResult> selectSvyLibResultList(SvyLibResult svyLibResult)
+    {
+        return svyLibResultMapper.selectSvyLibResultList(svyLibResult);
+    }
+
+    /**
+     * 鏂板闂嵎缁撴灉
+     * 
+     * @param svyLibResult 闂嵎缁撴灉
+     * @return 缁撴灉
+     */
+    @Override
+    public int insertSvyLibResult(SvyLibResult svyLibResult)
+    {
+        svyLibResult.setCreateTime(DateUtils.getNowDate());
+        return svyLibResultMapper.insertSvyLibResult(svyLibResult);
+    }
+
+    /**
+     * 淇敼闂嵎缁撴灉
+     * 
+     * @param svyLibResult 闂嵎缁撴灉
+     * @return 缁撴灉
+     */
+    @Override
+    public int updateSvyLibResult(SvyLibResult svyLibResult)
+    {
+        svyLibResult.setUpdateTime(DateUtils.getNowDate());
+        return svyLibResultMapper.updateSvyLibResult(svyLibResult);
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎闂嵎缁撴灉
+     * 
+     * @param resultids 闇�瑕佸垹闄ょ殑闂嵎缁撴灉涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteSvyLibResultByResultids(Long[] resultids)
+    {
+        return svyLibResultMapper.deleteSvyLibResultByResultids(resultids);
+    }
+
+    /**
+     * 鍒犻櫎闂嵎缁撴灉淇℃伅
+     * 
+     * @param resultid 闂嵎缁撴灉涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteSvyLibResultByResultid(Long resultid)
+    {
+        return svyLibResultMapper.deleteSvyLibResultByResultid(resultid);
+    }
+}
diff --git a/smartor/src/main/java/com/smartor/service/impl/SvyLibTitleServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/SvyLibTitleServiceImpl.java
new file mode 100644
index 0000000..76b5c12
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/service/impl/SvyLibTitleServiceImpl.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.SvyLibTitleMapper;
+import com.smartor.domain.SvyLibTitle;
+import com.smartor.service.ISvyLibTitleService;
+
+/**
+ * 闂嵎Service涓氬姟灞傚鐞�
+ * 
+ * @author ruoyi
+ * @date 2023-03-02
+ */
+@Service
+public class SvyLibTitleServiceImpl implements ISvyLibTitleService 
+{
+    @Autowired
+    private SvyLibTitleMapper svyLibTitleMapper;
+
+    /**
+     * 鏌ヨ闂嵎
+     * 
+     * @param svyid 闂嵎涓婚敭
+     * @return 闂嵎
+     */
+    @Override
+    public SvyLibTitle selectSvyLibTitleBySvyid(Long svyid)
+    {
+        return svyLibTitleMapper.selectSvyLibTitleBySvyid(svyid);
+    }
+
+    /**
+     * 鏌ヨ闂嵎鍒楄〃
+     * 
+     * @param svyLibTitle 闂嵎
+     * @return 闂嵎
+     */
+    @Override
+    public List<SvyLibTitle> selectSvyLibTitleList(SvyLibTitle svyLibTitle)
+    {
+        return svyLibTitleMapper.selectSvyLibTitleList(svyLibTitle);
+    }
+
+    /**
+     * 鏂板闂嵎
+     * 
+     * @param svyLibTitle 闂嵎
+     * @return 缁撴灉
+     */
+    @Override
+    public int insertSvyLibTitle(SvyLibTitle svyLibTitle)
+    {
+        svyLibTitle.setCreateTime(DateUtils.getNowDate());
+        return svyLibTitleMapper.insertSvyLibTitle(svyLibTitle);
+    }
+
+    /**
+     * 淇敼闂嵎
+     * 
+     * @param svyLibTitle 闂嵎
+     * @return 缁撴灉
+     */
+    @Override
+    public int updateSvyLibTitle(SvyLibTitle svyLibTitle)
+    {
+        svyLibTitle.setUpdateTime(DateUtils.getNowDate());
+        return svyLibTitleMapper.updateSvyLibTitle(svyLibTitle);
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎闂嵎
+     * 
+     * @param svyids 闇�瑕佸垹闄ょ殑闂嵎涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteSvyLibTitleBySvyids(Long[] svyids)
+    {
+        return svyLibTitleMapper.deleteSvyLibTitleBySvyids(svyids);
+    }
+
+    /**
+     * 鍒犻櫎闂嵎淇℃伅
+     * 
+     * @param svyid 闂嵎涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteSvyLibTitleBySvyid(Long svyid)
+    {
+        return svyLibTitleMapper.deleteSvyLibTitleBySvyid(svyid);
+    }
+}
diff --git a/smartor/src/main/java/com/smartor/service/impl/SvyLibTopicServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/SvyLibTopicServiceImpl.java
new file mode 100644
index 0000000..29b9442
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/service/impl/SvyLibTopicServiceImpl.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.SvyLibTopicMapper;
+import com.smartor.domain.SvyLibTopic;
+import com.smartor.service.ISvyLibTopicService;
+
+/**
+ * 闂嵎棰樼洰Service涓氬姟灞傚鐞�
+ * 
+ * @author ruoyi
+ * @date 2023-03-02
+ */
+@Service
+public class SvyLibTopicServiceImpl implements ISvyLibTopicService 
+{
+    @Autowired
+    private SvyLibTopicMapper svyLibTopicMapper;
+
+    /**
+     * 鏌ヨ闂嵎棰樼洰
+     * 
+     * @param topicid 闂嵎棰樼洰涓婚敭
+     * @return 闂嵎棰樼洰
+     */
+    @Override
+    public SvyLibTopic selectSvyLibTopicByTopicid(Long topicid)
+    {
+        return svyLibTopicMapper.selectSvyLibTopicByTopicid(topicid);
+    }
+
+    /**
+     * 鏌ヨ闂嵎棰樼洰鍒楄〃
+     * 
+     * @param svyLibTopic 闂嵎棰樼洰
+     * @return 闂嵎棰樼洰
+     */
+    @Override
+    public List<SvyLibTopic> selectSvyLibTopicList(SvyLibTopic svyLibTopic)
+    {
+        return svyLibTopicMapper.selectSvyLibTopicList(svyLibTopic);
+    }
+
+    /**
+     * 鏂板闂嵎棰樼洰
+     * 
+     * @param svyLibTopic 闂嵎棰樼洰
+     * @return 缁撴灉
+     */
+    @Override
+    public int insertSvyLibTopic(SvyLibTopic svyLibTopic)
+    {
+        svyLibTopic.setCreateTime(DateUtils.getNowDate());
+        return svyLibTopicMapper.insertSvyLibTopic(svyLibTopic);
+    }
+
+    /**
+     * 淇敼闂嵎棰樼洰
+     * 
+     * @param svyLibTopic 闂嵎棰樼洰
+     * @return 缁撴灉
+     */
+    @Override
+    public int updateSvyLibTopic(SvyLibTopic svyLibTopic)
+    {
+        svyLibTopic.setUpdateTime(DateUtils.getNowDate());
+        return svyLibTopicMapper.updateSvyLibTopic(svyLibTopic);
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎闂嵎棰樼洰
+     * 
+     * @param topicids 闇�瑕佸垹闄ょ殑闂嵎棰樼洰涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteSvyLibTopicByTopicids(Long[] topicids)
+    {
+        return svyLibTopicMapper.deleteSvyLibTopicByTopicids(topicids);
+    }
+
+    /**
+     * 鍒犻櫎闂嵎棰樼洰淇℃伅
+     * 
+     * @param topicid 闂嵎棰樼洰涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteSvyLibTopicByTopicid(Long topicid)
+    {
+        return svyLibTopicMapper.deleteSvyLibTopicByTopicid(topicid);
+    }
+}
diff --git a/smartor/src/main/java/com/smartor/service/impl/SvyLibTopicoptionServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/SvyLibTopicoptionServiceImpl.java
new file mode 100644
index 0000000..3f1c054
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/service/impl/SvyLibTopicoptionServiceImpl.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.SvyLibTopicoptionMapper;
+import com.smartor.domain.SvyLibTopicoption;
+import com.smartor.service.ISvyLibTopicoptionService;
+
+/**
+ * 闂嵎闂閫夐」Service涓氬姟灞傚鐞�
+ * 
+ * @author ruoyi
+ * @date 2023-03-02
+ */
+@Service
+public class SvyLibTopicoptionServiceImpl implements ISvyLibTopicoptionService 
+{
+    @Autowired
+    private SvyLibTopicoptionMapper svyLibTopicoptionMapper;
+
+    /**
+     * 鏌ヨ闂嵎闂閫夐」
+     * 
+     * @param optionid 闂嵎闂閫夐」涓婚敭
+     * @return 闂嵎闂閫夐」
+     */
+    @Override
+    public SvyLibTopicoption selectSvyLibTopicoptionByOptionid(Long optionid)
+    {
+        return svyLibTopicoptionMapper.selectSvyLibTopicoptionByOptionid(optionid);
+    }
+
+    /**
+     * 鏌ヨ闂嵎闂閫夐」鍒楄〃
+     * 
+     * @param svyLibTopicoption 闂嵎闂閫夐」
+     * @return 闂嵎闂閫夐」
+     */
+    @Override
+    public List<SvyLibTopicoption> selectSvyLibTopicoptionList(SvyLibTopicoption svyLibTopicoption)
+    {
+        return svyLibTopicoptionMapper.selectSvyLibTopicoptionList(svyLibTopicoption);
+    }
+
+    /**
+     * 鏂板闂嵎闂閫夐」
+     * 
+     * @param svyLibTopicoption 闂嵎闂閫夐」
+     * @return 缁撴灉
+     */
+    @Override
+    public int insertSvyLibTopicoption(SvyLibTopicoption svyLibTopicoption)
+    {
+        svyLibTopicoption.setCreateTime(DateUtils.getNowDate());
+        return svyLibTopicoptionMapper.insertSvyLibTopicoption(svyLibTopicoption);
+    }
+
+    /**
+     * 淇敼闂嵎闂閫夐」
+     * 
+     * @param svyLibTopicoption 闂嵎闂閫夐」
+     * @return 缁撴灉
+     */
+    @Override
+    public int updateSvyLibTopicoption(SvyLibTopicoption svyLibTopicoption)
+    {
+        svyLibTopicoption.setUpdateTime(DateUtils.getNowDate());
+        return svyLibTopicoptionMapper.updateSvyLibTopicoption(svyLibTopicoption);
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎闂嵎闂閫夐」
+     * 
+     * @param optionids 闇�瑕佸垹闄ょ殑闂嵎闂閫夐」涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteSvyLibTopicoptionByOptionids(Long[] optionids)
+    {
+        return svyLibTopicoptionMapper.deleteSvyLibTopicoptionByOptionids(optionids);
+    }
+
+    /**
+     * 鍒犻櫎闂嵎闂閫夐」淇℃伅
+     * 
+     * @param optionid 闂嵎闂閫夐」涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteSvyLibTopicoptionByOptionid(Long optionid)
+    {
+        return svyLibTopicoptionMapper.deleteSvyLibTopicoptionByOptionid(optionid);
+    }
+}
diff --git a/smartor/src/main/resources/mapper/smartor/PatArchiveMapper.xml b/smartor/src/main/resources/mapper/smartor/PatArchiveMapper.xml
index 970e1ba..8dd64f2 100644
--- a/smartor/src/main/resources/mapper/smartor/PatArchiveMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/PatArchiveMapper.xml
@@ -5,186 +5,134 @@
 <mapper namespace="com.smartor.mapper.PatArchiveMapper">
     
     <resultMap type="PatArchive" id="PatArchiveResult">
-        <result property="PatID"    column="PatID"    />
-        <result property="Name"    column="Name"    />
-        <result property="Gender"    column="Gender"    />
-        <result property="PapersNumber"    column="PapersNumber"    />
-        <result property="BirthDate"    column="BirthDate"    />
-        <result property="Source"    column="Source"    />
-        <result property="MakeArchiveTime"    column="MakeArchiveTime"    />
-        <result property="MakeArchivePeople"    column="MakeArchivePeople"    />
-        <result property="MobileNumberCode"    column="MobileNumberCode"    />
-        <result property="RelativesNumber"    column="RelativesNumber"    />
-        <result property="PapersType"    column="PapersType"    />
-        <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="Age"    column="Age"    />
-        <result property="OpenId"    column="OpenId"    />
-    </resultMap>
-
-    <resultMap id="PatArchivePatMedOuthospResult" type="PatArchive" extends="PatArchiveResult">
-        <collection property="patMedOuthospList" notNullColumn="sub_ID" javaType="java.util.List" resultMap="PatMedOuthospResult" />
-    </resultMap>
-
-    <resultMap type="PatMedOuthosp" id="PatMedOuthospResult">
-        <result property="ID"    column="sub_ID"    />
-        <result property="SerialNum"    column="sub_SerialNum"    />
-        <result property="PatID"    column="sub_PatID"    />
-        <result property="HospitalName"    column="sub_HospitalName"    />
-        <result property="HospitalCode"    column="sub_HospitalCode"    />
-        <result property="Icd10Code"    column="sub_Icd10Code"    />
-        <result property="DiagName"    column="sub_DiagName"    />
-        <result property="DeptCode"    column="sub_DeptCode"    />
-        <result property="DeptName"    column="sub_DeptName"    />
-        <result property="DrCode"    column="sub_DrCode"    />
-        <result property="DrName"    column="sub_DrName"    />
-        <result property="AdmitDate"    column="sub_AdmitDate"    />
-        <result property="OrgID"    column="sub_OrgID"    />
-        <result property="delFlag"    column="sub_Del_Flag"    />
-        <result property="updateBy"    column="sub_Update_By"    />
-        <result property="updateTime"    column="sub_Update_Time"    />
-        <result property="createBy"    column="sub_Create_By"    />
-        <result property="createTime"    column="sub_Create_Time"    />
-        <result property="IsUpload"    column="sub_IsUpload"    />
-        <result property="uploadTime"    column="sub_Upload_Time"    />
-        <result property="SchemeStatus"    column="sub_SchemeStatus"    />
-        <result property="DeptID"    column="sub_DeptID"    />
-        <result property="SchemeTime"    column="sub_SchemeTime"    />
-        <result property="HPI"    column="sub_HPI"    />
-        <result property="MainSuit"    column="sub_MainSuit"    />
+        <result property="patid"    column="patid"    />
+        <result property="name"    column="name"    />
+        <result property="sex"    column="sex"    />
+        <result property="iccardno"    column="iccardno"    />
+        <result property="birthdate"    column="birthdate"    />
+        <result property="age"    column="age"    />
+        <result property="source"    column="source"    />
+        <result property="archivetime"    column="archivetime"    />
+        <result property="archiveby"    column="archiveby"    />
+        <result property="telcode"    column="telcode"    />
+        <result property="relativetelcode"    column="relativetelcode"    />
+        <result property="iccardtype"    column="iccardtype"    />
+        <result property="orgid"    column="orgid"    />
+        <result property="openid"    column="openid"    />
+        <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="selectPatArchiveVo">
-        select PatID, Name, Gender, PapersNumber, BirthDate, Source, MakeArchiveTime, MakeArchivePeople, MobileNumberCode, RelativesNumber, PapersType, OrgID, Del_Flag, Update_By, Update_Time, Create_By, Create_Time, IsUpload, Upload_Time, Age, OpenId from pat_archive
+        select patid, name, sex, iccardno, birthdate, age, source, archivetime, archiveby, telcode, relativetelcode, iccardtype, orgid, openid, del_flag, update_by, update_time, create_by, create_time, isupload, upload_time from pat_archive
     </sql>
 
     <select id="selectPatArchiveList" parameterType="PatArchive" resultMap="PatArchiveResult">
         <include refid="selectPatArchiveVo"/>
         <where>  
-            <if test="Name != null  and Name != ''"> and Name like concat('%', #{Name}, '%')</if>
-            <if test="PapersNumber != null  and PapersNumber != ''"> and PapersNumber = #{PapersNumber}</if>
-            <if test="Source != null "> and Source = #{Source}</if>
-            <if test="MobileNumberCode != null  and MobileNumberCode != ''"> and MobileNumberCode = #{MobileNumberCode}</if>
-            <if test="OrgID != null  and OrgID != ''"> and OrgID = #{OrgID}</if>
-            <if test="delFlag != null  and delFlag != ''"> and Del_Flag = #{delFlag}</if>
+            <if test="name != null  and name != ''"> and name like concat('%', #{name}, '%')</if>
+            <if test="iccardno != null  and iccardno != ''"> and iccardno = #{iccardno}</if>
+            <if test="source != null "> and source = #{source}</if>
+            <if test="telcode != null  and telcode != ''"> and telcode = #{telcode}</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="selectPatArchiveByPatID" parameterType="Long" resultMap="PatArchivePatMedOuthospResult">
-        select a.PatID, a.Name, a.Gender, a.PapersNumber, a.BirthDate, a.Source, a.MakeArchiveTime, a.MakeArchivePeople, a.MobileNumberCode, a.RelativesNumber, a.PapersType, a.OrgID, a.Del_Flag, a.Update_By, a.Update_Time, a.Create_By, a.Create_Time, a.IsUpload, a.Upload_Time, a.Age, a.OpenId,
- b.ID as sub_ID, b.SerialNum as sub_SerialNum, b.PatID as sub_PatID, b.HospitalName as sub_HospitalName, b.HospitalCode as sub_HospitalCode, b.Icd10Code as sub_Icd10Code, b.DiagName as sub_DiagName, b.DeptCode as sub_DeptCode, b.DeptName as sub_DeptName, b.DrCode as sub_DrCode, b.DrName as sub_DrName, b.AdmitDate as sub_AdmitDate, b.OrgID as sub_OrgID, b.Del_Flag as sub_Del_Flag, b.Update_By as sub_Update_By, b.Update_Time as sub_Update_Time, b.Create_By as sub_Create_By, b.Create_Time as sub_Create_Time, b.IsUpload as sub_IsUpload, b.Upload_Time as sub_Upload_Time, b.SchemeStatus as sub_SchemeStatus, b.DeptID as sub_DeptID, b.SchemeTime as sub_SchemeTime, b.HPI as sub_HPI, b.MainSuit as sub_MainSuit
-        from pat_archive a
-        left join pat_med_outhosp b on b.PatID = a.PatID
-        where a.PatID = #{PatID}
+    <select id="selectPatArchiveByPatid" parameterType="Long" resultMap="PatArchiveResult">
+        <include refid="selectPatArchiveVo"/>
+        where patid = #{patid}
     </select>
         
-    <insert id="insertPatArchive" parameterType="PatArchive" useGeneratedKeys="true" keyProperty="PatID">
+    <insert id="insertPatArchive" parameterType="PatArchive" useGeneratedKeys="true" keyProperty="patid">
         insert into pat_archive
         <trim prefix="(" suffix=")" suffixOverrides=",">
-            <if test="Name != null">Name,</if>
-            <if test="Gender != null">Gender,</if>
-            <if test="PapersNumber != null">PapersNumber,</if>
-            <if test="BirthDate != null">BirthDate,</if>
-            <if test="Source != null">Source,</if>
-            <if test="MakeArchiveTime != null">MakeArchiveTime,</if>
-            <if test="MakeArchivePeople != null">MakeArchivePeople,</if>
-            <if test="MobileNumberCode != null">MobileNumberCode,</if>
-            <if test="RelativesNumber != null">RelativesNumber,</if>
-            <if test="PapersType != null">PapersType,</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="Age != null">Age,</if>
-            <if test="OpenId != null">OpenId,</if>
+            <if test="name != null">name,</if>
+            <if test="sex != null">sex,</if>
+            <if test="iccardno != null">iccardno,</if>
+            <if test="birthdate != null">birthdate,</if>
+            <if test="age != null">age,</if>
+            <if test="source != null">source,</if>
+            <if test="archivetime != null">archivetime,</if>
+            <if test="archiveby != null">archiveby,</if>
+            <if test="telcode != null">telcode,</if>
+            <if test="relativetelcode != null">relativetelcode,</if>
+            <if test="iccardtype != null">iccardtype,</if>
+            <if test="orgid != null">orgid,</if>
+            <if test="openid != null">openid,</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="Name != null">#{Name},</if>
-            <if test="Gender != null">#{Gender},</if>
-            <if test="PapersNumber != null">#{PapersNumber},</if>
-            <if test="BirthDate != null">#{BirthDate},</if>
-            <if test="Source != null">#{Source},</if>
-            <if test="MakeArchiveTime != null">#{MakeArchiveTime},</if>
-            <if test="MakeArchivePeople != null">#{MakeArchivePeople},</if>
-            <if test="MobileNumberCode != null">#{MobileNumberCode},</if>
-            <if test="RelativesNumber != null">#{RelativesNumber},</if>
-            <if test="PapersType != null">#{PapersType},</if>
-            <if test="OrgID != null">#{OrgID},</if>
+            <if test="name != null">#{name},</if>
+            <if test="sex != null">#{sex},</if>
+            <if test="iccardno != null">#{iccardno},</if>
+            <if test="birthdate != null">#{birthdate},</if>
+            <if test="age != null">#{age},</if>
+            <if test="source != null">#{source},</if>
+            <if test="archivetime != null">#{archivetime},</if>
+            <if test="archiveby != null">#{archiveby},</if>
+            <if test="telcode != null">#{telcode},</if>
+            <if test="relativetelcode != null">#{relativetelcode},</if>
+            <if test="iccardtype != null">#{iccardtype},</if>
+            <if test="orgid != null">#{orgid},</if>
+            <if test="openid != null">#{openid},</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="isupload != null">#{isupload},</if>
             <if test="uploadTime != null">#{uploadTime},</if>
-            <if test="Age != null">#{Age},</if>
-            <if test="OpenId != null">#{OpenId},</if>
          </trim>
     </insert>
 
     <update id="updatePatArchive" parameterType="PatArchive">
         update pat_archive
         <trim prefix="SET" suffixOverrides=",">
-            <if test="Name != null">Name = #{Name},</if>
-            <if test="Gender != null">Gender = #{Gender},</if>
-            <if test="PapersNumber != null">PapersNumber = #{PapersNumber},</if>
-            <if test="BirthDate != null">BirthDate = #{BirthDate},</if>
-            <if test="Source != null">Source = #{Source},</if>
-            <if test="MakeArchiveTime != null">MakeArchiveTime = #{MakeArchiveTime},</if>
-            <if test="MakeArchivePeople != null">MakeArchivePeople = #{MakeArchivePeople},</if>
-            <if test="MobileNumberCode != null">MobileNumberCode = #{MobileNumberCode},</if>
-            <if test="RelativesNumber != null">RelativesNumber = #{RelativesNumber},</if>
-            <if test="PapersType != null">PapersType = #{PapersType},</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="Age != null">Age = #{Age},</if>
-            <if test="OpenId != null">OpenId = #{OpenId},</if>
+            <if test="name != null">name = #{name},</if>
+            <if test="sex != null">sex = #{sex},</if>
+            <if test="iccardno != null">iccardno = #{iccardno},</if>
+            <if test="birthdate != null">birthdate = #{birthdate},</if>
+            <if test="age != null">age = #{age},</if>
+            <if test="source != null">source = #{source},</if>
+            <if test="archivetime != null">archivetime = #{archivetime},</if>
+            <if test="archiveby != null">archiveby = #{archiveby},</if>
+            <if test="telcode != null">telcode = #{telcode},</if>
+            <if test="relativetelcode != null">relativetelcode = #{relativetelcode},</if>
+            <if test="iccardtype != null">iccardtype = #{iccardtype},</if>
+            <if test="orgid != null">orgid = #{orgid},</if>
+            <if test="openid != null">openid = #{openid},</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 PatID = #{PatID}
+        where patid = #{patid}
     </update>
 
-    <delete id="deletePatArchiveByPatID" parameterType="Long">
-        delete from pat_archive where PatID = #{PatID}
+    <delete id="deletePatArchiveByPatid" parameterType="Long">
+        delete from pat_archive where patid = #{patid}
     </delete>
 
-    <delete id="deletePatArchiveByPatIDs" parameterType="String">
-        delete from pat_archive where PatID in 
-        <foreach item="PatID" collection="array" open="(" separator="," close=")">
-            #{PatID}
+    <delete id="deletePatArchiveByPatids" parameterType="String">
+        delete from pat_archive where patid in 
+        <foreach item="patid" collection="array" open="(" separator="," close=")">
+            #{patid}
         </foreach>
     </delete>
-    
-    <delete id="deletePatMedOuthospByPatIDs" parameterType="String">
-        delete from pat_med_outhosp where PatID in 
-        <foreach item="patID" collection="array" open="(" separator="," close=")">
-            #{patID}
-        </foreach>
-    </delete>
-
-    <delete id="deletePatMedOuthospByPatID" parameterType="Long">
-        delete from pat_med_outhosp where PatID = #{patID}
-    </delete>
-
-    <insert id="batchPatMedOuthosp">
-        insert into pat_med_outhosp( 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) values
-		<foreach item="item" index="index" collection="list" separator=",">
-            ( #{item.ID}, #{item.SerialNum}, #{item.PatID}, #{item.HospitalName}, #{item.HospitalCode}, #{item.Icd10Code}, #{item.DiagName}, #{item.DeptCode}, #{item.DeptName}, #{item.DrCode}, #{item.DrName}, #{item.AdmitDate}, #{item.OrgID}, #{item.delFlag}, #{item.updateBy}, #{item.updateTime}, #{item.createBy}, #{item.createTime}, #{item.IsUpload}, #{item.uploadTime}, #{item.SchemeStatus}, #{item.DeptID}, #{item.SchemeTime}, #{item.HPI}, #{item.MainSuit})
-        </foreach>
-    </insert>
 </mapper>
\ No newline at end of file
diff --git a/smartor/src/main/resources/mapper/smartor/SvyCategoryMapper.xml b/smartor/src/main/resources/mapper/smartor/SvyCategoryMapper.xml
new file mode 100644
index 0000000..b35b1fe
--- /dev/null
+++ b/smartor/src/main/resources/mapper/smartor/SvyCategoryMapper.xml
@@ -0,0 +1,89 @@
+<?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.SvyCategoryMapper">
+    
+    <resultMap type="SvyCategory" id="SvyCategoryResult">
+        <result property="id"    column="id"    />
+        <result property="categoryname"    column="categoryname"    />
+        <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="selectSvyCategoryVo">
+        select id, categoryname, orgid, del_flag, update_by, update_time, create_by, create_time, isupload, upload_time from svy_category
+    </sql>
+
+    <select id="selectSvyCategoryList" parameterType="SvyCategory" resultMap="SvyCategoryResult">
+        <include refid="selectSvyCategoryVo"/>
+        <where>  
+            <if test="categoryname != null  and categoryname != ''"> and categoryname like concat('%', #{categoryname}, '%')</if>
+            <if test="orgid != null  and orgid != ''"> and orgid = #{orgid}</if>
+        </where>
+    </select>
+    
+    <select id="selectSvyCategoryById" parameterType="Long" resultMap="SvyCategoryResult">
+        <include refid="selectSvyCategoryVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertSvyCategory" parameterType="SvyCategory" useGeneratedKeys="true" keyProperty="id">
+        insert into svy_category
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="categoryname != null">categoryname,</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="categoryname != null">#{categoryname},</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="updateSvyCategory" parameterType="SvyCategory">
+        update svy_category
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="categoryname != null">categoryname = #{categoryname},</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="deleteSvyCategoryById" parameterType="Long">
+        delete from svy_category where id = #{id}
+    </delete>
+
+    <delete id="deleteSvyCategoryByIds" parameterType="String">
+        delete from svy_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/SvyLibExceptionMapper.xml b/smartor/src/main/resources/mapper/smartor/SvyLibExceptionMapper.xml
new file mode 100644
index 0000000..3df2520
--- /dev/null
+++ b/smartor/src/main/resources/mapper/smartor/SvyLibExceptionMapper.xml
@@ -0,0 +1,146 @@
+<?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.SvyLibExceptionMapper">
+    
+    <resultMap type="SvyLibException" id="SvyLibExceptionResult">
+        <result property="ecid"    column="ecid"    />
+        <result property="oldid"    column="oldid"    />
+        <result property="orgid"    column="orgid"    />
+        <result property="questionoptionid"    column="questionoptionid"    />
+        <result property="topicid"    column="topicid"    />
+        <result property="psqid"    column="psqid"    />
+        <result property="orand"    column="orand"    />
+        <result property="ruleverify"    column="ruleverify"    />
+        <result property="ruleconditions"    column="ruleconditions"    />
+        <result property="rulecontent"    column="rulecontent"    />
+        <result property="groupnumber"    column="groupnumber"    />
+        <result property="grouporand"    column="grouporand"    />
+        <result property="number"    column="number"    />
+        <result property="istrack"    column="istrack"    />
+        <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="selectSvyLibExceptionVo">
+        select ecid, oldid, orgid, questionoptionid, topicid, psqid, orand, ruleverify, ruleconditions, rulecontent, groupnumber, grouporand, number, istrack, del_flag, update_by, update_time, create_by, create_time, isupload, upload_time from svy_lib_exception
+    </sql>
+
+    <select id="selectSvyLibExceptionList" parameterType="SvyLibException" resultMap="SvyLibExceptionResult">
+        <include refid="selectSvyLibExceptionVo"/>
+        <where>  
+            <if test="oldid != null "> and oldid = #{oldid}</if>
+            <if test="orgid != null  and orgid != ''"> and orgid = #{orgid}</if>
+            <if test="questionoptionid != null "> and questionoptionid = #{questionoptionid}</if>
+            <if test="topicid != null "> and topicid = #{topicid}</if>
+            <if test="psqid != null "> and psqid = #{psqid}</if>
+            <if test="orand != null "> and orand = #{orand}</if>
+            <if test="ruleverify != null  and ruleverify != ''"> and ruleverify = #{ruleverify}</if>
+            <if test="ruleconditions != null  and ruleconditions != ''"> and ruleconditions = #{ruleconditions}</if>
+            <if test="rulecontent != null  and rulecontent != ''"> and rulecontent = #{rulecontent}</if>
+            <if test="groupnumber != null "> and groupnumber = #{groupnumber}</if>
+            <if test="grouporand != null "> and grouporand = #{grouporand}</if>
+            <if test="number != null "> and number = #{number}</if>
+            <if test="istrack != null "> and istrack = #{istrack}</if>
+            <if test="isupload != null "> and isupload = #{isupload}</if>
+            <if test="uploadTime != null "> and upload_time = #{uploadTime}</if>
+        </where>
+    </select>
+    
+    <select id="selectSvyLibExceptionByEcid" parameterType="Long" resultMap="SvyLibExceptionResult">
+        <include refid="selectSvyLibExceptionVo"/>
+        where ecid = #{ecid}
+    </select>
+        
+    <insert id="insertSvyLibException" parameterType="SvyLibException" useGeneratedKeys="true" keyProperty="ecid">
+        insert into svy_lib_exception
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="oldid != null">oldid,</if>
+            <if test="orgid != null">orgid,</if>
+            <if test="questionoptionid != null">questionoptionid,</if>
+            <if test="topicid != null">topicid,</if>
+            <if test="psqid != null">psqid,</if>
+            <if test="orand != null">orand,</if>
+            <if test="ruleverify != null">ruleverify,</if>
+            <if test="ruleconditions != null">ruleconditions,</if>
+            <if test="rulecontent != null">rulecontent,</if>
+            <if test="groupnumber != null">groupnumber,</if>
+            <if test="grouporand != null">grouporand,</if>
+            <if test="number != null">number,</if>
+            <if test="istrack != null">istrack,</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="oldid != null">#{oldid},</if>
+            <if test="orgid != null">#{orgid},</if>
+            <if test="questionoptionid != null">#{questionoptionid},</if>
+            <if test="topicid != null">#{topicid},</if>
+            <if test="psqid != null">#{psqid},</if>
+            <if test="orand != null">#{orand},</if>
+            <if test="ruleverify != null">#{ruleverify},</if>
+            <if test="ruleconditions != null">#{ruleconditions},</if>
+            <if test="rulecontent != null">#{rulecontent},</if>
+            <if test="groupnumber != null">#{groupnumber},</if>
+            <if test="grouporand != null">#{grouporand},</if>
+            <if test="number != null">#{number},</if>
+            <if test="istrack != null">#{istrack},</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="updateSvyLibException" parameterType="SvyLibException">
+        update svy_lib_exception
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="oldid != null">oldid = #{oldid},</if>
+            <if test="orgid != null">orgid = #{orgid},</if>
+            <if test="questionoptionid != null">questionoptionid = #{questionoptionid},</if>
+            <if test="topicid != null">topicid = #{topicid},</if>
+            <if test="psqid != null">psqid = #{psqid},</if>
+            <if test="orand != null">orand = #{orand},</if>
+            <if test="ruleverify != null">ruleverify = #{ruleverify},</if>
+            <if test="ruleconditions != null">ruleconditions = #{ruleconditions},</if>
+            <if test="rulecontent != null">rulecontent = #{rulecontent},</if>
+            <if test="groupnumber != null">groupnumber = #{groupnumber},</if>
+            <if test="grouporand != null">grouporand = #{grouporand},</if>
+            <if test="number != null">number = #{number},</if>
+            <if test="istrack != null">istrack = #{istrack},</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 ecid = #{ecid}
+    </update>
+
+    <delete id="deleteSvyLibExceptionByEcid" parameterType="Long">
+        delete from svy_lib_exception where ecid = #{ecid}
+    </delete>
+
+    <delete id="deleteSvyLibExceptionByEcids" parameterType="String">
+        delete from svy_lib_exception where ecid in 
+        <foreach item="ecid" collection="array" open="(" separator="," close=")">
+            #{ecid}
+        </foreach>
+    </delete>
+</mapper>
\ No newline at end of file
diff --git a/smartor/src/main/resources/mapper/smartor/SvyLibResultMapper.xml b/smartor/src/main/resources/mapper/smartor/SvyLibResultMapper.xml
new file mode 100644
index 0000000..c75ab3e
--- /dev/null
+++ b/smartor/src/main/resources/mapper/smartor/SvyLibResultMapper.xml
@@ -0,0 +1,111 @@
+<?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.SvyLibResultMapper">
+    
+    <resultMap type="SvyLibResult" id="SvyLibResultResult">
+        <result property="resultid"    column="resultid"    />
+        <result property="svyid"    column="svyid"    />
+        <result property="resultcontent"    column="resultcontent"    />
+        <result property="orand"    column="orand"    />
+        <result property="isshowscore"    column="isshowscore"    />
+        <result property="sort"    column="sort"    />
+        <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="selectSvyLibResultVo">
+        select resultid, svyid, resultcontent, orand, isshowscore, sort, orgid, del_flag, create_by, create_time, update_by, update_time, isupload, upload_time from svy_lib_result
+    </sql>
+
+    <select id="selectSvyLibResultList" parameterType="SvyLibResult" resultMap="SvyLibResultResult">
+        <include refid="selectSvyLibResultVo"/>
+        <where>  
+            <if test="svyid != null "> and svyid = #{svyid}</if>
+            <if test="resultcontent != null  and resultcontent != ''"> and resultcontent = #{resultcontent}</if>
+            <if test="orand != null "> and orand = #{orand}</if>
+            <if test="isshowscore != null "> and isshowscore = #{isshowscore}</if>
+            <if test="sort != null "> and sort = #{sort}</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="selectSvyLibResultByResultid" parameterType="Long" resultMap="SvyLibResultResult">
+        <include refid="selectSvyLibResultVo"/>
+        where resultid = #{resultid}
+    </select>
+        
+    <insert id="insertSvyLibResult" parameterType="SvyLibResult" useGeneratedKeys="true" keyProperty="resultid">
+        insert into svy_lib_result
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="svyid != null">svyid,</if>
+            <if test="resultcontent != null">resultcontent,</if>
+            <if test="orand != null">orand,</if>
+            <if test="isshowscore != null">isshowscore,</if>
+            <if test="sort != null">sort,</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="svyid != null">#{svyid},</if>
+            <if test="resultcontent != null">#{resultcontent},</if>
+            <if test="orand != null">#{orand},</if>
+            <if test="isshowscore != null">#{isshowscore},</if>
+            <if test="sort != null">#{sort},</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="updateSvyLibResult" parameterType="SvyLibResult">
+        update svy_lib_result
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="svyid != null">svyid = #{svyid},</if>
+            <if test="resultcontent != null">resultcontent = #{resultcontent},</if>
+            <if test="orand != null">orand = #{orand},</if>
+            <if test="isshowscore != null">isshowscore = #{isshowscore},</if>
+            <if test="sort != null">sort = #{sort},</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 resultid = #{resultid}
+    </update>
+
+    <delete id="deleteSvyLibResultByResultid" parameterType="Long">
+        delete from svy_lib_result where resultid = #{resultid}
+    </delete>
+
+    <delete id="deleteSvyLibResultByResultids" parameterType="String">
+        delete from svy_lib_result where resultid in 
+        <foreach item="resultid" collection="array" open="(" separator="," close=")">
+            #{resultid}
+        </foreach>
+    </delete>
+</mapper>
\ No newline at end of file
diff --git a/smartor/src/main/resources/mapper/smartor/SvyLibTitleMapper.xml b/smartor/src/main/resources/mapper/smartor/SvyLibTitleMapper.xml
new file mode 100644
index 0000000..3a8af1a
--- /dev/null
+++ b/smartor/src/main/resources/mapper/smartor/SvyLibTitleMapper.xml
@@ -0,0 +1,146 @@
+<?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.SvyLibTitleMapper">
+    
+    <resultMap type="SvyLibTitle" id="SvyLibTitleResult">
+        <result property="svyid"    column="svyid"    />
+        <result property="categoryid"    column="categoryid"    />
+        <result property="svycode"    column="svycode"    />
+        <result property="svyname"    column="svyname"    />
+        <result property="description"    column="description"    />
+        <result property="introduce"    column="introduce"    />
+        <result property="submitprompt"    column="submitprompt"    />
+        <result property="templateid"    column="templateid"    />
+        <result property="version"    column="version"    />
+        <result property="centerlibrarycode"    column="centerlibrarycode"    />
+        <result property="centerlibraryid"    column="centerlibraryid"    />
+        <result property="islocal"    column="islocal"    />
+        <result property="isenable"    column="isenable"    />
+        <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="selectSvyLibTitleVo">
+        select svyid, categoryid, svycode, svyname, description, introduce, submitprompt, templateid, version, centerlibrarycode, centerlibraryid, islocal, isenable, orgid, del_flag, create_by, create_time, update_by, update_time, isupload, upload_time from svy_lib_title
+    </sql>
+
+    <select id="selectSvyLibTitleList" parameterType="SvyLibTitle" resultMap="SvyLibTitleResult">
+        <include refid="selectSvyLibTitleVo"/>
+        <where>  
+            <if test="categoryid != null "> and categoryid = #{categoryid}</if>
+            <if test="svycode != null  and svycode != ''"> and svycode = #{svycode}</if>
+            <if test="svyname != null  and svyname != ''"> and svyname like concat('%', #{svyname}, '%')</if>
+            <if test="description != null  and description != ''"> and description = #{description}</if>
+            <if test="introduce != null  and introduce != ''"> and introduce = #{introduce}</if>
+            <if test="submitprompt != null  and submitprompt != ''"> and submitprompt = #{submitprompt}</if>
+            <if test="templateid != null "> and templateid = #{templateid}</if>
+            <if test="version != null "> and version = #{version}</if>
+            <if test="centerlibrarycode != null  and centerlibrarycode != ''"> and centerlibrarycode = #{centerlibrarycode}</if>
+            <if test="centerlibraryid != null "> and centerlibraryid = #{centerlibraryid}</if>
+            <if test="islocal != null "> and islocal = #{islocal}</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>
+        </where>
+    </select>
+    
+    <select id="selectSvyLibTitleBySvyid" parameterType="Long" resultMap="SvyLibTitleResult">
+        <include refid="selectSvyLibTitleVo"/>
+        where svyid = #{svyid}
+    </select>
+        
+    <insert id="insertSvyLibTitle" parameterType="SvyLibTitle" useGeneratedKeys="true" keyProperty="svyid">
+        insert into svy_lib_title
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="categoryid != null">categoryid,</if>
+            <if test="svycode != null">svycode,</if>
+            <if test="svyname != null">svyname,</if>
+            <if test="description != null">description,</if>
+            <if test="introduce != null">introduce,</if>
+            <if test="submitprompt != null">submitprompt,</if>
+            <if test="templateid != null">templateid,</if>
+            <if test="version != null">version,</if>
+            <if test="centerlibrarycode != null">centerlibrarycode,</if>
+            <if test="centerlibraryid != null">centerlibraryid,</if>
+            <if test="islocal != null">islocal,</if>
+            <if test="isenable != null">isenable,</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="categoryid != null">#{categoryid},</if>
+            <if test="svycode != null">#{svycode},</if>
+            <if test="svyname != null">#{svyname},</if>
+            <if test="description != null">#{description},</if>
+            <if test="introduce != null">#{introduce},</if>
+            <if test="submitprompt != null">#{submitprompt},</if>
+            <if test="templateid != null">#{templateid},</if>
+            <if test="version != null">#{version},</if>
+            <if test="centerlibrarycode != null">#{centerlibrarycode},</if>
+            <if test="centerlibraryid != null">#{centerlibraryid},</if>
+            <if test="islocal != null">#{islocal},</if>
+            <if test="isenable != null">#{isenable},</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="updateSvyLibTitle" parameterType="SvyLibTitle">
+        update svy_lib_title
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="categoryid != null">categoryid = #{categoryid},</if>
+            <if test="svycode != null">svycode = #{svycode},</if>
+            <if test="svyname != null">svyname = #{svyname},</if>
+            <if test="description != null">description = #{description},</if>
+            <if test="introduce != null">introduce = #{introduce},</if>
+            <if test="submitprompt != null">submitprompt = #{submitprompt},</if>
+            <if test="templateid != null">templateid = #{templateid},</if>
+            <if test="version != null">version = #{version},</if>
+            <if test="centerlibrarycode != null">centerlibrarycode = #{centerlibrarycode},</if>
+            <if test="centerlibraryid != null">centerlibraryid = #{centerlibraryid},</if>
+            <if test="islocal != null">islocal = #{islocal},</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="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 svyid = #{svyid}
+    </update>
+
+    <delete id="deleteSvyLibTitleBySvyid" parameterType="Long">
+        delete from svy_lib_title where svyid = #{svyid}
+    </delete>
+
+    <delete id="deleteSvyLibTitleBySvyids" parameterType="String">
+        delete from svy_lib_title where svyid in 
+        <foreach item="svyid" collection="array" open="(" separator="," close=")">
+            #{svyid}
+        </foreach>
+    </delete>
+</mapper>
\ No newline at end of file
diff --git a/smartor/src/main/resources/mapper/smartor/SvyLibTopicMapper.xml b/smartor/src/main/resources/mapper/smartor/SvyLibTopicMapper.xml
new file mode 100644
index 0000000..6f3ec11
--- /dev/null
+++ b/smartor/src/main/resources/mapper/smartor/SvyLibTopicMapper.xml
@@ -0,0 +1,126 @@
+<?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.SvyLibTopicMapper">
+    
+    <resultMap type="SvyLibTopic" id="SvyLibTopicResult">
+        <result property="topicid"    column="topicid"    />
+        <result property="oldid"    column="oldid"    />
+        <result property="svyid"    column="svyid"    />
+        <result property="topictype"    column="topictype"    />
+        <result property="topiccode"    column="topiccode"    />
+        <result property="topic"    column="topic"    />
+        <result property="sort"    column="sort"    />
+        <result property="ismandatory"    column="ismandatory"    />
+        <result property="ishide"    column="ishide"    />
+        <result property="delFlag"    column="del_flag"    />
+        <result property="orgid"    column="orgid"    />
+        <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="selectSvyLibTopicVo">
+        select topicid, oldid, svyid, topictype, topiccode, topic, sort, ismandatory, ishide, del_flag, orgid, create_by, create_time, update_by, update_time, isupload, upload_time from svy_lib_topic
+    </sql>
+
+    <select id="selectSvyLibTopicList" parameterType="SvyLibTopic" resultMap="SvyLibTopicResult">
+        <include refid="selectSvyLibTopicVo"/>
+        <where>  
+            <if test="oldid != null "> and oldid = #{oldid}</if>
+            <if test="svyid != null "> and svyid = #{svyid}</if>
+            <if test="topictype != null "> and topictype = #{topictype}</if>
+            <if test="topiccode != null  and topiccode != ''"> and topiccode = #{topiccode}</if>
+            <if test="topic != null  and topic != ''"> and topic = #{topic}</if>
+            <if test="sort != null "> and sort = #{sort}</if>
+            <if test="ismandatory != null "> and ismandatory = #{ismandatory}</if>
+            <if test="ishide != null "> and ishide = #{ishide}</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="selectSvyLibTopicByTopicid" parameterType="Long" resultMap="SvyLibTopicResult">
+        <include refid="selectSvyLibTopicVo"/>
+        where topicid = #{topicid}
+    </select>
+        
+    <insert id="insertSvyLibTopic" parameterType="SvyLibTopic" useGeneratedKeys="true" keyProperty="topicid">
+        insert into svy_lib_topic
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="oldid != null">oldid,</if>
+            <if test="svyid != null">svyid,</if>
+            <if test="topictype != null">topictype,</if>
+            <if test="topiccode != null">topiccode,</if>
+            <if test="topic != null">topic,</if>
+            <if test="sort != null">sort,</if>
+            <if test="ismandatory != null">ismandatory,</if>
+            <if test="ishide != null">ishide,</if>
+            <if test="delFlag != null and delFlag != ''">del_flag,</if>
+            <if test="orgid != null">orgid,</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="oldid != null">#{oldid},</if>
+            <if test="svyid != null">#{svyid},</if>
+            <if test="topictype != null">#{topictype},</if>
+            <if test="topiccode != null">#{topiccode},</if>
+            <if test="topic != null">#{topic},</if>
+            <if test="sort != null">#{sort},</if>
+            <if test="ismandatory != null">#{ismandatory},</if>
+            <if test="ishide != null">#{ishide},</if>
+            <if test="delFlag != null and delFlag != ''">#{delFlag},</if>
+            <if test="orgid != null">#{orgid},</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="updateSvyLibTopic" parameterType="SvyLibTopic">
+        update svy_lib_topic
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="oldid != null">oldid = #{oldid},</if>
+            <if test="svyid != null">svyid = #{svyid},</if>
+            <if test="topictype != null">topictype = #{topictype},</if>
+            <if test="topiccode != null">topiccode = #{topiccode},</if>
+            <if test="topic != null">topic = #{topic},</if>
+            <if test="sort != null">sort = #{sort},</if>
+            <if test="ismandatory != null">ismandatory = #{ismandatory},</if>
+            <if test="ishide != null">ishide = #{ishide},</if>
+            <if test="delFlag != null and delFlag != ''">del_flag = #{delFlag},</if>
+            <if test="orgid != null">orgid = #{orgid},</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 topicid = #{topicid}
+    </update>
+
+    <delete id="deleteSvyLibTopicByTopicid" parameterType="Long">
+        delete from svy_lib_topic where topicid = #{topicid}
+    </delete>
+
+    <delete id="deleteSvyLibTopicByTopicids" parameterType="String">
+        delete from svy_lib_topic where topicid in 
+        <foreach item="topicid" collection="array" open="(" separator="," close=")">
+            #{topicid}
+        </foreach>
+    </delete>
+</mapper>
\ No newline at end of file
diff --git a/smartor/src/main/resources/mapper/smartor/SvyLibTopicoptionMapper.xml b/smartor/src/main/resources/mapper/smartor/SvyLibTopicoptionMapper.xml
new file mode 100644
index 0000000..1e08074
--- /dev/null
+++ b/smartor/src/main/resources/mapper/smartor/SvyLibTopicoptionMapper.xml
@@ -0,0 +1,196 @@
+<?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.SvyLibTopicoptionMapper">
+    
+    <resultMap type="SvyLibTopicoption" id="SvyLibTopicoptionResult">
+        <result property="optionid"    column="optionid"    />
+        <result property="topicid"    column="topicid"    />
+        <result property="svyid"    column="svyid"    />
+        <result property="topictype"    column="topictype"    />
+        <result property="optioncode"    column="optioncode"    />
+        <result property="optioncontent"    column="optioncontent"    />
+        <result property="isexistdetail"    column="isexistdetail"    />
+        <result property="detailismandatory"    column="detailismandatory"    />
+        <result property="isexceptionitem"    column="isexceptionitem"    />
+        <result property="istrack"    column="istrack"    />
+        <result property="score"    column="score"    />
+        <result property="prompt"    column="prompt"    />
+        <result property="jump"    column="jump"    />
+        <result property="parentoptionid"    column="parentoptionid"    />
+        <result property="ismutex"    column="ismutex"    />
+        <result property="verifyrule"    column="verifyrule"    />
+        <result property="sort"    column="sort"    />
+        <result property="verificationtype"    column="verificationtype"    />
+        <result property="isrange"    column="isrange"    />
+        <result property="minrange"    column="minrange"    />
+        <result property="maxrange"    column="maxrange"    />
+        <result property="rangelength"    column="rangelength"    />
+        <result property="orgid"    column="orgid"    />
+        <result property="oldid"    column="oldid"    />
+        <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="selectSvyLibTopicoptionVo">
+        select optionid, topicid, svyid, topictype, optioncode, optioncontent, isexistdetail, detailismandatory, isexceptionitem, istrack, score, prompt, jump, parentoptionid, ismutex, verifyrule, sort, verificationtype, isrange, minrange, maxrange, rangelength, orgid, oldid, del_flag, create_by, create_time, update_by, update_time, isupload, upload_time from svy_lib_topicoption
+    </sql>
+
+    <select id="selectSvyLibTopicoptionList" parameterType="SvyLibTopicoption" resultMap="SvyLibTopicoptionResult">
+        <include refid="selectSvyLibTopicoptionVo"/>
+        <where>  
+            <if test="topicid != null "> and topicid = #{topicid}</if>
+            <if test="svyid != null "> and svyid = #{svyid}</if>
+            <if test="topictype != null "> and topictype = #{topictype}</if>
+            <if test="optioncode != null  and optioncode != ''"> and optioncode = #{optioncode}</if>
+            <if test="optioncontent != null  and optioncontent != ''"> and optioncontent = #{optioncontent}</if>
+            <if test="isexistdetail != null "> and isexistdetail = #{isexistdetail}</if>
+            <if test="detailismandatory != null "> and detailismandatory = #{detailismandatory}</if>
+            <if test="isexceptionitem != null "> and isexceptionitem = #{isexceptionitem}</if>
+            <if test="istrack != null "> and istrack = #{istrack}</if>
+            <if test="score != null "> and score = #{score}</if>
+            <if test="prompt != null  and prompt != ''"> and prompt = #{prompt}</if>
+            <if test="jump != null  and jump != ''"> and jump = #{jump}</if>
+            <if test="parentoptionid != null "> and parentoptionid = #{parentoptionid}</if>
+            <if test="ismutex != null "> and ismutex = #{ismutex}</if>
+            <if test="verifyrule != null  and verifyrule != ''"> and verifyrule = #{verifyrule}</if>
+            <if test="sort != null "> and sort = #{sort}</if>
+            <if test="verificationtype != null "> and verificationtype = #{verificationtype}</if>
+            <if test="isrange != null "> and isrange = #{isrange}</if>
+            <if test="minrange != null  and minrange != ''"> and minrange = #{minrange}</if>
+            <if test="maxrange != null  and maxrange != ''"> and maxrange = #{maxrange}</if>
+            <if test="rangelength != null "> and rangelength = #{rangelength}</if>
+            <if test="orgid != null  and orgid != ''"> and orgid = #{orgid}</if>
+            <if test="oldid != null "> and oldid = #{oldid}</if>
+            <if test="isupload != null "> and isupload = #{isupload}</if>
+            <if test="uploadTime != null "> and upload_time = #{uploadTime}</if>
+        </where>
+    </select>
+    
+    <select id="selectSvyLibTopicoptionByOptionid" parameterType="Long" resultMap="SvyLibTopicoptionResult">
+        <include refid="selectSvyLibTopicoptionVo"/>
+        where optionid = #{optionid}
+    </select>
+        
+    <insert id="insertSvyLibTopicoption" parameterType="SvyLibTopicoption" useGeneratedKeys="true" keyProperty="optionid">
+        insert into svy_lib_topicoption
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="topicid != null">topicid,</if>
+            <if test="svyid != null">svyid,</if>
+            <if test="topictype != null">topictype,</if>
+            <if test="optioncode != null">optioncode,</if>
+            <if test="optioncontent != null">optioncontent,</if>
+            <if test="isexistdetail != null">isexistdetail,</if>
+            <if test="detailismandatory != null">detailismandatory,</if>
+            <if test="isexceptionitem != null">isexceptionitem,</if>
+            <if test="istrack != null">istrack,</if>
+            <if test="score != null">score,</if>
+            <if test="prompt != null">prompt,</if>
+            <if test="jump != null">jump,</if>
+            <if test="parentoptionid != null">parentoptionid,</if>
+            <if test="ismutex != null">ismutex,</if>
+            <if test="verifyrule != null">verifyrule,</if>
+            <if test="sort != null">sort,</if>
+            <if test="verificationtype != null">verificationtype,</if>
+            <if test="isrange != null">isrange,</if>
+            <if test="minrange != null">minrange,</if>
+            <if test="maxrange != null">maxrange,</if>
+            <if test="rangelength != null">rangelength,</if>
+            <if test="orgid != null">orgid,</if>
+            <if test="oldid != null">oldid,</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="topicid != null">#{topicid},</if>
+            <if test="svyid != null">#{svyid},</if>
+            <if test="topictype != null">#{topictype},</if>
+            <if test="optioncode != null">#{optioncode},</if>
+            <if test="optioncontent != null">#{optioncontent},</if>
+            <if test="isexistdetail != null">#{isexistdetail},</if>
+            <if test="detailismandatory != null">#{detailismandatory},</if>
+            <if test="isexceptionitem != null">#{isexceptionitem},</if>
+            <if test="istrack != null">#{istrack},</if>
+            <if test="score != null">#{score},</if>
+            <if test="prompt != null">#{prompt},</if>
+            <if test="jump != null">#{jump},</if>
+            <if test="parentoptionid != null">#{parentoptionid},</if>
+            <if test="ismutex != null">#{ismutex},</if>
+            <if test="verifyrule != null">#{verifyrule},</if>
+            <if test="sort != null">#{sort},</if>
+            <if test="verificationtype != null">#{verificationtype},</if>
+            <if test="isrange != null">#{isrange},</if>
+            <if test="minrange != null">#{minrange},</if>
+            <if test="maxrange != null">#{maxrange},</if>
+            <if test="rangelength != null">#{rangelength},</if>
+            <if test="orgid != null">#{orgid},</if>
+            <if test="oldid != null">#{oldid},</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="updateSvyLibTopicoption" parameterType="SvyLibTopicoption">
+        update svy_lib_topicoption
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="topicid != null">topicid = #{topicid},</if>
+            <if test="svyid != null">svyid = #{svyid},</if>
+            <if test="topictype != null">topictype = #{topictype},</if>
+            <if test="optioncode != null">optioncode = #{optioncode},</if>
+            <if test="optioncontent != null">optioncontent = #{optioncontent},</if>
+            <if test="isexistdetail != null">isexistdetail = #{isexistdetail},</if>
+            <if test="detailismandatory != null">detailismandatory = #{detailismandatory},</if>
+            <if test="isexceptionitem != null">isexceptionitem = #{isexceptionitem},</if>
+            <if test="istrack != null">istrack = #{istrack},</if>
+            <if test="score != null">score = #{score},</if>
+            <if test="prompt != null">prompt = #{prompt},</if>
+            <if test="jump != null">jump = #{jump},</if>
+            <if test="parentoptionid != null">parentoptionid = #{parentoptionid},</if>
+            <if test="ismutex != null">ismutex = #{ismutex},</if>
+            <if test="verifyrule != null">verifyrule = #{verifyrule},</if>
+            <if test="sort != null">sort = #{sort},</if>
+            <if test="verificationtype != null">verificationtype = #{verificationtype},</if>
+            <if test="isrange != null">isrange = #{isrange},</if>
+            <if test="minrange != null">minrange = #{minrange},</if>
+            <if test="maxrange != null">maxrange = #{maxrange},</if>
+            <if test="rangelength != null">rangelength = #{rangelength},</if>
+            <if test="orgid != null">orgid = #{orgid},</if>
+            <if test="oldid != null">oldid = #{oldid},</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 optionid = #{optionid}
+    </update>
+
+    <delete id="deleteSvyLibTopicoptionByOptionid" parameterType="Long">
+        delete from svy_lib_topicoption where optionid = #{optionid}
+    </delete>
+
+    <delete id="deleteSvyLibTopicoptionByOptionids" parameterType="String">
+        delete from svy_lib_topicoption where optionid in 
+        <foreach item="optionid" collection="array" open="(" separator="," close=")">
+            #{optionid}
+        </foreach>
+    </delete>
+</mapper>
\ No newline at end of file
diff --git a/smartor1/pom.xml b/smartor1/pom.xml
new file mode 100644
index 0000000..b74987a
--- /dev/null
+++ b/smartor1/pom.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <parent>
+        <artifactId>ruoyi</artifactId>
+        <groupId>com.ruoyi</groupId>
+        <version>3.8.5</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>smartor</artifactId>
+
+    <description>
+        quartz瀹氭椂浠诲姟
+    </description>
+
+    <dependencies>
+
+
+        <!-- 閫氱敤宸ュ叿-->
+        <dependency>
+            <groupId>com.ruoyi</groupId>
+            <artifactId>ruoyi-common</artifactId>
+        </dependency>
+
+    </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/smartor1/src/main/java/com/smartor/domain/PatArchive.java b/smartor1/src/main/java/com/smartor/domain/PatArchive.java
new file mode 100644
index 0000000..8d61092
--- /dev/null
+++ b/smartor1/src/main/java/com/smartor/domain/PatArchive.java
@@ -0,0 +1,260 @@
+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_archive
+ * 
+ * @author smartor
+ * @date 2023-03-01
+ */
+public class PatArchive extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /**  鑷ID  */
+    private Long patid;
+
+    /**  濮撳悕  */
+    @Excel(name = " 濮撳悕 ")
+    private String name;
+
+    /**  鎬у埆  */
+    @Excel(name = " 鎬у埆 ")
+    private Long sex;
+
+    /**  璇佷欢鍙风爜  */
+    @Excel(name = " 璇佷欢鍙风爜 ")
+    private String iccardno;
+
+    /**  鐢熸棩  */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = " 鐢熸棩 ", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date birthdate;
+
+    /**  骞撮緞  */
+    @Excel(name = " 骞撮緞 ")
+    private Long age;
+
+    /**  鏉ユ簮  */
+    @Excel(name = " 鏉ユ簮 ")
+    private Long source;
+
+    /**  寤烘。鏃堕棿  */
+    private Date archivetime;
+
+    /**  寤烘。浜�  */
+    private String archiveby;
+
+    /**  鎵嬫満鍙风爜  */
+    @Excel(name = " 鎵嬫満鍙风爜 ")
+    private String telcode;
+
+    /**  浜插睘鍙风爜  */
+    private String relativetelcode;
+
+    /**  璇佷欢绫诲瀷  */
+    private String iccardtype;
+
+    /**  鏈烘瀯ID  */
+    @Excel(name = " 鏈烘瀯ID ")
+    private String orgid;
+
+    /**  寰俊openid  */
+    private String openid;
+
+    /**  鍒犻櫎鏍囪  */
+    private String delFlag;
+
+    /**  涓婁紶鏍囪  */
+    private Long isupload;
+
+    /**  涓婁紶鏃堕棿  */
+    private Date uploadTime;
+
+    public void setPatid(Long patid) 
+    {
+        this.patid = patid;
+    }
+
+    public Long getPatid() 
+    {
+        return patid;
+    }
+    public void setName(String name) 
+    {
+        this.name = name;
+    }
+
+    public String getName() 
+    {
+        return name;
+    }
+    public void setSex(Long sex) 
+    {
+        this.sex = sex;
+    }
+
+    public Long getSex() 
+    {
+        return sex;
+    }
+    public void setIccardno(String iccardno) 
+    {
+        this.iccardno = iccardno;
+    }
+
+    public String getIccardno() 
+    {
+        return iccardno;
+    }
+    public void setBirthdate(Date birthdate) 
+    {
+        this.birthdate = birthdate;
+    }
+
+    public Date getBirthdate() 
+    {
+        return birthdate;
+    }
+    public void setAge(Long age) 
+    {
+        this.age = age;
+    }
+
+    public Long getAge() 
+    {
+        return age;
+    }
+    public void setSource(Long source) 
+    {
+        this.source = source;
+    }
+
+    public Long getSource() 
+    {
+        return source;
+    }
+    public void setArchivetime(Date archivetime) 
+    {
+        this.archivetime = archivetime;
+    }
+
+    public Date getArchivetime() 
+    {
+        return archivetime;
+    }
+    public void setArchiveby(String archiveby) 
+    {
+        this.archiveby = archiveby;
+    }
+
+    public String getArchiveby() 
+    {
+        return archiveby;
+    }
+    public void setTelcode(String telcode) 
+    {
+        this.telcode = telcode;
+    }
+
+    public String getTelcode() 
+    {
+        return telcode;
+    }
+    public void setRelativetelcode(String relativetelcode) 
+    {
+        this.relativetelcode = relativetelcode;
+    }
+
+    public String getRelativetelcode() 
+    {
+        return relativetelcode;
+    }
+    public void setIccardtype(String iccardtype) 
+    {
+        this.iccardtype = iccardtype;
+    }
+
+    public String getIccardtype() 
+    {
+        return iccardtype;
+    }
+    public void setOrgid(String orgid) 
+    {
+        this.orgid = orgid;
+    }
+
+    public String getOrgid() 
+    {
+        return orgid;
+    }
+    public void setOpenid(String openid) 
+    {
+        this.openid = openid;
+    }
+
+    public String getOpenid() 
+    {
+        return openid;
+    }
+    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("patid", getPatid())
+            .append("name", getName())
+            .append("sex", getSex())
+            .append("iccardno", getIccardno())
+            .append("birthdate", getBirthdate())
+            .append("age", getAge())
+            .append("source", getSource())
+            .append("archivetime", getArchivetime())
+            .append("archiveby", getArchiveby())
+            .append("telcode", getTelcode())
+            .append("relativetelcode", getRelativetelcode())
+            .append("iccardtype", getIccardtype())
+            .append("orgid", getOrgid())
+            .append("openid", getOpenid())
+            .append("delFlag", getDelFlag())
+            .append("updateBy", getUpdateBy())
+            .append("updateTime", getUpdateTime())
+            .append("createBy", getCreateBy())
+            .append("createTime", getCreateTime())
+            .append("isupload", getIsupload())
+            .append("uploadTime", getUploadTime())
+            .toString();
+    }
+}
diff --git a/smartor1/src/main/java/com/smartor/domain/PatMedInhosp.java b/smartor1/src/main/java/com/smartor/domain/PatMedInhosp.java
new file mode 100644
index 0000000..7d77b1e
--- /dev/null
+++ b/smartor1/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 ruoyi
+ * @date 2023-03-01
+ */
+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/smartor1/src/main/java/com/smartor/domain/PatMedOuthosp.java
similarity index 100%
rename from smartor/src/main/java/com/smartor/domain/PatMedOuthosp.java
rename to smartor1/src/main/java/com/smartor/domain/PatMedOuthosp.java
diff --git a/smartor1/src/main/java/com/smartor/domain/SvyCategory.java b/smartor1/src/main/java/com/smartor/domain/SvyCategory.java
new file mode 100644
index 0000000..ad06d4d
--- /dev/null
+++ b/smartor1/src/main/java/com/smartor/domain/SvyCategory.java
@@ -0,0 +1,110 @@
+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;
+
+/**
+ * 闂嵎鍒嗙被瀵硅薄 svy_category
+ * 
+ * @author ruoyi
+ * @date 2023-03-02
+ */
+public class SvyCategory extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /**  鑷ID  */
+    private Long id;
+
+    /**  鍒嗙被鍚嶇О  */
+    @Excel(name = " 鍒嗙被鍚嶇О ")
+    private String categoryname;
+
+    /**  鏈烘瀯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 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 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("delFlag", getDelFlag())
+            .append("updateBy", getUpdateBy())
+            .append("updateTime", getUpdateTime())
+            .append("createBy", getCreateBy())
+            .append("createTime", getCreateTime())
+            .append("isupload", getIsupload())
+            .append("uploadTime", getUploadTime())
+            .toString();
+    }
+}
diff --git a/smartor1/src/main/java/com/smartor/domain/SvyLibException.java b/smartor1/src/main/java/com/smartor/domain/SvyLibException.java
new file mode 100644
index 0000000..4f88927
--- /dev/null
+++ b/smartor1/src/main/java/com/smartor/domain/SvyLibException.java
@@ -0,0 +1,267 @@
+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;
+
+/**
+ * 闂嵎寮傚父瀵硅薄 svy_lib_exception
+ * 
+ * @author ruoyi
+ * @date 2023-03-02
+ */
+public class SvyLibException extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /**  鑷ID  */
+    private Long ecid;
+
+    /**  涓婁釜鐗堟湰ID  */
+    @Excel(name = " 涓婁釜鐗堟湰ID ")
+    private Long oldid;
+
+    /**  鏈烘瀯ID  */
+    @Excel(name = " 鏈烘瀯ID ")
+    private String orgid;
+
+    /**  闂閫夐」ID  */
+    @Excel(name = " 闂閫夐」ID ")
+    private Long questionoptionid;
+
+    /**  棰樼洰ID  */
+    @Excel(name = " 棰樼洰ID ")
+    private Long topicid;
+
+    /**  闂嵎ID  */
+    @Excel(name = " 闂嵎ID ")
+    private Long psqid;
+
+    /**  涓旀垨  */
+    @Excel(name = " 涓旀垨 ")
+    private Long orand;
+
+    /**  瑙勫垯楠岃瘉  */
+    @Excel(name = " 瑙勫垯楠岃瘉 ")
+    private String ruleverify;
+
+    /**  瑙勫垯鏉′欢  */
+    @Excel(name = " 瑙勫垯鏉′欢 ")
+    private String ruleconditions;
+
+    /**  瑙勫垯鍐呭  */
+    @Excel(name = " 瑙勫垯鍐呭 ")
+    private String rulecontent;
+
+    /**  缁勭紪鍙�  */
+    @Excel(name = " 缁勭紪鍙� ")
+    private Long groupnumber;
+
+    /**  鐖舵潯浠禝D  */
+    @Excel(name = " 鐖舵潯浠禝D ")
+    private Long grouporand;
+
+    /**  瀛愭潯浠剁紪鍙�  */
+    @Excel(name = " 瀛愭潯浠剁紪鍙� ")
+    private Long number;
+
+    /**  鏄惁璺熻釜  */
+    @Excel(name = " 鏄惁璺熻釜 ")
+    private Long istrack;
+
+    /**  鍒犻櫎鏍囪  */
+    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 setEcid(Long ecid) 
+    {
+        this.ecid = ecid;
+    }
+
+    public Long getEcid() 
+    {
+        return ecid;
+    }
+    public void setOldid(Long oldid) 
+    {
+        this.oldid = oldid;
+    }
+
+    public Long getOldid() 
+    {
+        return oldid;
+    }
+    public void setOrgid(String orgid) 
+    {
+        this.orgid = orgid;
+    }
+
+    public String getOrgid() 
+    {
+        return orgid;
+    }
+    public void setQuestionoptionid(Long questionoptionid) 
+    {
+        this.questionoptionid = questionoptionid;
+    }
+
+    public Long getQuestionoptionid() 
+    {
+        return questionoptionid;
+    }
+    public void setTopicid(Long topicid) 
+    {
+        this.topicid = topicid;
+    }
+
+    public Long getTopicid() 
+    {
+        return topicid;
+    }
+    public void setPsqid(Long psqid) 
+    {
+        this.psqid = psqid;
+    }
+
+    public Long getPsqid() 
+    {
+        return psqid;
+    }
+    public void setOrand(Long orand) 
+    {
+        this.orand = orand;
+    }
+
+    public Long getOrand() 
+    {
+        return orand;
+    }
+    public void setRuleverify(String ruleverify) 
+    {
+        this.ruleverify = ruleverify;
+    }
+
+    public String getRuleverify() 
+    {
+        return ruleverify;
+    }
+    public void setRuleconditions(String ruleconditions) 
+    {
+        this.ruleconditions = ruleconditions;
+    }
+
+    public String getRuleconditions() 
+    {
+        return ruleconditions;
+    }
+    public void setRulecontent(String rulecontent) 
+    {
+        this.rulecontent = rulecontent;
+    }
+
+    public String getRulecontent() 
+    {
+        return rulecontent;
+    }
+    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 setNumber(Long number) 
+    {
+        this.number = number;
+    }
+
+    public Long getNumber() 
+    {
+        return number;
+    }
+    public void setIstrack(Long istrack) 
+    {
+        this.istrack = istrack;
+    }
+
+    public Long getIstrack() 
+    {
+        return istrack;
+    }
+    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("ecid", getEcid())
+            .append("oldid", getOldid())
+            .append("orgid", getOrgid())
+            .append("questionoptionid", getQuestionoptionid())
+            .append("topicid", getTopicid())
+            .append("psqid", getPsqid())
+            .append("orand", getOrand())
+            .append("ruleverify", getRuleverify())
+            .append("ruleconditions", getRuleconditions())
+            .append("rulecontent", getRulecontent())
+            .append("groupnumber", getGroupnumber())
+            .append("grouporand", getGrouporand())
+            .append("number", getNumber())
+            .append("istrack", getIstrack())
+            .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/smartor1/src/main/java/com/smartor/domain/SvyLibResult.java b/smartor1/src/main/java/com/smartor/domain/SvyLibResult.java
new file mode 100644
index 0000000..c030e18
--- /dev/null
+++ b/smartor1/src/main/java/com/smartor/domain/SvyLibResult.java
@@ -0,0 +1,169 @@
+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;
+
+/**
+ * 闂嵎缁撴灉瀵硅薄 svy_lib_result
+ * 
+ * @author ruoyi
+ * @date 2023-03-02
+ */
+public class SvyLibResult extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /**  鑷ID  */
+    private Long resultid;
+
+    /**  闂嵎ID  */
+    @Excel(name = " 闂嵎ID ")
+    private Long svyid;
+
+    /**  缁撴灉鍐呭  */
+    @Excel(name = " 缁撴灉鍐呭 ")
+    private String resultcontent;
+
+    /**  鎴栦笖  */
+    @Excel(name = " 鎴栦笖 ")
+    private Long orand;
+
+    /**  鏄惁鏄剧ず寰楀垎  */
+    @Excel(name = " 鏄惁鏄剧ず寰楀垎 ")
+    private Long isshowscore;
+
+    /**  鎺掑簭  */
+    @Excel(name = " 鎺掑簭 ")
+    private Long sort;
+
+    /**  鏈烘瀯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 setResultid(Long resultid) 
+    {
+        this.resultid = resultid;
+    }
+
+    public Long getResultid() 
+    {
+        return resultid;
+    }
+    public void setSvyid(Long svyid) 
+    {
+        this.svyid = svyid;
+    }
+
+    public Long getSvyid() 
+    {
+        return svyid;
+    }
+    public void setResultcontent(String resultcontent) 
+    {
+        this.resultcontent = resultcontent;
+    }
+
+    public String getResultcontent() 
+    {
+        return resultcontent;
+    }
+    public void setOrand(Long orand) 
+    {
+        this.orand = orand;
+    }
+
+    public Long getOrand() 
+    {
+        return orand;
+    }
+    public void setIsshowscore(Long isshowscore) 
+    {
+        this.isshowscore = isshowscore;
+    }
+
+    public Long getIsshowscore() 
+    {
+        return isshowscore;
+    }
+    public void setSort(Long sort) 
+    {
+        this.sort = sort;
+    }
+
+    public Long getSort() 
+    {
+        return sort;
+    }
+    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("resultid", getResultid())
+            .append("svyid", getSvyid())
+            .append("resultcontent", getResultcontent())
+            .append("orand", getOrand())
+            .append("isshowscore", getIsshowscore())
+            .append("sort", getSort())
+            .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/smartor1/src/main/java/com/smartor/domain/SvyLibTitle.java b/smartor1/src/main/java/com/smartor/domain/SvyLibTitle.java
new file mode 100644
index 0000000..e7de39c
--- /dev/null
+++ b/smartor1/src/main/java/com/smartor/domain/SvyLibTitle.java
@@ -0,0 +1,268 @@
+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;
+
+/**
+ * 闂嵎瀵硅薄 svy_lib_title
+ * 
+ * @author ruoyi
+ * @date 2023-03-02
+ */
+public class SvyLibTitle extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /**  鑷ID  */
+    private Long svyid;
+
+    /**  闂嵎鍒嗙被ID  */
+    @Excel(name = " 闂嵎鍒嗙被ID ")
+    private Long categoryid;
+
+    /**  闂嵎浠g爜  */
+    @Excel(name = " 闂嵎浠g爜 ")
+    private String svycode;
+
+    /**  闂嵎鍚嶇О  */
+    @Excel(name = " 闂嵎鍚嶇О ")
+    private String svyname;
+
+    /**  鎻忚堪  */
+    @Excel(name = " 鎻忚堪 ")
+    private String description;
+
+    /**  闂嵎浠嬬粛  */
+    @Excel(name = " 闂嵎浠嬬粛 ")
+    private String introduce;
+
+    /**  闂嵎鎻愮ず  */
+    @Excel(name = " 闂嵎鎻愮ず ")
+    private String submitprompt;
+
+    /**  妯℃澘ID  */
+    @Excel(name = " 妯℃澘ID ")
+    private Long templateid;
+
+    /**  鐗堟湰  */
+    @Excel(name = " 鐗堟湰 ")
+    private BigDecimal version;
+
+    /**  涓績搴撲唬鐮�  */
+    @Excel(name = " 涓績搴撲唬鐮� ")
+    private String centerlibrarycode;
+
+    /**  涓績搴揑D  */
+    @Excel(name = " 涓績搴揑D ")
+    private Long centerlibraryid;
+
+    /**  鏄惁鏈湴  */
+    @Excel(name = " 鏄惁鏈湴 ")
+    private Long islocal;
+
+    /**  鏄惁鍚敤  */
+    @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;
+
+    public void setSvyid(Long svyid) 
+    {
+        this.svyid = svyid;
+    }
+
+    public Long getSvyid() 
+    {
+        return svyid;
+    }
+    public void setCategoryid(Long categoryid) 
+    {
+        this.categoryid = categoryid;
+    }
+
+    public Long getCategoryid() 
+    {
+        return categoryid;
+    }
+    public void setSvycode(String svycode) 
+    {
+        this.svycode = svycode;
+    }
+
+    public String getSvycode() 
+    {
+        return svycode;
+    }
+    public void setSvyname(String svyname) 
+    {
+        this.svyname = svyname;
+    }
+
+    public String getSvyname() 
+    {
+        return svyname;
+    }
+    public void setDescription(String description) 
+    {
+        this.description = description;
+    }
+
+    public String getDescription() 
+    {
+        return description;
+    }
+    public void setIntroduce(String introduce) 
+    {
+        this.introduce = introduce;
+    }
+
+    public String getIntroduce() 
+    {
+        return introduce;
+    }
+    public void setSubmitprompt(String submitprompt) 
+    {
+        this.submitprompt = submitprompt;
+    }
+
+    public String getSubmitprompt() 
+    {
+        return submitprompt;
+    }
+    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 setCenterlibrarycode(String centerlibrarycode) 
+    {
+        this.centerlibrarycode = centerlibrarycode;
+    }
+
+    public String getCenterlibrarycode() 
+    {
+        return centerlibrarycode;
+    }
+    public void setCenterlibraryid(Long centerlibraryid) 
+    {
+        this.centerlibraryid = centerlibraryid;
+    }
+
+    public Long getCenterlibraryid() 
+    {
+        return centerlibraryid;
+    }
+    public void setIslocal(Long islocal) 
+    {
+        this.islocal = islocal;
+    }
+
+    public Long getIslocal() 
+    {
+        return islocal;
+    }
+    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;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("svyid", getSvyid())
+            .append("categoryid", getCategoryid())
+            .append("svycode", getSvycode())
+            .append("svyname", getSvyname())
+            .append("description", getDescription())
+            .append("introduce", getIntroduce())
+            .append("submitprompt", getSubmitprompt())
+            .append("templateid", getTemplateid())
+            .append("version", getVersion())
+            .append("centerlibrarycode", getCenterlibrarycode())
+            .append("centerlibraryid", getCenterlibraryid())
+            .append("islocal", getIslocal())
+            .append("isenable", getIsenable())
+            .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/smartor1/src/main/java/com/smartor/domain/SvyLibTopic.java b/smartor1/src/main/java/com/smartor/domain/SvyLibTopic.java
new file mode 100644
index 0000000..523bf02
--- /dev/null
+++ b/smartor1/src/main/java/com/smartor/domain/SvyLibTopic.java
@@ -0,0 +1,211 @@
+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;
+
+/**
+ * 闂嵎棰樼洰瀵硅薄 svy_lib_topic
+ * 
+ * @author ruoyi
+ * @date 2023-03-02
+ */
+public class SvyLibTopic extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /**  鑷ID  */
+    private Long topicid;
+
+    /**  鑰佺増鏈琁D  */
+    @Excel(name = " 鑰佺増鏈琁D ")
+    private Long oldid;
+
+    /**  闂嵎ID  */
+    @Excel(name = " 闂嵎ID ")
+    private Long svyid;
+
+    /**  棰樼洰绫诲瀷;鏋氫妇 1.鍗曢�� 2澶氶�� 3濉┖  */
+    @Excel(name = " 棰樼洰绫诲瀷;鏋氫妇 1.鍗曢�� 2澶氶�� 3濉┖ ")
+    private Long topictype;
+
+    /**  棰樼洰Code  */
+    @Excel(name = " 棰樼洰Code ")
+    private String topiccode;
+
+    /**  棰樼洰  */
+    @Excel(name = " 棰樼洰 ")
+    private String topic;
+
+    /**  鎺掑簭  */
+    @Excel(name = " 鎺掑簭 ")
+    private Long sort;
+
+    /**  鏄惁蹇呭~  */
+    @Excel(name = " 鏄惁蹇呭~ ")
+    private Long ismandatory;
+
+    /**  鏄惁闅愯棌  */
+    @Excel(name = " 鏄惁闅愯棌 ")
+    private Long ishide;
+
+    /**  鍒犻櫎鏍囪  */
+    private String delFlag;
+
+    /**  鏈烘瀯ID  */
+    @Excel(name = " 鏈烘瀯ID ")
+    private String orgid;
+
+    /**  涓婁紶鏍囪  */
+    @Excel(name = " 涓婁紶鏍囪 ")
+    private Long isupload;
+
+    /**  涓婁紶鏃堕棿  */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = " 涓婁紶鏃堕棿 ", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date uploadTime;
+
+    public void setTopicid(Long topicid) 
+    {
+        this.topicid = topicid;
+    }
+
+    public Long getTopicid() 
+    {
+        return topicid;
+    }
+    public void setOldid(Long oldid) 
+    {
+        this.oldid = oldid;
+    }
+
+    public Long getOldid() 
+    {
+        return oldid;
+    }
+    public void setSvyid(Long svyid) 
+    {
+        this.svyid = svyid;
+    }
+
+    public Long getSvyid() 
+    {
+        return svyid;
+    }
+    public void setTopictype(Long topictype) 
+    {
+        this.topictype = topictype;
+    }
+
+    public Long getTopictype() 
+    {
+        return topictype;
+    }
+    public void setTopiccode(String topiccode) 
+    {
+        this.topiccode = topiccode;
+    }
+
+    public String getTopiccode() 
+    {
+        return topiccode;
+    }
+    public void setTopic(String topic) 
+    {
+        this.topic = topic;
+    }
+
+    public String getTopic() 
+    {
+        return topic;
+    }
+    public void setSort(Long sort) 
+    {
+        this.sort = sort;
+    }
+
+    public Long getSort() 
+    {
+        return sort;
+    }
+    public void setIsmandatory(Long ismandatory) 
+    {
+        this.ismandatory = ismandatory;
+    }
+
+    public Long getIsmandatory() 
+    {
+        return ismandatory;
+    }
+    public void setIshide(Long ishide) 
+    {
+        this.ishide = ishide;
+    }
+
+    public Long getIshide() 
+    {
+        return ishide;
+    }
+    public void setDelFlag(String delFlag) 
+    {
+        this.delFlag = delFlag;
+    }
+
+    public String getDelFlag() 
+    {
+        return delFlag;
+    }
+    public void setOrgid(String orgid) 
+    {
+        this.orgid = orgid;
+    }
+
+    public String getOrgid() 
+    {
+        return orgid;
+    }
+    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("topicid", getTopicid())
+            .append("oldid", getOldid())
+            .append("svyid", getSvyid())
+            .append("topictype", getTopictype())
+            .append("topiccode", getTopiccode())
+            .append("topic", getTopic())
+            .append("sort", getSort())
+            .append("ismandatory", getIsmandatory())
+            .append("ishide", getIshide())
+            .append("delFlag", getDelFlag())
+            .append("orgid", getOrgid())
+            .append("createBy", getCreateBy())
+            .append("createTime", getCreateTime())
+            .append("updateBy", getUpdateBy())
+            .append("updateTime", getUpdateTime())
+            .append("isupload", getIsupload())
+            .append("uploadTime", getUploadTime())
+            .toString();
+    }
+}
diff --git a/smartor1/src/main/java/com/smartor/domain/SvyLibTopicoption.java b/smartor1/src/main/java/com/smartor/domain/SvyLibTopicoption.java
new file mode 100644
index 0000000..04a5fec
--- /dev/null
+++ b/smartor1/src/main/java/com/smartor/domain/SvyLibTopicoption.java
@@ -0,0 +1,407 @@
+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;
+
+/**
+ * 闂嵎闂閫夐」瀵硅薄 svy_lib_topicoption
+ * 
+ * @author ruoyi
+ * @date 2023-03-02
+ */
+public class SvyLibTopicoption extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /**  鑷ID  */
+    private Long optionid;
+
+    /**  棰樼洰ID  */
+    @Excel(name = " 棰樼洰ID ")
+    private Long topicid;
+
+    /**  闂嵎ID  */
+    @Excel(name = " 闂嵎ID ")
+    private Long svyid;
+
+    /**  棰樼洰绫诲瀷  */
+    @Excel(name = " 棰樼洰绫诲瀷 ")
+    private Long topictype;
+
+    /**  閫夐」Code  */
+    @Excel(name = " 閫夐」Code ")
+    private String optioncode;
+
+    /**  閫夐」鍐呭  */
+    @Excel(name = " 閫夐」鍐呭 ")
+    private String optioncontent;
+
+    /**  鏄惁瀛樺湪鏄庣粏  */
+    @Excel(name = " 鏄惁瀛樺湪鏄庣粏 ")
+    private Long isexistdetail;
+
+    /**  鏄庣粏鏄惁蹇呭~  */
+    @Excel(name = " 鏄庣粏鏄惁蹇呭~ ")
+    private Long detailismandatory;
+
+    /**  鏄惁寮傚父椤圭洰  */
+    @Excel(name = " 鏄惁寮傚父椤圭洰 ")
+    private Long isexceptionitem;
+
+    /**  鏄惁璺熻繘  */
+    @Excel(name = " 鏄惁璺熻繘 ")
+    private Long istrack;
+
+    /**  鍒嗘暟  */
+    @Excel(name = " 鍒嗘暟 ")
+    private Long score;
+
+    /**  鎻愮ず  */
+    @Excel(name = " 鎻愮ず ")
+    private String prompt;
+
+    /**  璺宠浆  */
+    @Excel(name = " 璺宠浆 ")
+    private String jump;
+
+    /**  鐖堕�夐」ID  */
+    @Excel(name = " 鐖堕�夐」ID ")
+    private Long parentoptionid;
+
+    /**  鏄惁浜掓枼  */
+    @Excel(name = " 鏄惁浜掓枼 ")
+    private Long ismutex;
+
+    /**  楠岃瘉瑙勫垯  */
+    @Excel(name = " 楠岃瘉瑙勫垯 ")
+    private String verifyrule;
+
+    /**  鎺掑簭  */
+    @Excel(name = " 鎺掑簭 ")
+    private Long sort;
+
+    /**  楠岃瘉绫诲瀷;0.涓嶉獙璇� 1.鏁存暟 2.灏忔暟 3.鎵嬫満鍙� 4.韬唤璇� 5.鏃ユ湡  */
+    @Excel(name = " 楠岃瘉绫诲瀷;0.涓嶉獙璇� 1.鏁存暟 2.灏忔暟 3.鎵嬫満鍙� 4.韬唤璇� 5.鏃ユ湡 ")
+    private Long verificationtype;
+
+    /**  鏄惁闄愬埗鑼冨洿  */
+    @Excel(name = " 鏄惁闄愬埗鑼冨洿 ")
+    private Long isrange;
+
+    /**  鏈�灏忚寖鍥�  */
+    @Excel(name = " 鏈�灏忚寖鍥� ")
+    private String minrange;
+
+    /**  鏈�澶ц寖鍥�  */
+    @Excel(name = " 鏈�澶ц寖鍥� ")
+    private String maxrange;
+
+    /**  鑼冨洿闀垮害;鐢ㄤ簬灏忔暟淇濈暀浣嶆暟  */
+    @Excel(name = " 鑼冨洿闀垮害;鐢ㄤ簬灏忔暟淇濈暀浣嶆暟 ")
+    private Long rangelength;
+
+    /**  鏈烘瀯ID  */
+    @Excel(name = " 鏈烘瀯ID ")
+    private String orgid;
+
+    /**  涓婁竴鐗堟湰ID  */
+    @Excel(name = " 涓婁竴鐗堟湰ID ")
+    private Long oldid;
+
+    /**  鍒犻櫎鏍囪  */
+    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 setOptionid(Long optionid) 
+    {
+        this.optionid = optionid;
+    }
+
+    public Long getOptionid() 
+    {
+        return optionid;
+    }
+    public void setTopicid(Long topicid) 
+    {
+        this.topicid = topicid;
+    }
+
+    public Long getTopicid() 
+    {
+        return topicid;
+    }
+    public void setSvyid(Long svyid) 
+    {
+        this.svyid = svyid;
+    }
+
+    public Long getSvyid() 
+    {
+        return svyid;
+    }
+    public void setTopictype(Long topictype) 
+    {
+        this.topictype = topictype;
+    }
+
+    public Long getTopictype() 
+    {
+        return topictype;
+    }
+    public void setOptioncode(String optioncode) 
+    {
+        this.optioncode = optioncode;
+    }
+
+    public String getOptioncode() 
+    {
+        return optioncode;
+    }
+    public void setOptioncontent(String optioncontent) 
+    {
+        this.optioncontent = optioncontent;
+    }
+
+    public String getOptioncontent() 
+    {
+        return optioncontent;
+    }
+    public void setIsexistdetail(Long isexistdetail) 
+    {
+        this.isexistdetail = isexistdetail;
+    }
+
+    public Long getIsexistdetail() 
+    {
+        return isexistdetail;
+    }
+    public void setDetailismandatory(Long detailismandatory) 
+    {
+        this.detailismandatory = detailismandatory;
+    }
+
+    public Long getDetailismandatory() 
+    {
+        return detailismandatory;
+    }
+    public void setIsexceptionitem(Long isexceptionitem) 
+    {
+        this.isexceptionitem = isexceptionitem;
+    }
+
+    public Long getIsexceptionitem() 
+    {
+        return isexceptionitem;
+    }
+    public void setIstrack(Long istrack) 
+    {
+        this.istrack = istrack;
+    }
+
+    public Long getIstrack() 
+    {
+        return istrack;
+    }
+    public void setScore(Long score) 
+    {
+        this.score = score;
+    }
+
+    public Long getScore() 
+    {
+        return score;
+    }
+    public void setPrompt(String prompt) 
+    {
+        this.prompt = prompt;
+    }
+
+    public String getPrompt() 
+    {
+        return prompt;
+    }
+    public void setJump(String jump) 
+    {
+        this.jump = jump;
+    }
+
+    public String getJump() 
+    {
+        return jump;
+    }
+    public void setParentoptionid(Long parentoptionid) 
+    {
+        this.parentoptionid = parentoptionid;
+    }
+
+    public Long getParentoptionid() 
+    {
+        return parentoptionid;
+    }
+    public void setIsmutex(Long ismutex) 
+    {
+        this.ismutex = ismutex;
+    }
+
+    public Long getIsmutex() 
+    {
+        return ismutex;
+    }
+    public void setVerifyrule(String verifyrule) 
+    {
+        this.verifyrule = verifyrule;
+    }
+
+    public String getVerifyrule() 
+    {
+        return verifyrule;
+    }
+    public void setSort(Long sort) 
+    {
+        this.sort = sort;
+    }
+
+    public Long getSort() 
+    {
+        return sort;
+    }
+    public void setVerificationtype(Long verificationtype) 
+    {
+        this.verificationtype = verificationtype;
+    }
+
+    public Long getVerificationtype() 
+    {
+        return verificationtype;
+    }
+    public void setIsrange(Long isrange) 
+    {
+        this.isrange = isrange;
+    }
+
+    public Long getIsrange() 
+    {
+        return isrange;
+    }
+    public void setMinrange(String minrange) 
+    {
+        this.minrange = minrange;
+    }
+
+    public String getMinrange() 
+    {
+        return minrange;
+    }
+    public void setMaxrange(String maxrange) 
+    {
+        this.maxrange = maxrange;
+    }
+
+    public String getMaxrange() 
+    {
+        return maxrange;
+    }
+    public void setRangelength(Long rangelength) 
+    {
+        this.rangelength = rangelength;
+    }
+
+    public Long getRangelength() 
+    {
+        return rangelength;
+    }
+    public void setOrgid(String orgid) 
+    {
+        this.orgid = orgid;
+    }
+
+    public String getOrgid() 
+    {
+        return orgid;
+    }
+    public void setOldid(Long oldid) 
+    {
+        this.oldid = oldid;
+    }
+
+    public Long getOldid() 
+    {
+        return oldid;
+    }
+    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("optionid", getOptionid())
+            .append("topicid", getTopicid())
+            .append("svyid", getSvyid())
+            .append("topictype", getTopictype())
+            .append("optioncode", getOptioncode())
+            .append("optioncontent", getOptioncontent())
+            .append("isexistdetail", getIsexistdetail())
+            .append("detailismandatory", getDetailismandatory())
+            .append("isexceptionitem", getIsexceptionitem())
+            .append("istrack", getIstrack())
+            .append("score", getScore())
+            .append("prompt", getPrompt())
+            .append("jump", getJump())
+            .append("parentoptionid", getParentoptionid())
+            .append("ismutex", getIsmutex())
+            .append("verifyrule", getVerifyrule())
+            .append("sort", getSort())
+            .append("verificationtype", getVerificationtype())
+            .append("isrange", getIsrange())
+            .append("minrange", getMinrange())
+            .append("maxrange", getMaxrange())
+            .append("rangelength", getRangelength())
+            .append("orgid", getOrgid())
+            .append("oldid", getOldid())
+            .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/smartor1/src/main/java/com/smartor/mapper/PatArchiveMapper.java b/smartor1/src/main/java/com/smartor/mapper/PatArchiveMapper.java
new file mode 100644
index 0000000..e204bad
--- /dev/null
+++ b/smartor1/src/main/java/com/smartor/mapper/PatArchiveMapper.java
@@ -0,0 +1,61 @@
+package com.smartor.mapper;
+
+import java.util.List;
+import com.smartor.domain.PatArchive;
+
+/**
+ * 鎮h�呮。妗圡apper鎺ュ彛
+ * 
+ * @author smartor
+ * @date 2023-03-01
+ */
+public interface PatArchiveMapper 
+{
+    /**
+     * 鏌ヨ鎮h�呮。妗�
+     * 
+     * @param patid 鎮h�呮。妗堜富閿�
+     * @return 鎮h�呮。妗�
+     */
+    public PatArchive selectPatArchiveByPatid(Long patid);
+
+    /**
+     * 鏌ヨ鎮h�呮。妗堝垪琛�
+     * 
+     * @param patArchive 鎮h�呮。妗�
+     * @return 鎮h�呮。妗堥泦鍚�
+     */
+    public List<PatArchive> selectPatArchiveList(PatArchive patArchive);
+
+    /**
+     * 鏂板鎮h�呮。妗�
+     * 
+     * @param patArchive 鎮h�呮。妗�
+     * @return 缁撴灉
+     */
+    public int insertPatArchive(PatArchive patArchive);
+
+    /**
+     * 淇敼鎮h�呮。妗�
+     * 
+     * @param patArchive 鎮h�呮。妗�
+     * @return 缁撴灉
+     */
+    public int updatePatArchive(PatArchive patArchive);
+
+    /**
+     * 鍒犻櫎鎮h�呮。妗�
+     * 
+     * @param patid 鎮h�呮。妗堜富閿�
+     * @return 缁撴灉
+     */
+    public int deletePatArchiveByPatid(Long patid);
+
+    /**
+     * 鎵归噺鍒犻櫎鎮h�呮。妗�
+     * 
+     * @param patids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deletePatArchiveByPatids(Long[] patids);
+}
diff --git a/smartor1/src/main/java/com/smartor/mapper/PatMedInhospMapper.java b/smartor1/src/main/java/com/smartor/mapper/PatMedInhospMapper.java
new file mode 100644
index 0000000..d96dc17
--- /dev/null
+++ b/smartor1/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 ruoyi
+ * @date 2023-03-01
+ */
+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/smartor1/src/main/java/com/smartor/mapper/SvyCategoryMapper.java b/smartor1/src/main/java/com/smartor/mapper/SvyCategoryMapper.java
new file mode 100644
index 0000000..6a06d97
--- /dev/null
+++ b/smartor1/src/main/java/com/smartor/mapper/SvyCategoryMapper.java
@@ -0,0 +1,61 @@
+package com.smartor.mapper;
+
+import java.util.List;
+import com.smartor.domain.SvyCategory;
+
+/**
+ * 闂嵎鍒嗙被Mapper鎺ュ彛
+ * 
+ * @author ruoyi
+ * @date 2023-03-02
+ */
+public interface SvyCategoryMapper 
+{
+    /**
+     * 鏌ヨ闂嵎鍒嗙被
+     * 
+     * @param id 闂嵎鍒嗙被涓婚敭
+     * @return 闂嵎鍒嗙被
+     */
+    public SvyCategory selectSvyCategoryById(Long id);
+
+    /**
+     * 鏌ヨ闂嵎鍒嗙被鍒楄〃
+     * 
+     * @param svyCategory 闂嵎鍒嗙被
+     * @return 闂嵎鍒嗙被闆嗗悎
+     */
+    public List<SvyCategory> selectSvyCategoryList(SvyCategory svyCategory);
+
+    /**
+     * 鏂板闂嵎鍒嗙被
+     * 
+     * @param svyCategory 闂嵎鍒嗙被
+     * @return 缁撴灉
+     */
+    public int insertSvyCategory(SvyCategory svyCategory);
+
+    /**
+     * 淇敼闂嵎鍒嗙被
+     * 
+     * @param svyCategory 闂嵎鍒嗙被
+     * @return 缁撴灉
+     */
+    public int updateSvyCategory(SvyCategory svyCategory);
+
+    /**
+     * 鍒犻櫎闂嵎鍒嗙被
+     * 
+     * @param id 闂嵎鍒嗙被涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteSvyCategoryById(Long id);
+
+    /**
+     * 鎵归噺鍒犻櫎闂嵎鍒嗙被
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteSvyCategoryByIds(Long[] ids);
+}
diff --git a/smartor1/src/main/java/com/smartor/mapper/SvyLibExceptionMapper.java b/smartor1/src/main/java/com/smartor/mapper/SvyLibExceptionMapper.java
new file mode 100644
index 0000000..b51cc37
--- /dev/null
+++ b/smartor1/src/main/java/com/smartor/mapper/SvyLibExceptionMapper.java
@@ -0,0 +1,61 @@
+package com.smartor.mapper;
+
+import java.util.List;
+import com.smartor.domain.SvyLibException;
+
+/**
+ * 闂嵎寮傚父Mapper鎺ュ彛
+ * 
+ * @author ruoyi
+ * @date 2023-03-02
+ */
+public interface SvyLibExceptionMapper 
+{
+    /**
+     * 鏌ヨ闂嵎寮傚父
+     * 
+     * @param ecid 闂嵎寮傚父涓婚敭
+     * @return 闂嵎寮傚父
+     */
+    public SvyLibException selectSvyLibExceptionByEcid(Long ecid);
+
+    /**
+     * 鏌ヨ闂嵎寮傚父鍒楄〃
+     * 
+     * @param svyLibException 闂嵎寮傚父
+     * @return 闂嵎寮傚父闆嗗悎
+     */
+    public List<SvyLibException> selectSvyLibExceptionList(SvyLibException svyLibException);
+
+    /**
+     * 鏂板闂嵎寮傚父
+     * 
+     * @param svyLibException 闂嵎寮傚父
+     * @return 缁撴灉
+     */
+    public int insertSvyLibException(SvyLibException svyLibException);
+
+    /**
+     * 淇敼闂嵎寮傚父
+     * 
+     * @param svyLibException 闂嵎寮傚父
+     * @return 缁撴灉
+     */
+    public int updateSvyLibException(SvyLibException svyLibException);
+
+    /**
+     * 鍒犻櫎闂嵎寮傚父
+     * 
+     * @param ecid 闂嵎寮傚父涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteSvyLibExceptionByEcid(Long ecid);
+
+    /**
+     * 鎵归噺鍒犻櫎闂嵎寮傚父
+     * 
+     * @param ecids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteSvyLibExceptionByEcids(Long[] ecids);
+}
diff --git a/smartor1/src/main/java/com/smartor/mapper/SvyLibResultMapper.java b/smartor1/src/main/java/com/smartor/mapper/SvyLibResultMapper.java
new file mode 100644
index 0000000..0dab4ed
--- /dev/null
+++ b/smartor1/src/main/java/com/smartor/mapper/SvyLibResultMapper.java
@@ -0,0 +1,61 @@
+package com.smartor.mapper;
+
+import java.util.List;
+import com.smartor.domain.SvyLibResult;
+
+/**
+ * 闂嵎缁撴灉Mapper鎺ュ彛
+ * 
+ * @author ruoyi
+ * @date 2023-03-02
+ */
+public interface SvyLibResultMapper 
+{
+    /**
+     * 鏌ヨ闂嵎缁撴灉
+     * 
+     * @param resultid 闂嵎缁撴灉涓婚敭
+     * @return 闂嵎缁撴灉
+     */
+    public SvyLibResult selectSvyLibResultByResultid(Long resultid);
+
+    /**
+     * 鏌ヨ闂嵎缁撴灉鍒楄〃
+     * 
+     * @param svyLibResult 闂嵎缁撴灉
+     * @return 闂嵎缁撴灉闆嗗悎
+     */
+    public List<SvyLibResult> selectSvyLibResultList(SvyLibResult svyLibResult);
+
+    /**
+     * 鏂板闂嵎缁撴灉
+     * 
+     * @param svyLibResult 闂嵎缁撴灉
+     * @return 缁撴灉
+     */
+    public int insertSvyLibResult(SvyLibResult svyLibResult);
+
+    /**
+     * 淇敼闂嵎缁撴灉
+     * 
+     * @param svyLibResult 闂嵎缁撴灉
+     * @return 缁撴灉
+     */
+    public int updateSvyLibResult(SvyLibResult svyLibResult);
+
+    /**
+     * 鍒犻櫎闂嵎缁撴灉
+     * 
+     * @param resultid 闂嵎缁撴灉涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteSvyLibResultByResultid(Long resultid);
+
+    /**
+     * 鎵归噺鍒犻櫎闂嵎缁撴灉
+     * 
+     * @param resultids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteSvyLibResultByResultids(Long[] resultids);
+}
diff --git a/smartor1/src/main/java/com/smartor/mapper/SvyLibTitleMapper.java b/smartor1/src/main/java/com/smartor/mapper/SvyLibTitleMapper.java
new file mode 100644
index 0000000..bc0f712
--- /dev/null
+++ b/smartor1/src/main/java/com/smartor/mapper/SvyLibTitleMapper.java
@@ -0,0 +1,61 @@
+package com.smartor.mapper;
+
+import java.util.List;
+import com.smartor.domain.SvyLibTitle;
+
+/**
+ * 闂嵎Mapper鎺ュ彛
+ * 
+ * @author ruoyi
+ * @date 2023-03-02
+ */
+public interface SvyLibTitleMapper 
+{
+    /**
+     * 鏌ヨ闂嵎
+     * 
+     * @param svyid 闂嵎涓婚敭
+     * @return 闂嵎
+     */
+    public SvyLibTitle selectSvyLibTitleBySvyid(Long svyid);
+
+    /**
+     * 鏌ヨ闂嵎鍒楄〃
+     * 
+     * @param svyLibTitle 闂嵎
+     * @return 闂嵎闆嗗悎
+     */
+    public List<SvyLibTitle> selectSvyLibTitleList(SvyLibTitle svyLibTitle);
+
+    /**
+     * 鏂板闂嵎
+     * 
+     * @param svyLibTitle 闂嵎
+     * @return 缁撴灉
+     */
+    public int insertSvyLibTitle(SvyLibTitle svyLibTitle);
+
+    /**
+     * 淇敼闂嵎
+     * 
+     * @param svyLibTitle 闂嵎
+     * @return 缁撴灉
+     */
+    public int updateSvyLibTitle(SvyLibTitle svyLibTitle);
+
+    /**
+     * 鍒犻櫎闂嵎
+     * 
+     * @param svyid 闂嵎涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteSvyLibTitleBySvyid(Long svyid);
+
+    /**
+     * 鎵归噺鍒犻櫎闂嵎
+     * 
+     * @param svyids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteSvyLibTitleBySvyids(Long[] svyids);
+}
diff --git a/smartor1/src/main/java/com/smartor/mapper/SvyLibTopicMapper.java b/smartor1/src/main/java/com/smartor/mapper/SvyLibTopicMapper.java
new file mode 100644
index 0000000..3c3c073
--- /dev/null
+++ b/smartor1/src/main/java/com/smartor/mapper/SvyLibTopicMapper.java
@@ -0,0 +1,61 @@
+package com.smartor.mapper;
+
+import java.util.List;
+import com.smartor.domain.SvyLibTopic;
+
+/**
+ * 闂嵎棰樼洰Mapper鎺ュ彛
+ * 
+ * @author ruoyi
+ * @date 2023-03-02
+ */
+public interface SvyLibTopicMapper 
+{
+    /**
+     * 鏌ヨ闂嵎棰樼洰
+     * 
+     * @param topicid 闂嵎棰樼洰涓婚敭
+     * @return 闂嵎棰樼洰
+     */
+    public SvyLibTopic selectSvyLibTopicByTopicid(Long topicid);
+
+    /**
+     * 鏌ヨ闂嵎棰樼洰鍒楄〃
+     * 
+     * @param svyLibTopic 闂嵎棰樼洰
+     * @return 闂嵎棰樼洰闆嗗悎
+     */
+    public List<SvyLibTopic> selectSvyLibTopicList(SvyLibTopic svyLibTopic);
+
+    /**
+     * 鏂板闂嵎棰樼洰
+     * 
+     * @param svyLibTopic 闂嵎棰樼洰
+     * @return 缁撴灉
+     */
+    public int insertSvyLibTopic(SvyLibTopic svyLibTopic);
+
+    /**
+     * 淇敼闂嵎棰樼洰
+     * 
+     * @param svyLibTopic 闂嵎棰樼洰
+     * @return 缁撴灉
+     */
+    public int updateSvyLibTopic(SvyLibTopic svyLibTopic);
+
+    /**
+     * 鍒犻櫎闂嵎棰樼洰
+     * 
+     * @param topicid 闂嵎棰樼洰涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteSvyLibTopicByTopicid(Long topicid);
+
+    /**
+     * 鎵归噺鍒犻櫎闂嵎棰樼洰
+     * 
+     * @param topicids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteSvyLibTopicByTopicids(Long[] topicids);
+}
diff --git a/smartor1/src/main/java/com/smartor/mapper/SvyLibTopicoptionMapper.java b/smartor1/src/main/java/com/smartor/mapper/SvyLibTopicoptionMapper.java
new file mode 100644
index 0000000..4b9252f
--- /dev/null
+++ b/smartor1/src/main/java/com/smartor/mapper/SvyLibTopicoptionMapper.java
@@ -0,0 +1,61 @@
+package com.smartor.mapper;
+
+import java.util.List;
+import com.smartor.domain.SvyLibTopicoption;
+
+/**
+ * 闂嵎闂閫夐」Mapper鎺ュ彛
+ * 
+ * @author ruoyi
+ * @date 2023-03-02
+ */
+public interface SvyLibTopicoptionMapper 
+{
+    /**
+     * 鏌ヨ闂嵎闂閫夐」
+     * 
+     * @param optionid 闂嵎闂閫夐」涓婚敭
+     * @return 闂嵎闂閫夐」
+     */
+    public SvyLibTopicoption selectSvyLibTopicoptionByOptionid(Long optionid);
+
+    /**
+     * 鏌ヨ闂嵎闂閫夐」鍒楄〃
+     * 
+     * @param svyLibTopicoption 闂嵎闂閫夐」
+     * @return 闂嵎闂閫夐」闆嗗悎
+     */
+    public List<SvyLibTopicoption> selectSvyLibTopicoptionList(SvyLibTopicoption svyLibTopicoption);
+
+    /**
+     * 鏂板闂嵎闂閫夐」
+     * 
+     * @param svyLibTopicoption 闂嵎闂閫夐」
+     * @return 缁撴灉
+     */
+    public int insertSvyLibTopicoption(SvyLibTopicoption svyLibTopicoption);
+
+    /**
+     * 淇敼闂嵎闂閫夐」
+     * 
+     * @param svyLibTopicoption 闂嵎闂閫夐」
+     * @return 缁撴灉
+     */
+    public int updateSvyLibTopicoption(SvyLibTopicoption svyLibTopicoption);
+
+    /**
+     * 鍒犻櫎闂嵎闂閫夐」
+     * 
+     * @param optionid 闂嵎闂閫夐」涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteSvyLibTopicoptionByOptionid(Long optionid);
+
+    /**
+     * 鎵归噺鍒犻櫎闂嵎闂閫夐」
+     * 
+     * @param optionids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteSvyLibTopicoptionByOptionids(Long[] optionids);
+}
diff --git a/smartor1/src/main/java/com/smartor/service/IPatArchiveService.java b/smartor1/src/main/java/com/smartor/service/IPatArchiveService.java
new file mode 100644
index 0000000..6b77d52
--- /dev/null
+++ b/smartor1/src/main/java/com/smartor/service/IPatArchiveService.java
@@ -0,0 +1,61 @@
+package com.smartor.service;
+
+import java.util.List;
+import com.smartor.domain.PatArchive;
+
+/**
+ * 鎮h�呮。妗圫ervice鎺ュ彛
+ * 
+ * @author smartor
+ * @date 2023-03-01
+ */
+public interface IPatArchiveService 
+{
+    /**
+     * 鏌ヨ鎮h�呮。妗�
+     * 
+     * @param patid 鎮h�呮。妗堜富閿�
+     * @return 鎮h�呮。妗�
+     */
+    public PatArchive selectPatArchiveByPatid(Long patid);
+
+    /**
+     * 鏌ヨ鎮h�呮。妗堝垪琛�
+     * 
+     * @param patArchive 鎮h�呮。妗�
+     * @return 鎮h�呮。妗堥泦鍚�
+     */
+    public List<PatArchive> selectPatArchiveList(PatArchive patArchive);
+
+    /**
+     * 鏂板鎮h�呮。妗�
+     * 
+     * @param patArchive 鎮h�呮。妗�
+     * @return 缁撴灉
+     */
+    public int insertPatArchive(PatArchive patArchive);
+
+    /**
+     * 淇敼鎮h�呮。妗�
+     * 
+     * @param patArchive 鎮h�呮。妗�
+     * @return 缁撴灉
+     */
+    public int updatePatArchive(PatArchive patArchive);
+
+    /**
+     * 鎵归噺鍒犻櫎鎮h�呮。妗�
+     * 
+     * @param patids 闇�瑕佸垹闄ょ殑鎮h�呮。妗堜富閿泦鍚�
+     * @return 缁撴灉
+     */
+    public int deletePatArchiveByPatids(Long[] patids);
+
+    /**
+     * 鍒犻櫎鎮h�呮。妗堜俊鎭�
+     * 
+     * @param patid 鎮h�呮。妗堜富閿�
+     * @return 缁撴灉
+     */
+    public int deletePatArchiveByPatid(Long patid);
+}
diff --git a/smartor1/src/main/java/com/smartor/service/IPatMedInhospService.java b/smartor1/src/main/java/com/smartor/service/IPatMedInhospService.java
new file mode 100644
index 0000000..37a996c
--- /dev/null
+++ b/smartor1/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 ruoyi
+ * @date 2023-03-01
+ */
+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/smartor1/src/main/java/com/smartor/service/ISvyCategoryService.java b/smartor1/src/main/java/com/smartor/service/ISvyCategoryService.java
new file mode 100644
index 0000000..e6995fd
--- /dev/null
+++ b/smartor1/src/main/java/com/smartor/service/ISvyCategoryService.java
@@ -0,0 +1,61 @@
+package com.smartor.service;
+
+import java.util.List;
+import com.smartor.domain.SvyCategory;
+
+/**
+ * 闂嵎鍒嗙被Service鎺ュ彛
+ * 
+ * @author ruoyi
+ * @date 2023-03-02
+ */
+public interface ISvyCategoryService 
+{
+    /**
+     * 鏌ヨ闂嵎鍒嗙被
+     * 
+     * @param id 闂嵎鍒嗙被涓婚敭
+     * @return 闂嵎鍒嗙被
+     */
+    public SvyCategory selectSvyCategoryById(Long id);
+
+    /**
+     * 鏌ヨ闂嵎鍒嗙被鍒楄〃
+     * 
+     * @param svyCategory 闂嵎鍒嗙被
+     * @return 闂嵎鍒嗙被闆嗗悎
+     */
+    public List<SvyCategory> selectSvyCategoryList(SvyCategory svyCategory);
+
+    /**
+     * 鏂板闂嵎鍒嗙被
+     * 
+     * @param svyCategory 闂嵎鍒嗙被
+     * @return 缁撴灉
+     */
+    public int insertSvyCategory(SvyCategory svyCategory);
+
+    /**
+     * 淇敼闂嵎鍒嗙被
+     * 
+     * @param svyCategory 闂嵎鍒嗙被
+     * @return 缁撴灉
+     */
+    public int updateSvyCategory(SvyCategory svyCategory);
+
+    /**
+     * 鎵归噺鍒犻櫎闂嵎鍒嗙被
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑闂嵎鍒嗙被涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteSvyCategoryByIds(Long[] ids);
+
+    /**
+     * 鍒犻櫎闂嵎鍒嗙被淇℃伅
+     * 
+     * @param id 闂嵎鍒嗙被涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteSvyCategoryById(Long id);
+}
diff --git a/smartor1/src/main/java/com/smartor/service/ISvyLibExceptionService.java b/smartor1/src/main/java/com/smartor/service/ISvyLibExceptionService.java
new file mode 100644
index 0000000..607a076
--- /dev/null
+++ b/smartor1/src/main/java/com/smartor/service/ISvyLibExceptionService.java
@@ -0,0 +1,61 @@
+package com.smartor.service;
+
+import java.util.List;
+import com.smartor.domain.SvyLibException;
+
+/**
+ * 闂嵎寮傚父Service鎺ュ彛
+ * 
+ * @author ruoyi
+ * @date 2023-03-02
+ */
+public interface ISvyLibExceptionService 
+{
+    /**
+     * 鏌ヨ闂嵎寮傚父
+     * 
+     * @param ecid 闂嵎寮傚父涓婚敭
+     * @return 闂嵎寮傚父
+     */
+    public SvyLibException selectSvyLibExceptionByEcid(Long ecid);
+
+    /**
+     * 鏌ヨ闂嵎寮傚父鍒楄〃
+     * 
+     * @param svyLibException 闂嵎寮傚父
+     * @return 闂嵎寮傚父闆嗗悎
+     */
+    public List<SvyLibException> selectSvyLibExceptionList(SvyLibException svyLibException);
+
+    /**
+     * 鏂板闂嵎寮傚父
+     * 
+     * @param svyLibException 闂嵎寮傚父
+     * @return 缁撴灉
+     */
+    public int insertSvyLibException(SvyLibException svyLibException);
+
+    /**
+     * 淇敼闂嵎寮傚父
+     * 
+     * @param svyLibException 闂嵎寮傚父
+     * @return 缁撴灉
+     */
+    public int updateSvyLibException(SvyLibException svyLibException);
+
+    /**
+     * 鎵归噺鍒犻櫎闂嵎寮傚父
+     * 
+     * @param ecids 闇�瑕佸垹闄ょ殑闂嵎寮傚父涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteSvyLibExceptionByEcids(Long[] ecids);
+
+    /**
+     * 鍒犻櫎闂嵎寮傚父淇℃伅
+     * 
+     * @param ecid 闂嵎寮傚父涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteSvyLibExceptionByEcid(Long ecid);
+}
diff --git a/smartor1/src/main/java/com/smartor/service/ISvyLibResultService.java b/smartor1/src/main/java/com/smartor/service/ISvyLibResultService.java
new file mode 100644
index 0000000..d20dba4
--- /dev/null
+++ b/smartor1/src/main/java/com/smartor/service/ISvyLibResultService.java
@@ -0,0 +1,61 @@
+package com.smartor.service;
+
+import java.util.List;
+import com.smartor.domain.SvyLibResult;
+
+/**
+ * 闂嵎缁撴灉Service鎺ュ彛
+ * 
+ * @author ruoyi
+ * @date 2023-03-02
+ */
+public interface ISvyLibResultService 
+{
+    /**
+     * 鏌ヨ闂嵎缁撴灉
+     * 
+     * @param resultid 闂嵎缁撴灉涓婚敭
+     * @return 闂嵎缁撴灉
+     */
+    public SvyLibResult selectSvyLibResultByResultid(Long resultid);
+
+    /**
+     * 鏌ヨ闂嵎缁撴灉鍒楄〃
+     * 
+     * @param svyLibResult 闂嵎缁撴灉
+     * @return 闂嵎缁撴灉闆嗗悎
+     */
+    public List<SvyLibResult> selectSvyLibResultList(SvyLibResult svyLibResult);
+
+    /**
+     * 鏂板闂嵎缁撴灉
+     * 
+     * @param svyLibResult 闂嵎缁撴灉
+     * @return 缁撴灉
+     */
+    public int insertSvyLibResult(SvyLibResult svyLibResult);
+
+    /**
+     * 淇敼闂嵎缁撴灉
+     * 
+     * @param svyLibResult 闂嵎缁撴灉
+     * @return 缁撴灉
+     */
+    public int updateSvyLibResult(SvyLibResult svyLibResult);
+
+    /**
+     * 鎵归噺鍒犻櫎闂嵎缁撴灉
+     * 
+     * @param resultids 闇�瑕佸垹闄ょ殑闂嵎缁撴灉涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteSvyLibResultByResultids(Long[] resultids);
+
+    /**
+     * 鍒犻櫎闂嵎缁撴灉淇℃伅
+     * 
+     * @param resultid 闂嵎缁撴灉涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteSvyLibResultByResultid(Long resultid);
+}
diff --git a/smartor1/src/main/java/com/smartor/service/ISvyLibTitleService.java b/smartor1/src/main/java/com/smartor/service/ISvyLibTitleService.java
new file mode 100644
index 0000000..c57af4e
--- /dev/null
+++ b/smartor1/src/main/java/com/smartor/service/ISvyLibTitleService.java
@@ -0,0 +1,61 @@
+package com.smartor.service;
+
+import java.util.List;
+import com.smartor.domain.SvyLibTitle;
+
+/**
+ * 闂嵎Service鎺ュ彛
+ * 
+ * @author ruoyi
+ * @date 2023-03-02
+ */
+public interface ISvyLibTitleService 
+{
+    /**
+     * 鏌ヨ闂嵎
+     * 
+     * @param svyid 闂嵎涓婚敭
+     * @return 闂嵎
+     */
+    public SvyLibTitle selectSvyLibTitleBySvyid(Long svyid);
+
+    /**
+     * 鏌ヨ闂嵎鍒楄〃
+     * 
+     * @param svyLibTitle 闂嵎
+     * @return 闂嵎闆嗗悎
+     */
+    public List<SvyLibTitle> selectSvyLibTitleList(SvyLibTitle svyLibTitle);
+
+    /**
+     * 鏂板闂嵎
+     * 
+     * @param svyLibTitle 闂嵎
+     * @return 缁撴灉
+     */
+    public int insertSvyLibTitle(SvyLibTitle svyLibTitle);
+
+    /**
+     * 淇敼闂嵎
+     * 
+     * @param svyLibTitle 闂嵎
+     * @return 缁撴灉
+     */
+    public int updateSvyLibTitle(SvyLibTitle svyLibTitle);
+
+    /**
+     * 鎵归噺鍒犻櫎闂嵎
+     * 
+     * @param svyids 闇�瑕佸垹闄ょ殑闂嵎涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteSvyLibTitleBySvyids(Long[] svyids);
+
+    /**
+     * 鍒犻櫎闂嵎淇℃伅
+     * 
+     * @param svyid 闂嵎涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteSvyLibTitleBySvyid(Long svyid);
+}
diff --git a/smartor1/src/main/java/com/smartor/service/ISvyLibTopicService.java b/smartor1/src/main/java/com/smartor/service/ISvyLibTopicService.java
new file mode 100644
index 0000000..2d2fae9
--- /dev/null
+++ b/smartor1/src/main/java/com/smartor/service/ISvyLibTopicService.java
@@ -0,0 +1,61 @@
+package com.smartor.service;
+
+import java.util.List;
+import com.smartor.domain.SvyLibTopic;
+
+/**
+ * 闂嵎棰樼洰Service鎺ュ彛
+ * 
+ * @author ruoyi
+ * @date 2023-03-02
+ */
+public interface ISvyLibTopicService 
+{
+    /**
+     * 鏌ヨ闂嵎棰樼洰
+     * 
+     * @param topicid 闂嵎棰樼洰涓婚敭
+     * @return 闂嵎棰樼洰
+     */
+    public SvyLibTopic selectSvyLibTopicByTopicid(Long topicid);
+
+    /**
+     * 鏌ヨ闂嵎棰樼洰鍒楄〃
+     * 
+     * @param svyLibTopic 闂嵎棰樼洰
+     * @return 闂嵎棰樼洰闆嗗悎
+     */
+    public List<SvyLibTopic> selectSvyLibTopicList(SvyLibTopic svyLibTopic);
+
+    /**
+     * 鏂板闂嵎棰樼洰
+     * 
+     * @param svyLibTopic 闂嵎棰樼洰
+     * @return 缁撴灉
+     */
+    public int insertSvyLibTopic(SvyLibTopic svyLibTopic);
+
+    /**
+     * 淇敼闂嵎棰樼洰
+     * 
+     * @param svyLibTopic 闂嵎棰樼洰
+     * @return 缁撴灉
+     */
+    public int updateSvyLibTopic(SvyLibTopic svyLibTopic);
+
+    /**
+     * 鎵归噺鍒犻櫎闂嵎棰樼洰
+     * 
+     * @param topicids 闇�瑕佸垹闄ょ殑闂嵎棰樼洰涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteSvyLibTopicByTopicids(Long[] topicids);
+
+    /**
+     * 鍒犻櫎闂嵎棰樼洰淇℃伅
+     * 
+     * @param topicid 闂嵎棰樼洰涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteSvyLibTopicByTopicid(Long topicid);
+}
diff --git a/smartor1/src/main/java/com/smartor/service/ISvyLibTopicoptionService.java b/smartor1/src/main/java/com/smartor/service/ISvyLibTopicoptionService.java
new file mode 100644
index 0000000..f6357e0
--- /dev/null
+++ b/smartor1/src/main/java/com/smartor/service/ISvyLibTopicoptionService.java
@@ -0,0 +1,61 @@
+package com.smartor.service;
+
+import java.util.List;
+import com.smartor.domain.SvyLibTopicoption;
+
+/**
+ * 闂嵎闂閫夐」Service鎺ュ彛
+ * 
+ * @author ruoyi
+ * @date 2023-03-02
+ */
+public interface ISvyLibTopicoptionService 
+{
+    /**
+     * 鏌ヨ闂嵎闂閫夐」
+     * 
+     * @param optionid 闂嵎闂閫夐」涓婚敭
+     * @return 闂嵎闂閫夐」
+     */
+    public SvyLibTopicoption selectSvyLibTopicoptionByOptionid(Long optionid);
+
+    /**
+     * 鏌ヨ闂嵎闂閫夐」鍒楄〃
+     * 
+     * @param svyLibTopicoption 闂嵎闂閫夐」
+     * @return 闂嵎闂閫夐」闆嗗悎
+     */
+    public List<SvyLibTopicoption> selectSvyLibTopicoptionList(SvyLibTopicoption svyLibTopicoption);
+
+    /**
+     * 鏂板闂嵎闂閫夐」
+     * 
+     * @param svyLibTopicoption 闂嵎闂閫夐」
+     * @return 缁撴灉
+     */
+    public int insertSvyLibTopicoption(SvyLibTopicoption svyLibTopicoption);
+
+    /**
+     * 淇敼闂嵎闂閫夐」
+     * 
+     * @param svyLibTopicoption 闂嵎闂閫夐」
+     * @return 缁撴灉
+     */
+    public int updateSvyLibTopicoption(SvyLibTopicoption svyLibTopicoption);
+
+    /**
+     * 鎵归噺鍒犻櫎闂嵎闂閫夐」
+     * 
+     * @param optionids 闇�瑕佸垹闄ょ殑闂嵎闂閫夐」涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteSvyLibTopicoptionByOptionids(Long[] optionids);
+
+    /**
+     * 鍒犻櫎闂嵎闂閫夐」淇℃伅
+     * 
+     * @param optionid 闂嵎闂閫夐」涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteSvyLibTopicoptionByOptionid(Long optionid);
+}
diff --git a/smartor1/src/main/java/com/smartor/service/impl/PatArchiveServiceImpl.java b/smartor1/src/main/java/com/smartor/service/impl/PatArchiveServiceImpl.java
new file mode 100644
index 0000000..30bf31c
--- /dev/null
+++ b/smartor1/src/main/java/com/smartor/service/impl/PatArchiveServiceImpl.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.PatArchiveMapper;
+import com.smartor.domain.PatArchive;
+import com.smartor.service.IPatArchiveService;
+
+/**
+ * 鎮h�呮。妗圫ervice涓氬姟灞傚鐞�
+ * 
+ * @author smartor
+ * @date 2023-03-01
+ */
+@Service
+public class PatArchiveServiceImpl implements IPatArchiveService 
+{
+    @Autowired
+    private PatArchiveMapper patArchiveMapper;
+
+    /**
+     * 鏌ヨ鎮h�呮。妗�
+     * 
+     * @param patid 鎮h�呮。妗堜富閿�
+     * @return 鎮h�呮。妗�
+     */
+    @Override
+    public PatArchive selectPatArchiveByPatid(Long patid)
+    {
+        return patArchiveMapper.selectPatArchiveByPatid(patid);
+    }
+
+    /**
+     * 鏌ヨ鎮h�呮。妗堝垪琛�
+     * 
+     * @param patArchive 鎮h�呮。妗�
+     * @return 鎮h�呮。妗�
+     */
+    @Override
+    public List<PatArchive> selectPatArchiveList(PatArchive patArchive)
+    {
+        return patArchiveMapper.selectPatArchiveList(patArchive);
+    }
+
+    /**
+     * 鏂板鎮h�呮。妗�
+     * 
+     * @param patArchive 鎮h�呮。妗�
+     * @return 缁撴灉
+     */
+    @Override
+    public int insertPatArchive(PatArchive patArchive)
+    {
+        patArchive.setCreateTime(DateUtils.getNowDate());
+        return patArchiveMapper.insertPatArchive(patArchive);
+    }
+
+    /**
+     * 淇敼鎮h�呮。妗�
+     * 
+     * @param patArchive 鎮h�呮。妗�
+     * @return 缁撴灉
+     */
+    @Override
+    public int updatePatArchive(PatArchive patArchive)
+    {
+        patArchive.setUpdateTime(DateUtils.getNowDate());
+        return patArchiveMapper.updatePatArchive(patArchive);
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎鎮h�呮。妗�
+     * 
+     * @param patids 闇�瑕佸垹闄ょ殑鎮h�呮。妗堜富閿�
+     * @return 缁撴灉
+     */
+    @Override
+    public int deletePatArchiveByPatids(Long[] patids)
+    {
+        return patArchiveMapper.deletePatArchiveByPatids(patids);
+    }
+
+    /**
+     * 鍒犻櫎鎮h�呮。妗堜俊鎭�
+     * 
+     * @param patid 鎮h�呮。妗堜富閿�
+     * @return 缁撴灉
+     */
+    @Override
+    public int deletePatArchiveByPatid(Long patid)
+    {
+        return patArchiveMapper.deletePatArchiveByPatid(patid);
+    }
+}
diff --git a/smartor1/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java b/smartor1/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
new file mode 100644
index 0000000..8d0c47f
--- /dev/null
+++ b/smartor1/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 ruoyi
+ * @date 2023-03-01
+ */
+@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/smartor1/src/main/java/com/smartor/service/impl/SvyCategoryServiceImpl.java b/smartor1/src/main/java/com/smartor/service/impl/SvyCategoryServiceImpl.java
new file mode 100644
index 0000000..721e1f9
--- /dev/null
+++ b/smartor1/src/main/java/com/smartor/service/impl/SvyCategoryServiceImpl.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.SvyCategoryMapper;
+import com.smartor.domain.SvyCategory;
+import com.smartor.service.ISvyCategoryService;
+
+/**
+ * 闂嵎鍒嗙被Service涓氬姟灞傚鐞�
+ * 
+ * @author ruoyi
+ * @date 2023-03-02
+ */
+@Service
+public class SvyCategoryServiceImpl implements ISvyCategoryService 
+{
+    @Autowired
+    private SvyCategoryMapper svyCategoryMapper;
+
+    /**
+     * 鏌ヨ闂嵎鍒嗙被
+     * 
+     * @param id 闂嵎鍒嗙被涓婚敭
+     * @return 闂嵎鍒嗙被
+     */
+    @Override
+    public SvyCategory selectSvyCategoryById(Long id)
+    {
+        return svyCategoryMapper.selectSvyCategoryById(id);
+    }
+
+    /**
+     * 鏌ヨ闂嵎鍒嗙被鍒楄〃
+     * 
+     * @param svyCategory 闂嵎鍒嗙被
+     * @return 闂嵎鍒嗙被
+     */
+    @Override
+    public List<SvyCategory> selectSvyCategoryList(SvyCategory svyCategory)
+    {
+        return svyCategoryMapper.selectSvyCategoryList(svyCategory);
+    }
+
+    /**
+     * 鏂板闂嵎鍒嗙被
+     * 
+     * @param svyCategory 闂嵎鍒嗙被
+     * @return 缁撴灉
+     */
+    @Override
+    public int insertSvyCategory(SvyCategory svyCategory)
+    {
+        svyCategory.setCreateTime(DateUtils.getNowDate());
+        return svyCategoryMapper.insertSvyCategory(svyCategory);
+    }
+
+    /**
+     * 淇敼闂嵎鍒嗙被
+     * 
+     * @param svyCategory 闂嵎鍒嗙被
+     * @return 缁撴灉
+     */
+    @Override
+    public int updateSvyCategory(SvyCategory svyCategory)
+    {
+        svyCategory.setUpdateTime(DateUtils.getNowDate());
+        return svyCategoryMapper.updateSvyCategory(svyCategory);
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎闂嵎鍒嗙被
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑闂嵎鍒嗙被涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteSvyCategoryByIds(Long[] ids)
+    {
+        return svyCategoryMapper.deleteSvyCategoryByIds(ids);
+    }
+
+    /**
+     * 鍒犻櫎闂嵎鍒嗙被淇℃伅
+     * 
+     * @param id 闂嵎鍒嗙被涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteSvyCategoryById(Long id)
+    {
+        return svyCategoryMapper.deleteSvyCategoryById(id);
+    }
+}
diff --git a/smartor1/src/main/java/com/smartor/service/impl/SvyLibExceptionServiceImpl.java b/smartor1/src/main/java/com/smartor/service/impl/SvyLibExceptionServiceImpl.java
new file mode 100644
index 0000000..530e501
--- /dev/null
+++ b/smartor1/src/main/java/com/smartor/service/impl/SvyLibExceptionServiceImpl.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.SvyLibExceptionMapper;
+import com.smartor.domain.SvyLibException;
+import com.smartor.service.ISvyLibExceptionService;
+
+/**
+ * 闂嵎寮傚父Service涓氬姟灞傚鐞�
+ * 
+ * @author ruoyi
+ * @date 2023-03-02
+ */
+@Service
+public class SvyLibExceptionServiceImpl implements ISvyLibExceptionService 
+{
+    @Autowired
+    private SvyLibExceptionMapper svyLibExceptionMapper;
+
+    /**
+     * 鏌ヨ闂嵎寮傚父
+     * 
+     * @param ecid 闂嵎寮傚父涓婚敭
+     * @return 闂嵎寮傚父
+     */
+    @Override
+    public SvyLibException selectSvyLibExceptionByEcid(Long ecid)
+    {
+        return svyLibExceptionMapper.selectSvyLibExceptionByEcid(ecid);
+    }
+
+    /**
+     * 鏌ヨ闂嵎寮傚父鍒楄〃
+     * 
+     * @param svyLibException 闂嵎寮傚父
+     * @return 闂嵎寮傚父
+     */
+    @Override
+    public List<SvyLibException> selectSvyLibExceptionList(SvyLibException svyLibException)
+    {
+        return svyLibExceptionMapper.selectSvyLibExceptionList(svyLibException);
+    }
+
+    /**
+     * 鏂板闂嵎寮傚父
+     * 
+     * @param svyLibException 闂嵎寮傚父
+     * @return 缁撴灉
+     */
+    @Override
+    public int insertSvyLibException(SvyLibException svyLibException)
+    {
+        svyLibException.setCreateTime(DateUtils.getNowDate());
+        return svyLibExceptionMapper.insertSvyLibException(svyLibException);
+    }
+
+    /**
+     * 淇敼闂嵎寮傚父
+     * 
+     * @param svyLibException 闂嵎寮傚父
+     * @return 缁撴灉
+     */
+    @Override
+    public int updateSvyLibException(SvyLibException svyLibException)
+    {
+        svyLibException.setUpdateTime(DateUtils.getNowDate());
+        return svyLibExceptionMapper.updateSvyLibException(svyLibException);
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎闂嵎寮傚父
+     * 
+     * @param ecids 闇�瑕佸垹闄ょ殑闂嵎寮傚父涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteSvyLibExceptionByEcids(Long[] ecids)
+    {
+        return svyLibExceptionMapper.deleteSvyLibExceptionByEcids(ecids);
+    }
+
+    /**
+     * 鍒犻櫎闂嵎寮傚父淇℃伅
+     * 
+     * @param ecid 闂嵎寮傚父涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteSvyLibExceptionByEcid(Long ecid)
+    {
+        return svyLibExceptionMapper.deleteSvyLibExceptionByEcid(ecid);
+    }
+}
diff --git a/smartor1/src/main/java/com/smartor/service/impl/SvyLibResultServiceImpl.java b/smartor1/src/main/java/com/smartor/service/impl/SvyLibResultServiceImpl.java
new file mode 100644
index 0000000..84b1f11
--- /dev/null
+++ b/smartor1/src/main/java/com/smartor/service/impl/SvyLibResultServiceImpl.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.SvyLibResultMapper;
+import com.smartor.domain.SvyLibResult;
+import com.smartor.service.ISvyLibResultService;
+
+/**
+ * 闂嵎缁撴灉Service涓氬姟灞傚鐞�
+ * 
+ * @author ruoyi
+ * @date 2023-03-02
+ */
+@Service
+public class SvyLibResultServiceImpl implements ISvyLibResultService 
+{
+    @Autowired
+    private SvyLibResultMapper svyLibResultMapper;
+
+    /**
+     * 鏌ヨ闂嵎缁撴灉
+     * 
+     * @param resultid 闂嵎缁撴灉涓婚敭
+     * @return 闂嵎缁撴灉
+     */
+    @Override
+    public SvyLibResult selectSvyLibResultByResultid(Long resultid)
+    {
+        return svyLibResultMapper.selectSvyLibResultByResultid(resultid);
+    }
+
+    /**
+     * 鏌ヨ闂嵎缁撴灉鍒楄〃
+     * 
+     * @param svyLibResult 闂嵎缁撴灉
+     * @return 闂嵎缁撴灉
+     */
+    @Override
+    public List<SvyLibResult> selectSvyLibResultList(SvyLibResult svyLibResult)
+    {
+        return svyLibResultMapper.selectSvyLibResultList(svyLibResult);
+    }
+
+    /**
+     * 鏂板闂嵎缁撴灉
+     * 
+     * @param svyLibResult 闂嵎缁撴灉
+     * @return 缁撴灉
+     */
+    @Override
+    public int insertSvyLibResult(SvyLibResult svyLibResult)
+    {
+        svyLibResult.setCreateTime(DateUtils.getNowDate());
+        return svyLibResultMapper.insertSvyLibResult(svyLibResult);
+    }
+
+    /**
+     * 淇敼闂嵎缁撴灉
+     * 
+     * @param svyLibResult 闂嵎缁撴灉
+     * @return 缁撴灉
+     */
+    @Override
+    public int updateSvyLibResult(SvyLibResult svyLibResult)
+    {
+        svyLibResult.setUpdateTime(DateUtils.getNowDate());
+        return svyLibResultMapper.updateSvyLibResult(svyLibResult);
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎闂嵎缁撴灉
+     * 
+     * @param resultids 闇�瑕佸垹闄ょ殑闂嵎缁撴灉涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteSvyLibResultByResultids(Long[] resultids)
+    {
+        return svyLibResultMapper.deleteSvyLibResultByResultids(resultids);
+    }
+
+    /**
+     * 鍒犻櫎闂嵎缁撴灉淇℃伅
+     * 
+     * @param resultid 闂嵎缁撴灉涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteSvyLibResultByResultid(Long resultid)
+    {
+        return svyLibResultMapper.deleteSvyLibResultByResultid(resultid);
+    }
+}
diff --git a/smartor1/src/main/java/com/smartor/service/impl/SvyLibTitleServiceImpl.java b/smartor1/src/main/java/com/smartor/service/impl/SvyLibTitleServiceImpl.java
new file mode 100644
index 0000000..76b5c12
--- /dev/null
+++ b/smartor1/src/main/java/com/smartor/service/impl/SvyLibTitleServiceImpl.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.SvyLibTitleMapper;
+import com.smartor.domain.SvyLibTitle;
+import com.smartor.service.ISvyLibTitleService;
+
+/**
+ * 闂嵎Service涓氬姟灞傚鐞�
+ * 
+ * @author ruoyi
+ * @date 2023-03-02
+ */
+@Service
+public class SvyLibTitleServiceImpl implements ISvyLibTitleService 
+{
+    @Autowired
+    private SvyLibTitleMapper svyLibTitleMapper;
+
+    /**
+     * 鏌ヨ闂嵎
+     * 
+     * @param svyid 闂嵎涓婚敭
+     * @return 闂嵎
+     */
+    @Override
+    public SvyLibTitle selectSvyLibTitleBySvyid(Long svyid)
+    {
+        return svyLibTitleMapper.selectSvyLibTitleBySvyid(svyid);
+    }
+
+    /**
+     * 鏌ヨ闂嵎鍒楄〃
+     * 
+     * @param svyLibTitle 闂嵎
+     * @return 闂嵎
+     */
+    @Override
+    public List<SvyLibTitle> selectSvyLibTitleList(SvyLibTitle svyLibTitle)
+    {
+        return svyLibTitleMapper.selectSvyLibTitleList(svyLibTitle);
+    }
+
+    /**
+     * 鏂板闂嵎
+     * 
+     * @param svyLibTitle 闂嵎
+     * @return 缁撴灉
+     */
+    @Override
+    public int insertSvyLibTitle(SvyLibTitle svyLibTitle)
+    {
+        svyLibTitle.setCreateTime(DateUtils.getNowDate());
+        return svyLibTitleMapper.insertSvyLibTitle(svyLibTitle);
+    }
+
+    /**
+     * 淇敼闂嵎
+     * 
+     * @param svyLibTitle 闂嵎
+     * @return 缁撴灉
+     */
+    @Override
+    public int updateSvyLibTitle(SvyLibTitle svyLibTitle)
+    {
+        svyLibTitle.setUpdateTime(DateUtils.getNowDate());
+        return svyLibTitleMapper.updateSvyLibTitle(svyLibTitle);
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎闂嵎
+     * 
+     * @param svyids 闇�瑕佸垹闄ょ殑闂嵎涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteSvyLibTitleBySvyids(Long[] svyids)
+    {
+        return svyLibTitleMapper.deleteSvyLibTitleBySvyids(svyids);
+    }
+
+    /**
+     * 鍒犻櫎闂嵎淇℃伅
+     * 
+     * @param svyid 闂嵎涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteSvyLibTitleBySvyid(Long svyid)
+    {
+        return svyLibTitleMapper.deleteSvyLibTitleBySvyid(svyid);
+    }
+}
diff --git a/smartor1/src/main/java/com/smartor/service/impl/SvyLibTopicServiceImpl.java b/smartor1/src/main/java/com/smartor/service/impl/SvyLibTopicServiceImpl.java
new file mode 100644
index 0000000..29b9442
--- /dev/null
+++ b/smartor1/src/main/java/com/smartor/service/impl/SvyLibTopicServiceImpl.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.SvyLibTopicMapper;
+import com.smartor.domain.SvyLibTopic;
+import com.smartor.service.ISvyLibTopicService;
+
+/**
+ * 闂嵎棰樼洰Service涓氬姟灞傚鐞�
+ * 
+ * @author ruoyi
+ * @date 2023-03-02
+ */
+@Service
+public class SvyLibTopicServiceImpl implements ISvyLibTopicService 
+{
+    @Autowired
+    private SvyLibTopicMapper svyLibTopicMapper;
+
+    /**
+     * 鏌ヨ闂嵎棰樼洰
+     * 
+     * @param topicid 闂嵎棰樼洰涓婚敭
+     * @return 闂嵎棰樼洰
+     */
+    @Override
+    public SvyLibTopic selectSvyLibTopicByTopicid(Long topicid)
+    {
+        return svyLibTopicMapper.selectSvyLibTopicByTopicid(topicid);
+    }
+
+    /**
+     * 鏌ヨ闂嵎棰樼洰鍒楄〃
+     * 
+     * @param svyLibTopic 闂嵎棰樼洰
+     * @return 闂嵎棰樼洰
+     */
+    @Override
+    public List<SvyLibTopic> selectSvyLibTopicList(SvyLibTopic svyLibTopic)
+    {
+        return svyLibTopicMapper.selectSvyLibTopicList(svyLibTopic);
+    }
+
+    /**
+     * 鏂板闂嵎棰樼洰
+     * 
+     * @param svyLibTopic 闂嵎棰樼洰
+     * @return 缁撴灉
+     */
+    @Override
+    public int insertSvyLibTopic(SvyLibTopic svyLibTopic)
+    {
+        svyLibTopic.setCreateTime(DateUtils.getNowDate());
+        return svyLibTopicMapper.insertSvyLibTopic(svyLibTopic);
+    }
+
+    /**
+     * 淇敼闂嵎棰樼洰
+     * 
+     * @param svyLibTopic 闂嵎棰樼洰
+     * @return 缁撴灉
+     */
+    @Override
+    public int updateSvyLibTopic(SvyLibTopic svyLibTopic)
+    {
+        svyLibTopic.setUpdateTime(DateUtils.getNowDate());
+        return svyLibTopicMapper.updateSvyLibTopic(svyLibTopic);
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎闂嵎棰樼洰
+     * 
+     * @param topicids 闇�瑕佸垹闄ょ殑闂嵎棰樼洰涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteSvyLibTopicByTopicids(Long[] topicids)
+    {
+        return svyLibTopicMapper.deleteSvyLibTopicByTopicids(topicids);
+    }
+
+    /**
+     * 鍒犻櫎闂嵎棰樼洰淇℃伅
+     * 
+     * @param topicid 闂嵎棰樼洰涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteSvyLibTopicByTopicid(Long topicid)
+    {
+        return svyLibTopicMapper.deleteSvyLibTopicByTopicid(topicid);
+    }
+}
diff --git a/smartor1/src/main/java/com/smartor/service/impl/SvyLibTopicoptionServiceImpl.java b/smartor1/src/main/java/com/smartor/service/impl/SvyLibTopicoptionServiceImpl.java
new file mode 100644
index 0000000..3f1c054
--- /dev/null
+++ b/smartor1/src/main/java/com/smartor/service/impl/SvyLibTopicoptionServiceImpl.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.SvyLibTopicoptionMapper;
+import com.smartor.domain.SvyLibTopicoption;
+import com.smartor.service.ISvyLibTopicoptionService;
+
+/**
+ * 闂嵎闂閫夐」Service涓氬姟灞傚鐞�
+ * 
+ * @author ruoyi
+ * @date 2023-03-02
+ */
+@Service
+public class SvyLibTopicoptionServiceImpl implements ISvyLibTopicoptionService 
+{
+    @Autowired
+    private SvyLibTopicoptionMapper svyLibTopicoptionMapper;
+
+    /**
+     * 鏌ヨ闂嵎闂閫夐」
+     * 
+     * @param optionid 闂嵎闂閫夐」涓婚敭
+     * @return 闂嵎闂閫夐」
+     */
+    @Override
+    public SvyLibTopicoption selectSvyLibTopicoptionByOptionid(Long optionid)
+    {
+        return svyLibTopicoptionMapper.selectSvyLibTopicoptionByOptionid(optionid);
+    }
+
+    /**
+     * 鏌ヨ闂嵎闂閫夐」鍒楄〃
+     * 
+     * @param svyLibTopicoption 闂嵎闂閫夐」
+     * @return 闂嵎闂閫夐」
+     */
+    @Override
+    public List<SvyLibTopicoption> selectSvyLibTopicoptionList(SvyLibTopicoption svyLibTopicoption)
+    {
+        return svyLibTopicoptionMapper.selectSvyLibTopicoptionList(svyLibTopicoption);
+    }
+
+    /**
+     * 鏂板闂嵎闂閫夐」
+     * 
+     * @param svyLibTopicoption 闂嵎闂閫夐」
+     * @return 缁撴灉
+     */
+    @Override
+    public int insertSvyLibTopicoption(SvyLibTopicoption svyLibTopicoption)
+    {
+        svyLibTopicoption.setCreateTime(DateUtils.getNowDate());
+        return svyLibTopicoptionMapper.insertSvyLibTopicoption(svyLibTopicoption);
+    }
+
+    /**
+     * 淇敼闂嵎闂閫夐」
+     * 
+     * @param svyLibTopicoption 闂嵎闂閫夐」
+     * @return 缁撴灉
+     */
+    @Override
+    public int updateSvyLibTopicoption(SvyLibTopicoption svyLibTopicoption)
+    {
+        svyLibTopicoption.setUpdateTime(DateUtils.getNowDate());
+        return svyLibTopicoptionMapper.updateSvyLibTopicoption(svyLibTopicoption);
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎闂嵎闂閫夐」
+     * 
+     * @param optionids 闇�瑕佸垹闄ょ殑闂嵎闂閫夐」涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteSvyLibTopicoptionByOptionids(Long[] optionids)
+    {
+        return svyLibTopicoptionMapper.deleteSvyLibTopicoptionByOptionids(optionids);
+    }
+
+    /**
+     * 鍒犻櫎闂嵎闂閫夐」淇℃伅
+     * 
+     * @param optionid 闂嵎闂閫夐」涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteSvyLibTopicoptionByOptionid(Long optionid)
+    {
+        return svyLibTopicoptionMapper.deleteSvyLibTopicoptionByOptionid(optionid);
+    }
+}
diff --git a/smartor1/src/main/resources/mapper/smartor/PatArchiveMapper.xml b/smartor1/src/main/resources/mapper/smartor/PatArchiveMapper.xml
new file mode 100644
index 0000000..8dd64f2
--- /dev/null
+++ b/smartor1/src/main/resources/mapper/smartor/PatArchiveMapper.xml
@@ -0,0 +1,138 @@
+<?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.PatArchiveMapper">
+    
+    <resultMap type="PatArchive" id="PatArchiveResult">
+        <result property="patid"    column="patid"    />
+        <result property="name"    column="name"    />
+        <result property="sex"    column="sex"    />
+        <result property="iccardno"    column="iccardno"    />
+        <result property="birthdate"    column="birthdate"    />
+        <result property="age"    column="age"    />
+        <result property="source"    column="source"    />
+        <result property="archivetime"    column="archivetime"    />
+        <result property="archiveby"    column="archiveby"    />
+        <result property="telcode"    column="telcode"    />
+        <result property="relativetelcode"    column="relativetelcode"    />
+        <result property="iccardtype"    column="iccardtype"    />
+        <result property="orgid"    column="orgid"    />
+        <result property="openid"    column="openid"    />
+        <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="selectPatArchiveVo">
+        select patid, name, sex, iccardno, birthdate, age, source, archivetime, archiveby, telcode, relativetelcode, iccardtype, orgid, openid, del_flag, update_by, update_time, create_by, create_time, isupload, upload_time from pat_archive
+    </sql>
+
+    <select id="selectPatArchiveList" parameterType="PatArchive" resultMap="PatArchiveResult">
+        <include refid="selectPatArchiveVo"/>
+        <where>  
+            <if test="name != null  and name != ''"> and name like concat('%', #{name}, '%')</if>
+            <if test="iccardno != null  and iccardno != ''"> and iccardno = #{iccardno}</if>
+            <if test="source != null "> and source = #{source}</if>
+            <if test="telcode != null  and telcode != ''"> and telcode = #{telcode}</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="selectPatArchiveByPatid" parameterType="Long" resultMap="PatArchiveResult">
+        <include refid="selectPatArchiveVo"/>
+        where patid = #{patid}
+    </select>
+        
+    <insert id="insertPatArchive" parameterType="PatArchive" useGeneratedKeys="true" keyProperty="patid">
+        insert into pat_archive
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="name != null">name,</if>
+            <if test="sex != null">sex,</if>
+            <if test="iccardno != null">iccardno,</if>
+            <if test="birthdate != null">birthdate,</if>
+            <if test="age != null">age,</if>
+            <if test="source != null">source,</if>
+            <if test="archivetime != null">archivetime,</if>
+            <if test="archiveby != null">archiveby,</if>
+            <if test="telcode != null">telcode,</if>
+            <if test="relativetelcode != null">relativetelcode,</if>
+            <if test="iccardtype != null">iccardtype,</if>
+            <if test="orgid != null">orgid,</if>
+            <if test="openid != null">openid,</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="name != null">#{name},</if>
+            <if test="sex != null">#{sex},</if>
+            <if test="iccardno != null">#{iccardno},</if>
+            <if test="birthdate != null">#{birthdate},</if>
+            <if test="age != null">#{age},</if>
+            <if test="source != null">#{source},</if>
+            <if test="archivetime != null">#{archivetime},</if>
+            <if test="archiveby != null">#{archiveby},</if>
+            <if test="telcode != null">#{telcode},</if>
+            <if test="relativetelcode != null">#{relativetelcode},</if>
+            <if test="iccardtype != null">#{iccardtype},</if>
+            <if test="orgid != null">#{orgid},</if>
+            <if test="openid != null">#{openid},</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="updatePatArchive" parameterType="PatArchive">
+        update pat_archive
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="name != null">name = #{name},</if>
+            <if test="sex != null">sex = #{sex},</if>
+            <if test="iccardno != null">iccardno = #{iccardno},</if>
+            <if test="birthdate != null">birthdate = #{birthdate},</if>
+            <if test="age != null">age = #{age},</if>
+            <if test="source != null">source = #{source},</if>
+            <if test="archivetime != null">archivetime = #{archivetime},</if>
+            <if test="archiveby != null">archiveby = #{archiveby},</if>
+            <if test="telcode != null">telcode = #{telcode},</if>
+            <if test="relativetelcode != null">relativetelcode = #{relativetelcode},</if>
+            <if test="iccardtype != null">iccardtype = #{iccardtype},</if>
+            <if test="orgid != null">orgid = #{orgid},</if>
+            <if test="openid != null">openid = #{openid},</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 patid = #{patid}
+    </update>
+
+    <delete id="deletePatArchiveByPatid" parameterType="Long">
+        delete from pat_archive where patid = #{patid}
+    </delete>
+
+    <delete id="deletePatArchiveByPatids" parameterType="String">
+        delete from pat_archive where patid in 
+        <foreach item="patid" collection="array" open="(" separator="," close=")">
+            #{patid}
+        </foreach>
+    </delete>
+</mapper>
\ No newline at end of file
diff --git a/smartor1/src/main/resources/mapper/smartor/PatMedInhospMapper.xml b/smartor1/src/main/resources/mapper/smartor/PatMedInhospMapper.xml
new file mode 100644
index 0000000..811c5e4
--- /dev/null
+++ b/smartor1/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/smartor1/src/main/resources/mapper/smartor/SvyCategoryMapper.xml b/smartor1/src/main/resources/mapper/smartor/SvyCategoryMapper.xml
new file mode 100644
index 0000000..b35b1fe
--- /dev/null
+++ b/smartor1/src/main/resources/mapper/smartor/SvyCategoryMapper.xml
@@ -0,0 +1,89 @@
+<?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.SvyCategoryMapper">
+    
+    <resultMap type="SvyCategory" id="SvyCategoryResult">
+        <result property="id"    column="id"    />
+        <result property="categoryname"    column="categoryname"    />
+        <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="selectSvyCategoryVo">
+        select id, categoryname, orgid, del_flag, update_by, update_time, create_by, create_time, isupload, upload_time from svy_category
+    </sql>
+
+    <select id="selectSvyCategoryList" parameterType="SvyCategory" resultMap="SvyCategoryResult">
+        <include refid="selectSvyCategoryVo"/>
+        <where>  
+            <if test="categoryname != null  and categoryname != ''"> and categoryname like concat('%', #{categoryname}, '%')</if>
+            <if test="orgid != null  and orgid != ''"> and orgid = #{orgid}</if>
+        </where>
+    </select>
+    
+    <select id="selectSvyCategoryById" parameterType="Long" resultMap="SvyCategoryResult">
+        <include refid="selectSvyCategoryVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertSvyCategory" parameterType="SvyCategory" useGeneratedKeys="true" keyProperty="id">
+        insert into svy_category
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="categoryname != null">categoryname,</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="categoryname != null">#{categoryname},</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="updateSvyCategory" parameterType="SvyCategory">
+        update svy_category
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="categoryname != null">categoryname = #{categoryname},</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="deleteSvyCategoryById" parameterType="Long">
+        delete from svy_category where id = #{id}
+    </delete>
+
+    <delete id="deleteSvyCategoryByIds" parameterType="String">
+        delete from svy_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/smartor1/src/main/resources/mapper/smartor/SvyLibExceptionMapper.xml b/smartor1/src/main/resources/mapper/smartor/SvyLibExceptionMapper.xml
new file mode 100644
index 0000000..3df2520
--- /dev/null
+++ b/smartor1/src/main/resources/mapper/smartor/SvyLibExceptionMapper.xml
@@ -0,0 +1,146 @@
+<?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.SvyLibExceptionMapper">
+    
+    <resultMap type="SvyLibException" id="SvyLibExceptionResult">
+        <result property="ecid"    column="ecid"    />
+        <result property="oldid"    column="oldid"    />
+        <result property="orgid"    column="orgid"    />
+        <result property="questionoptionid"    column="questionoptionid"    />
+        <result property="topicid"    column="topicid"    />
+        <result property="psqid"    column="psqid"    />
+        <result property="orand"    column="orand"    />
+        <result property="ruleverify"    column="ruleverify"    />
+        <result property="ruleconditions"    column="ruleconditions"    />
+        <result property="rulecontent"    column="rulecontent"    />
+        <result property="groupnumber"    column="groupnumber"    />
+        <result property="grouporand"    column="grouporand"    />
+        <result property="number"    column="number"    />
+        <result property="istrack"    column="istrack"    />
+        <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="selectSvyLibExceptionVo">
+        select ecid, oldid, orgid, questionoptionid, topicid, psqid, orand, ruleverify, ruleconditions, rulecontent, groupnumber, grouporand, number, istrack, del_flag, update_by, update_time, create_by, create_time, isupload, upload_time from svy_lib_exception
+    </sql>
+
+    <select id="selectSvyLibExceptionList" parameterType="SvyLibException" resultMap="SvyLibExceptionResult">
+        <include refid="selectSvyLibExceptionVo"/>
+        <where>  
+            <if test="oldid != null "> and oldid = #{oldid}</if>
+            <if test="orgid != null  and orgid != ''"> and orgid = #{orgid}</if>
+            <if test="questionoptionid != null "> and questionoptionid = #{questionoptionid}</if>
+            <if test="topicid != null "> and topicid = #{topicid}</if>
+            <if test="psqid != null "> and psqid = #{psqid}</if>
+            <if test="orand != null "> and orand = #{orand}</if>
+            <if test="ruleverify != null  and ruleverify != ''"> and ruleverify = #{ruleverify}</if>
+            <if test="ruleconditions != null  and ruleconditions != ''"> and ruleconditions = #{ruleconditions}</if>
+            <if test="rulecontent != null  and rulecontent != ''"> and rulecontent = #{rulecontent}</if>
+            <if test="groupnumber != null "> and groupnumber = #{groupnumber}</if>
+            <if test="grouporand != null "> and grouporand = #{grouporand}</if>
+            <if test="number != null "> and number = #{number}</if>
+            <if test="istrack != null "> and istrack = #{istrack}</if>
+            <if test="isupload != null "> and isupload = #{isupload}</if>
+            <if test="uploadTime != null "> and upload_time = #{uploadTime}</if>
+        </where>
+    </select>
+    
+    <select id="selectSvyLibExceptionByEcid" parameterType="Long" resultMap="SvyLibExceptionResult">
+        <include refid="selectSvyLibExceptionVo"/>
+        where ecid = #{ecid}
+    </select>
+        
+    <insert id="insertSvyLibException" parameterType="SvyLibException" useGeneratedKeys="true" keyProperty="ecid">
+        insert into svy_lib_exception
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="oldid != null">oldid,</if>
+            <if test="orgid != null">orgid,</if>
+            <if test="questionoptionid != null">questionoptionid,</if>
+            <if test="topicid != null">topicid,</if>
+            <if test="psqid != null">psqid,</if>
+            <if test="orand != null">orand,</if>
+            <if test="ruleverify != null">ruleverify,</if>
+            <if test="ruleconditions != null">ruleconditions,</if>
+            <if test="rulecontent != null">rulecontent,</if>
+            <if test="groupnumber != null">groupnumber,</if>
+            <if test="grouporand != null">grouporand,</if>
+            <if test="number != null">number,</if>
+            <if test="istrack != null">istrack,</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="oldid != null">#{oldid},</if>
+            <if test="orgid != null">#{orgid},</if>
+            <if test="questionoptionid != null">#{questionoptionid},</if>
+            <if test="topicid != null">#{topicid},</if>
+            <if test="psqid != null">#{psqid},</if>
+            <if test="orand != null">#{orand},</if>
+            <if test="ruleverify != null">#{ruleverify},</if>
+            <if test="ruleconditions != null">#{ruleconditions},</if>
+            <if test="rulecontent != null">#{rulecontent},</if>
+            <if test="groupnumber != null">#{groupnumber},</if>
+            <if test="grouporand != null">#{grouporand},</if>
+            <if test="number != null">#{number},</if>
+            <if test="istrack != null">#{istrack},</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="updateSvyLibException" parameterType="SvyLibException">
+        update svy_lib_exception
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="oldid != null">oldid = #{oldid},</if>
+            <if test="orgid != null">orgid = #{orgid},</if>
+            <if test="questionoptionid != null">questionoptionid = #{questionoptionid},</if>
+            <if test="topicid != null">topicid = #{topicid},</if>
+            <if test="psqid != null">psqid = #{psqid},</if>
+            <if test="orand != null">orand = #{orand},</if>
+            <if test="ruleverify != null">ruleverify = #{ruleverify},</if>
+            <if test="ruleconditions != null">ruleconditions = #{ruleconditions},</if>
+            <if test="rulecontent != null">rulecontent = #{rulecontent},</if>
+            <if test="groupnumber != null">groupnumber = #{groupnumber},</if>
+            <if test="grouporand != null">grouporand = #{grouporand},</if>
+            <if test="number != null">number = #{number},</if>
+            <if test="istrack != null">istrack = #{istrack},</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 ecid = #{ecid}
+    </update>
+
+    <delete id="deleteSvyLibExceptionByEcid" parameterType="Long">
+        delete from svy_lib_exception where ecid = #{ecid}
+    </delete>
+
+    <delete id="deleteSvyLibExceptionByEcids" parameterType="String">
+        delete from svy_lib_exception where ecid in 
+        <foreach item="ecid" collection="array" open="(" separator="," close=")">
+            #{ecid}
+        </foreach>
+    </delete>
+</mapper>
\ No newline at end of file
diff --git a/smartor1/src/main/resources/mapper/smartor/SvyLibResultMapper.xml b/smartor1/src/main/resources/mapper/smartor/SvyLibResultMapper.xml
new file mode 100644
index 0000000..c75ab3e
--- /dev/null
+++ b/smartor1/src/main/resources/mapper/smartor/SvyLibResultMapper.xml
@@ -0,0 +1,111 @@
+<?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.SvyLibResultMapper">
+    
+    <resultMap type="SvyLibResult" id="SvyLibResultResult">
+        <result property="resultid"    column="resultid"    />
+        <result property="svyid"    column="svyid"    />
+        <result property="resultcontent"    column="resultcontent"    />
+        <result property="orand"    column="orand"    />
+        <result property="isshowscore"    column="isshowscore"    />
+        <result property="sort"    column="sort"    />
+        <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="selectSvyLibResultVo">
+        select resultid, svyid, resultcontent, orand, isshowscore, sort, orgid, del_flag, create_by, create_time, update_by, update_time, isupload, upload_time from svy_lib_result
+    </sql>
+
+    <select id="selectSvyLibResultList" parameterType="SvyLibResult" resultMap="SvyLibResultResult">
+        <include refid="selectSvyLibResultVo"/>
+        <where>  
+            <if test="svyid != null "> and svyid = #{svyid}</if>
+            <if test="resultcontent != null  and resultcontent != ''"> and resultcontent = #{resultcontent}</if>
+            <if test="orand != null "> and orand = #{orand}</if>
+            <if test="isshowscore != null "> and isshowscore = #{isshowscore}</if>
+            <if test="sort != null "> and sort = #{sort}</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="selectSvyLibResultByResultid" parameterType="Long" resultMap="SvyLibResultResult">
+        <include refid="selectSvyLibResultVo"/>
+        where resultid = #{resultid}
+    </select>
+        
+    <insert id="insertSvyLibResult" parameterType="SvyLibResult" useGeneratedKeys="true" keyProperty="resultid">
+        insert into svy_lib_result
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="svyid != null">svyid,</if>
+            <if test="resultcontent != null">resultcontent,</if>
+            <if test="orand != null">orand,</if>
+            <if test="isshowscore != null">isshowscore,</if>
+            <if test="sort != null">sort,</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="svyid != null">#{svyid},</if>
+            <if test="resultcontent != null">#{resultcontent},</if>
+            <if test="orand != null">#{orand},</if>
+            <if test="isshowscore != null">#{isshowscore},</if>
+            <if test="sort != null">#{sort},</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="updateSvyLibResult" parameterType="SvyLibResult">
+        update svy_lib_result
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="svyid != null">svyid = #{svyid},</if>
+            <if test="resultcontent != null">resultcontent = #{resultcontent},</if>
+            <if test="orand != null">orand = #{orand},</if>
+            <if test="isshowscore != null">isshowscore = #{isshowscore},</if>
+            <if test="sort != null">sort = #{sort},</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 resultid = #{resultid}
+    </update>
+
+    <delete id="deleteSvyLibResultByResultid" parameterType="Long">
+        delete from svy_lib_result where resultid = #{resultid}
+    </delete>
+
+    <delete id="deleteSvyLibResultByResultids" parameterType="String">
+        delete from svy_lib_result where resultid in 
+        <foreach item="resultid" collection="array" open="(" separator="," close=")">
+            #{resultid}
+        </foreach>
+    </delete>
+</mapper>
\ No newline at end of file
diff --git a/smartor1/src/main/resources/mapper/smartor/SvyLibTitleMapper.xml b/smartor1/src/main/resources/mapper/smartor/SvyLibTitleMapper.xml
new file mode 100644
index 0000000..3a8af1a
--- /dev/null
+++ b/smartor1/src/main/resources/mapper/smartor/SvyLibTitleMapper.xml
@@ -0,0 +1,146 @@
+<?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.SvyLibTitleMapper">
+    
+    <resultMap type="SvyLibTitle" id="SvyLibTitleResult">
+        <result property="svyid"    column="svyid"    />
+        <result property="categoryid"    column="categoryid"    />
+        <result property="svycode"    column="svycode"    />
+        <result property="svyname"    column="svyname"    />
+        <result property="description"    column="description"    />
+        <result property="introduce"    column="introduce"    />
+        <result property="submitprompt"    column="submitprompt"    />
+        <result property="templateid"    column="templateid"    />
+        <result property="version"    column="version"    />
+        <result property="centerlibrarycode"    column="centerlibrarycode"    />
+        <result property="centerlibraryid"    column="centerlibraryid"    />
+        <result property="islocal"    column="islocal"    />
+        <result property="isenable"    column="isenable"    />
+        <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="selectSvyLibTitleVo">
+        select svyid, categoryid, svycode, svyname, description, introduce, submitprompt, templateid, version, centerlibrarycode, centerlibraryid, islocal, isenable, orgid, del_flag, create_by, create_time, update_by, update_time, isupload, upload_time from svy_lib_title
+    </sql>
+
+    <select id="selectSvyLibTitleList" parameterType="SvyLibTitle" resultMap="SvyLibTitleResult">
+        <include refid="selectSvyLibTitleVo"/>
+        <where>  
+            <if test="categoryid != null "> and categoryid = #{categoryid}</if>
+            <if test="svycode != null  and svycode != ''"> and svycode = #{svycode}</if>
+            <if test="svyname != null  and svyname != ''"> and svyname like concat('%', #{svyname}, '%')</if>
+            <if test="description != null  and description != ''"> and description = #{description}</if>
+            <if test="introduce != null  and introduce != ''"> and introduce = #{introduce}</if>
+            <if test="submitprompt != null  and submitprompt != ''"> and submitprompt = #{submitprompt}</if>
+            <if test="templateid != null "> and templateid = #{templateid}</if>
+            <if test="version != null "> and version = #{version}</if>
+            <if test="centerlibrarycode != null  and centerlibrarycode != ''"> and centerlibrarycode = #{centerlibrarycode}</if>
+            <if test="centerlibraryid != null "> and centerlibraryid = #{centerlibraryid}</if>
+            <if test="islocal != null "> and islocal = #{islocal}</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>
+        </where>
+    </select>
+    
+    <select id="selectSvyLibTitleBySvyid" parameterType="Long" resultMap="SvyLibTitleResult">
+        <include refid="selectSvyLibTitleVo"/>
+        where svyid = #{svyid}
+    </select>
+        
+    <insert id="insertSvyLibTitle" parameterType="SvyLibTitle" useGeneratedKeys="true" keyProperty="svyid">
+        insert into svy_lib_title
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="categoryid != null">categoryid,</if>
+            <if test="svycode != null">svycode,</if>
+            <if test="svyname != null">svyname,</if>
+            <if test="description != null">description,</if>
+            <if test="introduce != null">introduce,</if>
+            <if test="submitprompt != null">submitprompt,</if>
+            <if test="templateid != null">templateid,</if>
+            <if test="version != null">version,</if>
+            <if test="centerlibrarycode != null">centerlibrarycode,</if>
+            <if test="centerlibraryid != null">centerlibraryid,</if>
+            <if test="islocal != null">islocal,</if>
+            <if test="isenable != null">isenable,</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="categoryid != null">#{categoryid},</if>
+            <if test="svycode != null">#{svycode},</if>
+            <if test="svyname != null">#{svyname},</if>
+            <if test="description != null">#{description},</if>
+            <if test="introduce != null">#{introduce},</if>
+            <if test="submitprompt != null">#{submitprompt},</if>
+            <if test="templateid != null">#{templateid},</if>
+            <if test="version != null">#{version},</if>
+            <if test="centerlibrarycode != null">#{centerlibrarycode},</if>
+            <if test="centerlibraryid != null">#{centerlibraryid},</if>
+            <if test="islocal != null">#{islocal},</if>
+            <if test="isenable != null">#{isenable},</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="updateSvyLibTitle" parameterType="SvyLibTitle">
+        update svy_lib_title
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="categoryid != null">categoryid = #{categoryid},</if>
+            <if test="svycode != null">svycode = #{svycode},</if>
+            <if test="svyname != null">svyname = #{svyname},</if>
+            <if test="description != null">description = #{description},</if>
+            <if test="introduce != null">introduce = #{introduce},</if>
+            <if test="submitprompt != null">submitprompt = #{submitprompt},</if>
+            <if test="templateid != null">templateid = #{templateid},</if>
+            <if test="version != null">version = #{version},</if>
+            <if test="centerlibrarycode != null">centerlibrarycode = #{centerlibrarycode},</if>
+            <if test="centerlibraryid != null">centerlibraryid = #{centerlibraryid},</if>
+            <if test="islocal != null">islocal = #{islocal},</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="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 svyid = #{svyid}
+    </update>
+
+    <delete id="deleteSvyLibTitleBySvyid" parameterType="Long">
+        delete from svy_lib_title where svyid = #{svyid}
+    </delete>
+
+    <delete id="deleteSvyLibTitleBySvyids" parameterType="String">
+        delete from svy_lib_title where svyid in 
+        <foreach item="svyid" collection="array" open="(" separator="," close=")">
+            #{svyid}
+        </foreach>
+    </delete>
+</mapper>
\ No newline at end of file
diff --git a/smartor1/src/main/resources/mapper/smartor/SvyLibTopicMapper.xml b/smartor1/src/main/resources/mapper/smartor/SvyLibTopicMapper.xml
new file mode 100644
index 0000000..6f3ec11
--- /dev/null
+++ b/smartor1/src/main/resources/mapper/smartor/SvyLibTopicMapper.xml
@@ -0,0 +1,126 @@
+<?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.SvyLibTopicMapper">
+    
+    <resultMap type="SvyLibTopic" id="SvyLibTopicResult">
+        <result property="topicid"    column="topicid"    />
+        <result property="oldid"    column="oldid"    />
+        <result property="svyid"    column="svyid"    />
+        <result property="topictype"    column="topictype"    />
+        <result property="topiccode"    column="topiccode"    />
+        <result property="topic"    column="topic"    />
+        <result property="sort"    column="sort"    />
+        <result property="ismandatory"    column="ismandatory"    />
+        <result property="ishide"    column="ishide"    />
+        <result property="delFlag"    column="del_flag"    />
+        <result property="orgid"    column="orgid"    />
+        <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="selectSvyLibTopicVo">
+        select topicid, oldid, svyid, topictype, topiccode, topic, sort, ismandatory, ishide, del_flag, orgid, create_by, create_time, update_by, update_time, isupload, upload_time from svy_lib_topic
+    </sql>
+
+    <select id="selectSvyLibTopicList" parameterType="SvyLibTopic" resultMap="SvyLibTopicResult">
+        <include refid="selectSvyLibTopicVo"/>
+        <where>  
+            <if test="oldid != null "> and oldid = #{oldid}</if>
+            <if test="svyid != null "> and svyid = #{svyid}</if>
+            <if test="topictype != null "> and topictype = #{topictype}</if>
+            <if test="topiccode != null  and topiccode != ''"> and topiccode = #{topiccode}</if>
+            <if test="topic != null  and topic != ''"> and topic = #{topic}</if>
+            <if test="sort != null "> and sort = #{sort}</if>
+            <if test="ismandatory != null "> and ismandatory = #{ismandatory}</if>
+            <if test="ishide != null "> and ishide = #{ishide}</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="selectSvyLibTopicByTopicid" parameterType="Long" resultMap="SvyLibTopicResult">
+        <include refid="selectSvyLibTopicVo"/>
+        where topicid = #{topicid}
+    </select>
+        
+    <insert id="insertSvyLibTopic" parameterType="SvyLibTopic" useGeneratedKeys="true" keyProperty="topicid">
+        insert into svy_lib_topic
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="oldid != null">oldid,</if>
+            <if test="svyid != null">svyid,</if>
+            <if test="topictype != null">topictype,</if>
+            <if test="topiccode != null">topiccode,</if>
+            <if test="topic != null">topic,</if>
+            <if test="sort != null">sort,</if>
+            <if test="ismandatory != null">ismandatory,</if>
+            <if test="ishide != null">ishide,</if>
+            <if test="delFlag != null and delFlag != ''">del_flag,</if>
+            <if test="orgid != null">orgid,</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="oldid != null">#{oldid},</if>
+            <if test="svyid != null">#{svyid},</if>
+            <if test="topictype != null">#{topictype},</if>
+            <if test="topiccode != null">#{topiccode},</if>
+            <if test="topic != null">#{topic},</if>
+            <if test="sort != null">#{sort},</if>
+            <if test="ismandatory != null">#{ismandatory},</if>
+            <if test="ishide != null">#{ishide},</if>
+            <if test="delFlag != null and delFlag != ''">#{delFlag},</if>
+            <if test="orgid != null">#{orgid},</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="updateSvyLibTopic" parameterType="SvyLibTopic">
+        update svy_lib_topic
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="oldid != null">oldid = #{oldid},</if>
+            <if test="svyid != null">svyid = #{svyid},</if>
+            <if test="topictype != null">topictype = #{topictype},</if>
+            <if test="topiccode != null">topiccode = #{topiccode},</if>
+            <if test="topic != null">topic = #{topic},</if>
+            <if test="sort != null">sort = #{sort},</if>
+            <if test="ismandatory != null">ismandatory = #{ismandatory},</if>
+            <if test="ishide != null">ishide = #{ishide},</if>
+            <if test="delFlag != null and delFlag != ''">del_flag = #{delFlag},</if>
+            <if test="orgid != null">orgid = #{orgid},</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 topicid = #{topicid}
+    </update>
+
+    <delete id="deleteSvyLibTopicByTopicid" parameterType="Long">
+        delete from svy_lib_topic where topicid = #{topicid}
+    </delete>
+
+    <delete id="deleteSvyLibTopicByTopicids" parameterType="String">
+        delete from svy_lib_topic where topicid in 
+        <foreach item="topicid" collection="array" open="(" separator="," close=")">
+            #{topicid}
+        </foreach>
+    </delete>
+</mapper>
\ No newline at end of file
diff --git a/smartor1/src/main/resources/mapper/smartor/SvyLibTopicoptionMapper.xml b/smartor1/src/main/resources/mapper/smartor/SvyLibTopicoptionMapper.xml
new file mode 100644
index 0000000..1e08074
--- /dev/null
+++ b/smartor1/src/main/resources/mapper/smartor/SvyLibTopicoptionMapper.xml
@@ -0,0 +1,196 @@
+<?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.SvyLibTopicoptionMapper">
+    
+    <resultMap type="SvyLibTopicoption" id="SvyLibTopicoptionResult">
+        <result property="optionid"    column="optionid"    />
+        <result property="topicid"    column="topicid"    />
+        <result property="svyid"    column="svyid"    />
+        <result property="topictype"    column="topictype"    />
+        <result property="optioncode"    column="optioncode"    />
+        <result property="optioncontent"    column="optioncontent"    />
+        <result property="isexistdetail"    column="isexistdetail"    />
+        <result property="detailismandatory"    column="detailismandatory"    />
+        <result property="isexceptionitem"    column="isexceptionitem"    />
+        <result property="istrack"    column="istrack"    />
+        <result property="score"    column="score"    />
+        <result property="prompt"    column="prompt"    />
+        <result property="jump"    column="jump"    />
+        <result property="parentoptionid"    column="parentoptionid"    />
+        <result property="ismutex"    column="ismutex"    />
+        <result property="verifyrule"    column="verifyrule"    />
+        <result property="sort"    column="sort"    />
+        <result property="verificationtype"    column="verificationtype"    />
+        <result property="isrange"    column="isrange"    />
+        <result property="minrange"    column="minrange"    />
+        <result property="maxrange"    column="maxrange"    />
+        <result property="rangelength"    column="rangelength"    />
+        <result property="orgid"    column="orgid"    />
+        <result property="oldid"    column="oldid"    />
+        <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="selectSvyLibTopicoptionVo">
+        select optionid, topicid, svyid, topictype, optioncode, optioncontent, isexistdetail, detailismandatory, isexceptionitem, istrack, score, prompt, jump, parentoptionid, ismutex, verifyrule, sort, verificationtype, isrange, minrange, maxrange, rangelength, orgid, oldid, del_flag, create_by, create_time, update_by, update_time, isupload, upload_time from svy_lib_topicoption
+    </sql>
+
+    <select id="selectSvyLibTopicoptionList" parameterType="SvyLibTopicoption" resultMap="SvyLibTopicoptionResult">
+        <include refid="selectSvyLibTopicoptionVo"/>
+        <where>  
+            <if test="topicid != null "> and topicid = #{topicid}</if>
+            <if test="svyid != null "> and svyid = #{svyid}</if>
+            <if test="topictype != null "> and topictype = #{topictype}</if>
+            <if test="optioncode != null  and optioncode != ''"> and optioncode = #{optioncode}</if>
+            <if test="optioncontent != null  and optioncontent != ''"> and optioncontent = #{optioncontent}</if>
+            <if test="isexistdetail != null "> and isexistdetail = #{isexistdetail}</if>
+            <if test="detailismandatory != null "> and detailismandatory = #{detailismandatory}</if>
+            <if test="isexceptionitem != null "> and isexceptionitem = #{isexceptionitem}</if>
+            <if test="istrack != null "> and istrack = #{istrack}</if>
+            <if test="score != null "> and score = #{score}</if>
+            <if test="prompt != null  and prompt != ''"> and prompt = #{prompt}</if>
+            <if test="jump != null  and jump != ''"> and jump = #{jump}</if>
+            <if test="parentoptionid != null "> and parentoptionid = #{parentoptionid}</if>
+            <if test="ismutex != null "> and ismutex = #{ismutex}</if>
+            <if test="verifyrule != null  and verifyrule != ''"> and verifyrule = #{verifyrule}</if>
+            <if test="sort != null "> and sort = #{sort}</if>
+            <if test="verificationtype != null "> and verificationtype = #{verificationtype}</if>
+            <if test="isrange != null "> and isrange = #{isrange}</if>
+            <if test="minrange != null  and minrange != ''"> and minrange = #{minrange}</if>
+            <if test="maxrange != null  and maxrange != ''"> and maxrange = #{maxrange}</if>
+            <if test="rangelength != null "> and rangelength = #{rangelength}</if>
+            <if test="orgid != null  and orgid != ''"> and orgid = #{orgid}</if>
+            <if test="oldid != null "> and oldid = #{oldid}</if>
+            <if test="isupload != null "> and isupload = #{isupload}</if>
+            <if test="uploadTime != null "> and upload_time = #{uploadTime}</if>
+        </where>
+    </select>
+    
+    <select id="selectSvyLibTopicoptionByOptionid" parameterType="Long" resultMap="SvyLibTopicoptionResult">
+        <include refid="selectSvyLibTopicoptionVo"/>
+        where optionid = #{optionid}
+    </select>
+        
+    <insert id="insertSvyLibTopicoption" parameterType="SvyLibTopicoption" useGeneratedKeys="true" keyProperty="optionid">
+        insert into svy_lib_topicoption
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="topicid != null">topicid,</if>
+            <if test="svyid != null">svyid,</if>
+            <if test="topictype != null">topictype,</if>
+            <if test="optioncode != null">optioncode,</if>
+            <if test="optioncontent != null">optioncontent,</if>
+            <if test="isexistdetail != null">isexistdetail,</if>
+            <if test="detailismandatory != null">detailismandatory,</if>
+            <if test="isexceptionitem != null">isexceptionitem,</if>
+            <if test="istrack != null">istrack,</if>
+            <if test="score != null">score,</if>
+            <if test="prompt != null">prompt,</if>
+            <if test="jump != null">jump,</if>
+            <if test="parentoptionid != null">parentoptionid,</if>
+            <if test="ismutex != null">ismutex,</if>
+            <if test="verifyrule != null">verifyrule,</if>
+            <if test="sort != null">sort,</if>
+            <if test="verificationtype != null">verificationtype,</if>
+            <if test="isrange != null">isrange,</if>
+            <if test="minrange != null">minrange,</if>
+            <if test="maxrange != null">maxrange,</if>
+            <if test="rangelength != null">rangelength,</if>
+            <if test="orgid != null">orgid,</if>
+            <if test="oldid != null">oldid,</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="topicid != null">#{topicid},</if>
+            <if test="svyid != null">#{svyid},</if>
+            <if test="topictype != null">#{topictype},</if>
+            <if test="optioncode != null">#{optioncode},</if>
+            <if test="optioncontent != null">#{optioncontent},</if>
+            <if test="isexistdetail != null">#{isexistdetail},</if>
+            <if test="detailismandatory != null">#{detailismandatory},</if>
+            <if test="isexceptionitem != null">#{isexceptionitem},</if>
+            <if test="istrack != null">#{istrack},</if>
+            <if test="score != null">#{score},</if>
+            <if test="prompt != null">#{prompt},</if>
+            <if test="jump != null">#{jump},</if>
+            <if test="parentoptionid != null">#{parentoptionid},</if>
+            <if test="ismutex != null">#{ismutex},</if>
+            <if test="verifyrule != null">#{verifyrule},</if>
+            <if test="sort != null">#{sort},</if>
+            <if test="verificationtype != null">#{verificationtype},</if>
+            <if test="isrange != null">#{isrange},</if>
+            <if test="minrange != null">#{minrange},</if>
+            <if test="maxrange != null">#{maxrange},</if>
+            <if test="rangelength != null">#{rangelength},</if>
+            <if test="orgid != null">#{orgid},</if>
+            <if test="oldid != null">#{oldid},</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="updateSvyLibTopicoption" parameterType="SvyLibTopicoption">
+        update svy_lib_topicoption
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="topicid != null">topicid = #{topicid},</if>
+            <if test="svyid != null">svyid = #{svyid},</if>
+            <if test="topictype != null">topictype = #{topictype},</if>
+            <if test="optioncode != null">optioncode = #{optioncode},</if>
+            <if test="optioncontent != null">optioncontent = #{optioncontent},</if>
+            <if test="isexistdetail != null">isexistdetail = #{isexistdetail},</if>
+            <if test="detailismandatory != null">detailismandatory = #{detailismandatory},</if>
+            <if test="isexceptionitem != null">isexceptionitem = #{isexceptionitem},</if>
+            <if test="istrack != null">istrack = #{istrack},</if>
+            <if test="score != null">score = #{score},</if>
+            <if test="prompt != null">prompt = #{prompt},</if>
+            <if test="jump != null">jump = #{jump},</if>
+            <if test="parentoptionid != null">parentoptionid = #{parentoptionid},</if>
+            <if test="ismutex != null">ismutex = #{ismutex},</if>
+            <if test="verifyrule != null">verifyrule = #{verifyrule},</if>
+            <if test="sort != null">sort = #{sort},</if>
+            <if test="verificationtype != null">verificationtype = #{verificationtype},</if>
+            <if test="isrange != null">isrange = #{isrange},</if>
+            <if test="minrange != null">minrange = #{minrange},</if>
+            <if test="maxrange != null">maxrange = #{maxrange},</if>
+            <if test="rangelength != null">rangelength = #{rangelength},</if>
+            <if test="orgid != null">orgid = #{orgid},</if>
+            <if test="oldid != null">oldid = #{oldid},</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 optionid = #{optionid}
+    </update>
+
+    <delete id="deleteSvyLibTopicoptionByOptionid" parameterType="Long">
+        delete from svy_lib_topicoption where optionid = #{optionid}
+    </delete>
+
+    <delete id="deleteSvyLibTopicoptionByOptionids" parameterType="String">
+        delete from svy_lib_topicoption where optionid in 
+        <foreach item="optionid" collection="array" open="(" separator="," close=")">
+            #{optionid}
+        </foreach>
+    </delete>
+</mapper>
\ No newline at end of file

--
Gitblit v1.9.3