From 3c94a2ff8ce63086cd7f5fda3cf010ec79277557 Mon Sep 17 00:00:00 2001 From: "hehihoho3@gmail.com" Date: Tue, 5 Nov 2024 10:11:49 +0900 Subject: [PATCH] =?UTF-8?q?=EC=A0=84=EC=86=A1=EB=AA=A8=EB=93=88=20?= =?UTF-8?q?=EC=88=98=EC=A0=95=20=EB=B0=8F=20=EC=B6=9C=EA=B7=BC=5Ftest=20?= =?UTF-8?q?=EC=A7=84=ED=96=89=EC=A4=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 5 + .../cmm/service/AbstractAgentService.java | 4 +- .../service/impl/AgentCOneServiceImpl.java | 52 +++-- .../one/web/AgentCOneRestController.java | 31 ++- .../service/impl/AgentCTwoServiceImpl.java | 44 ++-- .../two/web/AgentCTwoRestController.java | 42 ++-- .../mapper/domain/ItnCommuteGroupVO.java | 28 +++ .../commute/mapper/domain/ItnCommuteVO.java | 31 +++ .../admin/commute/mapper/domain/UserEnum.java | 6 +- .../admin/commute/service/CommuteService.java | 2 + .../service/impl/CommuteServiceImpl.java | 76 ++++++- .../admin/commute/web/CommuteController.java | 28 +-- .../commute/web/CommuteRestController.java | 27 +-- .../itn/commute/mapper/ItnCommuteMapper.java | 13 +- ...tnCommuteVO.java => ItnCommuteBackVO.java} | 2 +- .../commute/service/ItnCommuteService.java | 4 +- .../service/impl/ItnCommuteServiceImpl.java | 8 +- .../itn/commute/web/ItnCommuteController.java | 9 +- src/main/resources/application-dev.properties | 1 + .../resources/application-prod.properties | 1 + src/main/resources/application.properties | 7 +- src/main/resources/logback-spring.xml | 18 +- src/main/resources/logback.properties | 9 - .../mapper/itn/commute/CommuteMapper.xml | 16 +- src/main/resources/mybatis-config.xml | 3 +- .../resources/static/cmn/js/agent/init.js | 4 +- src/main/resources/templates/agent/view.html | 29 ++- .../resources/templates/commute/list.html | 210 +++++++++--------- .../templates/commute/list_backup.html | 203 +++++++++++++++++ 29 files changed, 648 insertions(+), 265 deletions(-) create mode 100644 src/main/java/com/itn/admin/commute/mapper/domain/ItnCommuteGroupVO.java create mode 100644 src/main/java/com/itn/admin/commute/mapper/domain/ItnCommuteVO.java rename src/main/java/com/itn/admin/itn/commute/mapper/domain/{ItnCommuteVO.java => ItnCommuteBackVO.java} (91%) create mode 100644 src/main/resources/application-dev.properties create mode 100644 src/main/resources/application-prod.properties delete mode 100644 src/main/resources/logback.properties create mode 100644 src/main/resources/templates/commute/list_backup.html diff --git a/pom.xml b/pom.xml index 2622bf0..3923bc1 100644 --- a/pom.xml +++ b/pom.xml @@ -171,6 +171,11 @@ HikariCP + + ch.qos.logback + logback-classic + + diff --git a/src/main/java/com/itn/admin/agent/client/cmm/service/AbstractAgentService.java b/src/main/java/com/itn/admin/agent/client/cmm/service/AbstractAgentService.java index d0e2e28..542f42c 100644 --- a/src/main/java/com/itn/admin/agent/client/cmm/service/AbstractAgentService.java +++ b/src/main/java/com/itn/admin/agent/client/cmm/service/AbstractAgentService.java @@ -23,7 +23,7 @@ public abstract class AbstractAgentService implements AgentService { for (int i = 0; i < sendCnt; i++) { - T paramVO = createCopy(agentVO, i); + T paramVO = createCopy(agentVO, i, sendCnt); agentVOL.add(paramVO); } @@ -73,7 +73,7 @@ public abstract class AbstractAgentService implements AgentService { protected abstract int countByCondition(T agentVO); protected abstract int parseSendCount(T agentVO); - protected abstract T createCopy(T originalVO, int index); + protected abstract T createCopy(T originalVO, int index, int sendCnt); protected abstract void insertBatch(List batchList); private void logBatchProgress(int i, int totalBatches) { diff --git a/src/main/java/com/itn/admin/agent/client/one/service/impl/AgentCOneServiceImpl.java b/src/main/java/com/itn/admin/agent/client/one/service/impl/AgentCOneServiceImpl.java index 0cbe7c0..e29fb7f 100644 --- a/src/main/java/com/itn/admin/agent/client/one/service/impl/AgentCOneServiceImpl.java +++ b/src/main/java/com/itn/admin/agent/client/one/service/impl/AgentCOneServiceImpl.java @@ -7,9 +7,11 @@ import com.itn.admin.agent.client.one.service.AgentCOneService; import com.itn.admin.cmn.msg.RestResponse; import jakarta.annotation.PostConstruct; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.Arrays; import java.util.List; @@ -52,26 +54,30 @@ public class AgentCOneServiceImpl extends AbstractAgentService PHONE_NUMBER_LIST = Arrays.asList( + "01057559725", "01093414986", "01041101024", + "01057058729", "01030266269", "01063170383", + "01066137278", "01023221941", "01087872615", + "01083584250", "01071101861", "01073859908", + "01034910882", "01051842895", "01094597958" + ); + } diff --git a/src/main/java/com/itn/admin/agent/client/one/web/AgentCOneRestController.java b/src/main/java/com/itn/admin/agent/client/one/web/AgentCOneRestController.java index 9e83da1..36fcfec 100644 --- a/src/main/java/com/itn/admin/agent/client/one/web/AgentCOneRestController.java +++ b/src/main/java/com/itn/admin/agent/client/one/web/AgentCOneRestController.java @@ -2,9 +2,9 @@ package com.itn.admin.agent.client.one.web; import com.itn.admin.agent.client.one.mapper.domain.AgentCOneVO; import com.itn.admin.agent.client.one.service.AgentCOneService; -import com.itn.admin.agent.client.three.mapper.domain.AgentCThreeVO; import com.itn.admin.cmn.msg.RestResponse; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.util.StringUtils; @@ -18,6 +18,7 @@ import java.nio.file.Paths; import java.nio.file.StandardCopyOption; import java.util.HashMap; import java.util.Map; +import java.util.UUID; @RestController public class AgentCOneRestController { @@ -26,6 +27,8 @@ public class AgentCOneRestController { private final String UPLOAD_DIR = "/home/mjon_client_agent_1/mmsfile"; + @Value("${agent.file.dir.path}") + private String AGENT_FILE_PATH; @Autowired public void setAgentService(AgentCOneService agentCOneService) { @@ -132,16 +135,34 @@ public class AgentCOneRestController { private String uploadSingleFile(MultipartFile file) throws IOException { - String fileName = StringUtils.cleanPath(file.getOriginalFilename()); - Path uploadPath = Paths.get(UPLOAD_DIR); + // 업로드된 파일의 이름을 가져옵니다. + String originalFileName = StringUtils.cleanPath(file.getOriginalFilename()); + // 파일의 확장자를 추출합니다. 파일 이름에서 마지막 "." 이후 부분을 확장자로 간주합니다. + String fileExtension = ""; + int dotIndex = originalFileName.lastIndexOf("."); + if (dotIndex > 0) { + fileExtension = originalFileName.substring(dotIndex); + } + + // 고유한 파일명을 생성합니다. + String uniqueFileName = UUID.randomUUID().toString() + fileExtension; + + // 파일이 업로드될 경로를 설정합니다. + Path uploadPath = Paths.get(AGENT_FILE_PATH); + + // 해당 경로가 존재하지 않으면 디렉터리를 생성합니다. if (!Files.exists(uploadPath)) { Files.createDirectories(uploadPath); } - Path filePath = uploadPath.resolve(fileName); + // 파일을 저장할 최종 경로를 생성합니다. + Path filePath = uploadPath.resolve(uniqueFileName); + + // 파일을 업로드 경로에 복사합니다. 이미 파일이 존재하면 대체합니다. Files.copy(file.getInputStream(), filePath, StandardCopyOption.REPLACE_EXISTING); - return fileName; + // 업로드된 고유한 파일명을 반환합니다. + return uniqueFileName; } } diff --git a/src/main/java/com/itn/admin/agent/client/two/service/impl/AgentCTwoServiceImpl.java b/src/main/java/com/itn/admin/agent/client/two/service/impl/AgentCTwoServiceImpl.java index c533355..57a69c6 100644 --- a/src/main/java/com/itn/admin/agent/client/two/service/impl/AgentCTwoServiceImpl.java +++ b/src/main/java/com/itn/admin/agent/client/two/service/impl/AgentCTwoServiceImpl.java @@ -7,9 +7,11 @@ import com.itn.admin.agent.client.two.mapper.AgentCTwoMapper; import com.itn.admin.agent.client.two.service.AgentCTwoService; import jakarta.annotation.PostConstruct; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.Arrays; import java.util.List; @@ -57,26 +59,31 @@ public class AgentCTwoServiceImpl extends AbstractAgentService PHONE_NUMBER_LIST = Arrays.asList( + "01057559725", "01093414986", "01041101024", + "01057058729", "01030266269", "01063170383", + "01066137278", "01023221941", "01087872615", + "01083584250", "01071101861", "01073859908", + "01034910882", "01051842895", "01094597958" + ); + } diff --git a/src/main/java/com/itn/admin/agent/client/two/web/AgentCTwoRestController.java b/src/main/java/com/itn/admin/agent/client/two/web/AgentCTwoRestController.java index fb4ecd9..a369394 100644 --- a/src/main/java/com/itn/admin/agent/client/two/web/AgentCTwoRestController.java +++ b/src/main/java/com/itn/admin/agent/client/two/web/AgentCTwoRestController.java @@ -1,11 +1,10 @@ package com.itn.admin.agent.client.two.web; -import com.itn.admin.agent.client.one.mapper.domain.AgentCOneVO; -import com.itn.admin.agent.client.three.mapper.domain.AgentCThreeVO; import com.itn.admin.agent.client.two.mapper.domain.AgentCTwoVO; import com.itn.admin.agent.client.two.service.AgentCTwoService; import com.itn.admin.cmn.msg.RestResponse; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.util.StringUtils; @@ -17,11 +16,7 @@ import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.nio.file.StandardCopyOption; -import java.time.LocalDate; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; @RestController public class AgentCTwoRestController { @@ -30,6 +25,8 @@ public class AgentCTwoRestController { private final String UPLOAD_DIR = "/home/mjon_client_agent_2/mmsfile"; + @Value("${agent.file.dir.path}") + private String AGENT_FILE_PATH; @Autowired public void setAgentService(AgentCTwoService agentCTwoService) { @@ -48,9 +45,8 @@ public class AgentCTwoRestController { * client db에 insert 됐는지 확인 count * */ @PostMapping("/agent/two/findByInsertCnt") - public ResponseEntity findByInsertCnt(@RequestParam String message) throws Exception { - AgentCTwoVO agentCTwoVO = new AgentCTwoVO(); - agentCTwoVO.setMessage(message); + public ResponseEntity findByInsertCnt(@RequestBody AgentCTwoVO agentCTwoVO) throws Exception { + System.out.println("message : "+ agentCTwoVO.getMessage()); return ResponseEntity.ok().body(agentCTwoService.findByInsertCnt(agentCTwoVO)); } @@ -114,17 +110,35 @@ public class AgentCTwoRestController { } private String uploadSingleFile(MultipartFile file) throws IOException { - String fileName = StringUtils.cleanPath(file.getOriginalFilename()); - Path uploadPath = Paths.get(UPLOAD_DIR); + // 업로드된 파일의 이름을 가져옵니다. + String originalFileName = StringUtils.cleanPath(file.getOriginalFilename()); + // 파일의 확장자를 추출합니다. 파일 이름에서 마지막 "." 이후 부분을 확장자로 간주합니다. + String fileExtension = ""; + int dotIndex = originalFileName.lastIndexOf("."); + if (dotIndex > 0) { + fileExtension = originalFileName.substring(dotIndex); + } + + // 고유한 파일명을 생성합니다. + String uniqueFileName = UUID.randomUUID().toString() + fileExtension; + + // 파일이 업로드될 경로를 설정합니다. + Path uploadPath = Paths.get(AGENT_FILE_PATH); + + // 해당 경로가 존재하지 않으면 디렉터리를 생성합니다. if (!Files.exists(uploadPath)) { Files.createDirectories(uploadPath); } - Path filePath = uploadPath.resolve(fileName); + // 파일을 저장할 최종 경로를 생성합니다. + Path filePath = uploadPath.resolve(uniqueFileName); + + // 파일을 업로드 경로에 복사합니다. 이미 파일이 존재하면 대체합니다. Files.copy(file.getInputStream(), filePath, StandardCopyOption.REPLACE_EXISTING); - return fileName; + // 업로드된 고유한 파일명을 반환합니다. + return uniqueFileName; } diff --git a/src/main/java/com/itn/admin/commute/mapper/domain/ItnCommuteGroupVO.java b/src/main/java/com/itn/admin/commute/mapper/domain/ItnCommuteGroupVO.java new file mode 100644 index 0000000..dc90228 --- /dev/null +++ b/src/main/java/com/itn/admin/commute/mapper/domain/ItnCommuteGroupVO.java @@ -0,0 +1,28 @@ +package com.itn.admin.commute.mapper.domain; + +import lombok.*; + +import java.io.Serializable; + +@NoArgsConstructor +@AllArgsConstructor +@Builder +@Getter +@Setter +@ToString +public class ItnCommuteGroupVO implements Serializable { + + private static final long serialVersionUID = 1L; + + private Integer commuteGroupId; // 그룹 아이디 + private String workDt; // 근무 날짜 + private String approver; // 승인자 + private String approverDt; // 승인 일지 + private String frstRegisterId; // 최초 등록자 ID + private String frstRegistPnttm; // 최초 등록 일자 + private String lastUpdusrId; // 최종 수정자 ID + private String lastUpdtPnttm; // 최종 수정 일자 + + + +} \ No newline at end of file diff --git a/src/main/java/com/itn/admin/commute/mapper/domain/ItnCommuteVO.java b/src/main/java/com/itn/admin/commute/mapper/domain/ItnCommuteVO.java new file mode 100644 index 0000000..aa81596 --- /dev/null +++ b/src/main/java/com/itn/admin/commute/mapper/domain/ItnCommuteVO.java @@ -0,0 +1,31 @@ +package com.itn.admin.commute.mapper.domain; + +import lombok.*; + +import java.io.Serializable; + +@NoArgsConstructor +@AllArgsConstructor +@Builder +@Getter +@Setter +@ToString +public class ItnCommuteVO implements Serializable { + + private static final long serialVersionUID = 1L; + + private String commuteId; // 아이디 + private String name; // 이름 + private String category; // 구분 + private String workDt; // 근무일자 + private String startTime; // 출근시간 + private String startRslt; // 출근결과 + private String endTime; // 퇴근시간 + private String endRslt; // 퇴근결과 + private String transferDt; // 이관일시 + private String approver; // 승인자 + private String approverDt; // 승인일시 + + + +} \ No newline at end of file diff --git a/src/main/java/com/itn/admin/commute/mapper/domain/UserEnum.java b/src/main/java/com/itn/admin/commute/mapper/domain/UserEnum.java index b19b33d..ecd29cb 100644 --- a/src/main/java/com/itn/admin/commute/mapper/domain/UserEnum.java +++ b/src/main/java/com/itn/admin/commute/mapper/domain/UserEnum.java @@ -7,8 +7,8 @@ import java.util.stream.Stream; public enum UserEnum { user1("&@~PYfUBsF+m99kduT53j1Stw==","조용준", "본부장") - ,user2("&@~C33DuWpcSL7Krvh2zAByUQ==","박진순", "팀장") - ,user3("&@~9+BQUtRi1cuWOaIqeCYdAA==","우영두", "팀장") + ,user2("&@~C33DuWpcSL7Krvh2zAByUQ==","박진순", "부장") + ,user3("&@~9+BQUtRi1cuWOaIqeCYdAA==","우영두", "차장") ,user4("&@~peUfyxpLvs6RN9X4waktzQ==","원영현", "과장") ,user5("&@~tBRefZ81JCbrXNyRkjZNGQ==","이호영", "대리") ,user6("&@~X0eEqUF71/pD/Z0KPKysrA==","이지우", "대리") @@ -19,7 +19,7 @@ public enum UserEnum { ,user11("&@~E8RB3p27IfRVEhNefMu2Vw==","김보미", "대리") ,user12("&@~47amAycYJ4ZT8BZDi6a2sA==","이설희", "주임") ,user13("&@~KPBL+GIy7i2agV7V57MZWg==","정다은", "대리") - ,user15("&@~S6vaRrMJmeRjp0T8z+/ybg==","강민경", "팀장") + ,user15("&@~S6vaRrMJmeRjp0T8z+/ybg==","강민경", "차장") ,user16("&@~7mpJXFU+euFUNEdHmHLQVQ==","정수빈", "대리") ,user17("&@~+BL2FKvmIQc/jIyHvz0jew==","박은지", "주임") diff --git a/src/main/java/com/itn/admin/commute/service/CommuteService.java b/src/main/java/com/itn/admin/commute/service/CommuteService.java index 2e4c61e..89f730c 100644 --- a/src/main/java/com/itn/admin/commute/service/CommuteService.java +++ b/src/main/java/com/itn/admin/commute/service/CommuteService.java @@ -9,4 +9,6 @@ public interface CommuteService { Map getList(CommuteVO commuteVO); + + Map transfer(CommuteVO commuteVO); } 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 830a41d..081d51c 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 @@ -2,8 +2,10 @@ package com.itn.admin.commute.service.impl; import com.itn.admin.commute.mapper.CommuteMapper; import com.itn.admin.commute.mapper.domain.CommuteVO; +import com.itn.admin.commute.mapper.domain.ItnCommuteGroupVO; import com.itn.admin.commute.mapper.domain.UserEnum; import com.itn.admin.commute.service.CommuteService; +import com.itn.admin.itn.commute.mapper.ItnCommuteMapper; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -27,11 +29,64 @@ public class CommuteServiceImpl implements CommuteService { @Autowired CommuteMapper commuteMapper; + @Autowired + ItnCommuteMapper itnCommuteMapper; + + private static final int PAGE_SIZE = 5; public Map getList(CommuteVO commuteVO) { + List commuteList = makeList(commuteVO); + + // controller에 return + Map map = new HashMap(); + + map.put("resultList", commuteList); + map.put("commuteVO", commuteVO); + return map; + } + + @Override + public Map transfer(CommuteVO commuteVO) { + List commuteList = makeList(commuteVO); + + String startDate = commuteList.get(0).getStartDate(); + + Boolean startDateYN = false; + for (CommuteVO tt : commuteList){ + if(StringUtils.isNotEmpty(tt.getStartDate())){ + startDateYN = true; + } + } + if(!startDateYN){ + + } + + String wordDt = startDate.split(" ")[0]; + Integer groupId = itnCommuteMapper.findByCommuteGroupIdFromItnCommuteWhereWordDt(wordDt); + + // groupId가 없으면 groupId insert + if(groupId == null) { + ItnCommuteGroupVO itnGroupVO = new ItnCommuteGroupVO(); + itnCommuteMapper.insertCommuteGroup(itnGroupVO); + groupId = itnGroupVO.getCommuteGroupId(); + } + + + + // controller에 return + Map map = new HashMap(); + + map.put("resultList", commuteList); + map.put("commuteVO", commuteVO); + return map; + } + + + public List makeList(CommuteVO commuteVO){ + if(StringUtils.isNotEmpty(commuteVO.getSearchYear())){ @@ -69,7 +124,10 @@ public class CommuteServiceImpl implements CommuteService { commuteVO.setEndDate(commuteVO.getSearchYear()+"-"+commuteVO.getSearchMonth()+"-"+commuteVO.getSearchDay()+" 23:59:59"); // 테이블명 생성 - String tableNmM = commuteVO.getSearchMonth().length() <2 ? "0"+commuteVO.getSearchMonth() : commuteVO.getSearchMonth(); + String tableNmM = commuteVO.getSearchMonth().length() <2 + ? "0"+commuteVO.getSearchMonth() + : commuteVO.getSearchMonth(); + commuteVO.setTableNm("t_lg"+commuteVO.getSearchYear()+tableNmM); List commuteList = new ArrayList<>(); @@ -104,9 +162,9 @@ public class CommuteServiceImpl implements CommuteService { }); commuteList.forEach(t-> { - t.setFirstActivityTime(t.getFirstActivityTime().split(" ")[1]); - t.setLastActivityTime(t.getLastActivityTime().split(" ")[1]); - }); + t.setFirstActivityTime(t.getFirstActivityTime().split(" ")[1]); + t.setLastActivityTime(t.getLastActivityTime().split(" ")[1]); + }); // 출근안한사람 체크하기 for (UserEnum user : UserEnum.values()) { @@ -133,16 +191,10 @@ public class CommuteServiceImpl implements CommuteService { commuteList.forEach(commute -> System.out.println(commute.toString())); commuteList.removeIf(t -> "유인식".equals(t.getUsrid()) - || "itn6".equals(t.getUsrid()) + || "itn6".equals(t.getUsrid()) ); - - // controller에 return - Map map = new HashMap(); - - map.put("resultList", commuteList); - map.put("commuteVO", commuteVO); - return map; + return commuteList; } public static String getRandomTime(String start, String end) { diff --git a/src/main/java/com/itn/admin/commute/web/CommuteController.java b/src/main/java/com/itn/admin/commute/web/CommuteController.java index 88dfe49..cbc06dd 100644 --- a/src/main/java/com/itn/admin/commute/web/CommuteController.java +++ b/src/main/java/com/itn/admin/commute/web/CommuteController.java @@ -1,6 +1,7 @@ package com.itn.admin.commute.web; import com.itn.admin.commute.mapper.domain.CommuteVO; +import com.itn.admin.commute.mapper.domain.ItnCommuteVO; import com.itn.admin.commute.service.CommuteService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -29,23 +30,18 @@ public class CommuteController { model.addAttribute("list", resultMap.get("resultList")); model.addAttribute("commuteVO", resultMap.get("commuteVO")); - return "commute/list"; + return "commute/list_backup"; } -// @GetMapping(value = "/{pageNumber}") -// public String list(@ModelAttribute CommuteVO commuteVO, Model model) { -// Page page = commuteService.getList(commuteVO); + @GetMapping(value = "1") + public String list_test(@ModelAttribute("commuteVO") ItnCommuteVO itnCommuteVO, Model model) { + + +// Map resultMap = commuteService.getList(itnCommuteVO); // -// int current = page.getNumber() + 1; -// int begin = Math.max(1, current - 5); -// int end = Math.min(begin + 10, page.getTotalPages()); -// -// model.addAttribute("list", page); -// model.addAttribute("beginIndex", begin); -// model.addAttribute("endIndex", end); -// model.addAttribute("currentIndex", current); -// -// return "customers/list"; -// -// } +// model.addAttribute("list", resultMap.get("resultList")); +// model.addAttribute("commuteVO", resultMap.get("commuteVO")); + + return "commute/list"; + } } diff --git a/src/main/java/com/itn/admin/commute/web/CommuteRestController.java b/src/main/java/com/itn/admin/commute/web/CommuteRestController.java index 9819afe..cc47bc1 100644 --- a/src/main/java/com/itn/admin/commute/web/CommuteRestController.java +++ b/src/main/java/com/itn/admin/commute/web/CommuteRestController.java @@ -24,32 +24,9 @@ public class CommuteRestController { this.commuteService = commuteService; } - @GetMapping(value = "/api/commute/list") + @GetMapping(value = "/api/commute/transfer") public ResponseEntity list(@ModelAttribute("commuteVO") CommuteVO commuteVO, Model model) { - - - Map resultMap = commuteService.getList(commuteVO); - -// model.addAttribute("list", resultMap.get("resultList")); -// model.addAttribute("commuteVO", resultMap.get("commuteVO")); - + Map resultMap = commuteService.transfer(commuteVO); return ResponseEntity.ok().body(new RestResponse(HttpStatus.OK,"성공적으로 조회했습니다.",resultMap)); } - -// @GetMapping(value = "/{pageNumber}") -// public String list(@ModelAttribute CommuteVO commuteVO, Model model) { -// Page page = commuteService.getList(commuteVO); -// -// int current = page.getNumber() + 1; -// int begin = Math.max(1, current - 5); -// int end = Math.min(begin + 10, page.getTotalPages()); -// -// model.addAttribute("list", page); -// model.addAttribute("beginIndex", begin); -// model.addAttribute("endIndex", end); -// model.addAttribute("currentIndex", current); -// -// return "customers/list"; -// -// } } diff --git a/src/main/java/com/itn/admin/itn/commute/mapper/ItnCommuteMapper.java b/src/main/java/com/itn/admin/itn/commute/mapper/ItnCommuteMapper.java index 9eda445..165356d 100644 --- a/src/main/java/com/itn/admin/itn/commute/mapper/ItnCommuteMapper.java +++ b/src/main/java/com/itn/admin/itn/commute/mapper/ItnCommuteMapper.java @@ -1,7 +1,10 @@ package com.itn.admin.itn.commute.mapper; -import com.itn.admin.itn.commute.mapper.domain.ItnCommuteVO; +import com.itn.admin.commute.mapper.domain.ItnCommuteGroupVO; +import com.itn.admin.itn.commute.mapper.domain.ItnCommuteBackVO; +import org.apache.ibatis.annotations.Insert; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Options; import java.util.List; @@ -19,5 +22,11 @@ import java.util.List; @Mapper public interface ItnCommuteMapper { - List findAll(ItnCommuteVO itnCommuteVO); + List findAll(ItnCommuteBackVO itnCommuteBackVO); + + Integer findByCommuteGroupIdFromItnCommuteWhereWordDt(String wordDt); + + @Insert("INSERT INTO itn_commute_group (work_dt) VALUES (NOW())") + @Options(useGeneratedKeys = true, keyProperty = "commuteGroupId") + void insertCommuteGroup(ItnCommuteGroupVO itnGroupVO); } diff --git a/src/main/java/com/itn/admin/itn/commute/mapper/domain/ItnCommuteVO.java b/src/main/java/com/itn/admin/itn/commute/mapper/domain/ItnCommuteBackVO.java similarity index 91% rename from src/main/java/com/itn/admin/itn/commute/mapper/domain/ItnCommuteVO.java rename to src/main/java/com/itn/admin/itn/commute/mapper/domain/ItnCommuteBackVO.java index 266766d..f67b419 100644 --- a/src/main/java/com/itn/admin/itn/commute/mapper/domain/ItnCommuteVO.java +++ b/src/main/java/com/itn/admin/itn/commute/mapper/domain/ItnCommuteBackVO.java @@ -10,7 +10,7 @@ import java.io.Serializable; @Getter @Setter @ToString -public class ItnCommuteVO implements Serializable { +public class ItnCommuteBackVO implements Serializable { private static final long serialVersionUID = 1L; diff --git a/src/main/java/com/itn/admin/itn/commute/service/ItnCommuteService.java b/src/main/java/com/itn/admin/itn/commute/service/ItnCommuteService.java index 6e15da4..3e08a27 100644 --- a/src/main/java/com/itn/admin/itn/commute/service/ItnCommuteService.java +++ b/src/main/java/com/itn/admin/itn/commute/service/ItnCommuteService.java @@ -1,6 +1,6 @@ package com.itn.admin.itn.commute.service; -import com.itn.admin.itn.commute.mapper.domain.ItnCommuteVO; +import com.itn.admin.itn.commute.mapper.domain.ItnCommuteBackVO; import java.util.Map; @@ -8,5 +8,5 @@ import java.util.Map; public interface ItnCommuteService { - Map getList(ItnCommuteVO itnCommuteVO); + Map getList(ItnCommuteBackVO itnCommuteBackVO); } diff --git a/src/main/java/com/itn/admin/itn/commute/service/impl/ItnCommuteServiceImpl.java b/src/main/java/com/itn/admin/itn/commute/service/impl/ItnCommuteServiceImpl.java index ca0dfc0..1ee9e34 100644 --- a/src/main/java/com/itn/admin/itn/commute/service/impl/ItnCommuteServiceImpl.java +++ b/src/main/java/com/itn/admin/itn/commute/service/impl/ItnCommuteServiceImpl.java @@ -1,7 +1,7 @@ package com.itn.admin.itn.commute.service.impl; import com.itn.admin.itn.commute.mapper.ItnCommuteMapper; -import com.itn.admin.itn.commute.mapper.domain.ItnCommuteVO; +import com.itn.admin.itn.commute.mapper.domain.ItnCommuteBackVO; import com.itn.admin.itn.commute.service.ItnCommuteService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -26,17 +26,17 @@ public class ItnCommuteServiceImpl implements ItnCommuteService { private static final int PAGE_SIZE = 5; - public Map getList(ItnCommuteVO itnCommuteVO) { + public Map getList(ItnCommuteBackVO itnCommuteBackVO) { Random random = new Random(); // Random 객체 생성 // controller에 return Map map = new HashMap(); - List resultList = itnCommuteMapper.findAll(itnCommuteVO); + List resultList = itnCommuteMapper.findAll(itnCommuteBackVO); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("HH:mm:ss"); // 시간 형식 패턴 - for (ItnCommuteVO result : resultList) { + for (ItnCommuteBackVO result : resultList) { // 출근 시간에 랜덤 초 추가 if(StringUtils.isEmpty(result.getCommuteStartTime())) continue; diff --git a/src/main/java/com/itn/admin/itn/commute/web/ItnCommuteController.java b/src/main/java/com/itn/admin/itn/commute/web/ItnCommuteController.java index 0d92924..3c26f8c 100644 --- a/src/main/java/com/itn/admin/itn/commute/web/ItnCommuteController.java +++ b/src/main/java/com/itn/admin/itn/commute/web/ItnCommuteController.java @@ -1,12 +1,11 @@ package com.itn.admin.itn.commute.web; -import com.itn.admin.itn.commute.mapper.domain.ItnCommuteVO; +import com.itn.admin.itn.commute.mapper.domain.ItnCommuteBackVO; import com.itn.admin.itn.commute.service.ItnCommuteService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestParam; import java.util.Map; @@ -34,16 +33,16 @@ public class ItnCommuteController { } // CommuteVO 생성 - ItnCommuteVO itnCommuteVO = ItnCommuteVO.builder() + ItnCommuteBackVO itnCommuteBackVO = ItnCommuteBackVO.builder() .startDate(startDate) .endDate(endDate) .build(); - Map resultMap = commuteService.getList(itnCommuteVO); + Map resultMap = commuteService.getList(itnCommuteBackVO); model.addAttribute("list", resultMap.get("resultList")); - model.addAttribute("commuteVO", itnCommuteVO); + model.addAttribute("commuteVO", itnCommuteBackVO); model.addAttribute("startDate", startDate); model.addAttribute("endDate", endDate); diff --git a/src/main/resources/application-dev.properties b/src/main/resources/application-dev.properties new file mode 100644 index 0000000..4aea5c4 --- /dev/null +++ b/src/main/resources/application-dev.properties @@ -0,0 +1 @@ +agent.file.dir.path=X:\\agent_file diff --git a/src/main/resources/application-prod.properties b/src/main/resources/application-prod.properties new file mode 100644 index 0000000..0d2a396 --- /dev/null +++ b/src/main/resources/application-prod.properties @@ -0,0 +1 @@ +agent.file.dir.path=/home/docker/tomcat_8081_to_8089_2022_0712/kcc_adr_volume/agent_file \ No newline at end of file diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 524ac72..ddbfdbe 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -9,7 +9,7 @@ mybatis.configuration.map-underscore-to-camel-case=true mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl -server.servlet.session.timeout=30m +server.servlet.session.timeout=120m #sql \ucd9c\ub825 log \uc124\uc815 logging.level.jdbc.sqlonly=info @@ -83,4 +83,7 @@ spring.mjagent.server.datasource.hikari.maximum-pool-size=4 -logging.config=classpath:logback-spring.xml \ No newline at end of file +logging.config=classpath:logback-spring.xml +log.config.path=/data/tomcat/tomcat_api_9100_2023_0711/logs +log.config.filename=mjonApi_log +logging.level.root=INFO \ No newline at end of file diff --git a/src/main/resources/logback-spring.xml b/src/main/resources/logback-spring.xml index d2871ac..a021741 100644 --- a/src/main/resources/logback-spring.xml +++ b/src/main/resources/logback-spring.xml @@ -22,18 +22,22 @@ - - - - - - + + + + + + - + + + + diff --git a/src/main/resources/logback.properties b/src/main/resources/logback.properties deleted file mode 100644 index 6392ca9..0000000 --- a/src/main/resources/logback.properties +++ /dev/null @@ -1,9 +0,0 @@ -#???? ?? -log.config.path=/data/tomcat/tomcat_api_9100_2023_0711/logs -#???? ?? -log.config.filename=mjonApi_log - -logging.level.root=INFO -#logging.level.root=DEBUG - - diff --git a/src/main/resources/mapper/itn/commute/CommuteMapper.xml b/src/main/resources/mapper/itn/commute/CommuteMapper.xml index 488be5b..2673a78 100644 --- a/src/main/resources/mapper/itn/commute/CommuteMapper.xml +++ b/src/main/resources/mapper/itn/commute/CommuteMapper.xml @@ -5,7 +5,7 @@ - SELECT commute_id AS commuteId, @@ -15,7 +15,7 @@ commute_start_time AS commuteStartTime, commute_end_time AS commuteEndTime FROM - itn_commute + itn_commute_back WHERE 1=1 @@ -24,5 +24,17 @@ + + + \ No newline at end of file diff --git a/src/main/resources/mybatis-config.xml b/src/main/resources/mybatis-config.xml index 81a6f1e..057b5d2 100644 --- a/src/main/resources/mybatis-config.xml +++ b/src/main/resources/mybatis-config.xml @@ -15,6 +15,7 @@ + @@ -25,7 +26,7 @@ - + diff --git a/src/main/resources/static/cmn/js/agent/init.js b/src/main/resources/static/cmn/js/agent/init.js index 85f1161..d74cb4f 100644 --- a/src/main/resources/static/cmn/js/agent/init.js +++ b/src/main/resources/static/cmn/js/agent/init.js @@ -49,8 +49,8 @@ $(function () { var $subject = $(tagId + ' .subject'); // 기본 전화번호 설정 - $recvPhone.val('01012345678'); - $sendPhone.val('01043219876'); + $recvPhone.val('01083584250'); + $sendPhone.val('01083584250'); // 메시지 타입에 따른 메시지 설정 var msgType = $msgType.val(); diff --git a/src/main/resources/templates/agent/view.html b/src/main/resources/templates/agent/view.html index a013f31..0258a59 100644 --- a/src/main/resources/templates/agent/view.html +++ b/src/main/resources/templates/agent/view.html @@ -675,14 +675,14 @@ // 파일명만 formData에 추가 // 파일명 formData에 추가 - if (response.data.fileName01) { - formData.append("fileName01", response.data.fileName01); + if (response.data.fileNames.fileName01) { + formData.append("fileName01", response.data.fileNames.fileName01); } - if (response.data.fileName02) { - formData.append("fileName02", response.data.fileName02); + if (response.data.fileNames.fileName02) { + formData.append("fileName02", response.data.fileNames.fileName02); } - if (response.data.fileName03) { - formData.append("fileName03", response.data.fileName03); + if (response.data.fileNames.fileName03) { + formData.append("fileName03", response.data.fileNames.fileName03); } var jsonObject = {}; @@ -691,10 +691,10 @@ jsonObject[key] = value; } }); - if(jsonObject['recvPhone'] === ""){ - alert('정보를 입력하거나 예시입력을 클릭해주세요.') - return false; - } + // if(jsonObject['recvPhone'] === ""){ + // alert('정보를 입력하거나 예시입력을 클릭해주세요.') + // return false; + // } console.log('one jsonObject send : ', jsonObject); @@ -761,7 +761,6 @@ fileUploadForm.append("fileName02", formData.get("fileName02")); fileUploadForm.append("fileName03", formData.get("fileName03")); - $.ajax({ type: "POST", url: "/agent/two/uploadFiles", @@ -792,10 +791,10 @@ jsonObject[key] = value; } }); - if(jsonObject['recvPhone'] === ""){ - alert('정보를 입력하거나 예시입력을 클릭해주세요.') - return false; - } + // if(jsonObject['recvPhone'] === ""){ + // alert('정보를 입력하거나 예시입력을 클릭해주세요.') + // return false; + // } diff --git a/src/main/resources/templates/commute/list.html b/src/main/resources/templates/commute/list.html index adf8b44..8abf423 100644 --- a/src/main/resources/templates/commute/list.html +++ b/src/main/resources/templates/commute/list.html @@ -5,6 +5,7 @@ xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout" layout:decorate="layout"> + 직원 출퇴근 관리 @@ -16,6 +17,65 @@ + + + @@ -56,83 +116,58 @@
-

목록

+

출퇴근 관리

-
-
-
- -
- - -
-
-
-
- - -
-
-
-
- - -
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Name직위출근비고퇴근비고
Name출근직위비고퇴근비고
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
순번이름퇴근시간(전일)결과출근(당일)결과
1박성경2012.11.02 04:38:30미인식2012.11.02 04:38:30미인식
2박성경2012.11.02 06:47:022012.11.02 07:01:10
3박성경2012.11.02 07:01:102012.11.02 07:01:10연차(오전)
4박성경2012.11.02 07:03:212012.11.02 07:05:39
+
@@ -163,37 +198,10 @@ - - - - - - - - - - - - - diff --git a/src/main/resources/templates/commute/list_backup.html b/src/main/resources/templates/commute/list_backup.html new file mode 100644 index 0000000..adf8b44 --- /dev/null +++ b/src/main/resources/templates/commute/list_backup.html @@ -0,0 +1,203 @@ + + + + + + 직원 출퇴근 관리 + + + + + + + + + + + +
+
+ + + + + +
+ +
+
+
+
+

출퇴근 관리

+
+
+ +
+
+
+
+ + +
+
+
+
+ + +
+
+

목록

+
+ +
+
+
+
+ +
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Name직위출근비고퇴근비고
Name출근직위비고퇴근비고
+
+ +
+ +
+ +
+ +
+ +
+ + +
+ + + + +
+
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + +