fix:考试总数

pg_adapter
wangxy 10 months ago
parent 001e240b3b
commit 87b98e8959

@ -4,6 +4,7 @@ import com.ruoyi.system.domain.paper.dto.request.PaperListReqDTO;
import com.ruoyi.system.domain.paper.dto.response.PaperListRespDTO;
import com.ruoyi.system.domain.userexam.ElUserExam;
import com.ruoyi.system.domain.userexam.dto.request.UserExamReqDTO;
import com.ruoyi.system.domain.userexam.dto.response.ExamCountDTO;
import com.ruoyi.system.domain.userexam.dto.response.UserExamCountDTO;
import com.ruoyi.system.domain.userexam.dto.response.UserExamRespDTO;
import com.ruoyi.system.service.ElPaperService;
@ -96,4 +97,8 @@ public class UserExamManager {
return elUserExamService.selectCountList();
}
public List<ExamCountDTO> selectCountExam(){
return elUserExamService.selectCountExam();
}
}

@ -92,5 +92,12 @@ public class TdExamnumController extends BaseController {
return AjaxResult.success(userExamManager.selectCountList());
}
@ApiOperation("最新考试列表")
@PostMapping("/countExamList")
@ResponseBody
public AjaxResult countExamList() {
return AjaxResult.success(userExamManager.selectCountExam());
}
}

@ -0,0 +1,36 @@
package com.ruoyi.system.domain.userexam.dto.response;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* packageName com.ruoyi.system.domain.userexam.dto.response
*
* @author wangxy
* @version JDK 8
* @className ExamCountDTO
* @date 2024/8/7
* @description
*/
@Data
@ApiModel(value="考试统计", description="考试统计")
public class ExamCountDTO implements Serializable {
@ApiModelProperty(value = "考试id")
private String examId;
@ApiModelProperty(value = "考试名称")
private String title;
@ApiModelProperty(value = "总数")
private Integer total;
@ApiModelProperty(value = "通过数")
private Integer tg;
@ApiModelProperty(value = "未通过数")
private Integer wtg;
}

@ -3,6 +3,7 @@ package com.ruoyi.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.system.domain.userexam.ElUserExam;
import com.ruoyi.system.domain.userexam.dto.request.UserExamReqDTO;
import com.ruoyi.system.domain.userexam.dto.response.ExamCountDTO;
import com.ruoyi.system.domain.userexam.dto.response.UserExamCountDTO;
import com.ruoyi.system.domain.userexam.dto.response.UserExamRespDTO;
import org.apache.ibatis.annotations.Mapper;
@ -24,6 +25,9 @@ public interface ElUserExamMapper extends BaseMapper<ElUserExam> {
public UserExamCountDTO selectCountList();
public List<ExamCountDTO> selectCountExam();
}

@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.system.domain.exam.dto.ExamDTO;
import com.ruoyi.system.domain.userexam.ElUserExam;
import com.ruoyi.system.domain.userexam.dto.request.UserExamReqDTO;
import com.ruoyi.system.domain.userexam.dto.response.ExamCountDTO;
import com.ruoyi.system.domain.userexam.dto.response.UserExamCountDTO;
import com.ruoyi.system.domain.userexam.dto.response.UserExamRespDTO;
@ -23,4 +24,7 @@ public interface ElUserExamService extends IService<ElUserExam> {
public UserExamCountDTO selectCountList();
public List<ExamCountDTO> selectCountExam();
}

@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.system.domain.exam.dto.ExamDTO;
import com.ruoyi.system.domain.userexam.ElUserExam;
import com.ruoyi.system.domain.userexam.dto.request.UserExamReqDTO;
import com.ruoyi.system.domain.userexam.dto.response.ExamCountDTO;
import com.ruoyi.system.domain.userexam.dto.response.UserExamCountDTO;
import com.ruoyi.system.domain.userexam.dto.response.UserExamRespDTO;
import com.ruoyi.system.mapper.ElUserExamMapper;
@ -34,6 +35,11 @@ public class ElUserExamServiceImpl extends ServiceImpl<ElUserExamMapper, ElUserE
public UserExamCountDTO selectCountList() {
return userExamMapper.selectCountList();
}
@Override
public List<ExamCountDTO> selectCountExam() {
return userExamMapper.selectCountExam();
}
}

@ -51,5 +51,21 @@
ORDER BY u.create_time
</select>
<select id="selectCountExam" resultType="com.ruoyi.system.domain.userexam.dto.response.ExamCountDTO">
SELECT
exam_id as examId,
(SELECT e.title from el_exam e where u.exam_id=e.id) as title,
COUNT (1) AS total,
SUM (CASE WHEN passed = 1 THEN 1 ELSE 0 END) AS tg,
SUM (CASE WHEN passed = 0 THEN 1 ELSE 0 END) AS wtg
FROM
el_user_exam u
GROUP BY
exam_id
ORDER BY u.create_time desc LIMIT 10
</select>
</mapper>

Loading…
Cancel
Save