Przeglądaj źródła

调查问卷统计接口

pans 7 miesięcy temu
rodzic
commit
d82b12365e

+ 2 - 0
snowy-plugin/snowy-plugin-exam/snowy-plugin-exam-func/src/main/java/vip/xiaonuo/exam/controller/admin/ExamPaperController.java

@@ -74,4 +74,6 @@ public class ExamPaperController extends BaseApiController {
         examPaperService.updateByIdFilter(examPaper);
         return CommonResult.ok();
     }
+
+
 }

+ 12 - 0
snowy-plugin/snowy-plugin-exam/snowy-plugin-exam-func/src/main/java/vip/xiaonuo/exam/controller/admin/TExamController.java

@@ -29,11 +29,13 @@ import vip.xiaonuo.exam.domain.exam.TExamEditParam;
 import vip.xiaonuo.exam.domain.exam.TExamIdParam;
 import vip.xiaonuo.exam.domain.exam.TExamPageParam;
 import vip.xiaonuo.exam.service.TExamService;
+import vip.xiaonuo.exam.vo.TExamPaperStastic;
 import vip.xiaonuo.exam.vo.TExamVo;
 
 import javax.annotation.Resource;
 import javax.validation.Valid;
 import javax.validation.constraints.NotEmpty;
+import java.util.List;
 
 /**
  * 考试表控制器 教师端
@@ -129,4 +131,14 @@ public class TExamController extends BaseApiController {
     }
 
 
+
+
+    @ApiOperationSupport(order = 5)
+    @ApiOperation("调查问卷统计")
+    @GetMapping("/stasticByPaperId")
+    public CommonResult<List<TExamPaperStastic>> stastic(String paperId) {
+        return CommonResult.data(tExamService.stasticByPaperId(paperId));
+    }
+
+
 }

+ 5 - 0
snowy-plugin/snowy-plugin-exam/snowy-plugin-exam-func/src/main/java/vip/xiaonuo/exam/mapper/TExamMapper.java

@@ -17,8 +17,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.apache.ibatis.annotations.Param;
 import vip.xiaonuo.exam.domain.TExam;
 import vip.xiaonuo.exam.domain.exam.TExamPageParam;
+import vip.xiaonuo.exam.vo.TExamPaperStastic;
 import vip.xiaonuo.exam.vo.TExamVo;
 
+import java.util.List;
+
 /**
  * 考试表Mapper接口
  *
@@ -29,4 +32,6 @@ public interface TExamMapper extends BaseMapper<TExam> {
     Page<TExamVo> queryList(@Param("page") Page<Object> objectPage, @Param("tExamPageParam") TExamPageParam tExamPageParam);
 
     TExamVo detail(String id);
+
+    List<TExamPaperStastic> stasticByPaperId(String paperId);
 }

+ 18 - 0
snowy-plugin/snowy-plugin-exam/snowy-plugin-exam-func/src/main/java/vip/xiaonuo/exam/mapper/mapping/TExamMapper.xml

@@ -67,4 +67,22 @@
         LEFT JOIN  SEMESTER c ON a.SEMESTER_ID =c.ID
         where a.ID=#{id}
     </select>
+
+
+    <select id="stasticByPaperId" resultType="vip.xiaonuo.exam.vo.TExamPaperStastic">
+        SELECT
+            te.item_order itemOrder,
+            te.question_id questionId,
+            tt."content" content,
+            CASE
+                WHEN te.question_type = 5 THEN CONCAT('["',LISTAGG(te.answer, '","'),'"]')
+                ELSE LISTAGG(te.answer, ',')
+                END AS answerList
+        FROM t_exam_paper_question_customer_answer te
+         JOIN t_question tq ON te.question_id = tq.id
+         JOIN t_text_content tt ON tt.id = te.question_text_content_id
+        WHERE te.exam_paper_id = #{paperId}
+        GROUP BY te.question_id, te.question_type, tt."content",te.item_order
+        ORDER BY te.item_order;
+    </select>
 </mapper>

+ 2 - 1
snowy-plugin/snowy-plugin-exam/snowy-plugin-exam-func/src/main/java/vip/xiaonuo/exam/service/TExamService.java

@@ -19,9 +19,9 @@ import vip.xiaonuo.exam.domain.exam.TExamAddParam;
 import vip.xiaonuo.exam.domain.exam.TExamEditParam;
 import vip.xiaonuo.exam.domain.exam.TExamIdParam;
 import vip.xiaonuo.exam.domain.exam.TExamPageParam;
+import vip.xiaonuo.exam.vo.TExamPaperStastic;
 import vip.xiaonuo.exam.vo.TExamVo;
 
-
 import java.util.List;
 
 /**
@@ -80,4 +80,5 @@ public interface TExamService extends IService<TExam> {
      **/
     TExam queryEntity(String id);
 
+    List<TExamPaperStastic> stasticByPaperId(String paperId);
 }

+ 6 - 0
snowy-plugin/snowy-plugin-exam/snowy-plugin-exam-func/src/main/java/vip/xiaonuo/exam/service/impl/TExamServiceImpl.java

@@ -41,6 +41,7 @@ import vip.xiaonuo.exam.mapper.TExamMapper;
 import vip.xiaonuo.exam.service.ExamPaperService;
 import vip.xiaonuo.exam.service.TExamService;
 import vip.xiaonuo.exam.utility.DateTimeUtil;
+import vip.xiaonuo.exam.vo.TExamPaperStastic;
 import vip.xiaonuo.exam.vo.TExamVo;
 
 import javax.annotation.Resource;
@@ -272,6 +273,11 @@ public class TExamServiceImpl extends ServiceImpl<TExamMapper, TExam> implements
         return tExam;
     }
 
+    @Override
+    public List<TExamPaperStastic> stasticByPaperId(String paperId) {
+        return  tExamMapper.stasticByPaperId(paperId);
+    }
+
 
     public TExam addJob(TExam tExam, String startOnEnd){
         JSONObject jobParam = new JSONObject();

+ 22 - 0
snowy-plugin/snowy-plugin-exam/snowy-plugin-exam-func/src/main/java/vip/xiaonuo/exam/vo/TExamPaperStastic.java

@@ -0,0 +1,22 @@
+package vip.xiaonuo.exam.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+@Setter
+@Getter
+public class TExamPaperStastic implements java.io.Serializable{
+
+  private String itemOrder;
+
+
+    private String questionId;
+
+
+
+    private String content;
+
+
+    private String answerList;
+
+}