zouxuan 5 年之前
父节点
当前提交
93bb211770

+ 3 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -712,6 +712,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 			}
 			teacherIds.addAll(oldCourseScheduleList.stream().map(e -> e.getActualTeacherId()).collect(Collectors.toSet()));
 			Map<Integer,String> map = new HashMap<>(teacherIds.size());
+			teacherIds.removeAll(Collections.singleton(null));
 			teacherIds.forEach(e->{
 				map.put(e,e.toString());
 			});
@@ -1012,6 +1013,8 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 		if (courseScheduleIdList.size() > 0) {
 			// vip课自动签退
 			teacherAttendanceDao.updateViPSignOutStatus(courseScheduleIdList.stream().map(a -> a.toString()).collect(Collectors.joining(",")));
+			//教师考勤当前课时+1
+
 		}
 		
 		return true;

+ 5 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/EmployeeServiceImpl.java

@@ -130,7 +130,11 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee>  imp
 		PageInfo<EmployeeDto> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
 		Map<String, Object> params = new HashMap<>();
 		MapUtil.populateMap(params, queryInfo);
-
+		String organId = queryInfo.getOrganId();
+		if(StringUtils.isNotEmpty(organId)){
+			String[] organIds = organId.split(",");
+			params.put("organIds",organIds);
+		}
 		List<EmployeeDto> dataList = null;
 		int count = employeeDao.queryEmployByOrganIdCount(params);
 		if (count > 0) {

+ 17 - 13
mec-biz/src/main/resources/config/mybatis/EmployeeMapper.xml

@@ -184,8 +184,11 @@
         FROM employee e LEFT JOIN sys_user su ON e.user_id_ = su.id_
         <where>
             su.user_type_ = 'SYSTEM'
-            <if test="organId != null">
-                AND FIND_IN_SET(su.organ_id_,#{organId})
+            <if test="organIds != null">
+                AND
+                <foreach collection="organIds" item="item" open="(" close=")" separator=" OR ">
+                    FIND_IN_SET(#{item},e.organ_id_list_)
+                </foreach>
             </if>
             <if test="search != null">
                 AND (su.real_name_ LIKE CONCAT('%',#{search},'%') OR su.phone_ LIKE CONCAT('%',#{search},'%'))
@@ -198,19 +201,20 @@
     </select>
 
     <select id="queryEmployByOrganIdCount" resultType="int">
-        SELECT COUNT(ue.user_id_)
-        FROM (SELECT e.user_id_,su.real_name_,su.gender_,su.phone_,su.user_type_,e.job_nature_,su.lock_flag_,
-        e.entry_date_,e.demission_date_,e.organ_id_list_,e.create_time_
+        SELECT COUNT(DISTINCT e.user_id_)
         FROM employee e LEFT JOIN sys_user su ON e.user_id_ = su.id_
         <where>
-            <if test="organId != null">
-                FIND_IN_SET(su.organ_id_,#{organId})
-            </if>
-        </where>) ue
-        WHERE ue.user_type_ LIKE '%SYSTEM%'
-        <if test="search != null">
-            AND (ue.real_name_ LIKE CONCAT('%',#{search},'%') OR ue.phone_ LIKE CONCAT('%',#{search},'%'))
-        </if>
+            su.user_type_ = 'SYSTEM'
+            <if test="organIds != null">
+                AND
+                <foreach collection="organIds" item="item" open="(" close=")" separator=" OR ">
+                    FIND_IN_SET(#{item},e.organ_id_list_)
+                </foreach>
+            </if>
+            <if test="search != null">
+                AND (su.real_name_ LIKE CONCAT('%',#{search},'%') OR su.phone_ LIKE CONCAT('%',#{search},'%'))
+            </if>
+        </where>
     </select>
     <select id="queryUserRole" resultType="java.lang.Integer">
         SELECT sur.role_id_ FROM sys_user_role sur WHERE sur.user_id_ = #{userId}