Browse Source

食堂考核,班级答题情况统计

dzx 1 year ago
parent
commit
e12fe5f08b

+ 9 - 0
src/main/java/com/xjrsoft/module/assessment/controller/AssessmentPlanAnswerController.java

@@ -12,6 +12,7 @@ import com.xjrsoft.module.assessment.dto.AssessmentPlanSubmitDto;
 import com.xjrsoft.module.assessment.dto.AssessmentTemplatePlanPageDto;
 import com.xjrsoft.module.assessment.dto.AssessmentTemplatePlanSureDto;
 import com.xjrsoft.module.assessment.service.IAssessmentTemplatePlanService;
+import com.xjrsoft.module.assessment.vo.AssessmentPlanAnswerClassResultVo;
 import com.xjrsoft.module.assessment.vo.AssessmentPlanAnswerStudentPageVo;
 import com.xjrsoft.module.assessment.vo.AssessmentPlanAnswerStudentVo;
 import com.xjrsoft.module.assessment.vo.AssessmentPlanAnswerTeacherPageVo;
@@ -127,4 +128,12 @@ public class AssessmentPlanAnswerController {
         boolean isSuccess = planService.saveAnswer(dto);
         return RT.ok(isSuccess);
     }
+
+    @PostMapping(value="class-result")
+    @ApiOperation(value = "班级答题情况")
+    @SaCheckPermission("assessmenttemplateplan:save-answer")
+    public RT<List<AssessmentPlanAnswerClassResultVo>> saveAnswer(@RequestParam Long id){
+        List<AssessmentPlanAnswerClassResultVo> resultList = planService.getClassResult(id);
+        return RT.ok(resultList);
+    }
 }

+ 3 - 0
src/main/java/com/xjrsoft/module/assessment/mapper/AssessmentPlanAnswerResultMapper.java

@@ -3,6 +3,7 @@ package com.xjrsoft.module.assessment.mapper;
 import com.github.yulichang.base.MPJBaseMapper;
 import com.xjrsoft.module.assessment.dto.AssessmentQuestionResultDto;
 import com.xjrsoft.module.assessment.entity.AssessmentPlanAnswerResult;
+import com.xjrsoft.module.assessment.vo.AssessmentPlanAnswerClassResultVo;
 import com.xjrsoft.module.assessment.vo.AssessmentQuestionResultVo;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
@@ -19,4 +20,6 @@ import java.util.List;
 public interface AssessmentPlanAnswerResultMapper extends MPJBaseMapper<AssessmentPlanAnswerResult> {
 
     List<AssessmentQuestionResultVo> getResultList(@Param("dto") AssessmentQuestionResultDto dto);
+
+    List<AssessmentPlanAnswerClassResultVo> getClassResult(Long id);
 }

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

@@ -11,6 +11,7 @@ import com.xjrsoft.module.assessment.dto.AssessmentTemplatePlanSureDto;
 import com.xjrsoft.module.assessment.dto.UpdateAssessmentTemplatePlanDto;
 import com.xjrsoft.module.assessment.dto.UpdateAssessmentTemplatePlanTimeDto;
 import com.xjrsoft.module.assessment.entity.AssessmentTemplatePlan;
+import com.xjrsoft.module.assessment.vo.AssessmentPlanAnswerClassResultVo;
 import com.xjrsoft.module.assessment.vo.AssessmentPlanAnswerStudentPageVo;
 import com.xjrsoft.module.assessment.vo.AssessmentPlanAnswerStudentVo;
 import com.xjrsoft.module.assessment.vo.AssessmentPlanAnswerTeacherPageVo;
@@ -80,4 +81,6 @@ public interface IAssessmentTemplatePlanService extends MPJBaseService<Assessmen
     List<AssessmentPlanAnswerStudentVo> getAnswerStudent(AssessmentPlanAnswerStudentDto dto);
 
     List<Long> getSemesterClass(Long id);
+
+    List<AssessmentPlanAnswerClassResultVo> getClassResult(Long id);
 }

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

@@ -34,6 +34,7 @@ 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.AssessmentPlanAnswerStudentPageVo;
 import com.xjrsoft.module.assessment.vo.AssessmentPlanAnswerStudentVo;
 import com.xjrsoft.module.assessment.vo.AssessmentPlanAnswerTeacherPageVo;
@@ -350,4 +351,9 @@ 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);
+    }
 }

+ 29 - 0
src/main/java/com/xjrsoft/module/assessment/vo/AssessmentPlanAnswerClassResultVo.java

@@ -0,0 +1,29 @@
+package com.xjrsoft.module.assessment.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+* @title: 考核计划答题参与班级表单出参
+* @Author dzx
+* @Date: 2024-04-01
+* @Version 1.0
+*/
+@Data
+public class AssessmentPlanAnswerClassResultVo {
+
+    @ApiModelProperty("班级名称")
+    private String className;
+
+    @ApiModelProperty("总人数")
+    private Integer studentCount;
+
+    @ApiModelProperty("已提交数量")
+    private Integer submittedCount;
+
+    @ApiModelProperty("未提交数量")
+    private Integer unsubmittedCount;
+
+
+
+}

+ 14 - 0
src/main/resources/mapper/assessment/AssessmentPlanAnswerResultMapper.xml

@@ -7,4 +7,18 @@
         SELECT question_id,GROUP_CONCAT(answer_id) as answer FROM assessment_plan_answer_result
         WHERE assessment_template_plan_id = #{dto.assessmentTemplatePlanId} AND student_user_id = #{dto.userId} GROUP BY question_id
     </select>
+
+    <select id="getClassResult" resultType="com.xjrsoft.module.assessment.vo.AssessmentPlanAnswerClassResultVo">
+        SELECT t2.name AS class_name,
+        (SELECT COUNT(a1.id) FROM assessment_plan_answer_student a1
+        INNER JOIN base_student_school_roll a2 ON a1.student_user_id = a2.user_id WHERE a2.class_id = t1.class_id) AS student_count,
+        (SELECT COUNT(a1.id) FROM assessment_plan_answer_student a1
+        INNER JOIN base_student_school_roll a2 ON a1.student_user_id = a2.user_id WHERE a2.class_id = t1.class_id AND a1.submit_status = 1) submitted_count,
+        (SELECT COUNT(a1.id) FROM assessment_plan_answer_student a1
+        INNER JOIN base_student_school_roll a2 ON a1.student_user_id = a2.user_id WHERE a2.class_id = t1.class_id AND (a1.submit_status = 0 OR a1.submit_status IS NULL)) AS unsubmitted_count
+        FROM assessment_plan_answer_class t1
+        LEFT JOIN base_class t2 ON t1.class_id = t2.id
+        WHERE t1.delete_mark = 0 AND t1.assessment_template_plan_id = #{id}
+
+    </select>
 </mapper>

+ 6 - 0
src/main/resources/sqlScript/20210328_sql.sql → src/main/resources/sqlScript/20240328_sql.sql

@@ -56,6 +56,11 @@ CREATE TABLE `wf_asset_manage` (
   `user_id` BIGINT DEFAULT NULL COMMENT '使用人id[xjr_user]',
   `amount` DECIMAL(8,2) DEFAULT NULL COMMENT '金额',
   `status` SMALLINT DEFAULT 0 COMMENT '状态(0:未结束 1:结束)',
+  `area_type` VARCHAR(50) DEFAULT NULL COMMENT '区域类型',
+  `folder_id` BIGINT DEFAULT NULL COMMENT '附件id',
+  `base_office_build_id` BIGINT DEFAULT NULL COMMENT '楼栋id',
+  `floor_number` INT DEFAULT NULL COMMENT '楼层',
+  `room_number` VARCHAR(50) DEFAULT NULL COMMENT '门牌号',
   PRIMARY KEY (`id`) USING BTREE
 ) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='资产管理';
 
@@ -156,6 +161,7 @@ CREATE TABLE `assessment_template_plan` (
   `type` VARCHAR(30) DEFAULT 0 COMMENT '选人方式(全部:all 随机:random)',
   `random_number` INT DEFAULT NULL COMMENT '随机人数',
   `assessment_template_id` BIGINT DEFAULT NULL COMMENT '考核模板id(assessment_template)',
+  base_semester_id BIGINT DEFAULT NULL COMMENT '学期id(base_semester)',
   PRIMARY KEY (`id`) USING BTREE
 ) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='考核计划';