|  | @@ -582,21 +582,25 @@
 | 
	
		
			
				|  |  |  			</if>
 | 
	
		
			
				|  |  |  	</select>
 | 
	
		
			
				|  |  |      <select id="getAttendanceError" resultType="int">
 | 
	
		
			
				|  |  | -		SELECT COUNT(csts.id_) FROM course_schedule_teacher_salary csts
 | 
	
		
			
				|  |  | -		LEFT JOIN course_schedule cs ON csts.course_schedule_id_ = cs.id_
 | 
	
		
			
				|  |  | -		LEFT JOIN teacher_attendance ta ON ta.course_schedule_id_ = csts.course_schedule_id_ AND ta.teacher_id_ = csts.user_id_
 | 
	
		
			
				|  |  | -		WHERE (ta.sign_in_status_ = 0 OR ta.sign_out_status_ = 0) AND cs.status_ = 'OVER' AND cs.del_flag_ = 0 AND (cs.new_course_id_ IS NULL OR cs.new_course_id_=cs.id_)
 | 
	
		
			
				|  |  | -		AND (ta.sign_in_time_ IS NOT NULL OR ta.sign_out_time_ IS NOT NULL) AND ta.dispose_content_ IS NULL AND cs.class_date_ >= #{startTime}
 | 
	
		
			
				|  |  | +		SELECT COUNT(DISTINCT c.id_) FROM (SELECT cs.id_ FROM course_schedule cs
 | 
	
		
			
				|  |  | +		LEFT JOIN teacher_attendance ta ON ta.course_schedule_id_ = cs.id_
 | 
	
		
			
				|  |  | +		LEFT JOIN student_attendance sa ON sa.course_schedule_id_ = cs.id_
 | 
	
		
			
				|  |  | +		WHERE ta.teacher_id_ = cs.actual_teacher_id_
 | 
	
		
			
				|  |  | +		AND cs.status_ = 'OVER' AND cs.del_flag_ = 0 AND cs.class_date_ >= #{startTime}
 | 
	
		
			
				|  |  | +		AND (ta.sign_in_status_ != 1 OR ta.sign_out_status_ != 1 OR sa.status_ != 'NORMAL') AND ta.dispose_content_ IS NULL
 | 
	
		
			
				|  |  | +		AND (cs.new_course_id_ IS NULL OR cs.new_course_id_=cs.id_)
 | 
	
		
			
				|  |  | +		GROUP BY cs.id_) c
 | 
	
		
			
				|  |  |  		<if test="organIds != null and organIds != ''">
 | 
	
		
			
				|  |  |  			AND FIND_IN_SET(cs.organ_id_,#{organIds})
 | 
	
		
			
				|  |  |  		</if>
 | 
	
		
			
				|  |  |  	</select>
 | 
	
		
			
				|  |  |  	<select id="getNoAttendance" resultType="int">
 | 
	
		
			
				|  |  | -		SELECT COUNT(csts.id_) FROM course_schedule_teacher_salary csts
 | 
	
		
			
				|  |  | -		LEFT JOIN course_schedule cs ON csts.course_schedule_id_ = cs.id_
 | 
	
		
			
				|  |  | -		LEFT JOIN teacher_attendance ta ON ta.course_schedule_id_ = csts.course_schedule_id_ AND ta.teacher_id_ = csts.user_id_
 | 
	
		
			
				|  |  | -		WHERE ta.sign_in_time_ IS NULL AND cs.status_ = 'OVER' AND ta.sign_out_time_ IS NULL AND ta.dispose_content_ IS NULL
 | 
	
		
			
				|  |  | -		AND cs.del_flag_ = 0 AND (cs.new_course_id_ IS NULL OR cs.new_course_id_ = cs.id_) AND cs.class_date_ >= #{startTime}
 | 
	
		
			
				|  |  | +		SELECT COUNT(DISTINCT cs.id_) FROM course_schedule cs
 | 
	
		
			
				|  |  | +		LEFT JOIN teacher_attendance ta ON ta.course_schedule_id_ = cs.id_
 | 
	
		
			
				|  |  | +		WHERE ta.teacher_id_ = cs.actual_teacher_id_
 | 
	
		
			
				|  |  | +		AND cs.status_ = 'OVER' AND cs.del_flag_ = 0 AND cs.class_date_ >= #{startTime}
 | 
	
		
			
				|  |  | +		AND ta.sign_in_time_ IS NULL AND ta.sign_out_time_ IS NULL AND ta.dispose_content_ IS NULL
 | 
	
		
			
				|  |  | +		AND (cs.new_course_id_ IS NULL OR cs.new_course_id_ = cs.id_)
 | 
	
		
			
				|  |  |  		<if test="organIds != null and organIds != ''">
 | 
	
		
			
				|  |  |  			AND FIND_IN_SET(cs.organ_id_,#{organIds})
 | 
	
		
			
				|  |  |  		</if>
 | 
	
	
		
			
				|  | @@ -621,7 +625,9 @@
 | 
	
		
			
				|  |  |  	</select>
 | 
	
		
			
				|  |  |  	<select id="queryInspectionItem" resultType="int">
 | 
	
		
			
				|  |  |  		SELECT COUNT(DISTINCT ii.id_) FROM inspection_item ii
 | 
	
		
			
				|  |  | +		LEFT JOIN inspection i ON ii.inspection_id_ = i.id_
 | 
	
		
			
				|  |  |  		WHERE ii.times_ > planned_times_ AND ii.item_ = 'INSPECT' AND ii.memo_ =''
 | 
	
		
			
				|  |  | +		AND DATE_FORMAT(i.month_,'%Y-%m-%d') >= #{startTime}
 | 
	
		
			
				|  |  |  		<if test="organIdsStr != null and organIdsStr != ''">
 | 
	
		
			
				|  |  |  			AND FIND_IN_SET(ii.organ_id_,#{organIdsStr})
 | 
	
		
			
				|  |  |  		</if>
 | 
	
	
		
			
				|  | @@ -629,15 +635,18 @@
 | 
	
		
			
				|  |  |  	<select id="queryInspectionItemPlan" resultType="int">
 | 
	
		
			
				|  |  |  		SELECT COUNT(DISTINCT iip.id_) FROM inspection_item_plan iip
 | 
	
		
			
				|  |  |  		WHERE iip.status_ = 0 AND iip.memo_ = '' AND DATE_FORMAT(iip.plan_start_,'%Y-%m-%d') < DATE_FORMAT(NOW(),'%Y-%m-%d')
 | 
	
		
			
				|  |  | +		AND DATE_FORMAT(iip.plan_start_,'%Y-%m-%d') >= #{startTime}
 | 
	
		
			
				|  |  |  		<if test="organIdsStr != null and organIdsStr != ''">
 | 
	
		
			
				|  |  |  			AND FIND_IN_SET(iip.organ_id_,#{organIdsStr})
 | 
	
		
			
				|  |  |  		</if>
 | 
	
		
			
				|  |  |  	</select>
 | 
	
		
			
				|  |  |  	<select id="queryStudentVisit" resultType="int">
 | 
	
		
			
				|  |  |  		SELECT COUNT(DISTINCT ii.id_) FROM inspection_item ii
 | 
	
		
			
				|  |  | +		LEFT JOIN inspection i ON ii.inspection_id_ = i.id_
 | 
	
		
			
				|  |  |  		WHERE ii.item_ = 'VISIT' AND ii.memo_ =''
 | 
	
		
			
				|  |  |  		AND ii.times_ > (SELECT COUNT(DISTINCT sv.id_) FROM student_visit sv
 | 
	
		
			
				|  |  |  		WHERE sv.teacher_id_ = ii.user_id_ AND DATE_FORMAT(ii.create_time_,'%Y-%m') = DATE_FORMAT(sv.visit_time_,'%Y-%m'))
 | 
	
		
			
				|  |  | +		AND DATE_FORMAT(i.month_,'%Y-%m-%d') >= #{startTime}
 | 
	
		
			
				|  |  |  		<if test="organIdsStr != null and organIdsStr != ''">
 | 
	
		
			
				|  |  |  			AND FIND_IN_SET(ii.organ_id_,#{organIdsStr})
 | 
	
		
			
				|  |  |  		</if>
 |