From d38469999c0b16b82e7530ecb3f0e37cde2acd4f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EC=84=9D=20=EC=B5=9C?= Date: Thu, 27 Oct 2022 15:38:53 +0900 Subject: [PATCH] =?UTF-8?q?=ED=9A=8C=EC=9B=90=EA=B0=80=EC=9E=85=EC=8B=9C?= =?UTF-8?q?=20=EC=9D=B8=EC=82=AC=EC=8B=9C=EC=8A=A4=ED=85=9C=20=EC=97=B0?= =?UTF-8?q?=EB=8F=99=EC=A0=95=EB=B3=B4=20=ED=98=B8=EC=B6=9C=20=EA=B8=B0?= =?UTF-8?q?=EB=8A=A5=20=EC=B6=94=EA=B0=80.=20=ED=9A=8C=EC=9B=90=EA=B0=80?= =?UTF-8?q?=EC=9E=85=20=EC=96=91=EC=8B=9D=20=EB=B3=80=EA=B2=BD=20=EB=93=B1?= =?UTF-8?q?.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/dbnt/faisp/config/BaseController.java | 6 - .../com/dbnt/faisp/kwms/KwmsController.java | 31 +++- .../dbnt/faisp/kwms/service/KwmsService.java | 19 ++- .../faisp/main/userInfo/model/UserInfo.java | 7 + .../repository/UserInfoRepository.java | 5 +- .../userInfo/service/UserInfoService.java | 4 + .../mybatisMapper/UserInfoMapper.xml | 3 +- src/main/resources/static/js/login/login.js | 36 ++-- .../templates/adminPage/userMgt/userMgt.html | 33 +++- .../resources/templates/login/joinForm.html | 161 ++++++++++++++++++ src/main/resources/templates/login/login.html | 114 +------------ 11 files changed, 276 insertions(+), 143 deletions(-) create mode 100644 src/main/resources/templates/login/joinForm.html diff --git a/src/main/java/com/dbnt/faisp/config/BaseController.java b/src/main/java/com/dbnt/faisp/config/BaseController.java index 26dbf3ec..3265b4f3 100644 --- a/src/main/java/com/dbnt/faisp/config/BaseController.java +++ b/src/main/java/com/dbnt/faisp/config/BaseController.java @@ -37,18 +37,12 @@ public class BaseController { @GetMapping("/login") public ModelAndView goLogin() { ModelAndView mav = new ModelAndView("login/login"); - mav.addObject("OgList", codeMgtService.selectCodeMgtList("OG")); - mav.addObject("OfcList", codeMgtService.selectCodeMgtList("OFC")); - mav.addObject("titleList", codeMgtService.selectCodeMgtList("JT")); return mav; } @GetMapping("/login-error") public ModelAndView loginError() { ModelAndView mav = new ModelAndView("login/login"); - mav.addObject("OgList", codeMgtService.selectCodeMgtList("OG")); - mav.addObject("OfcList", codeMgtService.selectCodeMgtList("OFC")); - mav.addObject("titleList", codeMgtService.selectCodeMgtList("JT")); mav.addObject("loginError", true); return mav; } diff --git a/src/main/java/com/dbnt/faisp/kwms/KwmsController.java b/src/main/java/com/dbnt/faisp/kwms/KwmsController.java index a2241236..4255e22f 100644 --- a/src/main/java/com/dbnt/faisp/kwms/KwmsController.java +++ b/src/main/java/com/dbnt/faisp/kwms/KwmsController.java @@ -2,20 +2,47 @@ package com.dbnt.faisp.kwms; import com.dbnt.faisp.kwms.model.VEmployee; import com.dbnt.faisp.kwms.service.KwmsService; +import com.dbnt.faisp.main.codeMgt.service.CodeMgtService; import com.dbnt.faisp.main.userInfo.model.UserInfo; +import com.dbnt.faisp.main.userInfo.service.UserInfoService; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.servlet.ModelAndView; @RestController @RequiredArgsConstructor @RequestMapping("/kwms") public class KwmsController { private final KwmsService kwmsService; + private final UserInfoService userInfoService; + private final CodeMgtService codeMgtService; @GetMapping("/getEmpInfo") - public UserInfo getEmpInfo(VEmployee empInfo){ - return kwmsService.selectEmpInfo(empInfo.getDicCode()); + public ModelAndView getEmpInfo(VEmployee empInfo) throws Exception { + ModelAndView mav = new ModelAndView("login/joinForm"); + if(userInfoService.selectUserInfoToDicCode(empInfo.getDicCode()) == null){ + UserInfo userInfo = kwmsService.selectEmpInfo(empInfo.getDicCode()); + if(userInfo==null){ + mav.addObject("joinFlag", "F"); + mav.addObject("userInfo", empInfo); + mav.addObject("msg", "검색 결과가 없습니다."); + }else{ + mav.addObject("joinFlag", "T"); + mav.addObject("userInfo", userInfo); + mav.addObject("ogList", codeMgtService.selectCodeMgtList("OG")); + mav.addObject("ofcList", codeMgtService.selectCodeMgtList("OFC")); + mav.addObject("titleList", codeMgtService.selectCodeMgtList("JT")); + mav.addObject("outturnList", codeMgtService.selectCodeMgtList("OTC")); + mav.addObject("seriesList", codeMgtService.selectCodeMgtList("SRC")); + mav.addObject("languageList", codeMgtService.selectCodeMgtList("LNG")); + } + }else{ + mav.addObject("joinFlag", "F"); + mav.addObject("userInfo", empInfo); + mav.addObject("msg", "이미 가입된 식별번호입니다."); + } + return mav; } } diff --git a/src/main/java/com/dbnt/faisp/kwms/service/KwmsService.java b/src/main/java/com/dbnt/faisp/kwms/service/KwmsService.java index df0ac800..b05476bf 100644 --- a/src/main/java/com/dbnt/faisp/kwms/service/KwmsService.java +++ b/src/main/java/com/dbnt/faisp/kwms/service/KwmsService.java @@ -2,13 +2,14 @@ package com.dbnt.faisp.kwms.service; import com.dbnt.faisp.kwms.model.VEmployee; import com.dbnt.faisp.kwms.repository.VEmployeeRepository; -import com.dbnt.faisp.main.codeMgt.model.CodeMgt; import com.dbnt.faisp.main.codeMgt.service.CodeMgtService; import com.dbnt.faisp.main.userInfo.model.UserInfo; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; -import java.util.List; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; + @Service @RequiredArgsConstructor @@ -16,9 +17,13 @@ public class KwmsService { private final VEmployeeRepository vEmployeeRepository; private final CodeMgtService codeMgtService; - public UserInfo selectEmpInfo(String dicCode) { + public UserInfo selectEmpInfo(String dicCode){ VEmployee empInfo = vEmployeeRepository.findByDicCode(dicCode).orElse(null); - return convertVEmployeeToUserInfo(empInfo); + if(empInfo==null){ + return null; + }else{ + return convertVEmployeeToUserInfo(empInfo); + } } private UserInfo convertVEmployeeToUserInfo(VEmployee empInfo){ @@ -35,6 +40,12 @@ public class KwmsService { userInfo.setOutturnCd(codeMgtService.searchCode("OTC", empInfo.getGyunggwa())); userInfo.setSeriesCd(codeMgtService.searchCode("SRC", empInfo.getJikbyul())); + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd"); + empInfo.setBirthDate( + (Integer.parseInt(empInfo.getBirthDate().substring(0,2))>60?"19":"20")+empInfo.getBirthDate()); + userInfo.setBirthDate(LocalDate.parse(empInfo.getBirthDate(), formatter)); + userInfo.setPoliceInDate(LocalDate.parse(empInfo.getPoliceBmngIl(), formatter)); + userInfo.setTitleInDate(LocalDate.parse(empInfo.getHnJikgeupImyngil(), formatter)); return userInfo; } } diff --git a/src/main/java/com/dbnt/faisp/main/userInfo/model/UserInfo.java b/src/main/java/com/dbnt/faisp/main/userInfo/model/UserInfo.java index 16eb68f7..22747808 100644 --- a/src/main/java/com/dbnt/faisp/main/userInfo/model/UserInfo.java +++ b/src/main/java/com/dbnt/faisp/main/userInfo/model/UserInfo.java @@ -8,6 +8,7 @@ import lombok.NoArgsConstructor; import lombok.Setter; import org.hibernate.annotations.DynamicInsert; import org.hibernate.annotations.DynamicUpdate; +import org.springframework.format.annotation.DateTimeFormat; import org.springframework.security.core.GrantedAuthority; import org.springframework.security.core.authority.SimpleGrantedAuthority; import org.springframework.security.core.userdetails.UserDetails; @@ -41,6 +42,7 @@ public class UserInfo extends BaseModel implements UserDetails{ @Column(name = "user_nm") private String userNm; @Column(name = "birth_date") + @DateTimeFormat(pattern = "yyyy-MM-dd") private LocalDate birthDate; @Column(name = "sex") private String sex; @@ -65,6 +67,7 @@ public class UserInfo extends BaseModel implements UserDetails{ @Column(name = "title_cd") private String titleCd; @Column(name = "wrt_dt") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm") private LocalDateTime wrtDt; @Column(name = "group_cd") private String groupCd; @@ -85,12 +88,16 @@ public class UserInfo extends BaseModel implements UserDetails{ @Column(name = "language_cd") private String languageCd; @Column(name = "police_in_date") + @DateTimeFormat(pattern = "yyyy-MM-dd") private LocalDate policeInDate; @Column(name = "organ_in_date") + @DateTimeFormat(pattern = "yyyy-MM-dd") private LocalDate organInDate; @Column(name = "ofc_in_date") + @DateTimeFormat(pattern = "yyyy-MM-dd") private LocalDate ofcInDate; @Column(name = "title_in_date") + @DateTimeFormat(pattern = "yyyy-MM-dd") private LocalDate titleInDate; @Transient diff --git a/src/main/java/com/dbnt/faisp/main/userInfo/repository/UserInfoRepository.java b/src/main/java/com/dbnt/faisp/main/userInfo/repository/UserInfoRepository.java index 1db0cf85..568444c1 100644 --- a/src/main/java/com/dbnt/faisp/main/userInfo/repository/UserInfoRepository.java +++ b/src/main/java/com/dbnt/faisp/main/userInfo/repository/UserInfoRepository.java @@ -7,8 +7,9 @@ import java.util.Optional; public interface UserInfoRepository extends JpaRepository { - Optional findByUserId(String userId); + Optional findByUserId(String userId); - Optional findByUserSeq(Integer userSeq); + Optional findByUserSeq(Integer userSeq); + Optional findByDicCode(String dicCode); } diff --git a/src/main/java/com/dbnt/faisp/main/userInfo/service/UserInfoService.java b/src/main/java/com/dbnt/faisp/main/userInfo/service/UserInfoService.java index a1c3138c..93b63569 100644 --- a/src/main/java/com/dbnt/faisp/main/userInfo/service/UserInfoService.java +++ b/src/main/java/com/dbnt/faisp/main/userInfo/service/UserInfoService.java @@ -77,6 +77,10 @@ public class UserInfoService implements UserDetailsService { return userInfoRepository.findByUserSeq(userSeq).orElse(null); } + public UserInfo selectUserInfoToDicCode(String dicCode){ + return userInfoRepository.findByDicCode(dicCode).orElse(null); + } + @Transactional public int updateUserApproval(List userInfo) { int cnt = 0; diff --git a/src/main/resources/mybatisMapper/UserInfoMapper.xml b/src/main/resources/mybatisMapper/UserInfoMapper.xml index 7e73ecb2..fd6ad0d2 100644 --- a/src/main/resources/mybatisMapper/UserInfoMapper.xml +++ b/src/main/resources/mybatisMapper/UserInfoMapper.xml @@ -36,10 +36,11 @@ email, og_cd, ofc_cd, + title_cd, wrt_dt from user_info - order by og_cd, ofc_cd desc + order by og_cd, ofc_cd, title_cd desc limit #{rowCnt} offset #{firstIndex} diff --git a/src/main/resources/static/js/login/login.js b/src/main/resources/static/js/login/login.js index 42e0824f..c0228522 100644 --- a/src/main/resources/static/js/login/login.js +++ b/src/main/resources/static/js/login/login.js @@ -1,17 +1,20 @@ -$(document).on('change', '#dicCode', function (){ - if(this.value!==''){ +$(document).on('click', '#dicCodeSearchBtn', function (){ + const dicCode = $("#dicCode").val(); + if(dicCode!==''){ $.ajax({ url: '/kwms/getEmpInfo', - data: {dicCode: this.value}, + data: {dicCode: dicCode}, type: 'GET', - dataType:"json", - success: function(data){ - debugger + dataType:"html", + success: function(html){ + $("#userInsertModalContent").empty().append(html) }, - error:function(){ - + error:function(e){ + debugger } }); + }else{ + alert("공무원식별번호를 입력해주세요.") } }) @@ -51,8 +54,9 @@ function valueCheck(){ const password = targetForm.find("#modalPassword"); const passwordConfirm = targetForm.find("#passwordConfirm"); const userNm = targetForm.find("#userNm").val(); + const phoneNo = targetForm.find("#phoneNo").val(); + const email = targetForm.find("#email").val(); const ogCd = targetForm.find("#ogCd").val(); - const ofcCd = targetForm.find("#ofcCd").val(); const titleCd = targetForm.find("#titleCd").val(); let returnFlag = true; @@ -75,7 +79,15 @@ function valueCheck(){ returnFlag = false; } if(!userNm){ - alert("이름 입력해주세요."); + alert("이름을 입력해주세요."); + returnFlag = false; + } + if(!phoneNo){ + alert("휴대전화를 입력해주세요."); + returnFlag = false; + } + if(!email){ + alert("이메일을 입력해주세요."); returnFlag = false; } if(returnFlag){ @@ -96,10 +108,6 @@ function valueCheck(){ alert("관서를 선택해주세요."); returnFlag = false; } - if(!ofcCd){ - alert("부서를 선택해주세요."); - returnFlag = false; - } if(!titleCd){ alert("계급을 선택해주세요."); returnFlag = false; diff --git a/src/main/resources/templates/adminPage/userMgt/userMgt.html b/src/main/resources/templates/adminPage/userMgt/userMgt.html index 755b496a..a62a5623 100644 --- a/src/main/resources/templates/adminPage/userMgt/userMgt.html +++ b/src/main/resources/templates/adminPage/userMgt/userMgt.html @@ -96,17 +96,36 @@ - - - + + + + + + + + - - - + + + + + + + + + + + + + + + + + + - diff --git a/src/main/resources/templates/login/joinForm.html b/src/main/resources/templates/login/joinForm.html new file mode 100644 index 00000000..e7489464 --- /dev/null +++ b/src/main/resources/templates/login/joinForm.html @@ -0,0 +1,161 @@ + + + + \ No newline at end of file diff --git a/src/main/resources/templates/login/login.html b/src/main/resources/templates/login/login.html index f35f17bc..25eadd42 100644 --- a/src/main/resources/templates/login/login.html +++ b/src/main/resources/templates/login/login.html @@ -52,119 +52,19 @@