From 727fd9c08bc7f6fcbe2d5c5decacc2392df124df Mon Sep 17 00:00:00 2001
From: yxh <172933527@qq.com>
Date: 星期五, 03 三月 2023 17:54:40 +0800
Subject: [PATCH] yxh

---
 smartor/src/main/java/com/smartor/controller/SvyFinishController.java                     |  104 ++
 smartor/src/main/java/com/smartor/service/ISvyLibTopicService.java                        |    2 
 smartor/src/main/java/com/smartor/service/ISvyFinishtopicService.java                     |   61 +
 smartor/src/main/java/com/smartor/service/impl/SvyFinishoptionServiceImpl.java            |   96 ++
 smartor/src/main/resources/mapper/smartor/SvyLibTopicMapper.xml                           |    6 
 smartor/src/main/java/com/smartor/service/impl/SvyLibTopicServiceImpl.java                |    2 
 smartor/src/main/java/com/smartor/mapper/SvyFinishMapper.java                             |   61 +
 smartor/src/main/java/com/smartor/mapper/SvyFinishoptionMapper.java                       |   61 +
 smartor/src/main/java/com/smartor/service/ISvyFinishoptionService.java                    |   61 +
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SvyFinishController.java       |  104 ++
 smartor/src/main/java/com/smartor/controller/SvyFinishoptionController.java               |  104 ++
 smartor/src/main/java/com/smartor/domain/SvyFinishtopic.java                              |  156 ++++
 smartor/src/main/java/com/smartor/service/impl/SvyFinishtopicServiceImpl.java             |   96 ++
 smartor/src/main/resources/mapper/smartor/SvyFinishoptionMapper.xml                       |  111 ++
 smartor/src/main/java/com/smartor/service/impl/SvyFinishServiceImpl.java                  |   96 ++
 smartor/src/main/java/com/smartor/domain/SvyFinish.java                                   |  237 ++++++
 smartor/src/main/resources/mapper/smartor/SvyFinishMapper.xml                             |  127 +++
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SvyFinishoptionController.java |  104 ++
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SvyLibTopicController.java     |   16 
 smartor/src/main/java/com/smartor/controller/SvyLibTopicController.java                   |  104 ++
 smartor/src/main/java/com/smartor/mapper/SvyFinishtopicMapper.java                        |   61 +
 smartor/src/main/java/com/smartor/controller/SvyFinishtopicController.java                |  104 ++
 smartor/src/main/resources/mapper/smartor/SvyFinishtopicMapper.xml                        |  104 ++
 smartor/src/main/java/com/smartor/domain/SvyLibTopic.java                                 |    8 
 smartor/src/main/java/com/smartor/mapper/SvyLibTopicMapper.java                           |    2 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SvyFinishtopicController.java  |  104 ++
 smartor/src/main/java/com/smartor/service/ISvyFinishService.java                          |   61 +
 smartor/src/main/java/com/smartor/domain/SvyFinishoption.java                             |  180 ++++
 28 files changed, 2,309 insertions(+), 24 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SvyFinishController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SvyFinishController.java
new file mode 100644
index 0000000..1a8423e
--- /dev/null
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SvyFinishController.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.SvyFinish;
+import com.smartor.service.ISvyFinishService;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 闂嵎鏈�缁堢粨鏋淐ontroller
+ * 
+ * @author ruoyi
+ * @date 2023-03-03
+ */
+@RestController
+@RequestMapping("/smartor/svyfinish")
+public class SvyFinishController extends BaseController
+{
+    @Autowired
+    private ISvyFinishService svyFinishService;
+
+    /**
+     * 鏌ヨ闂嵎鏈�缁堢粨鏋滃垪琛�
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:svyfinish:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(SvyFinish svyFinish)
+    {
+        startPage();
+        List<SvyFinish> list = svyFinishService.selectSvyFinishList(svyFinish);
+        return getDataTable(list);
+    }
+
+    /**
+     * 瀵煎嚭闂嵎鏈�缁堢粨鏋滃垪琛�
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:svyfinish:export')")
+    @Log(title = "闂嵎鏈�缁堢粨鏋�", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, SvyFinish svyFinish)
+    {
+        List<SvyFinish> list = svyFinishService.selectSvyFinishList(svyFinish);
+        ExcelUtil<SvyFinish> util = new ExcelUtil<SvyFinish>(SvyFinish.class);
+        util.exportExcel(response, list, "闂嵎鏈�缁堢粨鏋滄暟鎹�");
+    }
+
+    /**
+     * 鑾峰彇闂嵎鏈�缁堢粨鏋滆缁嗕俊鎭�
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:svyfinish:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(svyFinishService.selectSvyFinishById(id));
+    }
+
+    /**
+     * 鏂板闂嵎鏈�缁堢粨鏋�
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:svyfinish:add')")
+    @Log(title = "闂嵎鏈�缁堢粨鏋�", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody SvyFinish svyFinish)
+    {
+        return toAjax(svyFinishService.insertSvyFinish(svyFinish));
+    }
+
+    /**
+     * 淇敼闂嵎鏈�缁堢粨鏋�
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:svyfinish:edit')")
+    @Log(title = "闂嵎鏈�缁堢粨鏋�", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody SvyFinish svyFinish)
+    {
+        return toAjax(svyFinishService.updateSvyFinish(svyFinish));
+    }
+
+    /**
+     * 鍒犻櫎闂嵎鏈�缁堢粨鏋�
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:svyfinish:remove')")
+    @Log(title = "闂嵎鏈�缁堢粨鏋�", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(svyFinishService.deleteSvyFinishByIds(ids));
+    }
+}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SvyFinishoptionController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SvyFinishoptionController.java
new file mode 100644
index 0000000..74e65c6
--- /dev/null
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SvyFinishoptionController.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.SvyFinishoption;
+import com.smartor.service.ISvyFinishoptionService;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 闂嵎鏈�缁堢粨鏋滈�夐」璇︽儏Controller
+ * 
+ * @author ruoyi
+ * @date 2023-03-03
+ */
+@RestController
+@RequestMapping("/smartor/svyfinishoption")
+public class SvyFinishoptionController extends BaseController
+{
+    @Autowired
+    private ISvyFinishoptionService svyFinishoptionService;
+
+    /**
+     * 鏌ヨ闂嵎鏈�缁堢粨鏋滈�夐」璇︽儏鍒楄〃
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:svyfinishoption:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(SvyFinishoption svyFinishoption)
+    {
+        startPage();
+        List<SvyFinishoption> list = svyFinishoptionService.selectSvyFinishoptionList(svyFinishoption);
+        return getDataTable(list);
+    }
+
+    /**
+     * 瀵煎嚭闂嵎鏈�缁堢粨鏋滈�夐」璇︽儏鍒楄〃
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:svyfinishoption:export')")
+    @Log(title = "闂嵎鏈�缁堢粨鏋滈�夐」璇︽儏", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, SvyFinishoption svyFinishoption)
+    {
+        List<SvyFinishoption> list = svyFinishoptionService.selectSvyFinishoptionList(svyFinishoption);
+        ExcelUtil<SvyFinishoption> util = new ExcelUtil<SvyFinishoption>(SvyFinishoption.class);
+        util.exportExcel(response, list, "闂嵎鏈�缁堢粨鏋滈�夐」璇︽儏鏁版嵁");
+    }
+
+    /**
+     * 鑾峰彇闂嵎鏈�缁堢粨鏋滈�夐」璇︽儏璇︾粏淇℃伅
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:svyfinishoption:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(svyFinishoptionService.selectSvyFinishoptionById(id));
+    }
+
+    /**
+     * 鏂板闂嵎鏈�缁堢粨鏋滈�夐」璇︽儏
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:svyfinishoption:add')")
+    @Log(title = "闂嵎鏈�缁堢粨鏋滈�夐」璇︽儏", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody SvyFinishoption svyFinishoption)
+    {
+        return toAjax(svyFinishoptionService.insertSvyFinishoption(svyFinishoption));
+    }
+
+    /**
+     * 淇敼闂嵎鏈�缁堢粨鏋滈�夐」璇︽儏
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:svyfinishoption:edit')")
+    @Log(title = "闂嵎鏈�缁堢粨鏋滈�夐」璇︽儏", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody SvyFinishoption svyFinishoption)
+    {
+        return toAjax(svyFinishoptionService.updateSvyFinishoption(svyFinishoption));
+    }
+
+    /**
+     * 鍒犻櫎闂嵎鏈�缁堢粨鏋滈�夐」璇︽儏
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:svyfinishoption:remove')")
+    @Log(title = "闂嵎鏈�缁堢粨鏋滈�夐」璇︽儏", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(svyFinishoptionService.deleteSvyFinishoptionByIds(ids));
+    }
+}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SvyFinishtopicController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SvyFinishtopicController.java
new file mode 100644
index 0000000..395ca18
--- /dev/null
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SvyFinishtopicController.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.SvyFinishtopic;
+import com.smartor.service.ISvyFinishtopicService;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 闂嵎璋冩煡缁撴灉璇︽儏Controller
+ * 
+ * @author ruoyi
+ * @date 2023-03-03
+ */
+@RestController
+@RequestMapping("/smartor/svyfinishtopic")
+public class SvyFinishtopicController extends BaseController
+{
+    @Autowired
+    private ISvyFinishtopicService svyFinishtopicService;
+
+    /**
+     * 鏌ヨ闂嵎璋冩煡缁撴灉璇︽儏鍒楄〃
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:svyfinishtopic:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(SvyFinishtopic svyFinishtopic)
+    {
+        startPage();
+        List<SvyFinishtopic> list = svyFinishtopicService.selectSvyFinishtopicList(svyFinishtopic);
+        return getDataTable(list);
+    }
+
+    /**
+     * 瀵煎嚭闂嵎璋冩煡缁撴灉璇︽儏鍒楄〃
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:svyfinishtopic:export')")
+    @Log(title = "闂嵎璋冩煡缁撴灉璇︽儏", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, SvyFinishtopic svyFinishtopic)
+    {
+        List<SvyFinishtopic> list = svyFinishtopicService.selectSvyFinishtopicList(svyFinishtopic);
+        ExcelUtil<SvyFinishtopic> util = new ExcelUtil<SvyFinishtopic>(SvyFinishtopic.class);
+        util.exportExcel(response, list, "闂嵎璋冩煡缁撴灉璇︽儏鏁版嵁");
+    }
+
+    /**
+     * 鑾峰彇闂嵎璋冩煡缁撴灉璇︽儏璇︾粏淇℃伅
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:svyfinishtopic:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(svyFinishtopicService.selectSvyFinishtopicById(id));
+    }
+
+    /**
+     * 鏂板闂嵎璋冩煡缁撴灉璇︽儏
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:svyfinishtopic:add')")
+    @Log(title = "闂嵎璋冩煡缁撴灉璇︽儏", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody SvyFinishtopic svyFinishtopic)
+    {
+        return toAjax(svyFinishtopicService.insertSvyFinishtopic(svyFinishtopic));
+    }
+
+    /**
+     * 淇敼闂嵎璋冩煡缁撴灉璇︽儏
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:svyfinishtopic:edit')")
+    @Log(title = "闂嵎璋冩煡缁撴灉璇︽儏", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody SvyFinishtopic svyFinishtopic)
+    {
+        return toAjax(svyFinishtopicService.updateSvyFinishtopic(svyFinishtopic));
+    }
+
+    /**
+     * 鍒犻櫎闂嵎璋冩煡缁撴灉璇︽儏
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:svyfinishtopic:remove')")
+    @Log(title = "闂嵎璋冩煡缁撴灉璇︽儏", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(svyFinishtopicService.deleteSvyFinishtopicByIds(ids));
+    }
+}
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
index 321f5e8..32cee87 100644
--- 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
@@ -25,10 +25,10 @@
  * 闂嵎棰樼洰Controller
  * 
  * @author ruoyi
- * @date 2023-03-02
+ * @date 2023-03-03
  */
 @RestController
-@RequestMapping("/system/snytopic")
+@RequestMapping("/smartor/svytopic")
 public class SvyLibTopicController extends BaseController
 {
     @Autowired
@@ -37,7 +37,7 @@
     /**
      * 鏌ヨ闂嵎棰樼洰鍒楄〃
      */
-    @PreAuthorize("@ss.hasPermi('system:snytopic:list')")
+    @PreAuthorize("@ss.hasPermi('smartor:svytopic:list')")
     @GetMapping("/list")
     public TableDataInfo list(SvyLibTopic svyLibTopic)
     {
@@ -49,7 +49,7 @@
     /**
      * 瀵煎嚭闂嵎棰樼洰鍒楄〃
      */
-    @PreAuthorize("@ss.hasPermi('system:snytopic:export')")
+    @PreAuthorize("@ss.hasPermi('smartor:svytopic:export')")
     @Log(title = "闂嵎棰樼洰", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
     public void export(HttpServletResponse response, SvyLibTopic svyLibTopic)
@@ -62,7 +62,7 @@
     /**
      * 鑾峰彇闂嵎棰樼洰璇︾粏淇℃伅
      */
-    @PreAuthorize("@ss.hasPermi('system:snytopic:query')")
+    @PreAuthorize("@ss.hasPermi('smartor:svytopic:query')")
     @GetMapping(value = "/{topicid}")
     public AjaxResult getInfo(@PathVariable("topicid") Long topicid)
     {
@@ -72,7 +72,7 @@
     /**
      * 鏂板闂嵎棰樼洰
      */
-    @PreAuthorize("@ss.hasPermi('system:snytopic:add')")
+    @PreAuthorize("@ss.hasPermi('smartor:svytopic:add')")
     @Log(title = "闂嵎棰樼洰", businessType = BusinessType.INSERT)
     @PostMapping
     public AjaxResult add(@RequestBody SvyLibTopic svyLibTopic)
@@ -83,7 +83,7 @@
     /**
      * 淇敼闂嵎棰樼洰
      */
-    @PreAuthorize("@ss.hasPermi('system:snytopic:edit')")
+    @PreAuthorize("@ss.hasPermi('smartor:svytopic:edit')")
     @Log(title = "闂嵎棰樼洰", businessType = BusinessType.UPDATE)
     @PutMapping
     public AjaxResult edit(@RequestBody SvyLibTopic svyLibTopic)
@@ -94,7 +94,7 @@
     /**
      * 鍒犻櫎闂嵎棰樼洰
      */
-    @PreAuthorize("@ss.hasPermi('system:snytopic:remove')")
+    @PreAuthorize("@ss.hasPermi('smartor:svytopic:remove')")
     @Log(title = "闂嵎棰樼洰", businessType = BusinessType.DELETE)
 	@DeleteMapping("/{topicids}")
     public AjaxResult remove(@PathVariable Long[] topicids)
diff --git a/smartor/src/main/java/com/smartor/controller/SvyFinishController.java b/smartor/src/main/java/com/smartor/controller/SvyFinishController.java
new file mode 100644
index 0000000..1a8423e
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/controller/SvyFinishController.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.SvyFinish;
+import com.smartor.service.ISvyFinishService;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 闂嵎鏈�缁堢粨鏋淐ontroller
+ * 
+ * @author ruoyi
+ * @date 2023-03-03
+ */
+@RestController
+@RequestMapping("/smartor/svyfinish")
+public class SvyFinishController extends BaseController
+{
+    @Autowired
+    private ISvyFinishService svyFinishService;
+
+    /**
+     * 鏌ヨ闂嵎鏈�缁堢粨鏋滃垪琛�
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:svyfinish:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(SvyFinish svyFinish)
+    {
+        startPage();
+        List<SvyFinish> list = svyFinishService.selectSvyFinishList(svyFinish);
+        return getDataTable(list);
+    }
+
+    /**
+     * 瀵煎嚭闂嵎鏈�缁堢粨鏋滃垪琛�
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:svyfinish:export')")
+    @Log(title = "闂嵎鏈�缁堢粨鏋�", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, SvyFinish svyFinish)
+    {
+        List<SvyFinish> list = svyFinishService.selectSvyFinishList(svyFinish);
+        ExcelUtil<SvyFinish> util = new ExcelUtil<SvyFinish>(SvyFinish.class);
+        util.exportExcel(response, list, "闂嵎鏈�缁堢粨鏋滄暟鎹�");
+    }
+
+    /**
+     * 鑾峰彇闂嵎鏈�缁堢粨鏋滆缁嗕俊鎭�
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:svyfinish:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(svyFinishService.selectSvyFinishById(id));
+    }
+
+    /**
+     * 鏂板闂嵎鏈�缁堢粨鏋�
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:svyfinish:add')")
+    @Log(title = "闂嵎鏈�缁堢粨鏋�", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody SvyFinish svyFinish)
+    {
+        return toAjax(svyFinishService.insertSvyFinish(svyFinish));
+    }
+
+    /**
+     * 淇敼闂嵎鏈�缁堢粨鏋�
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:svyfinish:edit')")
+    @Log(title = "闂嵎鏈�缁堢粨鏋�", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody SvyFinish svyFinish)
+    {
+        return toAjax(svyFinishService.updateSvyFinish(svyFinish));
+    }
+
+    /**
+     * 鍒犻櫎闂嵎鏈�缁堢粨鏋�
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:svyfinish:remove')")
+    @Log(title = "闂嵎鏈�缁堢粨鏋�", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(svyFinishService.deleteSvyFinishByIds(ids));
+    }
+}
diff --git a/smartor/src/main/java/com/smartor/controller/SvyFinishoptionController.java b/smartor/src/main/java/com/smartor/controller/SvyFinishoptionController.java
new file mode 100644
index 0000000..74e65c6
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/controller/SvyFinishoptionController.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.SvyFinishoption;
+import com.smartor.service.ISvyFinishoptionService;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 闂嵎鏈�缁堢粨鏋滈�夐」璇︽儏Controller
+ * 
+ * @author ruoyi
+ * @date 2023-03-03
+ */
+@RestController
+@RequestMapping("/smartor/svyfinishoption")
+public class SvyFinishoptionController extends BaseController
+{
+    @Autowired
+    private ISvyFinishoptionService svyFinishoptionService;
+
+    /**
+     * 鏌ヨ闂嵎鏈�缁堢粨鏋滈�夐」璇︽儏鍒楄〃
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:svyfinishoption:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(SvyFinishoption svyFinishoption)
+    {
+        startPage();
+        List<SvyFinishoption> list = svyFinishoptionService.selectSvyFinishoptionList(svyFinishoption);
+        return getDataTable(list);
+    }
+
+    /**
+     * 瀵煎嚭闂嵎鏈�缁堢粨鏋滈�夐」璇︽儏鍒楄〃
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:svyfinishoption:export')")
+    @Log(title = "闂嵎鏈�缁堢粨鏋滈�夐」璇︽儏", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, SvyFinishoption svyFinishoption)
+    {
+        List<SvyFinishoption> list = svyFinishoptionService.selectSvyFinishoptionList(svyFinishoption);
+        ExcelUtil<SvyFinishoption> util = new ExcelUtil<SvyFinishoption>(SvyFinishoption.class);
+        util.exportExcel(response, list, "闂嵎鏈�缁堢粨鏋滈�夐」璇︽儏鏁版嵁");
+    }
+
+    /**
+     * 鑾峰彇闂嵎鏈�缁堢粨鏋滈�夐」璇︽儏璇︾粏淇℃伅
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:svyfinishoption:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(svyFinishoptionService.selectSvyFinishoptionById(id));
+    }
+
+    /**
+     * 鏂板闂嵎鏈�缁堢粨鏋滈�夐」璇︽儏
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:svyfinishoption:add')")
+    @Log(title = "闂嵎鏈�缁堢粨鏋滈�夐」璇︽儏", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody SvyFinishoption svyFinishoption)
+    {
+        return toAjax(svyFinishoptionService.insertSvyFinishoption(svyFinishoption));
+    }
+
+    /**
+     * 淇敼闂嵎鏈�缁堢粨鏋滈�夐」璇︽儏
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:svyfinishoption:edit')")
+    @Log(title = "闂嵎鏈�缁堢粨鏋滈�夐」璇︽儏", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody SvyFinishoption svyFinishoption)
+    {
+        return toAjax(svyFinishoptionService.updateSvyFinishoption(svyFinishoption));
+    }
+
+    /**
+     * 鍒犻櫎闂嵎鏈�缁堢粨鏋滈�夐」璇︽儏
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:svyfinishoption:remove')")
+    @Log(title = "闂嵎鏈�缁堢粨鏋滈�夐」璇︽儏", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(svyFinishoptionService.deleteSvyFinishoptionByIds(ids));
+    }
+}
diff --git a/smartor/src/main/java/com/smartor/controller/SvyFinishtopicController.java b/smartor/src/main/java/com/smartor/controller/SvyFinishtopicController.java
new file mode 100644
index 0000000..395ca18
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/controller/SvyFinishtopicController.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.SvyFinishtopic;
+import com.smartor.service.ISvyFinishtopicService;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 闂嵎璋冩煡缁撴灉璇︽儏Controller
+ * 
+ * @author ruoyi
+ * @date 2023-03-03
+ */
+@RestController
+@RequestMapping("/smartor/svyfinishtopic")
+public class SvyFinishtopicController extends BaseController
+{
+    @Autowired
+    private ISvyFinishtopicService svyFinishtopicService;
+
+    /**
+     * 鏌ヨ闂嵎璋冩煡缁撴灉璇︽儏鍒楄〃
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:svyfinishtopic:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(SvyFinishtopic svyFinishtopic)
+    {
+        startPage();
+        List<SvyFinishtopic> list = svyFinishtopicService.selectSvyFinishtopicList(svyFinishtopic);
+        return getDataTable(list);
+    }
+
+    /**
+     * 瀵煎嚭闂嵎璋冩煡缁撴灉璇︽儏鍒楄〃
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:svyfinishtopic:export')")
+    @Log(title = "闂嵎璋冩煡缁撴灉璇︽儏", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, SvyFinishtopic svyFinishtopic)
+    {
+        List<SvyFinishtopic> list = svyFinishtopicService.selectSvyFinishtopicList(svyFinishtopic);
+        ExcelUtil<SvyFinishtopic> util = new ExcelUtil<SvyFinishtopic>(SvyFinishtopic.class);
+        util.exportExcel(response, list, "闂嵎璋冩煡缁撴灉璇︽儏鏁版嵁");
+    }
+
+    /**
+     * 鑾峰彇闂嵎璋冩煡缁撴灉璇︽儏璇︾粏淇℃伅
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:svyfinishtopic:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(svyFinishtopicService.selectSvyFinishtopicById(id));
+    }
+
+    /**
+     * 鏂板闂嵎璋冩煡缁撴灉璇︽儏
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:svyfinishtopic:add')")
+    @Log(title = "闂嵎璋冩煡缁撴灉璇︽儏", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody SvyFinishtopic svyFinishtopic)
+    {
+        return toAjax(svyFinishtopicService.insertSvyFinishtopic(svyFinishtopic));
+    }
+
+    /**
+     * 淇敼闂嵎璋冩煡缁撴灉璇︽儏
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:svyfinishtopic:edit')")
+    @Log(title = "闂嵎璋冩煡缁撴灉璇︽儏", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody SvyFinishtopic svyFinishtopic)
+    {
+        return toAjax(svyFinishtopicService.updateSvyFinishtopic(svyFinishtopic));
+    }
+
+    /**
+     * 鍒犻櫎闂嵎璋冩煡缁撴灉璇︽儏
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:svyfinishtopic:remove')")
+    @Log(title = "闂嵎璋冩煡缁撴灉璇︽儏", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(svyFinishtopicService.deleteSvyFinishtopicByIds(ids));
+    }
+}
diff --git a/smartor/src/main/java/com/smartor/controller/SvyLibTopicController.java b/smartor/src/main/java/com/smartor/controller/SvyLibTopicController.java
new file mode 100644
index 0000000..32cee87
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/controller/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-03
+ */
+@RestController
+@RequestMapping("/smartor/svytopic")
+public class SvyLibTopicController extends BaseController
+{
+    @Autowired
+    private ISvyLibTopicService svyLibTopicService;
+
+    /**
+     * 鏌ヨ闂嵎棰樼洰鍒楄〃
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:svytopic:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(SvyLibTopic svyLibTopic)
+    {
+        startPage();
+        List<SvyLibTopic> list = svyLibTopicService.selectSvyLibTopicList(svyLibTopic);
+        return getDataTable(list);
+    }
+
+    /**
+     * 瀵煎嚭闂嵎棰樼洰鍒楄〃
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:svytopic: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('smartor:svytopic:query')")
+    @GetMapping(value = "/{topicid}")
+    public AjaxResult getInfo(@PathVariable("topicid") Long topicid)
+    {
+        return success(svyLibTopicService.selectSvyLibTopicByTopicid(topicid));
+    }
+
+    /**
+     * 鏂板闂嵎棰樼洰
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:svytopic:add')")
+    @Log(title = "闂嵎棰樼洰", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody SvyLibTopic svyLibTopic)
+    {
+        return toAjax(svyLibTopicService.insertSvyLibTopic(svyLibTopic));
+    }
+
+    /**
+     * 淇敼闂嵎棰樼洰
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:svytopic:edit')")
+    @Log(title = "闂嵎棰樼洰", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody SvyLibTopic svyLibTopic)
+    {
+        return toAjax(svyLibTopicService.updateSvyLibTopic(svyLibTopic));
+    }
+
+    /**
+     * 鍒犻櫎闂嵎棰樼洰
+     */
+    @PreAuthorize("@ss.hasPermi('smartor:svytopic:remove')")
+    @Log(title = "闂嵎棰樼洰", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{topicids}")
+    public AjaxResult remove(@PathVariable Long[] topicids)
+    {
+        return toAjax(svyLibTopicService.deleteSvyLibTopicByTopicids(topicids));
+    }
+}
diff --git a/smartor/src/main/java/com/smartor/domain/SvyFinish.java b/smartor/src/main/java/com/smartor/domain/SvyFinish.java
new file mode 100644
index 0000000..9287042
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/domain/SvyFinish.java
@@ -0,0 +1,237 @@
+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_finish
+ * 
+ * @author ruoyi
+ * @date 2023-03-03
+ */
+public class SvyFinish extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /**  鑷ID  */
+    private Long id;
+
+    /**  鎮h�匢D  */
+    @Excel(name = " 鎮h�匢D ")
+    private Long patid;
+
+    /**  鍏宠仈鏂规ID  */
+    @Excel(name = " 鍏宠仈鏂规ID ")
+    private Long schemeid;
+
+    /**  闂嵎鏍囬  */
+    @Excel(name = " 闂嵎鏍囬 ")
+    private String svytitle;
+
+    /**  闂嵎ID  */
+    @Excel(name = " 闂嵎ID ")
+    private Long svyid;
+
+    /**  鎬诲緱鍒�  */
+    @Excel(name = " 鎬诲緱鍒� ")
+    private BigDecimal totalscore;
+
+    /**  鍙嶉缁撴灉鍐呭  */
+    @Excel(name = " 鍙嶉缁撴灉鍐呭 ")
+    private String resultcontent;
+
+    /**  鏈烘瀯ID  */
+    @Excel(name = " 鏈烘瀯ID ")
+    private String orgid;
+
+    /**  灞曠ず寰楀垎  */
+    @Excel(name = " 灞曠ず寰楀垎 ")
+    private Long isshowscore;
+
+    /**  璁″垝ID  */
+    @Excel(name = " 璁″垝ID ")
+    private Long schemeplanid;
+
+    /**  浠诲姟ID  */
+    @Excel(name = " 浠诲姟ID ")
+    private Long schemetaskid;
+
+    /**  鏄惁寮傚父  */
+    @Excel(name = " 鏄惁寮傚父 ")
+    private Long isabnormal;
+
+    /**  鍒犻櫎鏍囪  */
+    private String delFlag;
+
+    /**  涓婁紶鏍囪  */
+    private Long isupload;
+
+    /**  涓婁紶鏃堕棿  */
+    private Date uploadTime;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+    public void setPatid(Long patid) 
+    {
+        this.patid = patid;
+    }
+
+    public Long getPatid() 
+    {
+        return patid;
+    }
+    public void setSchemeid(Long schemeid) 
+    {
+        this.schemeid = schemeid;
+    }
+
+    public Long getSchemeid() 
+    {
+        return schemeid;
+    }
+    public void setSvytitle(String svytitle) 
+    {
+        this.svytitle = svytitle;
+    }
+
+    public String getSvytitle() 
+    {
+        return svytitle;
+    }
+    public void setSvyid(Long svyid) 
+    {
+        this.svyid = svyid;
+    }
+
+    public Long getSvyid() 
+    {
+        return svyid;
+    }
+    public void setTotalscore(BigDecimal totalscore) 
+    {
+        this.totalscore = totalscore;
+    }
+
+    public BigDecimal getTotalscore() 
+    {
+        return totalscore;
+    }
+    public void setResultcontent(String resultcontent) 
+    {
+        this.resultcontent = resultcontent;
+    }
+
+    public String getResultcontent() 
+    {
+        return resultcontent;
+    }
+    public void setOrgid(String orgid) 
+    {
+        this.orgid = orgid;
+    }
+
+    public String getOrgid() 
+    {
+        return orgid;
+    }
+    public void setIsshowscore(Long isshowscore) 
+    {
+        this.isshowscore = isshowscore;
+    }
+
+    public Long getIsshowscore() 
+    {
+        return isshowscore;
+    }
+    public void setSchemeplanid(Long schemeplanid) 
+    {
+        this.schemeplanid = schemeplanid;
+    }
+
+    public Long getSchemeplanid() 
+    {
+        return schemeplanid;
+    }
+    public void setSchemetaskid(Long schemetaskid) 
+    {
+        this.schemetaskid = schemetaskid;
+    }
+
+    public Long getSchemetaskid() 
+    {
+        return schemetaskid;
+    }
+    public void setIsabnormal(Long isabnormal) 
+    {
+        this.isabnormal = isabnormal;
+    }
+
+    public Long getIsabnormal() 
+    {
+        return isabnormal;
+    }
+    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("patid", getPatid())
+            .append("schemeid", getSchemeid())
+            .append("svytitle", getSvytitle())
+            .append("svyid", getSvyid())
+            .append("totalscore", getTotalscore())
+            .append("resultcontent", getResultcontent())
+            .append("orgid", getOrgid())
+            .append("isshowscore", getIsshowscore())
+            .append("schemeplanid", getSchemeplanid())
+            .append("schemetaskid", getSchemetaskid())
+            .append("isabnormal", getIsabnormal())
+            .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/SvyFinishoption.java b/smartor/src/main/java/com/smartor/domain/SvyFinishoption.java
new file mode 100644
index 0000000..bcf7318
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/domain/SvyFinishoption.java
@@ -0,0 +1,180 @@
+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_finishoption
+ * 
+ * @author ruoyi
+ * @date 2023-03-03
+ */
+public class SvyFinishoption extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /**  鑷ID  */
+    private Long id;
+
+    /**  璇︽儏ID  */
+    @Excel(name = " 璇︽儏ID ")
+    private Long finshresultdetailid;
+
+    /**  鎵�閫夐鐩�夐」ID  */
+    @Excel(name = " 鎵�閫夐鐩�夐」ID ")
+    private Long psqoptionid;
+
+    /**  鎵�濉�夐」鍐呭  */
+    @Excel(name = " 鎵�濉�夐」鍐呭 ")
+    private String content;
+
+    /**  褰撳墠閫夐」寰楀垎  */
+    @Excel(name = " 褰撳墠閫夐」寰楀垎 ")
+    private BigDecimal score;
+
+    /**  鏈烘瀯ID  */
+    @Excel(name = " 鏈烘瀯ID ")
+    private String orgid;
+
+    /**  鍒犻櫎鏍囪  */
+    private String delFlag;
+
+    /**  涓婁紶鏍囪  */
+    private Long isupload;
+
+    /**  涓婁紶鏃堕棿  */
+    private Date uploadTime;
+
+    /**  鏄惁寮傚父  */
+    private Long isabnormal;
+
+    /**  鏈哄櫒浜洪�夋嫨鏍囪  */
+    @Excel(name = " 鏈哄櫒浜洪�夋嫨鏍囪 ")
+    private Long isrobot;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+    public void setFinshresultdetailid(Long finshresultdetailid) 
+    {
+        this.finshresultdetailid = finshresultdetailid;
+    }
+
+    public Long getFinshresultdetailid() 
+    {
+        return finshresultdetailid;
+    }
+    public void setPsqoptionid(Long psqoptionid) 
+    {
+        this.psqoptionid = psqoptionid;
+    }
+
+    public Long getPsqoptionid() 
+    {
+        return psqoptionid;
+    }
+    public void setContent(String content) 
+    {
+        this.content = content;
+    }
+
+    public String getContent() 
+    {
+        return content;
+    }
+    public void setScore(BigDecimal score) 
+    {
+        this.score = score;
+    }
+
+    public BigDecimal getScore() 
+    {
+        return score;
+    }
+    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 setIsabnormal(Long isabnormal) 
+    {
+        this.isabnormal = isabnormal;
+    }
+
+    public Long getIsabnormal() 
+    {
+        return isabnormal;
+    }
+    public void setIsrobot(Long isrobot) 
+    {
+        this.isrobot = isrobot;
+    }
+
+    public Long getIsrobot() 
+    {
+        return isrobot;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("finshresultdetailid", getFinshresultdetailid())
+            .append("psqoptionid", getPsqoptionid())
+            .append("content", getContent())
+            .append("score", getScore())
+            .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("isabnormal", getIsabnormal())
+            .append("isrobot", getIsrobot())
+            .toString();
+    }
+}
diff --git a/smartor/src/main/java/com/smartor/domain/SvyFinishtopic.java b/smartor/src/main/java/com/smartor/domain/SvyFinishtopic.java
new file mode 100644
index 0000000..c5f6b37
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/domain/SvyFinishtopic.java
@@ -0,0 +1,156 @@
+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_finishtopic
+ * 
+ * @author ruoyi
+ * @date 2023-03-03
+ */
+public class SvyFinishtopic extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /**  鑷ID  */
+    private Long id;
+
+    /**  闂嵎ID  */
+    @Excel(name = " 闂嵎ID ")
+    private Long psqid;
+
+    /**  鏈�缁堢粨鏋淚D  */
+    @Excel(name = " 鏈�缁堢粨鏋淚D ")
+    private Long resultid;
+
+    /**  褰撳墠棰樼洰ID  */
+    @Excel(name = " 褰撳墠棰樼洰ID ")
+    private Long topicid;
+
+    /**  褰撳墠閫夐」寰楀垎  */
+    @Excel(name = " 褰撳墠閫夐」寰楀垎 ")
+    private BigDecimal score;
+
+    /**  鏈烘瀯ID  */
+    @Excel(name = " 鏈烘瀯ID ")
+    private String orgid;
+
+    /**  鍒犻櫎鏍囪  */
+    private String delFlag;
+
+    /**  涓婁紶鏍囪  */
+    @Excel(name = " 涓婁紶鏍囪 ")
+    private Long isupload;
+
+    /**  涓婁紶鏃堕棿  */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = " 涓婁紶鏃堕棿 ", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date uploadTime;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+    public void setPsqid(Long psqid) 
+    {
+        this.psqid = psqid;
+    }
+
+    public Long getPsqid() 
+    {
+        return psqid;
+    }
+    public void setResultid(Long resultid) 
+    {
+        this.resultid = resultid;
+    }
+
+    public Long getResultid() 
+    {
+        return resultid;
+    }
+    public void setTopicid(Long topicid) 
+    {
+        this.topicid = topicid;
+    }
+
+    public Long getTopicid() 
+    {
+        return topicid;
+    }
+    public void setScore(BigDecimal score) 
+    {
+        this.score = score;
+    }
+
+    public BigDecimal getScore() 
+    {
+        return score;
+    }
+    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("psqid", getPsqid())
+            .append("resultid", getResultid())
+            .append("topicid", getTopicid())
+            .append("score", getScore())
+            .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/SvyLibTopic.java b/smartor/src/main/java/com/smartor/domain/SvyLibTopic.java
index 523bf02..749dd80 100644
--- a/smartor/src/main/java/com/smartor/domain/SvyLibTopic.java
+++ b/smartor/src/main/java/com/smartor/domain/SvyLibTopic.java
@@ -11,7 +11,7 @@
  * 闂嵎棰樼洰瀵硅薄 svy_lib_topic
  * 
  * @author ruoyi
- * @date 2023-03-02
+ * @date 2023-03-03
  */
 public class SvyLibTopic extends BaseEntity
 {
@@ -21,7 +21,6 @@
     private Long topicid;
 
     /**  鑰佺増鏈琁D  */
-    @Excel(name = " 鑰佺増鏈琁D ")
     private Long oldid;
 
     /**  闂嵎ID  */
@@ -33,7 +32,6 @@
     private Long topictype;
 
     /**  棰樼洰Code  */
-    @Excel(name = " 棰樼洰Code ")
     private String topiccode;
 
     /**  棰樼洰  */
@@ -45,7 +43,6 @@
     private Long sort;
 
     /**  鏄惁蹇呭~  */
-    @Excel(name = " 鏄惁蹇呭~ ")
     private Long ismandatory;
 
     /**  鏄惁闅愯棌  */
@@ -60,12 +57,9 @@
     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) 
diff --git a/smartor/src/main/java/com/smartor/mapper/SvyFinishMapper.java b/smartor/src/main/java/com/smartor/mapper/SvyFinishMapper.java
new file mode 100644
index 0000000..3d918ca
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/mapper/SvyFinishMapper.java
@@ -0,0 +1,61 @@
+package com.smartor.mapper;
+
+import java.util.List;
+import com.smartor.domain.SvyFinish;
+
+/**
+ * 闂嵎鏈�缁堢粨鏋淢apper鎺ュ彛
+ * 
+ * @author ruoyi
+ * @date 2023-03-03
+ */
+public interface SvyFinishMapper 
+{
+    /**
+     * 鏌ヨ闂嵎鏈�缁堢粨鏋�
+     * 
+     * @param id 闂嵎鏈�缁堢粨鏋滀富閿�
+     * @return 闂嵎鏈�缁堢粨鏋�
+     */
+    public SvyFinish selectSvyFinishById(Long id);
+
+    /**
+     * 鏌ヨ闂嵎鏈�缁堢粨鏋滃垪琛�
+     * 
+     * @param svyFinish 闂嵎鏈�缁堢粨鏋�
+     * @return 闂嵎鏈�缁堢粨鏋滈泦鍚�
+     */
+    public List<SvyFinish> selectSvyFinishList(SvyFinish svyFinish);
+
+    /**
+     * 鏂板闂嵎鏈�缁堢粨鏋�
+     * 
+     * @param svyFinish 闂嵎鏈�缁堢粨鏋�
+     * @return 缁撴灉
+     */
+    public int insertSvyFinish(SvyFinish svyFinish);
+
+    /**
+     * 淇敼闂嵎鏈�缁堢粨鏋�
+     * 
+     * @param svyFinish 闂嵎鏈�缁堢粨鏋�
+     * @return 缁撴灉
+     */
+    public int updateSvyFinish(SvyFinish svyFinish);
+
+    /**
+     * 鍒犻櫎闂嵎鏈�缁堢粨鏋�
+     * 
+     * @param id 闂嵎鏈�缁堢粨鏋滀富閿�
+     * @return 缁撴灉
+     */
+    public int deleteSvyFinishById(Long id);
+
+    /**
+     * 鎵归噺鍒犻櫎闂嵎鏈�缁堢粨鏋�
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteSvyFinishByIds(Long[] ids);
+}
diff --git a/smartor/src/main/java/com/smartor/mapper/SvyFinishoptionMapper.java b/smartor/src/main/java/com/smartor/mapper/SvyFinishoptionMapper.java
new file mode 100644
index 0000000..a3c4246
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/mapper/SvyFinishoptionMapper.java
@@ -0,0 +1,61 @@
+package com.smartor.mapper;
+
+import java.util.List;
+import com.smartor.domain.SvyFinishoption;
+
+/**
+ * 闂嵎鏈�缁堢粨鏋滈�夐」璇︽儏Mapper鎺ュ彛
+ * 
+ * @author ruoyi
+ * @date 2023-03-03
+ */
+public interface SvyFinishoptionMapper 
+{
+    /**
+     * 鏌ヨ闂嵎鏈�缁堢粨鏋滈�夐」璇︽儏
+     * 
+     * @param id 闂嵎鏈�缁堢粨鏋滈�夐」璇︽儏涓婚敭
+     * @return 闂嵎鏈�缁堢粨鏋滈�夐」璇︽儏
+     */
+    public SvyFinishoption selectSvyFinishoptionById(Long id);
+
+    /**
+     * 鏌ヨ闂嵎鏈�缁堢粨鏋滈�夐」璇︽儏鍒楄〃
+     * 
+     * @param svyFinishoption 闂嵎鏈�缁堢粨鏋滈�夐」璇︽儏
+     * @return 闂嵎鏈�缁堢粨鏋滈�夐」璇︽儏闆嗗悎
+     */
+    public List<SvyFinishoption> selectSvyFinishoptionList(SvyFinishoption svyFinishoption);
+
+    /**
+     * 鏂板闂嵎鏈�缁堢粨鏋滈�夐」璇︽儏
+     * 
+     * @param svyFinishoption 闂嵎鏈�缁堢粨鏋滈�夐」璇︽儏
+     * @return 缁撴灉
+     */
+    public int insertSvyFinishoption(SvyFinishoption svyFinishoption);
+
+    /**
+     * 淇敼闂嵎鏈�缁堢粨鏋滈�夐」璇︽儏
+     * 
+     * @param svyFinishoption 闂嵎鏈�缁堢粨鏋滈�夐」璇︽儏
+     * @return 缁撴灉
+     */
+    public int updateSvyFinishoption(SvyFinishoption svyFinishoption);
+
+    /**
+     * 鍒犻櫎闂嵎鏈�缁堢粨鏋滈�夐」璇︽儏
+     * 
+     * @param id 闂嵎鏈�缁堢粨鏋滈�夐」璇︽儏涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteSvyFinishoptionById(Long id);
+
+    /**
+     * 鎵归噺鍒犻櫎闂嵎鏈�缁堢粨鏋滈�夐」璇︽儏
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteSvyFinishoptionByIds(Long[] ids);
+}
diff --git a/smartor/src/main/java/com/smartor/mapper/SvyFinishtopicMapper.java b/smartor/src/main/java/com/smartor/mapper/SvyFinishtopicMapper.java
new file mode 100644
index 0000000..1accdda
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/mapper/SvyFinishtopicMapper.java
@@ -0,0 +1,61 @@
+package com.smartor.mapper;
+
+import java.util.List;
+import com.smartor.domain.SvyFinishtopic;
+
+/**
+ * 闂嵎璋冩煡缁撴灉璇︽儏Mapper鎺ュ彛
+ * 
+ * @author ruoyi
+ * @date 2023-03-03
+ */
+public interface SvyFinishtopicMapper 
+{
+    /**
+     * 鏌ヨ闂嵎璋冩煡缁撴灉璇︽儏
+     * 
+     * @param id 闂嵎璋冩煡缁撴灉璇︽儏涓婚敭
+     * @return 闂嵎璋冩煡缁撴灉璇︽儏
+     */
+    public SvyFinishtopic selectSvyFinishtopicById(Long id);
+
+    /**
+     * 鏌ヨ闂嵎璋冩煡缁撴灉璇︽儏鍒楄〃
+     * 
+     * @param svyFinishtopic 闂嵎璋冩煡缁撴灉璇︽儏
+     * @return 闂嵎璋冩煡缁撴灉璇︽儏闆嗗悎
+     */
+    public List<SvyFinishtopic> selectSvyFinishtopicList(SvyFinishtopic svyFinishtopic);
+
+    /**
+     * 鏂板闂嵎璋冩煡缁撴灉璇︽儏
+     * 
+     * @param svyFinishtopic 闂嵎璋冩煡缁撴灉璇︽儏
+     * @return 缁撴灉
+     */
+    public int insertSvyFinishtopic(SvyFinishtopic svyFinishtopic);
+
+    /**
+     * 淇敼闂嵎璋冩煡缁撴灉璇︽儏
+     * 
+     * @param svyFinishtopic 闂嵎璋冩煡缁撴灉璇︽儏
+     * @return 缁撴灉
+     */
+    public int updateSvyFinishtopic(SvyFinishtopic svyFinishtopic);
+
+    /**
+     * 鍒犻櫎闂嵎璋冩煡缁撴灉璇︽儏
+     * 
+     * @param id 闂嵎璋冩煡缁撴灉璇︽儏涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteSvyFinishtopicById(Long id);
+
+    /**
+     * 鎵归噺鍒犻櫎闂嵎璋冩煡缁撴灉璇︽儏
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteSvyFinishtopicByIds(Long[] ids);
+}
diff --git a/smartor/src/main/java/com/smartor/mapper/SvyLibTopicMapper.java b/smartor/src/main/java/com/smartor/mapper/SvyLibTopicMapper.java
index 3c3c073..0245370 100644
--- a/smartor/src/main/java/com/smartor/mapper/SvyLibTopicMapper.java
+++ b/smartor/src/main/java/com/smartor/mapper/SvyLibTopicMapper.java
@@ -7,7 +7,7 @@
  * 闂嵎棰樼洰Mapper鎺ュ彛
  * 
  * @author ruoyi
- * @date 2023-03-02
+ * @date 2023-03-03
  */
 public interface SvyLibTopicMapper 
 {
diff --git a/smartor/src/main/java/com/smartor/service/ISvyFinishService.java b/smartor/src/main/java/com/smartor/service/ISvyFinishService.java
new file mode 100644
index 0000000..31ee83f
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/service/ISvyFinishService.java
@@ -0,0 +1,61 @@
+package com.smartor.service;
+
+import java.util.List;
+import com.smartor.domain.SvyFinish;
+
+/**
+ * 闂嵎鏈�缁堢粨鏋淪ervice鎺ュ彛
+ * 
+ * @author ruoyi
+ * @date 2023-03-03
+ */
+public interface ISvyFinishService 
+{
+    /**
+     * 鏌ヨ闂嵎鏈�缁堢粨鏋�
+     * 
+     * @param id 闂嵎鏈�缁堢粨鏋滀富閿�
+     * @return 闂嵎鏈�缁堢粨鏋�
+     */
+    public SvyFinish selectSvyFinishById(Long id);
+
+    /**
+     * 鏌ヨ闂嵎鏈�缁堢粨鏋滃垪琛�
+     * 
+     * @param svyFinish 闂嵎鏈�缁堢粨鏋�
+     * @return 闂嵎鏈�缁堢粨鏋滈泦鍚�
+     */
+    public List<SvyFinish> selectSvyFinishList(SvyFinish svyFinish);
+
+    /**
+     * 鏂板闂嵎鏈�缁堢粨鏋�
+     * 
+     * @param svyFinish 闂嵎鏈�缁堢粨鏋�
+     * @return 缁撴灉
+     */
+    public int insertSvyFinish(SvyFinish svyFinish);
+
+    /**
+     * 淇敼闂嵎鏈�缁堢粨鏋�
+     * 
+     * @param svyFinish 闂嵎鏈�缁堢粨鏋�
+     * @return 缁撴灉
+     */
+    public int updateSvyFinish(SvyFinish svyFinish);
+
+    /**
+     * 鎵归噺鍒犻櫎闂嵎鏈�缁堢粨鏋�
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑闂嵎鏈�缁堢粨鏋滀富閿泦鍚�
+     * @return 缁撴灉
+     */
+    public int deleteSvyFinishByIds(Long[] ids);
+
+    /**
+     * 鍒犻櫎闂嵎鏈�缁堢粨鏋滀俊鎭�
+     * 
+     * @param id 闂嵎鏈�缁堢粨鏋滀富閿�
+     * @return 缁撴灉
+     */
+    public int deleteSvyFinishById(Long id);
+}
diff --git a/smartor/src/main/java/com/smartor/service/ISvyFinishoptionService.java b/smartor/src/main/java/com/smartor/service/ISvyFinishoptionService.java
new file mode 100644
index 0000000..3cfe112
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/service/ISvyFinishoptionService.java
@@ -0,0 +1,61 @@
+package com.smartor.service;
+
+import java.util.List;
+import com.smartor.domain.SvyFinishoption;
+
+/**
+ * 闂嵎鏈�缁堢粨鏋滈�夐」璇︽儏Service鎺ュ彛
+ * 
+ * @author ruoyi
+ * @date 2023-03-03
+ */
+public interface ISvyFinishoptionService 
+{
+    /**
+     * 鏌ヨ闂嵎鏈�缁堢粨鏋滈�夐」璇︽儏
+     * 
+     * @param id 闂嵎鏈�缁堢粨鏋滈�夐」璇︽儏涓婚敭
+     * @return 闂嵎鏈�缁堢粨鏋滈�夐」璇︽儏
+     */
+    public SvyFinishoption selectSvyFinishoptionById(Long id);
+
+    /**
+     * 鏌ヨ闂嵎鏈�缁堢粨鏋滈�夐」璇︽儏鍒楄〃
+     * 
+     * @param svyFinishoption 闂嵎鏈�缁堢粨鏋滈�夐」璇︽儏
+     * @return 闂嵎鏈�缁堢粨鏋滈�夐」璇︽儏闆嗗悎
+     */
+    public List<SvyFinishoption> selectSvyFinishoptionList(SvyFinishoption svyFinishoption);
+
+    /**
+     * 鏂板闂嵎鏈�缁堢粨鏋滈�夐」璇︽儏
+     * 
+     * @param svyFinishoption 闂嵎鏈�缁堢粨鏋滈�夐」璇︽儏
+     * @return 缁撴灉
+     */
+    public int insertSvyFinishoption(SvyFinishoption svyFinishoption);
+
+    /**
+     * 淇敼闂嵎鏈�缁堢粨鏋滈�夐」璇︽儏
+     * 
+     * @param svyFinishoption 闂嵎鏈�缁堢粨鏋滈�夐」璇︽儏
+     * @return 缁撴灉
+     */
+    public int updateSvyFinishoption(SvyFinishoption svyFinishoption);
+
+    /**
+     * 鎵归噺鍒犻櫎闂嵎鏈�缁堢粨鏋滈�夐」璇︽儏
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑闂嵎鏈�缁堢粨鏋滈�夐」璇︽儏涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteSvyFinishoptionByIds(Long[] ids);
+
+    /**
+     * 鍒犻櫎闂嵎鏈�缁堢粨鏋滈�夐」璇︽儏淇℃伅
+     * 
+     * @param id 闂嵎鏈�缁堢粨鏋滈�夐」璇︽儏涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteSvyFinishoptionById(Long id);
+}
diff --git a/smartor/src/main/java/com/smartor/service/ISvyFinishtopicService.java b/smartor/src/main/java/com/smartor/service/ISvyFinishtopicService.java
new file mode 100644
index 0000000..6579798
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/service/ISvyFinishtopicService.java
@@ -0,0 +1,61 @@
+package com.smartor.service;
+
+import java.util.List;
+import com.smartor.domain.SvyFinishtopic;
+
+/**
+ * 闂嵎璋冩煡缁撴灉璇︽儏Service鎺ュ彛
+ * 
+ * @author ruoyi
+ * @date 2023-03-03
+ */
+public interface ISvyFinishtopicService 
+{
+    /**
+     * 鏌ヨ闂嵎璋冩煡缁撴灉璇︽儏
+     * 
+     * @param id 闂嵎璋冩煡缁撴灉璇︽儏涓婚敭
+     * @return 闂嵎璋冩煡缁撴灉璇︽儏
+     */
+    public SvyFinishtopic selectSvyFinishtopicById(Long id);
+
+    /**
+     * 鏌ヨ闂嵎璋冩煡缁撴灉璇︽儏鍒楄〃
+     * 
+     * @param svyFinishtopic 闂嵎璋冩煡缁撴灉璇︽儏
+     * @return 闂嵎璋冩煡缁撴灉璇︽儏闆嗗悎
+     */
+    public List<SvyFinishtopic> selectSvyFinishtopicList(SvyFinishtopic svyFinishtopic);
+
+    /**
+     * 鏂板闂嵎璋冩煡缁撴灉璇︽儏
+     * 
+     * @param svyFinishtopic 闂嵎璋冩煡缁撴灉璇︽儏
+     * @return 缁撴灉
+     */
+    public int insertSvyFinishtopic(SvyFinishtopic svyFinishtopic);
+
+    /**
+     * 淇敼闂嵎璋冩煡缁撴灉璇︽儏
+     * 
+     * @param svyFinishtopic 闂嵎璋冩煡缁撴灉璇︽儏
+     * @return 缁撴灉
+     */
+    public int updateSvyFinishtopic(SvyFinishtopic svyFinishtopic);
+
+    /**
+     * 鎵归噺鍒犻櫎闂嵎璋冩煡缁撴灉璇︽儏
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑闂嵎璋冩煡缁撴灉璇︽儏涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteSvyFinishtopicByIds(Long[] ids);
+
+    /**
+     * 鍒犻櫎闂嵎璋冩煡缁撴灉璇︽儏淇℃伅
+     * 
+     * @param id 闂嵎璋冩煡缁撴灉璇︽儏涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteSvyFinishtopicById(Long id);
+}
diff --git a/smartor/src/main/java/com/smartor/service/ISvyLibTopicService.java b/smartor/src/main/java/com/smartor/service/ISvyLibTopicService.java
index 2d2fae9..882c298 100644
--- a/smartor/src/main/java/com/smartor/service/ISvyLibTopicService.java
+++ b/smartor/src/main/java/com/smartor/service/ISvyLibTopicService.java
@@ -7,7 +7,7 @@
  * 闂嵎棰樼洰Service鎺ュ彛
  * 
  * @author ruoyi
- * @date 2023-03-02
+ * @date 2023-03-03
  */
 public interface ISvyLibTopicService 
 {
diff --git a/smartor/src/main/java/com/smartor/service/impl/SvyFinishServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/SvyFinishServiceImpl.java
new file mode 100644
index 0000000..eeb0c75
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/service/impl/SvyFinishServiceImpl.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.SvyFinishMapper;
+import com.smartor.domain.SvyFinish;
+import com.smartor.service.ISvyFinishService;
+
+/**
+ * 闂嵎鏈�缁堢粨鏋淪ervice涓氬姟灞傚鐞�
+ * 
+ * @author ruoyi
+ * @date 2023-03-03
+ */
+@Service
+public class SvyFinishServiceImpl implements ISvyFinishService 
+{
+    @Autowired
+    private SvyFinishMapper svyFinishMapper;
+
+    /**
+     * 鏌ヨ闂嵎鏈�缁堢粨鏋�
+     * 
+     * @param id 闂嵎鏈�缁堢粨鏋滀富閿�
+     * @return 闂嵎鏈�缁堢粨鏋�
+     */
+    @Override
+    public SvyFinish selectSvyFinishById(Long id)
+    {
+        return svyFinishMapper.selectSvyFinishById(id);
+    }
+
+    /**
+     * 鏌ヨ闂嵎鏈�缁堢粨鏋滃垪琛�
+     * 
+     * @param svyFinish 闂嵎鏈�缁堢粨鏋�
+     * @return 闂嵎鏈�缁堢粨鏋�
+     */
+    @Override
+    public List<SvyFinish> selectSvyFinishList(SvyFinish svyFinish)
+    {
+        return svyFinishMapper.selectSvyFinishList(svyFinish);
+    }
+
+    /**
+     * 鏂板闂嵎鏈�缁堢粨鏋�
+     * 
+     * @param svyFinish 闂嵎鏈�缁堢粨鏋�
+     * @return 缁撴灉
+     */
+    @Override
+    public int insertSvyFinish(SvyFinish svyFinish)
+    {
+        svyFinish.setCreateTime(DateUtils.getNowDate());
+        return svyFinishMapper.insertSvyFinish(svyFinish);
+    }
+
+    /**
+     * 淇敼闂嵎鏈�缁堢粨鏋�
+     * 
+     * @param svyFinish 闂嵎鏈�缁堢粨鏋�
+     * @return 缁撴灉
+     */
+    @Override
+    public int updateSvyFinish(SvyFinish svyFinish)
+    {
+        svyFinish.setUpdateTime(DateUtils.getNowDate());
+        return svyFinishMapper.updateSvyFinish(svyFinish);
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎闂嵎鏈�缁堢粨鏋�
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑闂嵎鏈�缁堢粨鏋滀富閿�
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteSvyFinishByIds(Long[] ids)
+    {
+        return svyFinishMapper.deleteSvyFinishByIds(ids);
+    }
+
+    /**
+     * 鍒犻櫎闂嵎鏈�缁堢粨鏋滀俊鎭�
+     * 
+     * @param id 闂嵎鏈�缁堢粨鏋滀富閿�
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteSvyFinishById(Long id)
+    {
+        return svyFinishMapper.deleteSvyFinishById(id);
+    }
+}
diff --git a/smartor/src/main/java/com/smartor/service/impl/SvyFinishoptionServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/SvyFinishoptionServiceImpl.java
new file mode 100644
index 0000000..db27408
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/service/impl/SvyFinishoptionServiceImpl.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.SvyFinishoptionMapper;
+import com.smartor.domain.SvyFinishoption;
+import com.smartor.service.ISvyFinishoptionService;
+
+/**
+ * 闂嵎鏈�缁堢粨鏋滈�夐」璇︽儏Service涓氬姟灞傚鐞�
+ * 
+ * @author ruoyi
+ * @date 2023-03-03
+ */
+@Service
+public class SvyFinishoptionServiceImpl implements ISvyFinishoptionService 
+{
+    @Autowired
+    private SvyFinishoptionMapper svyFinishoptionMapper;
+
+    /**
+     * 鏌ヨ闂嵎鏈�缁堢粨鏋滈�夐」璇︽儏
+     * 
+     * @param id 闂嵎鏈�缁堢粨鏋滈�夐」璇︽儏涓婚敭
+     * @return 闂嵎鏈�缁堢粨鏋滈�夐」璇︽儏
+     */
+    @Override
+    public SvyFinishoption selectSvyFinishoptionById(Long id)
+    {
+        return svyFinishoptionMapper.selectSvyFinishoptionById(id);
+    }
+
+    /**
+     * 鏌ヨ闂嵎鏈�缁堢粨鏋滈�夐」璇︽儏鍒楄〃
+     * 
+     * @param svyFinishoption 闂嵎鏈�缁堢粨鏋滈�夐」璇︽儏
+     * @return 闂嵎鏈�缁堢粨鏋滈�夐」璇︽儏
+     */
+    @Override
+    public List<SvyFinishoption> selectSvyFinishoptionList(SvyFinishoption svyFinishoption)
+    {
+        return svyFinishoptionMapper.selectSvyFinishoptionList(svyFinishoption);
+    }
+
+    /**
+     * 鏂板闂嵎鏈�缁堢粨鏋滈�夐」璇︽儏
+     * 
+     * @param svyFinishoption 闂嵎鏈�缁堢粨鏋滈�夐」璇︽儏
+     * @return 缁撴灉
+     */
+    @Override
+    public int insertSvyFinishoption(SvyFinishoption svyFinishoption)
+    {
+        svyFinishoption.setCreateTime(DateUtils.getNowDate());
+        return svyFinishoptionMapper.insertSvyFinishoption(svyFinishoption);
+    }
+
+    /**
+     * 淇敼闂嵎鏈�缁堢粨鏋滈�夐」璇︽儏
+     * 
+     * @param svyFinishoption 闂嵎鏈�缁堢粨鏋滈�夐」璇︽儏
+     * @return 缁撴灉
+     */
+    @Override
+    public int updateSvyFinishoption(SvyFinishoption svyFinishoption)
+    {
+        svyFinishoption.setUpdateTime(DateUtils.getNowDate());
+        return svyFinishoptionMapper.updateSvyFinishoption(svyFinishoption);
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎闂嵎鏈�缁堢粨鏋滈�夐」璇︽儏
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑闂嵎鏈�缁堢粨鏋滈�夐」璇︽儏涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteSvyFinishoptionByIds(Long[] ids)
+    {
+        return svyFinishoptionMapper.deleteSvyFinishoptionByIds(ids);
+    }
+
+    /**
+     * 鍒犻櫎闂嵎鏈�缁堢粨鏋滈�夐」璇︽儏淇℃伅
+     * 
+     * @param id 闂嵎鏈�缁堢粨鏋滈�夐」璇︽儏涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteSvyFinishoptionById(Long id)
+    {
+        return svyFinishoptionMapper.deleteSvyFinishoptionById(id);
+    }
+}
diff --git a/smartor/src/main/java/com/smartor/service/impl/SvyFinishtopicServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/SvyFinishtopicServiceImpl.java
new file mode 100644
index 0000000..4adc140
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/service/impl/SvyFinishtopicServiceImpl.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.SvyFinishtopicMapper;
+import com.smartor.domain.SvyFinishtopic;
+import com.smartor.service.ISvyFinishtopicService;
+
+/**
+ * 闂嵎璋冩煡缁撴灉璇︽儏Service涓氬姟灞傚鐞�
+ * 
+ * @author ruoyi
+ * @date 2023-03-03
+ */
+@Service
+public class SvyFinishtopicServiceImpl implements ISvyFinishtopicService 
+{
+    @Autowired
+    private SvyFinishtopicMapper svyFinishtopicMapper;
+
+    /**
+     * 鏌ヨ闂嵎璋冩煡缁撴灉璇︽儏
+     * 
+     * @param id 闂嵎璋冩煡缁撴灉璇︽儏涓婚敭
+     * @return 闂嵎璋冩煡缁撴灉璇︽儏
+     */
+    @Override
+    public SvyFinishtopic selectSvyFinishtopicById(Long id)
+    {
+        return svyFinishtopicMapper.selectSvyFinishtopicById(id);
+    }
+
+    /**
+     * 鏌ヨ闂嵎璋冩煡缁撴灉璇︽儏鍒楄〃
+     * 
+     * @param svyFinishtopic 闂嵎璋冩煡缁撴灉璇︽儏
+     * @return 闂嵎璋冩煡缁撴灉璇︽儏
+     */
+    @Override
+    public List<SvyFinishtopic> selectSvyFinishtopicList(SvyFinishtopic svyFinishtopic)
+    {
+        return svyFinishtopicMapper.selectSvyFinishtopicList(svyFinishtopic);
+    }
+
+    /**
+     * 鏂板闂嵎璋冩煡缁撴灉璇︽儏
+     * 
+     * @param svyFinishtopic 闂嵎璋冩煡缁撴灉璇︽儏
+     * @return 缁撴灉
+     */
+    @Override
+    public int insertSvyFinishtopic(SvyFinishtopic svyFinishtopic)
+    {
+        svyFinishtopic.setCreateTime(DateUtils.getNowDate());
+        return svyFinishtopicMapper.insertSvyFinishtopic(svyFinishtopic);
+    }
+
+    /**
+     * 淇敼闂嵎璋冩煡缁撴灉璇︽儏
+     * 
+     * @param svyFinishtopic 闂嵎璋冩煡缁撴灉璇︽儏
+     * @return 缁撴灉
+     */
+    @Override
+    public int updateSvyFinishtopic(SvyFinishtopic svyFinishtopic)
+    {
+        svyFinishtopic.setUpdateTime(DateUtils.getNowDate());
+        return svyFinishtopicMapper.updateSvyFinishtopic(svyFinishtopic);
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎闂嵎璋冩煡缁撴灉璇︽儏
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑闂嵎璋冩煡缁撴灉璇︽儏涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteSvyFinishtopicByIds(Long[] ids)
+    {
+        return svyFinishtopicMapper.deleteSvyFinishtopicByIds(ids);
+    }
+
+    /**
+     * 鍒犻櫎闂嵎璋冩煡缁撴灉璇︽儏淇℃伅
+     * 
+     * @param id 闂嵎璋冩煡缁撴灉璇︽儏涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteSvyFinishtopicById(Long id)
+    {
+        return svyFinishtopicMapper.deleteSvyFinishtopicById(id);
+    }
+}
diff --git a/smartor/src/main/java/com/smartor/service/impl/SvyLibTopicServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/SvyLibTopicServiceImpl.java
index 29b9442..1be9405 100644
--- a/smartor/src/main/java/com/smartor/service/impl/SvyLibTopicServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/SvyLibTopicServiceImpl.java
@@ -12,7 +12,7 @@
  * 闂嵎棰樼洰Service涓氬姟灞傚鐞�
  * 
  * @author ruoyi
- * @date 2023-03-02
+ * @date 2023-03-03
  */
 @Service
 public class SvyLibTopicServiceImpl implements ISvyLibTopicService 
diff --git a/smartor/src/main/resources/mapper/smartor/SvyFinishMapper.xml b/smartor/src/main/resources/mapper/smartor/SvyFinishMapper.xml
new file mode 100644
index 0000000..088398d
--- /dev/null
+++ b/smartor/src/main/resources/mapper/smartor/SvyFinishMapper.xml
@@ -0,0 +1,127 @@
+<?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.SvyFinishMapper">
+    
+    <resultMap type="SvyFinish" id="SvyFinishResult">
+        <result property="id"    column="id"    />
+        <result property="patid"    column="patid"    />
+        <result property="schemeid"    column="schemeid"    />
+        <result property="svytitle"    column="svytitle"    />
+        <result property="svyid"    column="svyid"    />
+        <result property="totalscore"    column="totalscore"    />
+        <result property="resultcontent"    column="resultcontent"    />
+        <result property="orgid"    column="orgid"    />
+        <result property="isshowscore"    column="isshowscore"    />
+        <result property="schemeplanid"    column="schemeplanid"    />
+        <result property="schemetaskid"    column="schemetaskid"    />
+        <result property="isabnormal"    column="isabnormal"    />
+        <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="selectSvyFinishVo">
+        select id, patid, schemeid, svytitle, svyid, totalscore, resultcontent, orgid, isshowscore, schemeplanid, schemetaskid, isabnormal, del_flag, create_by, create_time, update_by, update_time, isupload, upload_time from svy_finish
+    </sql>
+
+    <select id="selectSvyFinishList" parameterType="SvyFinish" resultMap="SvyFinishResult">
+        <include refid="selectSvyFinishVo"/>
+        <where>  
+            <if test="svytitle != null  and svytitle != ''"> and svytitle = #{svytitle}</if>
+            <if test="totalscore != null "> and totalscore = #{totalscore}</if>
+            <if test="orgid != null  and orgid != ''"> and orgid = #{orgid}</if>
+            <if test="isabnormal != null "> and isabnormal = #{isabnormal}</if>
+        </where>
+    </select>
+    
+    <select id="selectSvyFinishById" parameterType="Long" resultMap="SvyFinishResult">
+        <include refid="selectSvyFinishVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertSvyFinish" parameterType="SvyFinish" useGeneratedKeys="true" keyProperty="id">
+        insert into svy_finish
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="patid != null">patid,</if>
+            <if test="schemeid != null">schemeid,</if>
+            <if test="svytitle != null">svytitle,</if>
+            <if test="svyid != null">svyid,</if>
+            <if test="totalscore != null">totalscore,</if>
+            <if test="resultcontent != null">resultcontent,</if>
+            <if test="orgid != null">orgid,</if>
+            <if test="isshowscore != null">isshowscore,</if>
+            <if test="schemeplanid != null">schemeplanid,</if>
+            <if test="schemetaskid != null">schemetaskid,</if>
+            <if test="isabnormal != null">isabnormal,</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="patid != null">#{patid},</if>
+            <if test="schemeid != null">#{schemeid},</if>
+            <if test="svytitle != null">#{svytitle},</if>
+            <if test="svyid != null">#{svyid},</if>
+            <if test="totalscore != null">#{totalscore},</if>
+            <if test="resultcontent != null">#{resultcontent},</if>
+            <if test="orgid != null">#{orgid},</if>
+            <if test="isshowscore != null">#{isshowscore},</if>
+            <if test="schemeplanid != null">#{schemeplanid},</if>
+            <if test="schemetaskid != null">#{schemetaskid},</if>
+            <if test="isabnormal != null">#{isabnormal},</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="updateSvyFinish" parameterType="SvyFinish">
+        update svy_finish
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="patid != null">patid = #{patid},</if>
+            <if test="schemeid != null">schemeid = #{schemeid},</if>
+            <if test="svytitle != null">svytitle = #{svytitle},</if>
+            <if test="svyid != null">svyid = #{svyid},</if>
+            <if test="totalscore != null">totalscore = #{totalscore},</if>
+            <if test="resultcontent != null">resultcontent = #{resultcontent},</if>
+            <if test="orgid != null">orgid = #{orgid},</if>
+            <if test="isshowscore != null">isshowscore = #{isshowscore},</if>
+            <if test="schemeplanid != null">schemeplanid = #{schemeplanid},</if>
+            <if test="schemetaskid != null">schemetaskid = #{schemetaskid},</if>
+            <if test="isabnormal != null">isabnormal = #{isabnormal},</if>
+            <if test="delFlag != null and delFlag != ''">del_flag = #{delFlag},</if>
+            <if test="createBy != null">create_by = #{createBy},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+            <if test="updateBy != null">update_by = #{updateBy},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+            <if test="isupload != null">isupload = #{isupload},</if>
+            <if test="uploadTime != null">upload_time = #{uploadTime},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteSvyFinishById" parameterType="Long">
+        delete from svy_finish where id = #{id}
+    </delete>
+
+    <delete id="deleteSvyFinishByIds" parameterType="String">
+        delete from svy_finish 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/SvyFinishoptionMapper.xml b/smartor/src/main/resources/mapper/smartor/SvyFinishoptionMapper.xml
new file mode 100644
index 0000000..1432c00
--- /dev/null
+++ b/smartor/src/main/resources/mapper/smartor/SvyFinishoptionMapper.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.SvyFinishoptionMapper">
+    
+    <resultMap type="SvyFinishoption" id="SvyFinishoptionResult">
+        <result property="id"    column="id"    />
+        <result property="finshresultdetailid"    column="finshresultdetailid"    />
+        <result property="psqoptionid"    column="psqoptionid"    />
+        <result property="content"    column="content"    />
+        <result property="score"    column="score"    />
+        <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="isabnormal"    column="isabnormal"    />
+        <result property="isrobot"    column="isrobot"    />
+    </resultMap>
+
+    <sql id="selectSvyFinishoptionVo">
+        select id, finshresultdetailid, psqoptionid, content, score, orgid, del_flag, update_by, update_time, create_by, create_time, isupload, upload_time, isabnormal, isrobot from svy_finishoption
+    </sql>
+
+    <select id="selectSvyFinishoptionList" parameterType="SvyFinishoption" resultMap="SvyFinishoptionResult">
+        <include refid="selectSvyFinishoptionVo"/>
+        <where>  
+            <if test="psqoptionid != null "> and psqoptionid = #{psqoptionid}</if>
+            <if test="content != null  and content != ''"> and content = #{content}</if>
+            <if test="orgid != null  and orgid != ''"> and orgid = #{orgid}</if>
+            <if test="isrobot != null "> and isrobot = #{isrobot}</if>
+        </where>
+    </select>
+    
+    <select id="selectSvyFinishoptionById" parameterType="Long" resultMap="SvyFinishoptionResult">
+        <include refid="selectSvyFinishoptionVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertSvyFinishoption" parameterType="SvyFinishoption" useGeneratedKeys="true" keyProperty="id">
+        insert into svy_finishoption
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="finshresultdetailid != null">finshresultdetailid,</if>
+            <if test="psqoptionid != null">psqoptionid,</if>
+            <if test="content != null">content,</if>
+            <if test="score != null">score,</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="isabnormal != null">isabnormal,</if>
+            <if test="isrobot != null">isrobot,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="finshresultdetailid != null">#{finshresultdetailid},</if>
+            <if test="psqoptionid != null">#{psqoptionid},</if>
+            <if test="content != null">#{content},</if>
+            <if test="score != null">#{score},</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="isabnormal != null">#{isabnormal},</if>
+            <if test="isrobot != null">#{isrobot},</if>
+         </trim>
+    </insert>
+
+    <update id="updateSvyFinishoption" parameterType="SvyFinishoption">
+        update svy_finishoption
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="finshresultdetailid != null">finshresultdetailid = #{finshresultdetailid},</if>
+            <if test="psqoptionid != null">psqoptionid = #{psqoptionid},</if>
+            <if test="content != null">content = #{content},</if>
+            <if test="score != null">score = #{score},</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="isabnormal != null">isabnormal = #{isabnormal},</if>
+            <if test="isrobot != null">isrobot = #{isrobot},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteSvyFinishoptionById" parameterType="Long">
+        delete from svy_finishoption where id = #{id}
+    </delete>
+
+    <delete id="deleteSvyFinishoptionByIds" parameterType="String">
+        delete from svy_finishoption 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/SvyFinishtopicMapper.xml b/smartor/src/main/resources/mapper/smartor/SvyFinishtopicMapper.xml
new file mode 100644
index 0000000..4dd7865
--- /dev/null
+++ b/smartor/src/main/resources/mapper/smartor/SvyFinishtopicMapper.xml
@@ -0,0 +1,104 @@
+<?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.SvyFinishtopicMapper">
+    
+    <resultMap type="SvyFinishtopic" id="SvyFinishtopicResult">
+        <result property="id"    column="id"    />
+        <result property="psqid"    column="psqid"    />
+        <result property="resultid"    column="resultid"    />
+        <result property="topicid"    column="topicid"    />
+        <result property="score"    column="score"    />
+        <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="selectSvyFinishtopicVo">
+        select id, psqid, resultid, topicid, score, orgid, del_flag, update_by, update_time, create_by, create_time, isupload, upload_time from svy_finishtopic
+    </sql>
+
+    <select id="selectSvyFinishtopicList" parameterType="SvyFinishtopic" resultMap="SvyFinishtopicResult">
+        <include refid="selectSvyFinishtopicVo"/>
+        <where>  
+            <if test="topicid != null "> and topicid = #{topicid}</if>
+            <if test="score != null "> and score = #{score}</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="selectSvyFinishtopicById" parameterType="Long" resultMap="SvyFinishtopicResult">
+        <include refid="selectSvyFinishtopicVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertSvyFinishtopic" parameterType="SvyFinishtopic" useGeneratedKeys="true" keyProperty="id">
+        insert into svy_finishtopic
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="psqid != null">psqid,</if>
+            <if test="resultid != null">resultid,</if>
+            <if test="topicid != null">topicid,</if>
+            <if test="score != null">score,</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="psqid != null">#{psqid},</if>
+            <if test="resultid != null">#{resultid},</if>
+            <if test="topicid != null">#{topicid},</if>
+            <if test="score != null">#{score},</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="updateSvyFinishtopic" parameterType="SvyFinishtopic">
+        update svy_finishtopic
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="psqid != null">psqid = #{psqid},</if>
+            <if test="resultid != null">resultid = #{resultid},</if>
+            <if test="topicid != null">topicid = #{topicid},</if>
+            <if test="score != null">score = #{score},</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="deleteSvyFinishtopicById" parameterType="Long">
+        delete from svy_finishtopic where id = #{id}
+    </delete>
+
+    <delete id="deleteSvyFinishtopicByIds" parameterType="String">
+        delete from svy_finishtopic 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/SvyLibTopicMapper.xml b/smartor/src/main/resources/mapper/smartor/SvyLibTopicMapper.xml
index 6f3ec11..309bf11 100644
--- a/smartor/src/main/resources/mapper/smartor/SvyLibTopicMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/SvyLibTopicMapper.xml
@@ -32,16 +32,10 @@
         <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>
     

--
Gitblit v1.9.3