|
|
@@ -34,6 +34,8 @@ 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.AssessmentPlanAnswerClassResultVo;
|
|
|
+import com.xjrsoft.module.assessment.vo.AssessmentPlanAnswerDetailVo;
|
|
|
import com.xjrsoft.module.assessment.vo.AssessmentPlanAnswerStudentPageVo;
|
|
|
import com.xjrsoft.module.assessment.vo.AssessmentPlanAnswerStudentVo;
|
|
|
import com.xjrsoft.module.assessment.vo.AssessmentPlanAnswerTeacherPageVo;
|
|
|
@@ -350,4 +352,73 @@ public class AssessmentTemplatePlanServiceImpl extends MPJBaseServiceImpl<Assess
|
|
|
public List<Long> getSemesterClass(Long id) {
|
|
|
return templatePlanMapper.getSemesterClass(id);
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<AssessmentPlanAnswerClassResultVo> getClassResult(Long id) {
|
|
|
+ return resultMapper.getClassResult(id);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public AssessmentTemplatePlanQuestionVo getQuestionResult(Long id) {
|
|
|
+ AssessmentTemplatePlan templatePlan = templatePlanMapper.selectById(id);
|
|
|
+ AssessmentTemplatePlanQuestionVo vo = BeanUtil.toBean(templatePlan, AssessmentTemplatePlanQuestionVo.class);
|
|
|
+ vo.setStudentCount(studentMapper.getStudentCount(id));
|
|
|
+ List<AssessmentPlanQuestion> questionList = planQuestionMapper.selectList(
|
|
|
+ new QueryWrapper<AssessmentPlanQuestion>().lambda()
|
|
|
+ .eq(AssessmentPlanQuestion::getDeleteMark, DeleteMark.NODELETE.getCode())
|
|
|
+ .eq(AssessmentPlanQuestion::getAssessmentTemplatePlanId, id)
|
|
|
+ );
|
|
|
+ List<AssessmentPlanAnswerDetailVo> questionResult = resultMapper.getQuestionResult(id);
|
|
|
+ Map<String, Integer> answerCountMap = new HashMap<>();
|
|
|
+ for (AssessmentPlanAnswerDetailVo countVo : questionResult) {
|
|
|
+ answerCountMap.put(countVo.getQuestionId().toString() + countVo.getAnswerId(), countVo.getChooseCount());
|
|
|
+ }
|
|
|
+ //循环大题
|
|
|
+ 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())){
|
|
|
+ AssessmentQuestionVo questionVo = BeanUtil.toBean(assessmentQuestion, AssessmentQuestionVo.class);
|
|
|
+ twoList.add(questionVo);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ 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())){
|
|
|
+ AssessmentQuestionVo questionVo = BeanUtil.toBean(assessmentQuestion, AssessmentQuestionVo.class);
|
|
|
+ questionVo.setChooseCount(answerCountMap.get(assessmentQuestion.getParentId().toString() + assessmentQuestion.getId().toString()));
|
|
|
+ optionList.add(questionVo);
|
|
|
+ }
|
|
|
+ if(assessmentQuestion.getCategory() == 2 && "judge_question".equals(assessmentQuestion.getType())){
|
|
|
+ optionList.add(new AssessmentQuestionVo(){{
|
|
|
+ setId(1L);
|
|
|
+ setChooseCount(answerCountMap.get(assessmentQuestion.getId().toString() + "1"));
|
|
|
+ }});
|
|
|
+ optionList.add(new AssessmentQuestionVo(){{
|
|
|
+ setId(2L);
|
|
|
+ setChooseCount(answerCountMap.get(assessmentQuestion.getId().toString() + "2"));
|
|
|
+ }});
|
|
|
+ }
|
|
|
+ }
|
|
|
+ twoQuestion.setOptions(optionList);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ vo.setChildren(oneList);
|
|
|
+ return vo;
|
|
|
+ }
|
|
|
}
|