fix:민간통역 작업중푸쉬

TaehunPark 2022-09-05 16:47:25 +09:00
parent dfe12296e1
commit c3ffc6759b
9 changed files with 264 additions and 127 deletions

View File

@ -31,12 +31,12 @@ public class CodeMgt {
private String status; private String status;
@Override @Override
public String toString() { public String toString() {
return "CodeMgt [categoryCd=" + categoryCd + ", itemCd=" + itemCd + ", itemValue=" + itemValue + ", useChk=" return "CodeMgt [categoryCd=" + categoryCd + ", itemCd=" + itemCd + ", itemValue=" + itemValue + ", useChk="
+ useChk + ", status=" + status + "]"; + useChk + ", status=" + status + "]";
} }
@Embeddable @Embeddable
@Data @Data
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor

View File

@ -35,7 +35,6 @@ public class TranslatorController {
public ModelAndView translatorInfo(@AuthenticationPrincipal UserInfo loginUser,Translator translator) { public ModelAndView translatorInfo(@AuthenticationPrincipal UserInfo loginUser,Translator translator) {
ModelAndView mav = new ModelAndView("translator/translator"); ModelAndView mav = new ModelAndView("translator/translator");
translator.setOrganCdList(organConfigService.selectOrganListWhereUserOgCd(loginUser.getOgCd())); translator.setOrganCdList(organConfigService.selectOrganListWhereUserOgCd(loginUser.getOgCd()));
System.out.println("@@="+translator.getOrganCdList());
translator.setQueryInfo(); translator.setQueryInfo();
mav.addObject("translatorList", translatorSevice.selectTranslatorList(translator)); mav.addObject("translatorList", translatorSevice.selectTranslatorList(translator));
translator.setContentCnt(translatorSevice.selectTranslatorListCnt(translator)); translator.setContentCnt(translatorSevice.selectTranslatorListCnt(translator));
@ -51,4 +50,19 @@ public class TranslatorController {
return translatorSevice.insertTranslatorInfo(translator); 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);
}
} }

View File

@ -5,10 +5,13 @@ import com.dbnt.faisp.menuMgt.model.MenuMgt;
import com.dbnt.faisp.menuMgt.repository.MenuMgtRepository; import com.dbnt.faisp.menuMgt.repository.MenuMgtRepository;
import com.dbnt.faisp.translator.mapper.TranslatorMapper; import com.dbnt.faisp.translator.mapper.TranslatorMapper;
import com.dbnt.faisp.translator.model.Translator; 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.translator.repository.TranslatorRepository;
import com.dbnt.faisp.userInfo.model.UserInfo;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.persistence.Transient; import javax.persistence.Transient;
@ -24,6 +27,7 @@ public class TranslatorService {
public String insertTranslatorInfo(Translator translator) { public String insertTranslatorInfo(Translator translator) {
translator.setVersionNo(1);
translator.setWrtDt(LocalDateTime.now()); translator.setWrtDt(LocalDateTime.now());
return translatorRepository.save(translator).getTrName(); return translatorRepository.save(translator).getTrName();
} }
@ -39,4 +43,15 @@ public class TranslatorService {
} }
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);
}
} }

View File

@ -2,7 +2,11 @@ package com.dbnt.faisp.translator.model;
import com.dbnt.faisp.authMgt.model.AccessConfig; import com.dbnt.faisp.authMgt.model.AccessConfig;
import com.dbnt.faisp.authMgt.model.ApprovalConfig; import com.dbnt.faisp.authMgt.model.ApprovalConfig;
import com.dbnt.faisp.codeMgt.model.CodeMgt;
import com.dbnt.faisp.config.BaseModel; import com.dbnt.faisp.config.BaseModel;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.Getter; import lombok.Getter;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import lombok.Setter; import lombok.Setter;
@ -28,11 +32,13 @@ import java.util.Set;
@DynamicInsert @DynamicInsert
@DynamicUpdate @DynamicUpdate
@Table(name = "translator_info") @Table(name = "translator_info")
@IdClass(Translator.TranslatorId.class)
public class Translator extends BaseModel implements Serializable{ public class Translator extends BaseModel implements Serializable{
@Id @Id
@GeneratedValue(strategy = GenerationType.IDENTITY) @GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "translator_key") @Column(name = "translator_key")
private Integer translatorKey; private Integer translatorKey;
@Id
@Column(name = "version_no") @Column(name = "version_no")
private Integer versionNo; private Integer versionNo;
@Column(name = "ogdp1") @Column(name = "ogdp1")
@ -81,7 +87,14 @@ public String toString() {
+ ", dmlYn=" + dmlYn + ", remark=" + remark + ", wrtNm=" + wrtNm + ", wrtDt=" + wrtDt + "]"; + ", dmlYn=" + dmlYn + ", remark=" + remark + ", wrtNm=" + wrtNm + ", wrtDt=" + wrtDt + "]";
} }
@Embeddable
@Data
@NoArgsConstructor
@AllArgsConstructor
public static class TranslatorId implements Serializable {
private Integer translatorKey;
private Integer versionNo;
}
} }

View File

@ -1,13 +1,11 @@
package com.dbnt.faisp.translator.repository; package com.dbnt.faisp.translator.repository;
import com.dbnt.faisp.translator.model.Translator; import com.dbnt.faisp.translator.model.Translator;
import com.dbnt.faisp.userInfo.model.UserInfo;
import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaRepository;
import java.util.Optional;
public interface TranslatorRepository extends JpaRepository<Translator, Integer> { public interface TranslatorRepository extends JpaRepository<Translator, Translator.TranslatorId> {
} }

View File

@ -6,22 +6,32 @@
<mapper namespace="com.dbnt.faisp.translator.mapper.TranslatorMapper"> <mapper namespace="com.dbnt.faisp.translator.mapper.TranslatorMapper">
<select id="selectTranslatorList" resultType="Translator" parameterType="Translator"> <select id="selectTranslatorList" resultType="Translator" parameterType="Translator">
select select a.translator_key,
translator_key, version_no,
(select item_value from code_mgt where item_cd = ogdp1) as ogdp1, c.item_value as ogdp1,
(select item_value from code_mgt where item_cd = tr_lang) as tr_lang, d.item_value as tr_lang,
tr_career, tr_career,
tr_name, tr_name,
(select item_value from code_mgt where item_cd = tr_sex) as tr_sex, e.item_value as tr_sex,
tr_age, tr_age,
(select item_value from code_mgt where item_cd = tr_nny) as tr_nny, f.item_value as tr_nny,
(select item_value from code_mgt where item_cd = tr_edu) as tr_edu, g.item_value as tr_edu,
tr_cft, tr_cft,
(select item_value from code_mgt where item_cd = tr_visa) as tr_visa, h.item_value as tr_visa,
dml_yn, dml_yn,
apt_dt, apt_dt,
tr_phone tr_phone
from translator_info 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 where wrt_organ in
<foreach collection="organCdList" item="item" index="index" separator="," open="(" close=")"> <foreach collection="organCdList" item="item" index="index" separator="," open="(" close=")">
#{item} #{item}
@ -32,11 +42,38 @@
<select id="selectTranslatorListCnt" resultType="int" parameterType="Translator"> <select id="selectTranslatorListCnt" resultType="int" parameterType="Translator">
select count(*) select count(*)
from translator_info from(
where wrt_organ in 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
<foreach collection="organCdList" item="item" index="index" separator="," open="(" close=")"> <foreach collection="organCdList" item="item" index="index" separator="," open="(" close=")">
#{item} #{item}
</foreach> </foreach>
) a
</select> </select>
</mapper> </mapper>

View File

@ -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 (){ $(document).on('click', '#saveBtn', function (){
if(confirm("저장하시겠습니까?")){ if(confirm("저장하시겠습니까?")){

View File

@ -78,6 +78,10 @@
</thead> </thead>
<tbody> <tbody>
<tr class="userInfoTr" th:each="trInfo:${translatorList}"> <tr class="userInfoTr" th:each="trInfo:${translatorList}">
<th:block>
<input type="hidden" class="trKey" th:value="${trInfo.translatorKey}">
<input type="hidden" class="verNo" th:value="${trInfo.versionNo}">
</th:block>
<td th:text="${trInfo.translatorKey}"></td> <td th:text="${trInfo.translatorKey}"></td>
<td th:text="${trInfo.ogdp1}"></td> <td th:text="${trInfo.ogdp1}"></td>
<td th:text="${trInfo.trLang}"></td> <td th:text="${trInfo.trLang}"></td>
@ -254,7 +258,7 @@
<div class="mb-3 row"> <div class="mb-3 row">
<label for="tel" class="col-sm-2 col-form-label text-center">비고</label> <label for="tel" class="col-sm-2 col-form-label text-center">비고</label>
<div class="col-sm-4"> <div class="col-sm-4">
<textarea class="form-control" id="remark"></textarea> <textarea class="form-control" id="remark" name="remark"></textarea>
</div> </div>
</div> </div>
@ -270,30 +274,26 @@
<div class="modal fade" id="authEditModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="authEditModalLabel" aria-hidden="true"> <div class="modal fade" id="translatorEditModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="authEditModalLabel" aria-hidden="true">
<div class="modal-dialog modal-lg modal-dialog-scrollable"> <div class="modal-dialog modal-lg modal-dialog-scrollable">
<div class="modal-content" id="authEditModalContent"> <div class="modal-content" id="authEditModalContent">
<div class="modal-header"> <div class="modal-header">
<h5 class="modal-title" id="menuEditModalLabel">권한 편집</h5> <h5 class="modal-title" id="menuEditModalLabel">통역인 정보</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div> </div>
<div class="modal-body"> <div class="modal-body">
<ul class="nav nav-tabs" id="userTab" role="tablist"> <ul class="nav nav-tabs" id="userTab" role="tablist">
<li class="nav-item" role="presentation"> <li class="nav-item" role="presentation">
<button class="nav-link active" id="accessTab" data-bs-toggle="tab" data-bs-target="#accessTabPanel" type="button" role="tab" aria-controls="accessTabPanel" aria-selected="true">메뉴</button> <button class="nav-link active" id="accessTab" data-bs-toggle="tab" data-bs-target="#accessTabPanel" type="button" role="tab" aria-controls="accessTabPanel" aria-selected="true">인적사항</button>
</li> </li>
<li class="nav-item" role="presentation"> <li class="nav-item" role="presentation">
<button class="nav-link" id="approvalTab" data-bs-toggle="tab" data-bs-target="#approvalTabPanel" type="button" role="tab" aria-controls="approvalTabPanel" aria-selected="false">결재</button> <button class="nav-link" id="approvalTab" data-bs-toggle="tab" data-bs-target="#approvalTabPanel" type="button" role="tab" aria-controls="approvalTabPanel" aria-selected="false">수정이력</button>
</li> </li>
</ul> </ul>
<div class="tab-content border border-top-0" id="configInfo"> <div class="tab-content border border-top-0" id="configInfo">
</div> </div>
</div> </div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">닫기</button>
<button type="button" class="btn btn-primary" id="saveAuthBtn">저장</button>
</div>
</div> </div>
</div> </div>
</div> </div>

View File

@ -1,100 +1,121 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="ko" xmlns:th="http://www.thymeleaf.org"> <html lang="ko" xmlns:th="http://www.thymeleaf.org">
<input type="hidden" id="userSeq" th:value="${userInfo.userSeq}"> <div class="modal-dialog modal-lg">
<div class="tab-pane fade show active" id="accessTabPanel" role="tabpanel" aria-labelledby="accessTab" tabindex="0"> <div class="modal-content ">
<table class="table table-hover text-center" id="accessEditTable"> <form id="trInfoUpdate" method="post">
<thead> <input type="hidden" name="_csrf_header" th:value="${_csrf.headerName}"/>
<tr> <input type="hidden" th:name="${_csrf.parameterName}" th:value="${_csrf.token}"/>
<th>대분류</th> <input type="hidden" name="translatorKey" th:value="${trInfo.translatorKey}"/>
<th>중분류</th> <input type="hidden" name="versionNo" th:value="${trInfo.versionNo}"/>
<th>소분류</th> <div class="mb-3 row">
<th>관리</th> <div class="mb-3 row">
<th>작성</th> <label for="ogCd" class="col-sm-2 col-form-label text-center">관서</label>
<th>조회</th> <div class="col-sm-2">
</tr> <select class="form-select form-select-sm" name="ogdp1">
</thead> <option value="">선택</option>
<tbody> <th:block th:each="commonCode:${session.commonCode.get('OG')}">
<tr th:each="accessConfig:${userInfo.accessConfigList}"> <option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd} == ${trInfo.ogdp1}"></option>
<input type="hidden" class="menuKey" th:value="${accessConfig.menuKey}"> </th:block>
<th:block th:each="commonCode:${session.commonCode.get('CAT1')}"> </select>
<th:block th:if="${commonCode.itemCd eq accessConfig.cat1Cd}"> </div>
<td th:text="${commonCode.itemValue}"></td> <label for="ofcCd" class="col-sm-1 col-form-label text-center">언어</label>
</th:block> <div class="col-sm-2">
</th:block> <select class="form-select form-select-sm" name="trLang">
<th:block th:each="commonCode:${session.commonCode.get('CAT2')}"> <option value="">선택</option>
<th:block th:if="${commonCode.itemCd eq accessConfig.cat2Cd}"> <th:block th:each="commonCode:${session.commonCode.get('LGG')}">
<td th:text="${commonCode.itemValue}"></td> <option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd} == ${trInfo.trLang}"></option>
</th:block> </th:block>
</th:block> </select>
<th:block th:if="${#strings.isEmpty(accessConfig.cat3Cd)}"> </div>
<td></td> <label for="ofcCd" class="col-sm-1 col-form-label text-center">경력</label>
</th:block> <div class="col-sm-4">
<th:block th:unless="${#strings.isEmpty(accessConfig.cat3Cd)}" th:each="commonCode:${session.commonCode.get('CAT3')}"> <input type="text" class="form-control" id="trCareer" name="trCareer" th:value="${trInfo.trCareer}">
<th:block th:if="${commonCode.itemCd eq accessConfig.cat3Cd}"> </div>
<td th:text="${commonCode.itemValue}"></td> </div>
</th:block> <div class="mb-3 row">
</th:block> <label for="ogCd" class="col-sm-2 col-form-label text-center">성명</label>
<td class="radioTd"> <div class="col-sm-2">
<input type="radio" th:name="${#strings.concat('accessAuth',accessConfig.menuKey)}" th:checked="${'ACC003' eq accessConfig.accessAuth}" value="ACC003"> <input type="text" class="form-control" id="trName" name="trName" th:value="${trInfo.trName}">
</td> </div>
<td class="radioTd"> <label for="ofcCd" class="col-sm-1 col-form-label text-center">성별</label>
<input type="radio" th:name="${#strings.concat('accessAuth',accessConfig.menuKey)}" th:checked="${'ACC002' eq accessConfig.accessAuth}" value="ACC002"> <div class="col-sm-2">
</td> <select class="form-select form-select-sm" name="trSex">
<td class="radioTd"> <option value="">선택</option>
<input type="radio" th:name="${#strings.concat('accessAuth',accessConfig.menuKey)}" th:checked="${'ACC001' eq accessConfig.accessAuth}" value="ACC001"> <th:block th:each="commonCode:${session.commonCode.get('SEX')}">
</td> <option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd} == ${trInfo.trSex}"></option>
</tr> </th:block>
</tbody> </select>
</table> </div>
</div> <label for="ofcCd" class="col-sm-1 col-form-label text-center">연락처</label>
<div class="tab-pane fade" id="approvalTabPanel" role="tabpanel" aria-labelledby="approvalTab" tabindex="0"> <div class="col-sm-4">
<table class="table table-hover text-center" id="approvalEditTable"> <input type="text" class="form-control" id="trPhone" name="trPhone" th:value="${trInfo.trPhone}">
<thead> </div>
<tr> </div>
<th>대분류</th> <div class="mb-3 row">
<th>중분류</th> <label for="ogCd" class="col-sm-2 col-form-label text-center">국적</label>
<th>소분류</th> <div class="col-sm-2">
<th>계장대행</th> <select class="form-select form-select-sm" name="trNny">
<th>계장</th> <option value="">선택</option>
<th>과장대행</th> <th:block th:each="commonCode:${session.commonCode.get('NNY')}">
<th>과장</th> <option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd} == ${trInfo.trNny}"></option>
</tr> </th:block>
</thead> </select>
<tbody> </div>
<tr th:each="approvalConfig:${userInfo.approvalConfigList}"> <label for="ofcCd" class="col-sm-1 col-form-label text-center">나이</label>
<input type="hidden" class="menuKey" th:value="${approvalConfig.menuKey}"> <div class="col-sm-2">
<th:block th:each="commonCode:${session.commonCode.get('CAT1')}"> <input type="text" class="form-control" id="trAge" name="trAge" th:value="${trInfo.trAge}">
<th:block th:if="${commonCode.itemCd eq approvalConfig.cat1Cd}"> </div>
<td th:text="${commonCode.itemValue}">.</td> <label for="ofcCd" class="col-sm-1 col-form-label text-center">학력</label>
</th:block> <div class="col-sm-4">
</th:block> <select class="form-select form-select-sm" name="trEdu">
<th:block th:each="commonCode:${session.commonCode.get('CAT2')}"> <option value="">선택</option>
<th:block th:if="${commonCode.itemCd eq approvalConfig.cat2Cd}"> <th:block th:each="commonCode:${session.commonCode.get('EDU')}">
<td th:text="${commonCode.itemValue}">.</td> <option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd} == ${trInfo.trEdu}"></option>
</th:block> </th:block>
</th:block> </select>
<th:block th:if="${#strings.isEmpty(approvalConfig.cat3Cd)}"> </div>
<td></td> </div>
</th:block> <div class="mb-3 row">
<th:block th:unless="${#strings.isEmpty(approvalConfig.cat3Cd)}" th:each="commonCode:${session.commonCode.get('CAT3')}"> <label for="ogCd" class="col-sm-2 col-form-label text-center">자격증</label>
<th:block th:if="${commonCode.itemCd eq approvalConfig.cat3Cd}"> <div class="col-sm-2">
<td th:text="${commonCode.itemValue}"></td> <input type="text" class="form-control" id="trCft" name="trCft" th:value="${trInfo.trCft}">
</th:block> </div>
</th:block> <label for="ofcCd" class="col-sm-1 col-form-label text-center">비자</label>
<td class="radioTd"> <div class="col-sm-2">
<input type="radio" th:name="${#strings.concat('approvalAuth',approvalConfig.menuKey)}" th:checked="${'APC004' eq approvalConfig.approvalAuth}" value="APC004"> <select class="form-select form-select-sm" name="trVisa">
</td> <option value="">선택</option>
<td class="radioTd"> <th:block th:each="commonCode:${session.commonCode.get('VISA')}">
<input type="radio" th:name="${#strings.concat('approvalAuth',approvalConfig.menuKey)}" th:checked="${'APC003' eq approvalConfig.approvalAuth}" value="APC003"> <option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd} == ${trInfo.trVisa}"></option>
</td> </th:block>
<td class="radioTd"> </select>
<input type="radio" th:name="${#strings.concat('approvalAuth',approvalConfig.menuKey)}" th:checked="${'APC002' eq approvalConfig.approvalAuth}" value="APC002"> </div>
</td> <label for="ofcCd" class="col-sm-1 col-form-label text-center">위촉일</label>
<td class="radioTd"> <div class="col-sm-4">
<input type="radio" th:name="${#strings.concat('approvalAuth',approvalConfig.menuKey)}" th:checked="${'APC001' eq approvalConfig.approvalAuth}" value="APC001"> <!-- <input type="date" class="form-control" id="aptDt" name="aptDt"> -->
</td> </div>
</tr> </div>
</tbody> <label for="ogCd" class="col-sm-2 col-form-label text-center">해촉</label>
</table> <div class="col-sm-2">
</div> <select class="form-select form-select-sm" name="dmlYn">
<option value="">선택</option>
<option value="Y"></option>
<option value="N">아니오</option>
</select>
</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" th:text="${trInfo.remark}"></textarea>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" id="closeModalBtn">해임</button>
<button type="button" class="btn btn-primary" id="updateBtn">수정</button>
</div>
</form>
</div>
</div>
</html> </html>