he2802 2 жил өмнө
parent
commit
ac7bad983c

+ 38 - 0
zhongzheng-admin/src/main/java/com/zhongzheng/controller/bank/QuestionController.java

@@ -222,6 +222,44 @@ public class QuestionController extends BaseController {
         return AjaxResult.success(rs);
     }
 
+    @Log(title = "题目管理", businessType = BusinessType.IMPORT)
+    @ApiOperation("导入旧系统题目模板返回数组")
+    @PreAuthorize("@ss.hasPermi('system:question:import')")
+    @PostMapping("/importDataBackFromOldList")
+    public AjaxResult<Map<String, Object>> importDataBackFromOldList(MultipartFile file) throws Exception
+    {
+        List<QuestionImportV3> questionList2 =EasyPoiUtil.importExcel(file,0,1,QuestionImportV3.class);
+
+        ExcelUtil<QuestionImportV3> util = new ExcelUtil<QuestionImportV3>(QuestionImportV3.class);
+        LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
+        String operName = loginUser.getUsername();
+        //只返回数据不插入数据库
+        Map<String, Object> rs = iQuestionService.importExcelQuestionV3NotInBankFromOld(questionList2, false, operName);
+        List<QuestionImportV3> errorList = (List<QuestionImportV3>)rs.get("errorList");
+        List<QuestionAddBo> nqList = (List<QuestionAddBo>)rs.get("questionList");
+        if(Validator.isNotEmpty(errorList)&&errorList.size()>0){
+            List<QuestionImportV3> errorListExport = new ArrayList<>();
+            for(QuestionImportV3 qi : errorList){
+                QuestionImportV3 item = BeanUtil.toBean(qi, QuestionImportV3.class);
+                errorListExport.add(item);
+            }
+            ExcelUtil<QuestionImportV3> util1 = new ExcelUtil<QuestionImportV3>(QuestionImportV3.class);
+            String timeStr= LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
+            rs.put("errorExcel",util.exportEasyExcel(util1.exportEasyData(errorListExport), "导出错误数据"+timeStr));
+            rs.remove("errorList");
+        }
+        if(questionList2.size()>0&&questionList2.size()>nqList.size()&&nqList.size()>0){
+            rs.put("fullStatus","部分成功");
+        }
+        else if(questionList2.size()==nqList.size()){
+            rs.put("fullStatus","全部成功");
+        }
+        else{
+            rs.put("fullStatus","失败");
+        }
+        return AjaxResult.success(rs);
+    }
+
     @Log(title = "导入题目Word模板", businessType = BusinessType.IMPORT)
     @ApiOperation("导入题目Word模板")
     @PreAuthorize("@ss.hasPermi('system:question:import')")

+ 4 - 4
zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/service/IQuestionService.java

@@ -8,10 +8,7 @@ import com.zhongzheng.modules.bank.bo.QuestionBatchDelBo;
 import com.zhongzheng.modules.bank.bo.QuestionEditBo;
 import com.zhongzheng.modules.bank.bo.QuestionQueryBo;
 import com.zhongzheng.modules.bank.domain.Question;
-import com.zhongzheng.modules.bank.vo.ExamVo;
-import com.zhongzheng.modules.bank.vo.QuestionImport;
-import com.zhongzheng.modules.bank.vo.QuestionImportV2;
-import com.zhongzheng.modules.bank.vo.QuestionVo;
+import com.zhongzheng.modules.bank.vo.*;
 import com.zhongzheng.modules.goods.bo.*;
 import com.zhongzheng.modules.goods.vo.BankGoodsExamVo;
 import com.zhongzheng.modules.goods.vo.GoodsExamTimeVo;
@@ -79,6 +76,9 @@ public interface IQuestionService extends IService<Question> {
 
 	Map<String,Object> importExcelQuestionV2NotInBank(List<QuestionImportV2> questionList, Boolean isUpdateSupport, String operName);
 
+
+	Map<String,Object> importExcelQuestionV3NotInBankFromOld(List<QuestionImportV3> questionList, Boolean isUpdateSupport, String operName);
+
     List<GoodsUserQuestionVo> listGoodsUserQuestionVo(GoodsQueryBo bo);
 
     String importWordQuestion(MultipartFile file, Long eduId, Long projectId, Long businessId, Long subjectId);

+ 42 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/service/impl/QuestionServiceImpl.java

@@ -856,6 +856,31 @@ public class QuestionServiceImpl extends ServiceImpl<QuestionMapper, Question> i
         return map;
     }
 
+    @Override
+    public Map<String, Object> importExcelQuestionV3NotInBankFromOld(List<QuestionImportV3> questionList, Boolean isUpdateSupport, String operName) {
+        System.out.println(questionList);
+        Map<String, Object> map = new HashMap<>();
+        if (Validator.isNull(questionList) || questionList.size() == 0) {
+            throw new CustomException("导入数据不能为空!");
+        }
+        String errorLog = "";
+        String importNo = ServletUtils.getEncoded("IMPORT");
+        int i = 10;
+        Long nowTime = DateUtils.getNowTime();
+        List<QuestionImportV3> errorList = new ArrayList<>();
+        //案例附属题数组
+        List<QuestionAddBo> attList = new ArrayList<>();
+        List<QuestionAddBo> nqList = new ArrayList<>();
+        boolean isAnLi = false; // 是否案例题
+    //    Map<String,Object> dataList =
+        for (QuestionImportV3 question : questionList) {
+
+        }
+        map.put("errorList",errorList);
+        map.put("questionList",nqList);
+        return map;
+    }
+
     private Map<String,Object> getOptionsList(int startIndex,List<QuestionImportContent> list,int type){
         Map<String,Object> map = new HashMap<>();
         String answerQuestion = "";
@@ -890,6 +915,8 @@ public class QuestionServiceImpl extends ServiceImpl<QuestionMapper, Question> i
         return map;
     }
 
+
+
     @Override
     public List<GoodsUserQuestionVo> listGoodsUserQuestionVo(GoodsQueryBo bo) {
         return baseMapper.listGoodsUserQuestionVo(bo);
@@ -2240,6 +2267,21 @@ public class QuestionServiceImpl extends ServiceImpl<QuestionMapper, Question> i
         return null;
     }
 
+    public Integer findTypeV3(String type) {
+        if ("单选题".equals(type)) {
+            return 1;
+        } else if ("多选题".equals(type)) {
+            return 2;
+        } else if ("判断题".equals(type)) {
+            return 3;
+        } else if ("问答题".equals(type)) {
+            return 5;
+        } else if ("案例题".equals(type)) {
+            return 4;
+        }
+        return null;
+    }
+
 
     private String dealImportAnswer(String Answer) {
         String[] itemArray = Answer.split("");

+ 25 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/vo/QuestionImportContentV3.java

@@ -0,0 +1,25 @@
+package com.zhongzheng.modules.bank.vo;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+
+
+/**
+ * 题库题目添加对象 question
+ *
+ * @author hjl
+ * @date 2021-10-22
+ */
+@Data
+@NoArgsConstructor
+@Accessors(chain = true)
+public class QuestionImportContentV3 implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+
+}

+ 54 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/vo/QuestionImportV3.java

@@ -0,0 +1,54 @@
+package com.zhongzheng.modules.bank.vo;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import cn.afterturn.easypoi.excel.annotation.ExcelCollection;
+import com.zhongzheng.modules.bank.bo.QuestionBusinessAddBo;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.util.List;
+
+
+/**
+ * 题库题目添加对象 question
+ *
+ * @author hjl
+ * @date 2021-10-22
+ */
+@Data
+@NoArgsConstructor
+@Accessors(chain = true)
+public class QuestionImportV3 implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /** 前缀名称 */
+    @Excel(name = "指标名称")
+    private String prefixName;
+
+    /** 题目正文 */
+    @Excel(name = "*题目内容")
+    private String content;
+
+    @Excel(name = "*题型")
+    private String type;
+
+    @Excel(name = "描述")
+    private String analysisContent;
+
+    @Excel(name = "*题目选项")
+    private String option;
+
+    @Excel(name = "*是否正确选项")
+    private String answer;
+
+    @Excel(name = "失败原因")
+    private String cause;
+
+    @Excel(name = "编号")
+    private String id;
+
+    private List<QuestionBusinessAddBo> businessList;
+}