외사경찰현황 수정양식 변경.

master
강석 최 2023-02-22 14:44:22 +09:00
parent 36af4dae92
commit 4edbc824c8
11 changed files with 397 additions and 330 deletions

View File

@ -120,8 +120,10 @@ public class PoliceController {
@GetMapping("/policeHistoryView")
@ResponseBody
public UserInfoHistory policeHistoryView(UserInfoHistory userInfoHistory){
return userInfoService.selectPoliceHistoryView(userInfoHistory);
public ModelAndView policeHistoryView(UserInfoHistory userInfoHistory){
ModelAndView mav = new ModelAndView("police/police/historyValueDiv");
mav.addObject("userInfo", userInfoService.selectPoliceHistoryView(userInfoHistory));
return mav;
}
@PostMapping("/policeStatusUpdate")

View File

@ -23,8 +23,6 @@ public interface UserInfoMapper {
List<UserInfoHistory> selectPoliceHisList(UserInfoHistory userInfoHistory);
UserInfoHistory selectpoliceHistoryView(UserInfoHistory userInfoHistory);
List<PersonnelStatus> selectPersonnelStatusList(PersonnelStatus personnelStatus);
PersonnelStatus nowPersonnelStatus(String ogCd);

View File

@ -4,7 +4,7 @@ import com.dbnt.faisp.main.userInfo.model.UserInfoHistory;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.Optional;
public interface UserInfoHistoryRepository extends JpaRepository<UserInfoHistory, UserInfoHistory.UserInfoHistoryId> {
@ -13,5 +13,5 @@ public interface UserInfoHistoryRepository extends JpaRepository<UserInfoHistory
UserInfoHistory findTopByUserSeqOrderByVersionNoDesc(Integer userSeq);
Optional<UserInfoHistory> findByUserSeqAndVersionNo(Integer userSeq, Integer versionNo);
}

View File

@ -250,8 +250,9 @@ public class UserInfoService implements UserDetailsService {
}
public UserInfoHistory selectPoliceHistoryView(UserInfoHistory userInfoHistory) {
return userInfoMapper.selectpoliceHistoryView(userInfoHistory);
return userInfoHistoryRepository.findByUserSeqAndVersionNo(userInfoHistory.getUserSeq(), userInfoHistory.getVersionNo()).orElse(null);
}
public String selectUserStatus(UserInfoHistory userInfoHistory) {
return userInfoRepository.getUserStatus(userInfoHistory.getUserSeq());
}

View File

@ -288,31 +288,6 @@
order by version_no desc
</select>
<select id="selectpoliceHistoryView" resultType="UserInfoHistory" parameterType="UserInfoHistory">
select user_seq,
version_no,
dic_code,
user_id,
user_nm,
phone_no,
email,
(select item_value from code_mgt where item_cd = sex) as sex,
birth_date,
police_in_date,
(select item_value from code_mgt where item_cd = og_cd) as og_cd,
organ_in_date,
ofc_cd,
ofc_in_date,
(select item_value from code_mgt where item_cd = title_cd) as title_cd,
title_in_date,
(select item_value from code_mgt where item_cd = duty_cd) as duty_cd,
(select item_value from code_mgt where item_cd = outturn_cd) as outturn_cd,
(select item_value from code_mgt where item_cd = series_cd) as series_cd,
(select item_value from code_mgt where item_cd = language_cd) as language_cd
from user_info_history
where user_seq = #{userSeq}
and version_no = #{versionNo}
</select>
<select id="selectPersonnelStatusList" parameterType="PersonnelStatus" resultType="PersonnelStatus">
select
case

View File

@ -19,7 +19,9 @@ function showModal(userSeq){
language: "ko",
autoclose: true
});
$("#policeEditModal").modal('show');
const policeEditModal = $("#policeEditModal");
policeEditModal.children().attr("class", "modal-dialog modal-lg modal-dialog-scrollable")
policeEditModal.modal('show');
},
error:function(e){
ajaxErrorAction(e);
@ -92,7 +94,9 @@ $(document).on('click', '#historyTab', function (){
dataType:"html",
success: function(html){
$("#policeEditModalContent").empty().append(html);
$("#policeEditModal").modal('show');
const policeEditModal = $("#policeEditModal")
policeEditModal.children().attr("class", "modal-dialog modal-xl modal-dialog-scrollable")
policeEditModal.modal('show');
},
error:function(e){
ajaxErrorAction(e);
@ -118,26 +122,9 @@ $(document).on('click', '.historyInfoTr', function (){
versionNo : Number($(this).find(".verNo").val())
},
type: 'GET',
dataType:"json",
success: function(data){
$('#vDicCode').val(data.dicCode);
$('#vUserId').val(data.userId);
$('#vUserNm').val(data.userNm);
$('#vPhone').val(data.phoneNo);
$('#vEmail').val(data.email);
$('#vSex').val(data.sex);
$('#vBirth').val(data.birthDate);
$('#vPoliceInDate').val(data.policeInDate);
$('#vOgCd').val(data.ogCd);
$('#vOrganInDate').val(data.organInDate);
$('#vOfcCd').val(data.ofcCd);
$('#vOfcInDate').val(data.ofcInDate);
$('#vTitleCd').val(data.titleCd);
$('#vTitleInDate').val(data.titleInDate);
$('#vDutyCd').val(data.dutyCd);
$('#vOutturnCd').val(data.outturnCd);
$('#vSeriesCd').val(data.seriesCd);
$('#vLanguageCd').val(data.languageCd);
dataType:"html",
success: function(html){
$("#valueDiv").empty().append(html)
},
error:function(e){
ajaxErrorAction(e);

View File

@ -0,0 +1,163 @@
<!DOCTYPE html>
<html lang="ko">
<div class="mb-3 mt-3 row">
<label class="col-sm-2 col-form-label col-form-label-sm text-center ">디지털식별코드</label>
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm bg-white" autocomplete="off" th:value="${userInfo.dicCode}" disabled>
</div>
</div>
<div class="row mb-1">
<label class="col-sm-2 col-form-label col-form-label-sm text-center ">아이디</label>
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm bg-white" autocomplete="off" th:value="${userInfo.userId}" disabled>
</div>
<label class="col-sm-2 col-form-label col-form-label-sm text-center">이름</label>
<div class="col-sm-2">
<input type="text" class=" form-control form-control-sm bg-white" autocomplete="off" th:value="${userInfo.userNm}" disabled>
</div>
</div>
<div class="row mb-1">
<label class="col-sm-2 col-form-label col-form-label-sm text-center">성별</label>
<div class="col-sm-2">
<select class="form-select form-select-sm bg-white" disabled>
<option value="SEX002" th:selected="${userInfo.sex eq 'SEX002'}"></option>
<option value="SEX001" th:selected="${userInfo.sex eq 'SEX001'}"></option>
</select>
</div>
<label class="col-sm-2 col-form-label col-form-label-sm text-center">휴대전화</label>
<div class="col-sm-2">
<input type="tel" class="form-control form-control-sm bg-white" th:value="${userInfo.phoneNo}" disabled>
</div>
<label class="col-sm-2 col-form-label col-form-label-sm text-center">이메일</label>
<div class="col-sm-2">
<input type="email" class="form-control form-control-sm bg-white" th:value="${userInfo.email}" disabled>
</div>
</div>
<div class="row mb-1">
<label class="col-sm-2 col-form-label col-form-label-sm text-center">생년월일</label>
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm bg-white dateSelector" th:value="${userInfo.birthDate}" disabled>
</div>
<label class="col-sm-2 col-form-label col-form-label-sm text-center">해양경찰배명일</label>
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm bg-white dateSelector" th:value="${userInfo.policeInDate}" disabled>
</div>
</div>
<div class="row mb-1">
<label class="col-sm-2 col-form-label col-form-label-sm text-center">관서</label>
<div class="col-sm-2">
<select class="form-select form-select-sm bg-white" disabled>
<option value="">--선택--</option>
<th:block th:each="code:${session.commonCode.get('OG')}">
<option th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq userInfo.ogCd}"></option>
</th:block>
</select>
</div>
<label class="col-sm-2 col-form-label col-form-label-sm text-center">현관서전입일</label>
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm bg-white dateSelector" th:value="${userInfo.organInDate}" disabled>
</div>
</div>
<div class="row mb-1">
<label class="col-sm-2 col-form-label col-form-label-sm text-center">부서</label>
<div class="col-sm-2">
<select class="form-select form-select-sm bg-white" disabled>
<option value="">--선택--</option>
<th:block th:each="code:${session.commonCode.get('OFC')}">
<option th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq userInfo.ofcCd}"></option>
</th:block>
</select>
</div>
<label class="col-sm-2 col-form-label col-form-label-sm text-center">현부서임용일</label>
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm bg-white dateSelector" th:value="${userInfo.ofcInDate}" disabled>
</div>
</div>
<div class="row mb-1">
<label class="col-sm-2 col-form-label col-form-label-sm text-center">계급</label>
<div class="col-sm-2">
<select class="form-select form-select-sm bg-white" disabled>
<option value="">--선택--</option>
<th:block th:each="code:${session.commonCode.get('JT')}">
<option th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq userInfo.titleCd}"></option>
</th:block>
</select>
</div>
<label class="col-sm-2 col-form-label col-form-label-sm text-center">현계급임용일</label>
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm bg-white dateSelector" th:value="${userInfo.titleInDate}" disabled>
</div>
</div>
<div class="row mb-1">
<label class="col-sm-2 col-form-label col-form-label-sm text-center">직책</label>
<div class="col-sm-2">
<select class="form-select form-select-sm bg-white" disabled>
<option value="">--선택--</option>
<th:block th:each="code:${session.commonCode.get('DT')}">
<option th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq userInfo.dutyCd}"></option>
</th:block>
</select>
</div>
<label class="col-sm-2 col-form-label col-form-label-sm text-center">경과</label>
<div class="col-sm-2">
<select class="form-select form-select-sm bg-white" disabled>
<option value="">--선택--</option>
<th:block th:each="code:${session.commonCode.get('OTC')}">
<option th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq userInfo.outturnCd}"></option>
</th:block>
</select>
</div>
<label class="col-sm-2 col-form-label col-form-label-sm text-center">직별</label>
<div class="col-sm-2">
<select class="form-select form-select-sm bg-white" disabled>
<option value="">--선택--</option>
<th:block th:each="code:${session.commonCode.get(userInfo.outturnCd)}">
<option th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq userInfo.seriesCd}"></option>
</th:block>
</select>
</div>
</div>
<div class="row mb-1">
<label class="col-sm-2 col-form-label col-form-label-sm text-center">외국어특채</label>
<div class="col-sm-2">
<select class="form-select form-select-sm bg-white" disabled>
<option value="">--선택--</option>
<th:block th:each="code:${session.commonCode.get('LNG')}">
<option th:if="${code.useChk eq 'T'}" th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq userInfo.languageCd}"></option>
</th:block>
</select>
</div>
<label class="col-sm-2 col-form-label col-form-label-sm text-center">구사 외국어</label>
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm bg-white" th:value="${userInfo.useLanguage}" disabled>
</div>
<label class="col-sm-2 col-form-label col-form-label-sm text-center">수준</label>
<div class="col-sm-2">
<select class="form-select form-select-sm bg-white" disabled>
<option value="">해당없음</option>
<option value="1" th:selected="${userInfo.languageGrd eq '1'}"></option>
<option value="2" th:selected="${userInfo.languageGrd eq '2'}"></option>
<option value="3" th:selected="${userInfo.languageGrd eq '3'}"></option>
</select>
</div>
</div>
<div class="row mb-1">
<label class="col-sm-2 col-form-label col-form-label-sm text-center">학력사항</label>
<div class="col-sm-2">
<select class="form-select form-select-sm bg-white" disabled>
<option value="">해당없음</option>
<th:block th:each="code:${session.commonCode.get('UED')}">
<option th:if="${code.useChk eq 'T'}" th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq userInfo.educationGrd}"></option>
</th:block>
</select>
</div>
<label class="col-sm-2 col-form-label col-form-label-sm text-center">학교</label>
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm bg-white" th:value="${userInfo.school}" disabled>
</div>
<label class="col-sm-2 col-form-label col-form-label-sm text-center">전공</label>
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm bg-white" th:value="${userInfo.specialism}" disabled>
</div>
</div>
</html>

View File

@ -1,158 +1,188 @@
<!DOCTYPE html>
<html lang="ko" xmlns:th="http://www.thymeleaf.org">
<div class="modal-header bg-dark">
<h5 class="modal-title text-white" th:text="${userInfo.userStatus eq 'USC003' ? '現 외사경찰 상세' : userInfo.userStatus eq 'USC006' ? '前 외사경찰 상세' : userInfo.userStatus eq 'USC007' ? '非 외사경찰 상세' : null}"></h5>
<h5 class="modal-title text-white" th:text="|${userInfo.userStatus eq 'USC003'?'現':userInfo.userStatus eq 'USC006'?'前':userInfo.userStatus eq 'USC007'?'非':''} 외사경찰 상세|"></h5>
<button type="button" class="btn-close f-invert" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<ul class="nav nav-tabs" id="userTab" role="tablist">
<li class="nav-item" role="presentation">
<button class="nav-link active" id="editTab" th:data-userseq="${userInfo.userSeq}" data-bs-toggle="tab" type="button" role="tab">현황 상세</button>
</li>
<li class="nav-item" role="presentation">
<button class="nav-link" id="historyTab" th:data-userseq="${userInfo.userSeq}" data-bs-toggle="tab" type="button" role="tab">수정이력</button>
</li>
</ul>
<div class="modal-body">
<form id="userInfoUpdate" action="#" 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" name="userSeq" id="userSeq" class="userSeq" th:value="${userInfo.userSeq}">
<input type="hidden" name="userStatus" th:value="${userInfo.userStatus}">
<div class="mb-3 mt-3 row">
<label for="dicCode" class="col-sm-2 col-form-label col-form-label-sm text-center ">디지털식별코드</label>
<div class="col-sm-4">
<input type="text" class="form-control form-control-sm" id="dicCode" name="dicCode" autocomplete="off" th:value="${userInfo.dicCode}">
</div>
<ul class="nav nav-tabs" id="userTab" role="tablist">
<li class="nav-item" role="presentation">
<button class="nav-link active" id="editTab" th:data-userseq="${userInfo.userSeq}" data-bs-toggle="tab" type="button" role="tab">현황 상세</button>
</li>
<li class="nav-item" role="presentation">
<button class="nav-link" id="historyTab" th:data-userseq="${userInfo.userSeq}" data-bs-toggle="tab" type="button" role="tab">수정이력</button>
</li>
</ul>
<div class="tab-content bg-white border border-top-0 p-2">
<div class="tab-pane fade p-2 show active" role="tabpanel" tabindex="0">
<form id="userInfoUpdate" action="#" 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" name="userSeq" id="userSeq" class="userSeq" th:value="${userInfo.userSeq}">
<input type="hidden" name="userStatus" th:value="${userInfo.userStatus}">
<div class="mb-3 mt-3 row">
<label for="dicCode" class="col-sm-2 col-form-label col-form-label-sm text-center ">디지털식별코드</label>
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm" id="dicCode" name="dicCode" autocomplete="off" th:value="${userInfo.dicCode}" disabled>
</div>
</div>
<div class="row mb-1">
<label for="userId" class="col-sm-2 col-form-label col-form-label-sm text-center ">아이디</label>
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm" id="userId" name="userId" autocomplete="off" th:value="${userInfo.userId}" disabled>
</div>
<label for="userNm" class="col-sm-2 col-form-label col-form-label-sm text-center">이름</label>
<div class="col-sm-2">
<input type="text" class=" form-control form-control-sm" id="userNm" name="userNm" autocomplete="off" th:value="${userInfo.userNm}" disabled>
</div>
</div>
<div class="row mb-1">
<label for="sex" class="col-sm-2 col-form-label col-form-label-sm text-center">성별</label>
<div class="col-sm-2">
<select class="form-select form-select-sm" id="sex" name="sex" disabled>
<option value="SEX002" th:selected="${userInfo.sex eq 'SEX002'}"></option>
<option value="SEX001" th:selected="${userInfo.sex eq 'SEX001'}"></option>
</select>
</div>
<label for="phoneNo" class="col-sm-2 col-form-label col-form-label-sm text-center">휴대전화</label>
<div class="col-sm-2">
<input type="tel" class="form-control form-control-sm" id="phoneNo" name="phoneNo" th:value="${userInfo.phoneNo}">
</div>
<label for="email" class="col-sm-2 col-form-label col-form-label-sm text-center">이메일</label>
<div class="col-sm-2">
<input type="email" class="form-control form-control-sm" id="email" name="email" th:value="${userInfo.email}">
</div>
</div>
<div class="row mb-1">
<label for="birthDate" class="col-sm-2 col-form-label col-form-label-sm text-center">생년월일</label>
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm dateSelector" id="birthDate" name="birthDate" th:value="${userInfo.birthDate}" disabled>
</div>
<label for="policeInDate" class="col-sm-2 col-form-label col-form-label-sm text-center">해양경찰배명일</label>
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm dateSelector" id="policeInDate" name="policeInDate" th:value="${userInfo.policeInDate}" disabled>
</div>
</div>
<div class="row mb-1">
<label for="ogCd" class="col-sm-2 col-form-label col-form-label-sm text-center">관서</label>
<div class="col-sm-2">
<select class="form-select form-select-sm" id="ogCd" name="ogCd" disabled>
<option value="">--선택--</option>
<th:block th:each="code:${session.commonCode.get('OG')}">
<option th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq userInfo.ogCd}"></option>
</th:block>
</select>
</div>
<label for="organInDate" class="col-sm-2 col-form-label col-form-label-sm text-center">현관서전입일</label>
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm dateSelector" id="organInDate" name="organInDate" th:value="${userInfo.organInDate}" readonly>
</div>
</div>
<div class="row mb-1">
<label for="ofcCd" class="col-sm-2 col-form-label col-form-label-sm text-center">부서</label>
<div class="col-sm-2">
<select class="form-select form-select-sm" id="ofcCd" name="ofcCd" disabled>
<option value="">--선택--</option>
<th:block th:each="code:${session.commonCode.get('OFC')}">
<option th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq userInfo.ofcCd}"></option>
</th:block>
</select>
</div>
<label for="ofcInDate" class="col-sm-2 col-form-label col-form-label-sm text-center">현부서임용일</label>
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm dateSelector" id="ofcInDate" name="ofcInDate" th:value="${userInfo.ofcInDate}" disabled>
</div>
</div>
<div class="row mb-1">
<label for="titleCd" class="col-sm-2 col-form-label col-form-label-sm text-center">계급</label>
<div class="col-sm-2">
<select class="form-select form-select-sm" id="titleCd" name="titleCd" disabled>
<option value="">--선택--</option>
<th:block th:each="code:${session.commonCode.get('JT')}">
<option th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq userInfo.titleCd}"></option>
</th:block>
</select>
</div>
<label for="titleInDate" class="col-sm-2 col-form-label col-form-label-sm text-center">현계급임용일</label>
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm dateSelector" id="titleInDate" name="titleInDate" th:value="${userInfo.titleInDate}" disabled>
</div>
</div>
<div class="row mb-1">
<label for="outturnCd" class="col-sm-2 col-form-label col-form-label-sm text-center">직책</label>
<div class="col-sm-2">
<select class="form-select form-select-sm" id="dutyCd" name="dutyCd">
<option value="">--선택--</option>
<th:block th:each="code:${session.commonCode.get('DT')}">
<option th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq userInfo.dutyCd}"></option>
</th:block>
</select>
</div>
<label for="outturnCd" class="col-sm-2 col-form-label col-form-label-sm text-center">경과</label>
<div class="col-sm-2">
<select class="form-select form-select-sm" id="outturnCd" name="outturnCd" disabled>
<option value="">--선택--</option>
<th:block th:each="code:${session.commonCode.get('OTC')}">
<option th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq userInfo.outturnCd}"></option>
</th:block>
</select>
</div>
<label for="seriesCd" class="col-sm-2 col-form-label col-form-label-sm text-center">직별</label>
<div class="col-sm-2">
<select class="form-select form-select-sm" id="seriesCd" name="seriesCd">
<option value="">--선택--</option>
<th:block th:each="code:${session.commonCode.get(userInfo.outturnCd)}">
<option th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq userInfo.seriesCd}"></option>
</th:block>
</select>
</div>
</div>
<div class="row mb-1">
<label for="languageCd" class="col-sm-2 col-form-label col-form-label-sm text-center">외국어특채</label>
<div class="col-sm-2">
<select class="form-select form-select-sm" id="languageCd" name="languageCd">
<option value="">--선택--</option>
<th:block th:each="code:${session.commonCode.get('LNG')}">
<option th:if="${code.useChk eq 'T'}" th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq userInfo.languageCd}"></option>
</th:block>
</select>
</div>
<label for="languageCd" class="col-sm-2 col-form-label col-form-label-sm text-center">구사 외국어</label>
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm" name="useLanguage" th:value="${userInfo.useLanguage}">
</div>
<label for="languageCd" class="col-sm-2 col-form-label col-form-label-sm text-center">수준</label>
<div class="col-sm-2">
<select class="form-select form-select-sm" name="languageGrd">
<option value="">해당없음</option>
<option value="1" th:selected="${userInfo.languageGrd eq '1'}"></option>
<option value="2" th:selected="${userInfo.languageGrd eq '2'}"></option>
<option value="3" th:selected="${userInfo.languageGrd eq '3'}"></option>
</select>
</div>
</div>
<div class="row mb-1">
<label for="languageCd" class="col-sm-2 col-form-label col-form-label-sm text-center">학력사항</label>
<div class="col-sm-2">
<select class="form-select form-select-sm" name="educationGrd">
<option value="">해당없음</option>
<th:block th:each="code:${session.commonCode.get('UED')}">
<option th:if="${code.useChk eq 'T'}" th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq userInfo.educationGrd}"></option>
</th:block>
</select>
</div>
<label for="languageCd" class="col-sm-2 col-form-label col-form-label-sm text-center">학교</label>
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm" name="school" th:value="${userInfo.school}">
</div>
<label for="languageCd" class="col-sm-2 col-form-label col-form-label-sm text-center">전공</label>
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm" name="specialism" th:value="${userInfo.specialism}">
</div>
</div>
</form>
</div>
<div class="row mb-1">
<label for="userId" class="col-sm-2 col-form-label col-form-label-sm text-center ">아이디</label>
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm" id="userId" name="userId" autocomplete="off" th:value="${userInfo.userId}" readonly>
</div>
<label for="userId" class="col-sm-2 p-1 fs-12">*아이디는 수정할 수 없습니다.</label>
<label for="userNm" class="col-sm-2 col-form-label col-form-label-sm text-center">이름</label>
<div class="col-sm-4">
<input type="text" class=" form-control form-control-sm" id="userNm" name="userNm" autocomplete="off" th:value="${userInfo.userNm}">
</div>
</div>
<div class="row mb-1">
<label for="phoneNo" class="col-sm-2 col-form-label col-form-label-sm text-center">휴대전화</label>
<div class="col-sm-4">
<input type="tel" class="form-control form-control-sm" id="phoneNo" name="phoneNo" th:value="${userInfo.phoneNo}">
</div>
<label for="email" class="col-sm-2 col-form-label col-form-label-sm text-center">이메일</label>
<div class="col-sm-4">
<input type="email" class="form-control form-control-sm" id="email" name="email" th:value="${userInfo.email}">
</div>
</div>
<div class="row mb-1">
<label for="sex" class="col-sm-2 col-form-label col-form-label-sm text-center">성별</label>
<div class="col-sm-4">
<select class="form-select form-select-sm" id="sex" name="sex">
<option value="SEX002" th:selected="${userInfo.sex eq 'SEX002'}"></option>
<option value="SEX001" th:selected="${userInfo.sex eq 'SEX001'}"></option>
</select>
</div>
</div>
<div class="row mb-1">
<label for="birthDate" class="col-sm-2 col-form-label col-form-label-sm text-center">생년월일</label>
<div class="col-sm-4">
<input type="text" class="form-control form-control-sm dateSelector" id="birthDate" name="birthDate" th:value="${userInfo.birthDate}" readonly>
</div>
<label for="policeInDate" class="col-sm-2 col-form-label col-form-label-sm text-center">해양경찰배명일</label>
<div class="col-sm-4">
<input type="text" class="form-control form-control-sm dateSelector" id="policeInDate" name="policeInDate" th:value="${userInfo.policeInDate}" readonly>
</div>
</div>
<div class="row mb-1">
<label for="ogCd" class="col-sm-2 col-form-label col-form-label-sm text-center">관서</label>
<div class="col-sm-4">
<select class="form-select form-select-sm" id="ogCd" name="ogCd">
<option value="">--선택--</option>
<th:block th:each="code:${ogList}">
<option th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq userInfo.ogCd}"></option>
</th:block>
</select>
</div>
<label for="organInDate" class="col-sm-2 col-form-label col-form-label-sm text-center">현관서전입일</label>
<div class="col-sm-4">
<input type="text" class="form-control form-control-sm dateSelector" id="organInDate" name="organInDate" th:value="${userInfo.organInDate}" readonly>
</div>
</div>
<div class="row mb-1">
<label for="ofcCd" class="col-sm-2 col-form-label col-form-label-sm text-center">부서</label>
<div class="col-sm-4">
<select class="form-select form-select-sm" id="ofcCd" name="ofcCd">
<option value="">--선택--</option>
<th:block th:each="code:${ofcList}">
<option th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq userInfo.ofcCd}"></option>
</th:block>
</select>
</div>
<label for="ofcInDate" class="col-sm-2 col-form-label col-form-label-sm text-center">현부서임용일</label>
<div class="col-sm-4">
<input type="text" class="form-control form-control-sm dateSelector" id="ofcInDate" name="ofcInDate" th:value="${userInfo.ofcInDate}" readonly>
</div>
</div>
<div class="row mb-1">
<label for="titleCd" class="col-sm-2 col-form-label col-form-label-sm text-center">계급</label>
<div class="col-sm-4">
<select class="form-select form-select-sm" id="titleCd" name="titleCd">
<option value="">--선택--</option>
<th:block th:each="code:${titleList}">
<option th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq userInfo.titleCd}"></option>
</th:block>
</select>
</div>
<label for="titleInDate" class="col-sm-2 col-form-label col-form-label-sm text-center">현계급임용일</label>
<div class="col-sm-4">
<input type="text" class="form-control form-control-sm dateSelector" id="titleInDate" name="titleInDate" th:value="${userInfo.titleInDate}" readonly>
</div>
</div>
<div class="row mb-1">
<label for="outturnCd" class="col-sm-2 col-form-label col-form-label-sm text-center">직책</label>
<div class="col-sm-4">
<select class="form-select form-select-sm" id="dutyCd" name="dutyCd">
<option value="">--선택--</option>
<th:block th:each="code:${session.commonCode.get('DT')}">
<option th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq userInfo.dutyCd}"></option>
</th:block>
</select>
</div>
</div>
<div class="row mb-1">
<label for="outturnCd" class="col-sm-2 col-form-label col-form-label-sm text-center">경과</label>
<div class="col-sm-4">
<select class="form-select form-select-sm" id="outturnCd" name="outturnCd">
<option value="">--선택--</option>
<th:block th:each="code:${outturnList}">
<option th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq userInfo.outturnCd}"></option>
</th:block>
</select>
</div>
<label for="seriesCd" class="col-sm-2 col-form-label col-form-label-sm text-center">직별</label>
<div class="col-sm-4">
<select class="form-select form-select-sm" id="seriesCd" name="seriesCd">
<option value="">--선택--</option>
<th:block th:each="code:${seriesList}">
<option th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq userInfo.seriesCd}"></option>
</th:block>
</select>
</div>
</div>
<div class="row mb-1">
<label for="languageCd" class="col-sm-2 col-form-label col-form-label-sm text-center">외국어특채</label>
<div class="col-sm-4">
<select class="form-select form-select-sm" id="languageCd" name="languageCd">
<option value="">--선택--</option>
<th:block th:each="code:${languageList}">
<option th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq userInfo.languageCd}"></option>
</th:block>
</select>
</div>
</div>
</form>
</div>
</div>
<div class="modal-footer row justify-content-between bg-light">
<div class="col-auto">

View File

@ -3,7 +3,7 @@
<input type="hidden" name="_csrf_header" th:value="${_csrf.headerName}"/>
<input type="hidden" th:name="${_csrf.parameterName}" th:value="${_csrf.token}"/>
<div class="modal-header bg-dark">
<h5 class="modal-title text-white" th:text="${userStatus eq 'USC003' ? '現 외사경찰 상세' : userStatus eq 'USC006' ? '前 외사경찰 상세' : userStatus eq 'USC007' ? '非 외사경찰 상세' : null}"></h5>
<h5 class="modal-title text-white" th:text="|${userStatus eq 'USC003'?'現':userStatus eq 'USC006'?'前':userStatus eq 'USC007'?'非':''} 외사경찰 상세|"></h5>
<button type="button" class="btn-close f-invert" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
@ -15,133 +15,40 @@
<button class="nav-link active" id="historyTab" th:data-userseq="${policeList[0].userSeq}" data-bs-toggle="tab" type="button" role="tab">수정이력</button>
</li>
</ul>
<div class="row mx-0">
<div class="col-100 card text-center">
<div class="row">
</div>
<div class="row justify-content-start">
<div class="col-4">
<div class="card">
<div class="card-body">
<div class="row">
<table class="table table-sm table-hover table-bordered" id="categoryTable">
<thead>
<tr>
<th></th>
<th>작성자</th>
<th>등록일</th>
</tr>
</thead>
<tbody class="table-group-divider overflow-scroll">
<tr class="historyInfoTr" th:each="list:${policeList}">
<td>
<input type="checkbox" class="hisChk">
<input type="hidden" class="userSeq" th:value="${list.userSeq}">
<input type="hidden" class="verNo" th:value="${list.versionNo}">
</td>
<td th:text="|${list.wrtTitle} ${list.wrtNm}|"></td>
<td th:text="${#temporals.format(list.wrtDt, 'yyyy-MM-dd HH:mm')}"></td>
</tr>
</tbody>
</table>
<div class="tab-content bg-white border border-top-0 p-2">
<div class="tab-pane fade p-2 show active" role="tabpanel" tabindex="0">
<div class="row mx-0">
<div class="row justify-content-start">
<div class="col-4">
<div class="card">
<div class="card-body">
<div class="row">
<table class="table table-sm table-hover table-bordered" id="categoryTable">
<thead>
<tr>
<th></th>
<th>작성자</th>
<th>등록일</th>
</tr>
</thead>
<tbody class="table-group-divider overflow-scroll">
<tr class="historyInfoTr" th:each="list:${policeList}">
<td>
<input type="checkbox" class="hisChk">
<input type="hidden" class="userSeq" th:value="${list.userSeq}">
<input type="hidden" class="verNo" th:value="${list.versionNo}">
</td>
<td th:text="|${list.wrtTitle} ${list.wrtNm}|"></td>
<td th:text="${#temporals.format(list.wrtDt, 'yyyy-MM-dd HH:mm')}"></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
<div class="col-8" id="valueDiv">
<div class="mb-1 mt-3 row">
<label for="vDicCode" class="col-sm-2 col-form-label col-form-label-sm text-center ">디지털식별코드</label>
<div class="col-sm-4">
<input type="text" class="form-control form-control-sm dateSelector" id="vDicCode" readonly>
</div>
</div>
<div class="row mb-1">
<label for="vUserId" class="col-sm-2 col-form-label col-form-label-sm text-center ">아이디</label>
<div class="col-sm-4">
<input type="text" class="form-control form-control-sm dateSelector" id="vUserId" readonly>
</div>
<label for="vUserNm" class="col-sm-2 col-form-label col-form-label-sm text-center">이름</label>
<div class="col-sm-4">
<input type="text" class="form-control form-control-sm dateSelector" id="vUserNm" readonly>
</div>
</div>
<div class="row mb-1">
<label for="vPhone" class="col-sm-2 col-form-label col-form-label-sm text-center">휴대전화</label>
<div class="col-sm-4">
<input type="text" class="form-control form-control-sm dateSelector" id="vPhone" readonly>
</div>
<label for="vEmail" class="col-sm-2 col-form-label col-form-label-sm text-center">이메일</label>
<div class="col-sm-4">
<input type="text" class="form-control form-control-sm dateSelector" id="vEmail" readonly>
</div>
</div>
<div class="row mb-1">
<label for="vSex" class="col-sm-2 col-form-label col-form-label-sm text-center">성별</label>
<div class="col-sm-4">
<input type="text" class="form-control form-control-sm dateSelector" id="vSex" readonly>
</div>
</div>
<div class="row mb-1">
<label for="vBirth" class="col-sm-2 col-form-label col-form-label-sm text-center">생년월일</label>
<div class="col-sm-4">
<input type="text" class="form-control form-control-sm dateSelector" id="vBirth" readonly>
</div>
<label for="vPoliceInDate" class="col-sm-2 col-form-label col-form-label-sm text-center">해양경찰배명일</label>
<div class="col-sm-4">
<input type="text" class="form-control form-control-sm dateSelector" id="vPoliceInDate" readonly>
</div>
</div>
<div class="row mb-1">
<label for="vOgCd" class="col-sm-2 col-form-label col-form-label-sm text-center">관서</label>
<div class="col-sm-4">
<input type="text" class="form-control form-control-sm dateSelector" id="vOgCd" readonly>
</div>
<label for="vOrganInDate" class="col-sm-2 col-form-label col-form-label-sm text-center">현관서전입일</label>
<div class="col-sm-4">
<input type="text" class="form-control form-control-sm dateSelector" id="vOrganInDate" readonly>
</div>
</div>
<div class="row mb-1">
<label for="vOfcCd" class="col-sm-2 col-form-label col-form-label-sm text-center">부서</label>
<div class="col-sm-4">
<input type="text" class="form-control form-control-sm dateSelector" id="vOfcCd" readonly>
</div>
<label for="vOfcInDate" class="col-sm-2 col-form-label col-form-label-sm text-center">현부서임용일</label>
<div class="col-sm-4">
<input type="text" class="form-control form-control-sm dateSelector" id="vOfcInDate" readonly>
</div>
</div>
<div class="row mb-1">
<label for="vTitleCd" class="col-sm-2 col-form-label col-form-label-sm text-center">계급</label>
<div class="col-sm-4">
<input type="text" class="form-control form-control-sm dateSelector" id="vTitleCd" readonly>
</div>
<label for="vTitleInDate" class="col-sm-2 col-form-label col-form-label-sm text-center">현계급임용일</label>
<div class="col-sm-4">
<input type="text" class="form-control form-control-sm dateSelector" id="vTitleInDate" readonly>
</div>
</div>
<div class="row mb-1">
<label for="vDutyCd" class="col-sm-2 col-form-label col-form-label-sm text-center">직책</label>
<div class="col-sm-4">
<input type="text" class="form-control form-control-sm dateSelector" id="vDutyCd" readonly>
</div>
</div>
<div class="row mb-1">
<label for="vOutturnCd" class="col-sm-2 col-form-label col-form-label-sm text-center">경과</label>
<div class="col-sm-4">
<input type="text" class="form-control form-control-sm dateSelector" id="vOutturnCd" readonly>
</div>
<label for="vSeriesCd" class="col-sm-2 col-form-label col-form-label-sm text-center">직별</label>
<div class="col-sm-4">
<input type="text" class="form-control form-control-sm dateSelector" id="vSeriesCd" readonly>
</div>
</div>
<div class="row mb-1">
<label for="vLanguageCd" class="col-sm-2 col-form-label col-form-label-sm text-center">외국어특채</label>
<div class="col-sm-4">
<input type="text" class="form-control form-control-sm dateSelector" id="vLanguageCd" readonly>
</div>
<div class="col-8" id="valueDiv">
<h3 class="p-5 m-5 w-100 text-center">왼쪽 목록에서 선택해주세요</h3>
</div>
</div>
</div>

View File

@ -196,7 +196,7 @@
</main>
<div class="modal fade" id="policeEditModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="userEditModalLabel" aria-hidden="true">
<div class="modal-dialog modal-xl modal-dialog-scrollable">
<div class="modal-dialog modal-lg modal-dialog-scrollable">
<div class="modal-content" id="policeEditModalContent">
</div>

View File

@ -65,7 +65,7 @@
<input type="text" class=" form-control form-control-sm" id="userNm" name="userNm" autocomplete="off" th:value="${userInfo.userNm}" th:disabled="${!#strings.isEmpty(userInfo.dicCode)}">
</div>
</div>
<div class="row mb-1">
<div class="row">
<label for="passwordChange" class="col-sm-2 col-form-label col-form-label-sm text-center">비밀번호</label>
<div class="col-sm-2">
<input type="password" class="form-control form-control-sm" id="passwordChange" name="passwordChange" autocomplete="new-password">
@ -75,6 +75,10 @@
<input type="password" class="form-control form-control-sm" id="passwordConfirm">
</div>
</div>
<div class="row mb-1">
<div class="col-sm-2"></div>
<label for="passwordChange" class="col-sm-4 col-form-label col-form-label-sm" style="font-size: 12px">8~16자 사이의 알파벳, 숫자, 특수문자 조합</label>
</div>
<div class="row mb-1">
<label for="sex" class="col-sm-2 col-form-label col-form-label-sm text-center">성별</label>
<div class="col-sm-2">