he2802 1 年之前
父节点
当前提交
20745fc1cf

+ 8 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/service/impl/ExamServiceImpl.java

@@ -187,6 +187,14 @@ public class ExamServiceImpl extends ServiceImpl<ExamMapper, Exam> implements IE
         if(Validator.isEmpty(bo.getExamId())){
             throw new CustomException("试卷ID缺失");
         }
+        if (ObjectUtils.isNotNull(bo.getStatus()) && bo.getStatus() == -1){
+            CheckUserExamRecordBo checkBo = new CheckUserExamRecordBo();
+            checkBo.setExamIds(Arrays.asList(bo.getExamId()));
+            if (iUserExamRecordService.checkBatchUserExamRecord(checkBo) > 0){
+                throw new CustomException("存在学员已做过的试卷,不能删除,请检查!");
+            }
+        }
+
         Exam update = BeanUtil.toBean(bo, Exam.class);
         update.setSimulateConfig(bo.getSimulateConfigJson());
         validEntityBeforeSave(update);

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/bo/ClassGradeQueryBo.java

@@ -154,4 +154,6 @@ public class ClassGradeQueryBo extends BaseEntity {
 
 	@ApiModelProperty("班级标识:1共享 2独立")
 	private Integer classSign;
+
+	private String userName;
 }

+ 26 - 19
zhongzheng-system/src/main/resources/mapper/modules/grade/ClassGradeMapper.xml

@@ -1161,15 +1161,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             SELECT
             COUNT(*)
             FROM
-            class_grade_user cgu
-            LEFT JOIN `user` u ON cgu.user_id = u.user_id
-            WHERE
-            g.grade_id = cgu.grade_id
-            AND u.realname  like concat('%', #{searchKey}, '%')
-            ) >0 or (
-            SELECT
-            COUNT(*)
-            FROM
             class_grade_goods s
             LEFT JOIN goods d ON s.goods_id = d.goods_id
             WHERE
@@ -1177,6 +1168,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             AND d.goods_name  like concat('%', #{searchKey}, '%')
             ) >0)
         </if>
+        <if test="userName != null and userName !='' ">
+            AND (
+            SELECT
+            COUNT(*)
+            FROM
+            class_grade_user cgu
+            LEFT JOIN `user` u ON cgu.user_id = u.user_id
+            WHERE
+            g.grade_id = cgu.grade_id
+            AND u.realname  like concat('%', #{userName}, '%')
+            ) >0
+        </if>
         <if test="classStatus != null  ">
             AND g.class_status =  #{classStatus}
         </if>
@@ -1220,7 +1223,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         WHERE
         FIND_IN_SET( id, d.subject_ids )) subject_names
         FROM
-        ( SELECT any_value ( grade_id ) AS grade_id FROM class_grade WHERE `status` != - 1 AND seven_code IS NOT NULL GROUP BY seven_code ) a
+        ( SELECT any_value ( g.grade_id ) AS grade_id FROM class_grade g WHERE g.`status` != - 1 AND g.seven_code IS NOT NULL
+        <if test="userName != null and userName !='' ">
+            AND (
+            SELECT
+            COUNT(*)
+            FROM
+            class_grade_user cgu
+            LEFT JOIN `user` u ON cgu.user_id = u.user_id
+            WHERE
+            g.grade_id = cgu.grade_id
+            AND u.realname  like concat('%', #{userName}, '%')
+            ) >0
+        </if>
+        GROUP BY seven_code ) a
         LEFT JOIN class_grade g ON a.grade_id = g.grade_id
         LEFT JOIN class_grade_goods cgg ON cgg.grade_id = g.grade_id
         LEFT JOIN goods d ON cgg.goods_id = d.goods_id
@@ -1238,15 +1254,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             SELECT
             COUNT(*)
             FROM
-            class_grade_user cgu
-            LEFT JOIN `user` u ON cgu.user_id = u.user_id
-            WHERE
-            g.grade_id = cgu.grade_id
-            AND u.realname  like concat('%', #{searchKey}, '%')
-            ) >0 or (
-            SELECT
-            COUNT(*)
-            FROM
             class_grade_goods s
             LEFT JOIN goods d ON s.goods_id = d.goods_id
             WHERE

+ 1 - 1
zhongzheng-system/src/main/resources/mapper/modules/user/UserExamRecordMapper.xml

@@ -686,7 +686,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <foreach collection="questionIds" item="item" index="index">
                 <choose>
                     <when test="index == questionIds.size()-1">
-                        AND up.do_question_ids LIKE concat('%', #{item}, '%')
+                        up.do_question_ids LIKE concat('%', #{item}, '%')
                     </when>
                     <otherwise>
                         AND up.do_question_ids LIKE concat('%', #{item}, '%') OR