|  | @@ -381,7 +381,7 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 | 
	
		
			
				|  |  |  			List<IndexErrInfoDto> twoChild = new ArrayList<>();
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  			//未缴费学员数
 | 
	
		
			
				|  |  | -			twoChild.add(new IndexErrInfoDto(IndexErrorType.STUDENT_NOT_PAYMENT, IndexErrorType.STUDENT_NOT_PAYMENT.getMsg(), indexBaseMonthDataDao.countNoPaymentStudentNum(organIds,educationUserId), Arrays.asList(educationUserId)));
 | 
	
		
			
				|  |  | +			twoChild.add(new IndexErrInfoDto(IndexErrorType.STUDENT_ARREARAGE, IndexErrorType.STUDENT_ARREARAGE.getMsg(), indexBaseMonthDataDao.countNoPaymentStudentNum(organIds,educationUserId,0), Arrays.asList(educationUserId)));
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  			//申请退团学员数
 | 
	
		
			
				|  |  |  			List<Long> quitGroupNum = indexBaseMonthDataDao.queryApplyForQuitGroupNum(organIds,educationUserId);
 | 
	
	
		
			
				|  | @@ -401,26 +401,11 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 | 
	
		
			
				|  |  |  			three.setDesc(IndexErrorType.TEACHER_INFO.getMsg());
 | 
	
		
			
				|  |  |  			List<IndexErrInfoDto> threeChild = new ArrayList<>();
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -//			int teacherLeave = indexBaseMonthDataDao.queryTeacherLeave(organIdsStr,startTime);
 | 
	
		
			
				|  |  | -//			threeChild.add(new IndexErrInfoDto(IndexErrorType.TEACHER_LEAVE, IndexErrorType.TEACHER_LEAVE.getMsg(),teacherLeave, null));
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -			String monthStr = DateUtil.format(date, DateUtil.ISO_YEAR_MONTH_FORMAT);
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -			//全职未离职老师
 | 
	
		
			
				|  |  | -			//预计课酬较低
 | 
	
		
			
				|  |  | -			int lowTeacherSalary = indexBaseMonthDataDao.queryLowTeacherSalary(organIdsStr,monthStr);
 | 
	
		
			
				|  |  | -			threeChild.add(new IndexErrInfoDto(IndexErrorType.TEACHER_EXPECT_SALARY_BE_LOW, IndexErrorType.TEACHER_EXPECT_SALARY_BE_LOW.getMsg(),lowTeacherSalary, null));
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |  			//课程时间安排异常
 | 
	
		
			
				|  |  |  			Integer userId = null;
 | 
	
		
			
				|  |  |  			if (!userRole.contains(SysUserRole.SECTION_MANAGER) && !sysUser.getIsSuperAdmin()) {
 | 
	
		
			
				|  |  |  				userId = sysUser.getId();
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  | -			int courseTimeError = 0;
 | 
	
		
			
				|  |  | -			if(classGroupIds == null || classGroupIds.size() > 0){
 | 
	
		
			
				|  |  | -				courseTimeError = indexBaseMonthDataDao.getCourseTimeError(organIds,classGroupIds);
 | 
	
		
			
				|  |  | -			}
 | 
	
		
			
				|  |  | -			threeChild.add(new IndexErrInfoDto(IndexErrorType.COURSE_TIME_ERROR, IndexErrorType.COURSE_TIME_ERROR.getMsg(), courseTimeError, null));
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  			//乐团巡查任务未计划
 | 
	
		
			
				|  |  |  			int inspectionItem = indexBaseMonthDataDao.queryInspectionItem(organIdsStr,startTime,userId);
 | 
	
	
		
			
				|  | @@ -448,10 +433,15 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 | 
	
		
			
				|  |  |  			//课程考勤异常
 | 
	
		
			
				|  |  |  			int attendanceError = 0;
 | 
	
		
			
				|  |  |  			int noAttendance = 0;
 | 
	
		
			
				|  |  | +			//课程时间安排异常
 | 
	
		
			
				|  |  | +			int courseTimeError = 0;
 | 
	
		
			
				|  |  |  			if(classGroupIds == null || classGroupIds.size() > 0){
 | 
	
		
			
				|  |  |  				attendanceError = indexBaseMonthDataDao.getAttendanceError(organIds,startTime,classGroupIds);
 | 
	
		
			
				|  |  |  				noAttendance = indexBaseMonthDataDao.getNoAttendance(organIds,startTime,classGroupIds);
 | 
	
		
			
				|  |  | +				courseTimeError = indexBaseMonthDataDao.getCourseTimeError(organIds,classGroupIds);
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  | +			fourChild.add(new IndexErrInfoDto(IndexErrorType.COURSE_TIME_ERROR, IndexErrorType.COURSE_TIME_ERROR.getMsg(), courseTimeError, null));
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  			fourChild.add(new IndexErrInfoDto(IndexErrorType.TEACHER_EXCEPTION_ATTENDANCE, IndexErrorType.TEACHER_EXCEPTION_ATTENDANCE.getMsg(), attendanceError, null));
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  			//课程异常
 | 
	
	
		
			
				|  | @@ -718,6 +708,12 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 | 
	
		
			
				|  |  |  		if (sysUser == null) {
 | 
	
		
			
				|  |  |  			throw new BizException("用户信息获取失败");
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +		Set<Integer> organIdSet = null;
 | 
	
		
			
				|  |  | +		if(StringUtils.isNotBlank(organIds)){
 | 
	
		
			
				|  |  | +			organIdSet = Arrays.stream(organIds.split(",")).map(Integer::new).collect(Collectors.toSet());
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  		//当前用户是否是分部经理
 | 
	
		
			
				|  |  |  		List<Integer> userRole = employeeDao.queryUserRole(sysUser.getId());
 | 
	
		
			
				|  |  |  		Integer educationUserId = null;
 | 
	
	
		
			
				|  | @@ -742,6 +738,18 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  		result.add(indexErrInfoDto);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +		//未缴费学员数
 | 
	
		
			
				|  |  | +		result.add(new IndexErrInfoDto(IndexErrorType.STUDENT_NOT_PAYMENT, IndexErrorType.STUDENT_NOT_PAYMENT.getMsg(), indexBaseMonthDataDao.countNoPaymentStudentNum(organIdSet,educationUserId, 1), Arrays.asList(educationUserId)));
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +		String monthStr = DateUtil.format(date, DateUtil.ISO_YEAR_MONTH_FORMAT);
 | 
	
		
			
				|  |  | +		//全职未离职老师
 | 
	
		
			
				|  |  | +		//预计课酬较低
 | 
	
		
			
				|  |  | +		int lowTeacherSalary = indexBaseMonthDataDao.queryLowTeacherSalary(organIds,monthStr);
 | 
	
		
			
				|  |  | +		result.add(new IndexErrInfoDto(IndexErrorType.TEACHER_EXPECT_SALARY_BE_LOW, IndexErrorType.TEACHER_EXPECT_SALARY_BE_LOW.getMsg(),lowTeacherSalary, null));
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  		return result;
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -785,7 +793,7 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 | 
	
		
			
				|  |  |  		resultMap.put("musicPatrol",flag1);
 | 
	
		
			
				|  |  |  		boolean flag2 = false;
 | 
	
		
			
				|  |  |  		if(!flag2){
 | 
	
		
			
				|  |  | -			int countNoPaymentStudentNum = indexBaseMonthDataDao.countNoPaymentStudentNum(organIds,educationUserId);
 | 
	
		
			
				|  |  | +			int countNoPaymentStudentNum = indexBaseMonthDataDao.countNoPaymentStudentNum(organIds,educationUserId, 0);
 | 
	
		
			
				|  |  |  			if(countNoPaymentStudentNum > 0){
 | 
	
		
			
				|  |  |  				flag2 = true;
 | 
	
		
			
				|  |  |  			}
 | 
	
	
		
			
				|  | @@ -804,26 +812,12 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 | 
	
		
			
				|  |  |  				flag3 = true;
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  | -		if(!flag3){
 | 
	
		
			
				|  |  | -			String monthStr = DateUtil.format(date, DateUtil.ISO_YEAR_MONTH_FORMAT);
 | 
	
		
			
				|  |  | -			int lowTeacherSalary = indexBaseMonthDataDao.queryLowTeacherSalary(organIdsStr,monthStr);
 | 
	
		
			
				|  |  | -			if(lowTeacherSalary > 0){
 | 
	
		
			
				|  |  | -				flag3 = true;
 | 
	
		
			
				|  |  | -			}
 | 
	
		
			
				|  |  | -		}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  		Integer userId = null;
 | 
	
		
			
				|  |  |  		if (!userRole.contains(SysUserRole.SECTION_MANAGER) && !sysUser.getIsSuperAdmin()) {
 | 
	
		
			
				|  |  |  			userId = sysUser.getId();
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  | -		if(!flag3){
 | 
	
		
			
				|  |  | -			int courseTimeError = 0;
 | 
	
		
			
				|  |  | -			if(classGroupIds == null || classGroupIds.size() > 0){
 | 
	
		
			
				|  |  | -				courseTimeError = indexBaseMonthDataDao.getCourseTimeError(organIds,classGroupIds);
 | 
	
		
			
				|  |  | -			}
 | 
	
		
			
				|  |  | -			if(courseTimeError > 0){
 | 
	
		
			
				|  |  | -				flag3 = true;
 | 
	
		
			
				|  |  | -			}
 | 
	
		
			
				|  |  | -		}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  		if(!flag3){
 | 
	
		
			
				|  |  |  			int inspectionItem = indexBaseMonthDataDao.queryInspectionItem(organIdsStr,startTime,userId);
 | 
	
		
			
				|  |  |  			if(inspectionItem > 0){
 | 
	
	
		
			
				|  | @@ -846,6 +840,22 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  		boolean flag4 = false;
 | 
	
		
			
				|  |  |  		if(!flag4){
 | 
	
		
			
				|  |  | +			String monthStr = DateUtil.format(date, DateUtil.ISO_YEAR_MONTH_FORMAT);
 | 
	
		
			
				|  |  | +			int lowTeacherSalary = indexBaseMonthDataDao.queryLowTeacherSalary(organIdsStr,monthStr);
 | 
	
		
			
				|  |  | +			if(lowTeacherSalary > 0){
 | 
	
		
			
				|  |  | +				flag4 = true;
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +		if(!flag4){
 | 
	
		
			
				|  |  | +			int courseTimeError = 0;
 | 
	
		
			
				|  |  | +			if(classGroupIds == null || classGroupIds.size() > 0){
 | 
	
		
			
				|  |  | +				courseTimeError = indexBaseMonthDataDao.getCourseTimeError(organIds,classGroupIds);
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +			if(courseTimeError > 0){
 | 
	
		
			
				|  |  | +				flag4 = true;
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +		if(!flag4){
 | 
	
		
			
				|  |  |  			int attendanceError = 0;
 | 
	
		
			
				|  |  |  			if(classGroupIds == null || classGroupIds.size() > 0){
 | 
	
		
			
				|  |  |  				attendanceError = indexBaseMonthDataDao.getAttendanceError(organIds,startTime,classGroupIds);
 |