From f8f0ed20e05d521005ddcef2611ca303ae7e7a0c Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期五, 17 五月 2024 16:26:33 +0800
Subject: [PATCH] 练习bug修改

---
 src/main/resources/mapper/ExamPaperAnswerMapper.xml |   26 +++++++++++++++++++++-----
 1 files changed, 21 insertions(+), 5 deletions(-)

diff --git a/src/main/resources/mapper/ExamPaperAnswerMapper.xml b/src/main/resources/mapper/ExamPaperAnswerMapper.xml
index a730052..5f0bb90 100644
--- a/src/main/resources/mapper/ExamPaperAnswerMapper.xml
+++ b/src/main/resources/mapper/ExamPaperAnswerMapper.xml
@@ -257,7 +257,17 @@
 
 
   <select id="selectAllCount"  resultType="java.lang.Integer">
-		SELECT count(*) from t_exam_paper_answer
+	    select count(*) from t_exam_paper_answer a
+        inner join
+        (select user_id from t_user_department
+        <if test="deptIds != null and deptIds.size() > 0">
+          where department_id in
+          <foreach collection="deptIds" item="item" open="(" separator="," close=")">
+              #{item}
+          </foreach>
+        </if>
+        group by user_id)
+        b on a.create_user = b.user_id
   </select>
 
 
@@ -412,8 +422,11 @@
     FROM
     t_exam_paper_answer a
     INNER JOIN (SELECT * FROM t_user_department
-    <if test="departmentId != null and departmentId != ''">
-      WHERE department_id = #{departmentId}
+    <if test="departmentId != null and departmentId.size() > 0">
+      WHERE department_id IN
+      <foreach collection="departmentId" item="item" open="(" separator="," close=")">
+        #{item}
+      </foreach>
     </if>
     GROUP BY user_id) b ON a.create_user = b.user_id
     LEFT JOIN t_user c ON a.create_user = c.id
@@ -438,8 +451,11 @@
     </if>
     LEFT JOIN t_exam_paper_answer c ON a.exam_paper_id = c.exam_paper_id AND a.user_id = c.create_user AND (c.invalid IS NULL OR c.invalid = 0)
     INNER JOIN (SELECT * FROM t_user_department
-    <if test="departmentId != null and departmentId != ''">
-      WHERE department_id = #{departmentId}
+    <if test="departmentId != null and departmentId.size() > 0">
+      WHERE department_id IN
+      <foreach collection="departmentId" item="item" open="(" separator="," close=")">
+        #{item}
+      </foreach>
     </if>
     GROUP BY user_id) d ON a.user_id = d.user_id
   </select>

--
Gitblit v1.8.0