diff --git a/src/main/java/com/dbnt/faisp/codeMgt/model/CodeMgt.java b/src/main/java/com/dbnt/faisp/codeMgt/model/CodeMgt.java index b8defee6..0ce6f803 100644 --- a/src/main/java/com/dbnt/faisp/codeMgt/model/CodeMgt.java +++ b/src/main/java/com/dbnt/faisp/codeMgt/model/CodeMgt.java @@ -31,12 +31,12 @@ public class CodeMgt { private String status; @Override -public String toString() { - return "CodeMgt [categoryCd=" + categoryCd + ", itemCd=" + itemCd + ", itemValue=" + itemValue + ", useChk=" - + useChk + ", status=" + status + "]"; -} + public String toString() { + return "CodeMgt [categoryCd=" + categoryCd + ", itemCd=" + itemCd + ", itemValue=" + itemValue + ", useChk=" + + useChk + ", status=" + status + "]"; + } -@Embeddable + @Embeddable @Data @NoArgsConstructor @AllArgsConstructor diff --git a/src/main/java/com/dbnt/faisp/controller/TranslatorController.java b/src/main/java/com/dbnt/faisp/controller/TranslatorController.java index 19511e33..a17270fd 100644 --- a/src/main/java/com/dbnt/faisp/controller/TranslatorController.java +++ b/src/main/java/com/dbnt/faisp/controller/TranslatorController.java @@ -35,7 +35,6 @@ public class TranslatorController { 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)); @@ -50,5 +49,20 @@ public class TranslatorController { translator.setWrtOrgan(loginUser.getOgCd()); return translatorSevice.insertTranslatorInfo(translator); } + + @GetMapping("/translatorEditModal") + public ModelAndView translatorEditModal(Translator translator){ + ModelAndView mav = new ModelAndView("translator/translatorEditModal"); + mav.addObject("trInfo", translatorSevice.selectTranslatorView(translator)); + return mav; + } + + @PostMapping("/updatetranslatorInfo") + public void updatetranslatorInfo(@AuthenticationPrincipal UserInfo loginUser,Translator translator) { + System.out.println("@@="+translator); + translator.setWrtNm(loginUser.getUserId()); + translator.setWrtOrgan(loginUser.getOgCd()); + translatorSevice.updatetranslatorInfo(translator); + } } diff --git a/src/main/java/com/dbnt/faisp/translator/TranslatorService.java b/src/main/java/com/dbnt/faisp/translator/TranslatorService.java index 6b9490bb..3366a6b4 100644 --- a/src/main/java/com/dbnt/faisp/translator/TranslatorService.java +++ b/src/main/java/com/dbnt/faisp/translator/TranslatorService.java @@ -5,10 +5,13 @@ 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.model.Translator.TranslatorId; import com.dbnt.faisp.translator.repository.TranslatorRepository; +import com.dbnt.faisp.userInfo.model.UserInfo; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import javax.persistence.Transient; @@ -24,6 +27,7 @@ public class TranslatorService { public String insertTranslatorInfo(Translator translator) { + translator.setVersionNo(1); translator.setWrtDt(LocalDateTime.now()); return translatorRepository.save(translator).getTrName(); } @@ -38,5 +42,16 @@ public class TranslatorService { return translatorMapper.selectTranslatorListCnt(translator); } + + public Translator selectTranslatorView(Translator translator) { + return translatorRepository.findById(new TranslatorId(translator.getTranslatorKey(), translator.getVersionNo())).orElse(null); + } + + @Transactional + public void updatetranslatorInfo(Translator translator) { + translator.setVersionNo(translator.getVersionNo()+1); + translatorRepository.save(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 index e1b18c34..81684686 100644 --- a/src/main/java/com/dbnt/faisp/translator/model/Translator.java +++ b/src/main/java/com/dbnt/faisp/translator/model/Translator.java @@ -2,7 +2,11 @@ package com.dbnt.faisp.translator.model; import com.dbnt.faisp.authMgt.model.AccessConfig; import com.dbnt.faisp.authMgt.model.ApprovalConfig; +import com.dbnt.faisp.codeMgt.model.CodeMgt; import com.dbnt.faisp.config.BaseModel; + +import lombok.AllArgsConstructor; +import lombok.Data; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; @@ -28,11 +32,13 @@ import java.util.Set; @DynamicInsert @DynamicUpdate @Table(name = "translator_info") +@IdClass(Translator.TranslatorId.class) public class Translator extends BaseModel implements Serializable{ @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "translator_key") private Integer translatorKey; + @Id @Column(name = "version_no") private Integer versionNo; @Column(name = "ogdp1") @@ -81,7 +87,14 @@ public String toString() { + ", dmlYn=" + dmlYn + ", remark=" + remark + ", wrtNm=" + wrtNm + ", wrtDt=" + wrtDt + "]"; } - +@Embeddable +@Data +@NoArgsConstructor +@AllArgsConstructor +public static class TranslatorId implements Serializable { + private Integer translatorKey; + private Integer versionNo; +} } diff --git a/src/main/java/com/dbnt/faisp/translator/repository/TranslatorRepository.java b/src/main/java/com/dbnt/faisp/translator/repository/TranslatorRepository.java index 37b1bb12..1f67b838 100644 --- a/src/main/java/com/dbnt/faisp/translator/repository/TranslatorRepository.java +++ b/src/main/java/com/dbnt/faisp/translator/repository/TranslatorRepository.java @@ -1,13 +1,11 @@ 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 { +public interface TranslatorRepository extends JpaRepository { } diff --git a/src/main/resources/mybatisMapper/TranslatorMapper.xml b/src/main/resources/mybatisMapper/TranslatorMapper.xml index d550b941..9137bd57 100644 --- a/src/main/resources/mybatisMapper/TranslatorMapper.xml +++ b/src/main/resources/mybatisMapper/TranslatorMapper.xml @@ -6,22 +6,32 @@ select count(*) - from translator_info - where wrt_organ in + from( + select a.translator_key, + version_no, + c.item_value as ogdp1, + d.item_value as tr_lang, + tr_career, + tr_name, + e.item_value as tr_sex, + tr_age, + f.item_value as tr_nny, + g.item_value as tr_edu, + tr_cft, + h.item_value as tr_visa, + dml_yn, + apt_dt, + tr_phone + from translator_info a + inner join (select translator_key, max(version_no) as lastVer + from translator_info + group by translator_key) b + on a.translator_key =b.translator_key and a.version_no = b.lastVer + left outer join code_mgt c on a.ogdp1 = c.item_cd + left outer join code_mgt d on a.tr_lang = d.item_cd + left outer join code_mgt e on a.tr_sex = e.item_cd + left outer join code_mgt f on a.tr_nny = f.item_cd + left outer join code_mgt g on a.tr_edu = g.item_cd + left outer join code_mgt h on a.tr_visa = h.item_cd + where wrt_organ in #{item} + ) a \ 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 index fd83ccd1..4be0db6b 100644 --- a/src/main/resources/static/js/translator/translator.js +++ b/src/main/resources/static/js/translator/translator.js @@ -1,4 +1,43 @@ +$(document).on('click', '.userInfoTr', function (){ + $.ajax({ + url: '/translator/translatorEditModal', + data: { + translatorKey: Number($(this).find(".trKey").val()), + versionNo : Number($(this).find(".verNo").val()) + }, + type: 'GET', + dataType:"html", + success: function(html){ + $("#configInfo").empty().append(html) + $("#translatorEditModal").modal('show'); + }, + error:function(){ + } + }); +}) + +$(document).on('click', '#updateBtn', function (){ + if(confirm("수정하시겠습니까?")){ + contentFade("in"); + const formData = new FormData($("#trInfoUpdate")[0]); + $.ajax({ + type : 'POST', + data : formData, + url : "/translator/updatetranslatorInfo", + processData: false, + contentType: false, + success : function() { + alert("수정되었습니다."); + contentFade("out"); + }, + error : function(xhr, status) { + alert("수정에 실패하였습니다."); + contentFade("out"); + } + }) + } +}) $(document).on('click', '#saveBtn', function (){ if(confirm("저장하시겠습니까?")){ diff --git a/src/main/resources/templates/translator/translator.html b/src/main/resources/templates/translator/translator.html index a03e0cf0..3f08c9f9 100644 --- a/src/main/resources/templates/translator/translator.html +++ b/src/main/resources/templates/translator/translator.html @@ -78,6 +78,10 @@ + + + + @@ -254,7 +258,7 @@
- +
@@ -270,30 +274,26 @@ -