| 
					
				 | 
			
			
				@@ -69,15 +69,11 @@ public class AttendanceServiceImpl extends ServiceImpl<AttendanceMapper, Attenda 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 ed="1"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 List<UserDept> depNamesByUserIds = userShiftMapper.getDepNamesByUserIds(Arrays.asList(userid.split(","))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                String str=" and "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                for (int i=0;i<depNamesByUserIds.size();i++){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    if (i<depNamesByUserIds.size()-1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        str+="find_in_set("+depNamesByUserIds.get(i).getId()+",dept) or"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        str+="find_in_set("+depNamesByUserIds.get(i).getId()+",dept)"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                AttendanceRule attendanceRule1 = attendanceRuleService.UserRules(str); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                List<String>deps=new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+               depNamesByUserIds.forEach(st->{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                   deps.add(st.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+               }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                AttendanceRule attendanceRule1 = attendanceRuleService.UserRules(deps); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if (attendanceRule1!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     attendanceRule=attendanceRule1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     ed="1"; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -134,12 +130,23 @@ public class AttendanceServiceImpl extends ServiceImpl<AttendanceMapper, Attenda 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 }else if (attendanceRule.getType().equals("3")){//规则类型 3,自由上下班 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    if (attendances!=null&&attendances.size()>1){//判断打卡记录是否有上下班 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        if (exitprio(attendances).equals("1")){//判断打卡记录是否异常,1,异常 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            cont="1"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    String states="1"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    String[] split = attendanceRule.getWorkDay().split(",");//获取工作日 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    Date da = DateUtils.str2Date(date, sdf); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    for (String day:split){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        if (day.equals(String.valueOf(da.getDay()))){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            states="2"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if (states.equals("2")) {//在工作日内 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        if (attendances != null && attendances.size() > 1) {//判断打卡记录是否有上下班 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            if (exitprio(attendances).equals("1")) {//判断打卡记录是否异常,1,异常 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                cont = "1"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            cont = "1"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        cont="1"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -151,31 +158,27 @@ public class AttendanceServiceImpl extends ServiceImpl<AttendanceMapper, Attenda 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 List<Attendance> acs = attendanceMapper.queryList(userid, aDate); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 at.setIs("2"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 String eds="0"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                AttendanceRule attendanceRules = attendanceRuleService.UserRule(userid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (attendanceRules!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    eds="1"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    List<UserDept> depNamesByUserIds = userShiftMapper.getDepNamesByUserIds(Arrays.asList(userid.split(","))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    String str="where "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    for (int is=0;i<depNamesByUserIds.size();is++){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        if (is<depNamesByUserIds.size()-1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            str+="find_in_set("+depNamesByUserIds.get(is).getId()+",dept) or"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            str+="find_in_set("+depNamesByUserIds.get(is).getId()+",dept)"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    AttendanceRule attendanceRule1 = attendanceRuleService.UserRules(str); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    if (attendanceRule1!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        attendanceRules=attendanceRule1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        eds="1"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (eds.equals("1")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    if (attendanceRules.getType().equals("1")){//判断规则类型1,固定时间上下班 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                AttendanceRule attendanceRules = attendanceRuleService.UserRule(userid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                if (attendanceRules!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                    eds="1"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                    List<UserDept> depNamesByUserIds = userShiftMapper.getDepNamesByUserIds(Arrays.asList(userid.split(","))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                    List<String>deps=new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                    depNamesByUserIds.forEach(st->{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                        deps.add(st.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                    }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                    AttendanceRule attendanceRule1 = attendanceRuleService.UserRules(deps); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                    if (attendanceRule1!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                        attendanceRules=attendanceRule1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                        eds="1"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (ed.equals("1")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if (attendanceRule.getType().equals("1")){//判断规则类型1,固定时间上下班 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         String state="1"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        String[] split = attendanceRules.getWorkDay().split(",");//获取工作日 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        String[] split = attendanceRule.getWorkDay().split(",");//获取工作日 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         Date da = DateUtils.str2Date(aDate, sdf); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         for (String day:split){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             if (day.equals(String.valueOf(da.getDay()))){ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -188,8 +191,8 @@ public class AttendanceServiceImpl extends ServiceImpl<AttendanceMapper, Attenda 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                 if (exitprio(acs).equals("1")){//判断打卡记录是否异常,1,异常 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                     at.setIs("1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                 }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                    Date startDate = DateUtils.str2Date("2021-10-21 "+sdt.format(attendanceRules.getStartDate()), sd); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                    Date endDate = DateUtils.str2Date("2021-10-21 "+sdt.format(attendanceRules.getEndDate()), sd); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    Date startDate = DateUtils.str2Date("2021-10-21 "+sdt.format(attendanceRule.getStartDate()), sd); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    Date endDate = DateUtils.str2Date("2021-10-21 "+sdt.format(attendanceRule.getEndDate()), sd); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                     Date usStartDate = DateUtils.str2Date("2021-10-21 "+sdt.format(acs.get(0).getUsDate()), sd); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                     Date usEndDate = DateUtils.str2Date("2021-10-21 "+sdt.format(acs.get(acs.size() - 1).getUsDate()), sd); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                     if (usStartDate.getTime()>startDate.getTime()||usEndDate.getTime()<endDate.getTime()){ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -201,8 +204,8 @@ public class AttendanceServiceImpl extends ServiceImpl<AttendanceMapper, Attenda 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    }else  if (attendanceRules.getType().equals("2")){//规则类型 2,按班次上下班 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        List<Map<String,Object>> oneUserShift = userShiftMapper.getOneUserShift(userid, date,""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    }else  if (attendanceRule.getType().equals("2")){//规则类型 2,按班次上下班 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        List<Map<String,Object>> oneUserShift = userShiftMapper.getOneUserShift(userid, aDate,""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         if (oneUserShift!=null&&oneUserShift.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             if (acs!=null&&acs.size()>1){//判断打卡记录是否有上下班 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                 if (exitprio(acs).equals("1")){//判断打卡记录是否异常,1,异常 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -220,7 +223,18 @@ public class AttendanceServiceImpl extends ServiceImpl<AttendanceMapper, Attenda 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                 at.setIs("1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    }else if (attendanceRules.getType().equals("3")){//规则类型 3,自由上下班 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    }else if (attendanceRule.getType().equals("3")){//规则类型 3,自由上下班 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        String states="1"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        String[] split = attendanceRule.getWorkDay().split(",");//获取工作日 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        Date da = DateUtils.str2Date(aDate, sdf); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        for (String day:split){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            if (day.equals(String.valueOf(da.getDay()))){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                states="2"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        if (states.equals("2")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         if (acs!=null&&acs.size()>1){//判断打卡记录是否有上下班 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             if (exitprio(acs).equals("1")){//判断打卡记录是否异常,1,异常 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                 at.setIs("1"); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -228,12 +242,13 @@ public class AttendanceServiceImpl extends ServiceImpl<AttendanceMapper, Attenda 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             at.setIs("1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     lit.add(at); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            Vacation vacation = vacationMapper.vacation(userid, date);//获取当前用户的假期数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        Map<String, Object> oneWork = attendanceMapper.getOneWork(userid, date); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<Vacation> vacation = vacationMapper.vacation(userid, date);//获取当前用户的假期数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List< Map<String,Object>> oneWork = attendanceMapper.getOneWork(userid, date); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         map.put("date",attendances); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         map.put("data",vacation); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         map.put("day",lit); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -259,31 +274,27 @@ public class AttendanceServiceImpl extends ServiceImpl<AttendanceMapper, Attenda 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         int year = calendar.get(calendar.YEAR);//年份 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         int month = calendar.get(calendar.MONTH) + 1;//月份 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         int actualMaximum = calendar.getActualMaximum(Calendar.DAY_OF_MONTH); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                for (int i = 1; i <= actualMaximum; i++){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    String aDate = String.valueOf(year) + "-" + month + "-" + i;//循环拼接所有天数进行查询是否正常 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    List<Attendance> acs = attendanceMapper.queryList(userid, aDate); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    String eds="0"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    AttendanceRule attendanceRules = attendanceRuleService.UserRule(userid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    if (attendanceRules!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        eds="1"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        List<UserDept> depNamesByUserIds = userShiftMapper.getDepNamesByUserIds(Arrays.asList(userid.split(","))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        String str="where "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        for (int is=0;i<depNamesByUserIds.size();is++){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            if (is<depNamesByUserIds.size()-1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                str+="find_in_set("+depNamesByUserIds.get(is).getId()+",dept) or"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                str+="find_in_set("+depNamesByUserIds.get(is).getId()+",dept)"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        AttendanceRule attendanceRule1 = attendanceRuleService.UserRules(str); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        if (attendanceRule1!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            attendanceRules=attendanceRule1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            eds="1"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String eds="0"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        AttendanceRule attendanceRules = attendanceRuleService.UserRule(userid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (attendanceRules!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            eds="1"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            List<UserDept> depNamesByUserIds = userShiftMapper.getDepNamesByUserIds(Arrays.asList(userid.split(","))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            List<String>deps=new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            depNamesByUserIds.forEach(st->{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                deps.add(st.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            AttendanceRule attendanceRule1 = attendanceRuleService.UserRules(deps); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (attendanceRule1!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                attendanceRules=attendanceRule1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                eds="1"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for (int i = 1; i <= actualMaximum; i++){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    String aDate = String.valueOf(year) + "-" + month + "-" + i;//循环拼接所有天数进行查询是否正常 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    List<Attendance> acs = attendanceMapper.queryList(userid, aDate); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     if (eds.equals("1")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         if (attendanceRules.getType().equals("1")){//判断规则类型1,固定时间上下班 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             String state="1"; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -317,7 +328,7 @@ public class AttendanceServiceImpl extends ServiceImpl<AttendanceMapper, Attenda 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         }else  if (attendanceRules.getType().equals("2")){//规则类型 2,按班次上下班 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            List<Map<String,Object>> oneUserShift = userShiftMapper.getOneUserShift(userid, date,""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            List<Map<String,Object>> oneUserShift = userShiftMapper.getOneUserShift(userid, aDate,""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             if (oneUserShift!=null&&oneUserShift.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                 if (acs!=null&&acs.size()>1){//判断打卡记录是否有上下班 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                     if (exitprio(acs).equals("1")){//判断打卡记录是否异常,1,异常 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -339,14 +350,25 @@ public class AttendanceServiceImpl extends ServiceImpl<AttendanceMapper, Attenda 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         }else if (attendanceRules.getType().equals("3")){//规则类型 3,自由上下班 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            if (acs!=null&&acs.size()>1){//判断打卡记录是否有上下班 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                if (exitprio(acs).equals("1")){//判断打卡记录是否异常,1,异常 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                    sum="1"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            String states="1"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            String[] split = attendanceRules.getWorkDay().split(",");//获取工作日 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            Date da = DateUtils.str2Date(aDate, sdf); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            for (String day:split){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                if (day.equals(String.valueOf(da.getDay()))){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    states="2"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            if (states.equals("2")) {//在工作日内 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                if (acs != null && acs.size() > 1) {//判断打卡记录是否有上下班 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    if (exitprio(acs).equals("1")) {//判断打卡记录是否异常,1,异常 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        sum = "1"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    sum = "1"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                     break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                sum="1"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     } 
			 |