Joburgess 5 gadi atpakaļ
vecāks
revīzija
76abfdb3fc

+ 0 - 10
edu-user/edu-user-server/src/main/java/com/keao/edu/user/page/ExaminationQueryInfo.java

@@ -11,16 +11,6 @@ public class ExaminationQueryInfo extends QueryInfo {
 
     private ExamStatusEnum examStatus;
 
-    private Integer organId;
-
-    public Integer getOrganId() {
-        return organId;
-    }
-
-    public void setOrganId(Integer organId) {
-        this.organId = organId;
-    }
-
     public ExamStatusEnum getExamStatus() {
         return examStatus;
     }

+ 6 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/ExamRegistrationServiceImpl.java

@@ -163,6 +163,12 @@ public class ExamRegistrationServiceImpl extends BaseServiceImpl<Long, ExamRegis
         Map<String, Object> params = new HashMap<String, Object>();
         MapUtil.populateMap(params, queryInfo);
 
+        if(Objects.nonNull(queryInfo.getExamId())){
+            List<Integer> nextLevelOrganIds = organizationService.getChildOrganIds(queryInfo.getOrganId(), true);
+            params.put("organIds", nextLevelOrganIds);
+            params.put("organId", null);
+        }
+
         List<ExamRegistrationRoomDto> dataList = Collections.EMPTY_LIST;
         int count = examRegistrationDao.countExamRegist(params);
         if (count > 0) {

+ 0 - 3
edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/ExaminationBasicServiceImpl.java

@@ -153,9 +153,6 @@ public class ExaminationBasicServiceImpl extends BaseServiceImpl<Long, Examinati
         Map<String, Object> params = new HashMap<String, Object>();
         MapUtil.populateMap(params, queryInfo);
 
-        List<Integer> childOrganIds = organizationService.getChildOrganIds(queryInfo.getOrganId(), true);
-        params.put("organIds", childOrganIds);
-
         List<ExaminationBasicDto> dataList = new ArrayList<>();
         int count = examinationBasicDao.countExaminationBasics(params);
         if (count > 0) {

+ 7 - 1
edu-user/edu-user-server/src/main/resources/config/mybatis/ExamRegistrationMapper.xml

@@ -138,6 +138,12 @@
 
 	<sql id="queryCondition">
 		<where>
+			<if test="organIds!=null">
+				AND er.organ_id_ IN
+				<foreach collection="organIds" item="organId" separator="," open="(" close=")">
+					#{organId}
+				</foreach>
+			</if>
 			<if test="examId!=null">
 				AND er.examination_basic_id_ = #{examId}
 			</if>
@@ -254,7 +260,7 @@
 			LEFT JOIN exam_room_student_relation ersr ON ersr.exam_registration_id_ = er.id_
 			LEFT JOIN exam_room ero ON ero.id_ = ersr.exam_room_id_
 		<include refid="queryCondition"/>
-		ORDER BY er.id_
+		ORDER BY er.id_ DESC
 		<include refid="global.limit"/>
 	</select>
 

+ 15 - 12
edu-user/edu-user-server/src/main/resources/config/mybatis/ExaminationBasicMapper.xml

@@ -211,33 +211,36 @@
 		<include refid="queryCondition"/>
 	</select>
 
-	<sql id="indExaminationBasicsCondition">
+	<sql id="findExaminationBasicsCondition">
 		<where>
-			<if test="organIds!=null">
-				AND organ_id_ IN
-				<foreach collection="organIds" item="organId" separator="," open="(" close=")">
-					#{organId}
-				</foreach>
+			<if test="organId!=null">
+				AND eor.organ_id_ = #{organId}
 			</if>
 			<if test="examStatus!=null">
-				AND status_=#{examStatus}
+				AND eb.status_=#{examStatus}
 			</if>
 			<if test="search!=null">
-				AND (id_=#{search} OR name_ LIKE CONCAT(#{search}, '%'))
+				AND (eb.id_=#{search} OR eb.name_ LIKE CONCAT(#{search}, '%'))
 			</if>
 		</where>
 	</sql>
 
 	<select id="findExaminationBasics" resultMap="ExaminationBasicDto" parameterType="map">
-		SELECT * FROM examination_basic
-		<include refid="indExaminationBasicsCondition"/>
+		SELECT eb.*
+		FROM
+			exam_organization_relation eor
+		LEFT JOIN examination_basic eb ON eor.examination_basic_id_ = eb.id_
+		<include refid="findExaminationBasicsCondition"/>
 		ORDER BY id_ DESC
 		<include refid="global.limit"/>
 	</select>
 
 	<select id="countExaminationBasics" resultType="int">
-		SELECT COUNT(*) FROM examination_basic
-		<include refid="indExaminationBasicsCondition"/>
+		SELECT COUNT(eb.id_)
+		FROM
+			exam_organization_relation eor
+		LEFT JOIN examination_basic eb ON eor.examination_basic_id_ = eb.id_
+		<include refid="findExaminationBasicsCondition"/>
 	</select>
 
     <select id="getNeedUpdateStatusExams" resultMap="ExaminationBasic">