Browse Source

职员考试统计

wangchangsheng 2 years ago
parent
commit
05fa239beb

+ 7 - 7
exam-06173-api/src/main/java/com/gyee/exam/modules/course/controller/CourseController.java

@@ -164,7 +164,7 @@ public class CourseController extends BaseController {
      * @return
      */
     @ApiOperation(value = "统计总课程数")
-    @GetMapping("/ctt-total")
+    @PostMapping("/ctt-total")
     public ApiRest courseAllTotal() {
         Map map = new HashMap<>();
 
@@ -187,7 +187,7 @@ public class CourseController extends BaseController {
      * @return
      */
     @ApiOperation(value = "课程部门排行")
-    @GetMapping("/course-depart-rank")
+    @PostMapping("/course-depart-rank")
     public ApiRest courseDepartRank(@RequestBody BaseQueryReqDTO reqDTO) {
 
         List<CourseDepartRankDTO> dtoList = baseService.courseDepartRank(reqDTO);
@@ -201,7 +201,7 @@ public class CourseController extends BaseController {
      * @return
      */
     @ApiOperation(value = "职工培训课时排行榜(分钟)")
-    @GetMapping("/course-user-rank")
+    @PostMapping("/course-user-rank")
     public ApiRest courseUserRank(@RequestBody BaseQueryReqDTO reqDTO) {
 
         List<CourseUserRankDTO> dtoList = baseService.courseUserRank(reqDTO);
@@ -214,7 +214,7 @@ public class CourseController extends BaseController {
      * @return
      */
     @ApiOperation(value = "部门培训统计")
-    @GetMapping("/course-depart-total")
+    @PostMapping("/course-depart-total")
     public ApiRest courseDepartTotal(@RequestBody BaseQueryReqDTO reqDTO) {
         List<CourseDepartTotalDTO> dtoList = baseService.courseDepartTotal(reqDTO);
         return super.success(dtoList);
@@ -227,7 +227,7 @@ public class CourseController extends BaseController {
      * @return
      */
     @ApiOperation(value = "单部门培训统计")
-    @GetMapping("/course-departid-total")
+    @PostMapping("/course-departid-total")
     public ApiRest courseDepartIdTotal(@RequestBody BaseQueryReqDTO reqDTO) {
         if(null == reqDTO || StringUtils.isEmpty(reqDTO.getQ().trim())){
             return super.failure("请求部门参数为空");
@@ -246,7 +246,7 @@ public class CourseController extends BaseController {
      * @return
      */
     @ApiOperation(value = "职员培训统计")
-    @GetMapping("/course-user-total")
+    @PostMapping("/course-user-total")
     public ApiRest courseUserTotal(@RequestBody BaseUserQueryReqDTO reqDTO) {
 
         List<CourseUserTotalDTO> dtoList = baseService.getCourseUserTotal(reqDTO);
@@ -262,7 +262,7 @@ public class CourseController extends BaseController {
      * @return
      */
     @ApiOperation(value = "单个职员培训统计")
-    @GetMapping("/course-userId-total")
+    @PostMapping("/course-userId-total")
     public ApiRest courseUserIdTotal(@RequestBody BaseUserQueryReqDTO reqDTO) {
 
         if(null == reqDTO || StringUtils.isEmpty(reqDTO.getUserName().trim())){

+ 21 - 8
exam-06173-api/src/main/java/com/gyee/exam/modules/ectotal/controller/ExamAndCourseTotalController.java

@@ -4,15 +4,14 @@ package com.gyee.exam.modules.ectotal.controller;
 import com.gyee.boot.base.api.api.ApiRest;
 import com.gyee.boot.base.api.api.controller.BaseController;
 import com.gyee.boot.base.api.api.dto.BaseQueryReqDTO;
-import com.gyee.exam.modules.ectotal.dto.response.ExamAndCourseTotalDTO;
+import com.gyee.boot.base.api.api.dto.BaseUserQueryReqDTO;
+import com.gyee.exam.modules.ectotal.dto.response.ExamAndCourseDepartTotalDTO;
+import com.gyee.exam.modules.ectotal.dto.response.ExamAndCourseUserTotalDTO;
 import com.gyee.exam.modules.ectotal.service.ExamAndCourseTotalService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import java.util.List;
 
@@ -39,9 +38,23 @@ public class ExamAndCourseTotalController extends BaseController {
      * @return
      */
     @ApiOperation(value = "全部门培训考试统计")
-    @GetMapping("/ec-depart-total")
-    public ApiRest examAndCourseTotal(@RequestBody BaseQueryReqDTO reqDTO) {
-        List<ExamAndCourseTotalDTO> dtoList = baseService.examAndCourseTotal(reqDTO);
+    @PostMapping("/ec-depart-total")
+    public ApiRest examAndCourseDepartTotal(@RequestBody BaseQueryReqDTO reqDTO) {
+        List<ExamAndCourseDepartTotalDTO> dtoList = baseService.examAndCourseTotal(reqDTO);
+        return super.success(dtoList);
+    }
+
+
+
+
+    /**
+     * 职员考培统计
+     * @return
+     */
+    @ApiOperation(value = "职员考培统计")
+    @PostMapping("/ec-user-total")
+    public ApiRest examAndCourseUserTotal(@RequestBody BaseUserQueryReqDTO reqDTO) {
+        List<ExamAndCourseUserTotalDTO> dtoList = baseService.getExamAndCourseUserTotal(reqDTO);
         return super.success(dtoList);
     }
 

+ 1 - 1
exam-06173-api/src/main/java/com/gyee/exam/modules/ectotal/dto/response/ExamAndCourseTotalDTO.java

@@ -6,7 +6,7 @@ import lombok.Data;
 
 @Data
 @ApiModel(value="部门考试培训统计", description="部门考试培训统计")
-public class ExamAndCourseTotalDTO {
+public class ExamAndCourseDepartTotalDTO {
 
     private static final long serialVersionUID = 1L;
 

+ 42 - 0
exam-06173-api/src/main/java/com/gyee/exam/modules/ectotal/dto/response/ExamAndCourseUserTotalDTO.java

@@ -0,0 +1,42 @@
+package com.gyee.exam.modules.ectotal.dto.response;
+
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value="职员考试培训统计", description="职员考试培训统计")
+public class ExamAndCourseUserTotalDTO {
+
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "部门名称")
+    private String deptName;
+
+    @ApiModelProperty(value = "部门code")
+    private String deptCode;
+
+    @ApiModelProperty(value = "职员名称")
+    private String realName;
+
+    @ApiModelProperty(value = "职员code")
+    private String userName;
+
+    @ApiModelProperty(value = "考试次数")
+    private int tryCount;
+
+    @ApiModelProperty(value = "及格次数")
+    private int passed;
+
+    @ApiModelProperty(value = "参与课程数")
+    private int courseNum;
+
+    @ApiModelProperty(value = "已学习课程")
+    private int learnCourse;
+
+    @ApiModelProperty(value = "学习时长(分钟)")
+    private int totalMin;
+
+}

+ 62 - 6
exam-06173-api/src/main/java/com/gyee/exam/modules/ectotal/service/ExamAndCourseTotalService.java

@@ -2,14 +2,19 @@ package com.gyee.exam.modules.ectotal.service;
 
 
 import com.gyee.boot.base.api.api.dto.BaseQueryReqDTO;
+import com.gyee.boot.base.api.api.dto.BaseUserQueryReqDTO;
 import com.gyee.exam.modules.course.dto.response.CourseDepartTotalDTO;
+import com.gyee.exam.modules.course.dto.response.CourseUserTotalDTO;
 import com.gyee.exam.modules.course.service.CourseService;
-import com.gyee.exam.modules.ectotal.dto.response.ExamAndCourseTotalDTO;
+import com.gyee.exam.modules.ectotal.dto.response.ExamAndCourseDepartTotalDTO;
+import com.gyee.exam.modules.ectotal.dto.response.ExamAndCourseUserTotalDTO;
 import com.gyee.exam.modules.exam.dto.response.ExamDepartTotalDTO;
+import com.gyee.exam.modules.exam.dto.response.ExamUserTotalDTO;
 import com.gyee.exam.modules.exam.service.ExamService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.security.PublicKey;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
@@ -25,17 +30,17 @@ public class ExamAndCourseTotalService {
     @Autowired
     private ExamService examService;
 
-    public List<ExamAndCourseTotalDTO> examAndCourseTotal(BaseQueryReqDTO reqDTO) {
+    public List<ExamAndCourseDepartTotalDTO> examAndCourseTotal(BaseQueryReqDTO reqDTO) {
 
-        List<ExamAndCourseTotalDTO> totalDTOS = new ArrayList<>();
+        List<ExamAndCourseDepartTotalDTO> totalDTOS = new ArrayList<>();
         List<CourseDepartTotalDTO> coursedtos = courseService.courseDepartTotal(reqDTO);
         List<ExamDepartTotalDTO> examdtos = examService.examDepartTotal(reqDTO);
 
-        ExamAndCourseTotalDTO totalDTO = null;
+        ExamAndCourseDepartTotalDTO totalDTO = null;
         if (coursedtos.size() >= examdtos.size()) {
             Map<String, List<ExamDepartTotalDTO>> groupexamdtos = examdtos.stream().collect(Collectors.groupingBy(ExamDepartTotalDTO::getDeptCode));
             for (int i = 0; i < coursedtos.size(); i++) {
-                totalDTO = new ExamAndCourseTotalDTO();
+                totalDTO = new ExamAndCourseDepartTotalDTO();
                 totalDTO.setDeptCode(coursedtos.get(i).getDeptCode());
                 totalDTO.setDeptName(coursedtos.get(i).getDeptName());
                 totalDTO.setEcTotalUser(coursedtos.get(i).getEcTotalUser());
@@ -55,7 +60,7 @@ public class ExamAndCourseTotalService {
         } else {
             Map<String, List<CourseDepartTotalDTO>> groupcoursedtos = coursedtos.stream().collect(Collectors.groupingBy(CourseDepartTotalDTO::getDeptCode));
             for (int i = 0; i < examdtos.size(); i++) {
-                totalDTO = new ExamAndCourseTotalDTO();
+                totalDTO = new ExamAndCourseDepartTotalDTO();
                 totalDTO.setDeptCode(examdtos.get(i).getDeptCode());
                 totalDTO.setDeptName(examdtos.get(i).getDeptName());
                 totalDTO.setEeTotalUser(examdtos.get(i).getEeTotalUser());
@@ -77,4 +82,55 @@ public class ExamAndCourseTotalService {
     }
 
 
+    public List<ExamAndCourseUserTotalDTO> getExamAndCourseUserTotal(BaseUserQueryReqDTO reqDTO) {
+        List<ExamAndCourseUserTotalDTO> totalDTOS = new ArrayList<>();
+        List<CourseUserTotalDTO> courseList = courseService.getCourseUserTotal(reqDTO);
+        List<ExamUserTotalDTO> examList = examService.getExamUserTotal(reqDTO);
+        ExamAndCourseUserTotalDTO userTotalDTO = null;
+        if (courseList.size() >= examList.size()) {
+            Map<String, List<ExamUserTotalDTO>> groupexamuserdtos = examList.stream().collect(Collectors.groupingBy(ExamUserTotalDTO::getUserName));
+            for (int i = 0; i < courseList.size(); i++) {
+                userTotalDTO = new ExamAndCourseUserTotalDTO();
+                userTotalDTO.setDeptName(courseList.get(i).getDeptName());
+                userTotalDTO.setDeptCode(courseList.get(i).getDeptCode());
+                userTotalDTO.setRealName(courseList.get(i).getRealName());
+                userTotalDTO.setUserName(courseList.get(i).getUserName());
+                userTotalDTO.setCourseNum(courseList.get(i).getCourseNum());
+                userTotalDTO.setLearnCourse(courseList.get(i).getLearnCourse());
+                userTotalDTO.setTotalMin(courseList.get(i).getTotalMin());
+                List<ExamUserTotalDTO> groupusers = groupexamuserdtos.get(courseList.get(i).getUserName()) == null ? null : groupexamuserdtos.get(courseList.get(i).getUserName());
+                if (null != groupusers && groupusers.size() == 1) {
+                    userTotalDTO.setTryCount(groupusers.get(0).getTryCount());
+                    userTotalDTO.setPassed(groupusers.get(0).getPassed());
+                }
+                totalDTOS.add(userTotalDTO);
+            }
+
+        } else {
+            Map<String, List<CourseUserTotalDTO>> groupcourseuserdtos = courseList.stream().collect(Collectors.groupingBy(CourseUserTotalDTO::getUserName));
+
+            for (int i = 0; i < examList.size(); i++) {
+                userTotalDTO = new ExamAndCourseUserTotalDTO();
+                userTotalDTO.setDeptName(examList.get(i).getDeptName());
+                userTotalDTO.setDeptCode(examList.get(i).getDeptCode());
+                userTotalDTO.setRealName(examList.get(i).getRealName());
+                userTotalDTO.setUserName(examList.get(i).getUserName());
+                userTotalDTO.setTryCount(examList.get(i).getTryCount());
+                userTotalDTO.setPassed(examList.get(i).getPassed());
+                List<CourseUserTotalDTO> groupcourses = groupcourseuserdtos.get(examList.get(i).getUserName()) == null ? null : groupcourseuserdtos.get(examList.get(i).getUserName());
+
+                if (null != groupcourses && groupcourses.size() == 1) {
+                    userTotalDTO.setCourseNum(groupcourses.get(0).getCourseNum());
+                    userTotalDTO.setLearnCourse(groupcourses.get(0).getLearnCourse());
+                    userTotalDTO.setTotalMin(groupcourses.get(0).getTotalMin());
+
+                }
+                totalDTOS.add(userTotalDTO);
+            }
+        }
+        return totalDTOS;
+    }
+
+
+
 }

+ 6 - 6
exam-06173-api/src/main/java/com/gyee/exam/modules/exam/controller/ExamController.java

@@ -184,7 +184,7 @@ public class ExamController extends BaseController {
      * @return
      */
     @ApiOperation(value = "部门考试及格率排行")
-    @GetMapping("/depart-passed-rate")
+    @PostMapping("/depart-passed-rate")
     public ApiRest departPassedRate(@RequestBody BaseQueryReqDTO reqDTO) {
 
         List<ExamDepartPassedRateDTO> dtoList = baseService.departPassedRate(reqDTO);
@@ -197,7 +197,7 @@ public class ExamController extends BaseController {
      * @return
      */
     @ApiOperation(value = "职工考试及格率排行榜")
-    @GetMapping("/user-passed-rate")
+    @PostMapping("/user-passed-rate")
     public ApiRest userPassedRate(@RequestBody BaseQueryReqDTO reqDTO) {
 
         List<ExamUserPassedRateDTO> dtoList = baseService.userPassedRate(reqDTO);
@@ -213,7 +213,7 @@ public class ExamController extends BaseController {
      * @return
      */
     @ApiOperation(value = "部门培训统计")
-    @GetMapping("/exam-depart-total")
+    @PostMapping("/exam-depart-total")
     public ApiRest examDepartTotal(@RequestBody BaseQueryReqDTO reqDTO) {
 
         List<ExamDepartTotalDTO> dtoList = baseService.examDepartTotal(reqDTO);
@@ -228,7 +228,7 @@ public class ExamController extends BaseController {
      * @return
      */
     @ApiOperation(value = "单部门考试统计")
-    @GetMapping("/exam-departid-total")
+    @PostMapping("/exam-departid-total")
     public ApiRest examDepartidTotal(@RequestBody BaseQueryReqDTO reqDTO) {
         if(null == reqDTO || StringUtils.isEmpty(reqDTO.getQ().trim())){
             return super.failure("请求部门参数为空");
@@ -247,7 +247,7 @@ public class ExamController extends BaseController {
      * @return
      */
     @ApiOperation(value = "职员考试统计")
-    @GetMapping("/exam-user-total")
+    @PostMapping("/exam-user-total")
     public ApiRest examUserTotal(@RequestBody BaseUserQueryReqDTO reqDTO) {
 
         List<ExamUserTotalDTO> dtoList = baseService.getExamUserTotal(reqDTO);
@@ -262,7 +262,7 @@ public class ExamController extends BaseController {
      * @return
      */
     @ApiOperation(value = "单个职员考试统计")
-    @GetMapping("/exam-userid-total")
+    @PostMapping("/exam-userid-total")
     public ApiRest examUseridTotal(@RequestBody BaseUserQueryReqDTO reqDTO) {
         if(null == reqDTO || StringUtils.isEmpty(reqDTO.getUserName().trim())){
             return super.failure("请求职员名称参数为空");