Compare commits
No commits in common. "90a20960ffa8902f6e4f0ba103d017ef234b3688" and "ada59385feba47a1b44fa7a749a67ac398359dc9" have entirely different histories.
90a20960ff
...
ada59385fe
|
|
@ -1,92 +0,0 @@
|
|||
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.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;
|
||||
|
||||
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 dbTranslator = translatorRepository.findFirstByOrderByTranslatorKeyDesc();
|
||||
translator.setWrtDt(LocalDateTime.now());
|
||||
if (dbTranslator == null) {
|
||||
translator.setTranslatorKey(1);
|
||||
translator.setVersionNo(1);
|
||||
translatorRepository.save(translator);
|
||||
return translatorRepository.save(translator).getTrName();
|
||||
} else {
|
||||
translator.setTranslatorKey(dbTranslator.getTranslatorKey() + 1);
|
||||
translator.setVersionNo(1);
|
||||
return translatorRepository.save(translator).getTrName();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public List<Translator> selectTranslatorList(Translator translator) {
|
||||
return translatorMapper.selectTranslatorList(translator);
|
||||
}
|
||||
|
||||
public Integer selectTranslatorListCnt(Translator translator) {
|
||||
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) {
|
||||
System.out.println("@@="+translator);
|
||||
Translator dbTranslator = translatorRepository.findById(new TranslatorId(translator.getTranslatorKey(), translator.getVersionNo())).orElse(null);
|
||||
Translator translatorTmp = new Translator();
|
||||
translatorTmp.setTranslatorKey(dbTranslator.getTranslatorKey());
|
||||
translatorTmp.setVersionNo(dbTranslator.getVersionNo() + 1);
|
||||
translatorTmp.setOgdp1(translator.getOgdp1());
|
||||
translatorTmp.setTrLang(translator.getTrLang());
|
||||
translatorTmp.setTrCareer(translator.getTrCareer());
|
||||
translatorTmp.setTrName(translator.getTrName());
|
||||
translatorTmp.setTrSex(translator.getTrSex());
|
||||
translatorTmp.setTrPhone(translator.getTrPhone());
|
||||
translatorTmp.setTrNny(translator.getTrNny());
|
||||
translatorTmp.setTrAge(translator.getTrAge());
|
||||
translatorTmp.setTrEdu(translator.getTrEdu());
|
||||
translatorTmp.setTrCft(translator.getTrCft());
|
||||
translatorTmp.setTrVisa(translator.getTrVisa());
|
||||
translatorTmp.setAptDt(translator.getAptDt());
|
||||
translatorTmp.setDmlYn(translator.getDmlYn());
|
||||
translatorTmp.setRemark(translator.getRemark());
|
||||
translatorTmp.setWrtNm(translator.getWrtNm());
|
||||
translatorTmp.setWrtDt(LocalDateTime.now());
|
||||
translatorTmp.setWrtOrgan(translator.getWrtOrgan());
|
||||
translatorRepository.save(translatorTmp);
|
||||
}
|
||||
|
||||
public List<Translator> selectHistoryList(Translator translator) {
|
||||
return translatorMapper.selectHistoryList(translator);
|
||||
}
|
||||
|
||||
public Translator HistoryView(Translator translator) {
|
||||
return translatorMapper.HistoryView(translator);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1,70 +0,0 @@
|
|||
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;
|
||||
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;
|
||||
|
||||
import javax.persistence.*;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
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_career")
|
||||
public class TranslatorCrr extends BaseModel implements Serializable{
|
||||
@Id
|
||||
@Column(name = "career_seq")
|
||||
private Integer careerSeq;
|
||||
@Column(name = "translator_key")
|
||||
private Integer translatorKey;
|
||||
@Column(name = "version_no")
|
||||
private Integer versionNo;
|
||||
@Column(name = "his_gubun")
|
||||
private String hisGubun;
|
||||
@Column(name = "contents")
|
||||
private String contents;
|
||||
@Column(name = "tc_dt")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
private LocalDate tcDt;
|
||||
@Column(name = "remark")
|
||||
private String remark;
|
||||
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "TranslatorCrr [careerSeq=" + careerSeq + ", translatorKey=" + translatorKey + ", versionNo=" + versionNo
|
||||
+ ", hisGubun=" + hisGubun + ", contents=" + contents + ", tcDt=" + tcDt + ", remark=" + remark + "]";
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -1,6 +1,3 @@
|
|||
let trCarrerList=[];
|
||||
let selectedIdx=0;
|
||||
|
||||
$(document).on('click', '.userInfoTr', function (){
|
||||
document.getElementById('accessTab').classList.add('active');
|
||||
document.getElementById('approvalTab').classList.remove('active');
|
||||
|
|
@ -38,17 +35,15 @@ $(document).on('click', '#updateBtn', function (){
|
|||
})
|
||||
|
||||
$(document).on('click', '#saveBtn', function (){
|
||||
console.log(trCarrerList);
|
||||
if(confirm("저장하시겠습니까?")){
|
||||
contentFade("in");
|
||||
const formData = new FormData($("#translatorInsert")[0]);
|
||||
var values = JSON.stringify(trCarrerList);
|
||||
$('input[name=TranslatorCrr]').val(values);
|
||||
$.ajax({
|
||||
type : 'POST',
|
||||
data : formData,
|
||||
url : "/translator/insertTranslatorInfo",
|
||||
contentType: 'false',
|
||||
processData: false,
|
||||
contentType: false,
|
||||
success : function(result) {
|
||||
alert("저장되었습니다.")
|
||||
contentFade("out");
|
||||
|
|
@ -156,10 +151,6 @@ $(document).ready( function() {
|
|||
format: "yyyy-mm-dd",
|
||||
language: "ko"
|
||||
});
|
||||
$(".tcDt").datepicker({
|
||||
format: "yyyy-mm-dd",
|
||||
language: "ko"
|
||||
});
|
||||
});
|
||||
|
||||
$(document).on('click', '#approvalTab', function (){
|
||||
|
|
@ -206,69 +197,3 @@ $(document).on('change', '#trNny', function (){
|
|||
$("#trVisa").removeAttr("disabled");
|
||||
}
|
||||
});
|
||||
|
||||
$(document).on('click', '#crrAddBtn', function (){
|
||||
$('#crr').append(
|
||||
'<div class="mb-5 row" id="crrDiv">'+
|
||||
'<div class="col-sm-1">'+
|
||||
'<button type="button" class="btn btn-sm btn-outline-danger rowDeleteBtn"><i class="bi bi-x"></i></button>'+
|
||||
'</div>'+
|
||||
'<label for="ogCd" class="col-sm-2 col-form-label text-center">경력구분</label>'+
|
||||
'<div class="col-sm-2">'+
|
||||
'<select class="form-select form-select-sm crrInput" name="hisGubun">'+
|
||||
'<option value="">선택</option>'+
|
||||
'<option value="Y">해양경찰청</option>'+
|
||||
'<option value="N">타기관</option>'+
|
||||
'</select>'+
|
||||
'</div>'+
|
||||
'<label for="ofcCd" class="col-sm-1 col-form-label text-center">날짜</label>'+
|
||||
'<div class="col-sm-2">'+
|
||||
'<input type="text" class="form-control tcDt crrInput" id="tcDt" name="tcDt">'+
|
||||
'</div>'+
|
||||
'<label for="ofcCd" class="col-sm-1 col-form-label text-center">내용</label>'+
|
||||
'<div class="col-sm-4">'+
|
||||
'<input type="text" class="form-control crrInput" id="contents" name="contents">'+
|
||||
'</div>'+
|
||||
'<label for="ofcCd" class="col-sm-1 col-form-label text-center">비고</label>'+
|
||||
'<div class="col-sm-4">'+
|
||||
'<input type="text" class="form-control crrInput" id="remark" name="remark">'+
|
||||
'</div>'+
|
||||
'</div>'
|
||||
)
|
||||
$(".tcDt").datepicker({
|
||||
format: "yyyy-mm-dd",
|
||||
language: "ko"
|
||||
});
|
||||
trCarrerList.push({hisGubun:"",tcDt:"",contents:"",remark:""});
|
||||
console.log(trCarrerList);
|
||||
})
|
||||
|
||||
$(document).on('click', '.rowDeleteBtn', function (){
|
||||
console.log($(this).parents('#crr').children('#crrDiv'));
|
||||
selectedIdx = $(this).parents('#crr').children('#crrDiv').length-1;
|
||||
trCarrerList.splice(selectedIdx,1);
|
||||
console.log(selectedIdx);
|
||||
console.log(trCarrerList);
|
||||
|
||||
$(this).parents('#crrDiv').remove();
|
||||
})
|
||||
|
||||
$(document).on('change', '.crrInput', function (){
|
||||
selectedIdx = $(this).parents('#crr').children('#crrDiv').length-1;
|
||||
const target = trCarrerList[selectedIdx];
|
||||
console.log(target)
|
||||
switch (this.name){
|
||||
case "hisGubun":
|
||||
target.hisGubun = this.value
|
||||
break;
|
||||
case "tcDt":
|
||||
target.tcDt = this.value
|
||||
break;
|
||||
case "contents":
|
||||
target.contents = this.value
|
||||
break;
|
||||
case "remark":
|
||||
target.remark = this.value
|
||||
break;
|
||||
}
|
||||
})
|
||||
|
|
|
|||
|
|
@ -154,6 +154,7 @@
|
|||
<form id="translatorInsert" action="#" method="post">
|
||||
<input type="hidden" name="_csrf_header" th:value="${_csrf.headerName}"/>
|
||||
<input type="hidden" th:name="${_csrf.parameterName}" th:value="${_csrf.token}"/>
|
||||
<div class="mb-3 row">
|
||||
<div class="mb-3 row">
|
||||
<label for="ogCd" class="col-sm-2 col-form-label text-center">관서</label>
|
||||
<div class="col-sm-2">
|
||||
|
|
@ -240,7 +241,6 @@
|
|||
<input type="text" class="form-control" id="aptDt" name="aptDt">
|
||||
</div>
|
||||
</div>
|
||||
<div class="mb-3 row">
|
||||
<label for="ogCd" class="col-sm-2 col-form-label text-center">해촉</label>
|
||||
<div class="col-sm-2">
|
||||
<select class="form-select form-select-sm" name="dmlYn">
|
||||
|
|
@ -249,24 +249,20 @@
|
|||
<option value="X">X</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="mb-3 row">
|
||||
<label for="tel" class="col-sm-2 col-form-label text-center">비고</label>
|
||||
<div class="col-sm-4">
|
||||
<textarea class="form-control" id="remark" name="remark"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<h4>경력사항</h4>
|
||||
<div id="crr">
|
||||
<div class="row justify-content-center">
|
||||
<button type="button" class="btn btn-sm btn-outline-primary col-auto" id="crrAddBtn"><i class="bi bi-plus-lg"></i></button>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal" id="closeModalBtn">닫기</button>
|
||||
<button type="button" class="btn btn-primary" id="saveBtn">등록</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -5,8 +5,8 @@
|
|||
<form id="trInfoUpdate" method="post">
|
||||
<input type="hidden" name="_csrf_header" th:value="${_csrf.headerName}"/>
|
||||
<input type="hidden" th:name="${_csrf.parameterName}" th:value="${_csrf.token}"/>
|
||||
<input type="hidden" class="translatorKey" name="translatorKey" th:value="${trInfo.translatorKey}"/>
|
||||
<input type="hidden" class="versionNo" name="versionNo" th:value="${trInfo.versionNo}"/>
|
||||
<input type="hidden" class="translatorKey" th:value="${trInfo.translatorKey}"/>
|
||||
<input type="hidden" class="versionNo" th:value="${trInfo.versionNo}"/>
|
||||
<div class="mb-3 row">
|
||||
<div class="mb-3 row">
|
||||
<label for="ogCd" class="col-sm-2 col-form-label text-center">관서</label>
|
||||
|
|
@ -98,8 +98,8 @@
|
|||
<div class="col-sm-2">
|
||||
<select class="form-select form-select-sm" name="dmlYn">
|
||||
<option value="">선택</option>
|
||||
<option value="O">예</option>
|
||||
<option value="X">아니오</option>
|
||||
<option value="Y">예</option>
|
||||
<option value="N">아니오</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue