Sfoglia il codice sorgente

Merge remote-tracking branch 'origin/dev' into dev

大数据与最优化研究所 1 anno fa
parent
commit
6cf2ee97b2

+ 21 - 2
src/main/java/com/xjrsoft/module/assessment/controller/AssessmentPlanAnswerController.java

@@ -7,14 +7,16 @@ import com.xjrsoft.common.model.result.RT;
 import com.xjrsoft.common.page.ConventPage;
 import com.xjrsoft.common.page.PageOutput;
 import com.xjrsoft.module.assessment.dto.AssessmentPlanAnswerPageDto;
-import com.xjrsoft.module.assessment.dto.AssessmentPlanAnswerSubmitDto;
+import com.xjrsoft.module.assessment.dto.AssessmentPlanAnswerStudentDto;
 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.AssessmentPlanAnswerStudentPageVo;
+import com.xjrsoft.module.assessment.vo.AssessmentPlanAnswerStudentVo;
 import com.xjrsoft.module.assessment.vo.AssessmentPlanAnswerTeacherPageVo;
+import com.xjrsoft.module.assessment.vo.AssessmentTemplatePlanPageVo;
 import com.xjrsoft.module.assessment.vo.AssessmentTemplatePlanQuestionVo;
-import com.xjrsoft.module.assessment.vo.AssessmentTemplateQuestionVo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
@@ -26,6 +28,7 @@ import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.validation.Valid;
+import java.util.List;
 
 /**
 * @title: 考核计划
@@ -81,6 +84,22 @@ public class AssessmentPlanAnswerController {
         return RT.ok(pageOutput);
     }
 
+    @GetMapping(value = "/mobile-page")
+    @ApiOperation(value="考核计划答题列表-所有计划(分页)")
+    @SaCheckPermission("assessmenttemplateplan:detail")
+    public RT<List<AssessmentTemplatePlanPageVo>> mobilePage(@Valid AssessmentTemplatePlanPageDto dto){
+        List<AssessmentTemplatePlanPageVo> page = planService.getMobilePage(dto);
+        return RT.ok(page);
+    }
+
+    @GetMapping(value = "/answer-student-list")
+    @ApiOperation(value="考核计划答题列表-学生答题情况(分页)")
+    @SaCheckPermission("assessmenttemplateplan:detail")
+    public RT<List<AssessmentPlanAnswerStudentVo>> answerStudent(@Valid AssessmentPlanAnswerStudentDto dto){
+        List<AssessmentPlanAnswerStudentVo> page = planService.getAnswerStudent(dto);
+        return RT.ok(page);
+    }
+
     @GetMapping(value = "/info")
     @ApiOperation(value="根据id查询考核计划信息")
     @SaCheckPermission("assessmenttemplateplan:detail")

+ 3 - 0
src/main/java/com/xjrsoft/module/assessment/dto/AssessmentPlanAnswerPageDto.java

@@ -25,6 +25,9 @@ public class AssessmentPlanAnswerPageDto extends PageInput {
     @ApiModelProperty("模板id")
     private Long assessmentTemplateId;
 
+    @ApiModelProperty("计划id")
+    private Long assessmentTemplatePlanId;
+
     @ApiModelProperty("状态(0:未发布 1:已发布)")
     private Integer status;
 

+ 28 - 0
src/main/java/com/xjrsoft/module/assessment/dto/AssessmentPlanAnswerStudentDto.java

@@ -0,0 +1,28 @@
+package com.xjrsoft.module.assessment.dto;
+
+import com.xjrsoft.common.page.PageInput;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+
+
+/**
+* @title: 考核答题提交入参
+* @Author dzx
+* @Date: 2024-04-01
+* @Version 1.0
+*/
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class AssessmentPlanAnswerStudentDto extends PageInput {
+
+
+    @ApiModelProperty("考核计划id")
+    private Long assessmentTemplatePlanId;
+
+    @ApiModelProperty("状态(0:未填写 1:已填写)")
+    private Integer submitStatus;
+
+}

+ 9 - 0
src/main/java/com/xjrsoft/module/assessment/mapper/AssessmentTemplatePlanMapper.java

@@ -3,12 +3,17 @@ package com.xjrsoft.module.assessment.mapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.yulichang.base.MPJBaseMapper;
 import com.xjrsoft.module.assessment.dto.AssessmentPlanAnswerPageDto;
+import com.xjrsoft.module.assessment.dto.AssessmentPlanAnswerStudentDto;
 import com.xjrsoft.module.assessment.dto.AssessmentTemplatePlanPageDto;
 import com.xjrsoft.module.assessment.entity.AssessmentTemplatePlan;
 import com.xjrsoft.module.assessment.vo.AssessmentPlanAnswerStudentPageVo;
+import com.xjrsoft.module.assessment.vo.AssessmentPlanAnswerStudentVo;
 import com.xjrsoft.module.assessment.vo.AssessmentPlanAnswerTeacherPageVo;
 import com.xjrsoft.module.assessment.vo.AssessmentTemplatePlanPageVo;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
 * @title: 考核计划
@@ -30,4 +35,8 @@ public interface AssessmentTemplatePlanMapper extends MPJBaseMapper<AssessmentTe
     Page<AssessmentPlanAnswerTeacherPageVo> getTeacherPage(Page<AssessmentPlanAnswerTeacherPageVo> page, AssessmentPlanAnswerPageDto dto);
 
     Page<AssessmentPlanAnswerStudentPageVo> getStudentPage(Page<AssessmentPlanAnswerStudentPageVo> page, AssessmentPlanAnswerPageDto dto);
+
+    List<AssessmentTemplatePlanPageVo> getMobilePage(@Param("dto") AssessmentTemplatePlanPageDto dto);
+
+    List<AssessmentPlanAnswerStudentVo> getAnswerStudent(@Param("dto") AssessmentPlanAnswerStudentDto dto);
 }

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

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.yulichang.base.MPJBaseService;
 import com.xjrsoft.module.assessment.dto.AddAssessmentTemplatePlanDto;
 import com.xjrsoft.module.assessment.dto.AssessmentPlanAnswerPageDto;
+import com.xjrsoft.module.assessment.dto.AssessmentPlanAnswerStudentDto;
 import com.xjrsoft.module.assessment.dto.AssessmentPlanSubmitDto;
 import com.xjrsoft.module.assessment.dto.AssessmentTemplatePlanPageDto;
 import com.xjrsoft.module.assessment.dto.AssessmentTemplatePlanSureDto;
@@ -11,9 +12,11 @@ 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.AssessmentPlanAnswerStudentPageVo;
+import com.xjrsoft.module.assessment.vo.AssessmentPlanAnswerStudentVo;
 import com.xjrsoft.module.assessment.vo.AssessmentPlanAnswerTeacherPageVo;
 import com.xjrsoft.module.assessment.vo.AssessmentTemplatePlanPageVo;
 import com.xjrsoft.module.assessment.vo.AssessmentTemplatePlanQuestionVo;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -72,4 +75,10 @@ public interface IAssessmentTemplatePlanService extends MPJBaseService<Assessmen
 
     Boolean saveAnswer(AssessmentPlanSubmitDto dto);
 
+    List<AssessmentTemplatePlanPageVo> getMobilePage(AssessmentTemplatePlanPageDto dto);
+
+
+    List<AssessmentPlanAnswerStudentVo> getAnswerStudent(AssessmentPlanAnswerStudentDto dto);
+
+
 }

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

@@ -11,6 +11,7 @@ import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import com.xjrsoft.common.enums.DeleteMark;
 import com.xjrsoft.module.assessment.dto.AddAssessmentTemplatePlanDto;
 import com.xjrsoft.module.assessment.dto.AssessmentPlanAnswerPageDto;
+import com.xjrsoft.module.assessment.dto.AssessmentPlanAnswerStudentDto;
 import com.xjrsoft.module.assessment.dto.AssessmentPlanAnswerSubmitDto;
 import com.xjrsoft.module.assessment.dto.AssessmentPlanSubmitDto;
 import com.xjrsoft.module.assessment.dto.AssessmentQuestionResultDto;
@@ -34,6 +35,7 @@ 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.AssessmentPlanAnswerStudentPageVo;
+import com.xjrsoft.module.assessment.vo.AssessmentPlanAnswerStudentVo;
 import com.xjrsoft.module.assessment.vo.AssessmentPlanAnswerTeacherPageVo;
 import com.xjrsoft.module.assessment.vo.AssessmentQuestionResultVo;
 import com.xjrsoft.module.assessment.vo.AssessmentQuestionVo;
@@ -333,4 +335,14 @@ public class AssessmentTemplatePlanServiceImpl extends MPJBaseServiceImpl<Assess
 
         return true;
     }
+
+    @Override
+    public List<AssessmentTemplatePlanPageVo> getMobilePage(AssessmentTemplatePlanPageDto dto) {
+        return templatePlanMapper.getMobilePage(dto);
+    }
+
+    @Override
+    public List<AssessmentPlanAnswerStudentVo> getAnswerStudent(AssessmentPlanAnswerStudentDto dto) {
+        return templatePlanMapper.getAnswerStudent(dto);
+    }
 }

+ 7 - 9
src/main/java/com/xjrsoft/module/assessment/vo/AssessmentPlanAnswerStudentVo.java

@@ -18,22 +18,20 @@ import java.util.Date;
 @Data
 public class AssessmentPlanAnswerStudentVo {
 
-    /**
-    * 
-    */
-    @ApiModelProperty("")
-    private Long id;
-    /**
-    * 班级ic
-    */
-    @ApiModelProperty("班级ic")
+    @ApiModelProperty("学生id")
     private String studentUserId;
+
+    @ApiModelProperty("学生姓名")
+    private String name;
     /**
     * 考核计划id(assessment_template_plan)
     */
     @ApiModelProperty("考核计划id(assessment_template_plan)")
     private Long assessmentTemplatePlanId;
 
+    @ApiModelProperty("状态(0:未提交 1:已提交)")
+    private Integer submitStatus;
+
 
 
 }

+ 9 - 6
src/main/java/com/xjrsoft/module/assessment/vo/AssessmentTemplatePlanPageVo.java

@@ -1,14 +1,8 @@
 package com.xjrsoft.module.assessment.vo;
 
-import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
-import com.xjrsoft.common.annotation.Trans;
-import com.xjrsoft.common.enums.TransType;
-import java.time.LocalTime;
-import java.time.LocalDateTime;
-import java.math.BigDecimal;
 import java.util.Date;
 
 /**
@@ -74,4 +68,13 @@ public class AssessmentTemplatePlanPageVo {
     @ApiModelProperty("随机人数")
     private Integer randomNumber;
 
+    @ApiModelProperty("已提交数量")
+    private Integer submittedCount;
+
+    @ApiModelProperty("未提交数量")
+    private Integer unsubmittedCount;
+
+    @ApiModelProperty("总人数")
+    private Integer allCount;
+
 }

+ 27 - 0
src/main/resources/mapper/assessment/AssessmentTemplatePlanMapper.xml

@@ -68,9 +68,36 @@
         <if test="dto.assessmentTemplateId != null">
             and t2.id = #{dto.assessmentTemplateId}
         </if>
+        <if test="dto.assessmentTemplatePlanId != null">
+            and t1.id = #{dto.assessmentTemplatePlanId}
+        </if>
         <if test="dto.status != null">
             and t1.status = #{dto.status}
         </if>
         ORDER BY t1.create_date asc
     </select>
+    <select id="getMobilePage" parameterType="com.xjrsoft.module.assessment.dto.AssessmentTemplatePlanPageDto" resultType="com.xjrsoft.module.assessment.vo.AssessmentTemplatePlanPageVo">
+        SELECT t1.id,t1.name,t1.score,t1.start_time,t1.status,t1.end_time,t2.name AS assessment_template_name,
+        t1.assessment_template_id,
+        (SELECT COUNT(*) FROM assessment_plan_answer_student WHERE delete_mark = 0 AND assessment_template_plan_id = t1.id AND submit_status = 1) AS submittedCount,
+        (SELECT COUNT(*) FROM assessment_plan_answer_student WHERE delete_mark = 0 AND assessment_template_plan_id = t1.id AND (submit_status = 0 OR submit_status IS NULL)) AS unsubmittedCount,
+        (SELECT COUNT(*) FROM assessment_plan_answer_student WHERE delete_mark = 0 AND assessment_template_plan_id = t1.id) AS allCount
+        FROM assessment_template_plan t1
+        LEFT JOIN assessment_template t2 ON t1.assessment_template_id = t2.id
+        WHERE t1.delete_mark = 0 AND t1.status = 1
+        <if test="dto.keyword != null and dto.keyword != ''">
+            and t1.name like concat('%', #{dto.keyword}, '%')
+        </if>
+        ORDER BY t1.create_date asc
+    </select>
+
+    <select id="getAnswerStudent" parameterType="com.xjrsoft.module.assessment.dto.AssessmentPlanAnswerStudentDto" resultType="com.xjrsoft.module.assessment.vo.AssessmentPlanAnswerStudentVo">
+        SELECT t1.student_user_id,t2.name,t1.submit_status,t1.assessment_template_plan_id FROM assessment_plan_answer_student t1
+        LEFT JOIN xjr_user t2 ON t1.student_user_id = t2.id
+        LEFT JOIN base_student_school_roll t3 ON t1.student_user_id = t3.user_id
+        WHERE t1.delete_mark = 0 AND t1.assessment_template_plan_id = #{dto.assessmentTemplatePlanId}
+        <if test="dto.keyword != null and dto.keyword != ''">
+            and t2.name like concat('%', #{dto.keyword}, '%')
+        </if>
+    </select>
 </mapper>