Procházet zdrojové kódy

食堂考核,统计分析接口

dzx před 1 rokem
rodič
revize
5127e401cc

+ 12 - 7
src/main/java/com/xjrsoft/module/assessment/service/impl/AssessmentTemplatePlanServiceImpl.java

@@ -459,7 +459,9 @@ class AssessmentTemplatePlanServiceImpl extends MPJBaseServiceImpl<AssessmentTem
                 for (AssessmentPlanQuestion assessmentQuestion : questionList) {
                     if(assessmentQuestion.getCategory() == 3 && assessmentQuestion.getParentId().equals(twoQuestion.getId())){
                         AssessmentQuestionOptionResultVo questionVo = BeanUtil.toBean(assessmentQuestion, AssessmentQuestionOptionResultVo.class);
-                        questionVo.setCount(answerCountMap.get(assessmentQuestion.getParentId().toString() + assessmentQuestion.getId().toString()));
+                        Integer count = answerCountMap.get(assessmentQuestion.getParentId().toString() + assessmentQuestion.getId().toString());
+                        questionVo.setCount(count == null?0:count);
+
                         BigDecimal bigDecimal = BigDecimal.valueOf(questionVo.getCount())
                                 .divide(BigDecimal.valueOf(vo.getStudentCount()))
                                 .multiply(BigDecimal.valueOf(100))
@@ -470,21 +472,23 @@ class AssessmentTemplatePlanServiceImpl extends MPJBaseServiceImpl<AssessmentTem
                     if(assessmentQuestion.getCategory() == 2 && "judge_question".equals(assessmentQuestion.getType())){
                         optionList.add(new AssessmentQuestionOptionResultVo(){{
                             setName("是");
-                            BigDecimal bigDecimal = BigDecimal.valueOf(answerCountMap.get(assessmentQuestion.getId().toString() + "1"))
+                            Integer count = answerCountMap.get(assessmentQuestion.getId().toString() + "1");
+                            BigDecimal bigDecimal = BigDecimal.valueOf(count == null?0:count)
                                     .divide(BigDecimal.valueOf(vo.getStudentCount()))
                                     .multiply(BigDecimal.valueOf(100))
                                     .setScale(2, RoundingMode.HALF_UP);
                             setPercentage(bigDecimal.floatValue());
-                            setCount(answerCountMap.get(assessmentQuestion.getId().toString() + "1"));
+                            setCount(count);
                         }});
                         optionList.add(new AssessmentQuestionOptionResultVo(){{
                             setName("否");
-                            BigDecimal bigDecimal = BigDecimal.valueOf(answerCountMap.get(assessmentQuestion.getId().toString() + "2"))
+                            Integer count = answerCountMap.get(assessmentQuestion.getId().toString() + "2");
+                            BigDecimal bigDecimal = BigDecimal.valueOf(count == null?0:count)
                                     .divide(BigDecimal.valueOf(vo.getStudentCount()))
                                     .multiply(BigDecimal.valueOf(100))
                                     .setScale(2, RoundingMode.HALF_UP);
                             setPercentage(bigDecimal.floatValue());
-                            setCount(answerCountMap.get(assessmentQuestion.getId().toString() + "2"));
+                            setCount(count);
                         }});
                     }
                 }
@@ -493,11 +497,12 @@ class AssessmentTemplatePlanServiceImpl extends MPJBaseServiceImpl<AssessmentTem
                         if(detailVo.getQuestionId().equals(twoQuestion.getId())){
                             optionList.add(new AssessmentQuestionOptionResultVo(){{
                                 setName(detailVo.getAnswerId());
-                                BigDecimal bigDecimal = BigDecimal.valueOf(detailVo.getChooseCount())
+                                Integer count = detailVo.getChooseCount();
+                                BigDecimal bigDecimal = BigDecimal.valueOf(count == null?0:count)
                                         .divide(BigDecimal.valueOf(vo.getStudentCount())).multiply(BigDecimal.valueOf(100))
                                         .setScale(2, RoundingMode.HALF_UP);
                                 setPercentage(bigDecimal.floatValue());
-                                setCount(detailVo.getChooseCount());
+                                setCount(count);
                             }});
                         }
                     }

+ 1 - 1
src/main/resources/mapper/assessment/AssessmentPlanAnswerResultMapper.xml

@@ -30,7 +30,7 @@
         GROUP BY question_id,answer_id
     </select>
     <select id="getScaleQuestionResult" resultType="com.xjrsoft.module.assessment.vo.AssessmentPlanAnswerDetailVo">
-        SELECT t1.question_id,t1.answer_id,COUNT(t1.*) AS choose_count FROM assessment_plan_answer_result t1
+        SELECT t1.question_id,t1.answer_id,COUNT(t1.id) AS choose_count FROM assessment_plan_answer_result t1
         INNER JOIN assessment_plan_question t2 ON t1.question_id = t2.id
         WHERE t1.delete_mark = 0 AND t1.assessment_template_plan_id = #{id}
         AND t2.type = 'scale_question'