fix:민간통역인 수정

TaehunPark 2022-11-02 15:23:31 +09:00
parent dc65f879c7
commit 76609562a3
12 changed files with 161 additions and 131 deletions

View File

@ -11,6 +11,7 @@ import com.dbnt.faisp.util.Utils;
import lombok.RequiredArgsConstructor;
import java.io.IOException;
import java.time.LocalDateTime;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
@ -71,8 +72,11 @@ public class TranslatorController {
@PostMapping("/insertTranslatorInfo")
public String insertTranslatorInfo(@AuthenticationPrincipal UserInfo loginUser,Translator translator) {
translator.setWrtNm(loginUser.getUserId());
translator.setWrtNm(loginUser.getUserNm());
translator.setWrtOrgan(loginUser.getOgCd());
translator.setWrtPart(loginUser.getOfcCd());
translator.setWrtTitle(loginUser.getTitleCd());
translator.setWrtDt(LocalDateTime.now());
return translatorSevice.insertTranslatorInfo(translator);
}
@ -81,17 +85,21 @@ public class TranslatorController {
ModelAndView mav = new ModelAndView("translator/translatorEditModal");
//메뉴권한 확인
String accessAuth = authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/translator/info").get(0).getAccessAuth();
mav.addObject("wrtId", translatorSevice.selectTrFristId(translator.getTranslatorKey()));
mav.addObject("userId", loginUser.getUserId());
mav.addObject("wrtUserSeq", translatorSevice.selectTrFristUserSeq(translator.getTranslatorKey()));
mav.addObject("userSeq", loginUser.getUserSeq());
mav.addObject("trInfo", translatorSevice.selectTranslatorView(translator));
mav.addObject("mgtOrganList", loginUser.getDownOrganCdList());
mav.addObject("accessAuth", accessAuth);
return mav;
}
@PostMapping("/updateTranslatorInfo")
public Translator updatetranslatorInfo(@AuthenticationPrincipal UserInfo loginUser,Translator translator) {
translator.setWrtNm(loginUser.getUserId());
translator.setWrtNm(loginUser.getUserNm());
translator.setWrtOrgan(loginUser.getOgCd());
translator.setWrtPart(loginUser.getOfcCd());
translator.setWrtTitle(loginUser.getTitleCd());
translator.setWrtDt(LocalDateTime.now());
Translator result = translatorSevice.updatetranslatorInfo(translator);
return result;
}
@ -99,7 +107,7 @@ public class TranslatorController {
@GetMapping("/revisionHistory")
public ModelAndView revisionHistory(Translator translator){
ModelAndView mav = new ModelAndView("translator/translatorHistory");
mav.addObject("HistoryList", translatorSevice.selectHistoryList(translator));
mav.addObject("historyList", translatorSevice.selectHistoryList(translator));
return mav;
}
@ -118,8 +126,9 @@ public class TranslatorController {
mav.addObject("policeCrr", translatorSevice.selectMaritimePoliceCareer(translatorCrr));
mav.addObject("anotherCrr", translatorSevice.selectAnotherOrganizationCareer(translatorCrr));
mav.addObject("trKey", translatorCrr.getTranslatorKey());
mav.addObject("wrtId", translatorSevice.selectTrFristId(translatorCrr.getTranslatorKey()));
mav.addObject("userId", loginUser.getUserId());
mav.addObject("wrtUserSeq", translatorSevice.selectTrFristUserSeq(translatorCrr.getTranslatorKey()));
mav.addObject("userSeq", loginUser.getUserSeq());
mav.addObject("trName", translatorSevice.selectTrLastName(translatorCrr));
mav.addObject("accessAuth", accessAuth);
return mav;
}

View File

@ -27,6 +27,6 @@ public interface TranslatorMapper {
List<ParamMap> selectTranslatorListEx(Translator translator);
String selectTrFristId(int translatorKey);
String selectTrFristUserSeq(int translatorKey);
}

View File

@ -63,12 +63,19 @@ public class Translator extends BaseModel implements Serializable{
private String dmlYn;
@Column(name = "remark")
private String remark;
@Column(name = "wrt_organ")
private String wrtOrgan;
@Column(name = "wrt_part")
private String wrtPart;
@Column(name = "wrt_title")
private String wrtTitle;
@Column(name = "wrt_user_seq")
private Integer wrtUserSeq;
@Column(name = "wrt_nm")
private String wrtNm;
@Column(name = "wrt_dt")
private LocalDateTime wrtDt;
@Column(name = "wrt_organ")
private String wrtOrgan;
@Transient

View File

@ -2,6 +2,8 @@ package com.dbnt.faisp.main.translator.repository;
import com.dbnt.faisp.main.translator.model.Translator;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
@ -11,6 +13,9 @@ public interface TranslatorRepository extends JpaRepository<Translator, Translat
void deleteByTranslatorKey(int trKey);
@Query(value = "SELECT tr_name FROM translator_info WHERE translator_key=:translatorKey order by version_no desc limit 1", nativeQuery = true)
String getTrLastName(@Param("translatorKey") Integer translatorKey);

View File

@ -31,13 +31,11 @@ public class TranslatorService {
if (dbTranslator == null) {
translator.setTranslatorKey(1);
translator.setVersionNo(1);
return translatorRepository.save(translator).getTrName();
} else {
translator.setTranslatorKey(dbTranslator.getTranslatorKey() + 1);
translator.setVersionNo(1);
return translatorRepository.save(translator).getTrName();
}
return translatorRepository.save(translator).getTrName();
}
public List<Translator> selectTranslatorList(Translator translator) {
@ -75,8 +73,11 @@ public class TranslatorService {
translatorTmp.setDmlYn(translator.getDmlYn());
translatorTmp.setRemark(translator.getRemark());
translatorTmp.setWrtNm(translator.getWrtNm());
translatorTmp.setWrtDt(LocalDateTime.now());
translatorTmp.setWrtDt(translator.getWrtDt());
translatorTmp.setWrtOrgan(translator.getWrtOrgan());
translatorTmp.setWrtPart(translator.getWrtPart());
translatorTmp.setWrtTitle(translator.getWrtTitle());
translatorTmp.setWrtUserSeq(translator.getWrtUserSeq());
translatorRepository.save(translatorTmp);
return translatorTmp;
}
@ -140,8 +141,12 @@ public class TranslatorService {
return translatorMapper.selectTranslatorListEx(translator);
}
public String selectTrFristId(int translatorKey) {
return translatorMapper.selectTrFristId(translatorKey);
public String selectTrFristUserSeq(int translatorKey) {
return translatorMapper.selectTrFristUserSeq(translatorKey);
}
public String selectTrLastName(TranslatorCrr translatorCrr) {
return translatorRepository.getTrLastName(translatorCrr.getTranslatorKey());
}
}

View File

@ -121,6 +121,9 @@
<select id="selectHistoryList" resultType="Translator" parameterType="Translator">
select translator_key,
version_no,
wrt_organ,
wrt_part,
(select item_value from code_mgt where item_cd = wrt_title) as wrt_title,
wrt_nm,
wrt_dt
from translator_info
@ -313,8 +316,8 @@
order by translator_key desc
</select>
<select id="selectTrFristId" resultType="String" parameterType="int">
select wrt_nm
<select id="selectTrFristUserSeq" resultType="String" parameterType="int">
select wrt_user_seq
from translator_info
where translator_key = #{translatorKey}
order by version_no asc

View File

@ -45,15 +45,15 @@ $(document).on('click', '#updateBtn', function (){
return false;
}
if($('#trLang').val() == ''){
if($('#eTrLang').val() == ''){
alert("언어를 선택해주세요.");
$('#trLang').focus();
$('#eTrLang').focus();
return false;
}
if($('#trEname').val() == ''){
if($('#eTrEname').val() == ''){
alert("성명을 입력해주세요.");
$('#trEname').focus();
$('#eTrEname').focus();
return false;
}
@ -227,10 +227,8 @@ $(document).on('change', '#trNny', function (){
$(document).on('click', '#crrAddBtn', function (){
const trKey = (Number($('#tcInsertKey').val()));
$('#insertCareer').append(
'<div class="mb-12 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>'+
'<div id="crrDiv">'+
'<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 crrInput" name="hisGubun">'+
@ -241,16 +239,22 @@ $(document).on('click', '#crrAddBtn', function (){
'</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">'+
'<input type="text" class="form-control tcDt crrInput" id="tcDt" name="tcDt" readonly>'+
'</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 crrInput" id="contents" name="contents">'+
'</div>'+
'<label for="ofcCd" class="col-sm-1 col-form-label text-center">비고</label>'+
'<div class="col-sm-2">'+
'</div>'+
'<div class="mb-2 row">'+
'<label for="ofcCd" class="col-sm-2 col-form-label text-center">비고</label>'+
'<div class="col-sm-8">'+
'<input type="text" class="form-control crrInput" id="remark" name="remark">'+
'</div>'+
'<div class="col-sm-1">'+
'<button type="button" class="btn btn-sm btn-outline-danger rowDeleteBtn"><i class="bi bi-x"></i></button>'+
'</div>'+
'</div>'+
'</div>'
)
$(".tcDt").datepicker({
@ -376,11 +380,6 @@ function deleteCareerBtn(crrSeq,trKey){
}
$(document).on('click', '.btn-close', function (){
trCarrerList.length = 0;
location.reload();
})
$(document).on('click', '#closeModalBtn', function (){
location.reload();
})

View File

@ -28,7 +28,7 @@
<div class="row justify-content-end">
<div class="col-auto">
<select class="form-select form-select-sm" name="dmlYn">
<option value="">-해촉 선택-</option>
<option value="">해촉 선택</option>
<option value="O" th:selected="${'O' eq searchParams.dmlYn}">O</option>
<option value="X" th:selected="${'X' eq searchParams.dmlYn}">X</option>
</select>
@ -52,17 +52,7 @@
</select>
</div>
<div class="col-auto">
<input type="text" class="form-control form-control-sm" name="trName" th:value="${searchParams.trName}" placeholder="성명">
</div>
<input type="submit" class="btn btn-sm btn-primary col-auto" id="searchBtn" value="검색">
</div>
</div>
</div>
<div class="row justify-content-between py-1">
<div class="col-auto">
<div class="row justify-content-end">
<div class="col-auto">
<select class="form-select form-select-sm" id="trVisa" name="trVisa">
<select class="form-select form-select-sm" name="trVisa">
<option value="">비자 선택</option>
<th:block th:each="commonCode:${session.commonCode.get('VISA')}">
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd eq searchParams.trVisa}"></option>
@ -70,17 +60,25 @@
</select>
</div>
<div class="col-auto">
<select class="form-select form-select-sm" id="trNny" name="trNny">
<select class="form-select form-select-sm" name="trNny">
<option value="">국적선택</option>
<th:block th:each="commonCode:${session.commonCode.get('NNY')}">
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd eq searchParams.trNny}"></option>
</th:block>
</select>
</div>
</div>
</div>
</div>
<div class="row justify-content-between pe-3 py-1">
<div class="row justify-content-end">
<div class="col-auto">
<input type="text" class="form-control" id="aptDt" name="aptDt" th:value="${searchParams.aptDt}" placeholder="위촉일">
<input type="text" class="form-control" name="trName" th:value="${searchParams.trName}" placeholder="성명">
</div>
<div class="col-auto">
<input type="text" class="form-control" name="aptDt" th:value="${searchParams.aptDt}" placeholder="위촉일" readonly>
</div>
<input type="submit" class="btn btn-sm btn-primary col-auto" id="searchBtn" value="검색">
</div>
</div>
</form>
@ -91,7 +89,7 @@
<div class="row">
<input type="hidden" id="selectedKey">
<input type="hidden" id="selectedVerNo">
<table class="table table-striped">
<table class="table table-hover table-bordered">
<thead>
<tr>
<th>연번</th>
@ -110,7 +108,7 @@
<th>연락처</th>
</tr>
</thead>
<tbody>
<tbody class="table-group-divider">
<tr class="userInfoTr" data-bs-toggle="dropdown" aria-expanded="false" th:each="trInfo:${translatorList}">
<input type="hidden" class="trKey" th:value="${trInfo.translatorKey}">
<input type="hidden" class="verNo" th:value="${trInfo.versionNo}">
@ -139,7 +137,10 @@
</tbody>
</table>
</div>
<div class="row justify-content-center">
<div class="row justify-content-between">
<div class="col-auto">
<button id="goExcel" class="btn btn-success">엑셀다운</button>
</div>
<div class="col-auto">
<nav aria-label="Page navigation">
<ul class="pagination">
@ -164,10 +165,9 @@
</th:block>
</ul>
</nav>
<div class="col-auto">
<button data-bs-toggle="modal" data-bs-target="#translatorInsertModal" th:unless="${accessAuth eq 'ACC001'}">등록</button>
<button id="goExcel">엑셀다운</button>
</div>
<div class="col-auto">
<button data-bs-toggle="modal" class="btn btn-primary" data-bs-target="#translatorInsertModal" th:unless="${accessAuth eq 'ACC001'}">등록</button>
</div>
</div>
</div>
@ -190,7 +190,7 @@
<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">
<label for="ogCd" class="col-sm-2 col-form-label text-center">관서</label>
<label for="ogdp1" class="col-sm-2 col-form-label text-center">관서</label>
<div class="col-sm-2">
<select class="form-select form-select-sm" id="ogdp1" name="ogdp1" th:disabled="${accessAuth ne 'ACC003'}">
<option value="">선택</option>
@ -201,7 +201,7 @@
</th:block>
</select>
</div>
<label for="ofcCd" class="col-sm-1 col-form-label text-center">언어</label>
<label for="lang" class="col-sm-1 col-form-label text-center">언어</label>
<div class="col-sm-2">
<select class="form-select form-select-sm" id="lang" name="trLang">
<option value="">선택</option>
@ -210,32 +210,32 @@
</th:block>
</select>
</div>
<label for="ofcCd" class="col-sm-1 col-form-label text-center">경력</label>
<label for="trCareer" class="col-sm-1 col-form-label text-center">경력</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="trCareer" name="trCareer">
</div>
</div>
<div class="mb-3 row">
<label for="ogCd" class="col-sm-2 col-form-label text-center">성명</label>
<label for="trName" class="col-sm-2 col-form-label text-center">성명</label>
<div class="col-sm-2">
<input type="text" class="form-control" id="trName" name="trName">
</div>
<label for="ofcCd" class="col-sm-1 col-form-label text-center">성별</label>
<label for="trSex" class="col-sm-1 col-form-label text-center">성별</label>
<div class="col-sm-2">
<select class="form-select form-select-sm" name="trSex">
<select class="form-select form-select-sm" id="trSex" name="trSex">
<option value="">선택</option>
<th:block th:each="commonCode:${session.commonCode.get('SEX')}">
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"></option>
</th:block>
</select>
</div>
<label for="ofcCd" class="col-sm-1 col-form-label text-center">연락처</label>
<label for="trPhone" class="col-sm-1 col-form-label text-center">연락처</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="trPhone" name="trPhone">
</div>
</div>
<div class="mb-3 row">
<label for="ogCd" class="col-sm-2 col-form-label text-center">국적</label>
<label for="trNny" class="col-sm-2 col-form-label text-center">국적</label>
<div class="col-sm-2">
<select class="form-select form-select-sm" id="trNny" name="trNny">
<option value="">선택</option>
@ -244,13 +244,13 @@
</th:block>
</select>
</div>
<label for="ofcCd" class="col-sm-1 col-form-label text-center">나이</label>
<label for="trAge" class="col-sm-1 col-form-label text-center">나이</label>
<div class="col-sm-2">
<input type="text" class="form-control" id="trAge" name="trAge">
</div>
<label for="ofcCd" class="col-sm-1 col-form-label text-center">학력</label>
<label for="trEdu" class="col-sm-1 col-form-label text-center">학력</label>
<div class="col-sm-4">
<select class="form-select form-select-sm" name="trEdu">
<select class="form-select form-select-sm" id="trEdu" name="trEdu">
<option value="">선택</option>
<th:block th:each="commonCode:${session.commonCode.get('EDU')}">
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"></option>
@ -259,11 +259,11 @@
</div>
</div>
<div class="mb-3 row">
<label for="ogCd" class="col-sm-2 col-form-label text-center">자격증</label>
<label for="trCft" class="col-sm-2 col-form-label text-center">자격증</label>
<div class="col-sm-2">
<input type="text" class="form-control" id="trCft" name="trCft">
</div>
<label for="ofcCd" class="col-sm-1 col-form-label text-center">비자</label>
<label for="trVisa" class="col-sm-1 col-form-label text-center">비자</label>
<div class="col-sm-2">
<select class="form-select form-select-sm" id="trVisa" name="trVisa">
<option value="">선택</option>
@ -272,13 +272,13 @@
</th:block>
</select>
</div>
<label for="ofcCd" class="col-sm-1 col-form-label text-center">위촉일</label>
<label for="aptDt" class="col-sm-1 col-form-label text-center">위촉일</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="aptDt" name="aptDt">
<input type="text" class="form-control" id="aptDt" name="aptDt" readonly>
</div>
</div>
<div class="mb-3 row">
<label for="ogCd" class="col-sm-2 col-form-label text-center">해촉</label>
<label for="dmlYn" class="col-sm-2 col-form-label text-center">해촉</label>
<div class="col-sm-2">
<select class="form-select form-select-sm" id="dmlYn" name="dmlYn">
<option value="">선택</option>
@ -288,7 +288,7 @@
</div>
</div>
<div class="mb-3 row">
<label for="tel" class="col-sm-2 col-form-label text-center">비고</label>
<label for="remark" 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>

View File

@ -6,13 +6,18 @@
<div class="col-12 card">
<div class="card-body">
<div class="row justify-content-start">
<h6>통역인이름</h6>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label text-center">통역인이름</label>
<div class="col-sm-2">
<input type="text" class="form-control text-center" th:value="${trName}">
</div>
</div>
<div class="card">
<div class="card-body">
<div class="row">
<h5>해양경찰청 이력</h5>
<input type="hidden" id="tcmKey" th:value="${trKey}">
<table class="table table-striped" id="categoryTable">
<table class="table table-hover table-bordered" id="categoryTable">
<thead>
<tr>
<th>연번</th>
@ -22,20 +27,20 @@
<th></th>
</tr>
</thead>
<tbody class="overflow-scroll">
<tr class="" th:each="crrInfo:${policeCrr}">
<td th:text="${crrInfo.careerSeq}"></td>
<td th:text="${crrInfo.tcDt}"></td>
<tbody class="overflow-scroll table-group-divider text-center">
<tr class="" th:each="crrInfo,i:${policeCrr}">
<td th:text="${policeCrr.size()-i.index}"></td>
<td th:text="${crrInfo.tcDt}"></td>
<td th:text="${crrInfo.contents}"></td>
<td th:text="${crrInfo.remark}"></td>
<td><button type="button" class="btn btn-danger m-0" id="deleteCareerBtn" th:onclick="|javascript:deleteCareerBtn('${crrInfo.careerSeq}','${crrInfo.translatorKey}')|" th:if="${accessAuth eq 'ACC003'} or ${wrtId eq userId}">삭제</button></td>
<td><button type="button" class="btn btn-danger m-0" id="deleteCareerBtn" th:onclick="|javascript:deleteCareerBtn('${crrInfo.careerSeq}','${crrInfo.translatorKey}')|" th:if="${accessAuth eq 'ACC003'} or ${wrtUserSeq eq userSeq}">삭제</button></td>
</tr>
</tbody>
</table>
</div>
<div class="row">
<h5>타기관 이력</h5>
<table class="table table-striped" id="categoryTable">
<table class="table table-hover table-bordered text-center" id="categoryTable">
<thead>
<tr>
<th>연번</th>
@ -45,13 +50,13 @@
<th></th>
</tr>
</thead>
<tbody class="overflow-scroll">
<tr class="" th:each="crrInfo:${anotherCrr}">
<td th:text="${crrInfo.careerSeq}"></td>
<tbody class="overflow-scroll table-group-divider">
<tr class="" th:each="crrInfo,i:${anotherCrr}">
<td th:text="${anotherCrr.size()-i.index}"></td>
<td th:text="${crrInfo.tcDt}"></td>
<td th:text="${crrInfo.contents}"></td>
<td th:text="${crrInfo.remark}"></td>
<td><button type="button" class="btn btn-danger m-0" id="deleteCareerBtn" th:onclick="|javascript:deleteCareerBtn('${crrInfo.careerSeq}','${crrInfo.translatorKey}')|" th:if="${accessAuth eq 'ACC003'} or ${wrtId eq userId}">삭제</button></td>
<td><button type="button" class="btn btn-danger m-0" id="deleteCareerBtn" th:onclick="|javascript:deleteCareerBtn('${crrInfo.careerSeq}','${crrInfo.translatorKey}')|" th:if="${accessAuth eq 'ACC003'} or ${wrtUserSeq eq userSeq}">삭제</button></td>
</tr>
</tbody>
</table>
@ -60,7 +65,7 @@
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary" id="crrInsertBtn" th:if="${accessAuth eq 'ACC003'} or ${wrtId eq userId}">이력등록</button>
<button type="button" class="btn btn-primary" id="crrInsertBtn" th:if="${accessAuth eq 'ACC003'} or ${wrtUserSeq eq userSeq}">이력등록</button>
</div>
</div>
</div>

View File

@ -1,7 +1,5 @@
<!DOCTYPE html>
<html lang="ko" xmlns:th="http://www.thymeleaf.org">
<div class="modal-dialog modal-lg">
<div class="modal-content ">
<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}"/>
@ -9,65 +7,67 @@
<input type="hidden" class="versionNo" name="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>
<label for="eOgdp1" class="col-sm-2 col-form-label text-center">관서</label>
<div class="col-sm-2">
<select class="form-select form-select-sm" id="eOgdp1" name="ogdp1" th:disabled="${accessAuth ne 'ACC003'}">
<option value="">선택</option>
<th:block th:each="commonCode:${session.commonCode.get('OG')}">
<th:block th:if="${#lists.contains(mgtOrganList, commonCode.itemCd)}">
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd} == ${trInfo.ogdp1}"></option>
</th:block>
</th:block>
</select>
</div>
<label for="ofcCd" class="col-sm-1 col-form-label text-center">언어</label>
<label for="eTrLang" class="col-sm-1 col-form-label text-center">언어</label>
<div class="col-sm-2">
<select class="form-select form-select-sm" id="trLang" name="trLang">
<select class="form-select form-select-sm" id="eTrLang" name="trLang">
<option value="">선택</option>
<th:block th:each="commonCode:${session.commonCode.get('LGG')}">
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd} == ${trInfo.trLang}"></option>
</th:block>
</select>
</div>
<label for="ofcCd" class="col-sm-1 col-form-label text-center">경력</label>
<label for="eTrCareer" class="col-sm-1 col-form-label text-center">경력</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="trCareer" name="trCareer" th:value="${trInfo.trCareer}">
<input type="text" class="form-control" id="eTrCareer" name="trCareer" th:value="${trInfo.trCareer}">
</div>
</div>
<div class="mb-3 row">
<label for="ogCd" class="col-sm-2 col-form-label text-center">성명</label>
<label for="eTrEname" class="col-sm-2 col-form-label text-center">성명</label>
<div class="col-sm-2">
<input type="text" class="form-control" id="trEname" name="trName" th:value="${trInfo.trName}">
<input type="text" class="form-control" id="eTrEname" name="trName" th:value="${trInfo.trName}">
</div>
<label for="ofcCd" class="col-sm-1 col-form-label text-center">성별</label>
<label for="eTrSex" class="col-sm-1 col-form-label text-center">성별</label>
<div class="col-sm-2">
<select class="form-select form-select-sm" name="trSex">
<select class="form-select form-select-sm" id="eTrSex" name="trSex">
<option value="">선택</option>
<th:block th:each="commonCode:${session.commonCode.get('SEX')}">
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd} == ${trInfo.trSex}"></option>
</th:block>
</select>
</div>
<label for="ofcCd" class="col-sm-1 col-form-label text-center">연락처</label>
<label for="eTrPhone" class="col-sm-1 col-form-label text-center">연락처</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="trPhone" name="trPhone" th:value="${trInfo.trPhone}">
<input type="text" class="form-control" id="eTrPhone" name="trPhone" th:value="${trInfo.trPhone}">
</div>
</div>
<div class="mb-3 row">
<label for="ogCd" class="col-sm-2 col-form-label text-center">국적</label>
<label for="eTrNny" class="col-sm-2 col-form-label text-center">국적</label>
<div class="col-sm-2">
<select class="form-select form-select-sm" name="trNny">
<select class="form-select form-select-sm" id="eTrNny" name="trNny">
<option value="">선택</option>
<th:block th:each="commonCode:${session.commonCode.get('NNY')}">
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd} == ${trInfo.trNny}"></option>
</th:block>
</select>
</div>
<label for="ofcCd" class="col-sm-1 col-form-label text-center">나이</label>
<label for="eTrAge" class="col-sm-1 col-form-label text-center">나이</label>
<div class="col-sm-2">
<input type="text" class="form-control" id="trAge" name="trAge" th:value="${trInfo.trAge}">
<input type="text" class="form-control" id="eTrAge" name="trAge" th:value="${trInfo.trAge}">
</div>
<label for="ofcCd" class="col-sm-1 col-form-label text-center">학력</label>
<label for="eTrEdu" class="col-sm-1 col-form-label text-center">학력</label>
<div class="col-sm-4">
<select class="form-select form-select-sm" name="trEdu">
<select class="form-select form-select-sm" id="eTrEdu" name="trEdu">
<option value="">선택</option>
<th:block th:each="commonCode:${session.commonCode.get('EDU')}">
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd} == ${trInfo.trEdu}"></option>
@ -76,27 +76,27 @@
</div>
</div>
<div class="mb-3 row">
<label for="ogCd" class="col-sm-2 col-form-label text-center">자격증</label>
<label for="eTrCft" class="col-sm-2 col-form-label text-center">자격증</label>
<div class="col-sm-2">
<input type="text" class="form-control" id="trCft" name="trCft" th:value="${trInfo.trCft}">
<input type="text" class="form-control" id="eTrCft" name="trCft" th:value="${trInfo.trCft}">
</div>
<label for="ofcCd" class="col-sm-1 col-form-label text-center">비자</label>
<label for="eTrVisa" class="col-sm-1 col-form-label text-center">비자</label>
<div class="col-sm-2">
<select class="form-select form-select-sm" name="trVisa">
<select class="form-select form-select-sm" id="eTrVisa" name="trVisa">
<option value="">선택</option>
<th:block th:each="commonCode:${session.commonCode.get('VISA')}">
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd} == ${trInfo.trVisa}"></option>
</th:block>
</select>
</div>
<label for="ofcCd" class="col-sm-1 col-form-label text-center">위촉일</label>
<label for="viewAptDt" class="col-sm-1 col-form-label text-center">위촉일</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="viewAptDt" name="aptDt" th:value="${trInfo.aptDt}">
<input type="text" class="form-control" id="viewAptDt" name="aptDt" th:value="${trInfo.aptDt}" readonly>
</div>
</div>
<label for="ogCd" class="col-sm-2 col-form-label text-center">해촉</label>
<label for="eDmlYn" class="col-sm-2 col-form-label text-center">해촉</label>
<div class="col-sm-2">
<select class="form-select form-select-sm" name="dmlYn">
<select class="form-select form-select-sm" id="eDmlYn" name="dmlYn">
<option value="">선택</option>
<option value="O" th:selected="'O' == ${trInfo.dmlYn}"></option>
<option value="X" th:selected="'X' == ${trInfo.dmlYn}">아니오</option>
@ -104,18 +104,17 @@
</div>
<div class="mb-3 row">
<label for="tel" class="col-sm-2 col-form-label text-center">비고</label>
<label for="eRemark" class="col-sm-2 col-form-label text-center">비고</label>
<div class="col-sm-4">
<textarea class="form-control" id="remark" name="remark" th:text="${trInfo.remark}"></textarea>
<textarea class="form-control" id="eRemark" name="remark" th:text="${trInfo.remark}"></textarea>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" id="trDeleteBtn" th:unless="${accessAuth eq 'ACC001'}">해임</button>
<button type="button" class="btn btn-primary" id="updateBtn" th:if="${accessAuth eq 'ACC003'} or ${wrtId eq userId}">수정</button>
<button type="button" class="btn btn-secondary" id="trDeleteBtn" th:if="${accessAuth eq 'ACC003'} or ${wrtUserSeq eq userSeq}">해임</button>
<button type="button" class="btn btn-warning" id="updateBtn" th:if="${accessAuth eq 'ACC003'} or ${wrtUserSeq eq userSeq}">수정</button>
</div>
</form>
</div>
</div>
</html>

View File

@ -1,6 +1,5 @@
<!DOCTYPE html>
<html lang="ko" xmlns:th="http://www.thymeleaf.org">
<main class="pt-3">
<input type="hidden" name="_csrf_header" th:value="${_csrf.headerName}"/>
<input type="hidden" th:name="${_csrf.parameterName}" th:value="${_csrf.token}"/>
<div class="row mx-0">
@ -22,13 +21,13 @@
</tr>
</thead>
<tbody class="overflow-scroll">
<tr class="historyInfoTr" th:each="trInfo:${HistoryList}">
<tr class="historyInfoTr" th:each="trInfo:${historyList}">
<td><input type="checkbox" class="hisChk">
<input type="hidden" class="trKey" th:value="${trInfo.translatorKey}">
<input type="hidden" class="verNo" th:value="${trInfo.versionNo}">
</td>
<td th:text="${trInfo.wrtNm}"></td>
<td th:text="${#temporals.format(trInfo.wrtDt, 'yyyy-MM-dd')}"></td>
<td th:text="|${trInfo.wrtTitle} ${trInfo.wrtNm}|"></td>
<td th:text="${#temporals.format(trInfo.wrtDt, 'yyyy-MM-dd HH:mm')}"></td>
</tr>
</tbody>
</table>
@ -110,5 +109,4 @@
</div>
</div>
</div>
</main>
</html>

View File

@ -18,7 +18,7 @@
<div class="card">
<div class="card-body">
<div class="row">
<table class="table table-striped">
<table class="table table-hover table-bordered">
<thead>
<tr>
<th colspan="2">어권별 구분</th>
@ -50,7 +50,7 @@
</th:block>
</tr>
</thead>
<tbody>
<tbody class="table-group-divider">
<tr class="" th:each="cnt,index:${cntList}">
<td th:text="${index.index+1}"></td>
<td th:text="${cnt.lang}"></td>
@ -67,7 +67,7 @@
<div class="row justify-content-center">
<div class="col-auto">
<div class="col-auto">
<button id="excelDown">엑셀다운</button>
<button id="excelDown" class="btn btn-success">엑셀다운</button>
</div>
</div>
</div>