From 2e5c30b930229a0097f18069ccd935a23b83c377 Mon Sep 17 00:00:00 2001 From: hylee Date: Tue, 5 Mar 2024 09:53:25 +0900 Subject: [PATCH] =?UTF-8?q?=EB=94=94=ED=8F=B4=ED=8A=B8=20=EB=82=A0?= =?UTF-8?q?=EC=A7=9C=20:=20=EC=A0=84=EB=82=A0=20=20-=20=EC=88=98=EC=A0=95:?= =?UTF-8?q?=20=EC=A0=84=EB=82=A0=EC=9D=B4=20=EC=A3=BC=EB=A7=90=EC=9D=BC=20?= =?UTF-8?q?=EA=B2=BD=EC=9A=B0=20=EC=A0=84=EC=A3=BC=20=EA=B8=88=EC=9A=94?= =?UTF-8?q?=EC=9D=BC=EB=A1=9C=20=EC=88=98=EC=A0=95=20=EC=97=B0=EC=B0=A8=20?= =?UTF-8?q?=EB=B0=98=EC=B0=A8=20=EB=A6=AC=EC=8A=A4=ED=8A=B8=EC=97=90=20?= =?UTF-8?q?=EC=95=88=EB=82=98=EC=98=B4=20=20-=20=EB=A6=AC=EC=8A=A4?= =?UTF-8?q?=ED=8A=B8=20=EB=82=98=EC=98=A4=EA=B2=8C=20=EC=88=98=EC=A0=95=20?= =?UTF-8?q?=EC=B6=9C=EA=B7=BC=20=ED=87=B4=EA=B7=BC=20=EC=8B=9C=EA=B0=84?= =?UTF-8?q?=EC=9D=80=20-=EB=A1=9C=20=EC=9E=85=EB=A0=A5=ED=95=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../itn/commute/mapper/domain/UserEnum.java | 2 +- .../service/impl/CommuteServiceImpl.java | 32 ++++++++++++++++++- 2 files changed, 32 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/itn/admin/itn/commute/mapper/domain/UserEnum.java b/src/main/java/com/itn/admin/itn/commute/mapper/domain/UserEnum.java index 04499e3..2446e2e 100644 --- a/src/main/java/com/itn/admin/itn/commute/mapper/domain/UserEnum.java +++ b/src/main/java/com/itn/admin/itn/commute/mapper/domain/UserEnum.java @@ -7,7 +7,7 @@ import java.util.stream.Collectors; import java.util.stream.Stream; public enum UserEnum { - user1("&@~PYfUBsF+m99kduT53j1Stw==","조용준") + user1("&@~PYfUBsF+m99kduT53j1Stw==","조용준(개발BB)") ,user2("&@~C33DuWpcSL7Krvh2zAByUQ==","박진순") ,user3("&@~9+BQUtRi1cuWOaIqeCYdAA==","우영두") ,user4("&@~peUfyxpLvs6RN9X4waktzQ==","원영현") diff --git a/src/main/java/com/itn/admin/itn/commute/service/impl/CommuteServiceImpl.java b/src/main/java/com/itn/admin/itn/commute/service/impl/CommuteServiceImpl.java index ba540a9..1098160 100644 --- a/src/main/java/com/itn/admin/itn/commute/service/impl/CommuteServiceImpl.java +++ b/src/main/java/com/itn/admin/itn/commute/service/impl/CommuteServiceImpl.java @@ -9,6 +9,7 @@ import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.time.DayOfWeek; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; @@ -36,6 +37,12 @@ public class CommuteServiceImpl implements CommuteService { // 현재 날짜 구하기 LocalDate now = LocalDate.now().minusDays(1); + // 만약 전날이 토요일(7) 또는 일요일(1)이면 금요일로 설정 + if (now.getDayOfWeek() == DayOfWeek.SATURDAY) { + now = now.minusDays(1); // 토요일이면 금요일로 + } else if (now.getDayOfWeek() == DayOfWeek.SUNDAY) { + now = now.minusDays(2); // 일요일이면 금요일로 + } // 년도 구하기 String year = String.valueOf(now.getYear()); @@ -73,10 +80,11 @@ public class CommuteServiceImpl implements CommuteService { } commuteList.stream().forEach(t->{ - System.out.println(t.getFirstActivityTime()); + // 지각 체크 t.setFirstActivityTimeMemo(this.getLateChk(t.getFirstActivityTime())); + // 조기퇴근 체크 t.setLastActivityTimeMemo(this.getLeaveWorkEarly(t.getLastActivityTime())); @@ -88,6 +96,28 @@ public class CommuteServiceImpl implements CommuteService { } } }); + + // 출근안한사람 체크하기 + for (UserEnum user : UserEnum.values()) { + // commuteList에서 해당 userName을 가진 CommuteVO 객체가 있는지 검사 + boolean found = false; // userName을 가진 객체의 존재 여부 + for (CommuteVO commuteTempVO : commuteList) { + if (commuteTempVO.getUsrid().equals(user.userName())) { + found = true; + break; // 해당 userName을 가진 객체를 찾으면 반복 중단 + } + } + + // 해당 userName을 가진 객체가 리스트에 없으면 새로운 CommuteVO 객체를 추가 + if (!found) { + CommuteVO commuteTempVO = new CommuteVO(); + commuteTempVO.setUsrid(user.userName()); // UserEnum에서 가져온 userName 설정 + commuteTempVO.setFirstActivityTime("-"); // 기본값 설정 + commuteTempVO.setLastActivityTime("-"); // 기본값 설정 + commuteList.add(commuteTempVO); // 수정된 리스트에 추가 + } + } + // controller에 return Map map = new HashMap();