Commit 18a85c2bbb783703ceae59c221d8550b2e09fef5

Authored by haorp
1 parent ae5d926ef4
Exists in dev

孕妇学校-调查问卷统计

Showing 7 changed files with 71 additions and 5 deletions

platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/QuestionnaireRecordDetailsMapper.java View file @ 18a85c2
... ... @@ -10,5 +10,7 @@
10 10 public interface QuestionnaireRecordDetailsMapper {
11 11 List<QuestionnaireRecordDetailsEntity> getList(@Param("id") Integer id);
12 12 void add(QuestionnaireRecordDetailsEntity questionnaireRecordEntity);
  13 +
  14 + List<QuestionnaireRecordDetailsEntity> getList2(QuestionnaireRecordDetailsEntity query);
13 15 }
platform-biz-service/src/main/java/com/lyms/platform/permission/model/QuestionnaireRecordDetailsEntity.java View file @ 18a85c2
... ... @@ -10,6 +10,36 @@
10 10 private String answer;//答案
11 11 private String option;//选项值
12 12  
  13 + private String sumPoint;
  14 +
  15 + private String trueCount2;
  16 +
  17 + private String truePercentage;
  18 +
  19 + public String getTruePercentage() {
  20 + return truePercentage;
  21 + }
  22 +
  23 + public void setTruePercentage(String truePercentage) {
  24 + this.truePercentage = truePercentage;
  25 + }
  26 +
  27 + public String getSumPoint() {
  28 + return sumPoint;
  29 + }
  30 +
  31 + public void setSumPoint(String sumPoint) {
  32 + this.sumPoint = sumPoint;
  33 + }
  34 +
  35 + public String getTrueCount2() {
  36 + return trueCount2;
  37 + }
  38 +
  39 + public void setTrueCount2(String trueCount2) {
  40 + this.trueCount2 = trueCount2;
  41 + }
  42 +
13 43 public Integer getId() {
14 44 return id;
15 45 }
platform-biz-service/src/main/java/com/lyms/platform/permission/service/QuestionnaireRecordDetailsService.java View file @ 18a85c2
... ... @@ -8,5 +8,7 @@
8 8 public interface QuestionnaireRecordDetailsService {
9 9 List<QuestionnaireRecordDetailsEntity> getList(Integer id);
10 10 void add(QuestionnaireRecordDetailsEntity questionnaireRecordEntity);
  11 +
  12 + List<QuestionnaireRecordDetailsEntity> getList2(QuestionnaireRecordDetailsEntity questionnaireRecordDetailsEntity);
11 13 }
platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/QuestionnaireRecordDetailsServiceImpl.java View file @ 18a85c2
... ... @@ -18,6 +18,11 @@
18 18 }
19 19  
20 20 @Override
  21 + public List<QuestionnaireRecordDetailsEntity> getList2(QuestionnaireRecordDetailsEntity questionnaireRecordDetailsEntity) {
  22 + return questionnaireRecordDetailsMapper.getList2(questionnaireRecordDetailsEntity);
  23 + }
  24 +
  25 + @Override
21 26 public void add(QuestionnaireRecordDetailsEntity questionnaireRecordEntity) {
22 27 questionnaireRecordDetailsMapper.add(questionnaireRecordEntity);
23 28 }
platform-biz-service/src/main/resources/mainOrm/master/QuestionnaireRecordDetailsMapper.xml View file @ 18a85c2
... ... @@ -30,6 +30,31 @@
30 30 questionnaire_record_id=#{id}
31 31 </select>
32 32  
  33 +
  34 + <select id="getList2" resultType="com.lyms.platform.permission.model.QuestionnaireRecordDetailsEntity"
  35 + parameterType="com.lyms.platform.permission.model.QuestionnaireRecordDetailsEntity">
  36 + select
  37 + k.name,
  38 + sum(k.point) as sumPoint ,
  39 + sum(k.trueCount2) as trueCount2,
  40 + CONCAT(ROUND(sum(k.trueCount2)*2/sum(k.point) * 100, 2), '%') AS truePercentage
  41 + from (SELECT
  42 + d.name,
  43 + d.point,
  44 + (select count(1) from questionnaire_record_details t where t.id =d.id and (t.answer = t.choice or t.answer = '') ) as trueCount2
  45 + FROM
  46 + questionnaire_record c,
  47 + questionnaire_record_details d
  48 + where
  49 + c.id = d.questionnaire_record_id
  50 + <if test="name != null and name != ''">
  51 + and c.name like CONCAT('%' #{name} '%')
  52 + </if>
  53 + ) k
  54 + group by k.name
  55 +
  56 + </select>
  57 +
33 58 <insert id="add" parameterType="com.lyms.platform.permission.model.QuestionnaireRecordDetailsEntity">
34 59 INSERT INTO questionnaire_record_details(choice,answer,name,questionnaire_record_id,point,`option`)
35 60 VALUES (#{choice},#{answer},#{name},#{questionnaireRecordId},#{point},#{option})
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/QuestionnaireController.java View file @ 18a85c2
... ... @@ -79,7 +79,7 @@
79 79  
80 80 //问卷调查统计
81 81 @RequestMapping(method = RequestMethod.GET, value = "/questionnaire/getCount")
82   - public void getCount(HttpServletResponse response,@RequestParam(required = true) String queryName){
  82 + public void getCount(HttpServletResponse response,@RequestParam(required = false) String queryName){
83 83 Map<String,Object> resMap = questionnaireFacade.getCount(queryName);
84 84 ResultUtils.buildSuccessResultAndWrite(response,resMap);
85 85 }
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/QuestionnaireFacade.java View file @ 18a85c2
... ... @@ -14,10 +14,7 @@
14 14 import java.math.BigDecimal;
15 15 import java.math.RoundingMode;
16 16 import java.text.NumberFormat;
17   -import java.util.HashMap;
18   -import java.util.List;
19   -import java.util.Locale;
20   -import java.util.Map;
  17 +import java.util.*;
21 18  
22 19 @Component
23 20 public class QuestionnaireFacade {
... ... @@ -118,6 +115,11 @@
118 115 map.put("accuracyRate",accuracyRate);
119 116  
120 117 }
  118 + QuestionnaireRecordDetailsEntity query = new QuestionnaireRecordDetailsEntity();
  119 + query.setName(questionnaireEntity.getName());
  120 + // 每个问题的正确数量
  121 + List<QuestionnaireRecordDetailsEntity> detailsList = questionnaireRecordDetailsService.getList2(query);
  122 + map.put("detailsList",detailsList);
121 123 }
122 124 }
123 125