From dfe12296e1e945fe8f566749852277d36043bae1 Mon Sep 17 00:00:00 2001 From: TaehunPark Date: Mon, 5 Sep 2022 13:53:49 +0900 Subject: [PATCH] =?UTF-8?q?feat:=EB=AF=BC=EA=B0=84=20=ED=86=B5=EC=97=AD?= =?UTF-8?q?=EC=9D=B8=20=ED=98=84=ED=99=A9=20=EC=9E=91=EC=97=85=EC=A4=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/TranslatorController.java | 54 ++++ .../faisp/translator/TranslatorService.java | 42 +++ .../translator/mapper/TranslatorMapper.java | 16 + .../faisp/translator/model/Translator.java | 87 +++++ .../repository/TranslatorRepository.java | 13 + .../mybatisMapper/TranslatorMapper.xml | 42 +++ .../static/js/translator/translator.js | 83 +++++ .../templates/translator/translator.html | 301 ++++++++++++++++++ .../translator/translatorEditModal.html | 100 ++++++ 9 files changed, 738 insertions(+) create mode 100644 src/main/java/com/dbnt/faisp/controller/TranslatorController.java create mode 100644 src/main/java/com/dbnt/faisp/translator/TranslatorService.java create mode 100644 src/main/java/com/dbnt/faisp/translator/mapper/TranslatorMapper.java create mode 100644 src/main/java/com/dbnt/faisp/translator/model/Translator.java create mode 100644 src/main/java/com/dbnt/faisp/translator/repository/TranslatorRepository.java create mode 100644 src/main/resources/mybatisMapper/TranslatorMapper.xml create mode 100644 src/main/resources/static/js/translator/translator.js create mode 100644 src/main/resources/templates/translator/translator.html create mode 100644 src/main/resources/templates/translator/translatorEditModal.html diff --git a/src/main/java/com/dbnt/faisp/controller/TranslatorController.java b/src/main/java/com/dbnt/faisp/controller/TranslatorController.java new file mode 100644 index 00000000..19511e33 --- /dev/null +++ b/src/main/java/com/dbnt/faisp/controller/TranslatorController.java @@ -0,0 +1,54 @@ +package com.dbnt.faisp.controller; + +import com.dbnt.faisp.authMgt.AuthMgtService; +import com.dbnt.faisp.codeMgt.CodeMgtService; +import com.dbnt.faisp.menuMgt.MenuMgtService; +import com.dbnt.faisp.menuMgt.model.MenuMgt; +import com.dbnt.faisp.organMgt.OrganConfigService; +import com.dbnt.faisp.translator.TranslatorService; +import com.dbnt.faisp.translator.model.Translator; +import com.dbnt.faisp.userInfo.UserInfoService; +import com.dbnt.faisp.userInfo.model.UserInfo; +import lombok.RequiredArgsConstructor; + +import java.util.List; + +import org.springframework.security.core.annotation.AuthenticationPrincipal; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; + + +@RestController +@RequiredArgsConstructor +@RequestMapping("/translator") +public class TranslatorController { + + private final MenuMgtService menuMgtService; + private final UserInfoService userInfoService; + private final AuthMgtService authMgtService; + private final CodeMgtService codeMgtService; + private final TranslatorService translatorSevice; + private final OrganConfigService organConfigService; + + + @GetMapping("/info") + public ModelAndView translatorInfo(@AuthenticationPrincipal UserInfo loginUser,Translator translator) { + ModelAndView mav = new ModelAndView("translator/translator"); + translator.setOrganCdList(organConfigService.selectOrganListWhereUserOgCd(loginUser.getOgCd())); + System.out.println("@@="+translator.getOrganCdList()); + translator.setQueryInfo(); + mav.addObject("translatorList", translatorSevice.selectTranslatorList(translator)); + translator.setContentCnt(translatorSevice.selectTranslatorListCnt(translator)); + translator.setPaginationInfo(); + mav.addObject("searchParams", translator); + return mav; + } + + @PostMapping("/insertTranslatorInfo") + public String insertTranslatorInfo(@AuthenticationPrincipal UserInfo loginUser,Translator translator) { + translator.setWrtNm(loginUser.getUserId()); + translator.setWrtOrgan(loginUser.getOgCd()); + return translatorSevice.insertTranslatorInfo(translator); + } + +} diff --git a/src/main/java/com/dbnt/faisp/translator/TranslatorService.java b/src/main/java/com/dbnt/faisp/translator/TranslatorService.java new file mode 100644 index 00000000..6b9490bb --- /dev/null +++ b/src/main/java/com/dbnt/faisp/translator/TranslatorService.java @@ -0,0 +1,42 @@ +package com.dbnt.faisp.translator; + +import com.dbnt.faisp.menuMgt.mapper.MenuMgtMapper; +import com.dbnt.faisp.menuMgt.model.MenuMgt; +import com.dbnt.faisp.menuMgt.repository.MenuMgtRepository; +import com.dbnt.faisp.translator.mapper.TranslatorMapper; +import com.dbnt.faisp.translator.model.Translator; +import com.dbnt.faisp.translator.repository.TranslatorRepository; + +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +import javax.persistence.Transient; + +import java.time.LocalDateTime; +import java.util.*; + +@Service +@RequiredArgsConstructor +public class TranslatorService { + + private final TranslatorRepository translatorRepository; + private final TranslatorMapper translatorMapper; + + + public String insertTranslatorInfo(Translator translator) { + translator.setWrtDt(LocalDateTime.now()); + return translatorRepository.save(translator).getTrName(); +} + + + public List selectTranslatorList(Translator translator) { + return translatorMapper.selectTranslatorList(translator); + } + + + public Integer selectTranslatorListCnt(Translator translator) { + return translatorMapper.selectTranslatorListCnt(translator); + } + + +} diff --git a/src/main/java/com/dbnt/faisp/translator/mapper/TranslatorMapper.java b/src/main/java/com/dbnt/faisp/translator/mapper/TranslatorMapper.java new file mode 100644 index 00000000..e2d27566 --- /dev/null +++ b/src/main/java/com/dbnt/faisp/translator/mapper/TranslatorMapper.java @@ -0,0 +1,16 @@ +package com.dbnt.faisp.translator.mapper; + +import com.dbnt.faisp.translator.model.Translator; +import com.dbnt.faisp.userInfo.model.UserInfo; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +@Mapper +public interface TranslatorMapper { + + List selectTranslatorList(Translator translator); + + Integer selectTranslatorListCnt(Translator translator); + +} diff --git a/src/main/java/com/dbnt/faisp/translator/model/Translator.java b/src/main/java/com/dbnt/faisp/translator/model/Translator.java new file mode 100644 index 00000000..e1b18c34 --- /dev/null +++ b/src/main/java/com/dbnt/faisp/translator/model/Translator.java @@ -0,0 +1,87 @@ +package com.dbnt.faisp.translator.model; + +import com.dbnt.faisp.authMgt.model.AccessConfig; +import com.dbnt.faisp.authMgt.model.ApprovalConfig; +import com.dbnt.faisp.config.BaseModel; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import org.hibernate.annotations.DynamicInsert; +import org.hibernate.annotations.DynamicUpdate; +import org.springframework.security.core.GrantedAuthority; +import org.springframework.security.core.authority.SimpleGrantedAuthority; +import org.springframework.security.core.userdetails.UserDetails; + +import javax.persistence.*; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Collection; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +@Getter +@Setter +@Entity +@NoArgsConstructor +@DynamicInsert +@DynamicUpdate +@Table(name = "translator_info") +public class Translator extends BaseModel implements Serializable{ + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "translator_key") + private Integer translatorKey; + @Column(name = "version_no") + private Integer versionNo; + @Column(name = "ogdp1") + private String ogdp1; + @Column(name = "tr_lang") + private String trLang; + @Column(name = "tr_career") + private String trCareer; + @Column(name = "tr_name") + private String trName; + @Column(name = "tr_sex") + private String trSex; + @Column(name = "tr_phone") + private String trPhone; + @Column(name = "tr_nny") + private String trNny; + @Column(name = "tr_age") + private String trAge; + @Column(name = "tr_edu") + private String trEdu; + @Column(name = "tr_cft") + private String trCft; + @Column(name = "tr_visa") + private String trVisa; + @Column(name = "apt_dt") + private String aptDt; + @Column(name = "dml_yn") + private String dmlYn; + @Column(name = "remark") + private String remark; + @Column(name = "wrt_nm") + private String wrtNm; + @Column(name = "wrt_dt") + private LocalDateTime wrtDt; + @Column(name = "wrt_organ") + private String wrtOrgan; + + + + +@Override +public String toString() { + return "Translator [translatorKey=" + translatorKey + ", versionNo=" + versionNo + ", ogdp1=" + ogdp1 + ", trLang=" + + trLang + ", trCareer=" + trCareer + ", trName=" + trName + ", trSex=" + trSex + ", trPhone=" + trPhone + + ", trNny=" + trNny + ", trAge=" + trAge + ", trCft=" + trCft + ", trVisa=" + trVisa + ", aptDt=" + aptDt + + ", dmlYn=" + dmlYn + ", remark=" + remark + ", wrtNm=" + wrtNm + ", wrtDt=" + wrtDt + "]"; +} + + + + +} diff --git a/src/main/java/com/dbnt/faisp/translator/repository/TranslatorRepository.java b/src/main/java/com/dbnt/faisp/translator/repository/TranslatorRepository.java new file mode 100644 index 00000000..37b1bb12 --- /dev/null +++ b/src/main/java/com/dbnt/faisp/translator/repository/TranslatorRepository.java @@ -0,0 +1,13 @@ +package com.dbnt.faisp.translator.repository; + +import com.dbnt.faisp.translator.model.Translator; +import com.dbnt.faisp.userInfo.model.UserInfo; +import org.springframework.data.jpa.repository.JpaRepository; + +import java.util.Optional; + + +public interface TranslatorRepository extends JpaRepository { + + +} diff --git a/src/main/resources/mybatisMapper/TranslatorMapper.xml b/src/main/resources/mybatisMapper/TranslatorMapper.xml new file mode 100644 index 00000000..d550b941 --- /dev/null +++ b/src/main/resources/mybatisMapper/TranslatorMapper.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/static/js/translator/translator.js b/src/main/resources/static/js/translator/translator.js new file mode 100644 index 00000000..fd83ccd1 --- /dev/null +++ b/src/main/resources/static/js/translator/translator.js @@ -0,0 +1,83 @@ + + +$(document).on('click', '#saveBtn', function (){ + if(confirm("저장하시겠습니까?")){ + contentFade("in"); + const formData = new FormData($("#translatorInsert")[0]); + $.ajax({ + type : 'POST', + data : formData, + url : "/translator/insertTranslatorInfo", + processData: false, + contentType: false, + success : function(result) { + + alert("저장되었습니다.\n담당자 승인 후 로그인 가능합니다.") + + contentFade("out"); + location.reload; + }, + error : function(xhr, status) { + alert("저장에 실패하였습니다.") + contentFade("out"); + } + }) + } +}) + +function valueCheck(form){ + const targetForm = $("#"+form); + const userId = targetForm.find("#userId").val(); + const password = targetForm.find("#modalPassword"); + const passwordConfirm = targetForm.find("#passwordConfirm"); + const userNm = targetForm.find("#userNm").val(); + const ogCd = targetForm.find("#ogCd").val(); + const ofcCd = targetForm.find("#ofcCd").val(); + let returnFlag = true; + + if(!userId){ + alert("아이디를 입력해주세요."); + returnFlag = false; + }else{ + const idReg = /^[a-z]+[a-z0-9]{5,19}$/g; + if(!idReg.test(userId)){ + returnFlag = false; + alert("아이디 조건이 맞지 않습니다.") + } + } + if(!password[0].disabled && !password.val()){ + alert("비밀번호를 입력해주세요."); + returnFlag = false; + } + if(!password[0].disabled && !passwordConfirm.val()){ + alert("비밀번호 확인을 입력해주세요."); + returnFlag = false; + } + if(!userNm){ + alert("이름 입력해주세요."); + returnFlag = false; + } + if(returnFlag){ + const passwordReg = /^(?=.*[a-zA-z])(?=.*[0-9])(?=.*[$`~!@$!%*#^?&\\(\\)\-_=+]).{8,16}$/; + if(!password[0].disabled){ + if(!passwordReg.test(password.val())){ + alert("비밀번호 조건이 맞지 않습니다.") + returnFlag = false; + }else{ + if(password.val() !== passwordConfirm.val()){ + alert("비밀번호가 같지 않습니다."); + returnFlag = false; + } + } + } + } + if(!ogCd){ + alert("관서를 선택해주세요."); + returnFlag = false; + } + if(!ofcCd){ + alert("부서를 선택해주세요."); + returnFlag = false; + } + return returnFlag; +} \ No newline at end of file diff --git a/src/main/resources/templates/translator/translator.html b/src/main/resources/templates/translator/translator.html new file mode 100644 index 00000000..a03e0cf0 --- /dev/null +++ b/src/main/resources/templates/translator/translator.html @@ -0,0 +1,301 @@ + + + + + +
+
+

민간 통역인 현황

+ + +
+
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
연번관서명언어경력성명성별나이국적학력자격증비자해촉위촉일연락처
OX
+
+
+
+ +
+ +
+
+
+
+
+
+
+
+
+
+
+ + + + + + +
+ \ No newline at end of file diff --git a/src/main/resources/templates/translator/translatorEditModal.html b/src/main/resources/templates/translator/translatorEditModal.html new file mode 100644 index 00000000..eb206deb --- /dev/null +++ b/src/main/resources/templates/translator/translatorEditModal.html @@ -0,0 +1,100 @@ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
대분류중분류소분류관리작성조회
+ + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
대분류중분류소분류계장대행계장과장대행과장
.. + + + + + + + +
+
+ \ No newline at end of file