Pārlūkot izejas kodu

修改學時審核

change 3 gadi atpakaļ
vecāks
revīzija
b372307e00

+ 7 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/service/impl/ClassGradeUserServiceImpl.java

@@ -182,7 +182,13 @@ public class ClassGradeUserServiceImpl extends ServiceImpl<ClassGradeUserMapper,
             //classGradeStudentVo.setStudyNum(divide.multiply(new BigDecimal("100")).longValue());
             classPeriodUserVo.setSecAllNum(secLong);
             classPeriodUserVo.setStuAllNum(studyLong);
-            classPeriodUserVo.setPending(classPeriodUserVo.getExamNum()+classPeriodUserVo.getSecAllNum()-classPeriodUserVo.getPass()-classPeriodUserVo.getCheat());
+            classPeriodUserVo.setPending(classPeriodUserVo.getSecAllNum()-classPeriodUserVo.getPass()-classPeriodUserVo.getCheat());
+            classPeriodUserVo.setExamPending(classPeriodUserVo.getExamNum()-classPeriodUserVo.getExamPass()-classPeriodUserVo.getExamCheat());
+            if (classPeriodUserVo.getPending() != 0 || classPeriodUserVo.getExamPending() != 0){
+                classPeriodUserVo.setAllStatus(0);
+            }else {
+                classPeriodUserVo.setAllStatus(1);
+            }
         }
         return classPeriodUserVos;
     }

+ 9 - 2
zhongzheng-system/src/main/resources/mapper/modules/grade/ClassGradeUserMapper.xml

@@ -76,6 +76,8 @@
         <result property="recordNum" column="record_num"/>
         <result property="pass" column="pass"/>
         <result property="cheat" column="cheat"/>
+        <result property="examPass" column="exam_pass"/>
+        <result property="examCheat" column="exam_cheat"/>
     </resultMap>
 
     <resultMap type="com.zhongzheng.modules.grade.vo.ClassPeriodVo" id="ClassPeriodVo">
@@ -242,10 +244,15 @@
         (SELECT COUNT(DISTINCT ubr.record_id) FROM user_bank_record ubr LEFT JOIN class_grade_goods cgg on cgg.goods_id
         = ubr.goods_id where ubr.`status`=1 and ubr.type =2 and ubr.report_status =1) as record_num,
         (SELECT COUNT(up.id) FROM user_period up LEFT JOIN user_period_status ups on up.id = ups.period_id where
-        ups.`status` =1 and ups.period_status = 1 and up.goods_id=#{goodsId} and up.user_id = #{userId}) as pass,
+        ups.`status` =1 and ups.period_status = 1 and up.goods_id=#{goodsId} and up.user_id = #{userId} and up.type = 1) as pass,
        (SELECT
         COUNT(up.id) FROM user_period up LEFT JOIN user_period_status ups on up.id = ups.period_id where ups.`status`
-        =0 and ups.period_status = 1 and up.goods_id=#{goodsId} and up.user_id = #{userId}) as cheat
+        =0 and ups.period_status = 1 and up.goods_id=#{goodsId} and up.user_id = #{userId} and up.type = 1) as cheat,
+        (SELECT COUNT(up.id) FROM user_period up LEFT JOIN user_period_status ups on up.id = ups.period_id where
+        ups.`status` =1 and ups.period_status = 1 and up.goods_id=#{goodsId} and up.user_id = #{userId} and up.type = 2) as exam_pass,
+        (SELECT
+        COUNT(up.id) FROM user_period up LEFT JOIN user_period_status ups on up.id = ups.period_id where ups.`status`
+        =0 and ups.period_status = 1 and up.goods_id=#{goodsId} and up.user_id = #{userId} and up.type = 2) as exam_cheat
         FROM
         class_grade_user cgu
         LEFT JOIN class_grade cg ON cgu.grade_id = cg.grade_id