浏览代码

Merge remote-tracking branch 'origin/master'

周箭河 4 年之前
父节点
当前提交
d8d1d9df54

+ 10 - 0
edu-user/edu-user-biz/src/main/java/com/keao/edu/user/dao/ExamRoomDao.java

@@ -129,4 +129,14 @@ public interface ExamRoomDao extends BaseDAO<Long, ExamRoom> {
      * @return int
      */
     int countSendExamPlanRooms(@Param("examId") Long examId);
+
+    /**
+     * @describe 统计指定项目中教师所在考场数量
+     * @author Joburgess
+     * @date 2020.08.11
+     * @param examId:
+     * @return int
+     */
+    int countTeacherRooms(@Param("examId") Long examId,
+                          @Param("teacherId") Integer teacherId);
 }

+ 4 - 3
edu-user/edu-user-biz/src/main/java/com/keao/edu/user/service/impl/ExamTeacherSalaryServiceImpl.java

@@ -156,10 +156,11 @@ public class ExamTeacherSalaryServiceImpl extends BaseServiceImpl<Long, ExamTeac
 	public void deleteExamTeacherSalary(Long examTeacherSalaryId) {
 		ExamTeacherSalary examTeacherSalary = examTeacherSalaryDao.get(examTeacherSalaryId);
 		if(Objects.isNull(examTeacherSalary)){
-			throw new BizException("教分润设置不能存在");
+			throw new BizException("教分润设置不能存在");
 		}
-		if(examTeacherSalary.getTotalInvigilationNum()>0){
-			throw new BizException("该教室已被分配到考场");
+		int teacherRooms = examRoomDao.countTeacherRooms(examTeacherSalary.getExaminationBasicId(), examTeacherSalary.getTeacherId());
+		if(teacherRooms>0){
+			throw new BizException("该教师已被分配到考场");
 		}
 		examTeacherSalaryDao.delete(examTeacherSalaryId);
 	}

+ 1 - 1
edu-user/edu-user-biz/src/main/resources/config/mybatis/ExamOrganizationRelationMapper.xml

@@ -118,7 +118,7 @@
 				total_trans_amount_ = #{totalTransAmount},
 			</if>
 			<if test="subsidy != null">
-				subsidy_ = #{subsidy}
+				subsidy_ = #{subsidy},
 			</if>
 			<if test="organId != null">
 				organ_id_ = #{organId},

+ 6 - 0
edu-user/edu-user-biz/src/main/resources/config/mybatis/ExamRoomMapper.xml

@@ -458,4 +458,10 @@
 			#{subjectId}
 		</foreach>
 	</select>
+
+    <select id="countTeacherRooms" resultType="int">
+		SELECT COUNT(id_) FROM exam_room
+		WHERE examination_basic_id_=#{examId}
+		AND (main_teacher_user_id_=#{teacherId} OR FIND_IN_SET(#{teacherId}, assistant_teacher_user_id_list_))
+    </select>
 </mapper>