he2802 1 год назад
Родитель
Сommit
5a714edfc0

+ 22 - 0
zhongzheng-admin/src/main/java/com/zhongzheng/controller/grade/ClassGradeController.java

@@ -266,6 +266,28 @@ public class ClassGradeController extends BaseController {
         return getDataTable(list);
     }
 
+    /**
+     * 查询学时学员记录列表
+     */
+    @ApiOperation("查询学员学时列表")
+    @PreAuthorize("@ss.hasPermi('grade:user:list')")
+    @GetMapping("/listUserPeriod/manage")
+    public TableDataInfo<ClassPeriodStudentVo> listUserPeriodManage(ClassGradeUserQueryBo bo) {
+        startPage();
+        List<ClassPeriodStudentVo> list = iClassGradeUserService.listUserPeriodManage(bo);
+        return getDataTable(list);
+    }
+
+
+    /**
+     * 查询学时学员记录统计
+     */
+    @ApiOperation("查询学时学员记录统计")
+    @GetMapping("/listUserPeriod/total")
+    public AjaxResult<UserPeriodTotalVo> listUserPeriodTotal(ClassGradeUserQueryBo bo) {
+        return AjaxResult.success(iClassGradeUserService.listUserPeriodTotal(bo));
+    }
+
     /**
      * 查询学时学员记录列表(新)
      */

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/mapper/ClassGradeUserMapper.java

@@ -155,4 +155,6 @@ public interface ClassGradeUserMapper extends BaseMapper<ClassGradeUser> {
 
     @InterceptorIgnore(tenantLine = "true")
     Long getProIdByTenant(@Param("tenantId") Long tenantId,@Param("proName") String proName,@Param("eduId") Long eduId);
+
+    Long listUserPeriodTotal(Integer periodStatus);
 }

+ 5 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/service/IClassGradeUserService.java

@@ -168,4 +168,9 @@ public interface IClassGradeUserService extends IService<ClassGradeUser> {
     List<ClassPeriodStudentNewVo> listUserPeriodNew(ClassGradeUserQueryBo bo);
 
     List<ClassPeriodStudentVo> listUserVideoRecordNew(ClassGradeUserQueryBo bo);
+
+	List<ClassPeriodStudentVo> listUserPeriodManage(ClassGradeUserQueryBo bo);
+
+	UserPeriodTotalVo listUserPeriodTotal(ClassGradeUserQueryBo bo);
+
 }

+ 32 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/service/impl/ClassGradeUserServiceImpl.java

@@ -1083,6 +1083,38 @@ public class ClassGradeUserServiceImpl extends ServiceImpl<ClassGradeUserMapper,
         return classPeriodStudentVos;
     }
 
+    @Override
+    public List<ClassPeriodStudentVo> listUserPeriodManage(ClassGradeUserQueryBo bo) {
+        //查询班级学员信息
+        List<ClassPeriodStudentVo> classPeriodStudentVos = baseMapper.listUserPeriod(bo);
+        //查找学员学习记录
+        for (ClassPeriodStudentVo classPeriodStudentVo : classPeriodStudentVos) {
+            List<Long> timeList = baseMapper.selectStart(classPeriodStudentVo.getUserId(),
+                    classPeriodStudentVo.getGoodsId(), classPeriodStudentVo.getGradeId(),classPeriodStudentVo.getOrderGoodsId());
+            if (!CollectionUtils.isEmpty(timeList)) {
+                //查找开始学习时间
+                classPeriodStudentVo.setStartTime(timeList.get(0));
+            }else{
+                classPeriodStudentVo.setStartTime(baseMapper.selectStartNoPhoto(classPeriodStudentVo.getUserId(),
+                        classPeriodStudentVo.getGoodsId(), classPeriodStudentVo.getGradeId(),classPeriodStudentVo.getOrderGoodsId())
+                );
+            }
+        }
+        return classPeriodStudentVos;
+    }
+
+    @Override
+    public UserPeriodTotalVo listUserPeriodTotal(ClassGradeUserQueryBo bo) {
+        Long firstPeriodNum = baseMapper.listUserPeriodTotal(2);
+        Long recheckNum = baseMapper.listUserPeriodTotal(3);
+        Long noPassNum = baseMapper.listUserPeriodTotal(0);
+        UserPeriodTotalVo totalVo = new UserPeriodTotalVo();
+        totalVo.setFirstPeriodNum(firstPeriodNum);
+        totalVo.setRecheckNum(recheckNum);
+        totalVo.setNoPassNum(noPassNum);
+        return totalVo;
+    }
+
     @Override
     public ClassPeriodStudentVo DecryptOfficialInfo(ClassGradeDecryptQueryBo bo) {
         String pars;

+ 23 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/vo/UserPeriodTotalVo.java

@@ -0,0 +1,23 @@
+package com.zhongzheng.modules.grade.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @author yangdamao
+ * @date 2024年05月10日 14:15
+ */
+@Data
+public class UserPeriodTotalVo implements Serializable {
+
+    @ApiModelProperty("初审数量")
+    private Long firstPeriodNum;
+
+    @ApiModelProperty("复审数量")
+    private Long recheckNum;
+
+    @ApiModelProperty("不通过数量")
+    private Long noPassNum;
+}

+ 14 - 0
zhongzheng-system/src/main/resources/mapper/modules/grade/ClassGradeUserMapper.xml

@@ -944,6 +944,20 @@
         </if>
     </select>
 
+    <select id="listUserPeriodTotal" parameterType="java.lang.Integer" resultType="java.lang.Long">
+        SELECT
+            COUNT( cgu.id )
+        FROM
+            class_grade_user cgu
+                LEFT JOIN order_goods og ON cgu.order_goods_id = og.order_goods_id
+                LEFT JOIN goods g ON og.goods_id = g.goods_id
+                LEFT JOIN course_business cb ON g.business_id = cb.id
+        WHERE
+            cgu.`status` = 1
+          AND cb.period_check_sign = 1
+          AND cgu.period_status = #{periodStatus}
+    </select>
+
     <select id="listUserWeekStudyTime" parameterType="com.zhongzheng.modules.grade.bo.ClassGradeUserQueryBo"
             resultType="Long">
         SELECT