From 7caaa99ae93fc0319ca6d6716f3245c4dbc4db41 Mon Sep 17 00:00:00 2001 From: hylee Date: Thu, 29 Aug 2024 18:34:46 +0900 Subject: [PATCH] =?UTF-8?q?=EC=A7=81=EC=9B=90=20=EC=9E=84=EC=8B=9C=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80=20=EB=A1=9C=EC=A7=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../commute/mapper/domain/CommuteVO.java | 1 + .../service/impl/CommuteServiceImpl.java | 51 +++++++++++- .../admin/itn/code/server/CodeService.java | 2 +- .../itn/code/server/impl/CodeServiceImpl.java | 3 +- .../itn/code/web/CodeRestController.java | 5 +- .../resources/templates/commute/list.html | 2 - .../resources/templates/itn/code/list.html | 83 ++++++++++++++++++- 7 files changed, 138 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/itn/admin/commute/mapper/domain/CommuteVO.java b/src/main/java/com/itn/admin/commute/mapper/domain/CommuteVO.java index 33bc569..44ea403 100644 --- a/src/main/java/com/itn/admin/commute/mapper/domain/CommuteVO.java +++ b/src/main/java/com/itn/admin/commute/mapper/domain/CommuteVO.java @@ -20,6 +20,7 @@ import java.io.Serializable; @Builder @Getter @Setter +@ToString public class CommuteVO implements Serializable { private static final long serialVersionUID = 1L; diff --git a/src/main/java/com/itn/admin/commute/service/impl/CommuteServiceImpl.java b/src/main/java/com/itn/admin/commute/service/impl/CommuteServiceImpl.java index 3c63dc8..b9fad39 100644 --- a/src/main/java/com/itn/admin/commute/service/impl/CommuteServiceImpl.java +++ b/src/main/java/com/itn/admin/commute/service/impl/CommuteServiceImpl.java @@ -16,6 +16,7 @@ import java.time.LocalDateTime; import java.time.LocalTime; import java.time.format.DateTimeFormatter; import java.util.*; +import java.util.concurrent.ThreadLocalRandom; @Slf4j @@ -84,6 +85,7 @@ public class CommuteServiceImpl implements CommuteService { commuteList.stream().forEach(t->{ + // 지각 체크 t.setFirstActivityTimeMemo(this.getLateChk(t.getFirstActivityTime())); // 조기퇴근 체크 @@ -101,8 +103,10 @@ public class CommuteServiceImpl implements CommuteService { } }); - - + commuteList.forEach(t-> { + t.setFirstActivityTime(t.getFirstActivityTime().split(" ")[1]); + t.setLastActivityTime(t.getLastActivityTime().split(" ")[1]); + }); // 출근안한사람 체크하기 for (UserEnum user : UserEnum.values()) { @@ -126,11 +130,35 @@ public class CommuteServiceImpl implements CommuteService { } } + commuteList.forEach(commute -> System.out.println(commute.toString())); commuteList.removeIf(t -> "유인식".equals(t.getUsrid()) || "itn6".equals(t.getUsrid()) ); + +/* + 출근 09시20분~30분 출근 09시00분~15분 + 퇴근 13시30분~45분 퇴근 13시30분~45분 + 박승미 대리 이명환 주임 +*/ + + CommuteVO commuteVO1= new CommuteVO(); + commuteVO1.setFirstActivityTime(getRandomTime("09:20:01", "09:29:59")); + commuteVO1.setLastActivityTime(getRandomTime("13:30:00", "13:45:00")); + commuteVO1.setUsrid("박승미"); + commuteVO1.setPstn("대리"); + + CommuteVO commuteVO2= new CommuteVO(); + commuteVO2.setFirstActivityTime(getRandomTime("09:00:01", "09:14:59")); + commuteVO2.setLastActivityTime(getRandomTime("13:30:00", "13:45:00")); + commuteVO2.setUsrid("이명환"); + commuteVO2.setPstn("주임"); + + commuteList.add(commuteVO1); + commuteList.add(commuteVO2); + + // controller에 return Map map = new HashMap(); @@ -139,6 +167,25 @@ public class CommuteServiceImpl implements CommuteService { return map; } + public static String getRandomTime(String start, String end) { + // 문자열을 LocalTime으로 변환 + LocalTime startTime = LocalTime.parse(start, DateTimeFormatter.ofPattern("HH:mm:ss")); + LocalTime endTime = LocalTime.parse(end, DateTimeFormatter.ofPattern("HH:mm:ss")); + + // 총 초 계산 + long startSeconds = startTime.toSecondOfDay(); + long endSeconds = endTime.toSecondOfDay(); + + // 무작위 초 생성 + long randomSeconds = ThreadLocalRandom.current().nextLong(startSeconds, endSeconds + 1); + + // 무작위 시간 계산 + LocalTime randomTime = LocalTime.ofSecondOfDay(randomSeconds); + + // 시간 형식을 "HH:mm:ss"로 변환 + return randomTime.format(DateTimeFormatter.ofPattern("HH:mm:ss")); + } + private String getLeaveWorkEarly(String p_lastActivityTime) { // DateTimeFormatter를 사용하여 String을 LocalDateTime으로 파싱 DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); diff --git a/src/main/java/com/itn/admin/itn/code/server/CodeService.java b/src/main/java/com/itn/admin/itn/code/server/CodeService.java index 5cb4951..dc46afb 100644 --- a/src/main/java/com/itn/admin/itn/code/server/CodeService.java +++ b/src/main/java/com/itn/admin/itn/code/server/CodeService.java @@ -14,7 +14,7 @@ public interface CodeService { RestResponse addCodeGroup(CodeVO codeGroup); - void updateCodeGroup(CodeVO codeGroup); + RestResponse updateCodeGroup(CodeVO codeGroup); void deleteCodeGroup(String codeGroupId); } diff --git a/src/main/java/com/itn/admin/itn/code/server/impl/CodeServiceImpl.java b/src/main/java/com/itn/admin/itn/code/server/impl/CodeServiceImpl.java index 93d92e1..83bcca3 100644 --- a/src/main/java/com/itn/admin/itn/code/server/impl/CodeServiceImpl.java +++ b/src/main/java/com/itn/admin/itn/code/server/impl/CodeServiceImpl.java @@ -29,8 +29,9 @@ public class CodeServiceImpl implements CodeService { return new RestResponse(HttpStatus.OK, "등록되었습니다.", codeVO.getCodeGroupId()); } - public void updateCodeGroup(CodeVO codeVO) { + public RestResponse updateCodeGroup(CodeVO codeVO) { codeMapper.update(codeVO); + return new RestResponse(HttpStatus.OK, "수정되었습니다.", ""); } public void deleteCodeGroup(String codeGroupId) { diff --git a/src/main/java/com/itn/admin/itn/code/web/CodeRestController.java b/src/main/java/com/itn/admin/itn/code/web/CodeRestController.java index 371ecf6..afaa2ab 100644 --- a/src/main/java/com/itn/admin/itn/code/web/CodeRestController.java +++ b/src/main/java/com/itn/admin/itn/code/web/CodeRestController.java @@ -37,9 +37,10 @@ public class CodeRestController { // 코드 그룹 수정 메서드 @PutMapping("/{codeGroupId}") - public void updateCodeGroup(@PathVariable String codeGroupId, @RequestBody CodeVO codeGroup) { + public ResponseEntity updateCodeGroup(@PathVariable String codeGroupId, @RequestBody CodeVO codeGroup) { codeGroup.setCodeGroupId(codeGroupId); - codeService.updateCodeGroup(codeGroup); + return ResponseEntity.ok().body(codeService.updateCodeGroup(codeGroup)); + } // 코드 그룹 삭제 메서드 diff --git a/src/main/resources/templates/commute/list.html b/src/main/resources/templates/commute/list.html index 499b7f7..adf8b44 100644 --- a/src/main/resources/templates/commute/list.html +++ b/src/main/resources/templates/commute/list.html @@ -186,8 +186,6 @@ , "pageLength": 20 , "buttons": ["copy", { extend: 'csv', charset: 'UTF-8', bom: true } , "excel", "pdf", "print", "colvis"] - // , "buttons": ["copy", { extend: 'csv', charset: 'UTF-8', bom: true } - // , "excel", "pdf", "print", "colvis"] }).buttons().container().appendTo('#commuteTb_wrapper .col-md-6:eq(0)'); }); diff --git a/src/main/resources/templates/itn/code/list.html b/src/main/resources/templates/itn/code/list.html index 85de8ed..50b39b4 100644 --- a/src/main/resources/templates/itn/code/list.html +++ b/src/main/resources/templates/itn/code/list.html @@ -122,6 +122,40 @@ + + +