From 196829a351cac0c7504a16e314c6f1169d1149e7 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期二, 13 六月 2023 10:19:54 +0800
Subject: [PATCH] 批量上传题库

---
 smartor/pom.xml                                                                       |    6 
 smartor/src/main/java/com/smartor/domain/SvyLibTopicRes.java                          |   95 +++++
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/SvyLibTopicController.java |   53 +
 smartor/src/main/resources/mapper/smartor/SvyLibTopicMapper.xml                       |    5 
 smartor/src/main/java/com/smartor/service/impl/SvyLibTopicServiceImpl.java            |  204 +++++++++-
 smartor/src/main/java/com/smartor/domain/SvyLibTopic.java                             |  219 +++--------
 smartor/src/main/java/com/smartor/domain/SvyLibTopicoption.java                       |  452 ++++++-----------------
 smartor/src/main/java/com/smartor/mapper/SvyLibTopicoptionMapper.java                 |   20 
 smartor/src/main/java/com/smartor/mapper/SvyLibTopicMapper.java                       |   20 
 smartor/src/main/java/com/smartor/service/IPatArchiveService.java                     |    2 
 smartor/src/main/java/com/smartor/service/ISvyLibTopicService.java                    |   30 +
 11 files changed, 549 insertions(+), 557 deletions(-)

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 32cee87..f4cf9ec 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
@@ -1,7 +1,12 @@
-package com.smartor.controller;
+package com.ruoyi.web.controller.smartor;
 
 import java.util.List;
 import javax.servlet.http.HttpServletResponse;
+
+import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.common.core.domain.model.LoginUser;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -20,17 +25,18 @@
 import com.smartor.service.ISvyLibTopicService;
 import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.ruoyi.common.core.page.TableDataInfo;
+import org.springframework.web.multipart.MultipartFile;
 
 /**
  * 闂嵎棰樼洰Controller
- * 
+ *
  * @author ruoyi
  * @date 2023-03-03
  */
+@Api("闂嵎棰樼洰")
 @RestController
 @RequestMapping("/smartor/svytopic")
-public class SvyLibTopicController extends BaseController
-{
+public class SvyLibTopicController extends BaseController {
     @Autowired
     private ISvyLibTopicService svyLibTopicService;
 
@@ -39,8 +45,7 @@
      */
     @PreAuthorize("@ss.hasPermi('smartor:svytopic:list')")
     @GetMapping("/list")
-    public TableDataInfo list(SvyLibTopic svyLibTopic)
-    {
+    public TableDataInfo list(SvyLibTopic svyLibTopic) {
         startPage();
         List<SvyLibTopic> list = svyLibTopicService.selectSvyLibTopicList(svyLibTopic);
         return getDataTable(list);
@@ -51,9 +56,9 @@
      */
     @PreAuthorize("@ss.hasPermi('smartor:svytopic:export')")
     @Log(title = "闂嵎棰樼洰", businessType = BusinessType.EXPORT)
+    @ApiOperation("瀵煎嚭闂嵎棰樼洰鍒楄〃")
     @PostMapping("/export")
-    public void export(HttpServletResponse response, SvyLibTopic svyLibTopic)
-    {
+    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, "闂嵎棰樼洰鏁版嵁");
@@ -62,43 +67,57 @@
     /**
      * 鑾峰彇闂嵎棰樼洰璇︾粏淇℃伅
      */
+    @ApiOperation("鑾峰彇闂嵎棰樼洰璇︾粏淇℃伅")
     @PreAuthorize("@ss.hasPermi('smartor:svytopic:query')")
     @GetMapping(value = "/{topicid}")
-    public AjaxResult getInfo(@PathVariable("topicid") Long topicid)
-    {
+    public AjaxResult getInfo(@PathVariable("topicid") Long topicid) {
         return success(svyLibTopicService.selectSvyLibTopicByTopicid(topicid));
     }
 
     /**
      * 鏂板闂嵎棰樼洰
      */
+    @ApiOperation("鏂板闂嵎棰樼洰")
     @PreAuthorize("@ss.hasPermi('smartor:svytopic:add')")
     @Log(title = "闂嵎棰樼洰", businessType = BusinessType.INSERT)
     @PostMapping
-    public AjaxResult add(@RequestBody SvyLibTopic svyLibTopic)
-    {
+    public AjaxResult add(@RequestBody SvyLibTopic svyLibTopic) {
         return toAjax(svyLibTopicService.insertSvyLibTopic(svyLibTopic));
     }
 
     /**
      * 淇敼闂嵎棰樼洰
      */
+    @ApiOperation("淇敼闂嵎棰樼洰")
     @PreAuthorize("@ss.hasPermi('smartor:svytopic:edit')")
     @Log(title = "闂嵎棰樼洰", businessType = BusinessType.UPDATE)
     @PutMapping
-    public AjaxResult edit(@RequestBody SvyLibTopic svyLibTopic)
-    {
+    public AjaxResult edit(@RequestBody SvyLibTopic svyLibTopic) {
         return toAjax(svyLibTopicService.updateSvyLibTopic(svyLibTopic));
     }
 
     /**
      * 鍒犻櫎闂嵎棰樼洰
      */
+    @ApiOperation("鍒犻櫎闂嵎棰樼洰")
     @PreAuthorize("@ss.hasPermi('smartor:svytopic:remove')")
     @Log(title = "闂嵎棰樼洰", businessType = BusinessType.DELETE)
-	@DeleteMapping("/{topicids}")
-    public AjaxResult remove(@PathVariable Long[] topicids)
-    {
+    @DeleteMapping("/{topicids}")
+    public AjaxResult remove(@PathVariable Long[] topicids) {
         return toAjax(svyLibTopicService.deleteSvyLibTopicByTopicids(topicids));
     }
+
+
+    /**
+     * 鎵归噺瀵煎叆闂棶棰樼洰
+     */
+    @ApiOperation("鎵归噺瀵煎叆闂棶棰樼洰")
+    @PostMapping("/importLitTopic")
+    public AjaxResult importLitTopic(MultipartFile multipartFile) {
+        LoginUser loginUser = getLoginUser();
+        SysUser user = loginUser.getUser();
+
+        return success(svyLibTopicService.importLitTopic(user, multipartFile));
+    }
+
 }
diff --git a/smartor/pom.xml b/smartor/pom.xml
index acbb29b..3bdf790 100644
--- a/smartor/pom.xml
+++ b/smartor/pom.xml
@@ -28,7 +28,11 @@
             <artifactId>swagger-annotations</artifactId>
             <version>1.6.2</version>
         </dependency>
-
+        <dependency>
+            <groupId>cn.afterturn</groupId>
+            <artifactId>easypoi-spring-boot-starter</artifactId>
+            <version>4.4.0</version>
+        </dependency>
     </dependencies>
 
 </project>
\ No newline at end of file
diff --git a/smartor/src/main/java/com/smartor/domain/SvyLibTopic.java b/smartor/src/main/java/com/smartor/domain/SvyLibTopic.java
index 749dd80..18ea98a 100644
--- a/smartor/src/main/java/com/smartor/domain/SvyLibTopic.java
+++ b/smartor/src/main/java/com/smartor/domain/SvyLibTopic.java
@@ -1,7 +1,11 @@
 package com.smartor.domain;
 
 import java.util.Date;
+
 import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import org.apache.commons.lang3.builder.ToStringStyle;
 import com.ruoyi.common.annotation.Excel;
@@ -9,197 +13,108 @@
 
 /**
  * 闂嵎棰樼洰瀵硅薄 svy_lib_topic
- * 
+ *
  * @author ruoyi
  * @date 2023-03-03
  */
-public class SvyLibTopic extends BaseEntity
-{
+@Data
+@ApiModel(value = "SvyLibTopic", description = "闂嵎棰樼洰瀵硅薄")
+public class SvyLibTopic extends BaseEntity {
     private static final long serialVersionUID = 1L;
 
-    /**  鑷ID  */
+    /**
+     * 鑷ID
+     */
+    @ApiModelProperty(name = "鑷ID")
     private Long topicid;
 
-    /**  鑰佺増鏈琁D  */
+    /**
+     * 鑰佺増鏈琁D
+     */
+    @ApiModelProperty(name = "鑰佺増鏈琁D")
     private Long oldid;
 
-    /**  闂嵎ID  */
+    /**
+     * 闂嵎ID
+     */
     @Excel(name = " 闂嵎ID ")
+    @ApiModelProperty(name = "闂嵎ID")
     private Long svyid;
 
-    /**  棰樼洰绫诲瀷;鏋氫妇 1.鍗曢�� 2澶氶�� 3濉┖  */
+    /**
+     * 棰樼洰绫诲瀷;鏋氫妇 1.鍗曢�� 2澶氶�� 3濉┖
+     */
     @Excel(name = " 棰樼洰绫诲瀷;鏋氫妇 1.鍗曢�� 2澶氶�� 3濉┖ ")
+    @ApiModelProperty(name = "棰樼洰绫诲瀷;鏋氫妇 1.鍗曢�� 2澶氶�� 3濉┖")
     private Long topictype;
 
-    /**  棰樼洰Code  */
+    /**
+     * 棰樼洰Code
+     */
+    @ApiModelProperty(name = "棰樼洰Code")
     private String topiccode;
 
-    /**  棰樼洰  */
+    /**
+     * 棰樼洰
+     */
     @Excel(name = " 棰樼洰 ")
+    @ApiModelProperty(name = "棰樼洰")
     private String topic;
 
-    /**  鎺掑簭  */
+    /**
+     * 鎺掑簭
+     */
     @Excel(name = " 鎺掑簭 ")
+    @ApiModelProperty(name = "鎺掑簭")
     private Long sort;
 
-    /**  鏄惁蹇呭~  */
+    /**
+     * 鏄惁蹇呭~
+     */
+    @ApiModelProperty(name = "鏄惁蹇呭~")
     private Long ismandatory;
 
-    /**  鏄惁闅愯棌  */
+    /**
+     * 鏄惁闅愯棌
+     */
     @Excel(name = " 鏄惁闅愯棌 ")
+    @ApiModelProperty(name = "鏄惁闅愯棌")
     private Long ishide;
 
-    /**  鍒犻櫎鏍囪  */
+    /**
+     * 鍒犻櫎鏍囪
+     */
+    @ApiModelProperty(name = "鍒犻櫎鏍囪")
     private String delFlag;
 
-    /**  鏈烘瀯ID  */
+    /**
+     * 鏈烘瀯ID
+     */
     @Excel(name = " 鏈烘瀯ID ")
+    @ApiModelProperty(name = "鏈烘瀯ID")
     private String orgid;
 
-    /**  涓婁紶鏍囪  */
+    /**
+     * 涓婁紶鏍囪
+     */
+    @ApiModelProperty(name = "涓婁紶鏍囪")
     private Long isupload;
 
-    /**  涓婁紶鏃堕棿  */
+    /**
+     * 涓婁紶鏍囪
+     */
+    @ApiModelProperty(name = "鏍囩")
+    private String tag;
+
+    /**
+     * 涓婁紶鏃堕棿
+     */
+    @ApiModelProperty(name = "涓婁紶鏃堕棿")
     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();
+        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/SvyLibTopicRes.java b/smartor/src/main/java/com/smartor/domain/SvyLibTopicRes.java
new file mode 100644
index 0000000..aff31d5
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/domain/SvyLibTopicRes.java
@@ -0,0 +1,95 @@
+package com.smartor.domain;
+
+import com.ruoyi.common.core.domain.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 闂嵎棰樼洰瀵硅薄 svy_lib_topic
+ *
+ * @author ruoyi
+ * @date 2023-03-03
+ */
+@Data
+@ApiModel(value = "SvyLibTopicRes", description = "闂嵎棰樼洰杩斿弬")
+public class SvyLibTopicRes extends BaseEntity {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 鑷ID
+     */
+    @ApiModelProperty(name = "鑷ID")
+    private Long topicid;
+
+
+    /**
+     * 闂嵎ID
+     */
+    @ApiModelProperty(name = "闂嵎ID")
+    private Long svyid;
+
+
+    /**
+     * 棰樼洰
+     */
+    @ApiModelProperty(name = "棰樼洰")
+    private String topic;
+
+    /**
+     * 绫诲埆
+     */
+    @ApiModelProperty(name = "绫诲埆")
+    private String tag;
+
+
+    /**
+     * 棰樼洰绫诲瀷;鏋氫妇 1.鍗曢�� 2澶氶�� 3濉┖
+     */
+    @ApiModelProperty(name = "棰樼洰绫诲瀷;鏋氫妇 1.鍗曢�� 2澶氶�� 3濉┖")
+    private String topictype;
+
+    /**
+     * 绛旀
+     */
+    @ApiModelProperty(name = "绛旀")
+    private String answer;
+
+    /**
+     * 閫夐」A
+     */
+    @ApiModelProperty(name = "閫夐」A")
+    private String optionA;
+
+    /**
+     * 閫夐」B
+     */
+    @ApiModelProperty(name = "閫夐」B")
+    private String optionB;
+
+    /**
+     * 閫夐」C
+     */
+    @ApiModelProperty(name = "閫夐」C")
+    private String optionC;
+
+    /**
+     * 閫夐」D
+     */
+    @ApiModelProperty(name = "閫夐」D")
+    private String optionD;
+
+    /**
+     * 鍒嗘暟
+     */
+    @ApiModelProperty(name = "鍒嗘暟")
+    private String score;
+
+    /**
+     * 澶囨敞
+     */
+    @ApiModelProperty(name = "澶囨敞")
+    private String remark;
+
+
+}
diff --git a/smartor/src/main/java/com/smartor/domain/SvyLibTopicoption.java b/smartor/src/main/java/com/smartor/domain/SvyLibTopicoption.java
index 04a5fec..4a10be7 100644
--- a/smartor/src/main/java/com/smartor/domain/SvyLibTopicoption.java
+++ b/smartor/src/main/java/com/smartor/domain/SvyLibTopicoption.java
@@ -1,7 +1,11 @@
 package com.smartor.domain;
 
 import java.util.Date;
+
 import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import org.apache.commons.lang3.builder.ToStringStyle;
 import com.ruoyi.common.annotation.Excel;
@@ -9,399 +13,177 @@
 
 /**
  * 闂嵎闂閫夐」瀵硅薄 svy_lib_topicoption
- * 
+ *
  * @author ruoyi
  * @date 2023-03-02
  */
-public class SvyLibTopicoption extends BaseEntity
-{
-    private static final long serialVersionUID = 1L;
+@Data
+@ApiModel(value = "SvyLibTopicoption", description = "闂嵎闂閫夐」瀵硅薄")
+public class SvyLibTopicoption extends BaseEntity {
 
-    /**  鑷ID  */
+    /**
+     * 鑷ID
+     */
+    @ApiModelProperty(name = "鑷ID")
     private Long optionid;
 
-    /**  棰樼洰ID  */
+    /**
+     * 棰樼洰ID
+     */
+    @ApiModelProperty(name = "棰樼洰ID")
     @Excel(name = " 棰樼洰ID ")
     private Long topicid;
 
-    /**  闂嵎ID  */
-    @Excel(name = " 闂嵎ID ")
+    /**
+     * 闂嵎ID
+     */
+    @ApiModelProperty(name = "闂嵎ID")
     private Long svyid;
 
-    /**  棰樼洰绫诲瀷  */
-    @Excel(name = " 棰樼洰绫诲瀷 ")
+    /**
+     * 棰樼洰绫诲瀷
+     */
+    @ApiModelProperty(name = "棰樼洰绫诲瀷")
     private Long topictype;
 
-    /**  閫夐」Code  */
-    @Excel(name = " 閫夐」Code ")
+    /**
+     * 閫夐」Code
+     */
+    @ApiModelProperty(name = "閫夐」Code")
     private String optioncode;
 
-    /**  閫夐」鍐呭  */
-    @Excel(name = " 閫夐」鍐呭 ")
+    /**
+     * 閫夐」鍐呭
+     */
+    @ApiModelProperty(name = "閫夐」鍐呭")
     private String optioncontent;
 
-    /**  鏄惁瀛樺湪鏄庣粏  */
-    @Excel(name = " 鏄惁瀛樺湪鏄庣粏 ")
+    /**
+     * 鏄惁瀛樺湪鏄庣粏
+     */
+    @ApiModelProperty(name = "鏄惁瀛樺湪鏄庣粏")
     private Long isexistdetail;
 
-    /**  鏄庣粏鏄惁蹇呭~  */
-    @Excel(name = " 鏄庣粏鏄惁蹇呭~ ")
+    /**
+     * 鏄庣粏鏄惁蹇呭~
+     */
+    @ApiModelProperty(name = "鏄庣粏鏄惁蹇呭~")
     private Long detailismandatory;
 
-    /**  鏄惁寮傚父椤圭洰  */
-    @Excel(name = " 鏄惁寮傚父椤圭洰 ")
+    /**
+     * 鏄惁寮傚父椤圭洰
+     */
+    @ApiModelProperty(name = "鏄惁寮傚父椤圭洰")
     private Long isexceptionitem;
 
-    /**  鏄惁璺熻繘  */
-    @Excel(name = " 鏄惁璺熻繘 ")
+    /**
+     * 鏄惁璺熻繘
+     */
+    @ApiModelProperty(name = "鏄惁璺熻繘")
     private Long istrack;
 
-    /**  鍒嗘暟  */
-    @Excel(name = " 鍒嗘暟 ")
+    /**
+     * 鍒嗘暟
+     */
+    @ApiModelProperty(name = "鍒嗘暟")
     private Long score;
 
-    /**  鎻愮ず  */
-    @Excel(name = " 鎻愮ず ")
+    /**
+     * 鎻愮ず
+     */
+    @ApiModelProperty(name = "鎻愮ず")
     private String prompt;
 
-    /**  璺宠浆  */
-    @Excel(name = " 璺宠浆 ")
+    /**
+     * 璺宠浆
+     */
+    @ApiModelProperty(name = "璺宠浆")
     private String jump;
 
-    /**  鐖堕�夐」ID  */
-    @Excel(name = " 鐖堕�夐」ID ")
+    /**
+     * 鐖堕�夐」ID
+     */
+    @ApiModelProperty(name = "鐖堕�夐」ID")
     private Long parentoptionid;
 
-    /**  鏄惁浜掓枼  */
-    @Excel(name = " 鏄惁浜掓枼 ")
+    /**
+     * 鏄惁浜掓枼
+     */
+    @ApiModelProperty(name = "鏄惁浜掓枼")
     private Long ismutex;
 
-    /**  楠岃瘉瑙勫垯  */
-    @Excel(name = " 楠岃瘉瑙勫垯 ")
+    /**
+     * 楠岃瘉瑙勫垯
+     */
+    @ApiModelProperty(name = "楠岃瘉瑙勫垯")
     private String verifyrule;
 
-    /**  鎺掑簭  */
-    @Excel(name = " 鎺掑簭 ")
+    /**
+     * 鎺掑簭
+     */
+    @ApiModelProperty(name = "鎺掑簭")
     private Long sort;
 
-    /**  楠岃瘉绫诲瀷;0.涓嶉獙璇� 1.鏁存暟 2.灏忔暟 3.鎵嬫満鍙� 4.韬唤璇� 5.鏃ユ湡  */
-    @Excel(name = " 楠岃瘉绫诲瀷;0.涓嶉獙璇� 1.鏁存暟 2.灏忔暟 3.鎵嬫満鍙� 4.韬唤璇� 5.鏃ユ湡 ")
+    /**
+     * 楠岃瘉绫诲瀷;0.涓嶉獙璇� 1.鏁存暟 2.灏忔暟 3.鎵嬫満鍙� 4.韬唤璇� 5.鏃ユ湡
+     */
+    @ApiModelProperty(name = "楠岃瘉绫诲瀷;0.涓嶉獙璇� 1.鏁存暟 2.灏忔暟 3.鎵嬫満鍙� 4.韬唤璇� 5.鏃ユ湡 ")
     private Long verificationtype;
 
-    /**  鏄惁闄愬埗鑼冨洿  */
-    @Excel(name = " 鏄惁闄愬埗鑼冨洿 ")
+    /**
+     * 鏄惁闄愬埗鑼冨洿
+     */
+    @ApiModelProperty(name = "鏄惁闄愬埗鑼冨洿")
     private Long isrange;
 
-    /**  鏈�灏忚寖鍥�  */
-    @Excel(name = " 鏈�灏忚寖鍥� ")
+    /**
+     * 鏈�灏忚寖鍥�
+     */
+    @ApiModelProperty(name = "鏈�灏忚寖鍥�")
     private String minrange;
 
-    /**  鏈�澶ц寖鍥�  */
-    @Excel(name = " 鏈�澶ц寖鍥� ")
+    /**
+     * 鏈�澶ц寖鍥�
+     */
+    @ApiModelProperty(name = "鏈�澶ц寖鍥�")
     private String maxrange;
 
-    /**  鑼冨洿闀垮害;鐢ㄤ簬灏忔暟淇濈暀浣嶆暟  */
-    @Excel(name = " 鑼冨洿闀垮害;鐢ㄤ簬灏忔暟淇濈暀浣嶆暟 ")
+    /**
+     * 鑼冨洿闀垮害;鐢ㄤ簬灏忔暟淇濈暀浣嶆暟
+     */
+    @ApiModelProperty(name = "鑼冨洿闀垮害;鐢ㄤ簬灏忔暟淇濈暀浣嶆暟")
     private Long rangelength;
 
-    /**  鏈烘瀯ID  */
-    @Excel(name = " 鏈烘瀯ID ")
+    /**
+     * 鏈烘瀯ID
+     */
+    @ApiModelProperty(name = "鏈烘瀯ID")
     private String orgid;
 
-    /**  涓婁竴鐗堟湰ID  */
-    @Excel(name = " 涓婁竴鐗堟湰ID ")
+    /**
+     * 涓婁竴鐗堟湰ID
+     */
+    @ApiModelProperty(name = "涓婁竴鐗堟湰ID")
     private Long oldid;
 
-    /**  鍒犻櫎鏍囪  */
+    /**
+     * 鍒犻櫎鏍囪
+     */
+    @ApiModelProperty(name = "鍒犻櫎鏍囪")
     private String delFlag;
 
-    /**  涓婁紶鏍囪  */
-    @Excel(name = " 涓婁紶鏍囪 ")
+    /**
+     * 涓婁紶鏍囪
+     */
+    @ApiModelProperty(name = "涓婁紶鏍囪")
     private Long isupload;
 
-    /**  涓婁紶鏃堕棿  */
+    /**
+     * 涓婁紶鏃堕棿
+     */
     @JsonFormat(pattern = "yyyy-MM-dd")
-    @Excel(name = " 涓婁紶鏃堕棿 ", width = 30, dateFormat = "yyyy-MM-dd")
+    @ApiModelProperty(name = "涓婁紶鏃堕棿")
     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/SvyLibTopicMapper.java b/smartor/src/main/java/com/smartor/mapper/SvyLibTopicMapper.java
index 0245370..0131e43 100644
--- a/smartor/src/main/java/com/smartor/mapper/SvyLibTopicMapper.java
+++ b/smartor/src/main/java/com/smartor/mapper/SvyLibTopicMapper.java
@@ -1,19 +1,21 @@
 package com.smartor.mapper;
 
 import java.util.List;
+
 import com.smartor.domain.SvyLibTopic;
+import org.apache.ibatis.annotations.Mapper;
 
 /**
  * 闂嵎棰樼洰Mapper鎺ュ彛
- * 
+ *
  * @author ruoyi
  * @date 2023-03-03
  */
-public interface SvyLibTopicMapper 
-{
+@Mapper
+public interface SvyLibTopicMapper {
     /**
      * 鏌ヨ闂嵎棰樼洰
-     * 
+     *
      * @param topicid 闂嵎棰樼洰涓婚敭
      * @return 闂嵎棰樼洰
      */
@@ -21,7 +23,7 @@
 
     /**
      * 鏌ヨ闂嵎棰樼洰鍒楄〃
-     * 
+     *
      * @param svyLibTopic 闂嵎棰樼洰
      * @return 闂嵎棰樼洰闆嗗悎
      */
@@ -29,7 +31,7 @@
 
     /**
      * 鏂板闂嵎棰樼洰
-     * 
+     *
      * @param svyLibTopic 闂嵎棰樼洰
      * @return 缁撴灉
      */
@@ -37,7 +39,7 @@
 
     /**
      * 淇敼闂嵎棰樼洰
-     * 
+     *
      * @param svyLibTopic 闂嵎棰樼洰
      * @return 缁撴灉
      */
@@ -45,7 +47,7 @@
 
     /**
      * 鍒犻櫎闂嵎棰樼洰
-     * 
+     *
      * @param topicid 闂嵎棰樼洰涓婚敭
      * @return 缁撴灉
      */
@@ -53,7 +55,7 @@
 
     /**
      * 鎵归噺鍒犻櫎闂嵎棰樼洰
-     * 
+     *
      * @param topicids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
      * @return 缁撴灉
      */
diff --git a/smartor/src/main/java/com/smartor/mapper/SvyLibTopicoptionMapper.java b/smartor/src/main/java/com/smartor/mapper/SvyLibTopicoptionMapper.java
index 4b9252f..f7cd308 100644
--- a/smartor/src/main/java/com/smartor/mapper/SvyLibTopicoptionMapper.java
+++ b/smartor/src/main/java/com/smartor/mapper/SvyLibTopicoptionMapper.java
@@ -1,19 +1,21 @@
 package com.smartor.mapper;
 
 import java.util.List;
+
 import com.smartor.domain.SvyLibTopicoption;
+import org.apache.ibatis.annotations.Mapper;
 
 /**
  * 闂嵎闂閫夐」Mapper鎺ュ彛
- * 
+ *
  * @author ruoyi
  * @date 2023-03-02
  */
-public interface SvyLibTopicoptionMapper 
-{
+@Mapper
+public interface SvyLibTopicoptionMapper {
     /**
      * 鏌ヨ闂嵎闂閫夐」
-     * 
+     *
      * @param optionid 闂嵎闂閫夐」涓婚敭
      * @return 闂嵎闂閫夐」
      */
@@ -21,7 +23,7 @@
 
     /**
      * 鏌ヨ闂嵎闂閫夐」鍒楄〃
-     * 
+     *
      * @param svyLibTopicoption 闂嵎闂閫夐」
      * @return 闂嵎闂閫夐」闆嗗悎
      */
@@ -29,7 +31,7 @@
 
     /**
      * 鏂板闂嵎闂閫夐」
-     * 
+     *
      * @param svyLibTopicoption 闂嵎闂閫夐」
      * @return 缁撴灉
      */
@@ -37,7 +39,7 @@
 
     /**
      * 淇敼闂嵎闂閫夐」
-     * 
+     *
      * @param svyLibTopicoption 闂嵎闂閫夐」
      * @return 缁撴灉
      */
@@ -45,7 +47,7 @@
 
     /**
      * 鍒犻櫎闂嵎闂閫夐」
-     * 
+     *
      * @param optionid 闂嵎闂閫夐」涓婚敭
      * @return 缁撴灉
      */
@@ -53,7 +55,7 @@
 
     /**
      * 鎵归噺鍒犻櫎闂嵎闂閫夐」
-     * 
+     *
      * @param optionids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
      * @return 缁撴灉
      */
diff --git a/smartor/src/main/java/com/smartor/service/IPatArchiveService.java b/smartor/src/main/java/com/smartor/service/IPatArchiveService.java
index 1119a94..b0d1035 100644
--- a/smartor/src/main/java/com/smartor/service/IPatArchiveService.java
+++ b/smartor/src/main/java/com/smartor/service/IPatArchiveService.java
@@ -68,7 +68,7 @@
     /**
      * 鎮h�呬俊鎭壒閲忔彃鍏�
      *
-     * @param title
+     * @param tags
      * @param file
      */
     public PatUpInfoVO importFilehandle(SysUser user,String tags, MultipartFile file);
diff --git a/smartor/src/main/java/com/smartor/service/ISvyLibTopicService.java b/smartor/src/main/java/com/smartor/service/ISvyLibTopicService.java
index 882c298..769f387 100644
--- a/smartor/src/main/java/com/smartor/service/ISvyLibTopicService.java
+++ b/smartor/src/main/java/com/smartor/service/ISvyLibTopicService.java
@@ -1,19 +1,23 @@
 package com.smartor.service;
 
 import java.util.List;
+
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.core.domain.entity.SysUser;
 import com.smartor.domain.SvyLibTopic;
+import com.smartor.domain.SvyLibTopicRes;
+import org.springframework.web.multipart.MultipartFile;
 
 /**
  * 闂嵎棰樼洰Service鎺ュ彛
- * 
+ *
  * @author ruoyi
  * @date 2023-03-03
  */
-public interface ISvyLibTopicService 
-{
+public interface ISvyLibTopicService {
     /**
      * 鏌ヨ闂嵎棰樼洰
-     * 
+     *
      * @param topicid 闂嵎棰樼洰涓婚敭
      * @return 闂嵎棰樼洰
      */
@@ -21,7 +25,7 @@
 
     /**
      * 鏌ヨ闂嵎棰樼洰鍒楄〃
-     * 
+     *
      * @param svyLibTopic 闂嵎棰樼洰
      * @return 闂嵎棰樼洰闆嗗悎
      */
@@ -29,7 +33,7 @@
 
     /**
      * 鏂板闂嵎棰樼洰
-     * 
+     *
      * @param svyLibTopic 闂嵎棰樼洰
      * @return 缁撴灉
      */
@@ -37,7 +41,7 @@
 
     /**
      * 淇敼闂嵎棰樼洰
-     * 
+     *
      * @param svyLibTopic 闂嵎棰樼洰
      * @return 缁撴灉
      */
@@ -45,7 +49,7 @@
 
     /**
      * 鎵归噺鍒犻櫎闂嵎棰樼洰
-     * 
+     *
      * @param topicids 闇�瑕佸垹闄ょ殑闂嵎棰樼洰涓婚敭闆嗗悎
      * @return 缁撴灉
      */
@@ -53,9 +57,17 @@
 
     /**
      * 鍒犻櫎闂嵎棰樼洰淇℃伅
-     * 
+     *
      * @param topicid 闂嵎棰樼洰涓婚敭
      * @return 缁撴灉
      */
     public int deleteSvyLibTopicByTopicid(Long topicid);
+
+    /**
+     * 鎵归噺瀵煎叆闂棶棰樼洰
+     *
+     * @param multipartFile
+     * @return
+     */
+    public List<SvyLibTopicRes> importLitTopic(SysUser user,MultipartFile multipartFile);
 }
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 1be9405..64d7f85 100644
--- a/smartor/src/main/java/com/smartor/service/impl/SvyLibTopicServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/SvyLibTopicServiceImpl.java
@@ -1,96 +1,256 @@
 package com.smartor.service.impl;
 
-import java.util.List;
+import java.io.IOException;
+import java.util.*;
+
+import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.utils.DateUtils;
+import com.ruoyi.common.utils.StringUtils;
+import com.smartor.domain.PatArchive;
+import com.smartor.domain.SvyLibTopicRes;
+import com.smartor.domain.SvyLibTopicoption;
+import com.smartor.mapper.SvyLibTopicoptionMapper;
+import org.apache.catalina.User;
+import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.lang3.ObjectUtils;
+import org.apache.poi.ss.usermodel.Row;
+import org.apache.poi.ss.usermodel.Sheet;
+import org.apache.poi.ss.usermodel.Workbook;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 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;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.multipart.MultipartFile;
 
 /**
  * 闂嵎棰樼洰Service涓氬姟灞傚鐞�
- * 
+ *
  * @author ruoyi
  * @date 2023-03-03
  */
 @Service
-public class SvyLibTopicServiceImpl implements ISvyLibTopicService 
-{
+public class SvyLibTopicServiceImpl implements ISvyLibTopicService {
     @Autowired
     private SvyLibTopicMapper svyLibTopicMapper;
 
+    @Autowired
+    private SvyLibTopicoptionMapper svyLibTopicoptionMapper;
+
     /**
      * 鏌ヨ闂嵎棰樼洰
-     * 
+     *
      * @param topicid 闂嵎棰樼洰涓婚敭
      * @return 闂嵎棰樼洰
      */
     @Override
-    public SvyLibTopic selectSvyLibTopicByTopicid(Long topicid)
-    {
+    public SvyLibTopic selectSvyLibTopicByTopicid(Long topicid) {
         return svyLibTopicMapper.selectSvyLibTopicByTopicid(topicid);
     }
 
     /**
      * 鏌ヨ闂嵎棰樼洰鍒楄〃
-     * 
+     *
      * @param svyLibTopic 闂嵎棰樼洰
      * @return 闂嵎棰樼洰
      */
     @Override
-    public List<SvyLibTopic> selectSvyLibTopicList(SvyLibTopic svyLibTopic)
-    {
+    public List<SvyLibTopic> selectSvyLibTopicList(SvyLibTopic svyLibTopic) {
         return svyLibTopicMapper.selectSvyLibTopicList(svyLibTopic);
     }
 
     /**
      * 鏂板闂嵎棰樼洰
-     * 
+     *
      * @param svyLibTopic 闂嵎棰樼洰
      * @return 缁撴灉
      */
     @Override
-    public int insertSvyLibTopic(SvyLibTopic svyLibTopic)
-    {
+    public int insertSvyLibTopic(SvyLibTopic svyLibTopic) {
         svyLibTopic.setCreateTime(DateUtils.getNowDate());
         return svyLibTopicMapper.insertSvyLibTopic(svyLibTopic);
     }
 
     /**
      * 淇敼闂嵎棰樼洰
-     * 
+     *
      * @param svyLibTopic 闂嵎棰樼洰
      * @return 缁撴灉
      */
     @Override
-    public int updateSvyLibTopic(SvyLibTopic svyLibTopic)
-    {
+    public int updateSvyLibTopic(SvyLibTopic svyLibTopic) {
         svyLibTopic.setUpdateTime(DateUtils.getNowDate());
         return svyLibTopicMapper.updateSvyLibTopic(svyLibTopic);
     }
 
     /**
      * 鎵归噺鍒犻櫎闂嵎棰樼洰
-     * 
+     *
      * @param topicids 闇�瑕佸垹闄ょ殑闂嵎棰樼洰涓婚敭
      * @return 缁撴灉
      */
     @Override
-    public int deleteSvyLibTopicByTopicids(Long[] topicids)
-    {
+    public int deleteSvyLibTopicByTopicids(Long[] topicids) {
         return svyLibTopicMapper.deleteSvyLibTopicByTopicids(topicids);
     }
 
     /**
      * 鍒犻櫎闂嵎棰樼洰淇℃伅
-     * 
+     *
      * @param topicid 闂嵎棰樼洰涓婚敭
      * @return 缁撴灉
      */
     @Override
-    public int deleteSvyLibTopicByTopicid(Long topicid)
-    {
+    public int deleteSvyLibTopicByTopicid(Long topicid) {
         return svyLibTopicMapper.deleteSvyLibTopicByTopicid(topicid);
     }
+
+    /**
+     * 鎵归噺瀵煎叆闂棶棰樼洰
+     *
+     * @param multipartFile
+     * @return
+     */
+    @Override
+    @Transactional
+    public List<SvyLibTopicRes> importLitTopic(SysUser user, MultipartFile multipartFile) {
+        List<SvyLibTopicRes> svyLibTopicErrors = new ArrayList<>();
+
+        try {
+            Workbook workbook = new XSSFWorkbook(multipartFile.getInputStream());
+            Sheet sheet = workbook.getSheetAt(0);
+
+            //闂嵎棰樼洰瀵硅薄
+            SvyLibTopic svyLibTopic = new SvyLibTopic();
+
+
+            for (int i = sheet.getFirstRowNum() + 1; i < sheet.getLastRowNum(); i++) {
+                SvyLibTopicRes svyLibTopicRes = new SvyLibTopicRes();
+
+                Row row = sheet.getRow(i);
+                //濡傛灉琛屼负绌猴紝杩涜涓嬩竴娆″惊鐜�
+                if (ObjectUtils.isEmpty(row.getCell(0)) && ObjectUtils.isEmpty(row.getCell(1)) && ObjectUtils.isEmpty(row.getCell(2))) {
+                    continue;
+                }
+                //鍒ゆ柇鏁版嵁鏄惁鏈夐棶棰�
+                svyLibTopicRes.setTopic(row.getCell(0).toString());
+                if (ObjectUtils.isEmpty(row.getCell(0)) || StringUtils.isEmpty(row.getCell(0).toString())) {
+                    svyLibTopicRes.setRemark("棰樼洰涓虹┖,");
+                } else {
+                    //鍒ゆ柇涓�涓嬭棰樻槸鍚﹀凡缁忓湪琛ㄩ噷鍑虹幇
+                    SvyLibTopic svyLibTopic1 = new SvyLibTopic();
+                    svyLibTopic1.setTopic(row.getCell(0).toString());
+                    List<SvyLibTopic> svyLibTopics = svyLibTopicMapper.selectSvyLibTopicList(svyLibTopic1);
+                    if (svyLibTopics.size() > 0) {
+                        //宸茬粡瀛樺湪浜嗭紝灏变笉瀛樹簡
+                        continue;
+                    }
+                }
+                svyLibTopicRes.setTag(row.getCell(1).toString());
+                if (ObjectUtils.isEmpty(row.getCell(1)) || StringUtils.isEmpty(row.getCell(1).toString())) {
+                    svyLibTopicRes.setRemark(StringUtils.isNotEmpty(svyLibTopicRes.getRemark()) ? svyLibTopicRes.getRemark() : "" + "绫诲埆涓虹┖,");
+                }
+                svyLibTopicRes.setTopictype(row.getCell(2).toString());
+                if (ObjectUtils.isEmpty(row.getCell(2)) || StringUtils.isEmpty(row.getCell(2).toString())) {
+                    svyLibTopicRes.setRemark(StringUtils.isNotEmpty(svyLibTopicRes.getRemark()) ? svyLibTopicRes.getRemark() : "" + "棰樼洰绫诲瀷涓虹┖,");
+                }
+                if (ObjectUtils.isNotEmpty(row.getCell(3))) {
+                    svyLibTopicRes.setAnswer(row.getCell(3).toString());
+                }
+                if (ObjectUtils.isNotEmpty(row.getCell(4))) {
+                    svyLibTopicRes.setOptionA(row.getCell(4).toString());
+                }
+                if (ObjectUtils.isNotEmpty(row.getCell(5))) {
+                    svyLibTopicRes.setOptionB(row.getCell(5).toString());
+                }
+                if (ObjectUtils.isNotEmpty(row.getCell(6))) {
+                    svyLibTopicRes.setOptionC(row.getCell(6).toString());
+                }
+                if (ObjectUtils.isNotEmpty(row.getCell(7))) {
+                    svyLibTopicRes.setOptionD(row.getCell(7).toString());
+                }
+                if (ObjectUtils.isNotEmpty(row.getCell(8))) {
+                    svyLibTopicRes.setScore(row.getCell(8).toString());
+                }
+                if (StringUtils.isNotEmpty(svyLibTopicRes.getRemark())) {
+                    //璇存槑璇ヨ鏁版嵁鏈夐棶棰�
+                    svyLibTopicErrors.add(svyLibTopicRes);
+                    continue;
+                }
+
+                //鏁版嵁娌℃湁闂锛屽紑濮嬫彃琛�
+                svyLibTopic.setTopic(row.getCell(0).toString());
+                if (row.getCell(2).toString().equals("鍗曢��")) {
+                    svyLibTopic.setTopictype(1L);
+                } else if (row.getCell(2).toString().equals("澶氶��")) {
+                    svyLibTopic.setTopictype(2L);
+                } else {
+                    svyLibTopic.setTopictype(3L);
+                }
+                svyLibTopic.setTopiccode(UUID.randomUUID().toString().replace("-", ""));
+                //棰樼洰绫诲埆
+                svyLibTopic.setTag(row.getCell(1).toString());
+                svyLibTopic.setCreateBy(user.getUserName());
+                svyLibTopic.setOrgid(user.getDeptId().toString());
+                svyLibTopic.setUpdateBy(user.getUserName());
+                svyLibTopic.setUpdateTime(new Date());
+                svyLibTopic.setCreateTime(new Date());
+                svyLibTopic.setDelFlag("0");
+                //鏂板棰樼洰琛�
+                svyLibTopicMapper.insertSvyLibTopic(svyLibTopic);
+
+                //鏂板棰樼洰閫夐」琛�
+                SvyLibTopicoption svyLibTopicoption = new SvyLibTopicoption();
+                svyLibTopicoption.setTopicid(svyLibTopic.getTopicid());
+                svyLibTopicoption.setTopictype(svyLibTopic.getTopictype());
+                svyLibTopicoption.setOptioncode(UUID.randomUUID().toString().replace("-", ""));
+                svyLibTopicoption.setCreateBy(user.getUserName());
+                svyLibTopicoption.setCreateTime(new Date());
+                svyLibTopicoption.setUpdateBy(user.getUserName());
+                svyLibTopicoption.setUpdateTime(new Date());
+                svyLibTopicoption.setDelFlag("0");
+                if (svyLibTopicoption.getTopictype() == 3) {
+                    //瑙g瓟棰橈紝涓嶉渶瑕佸啀璁剧疆閫夐」
+                    svyLibTopicoptionMapper.insertSvyLibTopicoption(svyLibTopicoption);
+                } else {
+                    if (ObjectUtils.isNotEmpty(row.getCell(4)) || StringUtils.isNotEmpty(row.getCell(4).toString())) {
+                        svyLibTopicoption.setOptioncode("A");
+                        svyLibTopicoption.setOptioncontent(row.getCell(4).toString());
+                        svyLibTopicoption.setOptionid(null);
+                        svyLibTopicoptionMapper.insertSvyLibTopicoption(svyLibTopicoption);
+                    }
+                    if (ObjectUtils.isNotEmpty(row.getCell(5)) || StringUtils.isNotEmpty(row.getCell(5).toString())) {
+                        svyLibTopicoption.setOptioncode("B");
+                        svyLibTopicoption.setOptioncontent(row.getCell(5).toString());
+                        svyLibTopicoption.setOptionid(null);
+                        svyLibTopicoptionMapper.insertSvyLibTopicoption(svyLibTopicoption);
+                    }
+                    if (ObjectUtils.isNotEmpty(row.getCell(6)) || StringUtils.isNotEmpty(row.getCell(6).toString())) {
+                        svyLibTopicoption.setOptioncode("C");
+                        svyLibTopicoption.setOptioncontent(row.getCell(6).toString());
+                        svyLibTopicoption.setOptionid(null);
+                        svyLibTopicoptionMapper.insertSvyLibTopicoption(svyLibTopicoption);
+                    }
+                    if (ObjectUtils.isNotEmpty(row.getCell(7)) || StringUtils.isNotEmpty(row.getCell(7).toString())) {
+                        svyLibTopicoption.setOptioncode("D");
+                        svyLibTopicoption.setOptioncontent(row.getCell(7).toString());
+                        svyLibTopicoption.setOptionid(null);
+                        svyLibTopicoptionMapper.insertSvyLibTopicoption(svyLibTopicoption);
+                    }
+                }
+            }
+            if (CollectionUtils.isNotEmpty(svyLibTopicErrors)) {
+                return svyLibTopicErrors;
+            }
+
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+        return null;
+    }
+
+
 }
diff --git a/smartor/src/main/resources/mapper/smartor/SvyLibTopicMapper.xml b/smartor/src/main/resources/mapper/smartor/SvyLibTopicMapper.xml
index 309bf11..e2cb1e5 100644
--- a/smartor/src/main/resources/mapper/smartor/SvyLibTopicMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/SvyLibTopicMapper.xml
@@ -4,7 +4,7 @@
 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.smartor.mapper.SvyLibTopicMapper">
     
-    <resultMap type="SvyLibTopic" id="SvyLibTopicResult">
+    <resultMap type="com.smartor.domain.SvyLibTopic" id="SvyLibTopicResult">
         <result property="topicid"    column="topicid"    />
         <result property="oldid"    column="oldid"    />
         <result property="svyid"    column="svyid"    />
@@ -22,10 +22,11 @@
         <result property="updateTime"    column="update_time"    />
         <result property="isupload"    column="isupload"    />
         <result property="uploadTime"    column="upload_time"    />
+        <result property="tag"    column="tag"    />
     </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
+        select topicid, oldid, svyid, topictype, topiccode, topic, sort, ismandatory, ishide, del_flag, orgid, create_by, create_time, update_by, update_time, isupload, upload_time,tag from svy_lib_topic
     </sql>
 
     <select id="selectSvyLibTopicList" parameterType="SvyLibTopic" resultMap="SvyLibTopicResult">

--
Gitblit v1.9.3