瀏覽代碼

解决报错

dzx 1 年之前
父節點
當前提交
d8c4328263

+ 5 - 8
src/main/java/com/xjrsoft/module/assessment/controller/AssessmentPlanAnswerController.java

@@ -2,17 +2,15 @@ package com.xjrsoft.module.assessment.controller;
 
 import cn.dev33.satoken.annotation.SaCheckPermission;
 import cn.dev33.satoken.stp.StpUtil;
-import cn.hutool.core.bean.BeanUtil;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.xjrsoft.common.model.result.RT;
 import com.xjrsoft.common.page.ConventPage;
 import com.xjrsoft.common.page.PageOutput;
 import com.xjrsoft.module.assessment.dto.AssessmentPlanAnswerPageDto;
 import com.xjrsoft.module.assessment.dto.AssessmentTemplatePlanSureDto;
-import com.xjrsoft.module.assessment.entity.AssessmentTemplatePlan;
 import com.xjrsoft.module.assessment.service.IAssessmentTemplatePlanService;
 import com.xjrsoft.module.assessment.vo.AssessmentPlanAnswerPageVo;
-import com.xjrsoft.module.assessment.vo.AssessmentTemplatePlanVo;
+import com.xjrsoft.module.assessment.vo.AssessmentTemplateQuestionVo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
@@ -63,12 +61,12 @@ public class AssessmentPlanAnswerController {
     @GetMapping(value = "/info")
     @ApiOperation(value="根据id查询考核计划信息")
     @SaCheckPermission("assessmenttemplateplan:detail")
-    public RT<AssessmentTemplatePlanVo> info(@RequestParam Long id){
-        AssessmentTemplatePlan assessmentTemplatePlan = planService.getByIdDeep(id);
-        if (assessmentTemplatePlan == null) {
+    public RT<AssessmentTemplateQuestionVo> info(@RequestParam Long id){
+        AssessmentTemplateQuestionVo questionVo = planService.getQuestionsById(id);
+        if (questionVo == null) {
            return RT.error("找不到此数据!");
         }
-        return RT.ok(BeanUtil.toBean(assessmentTemplatePlan, AssessmentTemplatePlanVo.class));
+        return RT.ok(questionVo);
     }
 
 
@@ -79,5 +77,4 @@ public class AssessmentPlanAnswerController {
         boolean isSuccess = planService.sure(dto);
         return RT.ok(isSuccess);
     }
-
 }

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

@@ -11,6 +11,7 @@ import com.xjrsoft.module.assessment.dto.UpdateAssessmentTemplatePlanTimeDto;
 import com.xjrsoft.module.assessment.entity.AssessmentTemplatePlan;
 import com.xjrsoft.module.assessment.vo.AssessmentPlanAnswerPageVo;
 import com.xjrsoft.module.assessment.vo.AssessmentTemplatePlanPageVo;
+import com.xjrsoft.module.assessment.vo.AssessmentTemplateQuestionVo;
 
 import java.util.List;
 
@@ -65,4 +66,6 @@ public interface IAssessmentTemplatePlanService extends MPJBaseService<Assessmen
      */
     Boolean sure(AssessmentTemplatePlanSureDto dto);
 
+    AssessmentTemplateQuestionVo getQuestionsById(Long id);
+
 }

+ 49 - 0
src/main/java/com/xjrsoft/module/assessment/service/impl/AssessmentTemplatePlanServiceImpl.java

@@ -28,7 +28,9 @@ 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.AssessmentPlanAnswerPageVo;
+import com.xjrsoft.module.assessment.vo.AssessmentQuestionVo;
 import com.xjrsoft.module.assessment.vo.AssessmentTemplatePlanPageVo;
+import com.xjrsoft.module.assessment.vo.AssessmentTemplateQuestionVo;
 import com.xjrsoft.module.student.entity.BaseStudentSchoolRoll;
 import com.xjrsoft.module.teacher.entity.XjrUser;
 import com.xjrsoft.module.teacher.mapper.XjrUserMapper;
@@ -143,6 +145,7 @@ public class AssessmentTemplatePlanServiceImpl extends MPJBaseServiceImpl<Assess
         );
         for (AssessmentQuestion assessmentQuestion : questionList) {
             AssessmentPlanQuestion planQuestion = BeanUtil.toBean(assessmentQuestion, AssessmentPlanQuestion.class);
+            planQuestion.setId(null);
             planQuestion.setAssessmentTemplatePlanId(assessmentTemplatePlan.getId());
             planQuestionMapper.insert(planQuestion);
         }
@@ -232,4 +235,50 @@ public class AssessmentTemplatePlanServiceImpl extends MPJBaseServiceImpl<Assess
         studentMapper.sure(dto, teacherId);
         return true;
     }
+
+    @Override
+    public AssessmentTemplateQuestionVo getQuestionsById(Long id) {
+        AssessmentTemplate assessmentTemplate = assessmentTemplateMapper.selectById(id);
+        AssessmentTemplateQuestionVo vo = BeanUtil.toBean(assessmentTemplate, AssessmentTemplateQuestionVo.class);
+        List<AssessmentPlanQuestion> questionList = planQuestionMapper.selectList(
+            new QueryWrapper<AssessmentPlanQuestion>().lambda()
+            .eq(AssessmentPlanQuestion::getDeleteMark, DeleteMark.NODELETE.getCode())
+            .eq(AssessmentPlanQuestion::getAssessmentTemplatePlanId, id)
+        );
+
+        //循环大题
+        List<AssessmentQuestionVo> oneList = new ArrayList<>();
+        for (AssessmentPlanQuestion assessmentQuestion : questionList) {
+            if(assessmentQuestion.getCategory() == 1){
+                oneList.add(BeanUtil.toBean(assessmentQuestion, AssessmentQuestionVo.class));
+            }
+        }
+
+        //循环小题
+        for (AssessmentQuestionVo oneQuestion : oneList) {
+            List<AssessmentQuestionVo> twoList = new ArrayList<>();
+            for (AssessmentPlanQuestion 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 (AssessmentPlanQuestion 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;
+    }
 }

+ 40 - 0
src/main/java/com/xjrsoft/module/assessment/vo/AssessmentTemplateQuestionVo.java

@@ -0,0 +1,40 @@
+package com.xjrsoft.module.assessment.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+* @title: 考核模板表单出参
+* @Author dzx
+* @Date: 2024-03-29
+* @Version 1.0
+*/
+@Data
+public class AssessmentTemplateQuestionVo {
+
+    /**
+    * 
+    */
+    @ApiModelProperty("")
+    private Long id;
+    /**
+    * 名称
+    */
+    @ApiModelProperty("名称")
+    private String name;
+    /**
+    * 分数
+    */
+    @ApiModelProperty("分数")
+    private Long score;
+
+
+    /**
+    * assessmentQuestion
+    */
+    @ApiModelProperty("assessmentQuestion子表")
+    private List<AssessmentQuestionVo> children;
+
+}