주민등록번호 암호화 적용

internalApi
박성영 1 month ago
parent dfc497cbfb
commit af390557fe

@ -50,7 +50,7 @@ springdoc:
login:
url: /login/login.do # 로그인 페이지 URL (공통으로 사용)
lock:
count: 5 # 비밀번호 잠김 최종 카운트 (0일 경우 잠김 로직 pass)
count: 0 # 비밀번호 잠김 최종 카운트 (0일 경우 잠김 로직 pass)
DefaultPassword: vipspassword # 초기 비밀번호, 초기화 비밀번호
allowMultipleLogin: true # 동시 접속 가능 여부 (true: 가능, false: 불가능)

@ -41,7 +41,7 @@
<!-- 과태료 대상 목록 조회 -->
<select id="selectList" parameterType="CarFfnlgTrgtVO" resultType="CarFfnlgTrgtVO">
SELECT
SELECT
t.CAR_FFNLG_TRGT_ID AS carFfnlgTrgtId,
t.RCPT_YMD AS rcptYmd,
t.FFNLG_TRGT_SE_CD AS ffnlgTrgtSeCd,
@ -49,7 +49,7 @@
t.INSP_YMD AS inspYmd,
t.VHCLNO AS vhclno,
t.OWNR_NM AS ownrNm,
t.RRNO AS rrno,
ECL_DECRYPT(t.RRNO) AS rrno,
t.CAR_NM AS carNm,
t.CAR_KND AS carKnd,
t.CAR_USG AS carUsg,
@ -109,7 +109,7 @@
<!-- 과태료 대상 상세 조회 -->
<select id="selectOne" parameterType="CarFfnlgTrgtVO" resultType="CarFfnlgTrgtVO">
SELECT
SELECT
t.CAR_FFNLG_TRGT_ID AS carFfnlgTrgtId,
t.RCPT_YMD AS rcptYmd,
t.FFNLG_TRGT_SE_CD AS ffnlgTrgtSeCd,
@ -117,7 +117,7 @@
t.INSP_YMD AS inspYmd,
t.VHCLNO AS vhclno,
t.OWNR_NM AS ownrNm,
t.RRNO AS rrno,
ECL_DECRYPT(t.RRNO) AS rrno,
t.CAR_NM AS carNm,
t.CAR_KND AS carKnd,
t.CAR_USG AS carUsg,
@ -187,7 +187,7 @@
#{inspYmd},
#{vhclno},
#{ownrNm},
#{rrno},
ECL_ENCRYPT(#{rrno}),
#{carNm},
#{carKnd},
#{carUsg},

@ -183,23 +183,27 @@
return totalCount - (page - 1) * perPage - rowIndex;
}
},
{ header: '접수일자', name: 'rcptYmd', align: 'center', width: 100,
formatter: function(e) {
{ header: '과태료대상ID', name: 'carFfnlgTrgtId', align: 'center', width: 150, hidden: true },
{ header: '접수일자', name: 'rcptYmd', align: 'center', width: 100,
formatter: function(e) {
return e.value ? moment(e.value, 'YYYYMMDD').format('YYYY-MM-DD') : '';
}
},
{ header: '과태료대상구분코드', name: 'ffnlgTrgtSeCd', align: 'center', width: 120 },
{ header: '검사소코드', name: 'inspstnCd', align: 'center', width: 100 },
{ header: '검사일자', name: 'inspYmd', align: 'center', width: 100,
formatter: function(e) {
formatter: function(e) {
return e.value ? moment(e.value, 'YYYYMMDD').format('YYYY-MM-DD') : '';
}
},
{ header: '차량번호', name: 'vhclno', align: 'center', width: 100 },
{ header: '소유자명', name: 'ownrNm', align: 'center', width: 100 },
{ header: '주민등록번호', name: 'rrno', align: 'center', width: 130 },
{ header: '자동차명', name: 'carNm', align: 'left', width: 150 },
{ header: '자동차종류', name: 'carKnd', align: 'center', width: 100 },
{ header: '자동차용도', name: 'carUsg', align: 'center', width: 100 },
{ header: '검사종료일자', name: 'inspEndYmd', align: 'center', width: 100,
formatter: function(e) {
formatter: function(e) {
return e.value ? moment(e.value, 'YYYYMMDD').format('YYYY-MM-DD') : '';
}
},
@ -209,15 +213,33 @@
return e.value ? parseInt(e.value).toLocaleString() + '원' : '';
}
},
{ header: '최종등록일자', name: 'lastRegYmd', align: 'center', width: 100,
formatter: function(e) {
return e.value ? moment(e.value, 'YYYYMMDD').format('YYYY-MM-DD') : '';
}
},
{ header: '주소', name: 'addr', align: 'left', width: 250 },
{ header: '유효기간만료일자', name: 'vldPrdExpryYmd', align: 'center', width: 120,
formatter: function(e) {
return e.value ? moment(e.value, 'YYYYMMDD').format('YYYY-MM-DD') : '';
}
},
{ header: '매매상품', name: 'trdGds', align: 'center', width: 100, hidden: true },
{ header: '처리상태코드', name: 'taskPrcsSttsCd', align: 'center', width: 100, hidden: true },
{ header: '처리상태', name: 'taskPrcsSttsCdNm', align: 'center', width: 100 },
{ header: '처리일자', name: 'taskPrcsYmd', align: 'center', width: 100,
formatter: function(e) {
formatter: function(e) {
return e.value ? moment(e.value, 'YYYYMMDD').format('YYYY-MM-DD') : '';
}
},
{ header: '비고', name: 'rmrk', align: 'left', width: 200 },
{ header: '차량기본사항조회ID', name: 'carBassMatterInqireId', align: 'center', width: 150, hidden: true },
{ header: '차량등록원부ID', name: 'carLedgerFrmbkId', align: 'center', width: 150, hidden: true },
{ header: '등록일시', name: 'regDt', align: 'center', width: 150 },
{ header: '등록자', name: 'rgtrNm', align: 'center', width: 100 }
{ header: '등록자ID', name: 'rgtr', align: 'center', width: 100, hidden: true },
{ header: '등록자', name: 'rgtrNm', align: 'center', width: 100 },
{ header: '삭제일시', name: 'delDt', align: 'center', width: 150, hidden: true },
{ header: '삭제자', name: 'dltr', align: 'center', width: 100, hidden: true }
];
},
@ -367,14 +389,12 @@
* 파일 업로드 팝업 열기
*/
openUploadPopup: function() {
var popupUrl = '<c:url value="/carInspectionPenalty/registration/uploadPopup.do"/>';
openPopup(popupUrl, 800, 450, 'uploadPopup');
var popup = openPopup(popupUrl, 800, 450, 'uploadPopup');
// 팝업이 닫힐 때 그리드 새로고침
var checkPopupClosed = setInterval(function() {
if (popup.closed) {
if (popup && popup.closed) {
clearInterval(checkPopupClosed);
CarFfnlgTrgtList.grid.reload();
}

@ -244,12 +244,12 @@ function uploadFile() {
if (response.success) {
alert(response.message);
// 중요로직: 부모 창의 목록 새로고침
if (window.opener && window.opener.CarFfnlgTrgt && typeof window.opener.CarFfnlgTrgt.search === 'function') {
window.opener.CarFfnlgTrgt.search();
if (window.opener && window.opener.CarFfnlgTrgtList) {
window.opener.CarFfnlgTrgtList.grid.reload();
}
closePopup();
} else {
alert(response.message || '파일 업로드에 실패했습니다.');

Loading…
Cancel
Save