Procházet zdrojové kódy

考核模板,详情查询接口调整

dzx před 1 rokem
rodič
revize
0702a19f83

+ 1 - 2
src/main/java/com/xjrsoft/module/assessment/controller/AssessmentTemplatePlanController.java

@@ -67,8 +67,7 @@ public class AssessmentTemplatePlanController {
     @ApiOperation(value = "新增考核计划")
     @SaCheckPermission("assessmenttemplateplan:add")
     public RT<Boolean> add(@Valid @RequestBody AddAssessmentTemplatePlanDto dto){
-        AssessmentTemplatePlan assessmentTemplatePlan = BeanUtil.toBean(dto, AssessmentTemplatePlan.class);
-        boolean isSuccess = planService.add(assessmentTemplatePlan);
+        boolean isSuccess = planService.add(dto);
         return RT.ok(isSuccess);
     }
 

+ 1 - 0
src/main/java/com/xjrsoft/module/assessment/dto/AddAssessmentTemplatePlanDto.java

@@ -58,4 +58,5 @@ public class AddAssessmentTemplatePlanDto implements Serializable {
     @ApiModelProperty("考核模板id(assessment_template)")
     private Long assessmentTemplateId;
 
+
 }

+ 2 - 3
src/main/java/com/xjrsoft/module/assessment/service/IAssessmentTemplatePlanService.java

@@ -3,6 +3,7 @@ package com.xjrsoft.module.assessment.service;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.github.yulichang.base.MPJBaseService;
+import com.xjrsoft.module.assessment.dto.AddAssessmentTemplatePlanDto;
 import com.xjrsoft.module.assessment.dto.AssessmentTemplatePlanPageDto;
 import com.xjrsoft.module.assessment.entity.AssessmentTemplatePlan;
 import com.xjrsoft.module.assessment.vo.AssessmentTemplatePlanPageVo;
@@ -20,10 +21,8 @@ public interface IAssessmentTemplatePlanService extends MPJBaseService<Assessmen
     /**
     * 新增
     *
-    * @param assessmentTemplatePlan
-    * @return
     */
-    Boolean add(AssessmentTemplatePlan assessmentTemplatePlan);
+    Boolean add(AddAssessmentTemplatePlanDto dto);
 
     /**
     * 更新

+ 24 - 4
src/main/java/com/xjrsoft/module/assessment/service/impl/AssessmentTemplatePlanServiceImpl.java

@@ -1,16 +1,23 @@
 package com.xjrsoft.module.assessment.service.impl;
 
+import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.yulichang.base.MPJBaseServiceImpl;
+import com.xjrsoft.common.enums.DeleteMark;
+import com.xjrsoft.module.assessment.dto.AddAssessmentTemplatePlanDto;
 import com.xjrsoft.module.assessment.dto.AssessmentTemplatePlanPageDto;
 import com.xjrsoft.module.assessment.entity.AssessmentPlanAnswerClass;
 import com.xjrsoft.module.assessment.entity.AssessmentPlanAnswerStudent;
 import com.xjrsoft.module.assessment.entity.AssessmentPlanQuestion;
+import com.xjrsoft.module.assessment.entity.AssessmentQuestion;
 import com.xjrsoft.module.assessment.entity.AssessmentTemplatePlan;
 import com.xjrsoft.module.assessment.mapper.AssessmentPlanAnswerClassMapper;
 import com.xjrsoft.module.assessment.mapper.AssessmentPlanAnswerStudentMapper;
 import com.xjrsoft.module.assessment.mapper.AssessmentPlanQuestionMapper;
+import com.xjrsoft.module.assessment.mapper.AssessmentQuestionMapper;
+import com.xjrsoft.module.assessment.mapper.AssessmentTemplateMapper;
 import com.xjrsoft.module.assessment.mapper.AssessmentTemplatePlanMapper;
 import com.xjrsoft.module.assessment.service.IAssessmentTemplatePlanService;
 import com.xjrsoft.module.assessment.vo.AssessmentTemplatePlanPageVo;
@@ -37,15 +44,28 @@ public class AssessmentTemplatePlanServiceImpl extends MPJBaseServiceImpl<Assess
     private final AssessmentPlanAnswerClassMapper answerClassMapper;
     private final AssessmentPlanAnswerStudentMapper studentMapper;
 
+    private final AssessmentQuestionMapper questionMapper;
+
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public Boolean add(AssessmentTemplatePlan assessmentTemplatePlan) {
+    public Boolean add(AddAssessmentTemplatePlanDto dto) {
+        AssessmentTemplatePlan assessmentTemplatePlan = BeanUtil.toBean(dto, AssessmentTemplatePlan.class);
         templatePlanMapper.insert(assessmentTemplatePlan);
-        for (AssessmentPlanQuestion assessmentPlanQuestion : assessmentTemplatePlan.getAssessmentPlanQuestionList()) {
-            assessmentPlanQuestion.setAssessmentTemplatePlanId(assessmentTemplatePlan.getId());
-            planQuestionMapper.insert(assessmentPlanQuestion);
+
+        //查询模板下面的题目信息
+        List<AssessmentQuestion> questionList = questionMapper.selectList(
+            new QueryWrapper<AssessmentQuestion>().lambda()
+            .eq(AssessmentQuestion::getDeleteMark, DeleteMark.NODELETE.getCode())
+            .eq(AssessmentQuestion::getAssessmentTemplateId, dto.getAssessmentTemplateId())
+        );
+
+        for (AssessmentQuestion assessmentQuestion : questionList) {
+            AssessmentPlanQuestion planQuestion = BeanUtil.toBean(assessmentQuestion, AssessmentPlanQuestion.class);
+            planQuestion.setAssessmentTemplatePlanId(assessmentTemplatePlan.getId());
+            planQuestionMapper.insert(planQuestion);
         }
+
         for (AssessmentPlanAnswerClass assessmentPlanAnswerClass : assessmentTemplatePlan.getAssessmentPlanAnswerClassList()) {
             assessmentPlanAnswerClass.setAssessmentTemplatePlanId(assessmentTemplatePlan.getId());
             answerClassMapper.insert(assessmentPlanAnswerClass);

+ 34 - 3
src/main/java/com/xjrsoft/module/assessment/service/impl/AssessmentTemplateServiceImpl.java

@@ -143,9 +143,40 @@ public class AssessmentTemplateServiceImpl extends MPJBaseServiceImpl<Assessment
             .eq(AssessmentQuestion::getDeleteMark, DeleteMark.NODELETE.getCode())
             .eq(AssessmentQuestion::getAssessmentTemplateId, id)
         );
-        List<AssessmentQuestionVo> questionVoList = BeanUtil.copyToList(questionList, AssessmentQuestionVo.class);
-        List<AssessmentQuestionVo> treeVoList = TreeUtil.build(questionVoList);
-        vo.setChildren(treeVoList);
+
+        //循环大题
+        List<AssessmentQuestionVo> oneList = new ArrayList<>();
+        for (AssessmentQuestion assessmentQuestion : questionList) {
+            if(assessmentQuestion.getCategory() == 1){
+                oneList.add(BeanUtil.toBean(assessmentQuestion, AssessmentQuestionVo.class));
+            }
+        }
+
+        //循环小题
+        for (AssessmentQuestionVo oneQuestion : oneList) {
+            List<AssessmentQuestionVo> twoList = new ArrayList<>();
+            for (AssessmentQuestion assessmentQuestion : questionList) {
+                if(assessmentQuestion.getCategory() == 2 && assessmentQuestion.getParentId().equals(oneQuestion.getId())){
+                    twoList.add(BeanUtil.toBean(assessmentQuestion, AssessmentQuestionVo.class));
+                }
+            }
+            oneQuestion.setChildren(twoList);
+        }
+
+        //循环选项
+        for (AssessmentQuestionVo oneQuestion : oneList) {
+            for (AssessmentQuestionVo twoQuestion : oneQuestion.getChildren()) {
+                List<AssessmentQuestionVo> optionList = new ArrayList<>();
+                for (AssessmentQuestion assessmentQuestion : questionList) {
+                    if(assessmentQuestion.getCategory() == 3 && assessmentQuestion.getParentId().equals(twoQuestion.getId())){
+                        optionList.add(BeanUtil.toBean(assessmentQuestion, AssessmentQuestionVo.class));
+                    }
+                }
+                twoQuestion.setOptions(optionList);
+            }
+        }
+
+        vo.setChildren(oneList);
         return vo;
     }
 }

+ 9 - 0
src/main/java/com/xjrsoft/module/assessment/vo/AssessmentQuestionVo.java

@@ -59,4 +59,13 @@ public class AssessmentQuestionVo implements ITreeNode<AssessmentQuestionVo, Lon
     @ApiModelProperty("")
     private List<AssessmentQuestionVo> children;
 
+    @ApiModelProperty("类别(1:大题 2:小题 3:选项)")
+    private Integer category;
+
+    /**
+     * assessmentQuestion
+     */
+    @ApiModelProperty("题目选项")
+    private List<AssessmentQuestionVo> options;
+
 }