|
@@ -107,15 +107,28 @@ public class AttendanceStaffServiceImpl extends ServiceImpl<AttendanceStaffMappe
|
|
//请假
|
|
//请假
|
|
if (applyForm.getType()==3){
|
|
if (applyForm.getType()==3){
|
|
//请假8小时
|
|
//请假8小时
|
|
- if (applyForm.getSumTime().compareTo(BigDecimal.valueOf(8))>=0
|
|
|
|
- ||(applyForm.getSumTime().compareTo(BigDecimal.valueOf(8)) < 0 &&applyForm.getStartTime().equals(LocalDateTime.of(date, LocalTime.of(8, 0)))) //请早上的假
|
|
|
|
- ||(applyForm.getSumTime().compareTo(BigDecimal.valueOf(8)) < 0 &&applyForm.getEndTime().equals(LocalDateTime.of(date, LocalTime.of(17, 0)))) //请下午的假
|
|
|
|
- ){
|
|
|
|
|
|
+ if (applyForm.getSumTime().compareTo(BigDecimal.valueOf(8))>=0){
|
|
staff.setClockStartTime(LocalDateTime.of(date, LocalTime.of(8, 0)));
|
|
staff.setClockStartTime(LocalDateTime.of(date, LocalTime.of(8, 0)));
|
|
staff.setClockEndTime(LocalDateTime.of(date, LocalTime.of(17, 0)));
|
|
staff.setClockEndTime(LocalDateTime.of(date, LocalTime.of(17, 0)));
|
|
staff.setWorkHour(BigDecimal.valueOf(8));
|
|
staff.setWorkHour(BigDecimal.valueOf(8));
|
|
staff.setAttendanceType(QING_JIA);
|
|
staff.setAttendanceType(QING_JIA);
|
|
staff.setAttendanceTypeName(applyForm.getApplyBillName());
|
|
staff.setAttendanceTypeName(applyForm.getApplyBillName());
|
|
|
|
+
|
|
|
|
+ addList.add(staff);
|
|
|
|
+ continue;
|
|
|
|
+ } else if (applyForm.getSumTime().compareTo(BigDecimal.valueOf(8)) < 0) {
|
|
|
|
+ Attendance a1 = new Attendance();
|
|
|
|
+ Attendance a2 = new Attendance();
|
|
|
|
+
|
|
|
|
+ a1.setClockTime(applyForm.getStartTime());
|
|
|
|
+ attendances.add(a1);
|
|
|
|
+
|
|
|
|
+ a2.setClockTime(applyForm.getEndTime());
|
|
|
|
+ attendances.add(a2);
|
|
|
|
+
|
|
|
|
+ attendances = attendances.stream()
|
|
|
|
+ .sorted(Comparator.comparing(Attendance::getClockTime))
|
|
|
|
+ .collect(Collectors.toList());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -137,6 +150,8 @@ public class AttendanceStaffServiceImpl extends ServiceImpl<AttendanceStaffMappe
|
|
staff.setAttendanceType(JIA_BAN);
|
|
staff.setAttendanceType(JIA_BAN);
|
|
staff.setAttendanceTypeName("加班");
|
|
staff.setAttendanceTypeName("加班");
|
|
}
|
|
}
|
|
|
|
+ addList.add(staff);
|
|
|
|
+ continue;
|
|
}
|
|
}
|
|
|
|
|
|
//提前下班申请
|
|
//提前下班申请
|
|
@@ -158,6 +173,22 @@ public class AttendanceStaffServiceImpl extends ServiceImpl<AttendanceStaffMappe
|
|
staff.setAttendanceType(TI_QIAN_XIA_BAN);
|
|
staff.setAttendanceType(TI_QIAN_XIA_BAN);
|
|
staff.setAttendanceTypeName("提前下班");
|
|
staff.setAttendanceTypeName("提前下班");
|
|
}
|
|
}
|
|
|
|
+ //白班异常1提前下班
|
|
|
|
+ else if(applyForm.getEndTime().toLocalTime().equals(LocalTime.of(18, 0))){
|
|
|
|
+ staff.setClockStartTime(LocalDateTime.of(date, LocalTime.of(9, 0)));
|
|
|
|
+ staff.setClockEndTime(LocalDateTime.of(date, LocalTime.of(18, 0)));
|
|
|
|
+ staff.setWorkHour(BigDecimal.valueOf(8).subtract(applyForm.getSumTime()));
|
|
|
|
+ staff.setAttendanceType(TI_QIAN_XIA_BAN);
|
|
|
|
+ staff.setAttendanceTypeName("提前下班");
|
|
|
|
+ }
|
|
|
|
+ //白班异常2提前下班
|
|
|
|
+ else if(applyForm.getEndTime().toLocalTime().equals(LocalTime.of(19, 0))){
|
|
|
|
+ staff.setClockStartTime(LocalDateTime.of(date, LocalTime.of(10, 0)));
|
|
|
|
+ staff.setClockEndTime(LocalDateTime.of(date, LocalTime.of(19, 0)));
|
|
|
|
+ staff.setWorkHour(BigDecimal.valueOf(8).subtract(applyForm.getSumTime()));
|
|
|
|
+ staff.setAttendanceType(TI_QIAN_XIA_BAN);
|
|
|
|
+ staff.setAttendanceTypeName("提前下班");
|
|
|
|
+ }
|
|
//中班提前下班
|
|
//中班提前下班
|
|
else if(applyForm.getEndTime().toLocalTime().equals(LocalTime.of(21, 0))){
|
|
else if(applyForm.getEndTime().toLocalTime().equals(LocalTime.of(21, 0))){
|
|
staff.setClockStartTime(LocalDateTime.of(date, LocalTime.of(13, 0)));
|
|
staff.setClockStartTime(LocalDateTime.of(date, LocalTime.of(13, 0)));
|
|
@@ -181,9 +212,25 @@ public class AttendanceStaffServiceImpl extends ServiceImpl<AttendanceStaffMappe
|
|
staff.setAttendanceType(TI_QIAN_XIA_BAN);
|
|
staff.setAttendanceType(TI_QIAN_XIA_BAN);
|
|
staff.setAttendanceTypeName("提前下班");
|
|
staff.setAttendanceTypeName("提前下班");
|
|
}
|
|
}
|
|
|
|
+ //异常小夜班提前下班
|
|
|
|
+ else if(applyForm.getEndTime().toLocalTime().equals(LocalTime.of(22, 0))){
|
|
|
|
+ staff.setClockStartTime(LocalDateTime.of(date, LocalTime.of(14, 0)));
|
|
|
|
+ staff.setClockEndTime(LocalDateTime.of(date, LocalTime.of(22, 0)));
|
|
|
|
+ staff.setWorkHour(BigDecimal.valueOf(8).subtract(applyForm.getSumTime()));
|
|
|
|
+ staff.setAttendanceType(TI_QIAN_XIA_BAN);
|
|
|
|
+ staff.setAttendanceTypeName("提前下班");
|
|
|
|
+ }
|
|
|
|
+ else if(applyForm.getEndTime().toLocalTime().equals(LocalTime.of(23, 0))){
|
|
|
|
+ staff.setClockStartTime(LocalDateTime.of(date, LocalTime.of(15, 0)));
|
|
|
|
+ staff.setClockEndTime(LocalDateTime.of(date, LocalTime.of(23, 0)));
|
|
|
|
+ staff.setWorkHour(BigDecimal.valueOf(8).subtract(applyForm.getSumTime()));
|
|
|
|
+ staff.setAttendanceType(TI_QIAN_XIA_BAN);
|
|
|
|
+ staff.setAttendanceTypeName("提前下班");
|
|
|
|
+ }
|
|
|
|
+ addList.add(staff);
|
|
|
|
+ continue;
|
|
}
|
|
}
|
|
- addList.add(staff);
|
|
|
|
- continue;
|
|
|
|
|
|
+
|
|
}
|
|
}
|
|
else if (first.isPresent()&&first.get().getType()==6) {
|
|
else if (first.isPresent()&&first.get().getType()==6) {
|
|
List<ApplyForm> collect = applyFormList.stream().filter(a -> !a.getStartTime().toLocalDate().isAfter(date)
|
|
List<ApplyForm> collect = applyFormList.stream().filter(a -> !a.getStartTime().toLocalDate().isAfter(date)
|
|
@@ -896,12 +943,13 @@ public class AttendanceStaffServiceImpl extends ServiceImpl<AttendanceStaffMappe
|
|
HashMap<String, Object> map = new HashMap<>();
|
|
HashMap<String, Object> map = new HashMap<>();
|
|
map.put("res", stringBuilder.toString());
|
|
map.put("res", stringBuilder.toString());
|
|
map.put("color","#F56C6C");
|
|
map.put("color","#F56C6C");
|
|
- for (HashMap<String, Object> hashMap : maplist) {
|
|
|
|
|
|
+ /*for (HashMap<String, Object> hashMap : maplist) {
|
|
hashMap.put("res","正常");
|
|
hashMap.put("res","正常");
|
|
- }
|
|
|
|
|
|
+ }*/
|
|
maplist.add(1,map);
|
|
maplist.add(1,map);
|
|
}
|
|
}
|
|
- }else {
|
|
|
|
|
|
+ }
|
|
|
|
+ else {
|
|
if (!applyFormList.isEmpty()){
|
|
if (!applyFormList.isEmpty()){
|
|
StringBuilder stringBuilder = new StringBuilder();
|
|
StringBuilder stringBuilder = new StringBuilder();
|
|
for (ApplyForm applyForm : applyFormList) {
|
|
for (ApplyForm applyForm : applyFormList) {
|