불필요 소스 및 주석 정리.

main
jjh 5 months ago
parent 1d8412055f
commit 30853541ff

@ -124,7 +124,8 @@ public class Sprt02Controller extends ApplicationController {
ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/sprt/sprt02010-main");
return mav.addObject("callControlName", req.getCallControlName())
return mav
.addObject("callControlName", req.getCallControlName())
.addObject("callPurpose", req.getCallPurpose())
.addObject("pageName", "sprt02010") // View(jsp)에서 사용할 id 뒤에 붙일 suffix
.addObject("pageNameMain", "sprt02010") // 개별총정보 메인 화면명
@ -143,22 +144,21 @@ public class Sprt02Controller extends ApplicationController {
@RequestMapping(name="개별총정보 단속, 납부자 정보 조회", value=METHOD_URL.getCrdnPayerInfo)
public ModelAndView getCrdnPayerInfo(SprtQuery req) {
// 단속(TB_CRDN), 납부자(TB_PAYER) 정보
DataObject crdnPayer = sprt02Service.getCrdnPayerInfo(req);
DataObject crdnPayerInfo = sprt02Service.getCrdnPayerInfo(req);
boolean json = jsonResponse();
ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/sprt/sprt02020-info");
mav.addObject("pageNameMain", "sprt02010")
.addObject("pageName", "sprt02020")
.addObject("crdnPayer", json ? crdnPayer : toJson(crdnPayer)) // 단속, 납부자 정보
mav.addObject("pageNameMain", "sprt02010") // pageNameMain
.addObject("pageName", "sprt02020") // pageName
.addObject("infoPrefix", "crdnPayer") // prefix
.addObject("crdnPayerInfo", json ? crdnPayerInfo : toJson(crdnPayerInfo)) // 단속, 납부자 정보
;
// 재조회로 호출되었다면..
// 재 조회로 호출되었다면..
if (req.getCallPurpose().equals("refresh")) {
DataObject totalInfo = sprt02Service.getCrdnInfo(req); // 단속(TB_CRDN) 대장 조회
mav.addObject("totalInfo", json ? totalInfo : toJson(totalInfo)); // 단속 정보
DataObject totalInfo = sprt02Service.getCrdnInfo(req); // 단속(TB_CRDN) 대장 조회
mav.addObject("totalInfo", json ? totalInfo : toJson(totalInfo)); // 단속 정보
}
return mav;
@ -176,31 +176,25 @@ public class Sprt02Controller extends ApplicationController {
public ModelAndView getOpnnSbmsnInfo(SprtQuery req) {
// 의견제출 정보
LevyExclQuery exclQuery = new LevyExclQuery();
if (req.getCallPurpose() == null) {
exclQuery.setCallPurpose("view");
} else {
exclQuery.setCallPurpose(req.getCallPurpose());
}
exclQuery.setCrdnId(req.getCrdnId());
exclQuery.setDelYn(req.getDelYn());
// 의견 제출(TB_OPNN_SBMSN) 대장 조회
DataObject opnnSbmsn = opnnSbmsnService.getOpnnSbmsnInfo(exclQuery);
DataObject opnnSbmsnInfo = opnnSbmsnService.getOpnnSbmsnInfo(exclQuery);
boolean json = jsonResponse();
ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/sprt/sprt02030-info");
mav.addObject("pageNameMain", "sprt02010")
.addObject("pageName", "sprt02030")
.addObject("opnnSbmsn", json ? opnnSbmsn : toJson(opnnSbmsn)) // 의견제출 정보
mav.addObject("pageNameMain", "sprt02010") // pageNameMain
.addObject("pageName", "sprt02030") // pageName
.addObject("infoPrefix", "opnnSbmsn") // prefix
.addObject("opnnSbmsnInfo", json ? opnnSbmsnInfo : toJson(opnnSbmsnInfo)) // 의견제출 정보
;
// 재조회로 호출되었다면..
// 재 조회로 호출되었다면..
if (req.getCallPurpose().equals("refresh")) {
DataObject totalInfo = sprt02Service.getCrdnInfo(req); // 단속(TB_CRDN) 대장 조회
mav.addObject("totalInfo", json ? totalInfo : toJson(totalInfo)); // 단속 정보
DataObject totalInfo = sprt02Service.getCrdnInfo(req); // 단속(TB_CRDN) 대장 조회
mav.addObject("totalInfo", json ? totalInfo : toJson(totalInfo)); // 단속 정보
}
return mav;
@ -218,33 +212,27 @@ public class Sprt02Controller extends ApplicationController {
public ModelAndView getSndngInfo(SprtQuery req) {
// 발송상세 정보
SndbQuery sndbQuery = new SndbQuery();
if (req.getCallPurpose() == null) {
sndbQuery.setCallPurpose("view");
} else {
sndbQuery.setCallPurpose(req.getCallPurpose());
}
sndbQuery.setCrdnId(req.getCrdnId());
sndbQuery.setDelYn(req.getDelYn());
sndbQuery.setOrderBy("SD.REG_DT, SD.SNDNG_DTL_ID DESC");
List<?> sndngDtl = sndngDtlService.getSndngDtls(sndbQuery);
List<?> sndngDtls = sndngDtlService.getSndngDtls(sndbQuery);
// 공시송달 정보
sndbQuery.setCrdnId(req.getCrdnId());
sndbQuery.setDelYn(req.getDelYn());
sndbQuery.setOrderBy("SV.REG_DT DESC, SV.SVBTC_ID DESC");
List<?> svbtc = svbtcService.getSvbtcDtls(sndbQuery);
List<?> svbtcDtls = svbtcService.getSvbtcDtls(sndbQuery);
boolean json = jsonResponse();
ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/sprt/sprt02040-info");
mav.addObject("pageNameMain", "sprt02010")
.addObject("pageName", "sprt02040")
.addObject("sndngDtl", json ? sndngDtl : toJson(sndngDtl)) // 발송 정보
.addObject("svbtc", json ? svbtc : toJson(svbtc)) // 공시송달 정보
mav.addObject("pageNameMain", "sprt02010") // pageNameMain
.addObject("pageName", "sprt02040") // pageName
.addObject("infoPrefix", "sndngDtl") // prefix
.addObject("sndngDtls", json ? sndngDtls : toJson(sndngDtls)) // 발송 상세 정보
.addObject("svbtcDtls", json ? svbtcDtls : toJson(svbtcDtls)) // 공시송달 정보
;
// 재조회로 호출되었다면..

@ -396,8 +396,8 @@
SELECT CONCAT(#{sggCd}, DATE_FORMAT(CURRENT_DATE, '%Y'), LPAD(CAST(IFNULL(MAX(SUBSTRING(OPNN_ID, 10)) + 1, 1) AS INT), 11, '0')) AS NEW_ID
, (SELECT CONCAT(DATE_FORMAT(CURRENT_DATE, '%Y'), LPAD(CAST(IFNULL(MAX(SUBSTRING(RCPT_NO, 5)) + 1, 1) AS INT), 6, '0'))
FROM TB_OPNN_SBMSN
WHERE OPNN_ID LIKE CONCAT(#{opnnSbmsn.sggCd}, DATE_FORMAT(CURRENT_DATE, '%Y'), '%')
AND RCPT_NO LIKE CONCAT(DATE_FORMAT(CURRENT_DATE, '%Y'), '%')) AS NEW_RCPT_NO
WHERE OPNN_ID LIKE CONCAT(#{sggCd}, DATE_FORMAT(CURRENT_DATE, '%Y'), '%')
AND RCPT_NO LIKE CONCAT(DATE_FORMAT(CURRENT_DATE, '%Y'), '%')) AS NEW_RCPT_NO
FROM TB_OPNN_SBMSN
WHERE OPNN_ID LIKE CONCAT(#{sggCd}, DATE_FORMAT(CURRENT_DATE, '%Y'), '%')
</selectKey>

@ -535,7 +535,7 @@
});
});
// 버튼 이벤트
// 업무 버튼 이벤트
$("#btnCreate--${pageName}").on("click", function() {
$P.fnCreate($(this).attr("title")); // 안내문 등록
});

@ -792,13 +792,12 @@
});
});
// 발송 취소 버튼 이벤트
// 업무 버튼 이벤트
$("#btnUpdateCancel--${pageName}").on("click", function() {
$P.fnUpdateCancle($(this).attr("title"));
$P.fnUpdateCancle($(this).attr("title")); // 발송 취소
});
// 발송 삭제 버튼 이벤트
$("#btnRemove--${pageName}").on("click", function() {
$P.fnRemove($(this).attr("title"));
$P.fnRemove($(this).attr("title")); // 발송 삭제
});
// DataTables width 변경 조정 업무별 그리드가 존재 한다면.. crdn06010-main.jsp 참고

@ -696,7 +696,7 @@
});
});
// 버튼 이벤트
// 업무 버튼 이벤트
$("#btnUpdate--${pageName}").on("click", function() {
$P.fnUpdate($(this).attr("title")); // 부과제외 수정
});

@ -836,25 +836,21 @@
});
});
// 심의위원 관리 버튼 이벤트
// 업무 버튼 이벤트
$("#btnDlbrMbr--${pageName}").on("click", function() {
$P.fnDlbrMbr($(this).attr("title"));
$P.fnDlbrMbr($(this).attr("title")); // 심의위원 관리
});
// 의견제출 수정 버튼 이벤트
$("#btnUpdate--${pageName}").on("click", function() {
$P.fnUpdate($(this).attr("title"));
$P.fnUpdate($(this).attr("title")); // 의견제출 수정
});
// 의견제출 심의 버튼 이벤트
$("#btnUpdateOpnnDlbr--${pageName}").on("click", function() {
$P.fnUpdateOpnnDlbr($(this).attr("title"));
$P.fnUpdateOpnnDlbr($(this).attr("title")); // 의견제출 심의
});
// 의견제출 삭제 버튼 이벤트
$("#btnRemove--${pageName}").on("click", function() {
$P.fnRemove($(this).attr("title"));
$P.fnRemove($(this).attr("title")); // 의견제출 삭제
});
// 심의의결서 출력 버튼 이벤트
$("#btnPrintDlbrDecsn--${pageName}").on("click", function() {
$P.fnPrintDlbrDecsn($(this).attr("title"));
$P.fnPrintDlbrDecsn($(this).attr("title")); // 심의의결서 출력
});
// DataTables width 변경 조정

@ -533,7 +533,7 @@
});
});
// 버튼 이벤트
// 업무 버튼 이벤트
$("#btnBfrCrdnTotalInfo--${pageName}").on("click", function() {
$P.fnBfrCrdnTotalInfo($(this).attr("title")); // 이전 단속정보
});

@ -667,7 +667,7 @@
});
});
// 버튼 이벤트
// 업무 버튼 이벤트
$("#btnCreateSlctnTrgt--${pageName}").on("click", function() {
$P.fnCreateSlctnTrgt($(this).attr("title")); // 선택 대상 감경부과 등록
});

@ -35,7 +35,7 @@
<div class="row g-1">
<!-- 업무구분 -->
<div class="col-12">
<span class="form-label fw-bold form-search-title text-end">업무구분</span>
<span class="form-label fw-bold form-search-title w-px-120 text-end">업무구분</span>
<span class="form-search-linebox">
<c:forEach items="${taskListForSgg}" var="item">
<label>

@ -5,16 +5,23 @@
<!-- inner page html -->
<div class="content-wrapper">
<!-- Content -->
<div class="container-xxl flex-grow-1 px-0">
<!-- Page Body -->
<div class="card wrapper-list">
<!-- 상단 버튼 -->
<div class="container-page-btn">
<button type="button" class="btn btn-outline-dark w-px-120" id="btnReset--${pageName}" title="초기화">초기화</button>
<button type="button" class="btn btn-outline-dark w-px-120" id="btnReset--${pageName}" title="초기화">
초기화
</button>
<span class="container-window-btn-right">
<button type="button" class="btn btn-search w-px-120" id="btnSearch--${pageName}" title="검색">검색</button>
<button type="button" class="btn btn-excel w-px-120" id="btnExcel--${pageName}" title="엑셀">엑셀</button>
<button type="button" class="btn btn-search w-px-120" id="btnSearch--${pageName}" title="검색">
검색
</button>
<button type="button" class="btn btn-excel w-px-120" id="btnExcel--${pageName}" title="엑셀">
엑셀
</button>
</span>
</div> <!-- 상단 버튼 -->
@ -26,6 +33,7 @@
<!-- 메인 조건 -->
<div class="container-search">
<div class="row g-1">
<!-- 업무구분 -->
<div class="col-12">
<span class="form-label fw-bold form-search-title w-px-120 text-end">업무구분</span>
<span class="form-search-linebox">
@ -665,7 +673,7 @@
});
});
// 버튼 이벤트
// 업무 버튼 이벤트
$("#btnUpdate--${pageName}").on("click", function() {
$P.fnUpdate($(this).attr("title")); // 감경 수정
});

@ -7,338 +7,335 @@
<div class="content-wrapper">
<!-- Content -->
<div class="container-xxl flex-grow-1 px-0">
<!-- Page Body -->
<div class="card">
<div class="wrapper-list">
<!-- 상단 버튼 -->
<div class="container-page-btn">
<button type="button" class="btn btn-outline-dark w-px-120" id="btnReset--${pageName}" title="초기화">
초기화
<!-- Page Body -->
<div class="card wrapper-list">
<!-- 상단 버튼 -->
<div class="container-page-btn">
<button type="button" class="btn btn-outline-dark w-px-120" id="btnReset--${pageName}" title="초기화">
초기화
</button>
<span class="container-window-btn-right">
<button type="button" class="btn btn-search w-px-120" id="btnSearch--${pageName}" title="검색">
검색
</button>
<span class="container-window-btn-right">
<button type="button" class="btn btn-search w-px-120" id="btnSearch--${pageName}" title="검색">
검색
</button>
<button type="button" class="btn btn-excel w-px-120" id="btnExcel--${pageName}" title="엑셀">
엑셀
</button>
</span>
</div>
<!-- / 상단 버튼 -->
<!-- 검색 조건 영역 -->
<form id="frmSearch--${pageName}" name="frmSearch">
<!-- hidden -->
<input type="hidden" id="sggCd--${pageName}" name="sggCd" />
<!-- 메인 조건 -->
<div class="container-search">
<div class="row g-1">
<!-- 업무구분 -->
<div class="col-12">
<span class="form-label fw-bold form-search-title w-px-120 text-end">업무구분</span>
<span class="form-search-linebox">
<c:forEach items="${taskListForSgg}" var="item">
<label>
<input type="radio" class="form-check-input" name="taskSeCd" alt="업무구분"
value="${item.code}" onchange="pageObject['${pageName}'].fnResetAndChangeBiz(this.value);">
${item.value}
</label>
</c:forEach>
</span>
</div>
<!-- 회계 일자 -->
<div class="col-6">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schAcntgYmdFrom--${pageName}">회계일자</label>
<span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schAcntgYmdFrom--${pageName}" name="schAcntgYmdFrom"
data-fmt-type="day" autocomplete="off" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~
<input type="text" class="form-control form-date" id="schAcntgYmdTo--${pageName}" name="schAcntgYmdTo"
data-fmt-type="day" autocomplete="off" title="종료 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div>
<!-- 수납 일자 -->
<div class="col-6">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schRcvmtYmdFrom--${pageName}">수납일자</label>
<span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schRcvmtYmdFrom--${pageName}" name="schRcvmtYmdFrom"
data-fmt-type="day" autocomplete="off" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~
<input type="text" class="form-control form-date" id="schRcvmtYmdTo--${pageName}" name="schRcvmtYmdTo"
data-fmt-type="day" autocomplete="off" title="종료 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div>
<!-- 이체 일자 -->
<div class="col-6">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schTsfYmdFrom--${pageName}">이체일자</label>
<span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schTsfYmdFrom--${pageName}" name="schTsfYmdFrom"
data-fmt-type="day" autocomplete="off" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~
<input type="text" class="form-control form-date" id="schTsfYmdTo--${pageName}" name="schTsfYmdTo"
data-fmt-type="day" autocomplete="off" title="종료 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div>
<!-- 수납 구분 코드 -->
<div class="col-6">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schRcvmtSeCd--${pageName}">수납구분</label>
<select class="form-select w-px-120" id="schRcvmtSeCd--${pageName}" name="schRcvmtSeCd">
<option value="">전체</option>
<c:forEach items="${FIM041List}" var="item">
<option value="${item.code}">${item.value}</option>
</c:forEach>
</select>
</div>
<!-- 납부 방법 구분 코드 -->
<div class="col-6">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schPayMthdSeCd--${pageName}">납부방법</label>
<select class="form-select w-px-200" id="schPayMthdSeCd--${pageName}" name="schPayMthdSeCd">
<option value="">전체</option>
<c:forEach items="${FIM045List}" var="item">
<option value="${item.code}">${item.value}</option>
</c:forEach>
</select>
</div>
<!-- 동적검색 -->
<div class="col-6">
<input type="hidden" id="by--${pageName}" name="by" />
<input type="text" class="form-control fw-bold w-px-120 text-end" id="byOutput--${pageName}" value="동적 검색" readonly />
<input type="hidden" id="mainOption--${pageName}" name="mainOption" />
<input type="hidden" id="subOption--${pageName}" name="subOption" />
<input type="text" class="form-control w-px-400" id="term--${pageName}" name="term" autocomplete="off" />
<!-- 상세 검색조건 버튼 -->
<span class="flr">
<button type="button" class="btn btn-open-detail" data-bs-toggle="collapse" data-bs-target="#searchDetail--${pageName}">
<i class="bx bx-chevron-down"></i>
상세검색
</button>
</span>
</div>
<button type="button" class="btn btn-excel w-px-120" id="btnExcel--${pageName}" title="엑셀">
엑셀
</button>
</span>
</div>
<!-- / 상단 버튼 -->
<!-- 검색 조건 영역 -->
<form id="frmSearch--${pageName}" name="frmSearch">
<!-- hidden -->
<input type="hidden" id="sggCd--${pageName}" name="sggCd" />
<!-- 메인 조건 -->
<div class="container-search">
<div class="row g-1">
<!-- 업무구분 -->
<div class="col-12">
<span class="form-label fw-bold form-search-title w-px-120 text-end">업무구분</span>
<span class="form-search-linebox">
<c:forEach items="${taskListForSgg}" var="item">
<label>
<input type="radio" class="form-check-input" name="taskSeCd" alt="업무구분"
value="${item.code}" onchange="pageObject['${pageName}'].fnResetAndChangeBiz(this.value);">
${item.value}
</label>
</c:forEach>
</span>
</div>
<!-- 회계 일자 -->
<div class="col-6">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schAcntgYmdFrom--${pageName}">회계일자</label>
<span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schAcntgYmdFrom--${pageName}" name="schAcntgYmdFrom"
data-fmt-type="day" autocomplete="off" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~
<input type="text" class="form-control form-date" id="schAcntgYmdTo--${pageName}" name="schAcntgYmdTo"
data-fmt-type="day" autocomplete="off" title="종료 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div>
<!-- 수납 일자 -->
<div class="col-6">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schRcvmtYmdFrom--${pageName}">수납일자</label>
<span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schRcvmtYmdFrom--${pageName}" name="schRcvmtYmdFrom"
data-fmt-type="day" autocomplete="off" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~
<input type="text" class="form-control form-date" id="schRcvmtYmdTo--${pageName}" name="schRcvmtYmdTo"
data-fmt-type="day" autocomplete="off" title="종료 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div>
<!-- 이체 일자 -->
<div class="col-6">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schTsfYmdFrom--${pageName}">이체일자</label>
<span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schTsfYmdFrom--${pageName}" name="schTsfYmdFrom"
data-fmt-type="day" autocomplete="off" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~
<input type="text" class="form-control form-date" id="schTsfYmdTo--${pageName}" name="schTsfYmdTo"
data-fmt-type="day" autocomplete="off" title="종료 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div>
<!-- 수납 구분 코드 -->
<div class="col-6">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schRcvmtSeCd--${pageName}">수납구분</label>
<select class="form-select w-px-120" id="schRcvmtSeCd--${pageName}" name="schRcvmtSeCd">
<option value="">전체</option>
<c:forEach items="${FIM041List}" var="item">
<option value="${item.code}">${item.value}</option>
</c:forEach>
</select>
</div>
<!-- 납부 방법 구분 코드 -->
<div class="col-6">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schPayMthdSeCd--${pageName}">납부방법</label>
<select class="form-select w-px-200" id="schPayMthdSeCd--${pageName}" name="schPayMthdSeCd">
<option value="">전체</option>
<c:forEach items="${FIM045List}" var="item">
<option value="${item.code}">${item.value}</option>
</c:forEach>
</select>
</div>
</div> <!-- / 메인 조건 -->
<!-- 상세 조건 -->
<div id="searchDetail--${pageName}" class="container-search container-search-detail collapse">
<div class="row g-1">
<!-- 단속일자 -->
<div class="col-4">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schCrdnYmdFrom--${pageName}">단속일자</label>
<span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schCrdnYmdFrom--${pageName}" name="schCrdnYmdFrom"
data-fmt-type="day" autocomplete="off" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~
<input type="text" class="form-control form-date" id="schCrdnYmdTo--${pageName}" name="schCrdnYmdTo"
data-fmt-type="day" autocomplete="off" title="종료 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div>
<!-- 차량번호 -->
<div class="col-4">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schVhrno--${pageName}">차량번호</label>
<input type="text" class="form-control w-px-160" id="schVhrno--${pageName}" name="schVhrno" autocomplete="off" />
</div>
<!-- 납부자번호 -->
<div class="col-4">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schRtpyrNm--${pageName}">납부자번호</label>
<input type="text" class="form-control w-px-160" id="schRtpyrNm--${pageName}" name="schRtpyrNm" autocomplete="off" />
</div>
<!-- 납부자명 -->
<div class="col-4">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schRtpyrNo--${pageName}">납부자명</label>
<input type="text" class="form-control w-px-160" id="schRtpyrNo--${pageName}" name="schRtpyrNo" autocomplete="off" />
</div>
<!-- 등록일자, 수정일자 -->
<div class="col-4">
<select class="form-select w-px-120 text-center" id="schRegDateOpt--${pageName}" name="schRegDateOpt">
<option value="regDt">등록일자</option>
<option value="mdfcnDt">수정일자</option>
</select>
<span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schRegDateFrom--${pageName}" name="schRegDateFrom"
data-fmt-type="day" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~
<input type="text" class="form-control form-date" id="schRegDateTo--${pageName}" name="schRegDateTo"
data-fmt-type="day" title="종료 날짜 선택">
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div>
<!-- 등록자명, 수정자명 -->
<div class="col-4">
<select class="form-select w-px-120 text-center" id="schRgtrOpt--${pageName}" name="schRgtrOpt">
<option value="rgtr">등록자</option>
<option value="mdfr">수정자</option>
</select>
<input type="hidden" id="schRgtrCd--${pageName}" name="schRgtrCd" />
<input type="text" class="form-control w-px-160" id="schRgtrNm--${pageName}" name="schRgtrNm" />
<button type="button" class="btn btn-sm btn-outline-dark" id="btnFindUser--${pageName}" title="사용자 검색">검색</button>
</div>
<!-- 동적검색 -->
<div class="col-6">
<input type="hidden" id="by--${pageName}" name="by" />
<input type="text" class="form-control fw-bold w-px-120 text-end" id="byOutput--${pageName}" value="동적 검색" readonly />
<input type="hidden" id="mainOption--${pageName}" name="mainOption" />
<input type="hidden" id="subOption--${pageName}" name="subOption" />
<input type="text" class="form-control w-px-400" id="term--${pageName}" name="term" autocomplete="off" />
<!-- 상세 검색조건 버튼 -->
<span class="flr">
<button type="button" class="btn btn-open-detail" data-bs-toggle="collapse" data-bs-target="#searchDetail--${pageName}">
<i class="bx bx-chevron-down"></i>
상세검색
</button>
</span>
</div>
</div>
<!-- / 상세 조건 -->
</form>
<!-- / 검색 조건 영역 -->
<!-- 업무 버튼 및 건수 표시 -->
<div>
<span class="container-page-btn">
<!-- 건수, 페이지 표시 -->
<div class="d-flex flex-row justify-content-between">
<span class="dataTables_info" id="paging--${pageName}PagingInfo" role="status" aria-live="polite"></span>
<ul class="pagination pagination-primary" id="paging--${pageName}">
</ul>
</div> <!-- 메인 조건 -->
<!-- 상세 조건 -->
<div id="searchDetail--${pageName}" class="container-search container-search-detail collapse">
<div class="row g-1">
<!-- 단속일자 -->
<div class="col-4">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schCrdnYmdFrom--${pageName}">단속일자</label>
<span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schCrdnYmdFrom--${pageName}" name="schCrdnYmdFrom"
data-fmt-type="day" autocomplete="off" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~
<input type="text" class="form-control form-date" id="schCrdnYmdTo--${pageName}" name="schCrdnYmdTo"
data-fmt-type="day" autocomplete="off" title="종료 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div>
<span class="container-window-btn-right">
<!-- 업무 버튼 -->
</span>
</span>
</div>
<!-- / 업무 버튼 및 건수 표시 -->
<!-- DataTables(그리드) -->
<div class="card-datatable text-nowrap">
<div class="dataTables_wrapper dt-bootstrap5 no-footer" id="DataTables_Table_0_wrapper--${pageName}">
<div class="table-responsive ox-scroll oy-scroll h-px-500" id="table-responsive--${pageName}">
<table class="table-layout-fixed dataTable datatables-ajax table table-bordered no-footer" id="DataTables_Table_0--${pageName}" aria-describedby="DataTables_Table_0_info">
<thead class="sticky-thead">
<tr id="theadTr--${pageName}"
data-by="by--${pageName}" data-by-output="byOutput--${pageName}" data-main-option="mainOption--${pageName}" data-sub-option="subOption--${pageName}">
</tr>
</thead>
<tbody id="tbody--${pageName}">
</tbody>
<template id="${infoPrefix}Col--${pageName}">
<th class="cmn" style="width: 72px;">No.</th>
<th class="cmn" style="width: 56px;"><input type="checkbox" class="form-check-input" id="gridAllCheckbox--${pageName}" onchange="pageObject['${pageName}'].control.select(this.checked);" /></th>
<th class="cmn" style="width: 160px;">업무구분</th>
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('RCVMT_RTRCN_YN', this.innerText, 'codeValue', 'CMN005');">수납취소</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('RCVMT_INPT_SE_CD', this.innerText, 'codeValue', 'FIM044');">수납입력구분</th>
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('FYR', this.innerText, 'match', 'part');">회계연도</th>
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('ACNTG_SE_CD', this.innerText, 'codeValue', 'FIM074');">회계구분</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('TXITM_CD', this.innerText, 'codeValue', 'FIM075');">세목코드</th>
<th class="cmn" style="width: 200px;" onclick="searchFromGridTitle('TXITM_CD', this.innerText, 'codeValue', 'FIM075');">세목명</th>
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('LEVY_NO', this.innerText, 'match', 'part');">부과번호</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('INSPY_SN', this.innerText, 'match', 'part');">분납일련번호</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('LAST_PCPTAX', this.innerText, 'match', 'part');">최종본세</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('LAST_ADAMT', this.innerText, 'match', 'part');">최종가산금</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('RCVMT_SN', this.innerText, 'match', 'part');">수납일련번호</th>
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('RCVMT_SE_CD', this.innerText, 'codeValue', 'FIM041');">수납구분</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('RCVMT_YMD', this.innerText, 'ymd', '');">수납일자</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('ACNTG_YMD', this.innerText, 'ymd', '');">회계일자</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('TSF_YMD', this.innerText, 'ymd', '');">이체일자</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('RCVMT_AMT', this.innerText, 'match', 'part');">수납금액</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('RCVMT_PCPTAX', this.innerText, 'match', 'part');">수납본세</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('RCVMT_ADAMT', this.innerText, 'match', 'part');">수납가산금</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('RCVMT_INT', this.innerText, 'match', 'part');">수납이자</th>
<th class="cmn" style="width: 200px;" onclick="searchFromGridTitle('RCVMT_BANK_NM', this.innerText, 'match', 'part');">수납은행</th>
<th class="cmn" style="width: 200px;" onclick="searchFromGridTitle('PAY_MTHD_SE_CD', this.innerText, 'codeValue', 'FIM045');">납부방법</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('RCVMT_STTS_CD', this.innerText, 'codeValue', 'FIM020');">수납상태</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('LEVY_YMD', this.innerText, 'ymd', '');">부과일자</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('FRST_DUDT_YMD', this.innerText, 'ymd', '');">최초납기일자</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('DUDT_YMD', this.innerText, 'ymd', '');">납기일자</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('SZR_YMD', this.innerText, 'ymd', '');">압류일자</th>
<th class="cmn" style="width: 200px;" onclick="searchFromGridTitle('SZR_THING', this.innerText, 'match', 'part');">압류물건</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('RPM_SZR_VHRNO', this.innerText, 'match', 'part');">대체압류차량</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('SZR_RMV_YMD', this.innerText, 'ymd', '');">압류해제일자</th>
<th class="cmn" style="width: 180px;" onclick="searchFromGridTitle('CRDN_YMD', this.innerText, 'ymd', '');">단속일시</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('VHRNO', this.innerText, 'match', 'part');">차량번호</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('RTPYR_SE_CD', this.innerText, 'codeValue', 'FIM011');">납부자구분</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('RTPYR_NO', this.innerText, 'ymd', '');">납부자번호</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('RTPYR_NM', this.innerText, 'match', 'part');">납부자명</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('CRDN_STDG_NM', this.innerText, 'match', 'part');">단속법정동</th>
<th class="cmn" style="width: 280px;" onclick="searchFromGridTitle('CRDN_PLC', this.innerText, 'match', 'part');">단속장소</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('CRDN_STTS_CD', this.innerText, 'codeValue', 'FIM010');">처리상태</th>
<th class="cmn" style="width: 180px;">등록일시</th>
<th class="cmn" style="width: 140px;">등록사용자</th>
<th class="cmn" style="width: 180px;">수정일시</th>
<th class="cmn" style="width: 140px;">수정사용자</th>
<th class="cmn dummy-th"></th>
</template>
<template id="${infoPrefix}Row--${pageName}">
<tr data-key="{RCVMT_ID}">
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{ROW_NUM}</td>
<td class="cmn text-center"><input type="checkbox" class="form-check-input" name="gridCheckbox" value="{RCVMT_ID}" onchange="pageObject['${pageName}'].control.select('{RCVMT_ID}', this.checked);"></td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{TASK_SE_NM}</td>
<td class="cmn text-center text-red" onclick="{onclick}" ondblclick="{ondblclick}">{RCVMT_RTRCN_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RCVMT_INPT_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{FYR}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{ACNTG_SE_CD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{TXITM_CD}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{TXITM_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{LEVY_NO}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{INSPY_SN}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{LAST_PCPTAX}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{LAST_ADAMT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RCVMT_SN}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RCVMT_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RCVMT_YMD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{ACNTG_YMD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{TSF_YMD}</td>
<td class="cmn text-end fw-bold text-blue" onclick="{onclick}" ondblclick="{ondblclick}">{RCVMT_AMT}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{RCVMT_PCPTAX}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{RCVMT_ADAMT}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{RCVMT_INT}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{RCVMT_BANK_NM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{PAY_MTHD_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RCVMT_STTS_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{LEVY_YMD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{FRST_DUDT_YMD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{DUDT_YMD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SZR_YMD}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{SZR_THING}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{RPM_SZR_VHRNO}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SZR_RMV_YMD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_YMD_TM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{VHRNO}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RTPYR_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RTPYR_NO}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{RTPYR_NM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_STDG_NM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_PLC}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_STTS_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{REG_DT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RGTR_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFCN_DT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFR_NM}</td>
<td class="cmn dummy-td"></td>
</tr>
</template>
<template id="${infoPrefix}NotFound--${pageName}">
<tr class="bpv">
<td valign="top" colspan="45" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="dpv">
<td valign="top" colspan="45" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="eca">
<td valign="top" colspan="45" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="pvs">
<td valign="top" colspan="45" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="pes">
<td valign="top" colspan="45" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
</template>
</table>
<!-- 차량번호 -->
<div class="col-4">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schVhrno--${pageName}">차량번호</label>
<input type="text" class="form-control w-px-160" id="schVhrno--${pageName}" name="schVhrno" autocomplete="off" />
</div>
<!-- 납부자번호 -->
<div class="col-4">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schRtpyrNm--${pageName}">납부자번호</label>
<input type="text" class="form-control w-px-160" id="schRtpyrNm--${pageName}" name="schRtpyrNm" autocomplete="off" />
</div>
<!-- 납부자명 -->
<div class="col-4">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schRtpyrNo--${pageName}">납부자명</label>
<input type="text" class="form-control w-px-160" id="schRtpyrNo--${pageName}" name="schRtpyrNo" autocomplete="off" />
</div>
<!-- 등록일자, 수정일자 -->
<div class="col-4">
<select class="form-select w-px-120 text-center" id="schRegDateOpt--${pageName}" name="schRegDateOpt">
<option value="regDt">등록일자</option>
<option value="mdfcnDt">수정일자</option>
</select>
<span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schRegDateFrom--${pageName}" name="schRegDateFrom"
data-fmt-type="day" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~
<input type="text" class="form-control form-date" id="schRegDateTo--${pageName}" name="schRegDateTo"
data-fmt-type="day" title="종료 날짜 선택">
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div>
<!-- 등록자명, 수정자명 -->
<div class="col-4">
<select class="form-select w-px-120 text-center" id="schRgtrOpt--${pageName}" name="schRgtrOpt">
<option value="rgtr">등록자</option>
<option value="mdfr">수정자</option>
</select>
<input type="hidden" id="schRgtrCd--${pageName}" name="schRgtrCd" />
<input type="text" class="form-control w-px-160" id="schRgtrNm--${pageName}" name="schRgtrNm" />
<button type="button" class="btn btn-sm btn-outline-dark" id="btnFindUser--${pageName}" title="사용자 검색">검색</button>
</div>
</div>
</div> <!-- 상세 조건 -->
</form>
<!-- 검색 조건 영역 -->
<!-- 업무 버튼 및 건수 표시 -->
<div>
<span class="container-page-btn">
<!-- 건수, 페이지 표시 -->
<div class="d-flex flex-row justify-content-between">
<span class="dataTables_info" id="paging--${pageName}PagingInfo" role="status" aria-live="polite"></span>
<ul class="pagination pagination-primary" id="paging--${pageName}">
</ul>
</div>
<!-- 업무 버튼 -->
<span class="container-window-btn-right">
</span>
</span>
</div>
<!-- 업무 버튼 및 건수 표시 -->
<!-- DataTables(그리드) -->
<div class="card-datatable text-nowrap">
<div class="dataTables_wrapper dt-bootstrap5 no-footer" id="DataTables_Table_0_wrapper--${pageName}">
<div class="table-responsive ox-scroll oy-scroll h-px-500" id="table-responsive--${pageName}">
<table class="table-layout-fixed dataTable datatables-ajax table table-bordered no-footer" id="DataTables_Table_0--${pageName}" aria-describedby="DataTables_Table_0_info">
<thead class="sticky-thead">
<tr id="theadTr--${pageName}"
data-by="by--${pageName}" data-by-output="byOutput--${pageName}" data-main-option="mainOption--${pageName}" data-sub-option="subOption--${pageName}">
</tr>
</thead>
<tbody id="tbody--${pageName}">
</tbody>
<template id="${infoPrefix}Col--${pageName}">
<th class="cmn" style="width: 72px;">No.</th>
<th class="cmn" style="width: 56px;"><input type="checkbox" class="form-check-input" id="gridAllCheckbox--${pageName}" onchange="pageObject['${pageName}'].control.select(this.checked);" /></th>
<th class="cmn" style="width: 160px;">업무구분</th>
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('RCVMT_RTRCN_YN', this.innerText, 'codeValue', 'CMN005');">수납취소</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('RCVMT_INPT_SE_CD', this.innerText, 'codeValue', 'FIM044');">수납입력구분</th>
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('FYR', this.innerText, 'match', 'part');">회계연도</th>
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('ACNTG_SE_CD', this.innerText, 'codeValue', 'FIM074');">회계구분</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('TXITM_CD', this.innerText, 'codeValue', 'FIM075');">세목코드</th>
<th class="cmn" style="width: 200px;" onclick="searchFromGridTitle('TXITM_CD', this.innerText, 'codeValue', 'FIM075');">세목명</th>
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('LEVY_NO', this.innerText, 'match', 'part');">부과번호</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('INSPY_SN', this.innerText, 'match', 'part');">분납일련번호</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('LAST_PCPTAX', this.innerText, 'match', 'part');">최종본세</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('LAST_ADAMT', this.innerText, 'match', 'part');">최종가산금</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('RCVMT_SN', this.innerText, 'match', 'part');">수납일련번호</th>
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('RCVMT_SE_CD', this.innerText, 'codeValue', 'FIM041');">수납구분</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('RCVMT_YMD', this.innerText, 'ymd', '');">수납일자</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('ACNTG_YMD', this.innerText, 'ymd', '');">회계일자</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('TSF_YMD', this.innerText, 'ymd', '');">이체일자</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('RCVMT_AMT', this.innerText, 'match', 'part');">수납금액</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('RCVMT_PCPTAX', this.innerText, 'match', 'part');">수납본세</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('RCVMT_ADAMT', this.innerText, 'match', 'part');">수납가산금</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('RCVMT_INT', this.innerText, 'match', 'part');">수납이자</th>
<th class="cmn" style="width: 200px;" onclick="searchFromGridTitle('RCVMT_BANK_NM', this.innerText, 'match', 'part');">수납은행</th>
<th class="cmn" style="width: 200px;" onclick="searchFromGridTitle('PAY_MTHD_SE_CD', this.innerText, 'codeValue', 'FIM045');">납부방법</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('RCVMT_STTS_CD', this.innerText, 'codeValue', 'FIM020');">수납상태</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('LEVY_YMD', this.innerText, 'ymd', '');">부과일자</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('FRST_DUDT_YMD', this.innerText, 'ymd', '');">최초납기일자</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('DUDT_YMD', this.innerText, 'ymd', '');">납기일자</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('SZR_YMD', this.innerText, 'ymd', '');">압류일자</th>
<th class="cmn" style="width: 200px;" onclick="searchFromGridTitle('SZR_THING', this.innerText, 'match', 'part');">압류물건</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('RPM_SZR_VHRNO', this.innerText, 'match', 'part');">대체압류차량</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('SZR_RMV_YMD', this.innerText, 'ymd', '');">압류해제일자</th>
<th class="cmn" style="width: 180px;" onclick="searchFromGridTitle('CRDN_YMD', this.innerText, 'ymd', '');">단속일시</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('VHRNO', this.innerText, 'match', 'part');">차량번호</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('RTPYR_SE_CD', this.innerText, 'codeValue', 'FIM011');">납부자구분</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('RTPYR_NO', this.innerText, 'ymd', '');">납부자번호</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('RTPYR_NM', this.innerText, 'match', 'part');">납부자명</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('CRDN_STDG_NM', this.innerText, 'match', 'part');">단속법정동</th>
<th class="cmn" style="width: 280px;" onclick="searchFromGridTitle('CRDN_PLC', this.innerText, 'match', 'part');">단속장소</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('CRDN_STTS_CD', this.innerText, 'codeValue', 'FIM010');">처리상태</th>
<th class="cmn" style="width: 180px;">등록일시</th>
<th class="cmn" style="width: 140px;">등록사용자</th>
<th class="cmn" style="width: 180px;">수정일시</th>
<th class="cmn" style="width: 140px;">수정사용자</th>
<th class="cmn dummy-th"></th>
</template>
<template id="${infoPrefix}Row--${pageName}">
<tr data-key="{RCVMT_ID}">
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{ROW_NUM}</td>
<td class="cmn text-center"><input type="checkbox" class="form-check-input" name="gridCheckbox" value="{RCVMT_ID}" onchange="pageObject['${pageName}'].control.select('{RCVMT_ID}', this.checked);"></td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{TASK_SE_NM}</td>
<td class="cmn text-center text-red" onclick="{onclick}" ondblclick="{ondblclick}">{RCVMT_RTRCN_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RCVMT_INPT_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{FYR}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{ACNTG_SE_CD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{TXITM_CD}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{TXITM_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{LEVY_NO}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{INSPY_SN}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{LAST_PCPTAX}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{LAST_ADAMT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RCVMT_SN}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RCVMT_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RCVMT_YMD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{ACNTG_YMD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{TSF_YMD}</td>
<td class="cmn text-end fw-bold text-blue" onclick="{onclick}" ondblclick="{ondblclick}">{RCVMT_AMT}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{RCVMT_PCPTAX}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{RCVMT_ADAMT}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{RCVMT_INT}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{RCVMT_BANK_NM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{PAY_MTHD_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RCVMT_STTS_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{LEVY_YMD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{FRST_DUDT_YMD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{DUDT_YMD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SZR_YMD}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{SZR_THING}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{RPM_SZR_VHRNO}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SZR_RMV_YMD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_YMD_TM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{VHRNO}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RTPYR_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RTPYR_NO}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{RTPYR_NM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_STDG_NM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_PLC}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_STTS_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{REG_DT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RGTR_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFCN_DT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFR_NM}</td>
<td class="cmn dummy-td"></td>
</tr>
</template>
<template id="${infoPrefix}NotFound--${pageName}">
<tr class="bpv">
<td valign="top" colspan="45" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="dpv">
<td valign="top" colspan="45" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="eca">
<td valign="top" colspan="45" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="pvs">
<td valign="top" colspan="45" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="pes">
<td valign="top" colspan="45" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
</template>
</table>
</div>
</div>
<!-- / DataTables(그리드) -->
</div> <!-- <div class="wrapper-list"> -->
</div> <!-- <div class="card"> -->
</div> <!-- DataTables(그리드) -->
</div> <!-- <div class="card wrapper-list"> -->
<!-- Page Body -->
</div> <!-- <div class="container-xxl flex-grow-1 px-0"> -->
<!-- / Content -->
<!-- Content -->
<div class="content-backdrop fade"></div>
</div>

@ -9,287 +9,285 @@
<div class="container-xxl flex-grow-1 px-0">
<!-- Page Body -->
<div class="card">
<div class="wrapper-list">
<!-- 상단 버튼 -->
<div class="container-page-btn">
<button type="button" class="btn btn-outline-dark w-px-120" id="btnReset--${pageName}" title="초기화">
초기화
<div class="card wrapper-list">
<!-- 상단 버튼 -->
<div class="container-page-btn">
<button type="button" class="btn btn-outline-dark w-px-120" id="btnReset--${pageName}" title="초기화">
초기화
</button>
<span class="container-window-btn-right">
<button type="button" class="btn btn-search w-px-120" id="btnSearch--${pageName}" title="검색">
검색
</button>
<span class="container-window-btn-right">
<button type="button" class="btn btn-search w-px-120" id="btnSearch--${pageName}" title="검색">
검색
</button>
<button type="button" class="btn btn-excel w-px-120" id="btnExcel--${pageName}" title="엑셀">
엑셀
</button>
</span>
</div> <!-- 상단 버튼 -->
<!-- 검색 조건 영역 -->
<form id="frmSearch--${pageName}" name="frmSearch">
<!-- hidden -->
<input type="hidden" id="sggCd--${pageName}" name="sggCd" />
<!-- 메인 조건 -->
<div class="container-search">
<div class="row g-1">
<!-- 업무 구분 -->
<div class="col-12">
<span class="form-label fw-bold form-search-title w-px-120 text-end">업무구분</span>
<span class="form-search-linebox">
<c:forEach items="${taskListForSgg}" var="item">
<label>
<input type="radio" class="form-check-input" name="taskSeCd" alt="업무구분"
value="${item.code}" onchange="pageObject['${pageName}'].fnResetAndChangeBiz(this.value);">
${item.value}
</label>
</c:forEach>
</span>
</div>
<!-- 계고 일자 -->
<div class="col-6">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schLevyExclYmdFrom--${pageName}">계고일자</label>
<span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schLevyExclYmdFrom--${pageName}" name="schLevyExclYmdFrom"
data-fmt-type="day" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~
<input type="text" class="form-control form-date" id="schLevyExclYmdTo--${pageName}" name="schLevyExclYmdTo"
data-fmt-type="day" title="종료 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div>
<!-- 계고 사유 -->
<div class="col-6">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schLevyExclRsnCd--${pageName}">계고사유</label>
<select class="form-select w-px-200" id="schLevyExclRsnCd--${pageName}" name="schLevyExclRsnCd">
<option value="">전체</option>
<c:forEach items="${FIM022List}" var="item">
<option value="${item.code}">${item.value}</option>
</c:forEach>
</select>
</div>
<!-- 위반 항목 -->
<div class="col-6">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schVltnCd--${pageName}">위반항목</label>
<select class="form-select w-px-160" id="schVltnCd--${pageName}" name="schVltnCd">
<option value="">전체</option>
<c:forEach items="${FIM004List}" var="item">
<option value="${item.code}">${item.value}</option>
</c:forEach>
</select>
</div>
<!-- 동적검색 -->
<div class="col-6">
<input type="hidden" id="by--${pageName}" name="by" />
<input type="text" class="form-control fw-bold w-px-120 text-end" id="byOutput--${pageName}" value="동적 검색" readonly />
<input type="hidden" id="mainOption--${pageName}" name="mainOption" />
<input type="hidden" id="subOption--${pageName}" name="subOption" />
<input type="text" class="form-control w-px-400" id="term--${pageName}" name="term" autocomplete="off" />
<!-- 상세 검색조건 버튼 -->
<span class="flr">
<button type="button" class="btn btn-open-detail" data-bs-toggle="collapse" data-bs-target="#searchDetail--${pageName}">
<i class="bx bx-chevron-down"></i>
상세검색
</button>
</span>
</div>
<button type="button" class="btn btn-excel w-px-120" id="btnExcel--${pageName}" title="엑셀">
엑셀
</button>
</span>
</div> <!-- 상단 버튼 -->
<!-- 검색 조건 영역 -->
<form id="frmSearch--${pageName}" name="frmSearch">
<!-- hidden -->
<input type="hidden" id="sggCd--${pageName}" name="sggCd" />
<!-- 메인 조건 -->
<div class="container-search">
<div class="row g-1">
<!-- 업무 구분 -->
<div class="col-12">
<span class="form-label fw-bold form-search-title w-px-120 text-end">업무구분</span>
<span class="form-search-linebox">
<c:forEach items="${taskListForSgg}" var="item">
<label>
<input type="radio" class="form-check-input" name="taskSeCd" alt="업무구분"
value="${item.code}" onchange="pageObject['${pageName}'].fnResetAndChangeBiz(this.value);">
${item.value}
</label>
</c:forEach>
</span>
</div>
<!-- 계고 일자 -->
<div class="col-6">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schLevyExclYmdFrom--${pageName}">계고일자</label>
<span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schLevyExclYmdFrom--${pageName}" name="schLevyExclYmdFrom"
data-fmt-type="day" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~
<input type="text" class="form-control form-date" id="schLevyExclYmdTo--${pageName}" name="schLevyExclYmdTo"
data-fmt-type="day" title="종료 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div>
<!-- 계고 사유 -->
<div class="col-6">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schLevyExclRsnCd--${pageName}">계고사유</label>
<select class="form-select w-px-200" id="schLevyExclRsnCd--${pageName}" name="schLevyExclRsnCd">
<option value="">전체</option>
<c:forEach items="${FIM022List}" var="item">
<option value="${item.code}">${item.value}</option>
</c:forEach>
</select>
</div>
<!-- 위반 항목 -->
<div class="col-6">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schVltnCd--${pageName}">위반항목</label>
<select class="form-select w-px-160" id="schVltnCd--${pageName}" name="schVltnCd">
<option value="">전체</option>
<c:forEach items="${FIM004List}" var="item">
<option value="${item.code}">${item.value}</option>
</c:forEach>
</select>
</div>
<!-- 동적검색 -->
<div class="col-6">
<input type="hidden" id="by--${pageName}" name="by" />
<input type="text" class="form-control fw-bold w-px-120 text-end" id="byOutput--${pageName}" value="동적 검색" readonly />
<input type="hidden" id="mainOption--${pageName}" name="mainOption" />
<input type="hidden" id="subOption--${pageName}" name="subOption" />
<input type="text" class="form-control w-px-400" id="term--${pageName}" name="term" autocomplete="off" />
<!-- 상세 검색조건 버튼 -->
<span class="flr">
<button type="button" class="btn btn-open-detail" data-bs-toggle="collapse" data-bs-target="#searchDetail--${pageName}">
<i class="bx bx-chevron-down"></i>
상세검색
</button>
</span>
</div>
</div>
</div> <!-- 메인 조건 -->
<!-- 상세 조건 -->
<div id="searchDetail--${pageName}" class="container-search container-search-detail collapse">
<div class="row g-1">
<!-- 단속일자 -->
<div class="col-4">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schCrdnYmdFrom--${pageName}">단속일자</label>
<span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schCrdnYmdFrom--${pageName}" name="schCrdnYmdFrom"
data-fmt-type="day" autocomplete="off" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~
<input type="text" class="form-control form-date" id="schCrdnYmdTo--${pageName}" name="schCrdnYmdTo"
data-fmt-type="day" autocomplete="off" title="종료 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div>
<!-- 차량번호 -->
<div class="col-4">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schVhrno--${pageName}">차량번호</label>
<input type="text" class="form-control w-px-160" id="schVhrno--${pageName}" name="schVhrno" autocomplete="off" />
</div>
</div> <!-- 메인 조건 -->
<!-- 상세 조건 -->
<div id="searchDetail--${pageName}" class="container-search container-search-detail collapse">
<div class="row g-1">
<!-- 단속일자 -->
<div class="col-4">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schCrdnYmdFrom--${pageName}">단속일자</label>
<span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schCrdnYmdFrom--${pageName}" name="schCrdnYmdFrom"
data-fmt-type="day" autocomplete="off" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~
<input type="text" class="form-control form-date" id="schCrdnYmdTo--${pageName}" name="schCrdnYmdTo"
data-fmt-type="day" autocomplete="off" title="종료 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div>
<!-- 차량번호 -->
<div class="col-4">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schVhrno--${pageName}">차량번호</label>
<input type="text" class="form-control w-px-160" id="schVhrno--${pageName}" name="schVhrno" autocomplete="off" />
</div>
<!-- 납부자번호 -->
<div class="col-4">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schRtpyrNm--${pageName}">납부자번호</label>
<input type="text" class="form-control w-px-160" id="schRtpyrNm--${pageName}" name="schRtpyrNm" autocomplete="off" />
</div>
<!-- 납부자명 -->
<div class="col-4">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schRtpyrNo--${pageName}">납부자명</label>
<input type="text" class="form-control w-px-160" id="schRtpyrNo--${pageName}" name="schRtpyrNo" autocomplete="off" />
</div>
<!-- 등록일자, 수정일자 -->
<div class="col-4">
<select class="form-select w-px-120 text-center" id="schRegDateOpt--${pageName}" name="schRegDateOpt">
<option value="regDt">등록일자</option>
<option value="mdfcnDt">수정일자</option>
</select>
<span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schRegDateFrom--${pageName}" name="schRegDateFrom"
data-fmt-type="day" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~
<input type="text" class="form-control form-date" id="schRegDateTo--${pageName}" name="schRegDateTo"
data-fmt-type="day" title="종료 날짜 선택">
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div>
<!-- 등록자명, 수정자명 -->
<div class="col-4">
<select class="form-select w-px-120 text-center" id="schRgtrOpt--${pageName}" name="schRgtrOpt">
<option value="rgtr">등록자</option>
<option value="mdfr">수정자</option>
</select>
<input type="hidden" id="schRgtrCd--${pageName}" name="schRgtrCd" />
<input type="text" class="form-control w-px-160" id="schRgtrNm--${pageName}" name="schRgtrNm" />
<button type="button" class="btn btn-sm btn-outline-dark" id="btnFindUser--${pageName}" title="사용자 검색">검색</button>
</div>
<!-- 납부자번호 -->
<div class="col-4">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schRtpyrNm--${pageName}">납부자번호</label>
<input type="text" class="form-control w-px-160" id="schRtpyrNm--${pageName}" name="schRtpyrNm" autocomplete="off" />
</div>
</div> <!-- 상세 조건 -->
</form>
<!-- 검색 조건 영역 -->
<!-- 업무 버튼 및 건수 표시 -->
<div>
<span class="container-page-btn">
<!-- 건수, 페이지 표시 -->
<div class="d-flex flex-row justify-content-between">
<span class="dataTables_info" id="paging--${pageName}PagingInfo" role="status" aria-live="polite"></span>
<ul class="pagination pagination-primary" id="paging--${pageName}">
</ul>
<!-- 납부자명 -->
<div class="col-4">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schRtpyrNo--${pageName}">납부자명</label>
<input type="text" class="form-control w-px-160" id="schRtpyrNo--${pageName}" name="schRtpyrNo" autocomplete="off" />
</div>
<!-- 업무 버튼 -->
<span class="container-window-btn-right">
<button type="button" class="btn btn-primary w-px-120" id="btnUpdateWrng--${pageName}" title="계고 수정">
계고 수정
</button>
<button type="button" class="btn btn-primary w-px-120" id="btnCreateSlctnTrgtInfo--${pageName}" title="선택 발송대상 등록">
선택 대상 등록
</button>
<button type="button" class="btn btn-primary w-px-120" id="btnCreateWholTrgtInfo--${pageName}" title="선택 발송대상 등록">
전체 대상 등록
</button>
</span>
</span>
</div> <!-- 업무 버튼 및 건수 표시 -->
<!-- DataTables(그리드) -->
<div class="card-datatable text-nowrap">
<div class="dataTables_wrapper dt-bootstrap5 no-footer" id="DataTables_Table_0_wrapper--${pageName}">
<div class="table-responsive ox-scroll oy-scroll h-px-500" id="table-responsive--${pageName}">
<table class="table-layout-fixed dataTable datatables-ajax table table-bordered no-footer" id="DataTables_Table_0--${pageName}" aria-describedby="DataTables_Table_0_info">
<thead class="sticky-thead">
<tr id="theadTr--${pageName}"
data-by="by--${pageName}" data-by-output="byOutput--${pageName}" data-main-option="mainOption--${pageName}" data-sub-option="subOption--${pageName}">
</tr>
</thead>
<tbody id="tbody--${pageName}">
</tbody>
<template id="${infoPrefix}Col--${pageName}">
<th class="cmn" style="width: 72px;">No.</th>
<th class="cmn" style="width: 56px;"><input type="checkbox" class="form-check-input" id="gridAllCheckbox--${pageName}" onchange="pageObject['${pageName}'].control.select(this.checked);" /></th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('TASK_SE_CD', this.innerText, 'codeValue', 'FIM054');">업무구분</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('LEVY_EXCL_YMD', this.innerText, 'ymd', '');">계고일자</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('LEVY_EXCL_RSN_CD', this.innerText, 'codeValue', 'FIM022');">계고사유</th>
<th class="cmn" style="width: 240px;" onclick="searchFromGridTitle('ETC_CN', this.innerText, 'match', 'part');">기타내용</th>
<th class="cmn" style="width: 180px;" onclick="searchFromGridTitle('CVLCPT_APLY_NO', this.innerText, 'match', 'part');">민원신청번호</th>
<th class="cmn" style="width: 180px;" onclick="searchFromGridTitle('CVLCPT_RCPT_NO', this.innerText, 'match', 'part');">민원접수번호</th>
<th class="cmn" style="width: 140px;" onclick="searchFromGridTitle('CVLCPT_RCPT_YMD', this.innerText, 'ymd', '');">민원접수일자</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('CVLCPT_PRCS_PIC_NM', this.innerText, 'match', 'part');">민원처리담당자</th>
<th class="cmn" style="width: 200px;" onclick="searchFromGridTitle('CVLCPT_PRCS_CD', this.innerText, 'codeValue', 'FIM017');">민원처리결과</th>
<th class="cmn" style="width: 180px;" onclick="searchFromGridTitle('CRDN_YMD', this.innerText, 'ymd', '');">단속일시</th>
<th class="cmn" style="width: 140px;" onclick="searchFromGridTitle('VHRNO', this.innerText, 'match', 'part');">차량번호</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('VLTN_ARTCL', this.innerText, 'match', 'part');">위반항목</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('CRDN_STDG_NM', this.innerText, 'match', 'part');">단속법정동</th>
<th class="cmn" style="width: 280px;" onclick="searchFromGridTitle('CRDN_PLC', this.innerText, 'match', 'part');">단속장소</th>
<th class="bpv" style="width: 280px;" onclick="searchFromGridTitle('DTL_CRDN_PLC', this.innerText, 'match', 'part');">상세단속장소</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('FFNLG_CRDN_AMT', this.innerText, 'match', 'part');">단속금액</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('CRDN_STTS_CD', this.innerText, 'codeValue', 'FIM010');">처리상태</th>
<th class="cmn" style="width: 200px;" onclick="searchFromGridTitle('RTPYR_NM', this.innerText, 'match', 'part');">납부자명</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('RTPYR_BRDT', this.innerText, 'match', 'part');">납부자생일</th>
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('ZIP', this.innerText, 'match', 'part');">우편번호</th>
<th class="cmn" style="width: 280px;" onclick="searchFromGridTitle('ADDR', this.innerText, 'match', 'part');">주소</th>
<th class="cmn" style="width: 320px;" onclick="searchFromGridTitle('DTL_ADDR', this.innerText, 'match', 'part');">상세주소</th>
<th class="pvs" style="width: 140px;" onclick="searchFromGridTitle('CRDN_SPAREA_CD', this.innerText, 'codeValue', 'FIM007');">단속특별구역</th>
<th class="eca" style="width: 140px;" onclick="searchFromGridTitle('USE_FUEL_CD', this.innerText, 'codeValue', 'LVS005');">사용연료</th>
<th class="dpv" style="width: 140px;" onclick="searchFromGridTitle('PARKNG_PSBLTY_RSLT_CD', this.innerText, 'codeValue', 'FIM034');">주차가능여부</th>
<th class="cmn" style="width: 180px;">등록일시</th>
<th class="cmn" style="width: 140px;">등록사용자</th>
<th class="cmn" style="width: 180px;">수정일시</th>
<th class="cmn" style="width: 140px;">수정사용자</th>
<th class="cmn dummy-th"></th>
</template>
<template id="${infoPrefix}Row--${pageName}">
<tr data-key="{CRDN_ID}">
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{ROW_NUM}</td>
<td class="cmn text-center"><input type="checkbox" class="form-check-input" name="gridCheckbox" value="{CRDN_ID}" onchange="pageObject['${pageName}'].control.select('{CRDN_ID}', this.checked);" /></td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{TASK_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{LEVY_EXCL_YMD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{LEVY_EXCL_RSN_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{ETC_CN}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{CVLCPT_APLY_NO}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{CVLCPT_RCPT_NO}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{CVLCPT_RCPT_YMD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{CVLCPT_PRCS_PIC_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{CVLCPT_PRCS_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_YMD_TM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{VHRNO}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{VLTN_ARTCL}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_STDG_NM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_PLC}</td>
<td class="bpv text-start" onclick="{onclick}" ondblclick="{ondblclick}">{DTL_CRDN_PLC}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{FFNLG_CRDN_AMT}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_STTS_NM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{RTPYR_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RTPYR_BRDT_MASK}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{ZIP}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{ADDR}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{DTL_ADDR}</td>
<td class="pvs text-center" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_SPAREA_NM}</td>
<td class="eca text-center" onclick="{onclick}" ondblclick="{ondblclick}">{USE_FUEL_NM}</td>
<td class="dpv text-center" onclick="{onclick}" ondblclick="{ondblclick}">{PARKNG_PSBLTY_RSLT_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{REG_DT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RGTR_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFCN_DT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFR_NM}</td>
<td class="cmn dummy-td"></td>
</tr>
</template>
<template id="${infoPrefix}NotFound--${pageName}">
<tr class="bpv">
<td valign="top" colspan="29" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="dpv">
<td valign="top" colspan="29" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="eca">
<td valign="top" colspan="29" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="pvs">
<td valign="top" colspan="29" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="pes">
<td valign="top" colspan="29" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
</template>
</table>
<!-- 등록일자, 수정일자 -->
<div class="col-4">
<select class="form-select w-px-120 text-center" id="schRegDateOpt--${pageName}" name="schRegDateOpt">
<option value="regDt">등록일자</option>
<option value="mdfcnDt">수정일자</option>
</select>
<span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schRegDateFrom--${pageName}" name="schRegDateFrom"
data-fmt-type="day" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~
<input type="text" class="form-control form-date" id="schRegDateTo--${pageName}" name="schRegDateTo"
data-fmt-type="day" title="종료 날짜 선택">
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div>
<!-- 등록자명, 수정자명 -->
<div class="col-4">
<select class="form-select w-px-120 text-center" id="schRgtrOpt--${pageName}" name="schRgtrOpt">
<option value="rgtr">등록자</option>
<option value="mdfr">수정자</option>
</select>
<input type="hidden" id="schRgtrCd--${pageName}" name="schRgtrCd" />
<input type="text" class="form-control w-px-160" id="schRgtrNm--${pageName}" name="schRgtrNm" />
<button type="button" class="btn btn-sm btn-outline-dark" id="btnFindUser--${pageName}" title="사용자 검색">검색</button>
</div>
</div>
</div> <!-- 상세 조건 -->
</form>
<!-- 검색 조건 영역 -->
<!-- 업무 버튼 및 건수 표시 -->
<div>
<span class="container-page-btn">
<!-- 건수, 페이지 표시 -->
<div class="d-flex flex-row justify-content-between">
<span class="dataTables_info" id="paging--${pageName}PagingInfo" role="status" aria-live="polite"></span>
<ul class="pagination pagination-primary" id="paging--${pageName}">
</ul>
</div>
<!-- 업무 버튼 -->
<span class="container-window-btn-right">
<button type="button" class="btn btn-primary w-px-120" id="btnUpdateWrng--${pageName}" title="계고 수정">
계고 수정
</button>
<button type="button" class="btn btn-primary w-px-120" id="btnCreateSlctnTrgtInfo--${pageName}" title="선택 발송대상 등록">
선택 대상 등록
</button>
<button type="button" class="btn btn-primary w-px-120" id="btnCreateWholTrgtInfo--${pageName}" title="선택 발송대상 등록">
전체 대상 등록
</button>
</span>
</span>
</div> <!-- 업무 버튼 및 건수 표시 -->
<!-- DataTables(그리드) -->
<div class="card-datatable text-nowrap">
<div class="dataTables_wrapper dt-bootstrap5 no-footer" id="DataTables_Table_0_wrapper--${pageName}">
<div class="table-responsive ox-scroll oy-scroll h-px-500" id="table-responsive--${pageName}">
<table class="table-layout-fixed dataTable datatables-ajax table table-bordered no-footer" id="DataTables_Table_0--${pageName}" aria-describedby="DataTables_Table_0_info">
<thead class="sticky-thead">
<tr id="theadTr--${pageName}"
data-by="by--${pageName}" data-by-output="byOutput--${pageName}" data-main-option="mainOption--${pageName}" data-sub-option="subOption--${pageName}">
</tr>
</thead>
<tbody id="tbody--${pageName}">
</tbody>
<template id="${infoPrefix}Col--${pageName}">
<th class="cmn" style="width: 72px;">No.</th>
<th class="cmn" style="width: 56px;"><input type="checkbox" class="form-check-input" id="gridAllCheckbox--${pageName}" onchange="pageObject['${pageName}'].control.select(this.checked);" /></th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('TASK_SE_CD', this.innerText, 'codeValue', 'FIM054');">업무구분</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('LEVY_EXCL_YMD', this.innerText, 'ymd', '');">계고일자</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('LEVY_EXCL_RSN_CD', this.innerText, 'codeValue', 'FIM022');">계고사유</th>
<th class="cmn" style="width: 240px;" onclick="searchFromGridTitle('ETC_CN', this.innerText, 'match', 'part');">기타내용</th>
<th class="cmn" style="width: 180px;" onclick="searchFromGridTitle('CVLCPT_APLY_NO', this.innerText, 'match', 'part');">민원신청번호</th>
<th class="cmn" style="width: 180px;" onclick="searchFromGridTitle('CVLCPT_RCPT_NO', this.innerText, 'match', 'part');">민원접수번호</th>
<th class="cmn" style="width: 140px;" onclick="searchFromGridTitle('CVLCPT_RCPT_YMD', this.innerText, 'ymd', '');">민원접수일자</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('CVLCPT_PRCS_PIC_NM', this.innerText, 'match', 'part');">민원처리담당자</th>
<th class="cmn" style="width: 200px;" onclick="searchFromGridTitle('CVLCPT_PRCS_CD', this.innerText, 'codeValue', 'FIM017');">민원처리결과</th>
<th class="cmn" style="width: 180px;" onclick="searchFromGridTitle('CRDN_YMD', this.innerText, 'ymd', '');">단속일시</th>
<th class="cmn" style="width: 140px;" onclick="searchFromGridTitle('VHRNO', this.innerText, 'match', 'part');">차량번호</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('VLTN_ARTCL', this.innerText, 'match', 'part');">위반항목</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('CRDN_STDG_NM', this.innerText, 'match', 'part');">단속법정동</th>
<th class="cmn" style="width: 280px;" onclick="searchFromGridTitle('CRDN_PLC', this.innerText, 'match', 'part');">단속장소</th>
<th class="bpv" style="width: 280px;" onclick="searchFromGridTitle('DTL_CRDN_PLC', this.innerText, 'match', 'part');">상세단속장소</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('FFNLG_CRDN_AMT', this.innerText, 'match', 'part');">단속금액</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('CRDN_STTS_CD', this.innerText, 'codeValue', 'FIM010');">처리상태</th>
<th class="cmn" style="width: 200px;" onclick="searchFromGridTitle('RTPYR_NM', this.innerText, 'match', 'part');">납부자명</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('RTPYR_BRDT', this.innerText, 'match', 'part');">납부자생일</th>
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('ZIP', this.innerText, 'match', 'part');">우편번호</th>
<th class="cmn" style="width: 280px;" onclick="searchFromGridTitle('ADDR', this.innerText, 'match', 'part');">주소</th>
<th class="cmn" style="width: 320px;" onclick="searchFromGridTitle('DTL_ADDR', this.innerText, 'match', 'part');">상세주소</th>
<th class="pvs" style="width: 140px;" onclick="searchFromGridTitle('CRDN_SPAREA_CD', this.innerText, 'codeValue', 'FIM007');">단속특별구역</th>
<th class="eca" style="width: 140px;" onclick="searchFromGridTitle('USE_FUEL_CD', this.innerText, 'codeValue', 'LVS005');">사용연료</th>
<th class="dpv" style="width: 140px;" onclick="searchFromGridTitle('PARKNG_PSBLTY_RSLT_CD', this.innerText, 'codeValue', 'FIM034');">주차가능여부</th>
<th class="cmn" style="width: 180px;">등록일시</th>
<th class="cmn" style="width: 140px;">등록사용자</th>
<th class="cmn" style="width: 180px;">수정일시</th>
<th class="cmn" style="width: 140px;">수정사용자</th>
<th class="cmn dummy-th"></th>
</template>
<template id="${infoPrefix}Row--${pageName}">
<tr data-key="{CRDN_ID}">
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{ROW_NUM}</td>
<td class="cmn text-center"><input type="checkbox" class="form-check-input" name="gridCheckbox" value="{CRDN_ID}" onchange="pageObject['${pageName}'].control.select('{CRDN_ID}', this.checked);" /></td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{TASK_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{LEVY_EXCL_YMD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{LEVY_EXCL_RSN_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{ETC_CN}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{CVLCPT_APLY_NO}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{CVLCPT_RCPT_NO}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{CVLCPT_RCPT_YMD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{CVLCPT_PRCS_PIC_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{CVLCPT_PRCS_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_YMD_TM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{VHRNO}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{VLTN_ARTCL}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_STDG_NM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_PLC}</td>
<td class="bpv text-start" onclick="{onclick}" ondblclick="{ondblclick}">{DTL_CRDN_PLC}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{FFNLG_CRDN_AMT}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_STTS_NM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{RTPYR_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RTPYR_BRDT_MASK}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{ZIP}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{ADDR}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{DTL_ADDR}</td>
<td class="pvs text-center" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_SPAREA_NM}</td>
<td class="eca text-center" onclick="{onclick}" ondblclick="{ondblclick}">{USE_FUEL_NM}</td>
<td class="dpv text-center" onclick="{onclick}" ondblclick="{ondblclick}">{PARKNG_PSBLTY_RSLT_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{REG_DT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RGTR_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFCN_DT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFR_NM}</td>
<td class="cmn dummy-td"></td>
</tr>
</template>
<template id="${infoPrefix}NotFound--${pageName}">
<tr class="bpv">
<td valign="top" colspan="29" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="dpv">
<td valign="top" colspan="29" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="eca">
<td valign="top" colspan="29" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="pvs">
<td valign="top" colspan="29" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="pes">
<td valign="top" colspan="29" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
</template>
</table>
</div>
</div> <!-- DataTables(그리드) -->
</div> <!-- <div class="wrapper-list"> -->
</div> <!-- <div class="card"> -->
</div>
</div> <!-- DataTables(그리드) -->
</div> <!-- <div class="card wrapper-list"> -->
<!-- Page Body -->
</div> <!-- <div class="container-xxl flex-grow-1 px-0"> -->
<!-- Content -->

@ -9,213 +9,211 @@
<div class="container-xxl flex-grow-1 px-0">
<!-- Page Body -->
<div class="card">
<div class="wrapper-list">
<!-- 상단 버튼 -->
<div class="container-page-btn">
<button type="button" class="btn btn-outline-dark w-px-120" id="btnReset--${pageName}" title="초기화">
초기화
<div class="card wrapper-list">
<!-- 상단 버튼 -->
<div class="container-page-btn">
<button type="button" class="btn btn-outline-dark w-px-120" id="btnReset--${pageName}" title="초기화">
초기화
</button>
<span class="container-window-btn-right">
<button type="button" class="btn btn-search w-px-120" id="btnSearch--${pageName}" title="검색">
검색
</button>
<span class="container-window-btn-right">
<button type="button" class="btn btn-search w-px-120" id="btnSearch--${pageName}" title="검색">
검색
</button>
<button type="button" class="btn btn-excel w-px-120" id="btnExcel--${pageName}" title="엑셀">
엑셀
</button>
</span>
</div> <!-- 상단 버튼 -->
<!-- 검색 조건 영역 -->
<form id="frmSearch--${pageName}" name="frmSearch">
<!-- hidden -->
<input type="hidden" id="sggCd--${pageName}" name="sggCd" />
<!-- 메인 조건 -->
<div class="container-search">
<div class="row g-1">
<!-- 업무 구분 -->
<div class="col-12">
<span class="form-label fw-bold form-search-title w-px-120 text-end">업무구분</span>
<span class="form-search-linebox">
<c:forEach items="${taskListForSgg}" var="item">
<label>
<input type="radio" class="form-check-input" name="taskSeCd" alt="업무구분"
value="${item.code}" onchange="fnResetAndChangeBiz${pageName}(this.value);">
${item.value}
</label>
</c:forEach>
</span>
</div>
<!-- 발송 일자 -->
<div class="col-6">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schSndngYmdFrom--${pageName}">발송일자</label>
<span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schSndngYmdFrom--${pageName}" name="schSndngYmdFrom"
data-fmt-type="day" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~
<input type="text" class="form-control form-date" id="schSndngYmdTo--${pageName}" name="schSndngYmdTo"
data-fmt-type="day" title="종료 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div>
<!-- 발송 등록 구분 코드 -->
<div class="col-6">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schSndngRegSeCd--${pageName}">등록구분</label>
<select class="form-select w-px-80" id="schSndngRegSeCd--${pageName}" name="schSndngRegSeCd">
<c:forEach items="${FIM067List}" var="item">
<option value="${item.code}">${item.value}</option>
</c:forEach>
</select>
</div>
<!-- -->
<div class="col-6">
</div>
<!-- 동적 검색 -->
<div class="col-6">
<input type="hidden" id="by--${pageName}" name="by" />
<input type="text" class="form-control fw-bold w-px-120 text-end" id="byOutput--${pageName}" value="동적 검색" readonly />
<input type="hidden" id="mainOption--${pageName}" name="mainOption" />
<input type="hidden" id="subOption--${pageName}" name="subOption" />
<input type="text" class="form-control w-px-400" id="term--${pageName}" name="term" autocomplete="off" />
<!-- 상세 검색조건 버튼 -->
<span class="flr">
<button type="button" class="btn btn-open-detail" data-bs-toggle="collapse" data-bs-target="#searchDetail--${pageName}">
<i class="bx bx-chevron-down"></i>
상세검색
</button>
</span>
</div>
<button type="button" class="btn btn-excel w-px-120" id="btnExcel--${pageName}" title="엑셀">
엑셀
</button>
</span>
</div> <!-- 상단 버튼 -->
<!-- 검색 조건 영역 -->
<form id="frmSearch--${pageName}" name="frmSearch">
<!-- hidden -->
<input type="hidden" id="sggCd--${pageName}" name="sggCd" />
<!-- 메인 조건 -->
<div class="container-search">
<div class="row g-1">
<!-- 업무 구분 -->
<div class="col-12">
<span class="form-label fw-bold form-search-title w-px-120 text-end">업무구분</span>
<span class="form-search-linebox">
<c:forEach items="${taskListForSgg}" var="item">
<label>
<input type="radio" class="form-check-input" name="taskSeCd" alt="업무구분"
value="${item.code}" onchange="fnResetAndChangeBiz${pageName}(this.value);">
${item.value}
</label>
</c:forEach>
</span>
</div>
<!-- 발송 일자 -->
<div class="col-6">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schSndngYmdFrom--${pageName}">발송일자</label>
<span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schSndngYmdFrom--${pageName}" name="schSndngYmdFrom"
data-fmt-type="day" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~
<input type="text" class="form-control form-date" id="schSndngYmdTo--${pageName}" name="schSndngYmdTo"
data-fmt-type="day" title="종료 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div>
<!-- 발송 등록 구분 코드 -->
<div class="col-6">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schSndngRegSeCd--${pageName}">등록구분</label>
<select class="form-select w-px-80" id="schSndngRegSeCd--${pageName}" name="schSndngRegSeCd">
<c:forEach items="${FIM067List}" var="item">
<option value="${item.code}">${item.value}</option>
</c:forEach>
</select>
</div>
</div> <!-- 메인 조건 -->
<!-- 상세 조건 -->
<div id="searchDetail--${pageName}" class="container-search container-search-detail collapse">
<div class="row g-1">
<!-- 등록일자, 수정일자 -->
<div class="col-6">
<select class="form-select w-px-120 text-center" id="schRegDateOpt--${pageName}" name="schRegDateOpt">
<option value="regDt">등록일자</option>
<option value="mdfcnDt">수정일자</option>
</select>
<span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schRegDateFrom--${pageName}" name="schRegDateFrom"
data-fmt-type="day" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~
<input type="text" class="form-control form-date" id="schRegDateTo--${pageName}" name="schRegDateTo"
data-fmt-type="day" title="종료 날짜 선택">
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div>
<!-- 등록자명, 수정자명 -->
<div class="col-6">
<select class="form-select w-px-120 text-center" id="schRgtrOpt--${pageName}" name="schRgtrOpt">
<option value="rgtr">등록자</option>
<option value="mdfr">수정자</option>
</select>
<input type="hidden" id="schRgtrCd--${pageName}" name="schRgtrCd" />
<input type="text" class="form-control w-px-160" id="schRgtrNm--${pageName}" name="schRgtrNm" />
<button type="button" class="btn btn-sm btn-outline-dark" id="btnFindUser--${pageName}" title="사용자 검색">검색</button>
</div>
<!-- -->
<div class="col-6">
</div>
</div> <!-- 상세 조건 -->
</form>
<!-- 검색 조건 영역 -->
<!-- 업무 버튼 및 건수 표시 -->
<div>
<span class="container-page-btn">
<!-- 건수, 페이지 표시 -->
<div class="d-flex flex-row justify-content-between">
<span class="dataTables_info" id="paging--${pageName}PagingInfo" role="status" aria-live="polite"></span>
<ul class="pagination pagination-primary" id="paging--${pageName}">
</ul>
<!-- 동적 검색 -->
<div class="col-6">
<input type="hidden" id="by--${pageName}" name="by" />
<input type="text" class="form-control fw-bold w-px-120 text-end" id="byOutput--${pageName}" value="동적 검색" readonly />
<input type="hidden" id="mainOption--${pageName}" name="mainOption" />
<input type="hidden" id="subOption--${pageName}" name="subOption" />
<input type="text" class="form-control w-px-400" id="term--${pageName}" name="term" autocomplete="off" />
<!-- 상세 검색조건 버튼 -->
<span class="flr">
<button type="button" class="btn btn-open-detail" data-bs-toggle="collapse" data-bs-target="#searchDetail--${pageName}">
<i class="bx bx-chevron-down"></i>
상세검색
</button>
</span>
</div>
<!-- 업무 버튼 -->
<span class="container-window-btn-right">
<button type="button" class="btn btn-primary w-px-120" id="btnRemove--${pageName}" title="계고장 발송 삭제">
발송 삭제
</button>
</span>
</span>
</div> <!-- 업무 버튼 및 건수 표시 -->
<!-- DataTables(그리드) -->
<div class="card-datatable text-nowrap">
<div class="dataTables_wrapper dt-bootstrap5 no-footer" id="DataTables_Table_0_wrapper--${pageName}">
<div class="table-responsive ox-scroll oy-scroll h-px-500" id="table-responsive--${pageName}">
<table class="table-layout-fixed dataTable datatables-ajax table table-bordered no-footer" id="DataTables_Table_0--${pageName}" aria-describedby="DataTables_Table_0_info">
<thead class="sticky-thead">
<tr id="theadTr--${pageName}"
data-by="by--${pageName}" data-by-output="byOutput--${pageName}" data-main-option="mainOption--${pageName}" data-sub-option="subOption--${pageName}">
</tr>
</thead>
<tbody id="tbody--${pageName}">
</tbody>
<template id="${infoPrefix}Col--${pageName}">
<th class="cmn" style="width: 72px;">No.</th>
<th class="cmn" style="width: 56px;"><input type="checkbox" class="form-check-input" id="gridAllCheckbox--${pageName}" onchange="pageObject['${pageName}'].control.select(this.checked);" /></th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('TASK_SE_CD', this.innerText, 'codeValue', 'FIM054');">업무구분</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('SNDNG_REG_SE_CD', this.innerText, 'codeValue', 'FIM067');">등록구분</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('VLTN_ARTCL', this.innerText, 'match', 'part');">위반항목</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('SNDNG_YMD', this.innerText, 'ymd', '');">발송일자</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('SNDNG_END_YMD', this.innerText, 'ymd', '');">납기일자</th>
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('TNOCS', this.innerText, 'match', 'part');">총건수</th>
<th class="cmn" style="width: 140px;" onclick="searchFromGridTitle('GRAMT', this.innerText, 'match', 'part');">총금액</th>
<th class="cmn" style="width: 200px;" onclick="searchFromGridTitle('DOC_NO', this.innerText, 'match', 'part');">문서번호</th>
<th class="cmn" style="width: 320px;" onclick="searchFromGridTitle('TTL_NM', this.innerText, 'match', 'part');">제목</th>
<th class="cmn" style="width: 180px;">등록일시</th>
<th class="cmn" style="width: 140px;">등록사용자</th>
<th class="cmn" style="width: 180px;">수정일시</th>
<th class="cmn" style="width: 140px;">수정사용자</th>
<th class="cmn dummy-th"></th>
</template>
<template id="${infoPrefix}Row--${pageName}">
<tr data-key="{SNDNG_ID}">
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{ROW_NUM}</td>
<td class="cmn text-center"><input type="checkbox" class="form-check-input" name="gridCheckbox" value="{SNDNG_ID}" onchange="pageObject['${pageName}'].control.select('{SNDNG_ID}', this.checked);" /></td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{TASK_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SNDNG_REG_SE_NM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{VLTN_ARTCL}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SNDNG_YMD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SNDNG_END_YMD}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{TNOCS}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{GRAMT}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{DOC_NO}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{TTL_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{REG_DT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RGTR_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFCN_DT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFR_NM}</td>
<td class="cmn dummy-td"></td>
</tr>
</template>
<template id="${infoPrefix}NotFound--${pageName}">
<tr class="bpv">
<td valign="top" colspan="16" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="dpv">
<td valign="top" colspan="16" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="eca">
<td valign="top" colspan="16" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="pvs">
<td valign="top" colspan="16" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="pes">
<td valign="top" colspan="16" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
</template>
</table>
</div>
</div> <!-- 메인 조건 -->
<!-- 상세 조건 -->
<div id="searchDetail--${pageName}" class="container-search container-search-detail collapse">
<div class="row g-1">
<!-- 등록일자, 수정일자 -->
<div class="col-6">
<select class="form-select w-px-120 text-center" id="schRegDateOpt--${pageName}" name="schRegDateOpt">
<option value="regDt">등록일자</option>
<option value="mdfcnDt">수정일자</option>
</select>
<span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schRegDateFrom--${pageName}" name="schRegDateFrom"
data-fmt-type="day" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~
<input type="text" class="form-control form-date" id="schRegDateTo--${pageName}" name="schRegDateTo"
data-fmt-type="day" title="종료 날짜 선택">
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div>
<!-- 등록자명, 수정자명 -->
<div class="col-6">
<select class="form-select w-px-120 text-center" id="schRgtrOpt--${pageName}" name="schRgtrOpt">
<option value="rgtr">등록자</option>
<option value="mdfr">수정자</option>
</select>
<input type="hidden" id="schRgtrCd--${pageName}" name="schRgtrCd" />
<input type="text" class="form-control w-px-160" id="schRgtrNm--${pageName}" name="schRgtrNm" />
<button type="button" class="btn btn-sm btn-outline-dark" id="btnFindUser--${pageName}" title="사용자 검색">검색</button>
</div>
</div>
</div> <!-- DataTables(그리드) -->
</div> <!-- <div class="wrapper-list"> -->
</div> <!-- <div class="card"> -->
</div> <!-- 상세 조건 -->
</form>
<!-- 검색 조건 영역 -->
<!-- 업무 버튼 및 건수 표시 -->
<div>
<span class="container-page-btn">
<!-- 건수, 페이지 표시 -->
<div class="d-flex flex-row justify-content-between">
<span class="dataTables_info" id="paging--${pageName}PagingInfo" role="status" aria-live="polite"></span>
<ul class="pagination pagination-primary" id="paging--${pageName}">
</ul>
</div>
<!-- 업무 버튼 -->
<span class="container-window-btn-right">
<button type="button" class="btn btn-primary w-px-120" id="btnRemove--${pageName}" title="계고장 발송 삭제">
발송 삭제
</button>
</span>
</span>
</div> <!-- 업무 버튼 및 건수 표시 -->
<!-- DataTables(그리드) -->
<div class="card-datatable text-nowrap">
<div class="dataTables_wrapper dt-bootstrap5 no-footer" id="DataTables_Table_0_wrapper--${pageName}">
<div class="table-responsive ox-scroll oy-scroll h-px-500" id="table-responsive--${pageName}">
<table class="table-layout-fixed dataTable datatables-ajax table table-bordered no-footer" id="DataTables_Table_0--${pageName}" aria-describedby="DataTables_Table_0_info">
<thead class="sticky-thead">
<tr id="theadTr--${pageName}"
data-by="by--${pageName}" data-by-output="byOutput--${pageName}" data-main-option="mainOption--${pageName}" data-sub-option="subOption--${pageName}">
</tr>
</thead>
<tbody id="tbody--${pageName}">
</tbody>
<template id="${infoPrefix}Col--${pageName}">
<th class="cmn" style="width: 72px;">No.</th>
<th class="cmn" style="width: 56px;"><input type="checkbox" class="form-check-input" id="gridAllCheckbox--${pageName}" onchange="pageObject['${pageName}'].control.select(this.checked);" /></th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('TASK_SE_CD', this.innerText, 'codeValue', 'FIM054');">업무구분</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('SNDNG_REG_SE_CD', this.innerText, 'codeValue', 'FIM067');">등록구분</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('VLTN_ARTCL', this.innerText, 'match', 'part');">위반항목</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('SNDNG_YMD', this.innerText, 'ymd', '');">발송일자</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('SNDNG_END_YMD', this.innerText, 'ymd', '');">납기일자</th>
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('TNOCS', this.innerText, 'match', 'part');">총건수</th>
<th class="cmn" style="width: 140px;" onclick="searchFromGridTitle('GRAMT', this.innerText, 'match', 'part');">총금액</th>
<th class="cmn" style="width: 200px;" onclick="searchFromGridTitle('DOC_NO', this.innerText, 'match', 'part');">문서번호</th>
<th class="cmn" style="width: 320px;" onclick="searchFromGridTitle('TTL_NM', this.innerText, 'match', 'part');">제목</th>
<th class="cmn" style="width: 180px;">등록일시</th>
<th class="cmn" style="width: 140px;">등록사용자</th>
<th class="cmn" style="width: 180px;">수정일시</th>
<th class="cmn" style="width: 140px;">수정사용자</th>
<th class="cmn dummy-th"></th>
</template>
<template id="${infoPrefix}Row--${pageName}">
<tr data-key="{SNDNG_ID}">
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{ROW_NUM}</td>
<td class="cmn text-center"><input type="checkbox" class="form-check-input" name="gridCheckbox" value="{SNDNG_ID}" onchange="pageObject['${pageName}'].control.select('{SNDNG_ID}', this.checked);" /></td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{TASK_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SNDNG_REG_SE_NM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{VLTN_ARTCL}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SNDNG_YMD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SNDNG_END_YMD}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{TNOCS}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{GRAMT}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{DOC_NO}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{TTL_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{REG_DT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RGTR_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFCN_DT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFR_NM}</td>
<td class="cmn dummy-td"></td>
</tr>
</template>
<template id="${infoPrefix}NotFound--${pageName}">
<tr class="bpv">
<td valign="top" colspan="16" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="dpv">
<td valign="top" colspan="16" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="eca">
<td valign="top" colspan="16" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="pvs">
<td valign="top" colspan="16" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="pes">
<td valign="top" colspan="16" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
</template>
</table>
</div>
</div>
</div> <!-- DataTables(그리드) -->
</div> <!-- <div class="card wrapper-list"> -->
<!-- Page Body -->
</div> <!-- <div class="container-xxl flex-grow-1 px-0"> -->
<!-- Content -->

@ -9,213 +9,211 @@
<div class="container-xxl flex-grow-1 px-0">
<!-- Page Body -->
<div class="card">
<div class="wrapper-list">
<!-- 상단 버튼 -->
<div class="container-page-btn">
<button type="button" class="btn btn-outline-dark w-px-120" id="btnReset--${pageName}" title="초기화">
초기화
<div class="card wrapper-list">
<!-- 상단 버튼 -->
<div class="container-page-btn">
<button type="button" class="btn btn-outline-dark w-px-120" id="btnReset--${pageName}" title="초기화">
초기화
</button>
<span class="container-window-btn-right">
<button type="button" class="btn btn-search w-px-120" id="btnSearch--${pageName}" title="검색">
검색
</button>
<span class="container-window-btn-right">
<button type="button" class="btn btn-search w-px-120" id="btnSearch--${pageName}" title="검색">
검색
</button>
<button type="button" class="btn btn-excel w-px-120" id="btnExcel--${pageName}" title="엑셀">
엑셀
</button>
</span>
</div> <!-- 상단 버튼 -->
<!-- 검색 조건 영역 -->
<form id="frmSearch--${pageName}" name="frmSearch">
<!-- hidden -->
<input type="hidden" id="sggCd--${pageName}" name="sggCd" />
<!-- 메인 조건 -->
<div class="container-search">
<div class="row g-1">
<!-- 업무구분 -->
<div class="col-12">
<span class="form-label fw-bold form-search-title w-px-120 text-end">업무구분</span>
<span class="form-search-linebox">
<c:forEach items="${taskListForSgg}" var="item">
<label>
<input type="radio" class="form-check-input" name="taskSeCd" alt="업무구분"
value="${item.code}" onchange="fnResetAndChangeBiz${pageName}(this.value);">
${item.value}
</label>
</c:forEach>
</span>
</div>
<!-- 발송일자 -->
<div class="col-6">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schSndngYmdFrom--${pageName}">발송일자</label>
<span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schSndngYmdFrom--${pageName}" name="schSndngYmdFrom"
data-fmt-type="day" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~
<input type="text" class="form-control form-date" id="schSndngYmdTo--${pageName}" name="schSndngYmdTo"
data-fmt-type="day" title="종료 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div>
<!-- 발송 등록 구분 코드 -->
<div class="col-6">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schSndngRegSeCd--${pageName}">등록구분</label>
<select class="form-select w-px-80" id="schSndngRegSeCd--${pageName}" name="schSndngRegSeCd">
<c:forEach items="${FIM067List}" var="item">
<option value="${item.code}">${item.value}</option>
</c:forEach>
</select>
</div>
<!-- -->
<div class="col-6">
</div>
<!-- 동적검색 -->
<div class="col-6">
<input type="hidden" id="by--${pageName}" name="by" />
<input type="text" class="form-control fw-bold w-px-120 text-end" id="byOutput--${pageName}" value="동적 검색" readonly />
<input type="hidden" id="mainOption--${pageName}" name="mainOption" />
<input type="hidden" id="subOption--${pageName}" name="subOption" />
<input type="text" class="form-control w-px-400" id="term--${pageName}" name="term" autocomplete="off" />
<!-- 상세 검색조건 버튼 -->
<span class="flr">
<button type="button" class="btn btn-open-detail" data-bs-toggle="collapse" data-bs-target="#searchDetail--${pageName}">
<i class="bx bx-chevron-down"></i>
상세검색
</button>
</span>
</div>
<button type="button" class="btn btn-excel w-px-120" id="btnExcel--${pageName}" title="엑셀">
엑셀
</button>
</span>
</div> <!-- 상단 버튼 -->
<!-- 검색 조건 영역 -->
<form id="frmSearch--${pageName}" name="frmSearch">
<!-- hidden -->
<input type="hidden" id="sggCd--${pageName}" name="sggCd" />
<!-- 메인 조건 -->
<div class="container-search">
<div class="row g-1">
<!-- 업무구분 -->
<div class="col-12">
<span class="form-label fw-bold form-search-title w-px-120 text-end">업무구분</span>
<span class="form-search-linebox">
<c:forEach items="${taskListForSgg}" var="item">
<label>
<input type="radio" class="form-check-input" name="taskSeCd" alt="업무구분"
value="${item.code}" onchange="fnResetAndChangeBiz${pageName}(this.value);">
${item.value}
</label>
</c:forEach>
</span>
</div>
<!-- 발송일자 -->
<div class="col-6">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schSndngYmdFrom--${pageName}">발송일자</label>
<span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schSndngYmdFrom--${pageName}" name="schSndngYmdFrom"
data-fmt-type="day" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~
<input type="text" class="form-control form-date" id="schSndngYmdTo--${pageName}" name="schSndngYmdTo"
data-fmt-type="day" title="종료 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div>
<!-- 발송 등록 구분 코드 -->
<div class="col-6">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schSndngRegSeCd--${pageName}">등록구분</label>
<select class="form-select w-px-80" id="schSndngRegSeCd--${pageName}" name="schSndngRegSeCd">
<c:forEach items="${FIM067List}" var="item">
<option value="${item.code}">${item.value}</option>
</c:forEach>
</select>
</div>
</div> <!-- 메인 조건 -->
<!-- 상세 조건 -->
<div id="searchDetail--${pageName}" class="container-search container-search-detail collapse">
<div class="row g-1">
<!-- 등록일자, 수정일자 -->
<div class="col-6">
<select class="form-select w-px-120 text-center" id="schRegDateOpt--${pageName}" name="schRegDateOpt">
<option value="regDt">등록일자</option>
<option value="mdfcnDt">수정일자</option>
</select>
<span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schRegDateFrom--${pageName}" name="schRegDateFrom"
data-fmt-type="day" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~
<input type="text" class="form-control form-date" id="schRegDateTo--${pageName}" name="schRegDateTo"
data-fmt-type="day" title="종료 날짜 선택">
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div>
<!-- 등록자명, 수정자명 -->
<div class="col-6">
<select class="form-select w-px-120 text-center" id="schRgtrOpt--${pageName}" name="schRgtrOpt">
<option value="rgtr">등록자</option>
<option value="mdfr">수정자</option>
</select>
<input type="hidden" id="schRgtrCd--${pageName}" name="schRgtrCd" />
<input type="text" class="form-control w-px-160" id="schRgtrNm--${pageName}" name="schRgtrNm" />
<button type="button" class="btn btn-sm btn-outline-dark" id="btnFindUser--${pageName}" title="사용자 검색">검색</button>
</div>
<!-- -->
<div class="col-6">
</div>
</div> <!-- 상세 조건 -->
</form>
<!-- 검색 조건 영역 -->
<!-- 업무 버튼 및 건수 표시 -->
<div>
<span class="container-page-btn">
<!-- 건수, 페이지 표시 -->
<div class="d-flex flex-row justify-content-between">
<span class="dataTables_info" id="paging--${pageName}PagingInfo" role="status" aria-live="polite"></span>
<ul class="pagination pagination-primary" id="paging--${pageName}">
</ul>
<!-- 동적검색 -->
<div class="col-6">
<input type="hidden" id="by--${pageName}" name="by" />
<input type="text" class="form-control fw-bold w-px-120 text-end" id="byOutput--${pageName}" value="동적 검색" readonly />
<input type="hidden" id="mainOption--${pageName}" name="mainOption" />
<input type="hidden" id="subOption--${pageName}" name="subOption" />
<input type="text" class="form-control w-px-400" id="term--${pageName}" name="term" autocomplete="off" />
<!-- 상세 검색조건 버튼 -->
<span class="flr">
<button type="button" class="btn btn-open-detail" data-bs-toggle="collapse" data-bs-target="#searchDetail--${pageName}">
<i class="bx bx-chevron-down"></i>
상세검색
</button>
</span>
</div>
<!-- 업무 버튼 -->
<span class="container-window-btn-right">
<button type="button" class="btn btn-primary w-px-120" id="btnRemove--${pageName}" title="사전통지 발송 삭제">
발송 삭제
</button>
</span>
</span>
</div> <!-- 업무 버튼 및 건수 표시 -->
<!-- DataTables(그리드) -->
<div class="card-datatable text-nowrap">
<div class="dataTables_wrapper dt-bootstrap5 no-footer" id="DataTables_Table_0_wrapper--${pageName}">
<div class="table-responsive ox-scroll oy-scroll h-px-500" id="table-responsive--${pageName}">
<table class="table-layout-fixed dataTable datatables-ajax table table-bordered no-footer" id="DataTables_Table_0--${pageName}" aria-describedby="DataTables_Table_0_info">
<thead class="sticky-thead">
<tr id="theadTr--${pageName}"
data-by="by--${pageName}" data-by-output="byOutput--${pageName}" data-main-option="mainOption--${pageName}" data-sub-option="subOption--${pageName}">
</tr>
</thead>
<tbody id="tbody--${pageName}">
</tbody>
<template id="${infoPrefix}Col--${pageName}">
<th class="cmn" style="width: 72px;">No.</th>
<th class="cmn" style="width: 56px;"><input type="checkbox" class="form-check-input" id="gridAllCheckbox--${pageName}" onchange="pageObject['${pageName}'].control.select(this.checked);" /></th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('TASK_SE_CD', this.innerText, 'codeValue', 'FIM054');">업무구분</th>
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('SNDNG_REG_SE_CD', this.innerText, 'codeValue', 'FIM067');">등록구분</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('VLTN_ARTCL', this.innerText, 'match', 'part');">위반항목</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('SNDNG_YMD', this.innerText, 'ymd', '');">발송일자</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('SNDNG_END_YMD', this.innerText, 'ymd', '');">납기일자</th>
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('TNOCS', this.innerText, 'match', 'part');">총건수</th>
<th class="cmn" style="width: 140px;" onclick="searchFromGridTitle('GRAMT', this.innerText, 'match', 'part');">총금액</th>
<th class="cmn" style="width: 200px;" onclick="searchFromGridTitle('DOC_NO', this.innerText, 'match', 'part');">문서번호</th>
<th class="cmn" style="width: 320px;" onclick="searchFromGridTitle('TTL_NM', this.innerText, 'match', 'part');">제목</th>
<th class="cmn" style="width: 180px;">등록일시</th>
<th class="cmn" style="width: 140px;">등록사용자</th>
<th class="cmn" style="width: 180px;">수정일시</th>
<th class="cmn" style="width: 140px;">수정사용자</th>
<th class="cmn dummy-th"></th>
</template>
<template id="${infoPrefix}Row--${pageName}">
<tr data-key="{SNDNG_ID}">
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{ROW_NUM}</td>
<td class="cmn text-center"><input type="checkbox" class="form-check-input" name="gridCheckbox" value="{SNDNG_ID}" onchange="pageObject['${pageName}'].control.select('{SNDNG_ID}', this.checked);" /></td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{TASK_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SNDNG_REG_SE_NM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{VLTN_ARTCL}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SNDNG_YMD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SNDNG_END_YMD}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{TNOCS}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{GRAMT}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{DOC_NO}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{TTL_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{REG_DT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RGTR_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFCN_DT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFR_NM}</td>
<td class="cmn dummy-td"></td>
</tr>
</template>
<template id="${infoPrefix}NotFound--${pageName}">
<tr class="bpv">
<td valign="top" colspan="16" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="dpv">
<td valign="top" colspan="16" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="eca">
<td valign="top" colspan="16" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="pvs">
<td valign="top" colspan="16" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="pes">
<td valign="top" colspan="16" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
</template>
</table>
</div>
</div> <!-- 메인 조건 -->
<!-- 상세 조건 -->
<div id="searchDetail--${pageName}" class="container-search container-search-detail collapse">
<div class="row g-1">
<!-- 등록일자, 수정일자 -->
<div class="col-6">
<select class="form-select w-px-120 text-center" id="schRegDateOpt--${pageName}" name="schRegDateOpt">
<option value="regDt">등록일자</option>
<option value="mdfcnDt">수정일자</option>
</select>
<span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schRegDateFrom--${pageName}" name="schRegDateFrom"
data-fmt-type="day" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~
<input type="text" class="form-control form-date" id="schRegDateTo--${pageName}" name="schRegDateTo"
data-fmt-type="day" title="종료 날짜 선택">
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div>
<!-- 등록자명, 수정자명 -->
<div class="col-6">
<select class="form-select w-px-120 text-center" id="schRgtrOpt--${pageName}" name="schRgtrOpt">
<option value="rgtr">등록자</option>
<option value="mdfr">수정자</option>
</select>
<input type="hidden" id="schRgtrCd--${pageName}" name="schRgtrCd" />
<input type="text" class="form-control w-px-160" id="schRgtrNm--${pageName}" name="schRgtrNm" />
<button type="button" class="btn btn-sm btn-outline-dark" id="btnFindUser--${pageName}" title="사용자 검색">검색</button>
</div>
</div>
</div> <!-- DataTables(그리드) -->
</div> <!-- <div class="wrapper-list"> -->
</div> <!-- <div class="card"> -->
</div> <!-- 상세 조건 -->
</form>
<!-- 검색 조건 영역 -->
<!-- 업무 버튼 및 건수 표시 -->
<div>
<span class="container-page-btn">
<!-- 건수, 페이지 표시 -->
<div class="d-flex flex-row justify-content-between">
<span class="dataTables_info" id="paging--${pageName}PagingInfo" role="status" aria-live="polite"></span>
<ul class="pagination pagination-primary" id="paging--${pageName}">
</ul>
</div>
<!-- 업무 버튼 -->
<span class="container-window-btn-right">
<button type="button" class="btn btn-primary w-px-120" id="btnRemove--${pageName}" title="사전통지 발송 삭제">
발송 삭제
</button>
</span>
</span>
</div> <!-- 업무 버튼 및 건수 표시 -->
<!-- DataTables(그리드) -->
<div class="card-datatable text-nowrap">
<div class="dataTables_wrapper dt-bootstrap5 no-footer" id="DataTables_Table_0_wrapper--${pageName}">
<div class="table-responsive ox-scroll oy-scroll h-px-500" id="table-responsive--${pageName}">
<table class="table-layout-fixed dataTable datatables-ajax table table-bordered no-footer" id="DataTables_Table_0--${pageName}" aria-describedby="DataTables_Table_0_info">
<thead class="sticky-thead">
<tr id="theadTr--${pageName}"
data-by="by--${pageName}" data-by-output="byOutput--${pageName}" data-main-option="mainOption--${pageName}" data-sub-option="subOption--${pageName}">
</tr>
</thead>
<tbody id="tbody--${pageName}">
</tbody>
<template id="${infoPrefix}Col--${pageName}">
<th class="cmn" style="width: 72px;">No.</th>
<th class="cmn" style="width: 56px;"><input type="checkbox" class="form-check-input" id="gridAllCheckbox--${pageName}" onchange="pageObject['${pageName}'].control.select(this.checked);" /></th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('TASK_SE_CD', this.innerText, 'codeValue', 'FIM054');">업무구분</th>
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('SNDNG_REG_SE_CD', this.innerText, 'codeValue', 'FIM067');">등록구분</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('VLTN_ARTCL', this.innerText, 'match', 'part');">위반항목</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('SNDNG_YMD', this.innerText, 'ymd', '');">발송일자</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('SNDNG_END_YMD', this.innerText, 'ymd', '');">납기일자</th>
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('TNOCS', this.innerText, 'match', 'part');">총건수</th>
<th class="cmn" style="width: 140px;" onclick="searchFromGridTitle('GRAMT', this.innerText, 'match', 'part');">총금액</th>
<th class="cmn" style="width: 200px;" onclick="searchFromGridTitle('DOC_NO', this.innerText, 'match', 'part');">문서번호</th>
<th class="cmn" style="width: 320px;" onclick="searchFromGridTitle('TTL_NM', this.innerText, 'match', 'part');">제목</th>
<th class="cmn" style="width: 180px;">등록일시</th>
<th class="cmn" style="width: 140px;">등록사용자</th>
<th class="cmn" style="width: 180px;">수정일시</th>
<th class="cmn" style="width: 140px;">수정사용자</th>
<th class="cmn dummy-th"></th>
</template>
<template id="${infoPrefix}Row--${pageName}">
<tr data-key="{SNDNG_ID}">
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{ROW_NUM}</td>
<td class="cmn text-center"><input type="checkbox" class="form-check-input" name="gridCheckbox" value="{SNDNG_ID}" onchange="pageObject['${pageName}'].control.select('{SNDNG_ID}', this.checked);" /></td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{TASK_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SNDNG_REG_SE_NM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{VLTN_ARTCL}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SNDNG_YMD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SNDNG_END_YMD}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{TNOCS}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{GRAMT}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{DOC_NO}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{TTL_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{REG_DT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RGTR_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFCN_DT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFR_NM}</td>
<td class="cmn dummy-td"></td>
</tr>
</template>
<template id="${infoPrefix}NotFound--${pageName}">
<tr class="bpv">
<td valign="top" colspan="16" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="dpv">
<td valign="top" colspan="16" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="eca">
<td valign="top" colspan="16" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="pvs">
<td valign="top" colspan="16" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="pes">
<td valign="top" colspan="16" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
</template>
</table>
</div>
</div>
</div> <!-- DataTables(그리드) -->
</div> <!-- <div class="card wrapper-list"> -->
<!-- Page Body -->
</div> <!-- <div class="container-xxl flex-grow-1 px-0"> -->
<!-- Content -->

@ -7,212 +7,208 @@
<div class="content-wrapper">
<!-- Content -->
<div class="container-xxl flex-grow-1 px-0">
<!-- Page Body -->
<div class="card">
<div class="wrapper-list">
<!-- 상단 버튼 -->
<div class="container-page-btn">
<button type="button" class="btn btn-outline-dark w-px-120" id="btnReset--${pageName}" title="초기화">
초기화
<div class="card wrapper-list">
<!-- 상단 버튼 -->
<div class="container-page-btn">
<button type="button" class="btn btn-outline-dark w-px-120" id="btnReset--${pageName}" title="초기화">
초기화
</button>
<span class="container-window-btn-right">
<button type="button" class="btn btn-search w-px-120" id="btnSearch--${pageName}" title="검색">
검색
</button>
<span class="container-window-btn-right">
<button type="button" class="btn btn-search w-px-120" id="btnSearch--${pageName}" title="검색">
검색
</button>
<button type="button" class="btn btn-excel w-px-120" id="btnExcel--${pageName}" title="엑셀">
엑셀
</button>
</span>
</div>
<!-- / 상단 버튼 -->
<!-- 검색 조건 영역 -->
<form id="frmSearch--${pageName}" name="frmSearch">
<!-- hidden -->
<input type="hidden" id="sggCd--${pageName}" name="sggCd" data-map="SGG_CD" />
<!-- 메인 조건 -->
<div class="container-search">
<div class="row g-1">
<!-- 업무구분 -->
<div class="col-12">
<span class="form-label fw-bold form-search-title">업무구분</span>
<span class="form-search-linebox">
<c:forEach items="${taskListForSgg}" var="item">
<label>
<input type="radio" class="form-check-input" name="taskSeCd" alt="업무구분"
value="${item.code}" onchange="fnResetAndChangeBiz${pageName}(this.value);">
${item.value}
</label>
</c:forEach>
</span>
</div>
<!-- 발송일자 -->
<div class="col-6">
<span class="form-label fw-bold form-search-title">발송일자</span>
<span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schSndngYmdFrom--${pageName}" name="schSndngYmdFrom"
data-fmt-type="day" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~
<input type="text" class="form-control form-date" id="schSndngYmdTo--${pageName}" name="schSndngYmdTo"
data-fmt-type="day" title="종료 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div>
<!-- 동적검색 -->
<div class="col-6">
<input type="hidden" id="by--${pageName}" name="by" />
<input type="text" class="form-control" id="byOutput--${pageName}" value="동적 검색" readonly />
<input type="hidden" id="mainOption--${pageName}" name="mainOption" />
<input type="hidden" id="subOption--${pageName}" name="subOption" />
<input type="text" class="form-control w-px-300" id="term--${pageName}" name="term" />
<!-- 상세 검색조건 버튼 -->
<span class="flr">
<button type="button" class="btn btn-open-detail" data-bs-toggle="collapse" data-bs-target="#searchDetail--${pageName}">
<i class="bx bx-chevron-down"></i>
상세검색
</button>
</span>
</div>
<button type="button" class="btn btn-excel w-px-120" id="btnExcel--${pageName}" title="엑셀">
엑셀
</button>
</span>
</div> <!-- 상단 버튼 -->
<!-- 검색 조건 영역 -->
<form id="frmSearch--${pageName}" name="frmSearch">
<!-- hidden -->
<input type="hidden" id="sggCd--${pageName}" name="sggCd" />
<!-- 메인 조건 -->
<div class="container-search">
<div class="row g-1">
<!-- 업무 구분 -->
<div class="col-12">
<span class="form-label fw-bold form-search-title w-px-120 text-end">업무구분</span>
<span class="form-search-linebox">
<c:forEach items="${taskListForSgg}" var="item">
<label>
<input type="radio" class="form-check-input" name="taskSeCd" alt="업무구분"
value="${item.code}" onchange="fnResetAndChangeBiz${pageName}(this.value);">
${item.value}
</label>
</c:forEach>
</span>
</div>
<!-- 발송 일자 -->
<div class="col-6">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schSndngYmdFrom--${pageName}">발송일자</label>
<span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schSndngYmdFrom--${pageName}" name="schSndngYmdFrom"
data-fmt-type="day" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~
<input type="text" class="form-control form-date" id="schSndngYmdTo--${pageName}" name="schSndngYmdTo"
data-fmt-type="day" title="종료 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div>
</div> <!-- / 메인 조건 -->
<!-- 상세 조건 -->
<div id="searchDetail--${pageName}" class="container-search container-search-detail collapse">
<div class="row g-1">
<!-- 등록일자, 수정일자 -->
<div class="col-6">
<select class="form-select text-center" id="schRegDateOpt--${pageName}" name="schRegDateOpt">
<option value="regDt">등록일자</option>
<option value="mdfcnDt">수정일자</option>
</select>
<span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schRegDateFrom--${pageName}" name="schRegDateFrom"
data-fmt-type="day" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~
<input type="text" class="form-control form-date" id="schRegDateTo--${pageName}" name="schRegDateTo"
data-fmt-type="day" title="종료 날짜 선택">
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div>
<!-- 등록자명, 수정자명 -->
<div class="col-6">
<select class="form-select text-center" id="schRgtrOpt--${pageName}" name="schRgtrOpt">
<option value="rgtr">등록자</option>
<option value="mdfr">수정자</option>
</select>
<input type="hidden" id="schRgtrCd--${pageName}" name="schRgtrCd" />
<input type="text" class="form-control" id="schRgtrNm--${pageName}" name="schRgtrNm" />
<button type="button" class="btn btn-sm btn-outline-dark" id="btnFindUser--${pageName}" title="사용자 검색">
검색
<!-- 동적 검색 -->
<div class="col-6">
<input type="hidden" id="by--${pageName}" name="by" />
<input type="text" class="form-control" id="byOutput--${pageName}" value="동적 검색" readonly />
<input type="hidden" id="mainOption--${pageName}" name="mainOption" />
<input type="hidden" id="subOption--${pageName}" name="subOption" />
<input type="text" class="form-control w-px-300" id="term--${pageName}" name="term" />
<!-- 상세 검색조건 버튼 -->
<span class="flr">
<button type="button" class="btn btn-open-detail" data-bs-toggle="collapse" data-bs-target="#searchDetail--${pageName}">
<i class="bx bx-chevron-down"></i>
상세검색
</button>
</div>
</span>
</div>
</div> <!-- / 상세 조건 -->
</form>
<!-- / 검색 조건 영역 -->
<!-- 업무 버튼 및 건수 표시 -->
<div>
<span class="container-page-btn">
<!-- 건수, 페이지 표시 -->
<div class="d-flex flex-row justify-content-between">
<span class="dataTables_info" id="paging--${pageName}PagingInfo" role="status" aria-live="polite"></span>
<ul class="pagination pagination-primary" id="paging--${pageName}">
</ul>
</div>
</div> <!-- 메인 조건 -->
<!-- 상세 조건 -->
<div id="searchDetail--${pageName}" class="container-search container-search-detail collapse">
<div class="row g-1">
<!-- 등록일자, 수정일자 -->
<div class="col-6">
<select class="form-select w-px-120 text-center" id="schRegDateOpt--${pageName}" name="schRegDateOpt">
<option value="regDt">등록일자</option>
<option value="mdfcnDt">수정일자</option>
</select>
<span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schRegDateFrom--${pageName}" name="schRegDateFrom"
data-fmt-type="day" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~
<input type="text" class="form-control form-date" id="schRegDateTo--${pageName}" name="schRegDateTo"
data-fmt-type="day" title="종료 날짜 선택">
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div>
<span class="container-window-btn-right">
<!-- 업무 버튼 -->
<button type="button" class="btn btn-primary w-px-120" id="btnCreateNhtSndng--${pageName}" title="고지서 발송 등록">
발송 등록
</button>
<button type="button" class="btn btn-primary w-px-120" id="btnRemoveNhtSndng--${pageName}" title="고지서 발송 삭제">
발송 삭제
</button>
</span>
</span>
</div>
<!-- / 업무 버튼 및 건수 표시 -->
<!-- DataTables(그리드) -->
<div class="card-datatable text-nowrap">
<div class="dataTables_wrapper dt-bootstrap5 no-footer" id="DataTables_Table_0_wrapper--${pageName}">
<div class="table-responsive ox-scroll oy-scroll h-px-500" id="table-responsive--${pageName}">
<table class="table-layout-fixed dataTable datatables-ajax table table-bordered no-footer" id="DataTables_Table_0--${pageName}" aria-describedby="DataTables_Table_0_info">
<thead class="sticky-thead">
<tr id="theadTr--${pageName}"
data-by="by--${pageName}" data-by-output="byOutput--${pageName}" data-main-option="mainOption--${pageName}" data-sub-option="subOption--${pageName}">
</tr>
</thead>
<tbody id="tbody--${pageName}">
</tbody>
<template id="${infoPrefix}Col--${pageName}">
<th class="cmn" style="width: 72px;">No.</th>
<th class="cmn" style="width: 56px;"><input type="checkbox" class="form-check-input" id="gridAllCheckbox--${pageName}" onchange="pageObject['${pageName}'].control.select(this.checked);" /></th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('TASK_SE_CD', this.innerText, 'codeValue', 'FIM054');">업무구분</th>
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('SNDNG_REG_SE_CD', this.innerText, 'codeValue', 'FIM067');">등록구분</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('VLTN_ARTCL', this.innerText, 'match', 'part');">위반항목</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('SNDNG_YMD', this.innerText, 'ymd', '');">발송일자</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('SNDNG_END_YMD', this.innerText, 'ymd', '');">납기일자</th>
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('TNOCS', this.innerText, 'match', 'part');">총건수</th>
<th class="cmn" style="width: 140px;" onclick="searchFromGridTitle('GRAMT', this.innerText, 'match', 'part');">총금액</th>
<th class="cmn" style="width: 200px;" onclick="searchFromGridTitle('DOC_NO', this.innerText, 'match', 'part');">문서번호</th>
<th class="cmn" style="width: 320px;" onclick="searchFromGridTitle('TTL_NM', this.innerText, 'match', 'part');">제목</th>
<th class="cmn" style="width: 180px;">등록일시</th>
<th class="cmn" style="width: 140px;">등록사용자</th>
<th class="cmn" style="width: 180px;">수정일시</th>
<th class="cmn" style="width: 140px;">수정사용자</th>
<th class="cmn dummy-th"></th>
</template>
<template id="${infoPrefix}Row--${pageName}">
<tr data-key="{SNDNG_ID}">
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{ROW_NUM}</td>
<td class="cmn text-center"><input type="checkbox" class="form-check-input" name="gridCheckbox" value="{SNDNG_ID}" onchange="pageObject['${pageName}'].control.select('{SNDNG_ID}', this.checked);" /></td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{TASK_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SNDNG_REG_SE_NM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{VLTN_ARTCL}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SNDNG_YMD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SNDNG_END_YMD}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{TNOCS}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{GRAMT}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{DOC_NO}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{TTL_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{REG_DT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RGTR_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFCN_DT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFR_NM}</td>
<td class="cmn dummy-td"></td>
</tr>
</template>
<template id="${infoPrefix}NotFound--${pageName}">
<tr class="bpv">
<td valign="top" colspan="16" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="dpv">
<td valign="top" colspan="16" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="eca">
<td valign="top" colspan="16" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="pvs">
<td valign="top" colspan="16" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="pes">
<td valign="top" colspan="16" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
</template>
</table>
<!-- 등록자명, 수정자명 -->
<div class="col-6">
<select class="form-select w-px-120 text-center" id="schRgtrOpt--${pageName}" name="schRgtrOpt">
<option value="rgtr">등록자</option>
<option value="mdfr">수정자</option>
</select>
<input type="hidden" id="schRgtrCd--${pageName}" name="schRgtrCd" />
<input type="text" class="form-control w-px-160" id="schRgtrNm--${pageName}" name="schRgtrNm" />
<button type="button" class="btn btn-sm btn-outline-dark" id="btnFindUser--${pageName}" title="사용자 검색">검색</button>
</div>
</div>
</div> <!-- 상세 조건 -->
</form>
<!-- 검색 조건 영역 -->
<!-- 업무 버튼 및 건수 표시 -->
<div>
<span class="container-page-btn">
<!-- 건수, 페이지 표시 -->
<div class="d-flex flex-row justify-content-between">
<span class="dataTables_info" id="paging--${pageName}PagingInfo" role="status" aria-live="polite"></span>
<ul class="pagination pagination-primary" id="paging--${pageName}">
</ul>
</div>
<!-- 업무 버튼 -->
<span class="container-window-btn-right">
<button type="button" class="btn btn-primary w-px-120" id="btnCreateNhtSndng--${pageName}" title="고지서 발송 등록">
발송 등록
</button>
<button type="button" class="btn btn-primary w-px-120" id="btnRemoveNhtSndng--${pageName}" title="고지서 발송 삭제">
발송 삭제
</button>
</span>
</span>
</div>
<!-- 업무 버튼 및 건수 표시 -->
<!-- DataTables(그리드) -->
<div class="card-datatable text-nowrap">
<div class="dataTables_wrapper dt-bootstrap5 no-footer" id="DataTables_Table_0_wrapper--${pageName}">
<div class="table-responsive ox-scroll oy-scroll h-px-500" id="table-responsive--${pageName}">
<table class="table-layout-fixed dataTable datatables-ajax table table-bordered no-footer" id="DataTables_Table_0--${pageName}" aria-describedby="DataTables_Table_0_info">
<thead class="sticky-thead">
<tr id="theadTr--${pageName}"
data-by="by--${pageName}" data-by-output="byOutput--${pageName}" data-main-option="mainOption--${pageName}" data-sub-option="subOption--${pageName}">
</tr>
</thead>
<tbody id="tbody--${pageName}">
</tbody>
<template id="${infoPrefix}Col--${pageName}">
<th class="cmn" style="width: 72px;">No.</th>
<th class="cmn" style="width: 56px;"><input type="checkbox" class="form-check-input" id="gridAllCheckbox--${pageName}" onchange="pageObject['${pageName}'].control.select(this.checked);" /></th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('TASK_SE_CD', this.innerText, 'codeValue', 'FIM054');">업무구분</th>
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('SNDNG_REG_SE_CD', this.innerText, 'codeValue', 'FIM067');">등록구분</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('VLTN_ARTCL', this.innerText, 'match', 'part');">위반항목</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('SNDNG_YMD', this.innerText, 'ymd', '');">발송일자</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('SNDNG_END_YMD', this.innerText, 'ymd', '');">납기일자</th>
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('TNOCS', this.innerText, 'match', 'part');">총건수</th>
<th class="cmn" style="width: 140px;" onclick="searchFromGridTitle('GRAMT', this.innerText, 'match', 'part');">총금액</th>
<th class="cmn" style="width: 200px;" onclick="searchFromGridTitle('DOC_NO', this.innerText, 'match', 'part');">문서번호</th>
<th class="cmn" style="width: 320px;" onclick="searchFromGridTitle('TTL_NM', this.innerText, 'match', 'part');">제목</th>
<th class="cmn" style="width: 180px;">등록일시</th>
<th class="cmn" style="width: 140px;">등록사용자</th>
<th class="cmn" style="width: 180px;">수정일시</th>
<th class="cmn" style="width: 140px;">수정사용자</th>
<th class="cmn dummy-th"></th>
</template>
<template id="${infoPrefix}Row--${pageName}">
<tr data-key="{SNDNG_ID}">
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{ROW_NUM}</td>
<td class="cmn text-center"><input type="checkbox" class="form-check-input" name="gridCheckbox" value="{SNDNG_ID}" onchange="pageObject['${pageName}'].control.select('{SNDNG_ID}', this.checked);" /></td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{TASK_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SNDNG_REG_SE_NM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{VLTN_ARTCL}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SNDNG_YMD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SNDNG_END_YMD}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{TNOCS}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{GRAMT}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{DOC_NO}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{TTL_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{REG_DT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RGTR_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFCN_DT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFR_NM}</td>
<td class="cmn dummy-td"></td>
</tr>
</template>
<template id="${infoPrefix}NotFound--${pageName}">
<tr class="bpv">
<td valign="top" colspan="16" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="dpv">
<td valign="top" colspan="16" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="eca">
<td valign="top" colspan="16" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="pvs">
<td valign="top" colspan="16" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="pes">
<td valign="top" colspan="16" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
</template>
</table>
</div>
</div>
<!-- / DataTables(그리드) -->
</div> <!-- <div class="wrapper-list"> -->
</div> <!-- <div class="card"> -->
</div> <!-- DataTables(그리드) -->
</div> <!-- <div class="card wrapper-list"> -->
<!-- Page Body -->
</div> <!-- <div class="container-xxl flex-grow-1 px-0"> -->
<!-- / Content -->
<!-- Content -->
<div class="content-backdrop fade"></div>
</div>

@ -9,226 +9,224 @@
<div class="container-xxl flex-grow-1 px-0">
<!-- Page Body -->
<div class="card">
<div class="wrapper-list">
<!-- 상단 버튼 -->
<div class="container-page-btn">
<button type="button" class="btn btn-outline-dark w-px-120" id="btnReset--${pageName}" title="초기화">
초기화
<div class="card wrapper-list">
<!-- 상단 버튼 -->
<div class="container-page-btn">
<button type="button" class="btn btn-outline-dark w-px-120" id="btnReset--${pageName}" title="초기화">
초기화
</button>
<span class="container-window-btn-right">
<button type="button" class="btn btn-search w-px-120" id="btnSearch--${pageName}" title="검색">
검색
</button>
<span class="container-window-btn-right">
<button type="button" class="btn btn-search w-px-120" id="btnSearch--${pageName}" title="검색">
검색
</button>
<button type="button" class="btn btn-excel w-px-120" id="btnExcel--${pageName}" title="엑셀">
엑셀
</button>
</span>
</div> <!-- 상단 버튼 -->
<!-- 검색 조건 영역 -->
<form id="frmSearch--${pageName}" name="frmSearch">
<!-- hidden -->
<input type="hidden" id="sggCd--${pageName}" name="sggCd" />
<!-- 메인 조건 -->
<div class="container-search">
<div class="row g-1">
<!-- 업무구분 -->
<div class="col-12">
<span class="form-label fw-bold form-search-title w-px-120 text-end">업무구분</span>
<span class="form-search-linebox">
<c:forEach items="${taskListForSgg}" var="item">
<label>
<input type="radio" class="form-check-input" name="taskSeCd" alt="업무구분"
value="${item.code}" onchange="fnResetAndChangeBiz${pageName}(this.value);">
${item.value}
</label>
</c:forEach>
</span>
</div>
<!-- 발송일자 -->
<div class="col-6">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schSndngYmdFrom--${pageName}">발송일자</label>
<span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schSndngYmdFrom--${pageName}" name="schSndngYmdFrom"
data-fmt-type="day" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~
<input type="text" class="form-control form-date" id="schSndngYmdTo--${pageName}" name="schSndngYmdTo"
data-fmt-type="day" title="종료 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div>
<!-- 발송 등록 구분 코드 -->
<div class="col-6">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schSndngRegSeCd--${pageName}">등록구분</label>
<select class="form-select w-px-80" id="schSndngRegSeCd--${pageName}" name="schSndngRegSeCd">
<option value="">전체</option>
<c:forEach items="${FIM067List}" var="item">
<option value="${item.code}">${item.value}</option>
</c:forEach>
</select>
</div>
<!-- 발송 구분 코드 -->
<div class="col-6">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schSndngSeCd--${pageName}">발송구분</label>
<select class="form-select w-px-160" id="schSndngSeCd--${pageName}" name="schSndngSeCd">
<option value="">전체</option>
<c:forEach items="${FIM047List}" var="item">
<option value="${item.code}">${item.value}</option>
</c:forEach>
</select>
</div>
<!-- 동적검색 -->
<div class="col-6">
<input type="hidden" id="by--${pageName}" name="by" />
<input type="text" class="form-control fw-bold w-px-120 text-end" id="byOutput--${pageName}" value="동적 검색" readonly />
<input type="hidden" id="mainOption--${pageName}" name="mainOption" />
<input type="hidden" id="subOption--${pageName}" name="subOption" />
<input type="text" class="form-control w-px-400" id="term--${pageName}" name="term" autocomplete="off" />
<!-- 상세 검색조건 버튼 -->
<span class="flr">
<button type="button" class="btn btn-open-detail" data-bs-toggle="collapse" data-bs-target="#searchDetail--${pageName}">
<i class="bx bx-chevron-down"></i>
상세검색
</button>
</span>
</div>
<button type="button" class="btn btn-excel w-px-120" id="btnExcel--${pageName}" title="엑셀">
엑셀
</button>
</span>
</div> <!-- 상단 버튼 -->
<!-- 검색 조건 영역 -->
<form id="frmSearch--${pageName}" name="frmSearch">
<!-- hidden -->
<input type="hidden" id="sggCd--${pageName}" name="sggCd" />
<!-- 메인 조건 -->
<div class="container-search">
<div class="row g-1">
<!-- 업무 구분 -->
<div class="col-12">
<span class="form-label fw-bold form-search-title w-px-120 text-end">업무구분</span>
<span class="form-search-linebox">
<c:forEach items="${taskListForSgg}" var="item">
<label>
<input type="radio" class="form-check-input" name="taskSeCd" alt="업무구분"
value="${item.code}" onchange="fnResetAndChangeBiz${pageName}(this.value);">
${item.value}
</label>
</c:forEach>
</span>
</div>
</div> <!-- 메인 조건 -->
<!-- 상세 조건 -->
<div id="searchDetail--${pageName}" class="container-search container-search-detail collapse">
<div class="row g-1">
<!-- 등록일자, 수정일자 -->
<div class="col-6">
<select class="form-select w-px-120 text-center" id="schRegDateOpt--${pageName}" name="schRegDateOpt">
<option value="regDt">등록일자</option>
<option value="mdfcnDt">수정일자</option>
</select>
<span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schRegDateFrom--${pageName}" name="schRegDateFrom"
data-fmt-type="day" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~
<input type="text" class="form-control form-date" id="schRegDateTo--${pageName}" name="schRegDateTo"
data-fmt-type="day" title="종료 날짜 선택">
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div>
<!-- 등록자명, 수정자명 -->
<div class="col-6">
<select class="form-select w-px-120 text-center" id="schRgtrOpt--${pageName}" name="schRgtrOpt">
<option value="rgtr">등록자</option>
<option value="mdfr">수정자</option>
</select>
<input type="hidden" id="schRgtrCd--${pageName}" name="schRgtrCd" />
<input type="text" class="form-control w-px-160" id="schRgtrNm--${pageName}" name="schRgtrNm" />
<button type="button" class="btn btn-sm btn-outline-dark" id="btnFindUser--${pageName}" title="사용자 검색">검색</button>
</div>
<!-- 발송일자 -->
<div class="col-6">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schSndngYmdFrom--${pageName}">발송일자</label>
<span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schSndngYmdFrom--${pageName}" name="schSndngYmdFrom"
data-fmt-type="day" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~
<input type="text" class="form-control form-date" id="schSndngYmdTo--${pageName}" name="schSndngYmdTo"
data-fmt-type="day" title="종료 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div>
</div> <!-- 상세 조건 -->
</form>
<!-- 검색 조건 영역 -->
<!-- 업무 버튼 및 건수 표시 -->
<div>
<span class="container-page-btn">
<!-- 건수, 페이지 표시 -->
<div class="d-flex flex-row justify-content-between">
<span class="dataTables_info" id="paging--${pageName}PagingInfo" role="status" aria-live="polite"></span>
<ul class="pagination pagination-primary" id="paging--${pageName}">
</ul>
<!-- 발송 등록 구분 코드 -->
<div class="col-6">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schSndngRegSeCd--${pageName}">등록구분</label>
<select class="form-select w-px-80" id="schSndngRegSeCd--${pageName}" name="schSndngRegSeCd">
<option value="">전체</option>
<c:forEach items="${FIM067List}" var="item">
<option value="${item.code}">${item.value}</option>
</c:forEach>
</select>
</div>
<!-- 업무 버튼 -->
<span class="container-window-btn-right">
<button type="button" class="btn btn-primary w-px-120" id="btnCreate--${pageName}" title="고지서 발송 등록">
발송 등록
</button>
<button type="button" class="btn btn-primary w-px-120" id="btnRemove--${pageName}" title="고지서 발송 삭제">
발송 삭제
</button>
</span>
</span>
</div> <!-- 업무 버튼 및 건수 표시 -->
<!-- DataTables(그리드) -->
<div class="card-datatable text-nowrap">
<div class="dataTables_wrapper dt-bootstrap5 no-footer" id="DataTables_Table_0_wrapper--${pageName}">
<div class="table-responsive ox-scroll oy-scroll h-px-500" id="table-responsive--${pageName}">
<table class="table-layout-fixed dataTable datatables-ajax table table-bordered no-footer" id="DataTables_Table_0--${pageName}" aria-describedby="DataTables_Table_0_info">
<thead class="sticky-thead">
<tr id="theadTr--${pageName}"
data-by="by--${pageName}" data-by-output="byOutput--${pageName}" data-main-option="mainOption--${pageName}" data-sub-option="subOption--${pageName}">
</tr>
</thead>
<tbody id="tbody--${pageName}">
</tbody>
<template id="${infoPrefix}Col--${pageName}">
<th class="cmn" style="width: 72px;">No.</th>
<th class="cmn" style="width: 56px;"><input type="checkbox" class="form-check-input" id="gridAllCheckbox--${pageName}" onchange="pageObject['${pageName}'].control.select(this.checked);" /></th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('TASK_SE_CD', this.innerText, 'codeValue', 'FIM054');">업무구분</th>
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('SNDNG_REG_SE_CD', this.innerText, 'codeValue', 'FIM067');">등록구분</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('SNDNG_SE_CD', this.innerText, 'codeValue', 'FIM067');">발송구분</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('VLTN_ARTCL', this.innerText, 'match', 'part');">위반항목</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('SNDNG_YMD', this.innerText, 'ymd', '');">발송일자</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('SNDNG_END_YMD', this.innerText, 'ymd', '');">납기일자</th>
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('TNOCS', this.innerText, 'match', 'part');">총건수</th>
<th class="cmn" style="width: 140px;" onclick="searchFromGridTitle('GRAMT', this.innerText, 'match', 'part');">총금액</th>
<th class="cmn" style="width: 200px;" onclick="searchFromGridTitle('DOC_NO', this.innerText, 'match', 'part');">문서번호</th>
<th class="cmn" style="width: 320px;" onclick="searchFromGridTitle('TTL_NM', this.innerText, 'match', 'part');">제목</th>
<th class="cmn" style="width: 180px;">등록일시</th>
<th class="cmn" style="width: 140px;">등록사용자</th>
<th class="cmn" style="width: 180px;">수정일시</th>
<th class="cmn" style="width: 140px;">수정사용자</th>
<th class="cmn dummy-th"></th>
</template>
<template id="${infoPrefix}Row--${pageName}">
<tr data-key="{SNDNG_ID}">
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{ROW_NUM}</td>
<td class="cmn text-center"><input type="checkbox" class="form-check-input" name="gridCheckbox" value="{SNDNG_ID}" onchange="pageObject['${pageName}'].control.select('{SNDNG_ID}', this.checked);" /></td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{TASK_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SNDNG_REG_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SNDNG_SE_NM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{VLTN_ARTCL}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SNDNG_YMD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SNDNG_END_YMD}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{TNOCS}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{GRAMT}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{DOC_NO}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{TTL_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{REG_DT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RGTR_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFCN_DT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFR_NM}</td>
<td class="cmn dummy-td"></td>
</tr>
</template>
<template id="${infoPrefix}NotFound--${pageName}">
<tr class="bpv">
<td valign="top" colspan="17" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="dpv">
<td valign="top" colspan="17" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="eca">
<td valign="top" colspan="17" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="pvs">
<td valign="top" colspan="17" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="pes">
<td valign="top" colspan="17" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
</template>
</table>
<!-- 발송 구분 코드 -->
<div class="col-6">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schSndngSeCd--${pageName}">발송구분</label>
<select class="form-select w-px-160" id="schSndngSeCd--${pageName}" name="schSndngSeCd">
<option value="">전체</option>
<c:forEach items="${FIM047List}" var="item">
<option value="${item.code}">${item.value}</option>
</c:forEach>
</select>
</div>
<!-- 동적검색 -->
<div class="col-6">
<input type="hidden" id="by--${pageName}" name="by" />
<input type="text" class="form-control fw-bold w-px-120 text-end" id="byOutput--${pageName}" value="동적 검색" readonly />
<input type="hidden" id="mainOption--${pageName}" name="mainOption" />
<input type="hidden" id="subOption--${pageName}" name="subOption" />
<input type="text" class="form-control w-px-400" id="term--${pageName}" name="term" autocomplete="off" />
<!-- 상세 검색조건 버튼 -->
<span class="flr">
<button type="button" class="btn btn-open-detail" data-bs-toggle="collapse" data-bs-target="#searchDetail--${pageName}">
<i class="bx bx-chevron-down"></i>
상세검색
</button>
</span>
</div>
</div>
</div> <!-- 메인 조건 -->
<!-- 상세 조건 -->
<div id="searchDetail--${pageName}" class="container-search container-search-detail collapse">
<div class="row g-1">
<!-- 등록일자, 수정일자 -->
<div class="col-6">
<select class="form-select w-px-120 text-center" id="schRegDateOpt--${pageName}" name="schRegDateOpt">
<option value="regDt">등록일자</option>
<option value="mdfcnDt">수정일자</option>
</select>
<span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schRegDateFrom--${pageName}" name="schRegDateFrom"
data-fmt-type="day" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~
<input type="text" class="form-control form-date" id="schRegDateTo--${pageName}" name="schRegDateTo"
data-fmt-type="day" title="종료 날짜 선택">
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div>
<!-- 등록자명, 수정자명 -->
<div class="col-6">
<select class="form-select w-px-120 text-center" id="schRgtrOpt--${pageName}" name="schRgtrOpt">
<option value="rgtr">등록자</option>
<option value="mdfr">수정자</option>
</select>
<input type="hidden" id="schRgtrCd--${pageName}" name="schRgtrCd" />
<input type="text" class="form-control w-px-160" id="schRgtrNm--${pageName}" name="schRgtrNm" />
<button type="button" class="btn btn-sm btn-outline-dark" id="btnFindUser--${pageName}" title="사용자 검색">검색</button>
</div>
</div>
</div> <!-- 상세 조건 -->
</form>
<!-- 검색 조건 영역 -->
<!-- 업무 버튼 및 건수 표시 -->
<div>
<span class="container-page-btn">
<!-- 건수, 페이지 표시 -->
<div class="d-flex flex-row justify-content-between">
<span class="dataTables_info" id="paging--${pageName}PagingInfo" role="status" aria-live="polite"></span>
<ul class="pagination pagination-primary" id="paging--${pageName}">
</ul>
</div>
<!-- 업무 버튼 -->
<span class="container-window-btn-right">
<button type="button" class="btn btn-primary w-px-120" id="btnCreate--${pageName}" title="고지서 발송 등록">
발송 등록
</button>
<button type="button" class="btn btn-primary w-px-120" id="btnRemove--${pageName}" title="고지서 발송 삭제">
발송 삭제
</button>
</span>
</span>
</div> <!-- 업무 버튼 및 건수 표시 -->
<!-- DataTables(그리드) -->
<div class="card-datatable text-nowrap">
<div class="dataTables_wrapper dt-bootstrap5 no-footer" id="DataTables_Table_0_wrapper--${pageName}">
<div class="table-responsive ox-scroll oy-scroll h-px-500" id="table-responsive--${pageName}">
<table class="table-layout-fixed dataTable datatables-ajax table table-bordered no-footer" id="DataTables_Table_0--${pageName}" aria-describedby="DataTables_Table_0_info">
<thead class="sticky-thead">
<tr id="theadTr--${pageName}"
data-by="by--${pageName}" data-by-output="byOutput--${pageName}" data-main-option="mainOption--${pageName}" data-sub-option="subOption--${pageName}">
</tr>
</thead>
<tbody id="tbody--${pageName}">
</tbody>
<template id="${infoPrefix}Col--${pageName}">
<th class="cmn" style="width: 72px;">No.</th>
<th class="cmn" style="width: 56px;"><input type="checkbox" class="form-check-input" id="gridAllCheckbox--${pageName}" onchange="pageObject['${pageName}'].control.select(this.checked);" /></th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('TASK_SE_CD', this.innerText, 'codeValue', 'FIM054');">업무구분</th>
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('SNDNG_REG_SE_CD', this.innerText, 'codeValue', 'FIM067');">등록구분</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('SNDNG_SE_CD', this.innerText, 'codeValue', 'FIM067');">발송구분</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('VLTN_ARTCL', this.innerText, 'match', 'part');">위반항목</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('SNDNG_YMD', this.innerText, 'ymd', '');">발송일자</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('SNDNG_END_YMD', this.innerText, 'ymd', '');">납기일자</th>
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('TNOCS', this.innerText, 'match', 'part');">총건수</th>
<th class="cmn" style="width: 140px;" onclick="searchFromGridTitle('GRAMT', this.innerText, 'match', 'part');">총금액</th>
<th class="cmn" style="width: 200px;" onclick="searchFromGridTitle('DOC_NO', this.innerText, 'match', 'part');">문서번호</th>
<th class="cmn" style="width: 320px;" onclick="searchFromGridTitle('TTL_NM', this.innerText, 'match', 'part');">제목</th>
<th class="cmn" style="width: 180px;">등록일시</th>
<th class="cmn" style="width: 140px;">등록사용자</th>
<th class="cmn" style="width: 180px;">수정일시</th>
<th class="cmn" style="width: 140px;">수정사용자</th>
<th class="cmn dummy-th"></th>
</template>
<template id="${infoPrefix}Row--${pageName}">
<tr data-key="{SNDNG_ID}">
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{ROW_NUM}</td>
<td class="cmn text-center"><input type="checkbox" class="form-check-input" name="gridCheckbox" value="{SNDNG_ID}" onchange="pageObject['${pageName}'].control.select('{SNDNG_ID}', this.checked);" /></td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{TASK_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SNDNG_REG_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SNDNG_SE_NM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{VLTN_ARTCL}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SNDNG_YMD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SNDNG_END_YMD}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{TNOCS}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{GRAMT}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{DOC_NO}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{TTL_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{REG_DT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RGTR_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFCN_DT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFR_NM}</td>
<td class="cmn dummy-td"></td>
</tr>
</template>
<template id="${infoPrefix}NotFound--${pageName}">
<tr class="bpv">
<td valign="top" colspan="17" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="dpv">
<td valign="top" colspan="17" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="eca">
<td valign="top" colspan="17" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="pvs">
<td valign="top" colspan="17" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="pes">
<td valign="top" colspan="17" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
</template>
</table>
</div>
</div> <!-- DataTables(그리드) -->
</div> <!-- <div class="wrapper-list"> -->
</div> <!-- <div class="card"> -->
</div>
</div> <!-- DataTables(그리드) -->
</div> <!-- <div class="card wrapper-list"> -->
<!-- Page Body -->
</div> <!-- <div class="container-xxl flex-grow-1 px-0"> -->
<!-- Content -->

@ -161,8 +161,6 @@
$P.callPurpose = "${callPurpose}";
// FormFields
$P.formFields = new FimsFormFields("#frmEdit--${pageName}");
// main 의 검색 조건을 그대로 유지
$P.mainQuery = ${mainQuery};
/**************************************************************************
* DatasetControl

@ -9,309 +9,307 @@
<div class="container-xxl flex-grow-1 px-0">
<!-- Page Body -->
<div class="card">
<div class="wrapper-list">
<!-- 상단 버튼 -->
<div class="container-page-btn">
<button type="button" class="btn btn-outline-dark w-px-120" id="btnReset--${pageName}" title="초기화">
초기화
<div class="card wrapper-list">
<!-- 상단 버튼 -->
<div class="container-page-btn">
<button type="button" class="btn btn-outline-dark w-px-120" id="btnReset--${pageName}" title="초기화">
초기화
</button>
<span class="container-window-btn-right">
<button type="button" class="btn btn-search w-px-120" id="btnSearch--${pageName}" title="검색">
검색
</button>
<span class="container-window-btn-right">
<button type="button" class="btn btn-search w-px-120" id="btnSearch--${pageName}" title="검색">
검색
</button>
<button type="button" class="btn btn-excel w-px-120" id="btnExcel--${pageName}" title="엑셀">
엑셀
</button>
</span>
</div> <!-- 상단 버튼 -->
<!-- 검색 조건 영역 -->
<form id="frmSearch--${pageName}" name="frmSearch">
<!-- hidden -->
<input type="hidden" id="sggCd--${pageName}" name="sggCd" />
<!-- 메인 조건 -->
<div class="container-search">
<div class="row g-1">
<!-- 업무 구분 -->
<div class="col-12">
<span class="form-label fw-bold form-search-title w-px-120 text-end">업무구분</span>
<span class="form-search-linebox">
<c:forEach items="${taskListForSgg}" var="item">
<label>
<input type="radio" class="form-check-input" name="taskSeCd" alt="업무구분"
value="${item.code}" onchange="pageObject['${pageName}'].fnResetAndChangeBiz(this.value);">
${item.value}
</label>
</c:forEach>
</span>
</div>
<!-- 배달 일자 -->
<div class="col-6">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schDlvrYmdFrom--${pageName}">배달일자</label>
<span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schDlvrYmdFrom--${pageName}" name="schDlvrYmdFrom"
data-fmt-type="day" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~
<input type="text" class="form-control form-date" id="schDlvrYmdTo--${pageName}" name="schDlvrYmdTo"
data-fmt-type="day" title="종료 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div>
<!-- 미배달 사유 코드 -->
<div class="col-6">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schUndlvrRsnCd--${pageName}">미배달사유</label>
<select class="form-select w-px-160" id="schUndlvrRsnCd--${pageName}" name="schUndlvrRsnCd">
<option value="">전체</option>
<c:forEach items="${FIM081List}" var="item">
<option value="${item.code}">${item.value}</option>
</c:forEach>
</select>
</div>
<!-- 발송일자 -->
<div class="col-6">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schSndngYmdFrom--${pageName}">발송일자</label>
<span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schSndngYmdFrom--${pageName}" name="schSndngYmdFrom"
data-fmt-type="day" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~
<input type="text" class="form-control form-date" id="schSndngYmdTo--${pageName}" name="schSndngYmdTo"
data-fmt-type="day" title="종료 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div>
<!-- 발송 구분 -->
<div class="col-6">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schSndngSeCd--${pageName}">발송구분</label>
<select class="form-select w-px-160" id="schSndngSeCd--${pageName}" name="schSndngSeCd">
<option value="">전체</option>
<c:forEach items="${FIM047List}" var="item">
<option value="${item.code}">${item.value}</option>
</c:forEach>
</select>
</div>
<!-- 선택등기 표시 -->
<div class="col-6 form-check">
<input type="checkbox" class="form-check-input" id="schChcRgIndct--${pageName}" name="schChcRgIndct" value="Y" />
<label class="form-check-label" for="schChcRgIndct--${pageName}">선택등기표시</label>
</div>
<!-- 동적검색 -->
<div class="col-6">
<input type="hidden" id="by--${pageName}" name="by" />
<input type="text" class="form-control fw-bold w-px-120 text-end" id="byOutput--${pageName}" value="동적 검색" readonly />
<input type="hidden" id="mainOption--${pageName}" name="mainOption" />
<input type="hidden" id="subOption--${pageName}" name="subOption" />
<input type="text" class="form-control w-px-400" id="term--${pageName}" name="term" autocomplete="off" />
<!-- 상세 검색조건 버튼 -->
<span class="flr">
<button type="button" class="btn btn-open-detail" data-bs-toggle="collapse" data-bs-target="#searchDetail--${pageName}">
<i class="bx bx-chevron-down"></i>
상세검색
</button>
</span>
</div>
<button type="button" class="btn btn-excel w-px-120" id="btnExcel--${pageName}" title="엑셀">
엑셀
</button>
</span>
</div> <!-- 상단 버튼 -->
<!-- 검색 조건 영역 -->
<form id="frmSearch--${pageName}" name="frmSearch">
<!-- hidden -->
<input type="hidden" id="sggCd--${pageName}" name="sggCd" />
<!-- 메인 조건 -->
<div class="container-search">
<div class="row g-1">
<!-- 업무 구분 -->
<div class="col-12">
<span class="form-label fw-bold form-search-title w-px-120 text-end">업무구분</span>
<span class="form-search-linebox">
<c:forEach items="${taskListForSgg}" var="item">
<label>
<input type="radio" class="form-check-input" name="taskSeCd" alt="업무구분"
value="${item.code}" onchange="pageObject['${pageName}'].fnResetAndChangeBiz(this.value);">
${item.value}
</label>
</c:forEach>
</span>
</div>
<!-- 배달 일자 -->
<div class="col-6">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schDlvrYmdFrom--${pageName}">배달일자</label>
<span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schDlvrYmdFrom--${pageName}" name="schDlvrYmdFrom"
data-fmt-type="day" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~
<input type="text" class="form-control form-date" id="schDlvrYmdTo--${pageName}" name="schDlvrYmdTo"
data-fmt-type="day" title="종료 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div>
<!-- 미배달 사유 코드 -->
<div class="col-6">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schUndlvrRsnCd--${pageName}">미배달사유</label>
<select class="form-select w-px-160" id="schUndlvrRsnCd--${pageName}" name="schUndlvrRsnCd">
<option value="">전체</option>
<c:forEach items="${FIM081List}" var="item">
<option value="${item.code}">${item.value}</option>
</c:forEach>
</select>
</div>
<!-- 발송일자 -->
<div class="col-6">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schSndngYmdFrom--${pageName}">발송일자</label>
<span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schSndngYmdFrom--${pageName}" name="schSndngYmdFrom"
data-fmt-type="day" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~
<input type="text" class="form-control form-date" id="schSndngYmdTo--${pageName}" name="schSndngYmdTo"
data-fmt-type="day" title="종료 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div>
<!-- 발송 구분 -->
<div class="col-6">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schSndngSeCd--${pageName}">발송구분</label>
<select class="form-select w-px-160" id="schSndngSeCd--${pageName}" name="schSndngSeCd">
<option value="">전체</option>
<c:forEach items="${FIM047List}" var="item">
<option value="${item.code}">${item.value}</option>
</c:forEach>
</select>
</div>
<!-- 선택등기 표시 -->
<div class="col-6 form-check">
<input type="checkbox" class="form-check-input" id="schChcRgIndct--${pageName}" name="schChcRgIndct" value="Y" />
<label class="form-check-label" for="schChcRgIndct--${pageName}">선택등기표시</label>
</div>
<!-- 동적검색 -->
<div class="col-6">
<input type="hidden" id="by--${pageName}" name="by" />
<input type="text" class="form-control fw-bold w-px-120 text-end" id="byOutput--${pageName}" value="동적 검색" readonly />
<input type="hidden" id="mainOption--${pageName}" name="mainOption" />
<input type="hidden" id="subOption--${pageName}" name="subOption" />
<input type="text" class="form-control w-px-400" id="term--${pageName}" name="term" autocomplete="off" />
<!-- 상세 검색조건 버튼 -->
<span class="flr">
<button type="button" class="btn btn-open-detail" data-bs-toggle="collapse" data-bs-target="#searchDetail--${pageName}">
<i class="bx bx-chevron-down"></i>
상세검색
</button>
</span>
</div>
</div>
<!-- 메인 조건 -->
<!-- 상세 조건 -->
<div id="searchDetail--${pageName}" class="container-search container-search-detail collapse">
<div class="row g-1">
<!-- 단속일자 -->
<div class="col-4">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schCrdnYmdFrom--${pageName}">단속일자</label>
<span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schCrdnYmdFrom--${pageName}" name="schCrdnYmdFrom"
data-fmt-type="day" autocomplete="off" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~
<input type="text" class="form-control form-date" id="schCrdnYmdTo--${pageName}" name="schCrdnYmdTo"
data-fmt-type="day" autocomplete="off" title="종료 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div>
<!-- 차량번호 -->
<div class="col-4">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schVhrno--${pageName}">차량번호</label>
<input type="text" class="form-control w-px-160" id="schVhrno--${pageName}" name="schVhrno" autocomplete="off" />
</div>
<!-- 납부자번호 -->
<div class="col-4">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schRtpyrNm--${pageName}">납부자번호</label>
<input type="text" class="form-control w-px-160" id="schRtpyrNm--${pageName}" name="schRtpyrNm" autocomplete="off" />
</div>
<!-- 납부자명 -->
<div class="col-4">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schRtpyrNo--${pageName}">납부자명</label>
<input type="text" class="form-control w-px-160" id="schRtpyrNo--${pageName}" name="schRtpyrNo" autocomplete="off" />
</div>
<!-- 등록일자, 수정일자 -->
<div class="col-4">
<select class="form-select w-px-120 text-center" id="schRegDateOpt--${pageName}" name="schRegDateOpt">
<option value="regDt">등록일자</option>
<option value="mdfcnDt">수정일자</option>
</select>
<span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schRegDateFrom--${pageName}" name="schRegDateFrom"
data-fmt-type="day" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~
<input type="text" class="form-control form-date" id="schRegDateTo--${pageName}" name="schRegDateTo"
data-fmt-type="day" title="종료 날짜 선택">
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div>
<!-- 등록자명, 수정자명 -->
<div class="col-4">
<select class="form-select w-px-120 text-center" id="schRgtrOpt--${pageName}" name="schRgtrOpt">
<option value="rgtr">등록자</option>
<option value="mdfr">수정자</option>
</select>
<input type="hidden" id="schRgtrCd--${pageName}" name="schRgtrCd" />
<input type="text" class="form-control w-px-160" id="schRgtrNm--${pageName}" name="schRgtrNm" />
<button type="button" class="btn btn-sm btn-outline-dark" id="btnFindUser--${pageName}" title="사용자 검색">검색</button>
</div>
</div>
<!-- 메인 조건 -->
<!-- 상세 조건 -->
<div id="searchDetail--${pageName}" class="container-search container-search-detail collapse">
<div class="row g-1">
<!-- 단속일자 -->
<div class="col-4">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schCrdnYmdFrom--${pageName}">단속일자</label>
<span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schCrdnYmdFrom--${pageName}" name="schCrdnYmdFrom"
data-fmt-type="day" autocomplete="off" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~
<input type="text" class="form-control form-date" id="schCrdnYmdTo--${pageName}" name="schCrdnYmdTo"
data-fmt-type="day" autocomplete="off" title="종료 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div>
</div> <!-- 상세 조건 -->
</form>
<!-- 검색 조건 영역 -->
<!-- 업무 버튼 및 건수 표시 -->
<div>
<span class="container-page-btn">
<!-- 건수, 페이지 표시 -->
<div class="d-flex flex-row justify-content-between">
<span class="dataTables_info" id="paging--${pageName}PagingInfo" role="status" aria-live="polite"></span>
<ul class="pagination pagination-primary" id="paging--${pageName}">
</ul>
<!-- 차량번호 -->
<div class="col-4">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schVhrno--${pageName}">차량번호</label>
<input type="text" class="form-control w-px-160" id="schVhrno--${pageName}" name="schVhrno" autocomplete="off" />
</div>
<!-- 업무 버튼 -->
<span class="container-window-btn-right">
<button type="button" class="btn btn-primary w-px-160" id="btnCreateSndbk--${pageName}" title="반송 등록">
수기 반송 등록
</button>
<button type="button" class="btn btn-primary w-px-160" id="btnCreateWholSvbtc--${pageName}" title="전체 공시송달 등록">
전체 공시송달 등록
</button>
<button type="button" class="btn btn-primary w-px-160" id="btnCreateSlctnSndngLink--${pageName}" title="선택 통합우편 발송">
선택 통합우편 발송
</button>
<button type="button" class="btn btn-primary w-px-160" id="btnCreateWholSndngLink--${pageName}" title="전체 통합우편 발송">
전체 통합우편 발송
</button>
</span>
</span>
</div> <!-- 업무 버튼 및 건수 표시 -->
<!-- DataTables(그리드) -->
<div class="card-datatable text-nowrap">
<div class="dataTables_wrapper dt-bootstrap5 no-footer" id="DataTables_Table_0_wrapper--${pageName}">
<div class="table-responsive ox-scroll oy-scroll h-px-500" id="table-responsive--${pageName}">
<table class="table-layout-fixed dataTable datatables-ajax table table-bordered no-footer" id="DataTables_Table_0--${pageName}" aria-describedby="DataTables_Table_0_info">
<thead class="sticky-thead">
<tr id="theadTr--${pageName}"
data-by="by--${pageName}" data-by-output="byOutput--${pageName}" data-main-option="mainOption--${pageName}" data-sub-option="subOption--${pageName}">
</tr>
</thead>
<tbody id="tbody--${pageName}">
</tbody>
<template id="${infoPrefix}Col--${pageName}">
<th class="cmn" style="width: 72px;">No.</th>
<th class="cmn" style="width: 56px;"><input type="checkbox" class="form-check-input" id="gridAllCheckbox--${pageName}" onchange="pageObject['${pageName}'].control.select(this.checked);" /></th>
<th class="cmn" style="width: 160px;">업무구분</th>
<th class="cmn" style="width: 140px;">고지번호</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('RG_NO', this.innerText, 'match', 'part');">등기번호</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('DLVR_YMD', this.innerText, 'ymd', '');">배달일자</th>
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('DLVR_TM', this.innerText, 'time', '');">배달시간</th>
<th class="cmn" style="width: 200px;" onclick="searchFromGridTitle('UNDLVR_RSN_NM', this.innerText, 'match', 'part');">미배달사유</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('ACTL_RCPN_NM', this.innerText, 'match', 'part');">수령인</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('RCPN_REL_NM', this.innerText, 'match', 'part');">수령인관계</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('SNDNG_SE_CD', this.innerText, 'codeValue', 'FIM047');">발송구분</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('SNDNG_YMD', this.innerText, 'ymd', '');">발송일자</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('FFNLG_AMT', this.innerText, 'match', 'part');">과태료금액</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('PCPTAX', this.innerText, 'match', 'part');">본세</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('ADAMT', this.innerText, 'match', 'part');">가산금</th>
<th class="cmn" style="width: 200px;" onclick="searchFromGridTitle('RCPN_NM', this.innerText, 'match', 'part');">수령인명</th>
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('RCPN_ZIP', this.innerText, 'match', 'part');">우편번호</th>
<th class="cmn" style="width: 280px;" onclick="searchFromGridTitle('RCPN_ADDR', this.innerText, 'match', 'part');">수령인주소</th>
<th class="cmn" style="width: 320px;" onclick="searchFromGridTitle('RCPN_DTL_ADDR', this.innerText, 'match', 'part');">수령인상세주소</th>
<th class="cmn" style="width: 180px;" onclick="searchFromGridTitle('CRDN_YMD', this.innerText, 'ymd', '');">단속일시</th>
<th class="cmn" style="width: 140px;" onclick="searchFromGridTitle('VHRNO', this.innerText, 'match', 'part');">차량번호</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('RTPYR_SE_CD', this.innerText, 'codeValue', 'FIM011');">납부자구분</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('RTPYR_NO', this.innerText, 'ymd', '');">납부자번호</th>
<th class="cmn" style="width: 200px;" onclick="searchFromGridTitle('RTPYR_NM', this.innerText, 'match', 'part');">납부자명</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('CRDN_STDG_NM', this.innerText, 'match', 'part');">단속법정동</th>
<th class="cmn" style="width: 280px;" onclick="searchFromGridTitle('CRDN_PLC', this.innerText, 'match', 'part');">단속장소</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('CRDN_STTS_CD', this.innerText, 'codeValue', 'FIM010');">처리상태</th>
<th class="cmn" style="width: 180px;">등록일시</th>
<th class="cmn" style="width: 140px;">등록사용자</th>
<th class="cmn" style="width: 180px;">수정일시</th>
<th class="cmn" style="width: 140px;">수정사용자</th>
<th class="cmn dummy-th"></th>
</template>
<template id="${infoPrefix}Row--${pageName}">
<tr data-key="{SNDNG_DTL_ID}">
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{ROW_NUM}</td>
<td class="cmn text-center"><input type="checkbox" class="form-check-input" name="gridCheckbox" value="{SNDNG_DTL_ID}" onchange="pageObject['${pageName}'].control.select('{SNDNG_DTL_ID}', this.checked);" /></td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{TASK_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{GOJI_NO}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RG_NO}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{DLVR_YMD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{DLVR_TM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{UNDLVR_RSN_NM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{ACTL_RCPN_NM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{RCPN_REL_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SNDNG_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SNDNG_YMD}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{FFNLG_AMT}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{PCPTAX}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{ADAMT}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{RCPN_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RCPN_ZIP}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{RCPN_ADDR}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{RCPN_DTL_ADDR}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_YMD_TM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{VHRNO}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RTPYR_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RTPYR_NO}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{RTPYR_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_STDG_NM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_PLC}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_STTS_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{REG_DT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RGTR_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFCN_DT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFR_NM}</td>
<td class="cmn dummy-td"></td>
</tr>
</template>
<template id="${infoPrefix}NotFound--${pageName}">
<tr class="bpv">
<td valign="top" colspan="32" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="dpv">
<td valign="top" colspan="32" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="eca">
<td valign="top" colspan="32" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="pvs">
<td valign="top" colspan="32" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="pes">
<td valign="top" colspan="32" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
</template>
</table>
<!-- 납부자번호 -->
<div class="col-4">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schRtpyrNm--${pageName}">납부자번호</label>
<input type="text" class="form-control w-px-160" id="schRtpyrNm--${pageName}" name="schRtpyrNm" autocomplete="off" />
</div>
<!-- 납부자명 -->
<div class="col-4">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schRtpyrNo--${pageName}">납부자명</label>
<input type="text" class="form-control w-px-160" id="schRtpyrNo--${pageName}" name="schRtpyrNo" autocomplete="off" />
</div>
<!-- 등록일자, 수정일자 -->
<div class="col-4">
<select class="form-select w-px-120 text-center" id="schRegDateOpt--${pageName}" name="schRegDateOpt">
<option value="regDt">등록일자</option>
<option value="mdfcnDt">수정일자</option>
</select>
<span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schRegDateFrom--${pageName}" name="schRegDateFrom"
data-fmt-type="day" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~
<input type="text" class="form-control form-date" id="schRegDateTo--${pageName}" name="schRegDateTo"
data-fmt-type="day" title="종료 날짜 선택">
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div>
<!-- 등록자명, 수정자명 -->
<div class="col-4">
<select class="form-select w-px-120 text-center" id="schRgtrOpt--${pageName}" name="schRgtrOpt">
<option value="rgtr">등록자</option>
<option value="mdfr">수정자</option>
</select>
<input type="hidden" id="schRgtrCd--${pageName}" name="schRgtrCd" />
<input type="text" class="form-control w-px-160" id="schRgtrNm--${pageName}" name="schRgtrNm" />
<button type="button" class="btn btn-sm btn-outline-dark" id="btnFindUser--${pageName}" title="사용자 검색">검색</button>
</div>
</div>
</div> <!-- 상세 조건 -->
</form>
<!-- 검색 조건 영역 -->
<!-- 업무 버튼 및 건수 표시 -->
<div>
<span class="container-page-btn">
<!-- 건수, 페이지 표시 -->
<div class="d-flex flex-row justify-content-between">
<span class="dataTables_info" id="paging--${pageName}PagingInfo" role="status" aria-live="polite"></span>
<ul class="pagination pagination-primary" id="paging--${pageName}">
</ul>
</div>
<!-- 업무 버튼 -->
<span class="container-window-btn-right">
<button type="button" class="btn btn-primary w-px-160" id="btnCreateSndbk--${pageName}" title="반송 등록">
수기 반송 등록
</button>
<button type="button" class="btn btn-primary w-px-160" id="btnCreateWholSvbtc--${pageName}" title="전체 공시송달 등록">
전체 공시송달 등록
</button>
<button type="button" class="btn btn-primary w-px-160" id="btnCreateSlctnSndngLink--${pageName}" title="선택 통합우편 발송">
선택 통합우편 발송
</button>
<button type="button" class="btn btn-primary w-px-160" id="btnCreateWholSndngLink--${pageName}" title="전체 통합우편 발송">
전체 통합우편 발송
</button>
</span>
</span>
</div> <!-- 업무 버튼 및 건수 표시 -->
<!-- DataTables(그리드) -->
<div class="card-datatable text-nowrap">
<div class="dataTables_wrapper dt-bootstrap5 no-footer" id="DataTables_Table_0_wrapper--${pageName}">
<div class="table-responsive ox-scroll oy-scroll h-px-500" id="table-responsive--${pageName}">
<table class="table-layout-fixed dataTable datatables-ajax table table-bordered no-footer" id="DataTables_Table_0--${pageName}" aria-describedby="DataTables_Table_0_info">
<thead class="sticky-thead">
<tr id="theadTr--${pageName}"
data-by="by--${pageName}" data-by-output="byOutput--${pageName}" data-main-option="mainOption--${pageName}" data-sub-option="subOption--${pageName}">
</tr>
</thead>
<tbody id="tbody--${pageName}">
</tbody>
<template id="${infoPrefix}Col--${pageName}">
<th class="cmn" style="width: 72px;">No.</th>
<th class="cmn" style="width: 56px;"><input type="checkbox" class="form-check-input" id="gridAllCheckbox--${pageName}" onchange="pageObject['${pageName}'].control.select(this.checked);" /></th>
<th class="cmn" style="width: 160px;">업무구분</th>
<th class="cmn" style="width: 140px;">고지번호</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('RG_NO', this.innerText, 'match', 'part');">등기번호</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('DLVR_YMD', this.innerText, 'ymd', '');">배달일자</th>
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('DLVR_TM', this.innerText, 'time', '');">배달시간</th>
<th class="cmn" style="width: 200px;" onclick="searchFromGridTitle('UNDLVR_RSN_NM', this.innerText, 'match', 'part');">미배달사유</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('ACTL_RCPN_NM', this.innerText, 'match', 'part');">수령인</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('RCPN_REL_NM', this.innerText, 'match', 'part');">수령인관계</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('SNDNG_SE_CD', this.innerText, 'codeValue', 'FIM047');">발송구분</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('SNDNG_YMD', this.innerText, 'ymd', '');">발송일자</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('FFNLG_AMT', this.innerText, 'match', 'part');">과태료금액</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('PCPTAX', this.innerText, 'match', 'part');">본세</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('ADAMT', this.innerText, 'match', 'part');">가산금</th>
<th class="cmn" style="width: 200px;" onclick="searchFromGridTitle('RCPN_NM', this.innerText, 'match', 'part');">수령인명</th>
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('RCPN_ZIP', this.innerText, 'match', 'part');">우편번호</th>
<th class="cmn" style="width: 280px;" onclick="searchFromGridTitle('RCPN_ADDR', this.innerText, 'match', 'part');">수령인주소</th>
<th class="cmn" style="width: 320px;" onclick="searchFromGridTitle('RCPN_DTL_ADDR', this.innerText, 'match', 'part');">수령인상세주소</th>
<th class="cmn" style="width: 180px;" onclick="searchFromGridTitle('CRDN_YMD', this.innerText, 'ymd', '');">단속일시</th>
<th class="cmn" style="width: 140px;" onclick="searchFromGridTitle('VHRNO', this.innerText, 'match', 'part');">차량번호</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('RTPYR_SE_CD', this.innerText, 'codeValue', 'FIM011');">납부자구분</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('RTPYR_NO', this.innerText, 'ymd', '');">납부자번호</th>
<th class="cmn" style="width: 200px;" onclick="searchFromGridTitle('RTPYR_NM', this.innerText, 'match', 'part');">납부자명</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('CRDN_STDG_NM', this.innerText, 'match', 'part');">단속법정동</th>
<th class="cmn" style="width: 280px;" onclick="searchFromGridTitle('CRDN_PLC', this.innerText, 'match', 'part');">단속장소</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('CRDN_STTS_CD', this.innerText, 'codeValue', 'FIM010');">처리상태</th>
<th class="cmn" style="width: 180px;">등록일시</th>
<th class="cmn" style="width: 140px;">등록사용자</th>
<th class="cmn" style="width: 180px;">수정일시</th>
<th class="cmn" style="width: 140px;">수정사용자</th>
<th class="cmn dummy-th"></th>
</template>
<template id="${infoPrefix}Row--${pageName}">
<tr data-key="{SNDNG_DTL_ID}">
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{ROW_NUM}</td>
<td class="cmn text-center"><input type="checkbox" class="form-check-input" name="gridCheckbox" value="{SNDNG_DTL_ID}" onchange="pageObject['${pageName}'].control.select('{SNDNG_DTL_ID}', this.checked);" /></td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{TASK_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{GOJI_NO}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RG_NO}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{DLVR_YMD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{DLVR_TM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{UNDLVR_RSN_NM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{ACTL_RCPN_NM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{RCPN_REL_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SNDNG_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SNDNG_YMD}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{FFNLG_AMT}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{PCPTAX}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{ADAMT}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{RCPN_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RCPN_ZIP}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{RCPN_ADDR}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{RCPN_DTL_ADDR}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_YMD_TM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{VHRNO}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RTPYR_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RTPYR_NO}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{RTPYR_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_STDG_NM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_PLC}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_STTS_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{REG_DT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RGTR_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFCN_DT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFR_NM}</td>
<td class="cmn dummy-td"></td>
</tr>
</template>
<template id="${infoPrefix}NotFound--${pageName}">
<tr class="bpv">
<td valign="top" colspan="32" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="dpv">
<td valign="top" colspan="32" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="eca">
<td valign="top" colspan="32" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="pvs">
<td valign="top" colspan="32" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="pes">
<td valign="top" colspan="32" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
</template>
</table>
</div>
</div> <!-- DataTables(그리드) -->
</div> <!-- <div class="wrapper-list"> -->
</div> <!-- <div class="card"> -->
</div>
</div> <!-- DataTables(그리드) -->
</div> <!-- <div class="card wrapper-list"> -->
<!-- Page Body -->
</div> <!-- <div class="container-xxl flex-grow-1 px-0"> -->
<!-- Content -->
@ -772,7 +770,6 @@
initDatepicker("frmSearch--${pageName}"); // 달력 초기화
$("#schDlvrYmdFrom--${pageName}").datepicker("setDate", DateUtil.getDateDay(-7).date);
$("#schDlvrYmdTo--${pageName}").datepicker("setDate", new Date());
$("#schSndngSeCd--${pageName}").val("02").prop("selected", true); // 발송구분
$("#schChcRgIndct--${pageName}").prop("checked", true); // 선택등기표시
$("#byOutput--${pageName}").val("동적 검색"); // 동적 검색
$("#schRgtrNm--${pageName}").prop("readonly", true); // 사용자 이름

@ -9,206 +9,202 @@
<div class="container-xxl flex-grow-1 px-0">
<!-- Page Body -->
<div class="card">
<div class="wrapper-list">
<!-- 상단 버튼 -->
<div class="container-page-btn">
<button type="button" class="btn btn-outline-dark w-px-120" id="btnReset--${pageName}" title="초기화">
초기화
<div class="card wrapper-list">
<!-- 상단 버튼 -->
<div class="container-page-btn">
<button type="button" class="btn btn-outline-dark w-px-120" id="btnReset--${pageName}" title="초기화">
초기화
</button>
<span class="container-window-btn-right">
<button type="button" class="btn btn-search w-px-120" id="btnSearch--${pageName}" title="검색">
검색
</button>
<span class="container-window-btn-right">
<button type="button" class="btn btn-search w-px-120" id="btnSearch--${pageName}" title="검색">
검색
</button>
<button type="button" class="btn btn-excel w-px-120" id="btnExcel--${pageName}" title="엑셀">
엑셀
</button>
</span>
</div> <!-- 상단 버튼 -->
<!-- 검색 조건 영역 -->
<form id="frmSearch--${pageName}" name="frmSearch">
<!-- hidden -->
<input type="hidden" id="sggCd--${pageName}" name="sggCd" />
<!-- 메인 조건 -->
<div class="container-search">
<div class="row g-1">
<!-- 업무 구분 -->
<div class="col-12">
<span class="form-label fw-bold form-search-title w-px-120 text-end">업무구분</span>
<span class="form-search-linebox">
<c:forEach items="${taskListForSgg}" var="item">
<label>
<input type="radio" class="form-check-input" name="taskSeCd" alt="업무구분"
value="${item.code}" onchange="pageObject['${pageName}'].fnResetAndChangeBiz(this.value);">
${item.value}
</label>
</c:forEach>
</span>
</div>
<!-- 공시송달 일자 -->
<div class="col-6">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schSvbtcYmdFrom--${pageName}">공시송달일자</label>
<span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schSvbtcYmdFrom--${pageName}" name="schSvbtcYmdFrom"
data-fmt-type="day" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~
<input type="text" class="form-control form-date" id="schSvbtcYmdTo--${pageName}" name="schSvbtcYmdTo"
data-fmt-type="day" title="종료 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div>
<!-- 발송 구분 -->
<div class="col-6">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schSndngSeCd--${pageName}">발송구분</label>
<select class="form-select w-px-160" id="schSndngSeCd--${pageName}" name="schSndngSeCd">
<option value="">전체</option>
<c:forEach items="${FIM047List}" var="item">
<option value="${item.code}">${item.value}</option>
</c:forEach>
</select>
</div>
<!-- -->
<div class="col-6">
</div>
<!-- 동적검색 -->
<div class="col-6">
<input type="hidden" id="by--${pageName}" name="by" />
<input type="text" class="form-control fw-bold w-px-120 text-end" id="byOutput--${pageName}" value="동적 검색" readonly />
<input type="hidden" id="mainOption--${pageName}" name="mainOption" />
<input type="hidden" id="subOption--${pageName}" name="subOption" />
<input type="text" class="form-control w-px-400" id="term--${pageName}" name="term" autocomplete="off" />
<!-- 상세 검색조건 버튼 -->
<span class="flr">
<button type="button" class="btn btn-open-detail" data-bs-toggle="collapse" data-bs-target="#searchDetail--${pageName}">
<i class="bx bx-chevron-down"></i>
상세검색
</button>
</span>
</div>
<button type="button" class="btn btn-excel w-px-120" id="btnExcel--${pageName}" title="엑셀">
엑셀
</button>
</span>
</div> <!-- 상단 버튼 -->
<!-- 검색 조건 영역 -->
<form id="frmSearch--${pageName}" name="frmSearch">
<!-- hidden -->
<input type="hidden" id="sggCd--${pageName}" name="sggCd" />
<!-- 메인 조건 -->
<div class="container-search">
<div class="row g-1">
<!-- 업무 구분 -->
<div class="col-12">
<span class="form-label fw-bold form-search-title w-px-120 text-end">업무구분</span>
<span class="form-search-linebox">
<c:forEach items="${taskListForSgg}" var="item">
<label>
<input type="radio" class="form-check-input" name="taskSeCd" alt="업무구분"
value="${item.code}" onchange="pageObject['${pageName}'].fnResetAndChangeBiz(this.value);">
${item.value}
</label>
</c:forEach>
</span>
</div>
<!-- 공시송달 일자 -->
<div class="col-6">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schSvbtcYmdFrom--${pageName}">공시송달일자</label>
<span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schSvbtcYmdFrom--${pageName}" name="schSvbtcYmdFrom"
data-fmt-type="day" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~
<input type="text" class="form-control form-date" id="schSvbtcYmdTo--${pageName}" name="schSvbtcYmdTo"
data-fmt-type="day" title="종료 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div>
</div> <!-- 메인 조건 -->
<!-- 상세 조건 -->
<div id="searchDetail--${pageName}" class="container-search container-search-detail collapse">
<div class="row g-1">
<!-- 등록일자, 수정일자 -->
<div class="col-6">
<select class="form-select w-px-120 text-center" id="schRegDateOpt--${pageName}" name="schRegDateOpt">
<option value="regDt">등록일자</option>
<option value="mdfcnDt">수정일자</option>
</select>
<span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schRegDateFrom--${pageName}" name="schRegDateFrom"
data-fmt-type="day" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~
<input type="text" class="form-control form-date" id="schRegDateTo--${pageName}" name="schRegDateTo"
data-fmt-type="day" title="종료 날짜 선택">
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div>
<!-- 등록자명, 수정자명 -->
<div class="col-6">
<select class="form-select w-px-120 text-center" id="schRgtrOpt--${pageName}" name="schRgtrOpt">
<option value="rgtr">등록자</option>
<option value="mdfr">수정자</option>
</select>
<input type="hidden" id="schRgtrCd--${pageName}" name="schRgtrCd" />
<input type="text" class="form-control w-px-160" id="schRgtrNm--${pageName}" name="schRgtrNm" />
<button type="button" class="btn btn-sm btn-outline-dark" id="btnFindUser--${pageName}" title="사용자 검색">검색</button>
</div>
<!-- 발송 구분 -->
<div class="col-6">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schSndngSeCd--${pageName}">발송구분</label>
<select class="form-select w-px-160" id="schSndngSeCd--${pageName}" name="schSndngSeCd">
<option value="">전체</option>
<c:forEach items="${FIM047List}" var="item">
<option value="${item.code}">${item.value}</option>
</c:forEach>
</select>
</div>
</div> <!-- 상세 조건 -->
</form>
<!-- 검색 조건 영역 -->
<!-- 업무 버튼 및 건수 표시 -->
<div>
<span class="container-page-btn">
<!-- 건수, 페이지 표시 -->
<div class="d-flex flex-row justify-content-between">
<span class="dataTables_info" id="paging--${pageName}PagingInfo" role="status" aria-live="polite"></span>
<ul class="pagination pagination-primary" id="paging--${pageName}">
</ul>
<!-- -->
<div class="col-6">
</div>
<!-- 동적검색 -->
<div class="col-6">
<input type="hidden" id="by--${pageName}" name="by" />
<input type="text" class="form-control fw-bold w-px-120 text-end" id="byOutput--${pageName}" value="동적 검색" readonly />
<input type="hidden" id="mainOption--${pageName}" name="mainOption" />
<input type="hidden" id="subOption--${pageName}" name="subOption" />
<input type="text" class="form-control w-px-400" id="term--${pageName}" name="term" autocomplete="off" />
<!-- 상세 검색조건 버튼 -->
<span class="flr">
<button type="button" class="btn btn-open-detail" data-bs-toggle="collapse" data-bs-target="#searchDetail--${pageName}">
<i class="bx bx-chevron-down"></i>
상세검색
</button>
</span>
</div>
</div>
</div> <!-- 메인 조건 -->
<!-- 상세 조건 -->
<div id="searchDetail--${pageName}" class="container-search container-search-detail collapse">
<div class="row g-1">
<!-- 등록일자, 수정일자 -->
<div class="col-6">
<select class="form-select w-px-120 text-center" id="schRegDateOpt--${pageName}" name="schRegDateOpt">
<option value="regDt">등록일자</option>
<option value="mdfcnDt">수정일자</option>
</select>
<span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schRegDateFrom--${pageName}" name="schRegDateFrom"
data-fmt-type="day" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~
<input type="text" class="form-control form-date" id="schRegDateTo--${pageName}" name="schRegDateTo"
data-fmt-type="day" title="종료 날짜 선택">
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div>
<!-- 업무 버튼 -->
<span class="container-window-btn-right">
<button type="button" class="btn btn-primary w-px-120" id="btnPrintHwp--${pageName}" title="한글파일 출력">
한글파일 출력
</button>
<button type="button" class="btn btn-primary w-px-120" id="btnUpdate--${pageName}" title="공시송달 수정">
공시송달 수정
</button>
<button type="button" class="btn btn-primary w-px-120" id="btnRemove--${pageName}" title="공시송달 삭제">
공시송달 삭제
</button>
</span>
</span>
</div> <!-- 업무 버튼 및 건수 표시 -->
<!-- DataTables(그리드) -->
<div class="card-datatable text-nowrap">
<div class="dataTables_wrapper dt-bootstrap5 no-footer" id="DataTables_Table_0_wrapper--${pageName}">
<div class="table-responsive ox-scroll oy-scroll h-px-400" id="table-responsive--${pageName}">
<table class="table-layout-fixed dataTable datatables-ajax table table-bordered no-footer" id="DataTables_Table_0--${pageName}" aria-describedby="DataTables_Table_0_info">
<thead class="sticky-thead">
<tr id="theadTr--${pageName}"
data-by="by--${pageName}" data-by-output="byOutput--${pageName}" data-main-option="mainOption--${pageName}" data-sub-option="subOption--${pageName}">
<th class="cmn" style="width: 72px;">No.</th>
<th class="cmn" style="width: 56px;"><input type="checkbox" class="form-check-input" id="gridAllCheckbox--${pageName}" onchange="pageObject['${pageName}'].control.select(this.checked);" /></th>
<th class="cmn" style="width: 160px;">업무구분</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('SNDNG_SE_CD', this.innerText, 'codeValue', 'FIM047');">발송구분</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('SVBTC_YMD', this.innerText, 'ymd', '');">공시송달일자</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('SVBTC_END_YMD', this.innerText, 'ymd', '');">공시송달종료일자</th>
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('TNOCS', this.innerText, 'match', 'part');">총건수</th>
<th class="cmn" style="width: 200px;" onclick="searchFromGridTitle('DOC_NO', this.innerText, 'match', 'part');">문서번호</th>
<th class="cmn" style="width: 320px;" onclick="searchFromGridTitle('TTL_NM', this.innerText, 'match', 'part');">제목</th>
<th class="cmn" style="width: 320px;" onclick="searchFromGridTitle('ETC_CN', this.innerText, 'match', 'part');">기타내용</th>
<th class="cmn" style="width: 180px;">등록일시</th>
<th class="cmn" style="width: 140px;">등록사용자</th>
<th class="cmn" style="width: 180px;">수정일시</th>
<th class="cmn" style="width: 140px;">수정사용자</th>
<th class="cmn dummy-th"></th>
</tr>
</thead>
<tbody id="tbody--${pageName}">
</tbody>
<template id="${infoPrefix}Row--${pageName}">
<tr data-key="{SVBTC_ID}">
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{ROW_NUM}</td>
<td class="cmn text-center"><input type="checkbox" class="form-check-input" name="gridCheckbox" value="{SVBTC_ID}" onchange="pageObject['${pageName}'].control.select('{SVBTC_ID}', this.checked);"></td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{TASK_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SNDNG_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SVBTC_YMD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SVBTC_END_YMD}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{TNOCS}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{DOC_NO}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{TTL_NM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{ETC_CN}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{REG_DT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RGTR_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFCN_DT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFR_NM}</td>
<td class="cmn dummy-td"></td>
</tr>
</template>
<template id="${infoPrefix}NotFound--${pageName}">
<tr class="odd">
<td valign="top" colspan="15" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
</template>
</table>
<!-- 등록자명, 수정자명 -->
<div class="col-6">
<select class="form-select w-px-120 text-center" id="schRgtrOpt--${pageName}" name="schRgtrOpt">
<option value="rgtr">등록자</option>
<option value="mdfr">수정자</option>
</select>
<input type="hidden" id="schRgtrCd--${pageName}" name="schRgtrCd" />
<input type="text" class="form-control w-px-160" id="schRgtrNm--${pageName}" name="schRgtrNm" />
<button type="button" class="btn btn-sm btn-outline-dark" id="btnFindUser--${pageName}" title="사용자 검색">검색</button>
</div>
</div>
</div> <!-- DataTables(그리드) -->
</div> <!-- <div class="wrapper-list"> -->
</div> <!-- <div class="card"> -->
</div> <!-- 상세 조건 -->
</form>
<!-- 검색 조건 영역 -->
<!-- 업무 버튼 및 건수 표시 -->
<div>
<span class="container-page-btn">
<!-- 건수, 페이지 표시 -->
<div class="d-flex flex-row justify-content-between">
<span class="dataTables_info" id="paging--${pageName}PagingInfo" role="status" aria-live="polite"></span>
<ul class="pagination pagination-primary" id="paging--${pageName}">
</ul>
</div>
<!-- 업무 버튼 -->
<span class="container-window-btn-right">
<button type="button" class="btn btn-primary w-px-120" id="btnPrintHwp--${pageName}" title="한글파일 출력">
한글파일 출력
</button>
<button type="button" class="btn btn-primary w-px-120" id="btnUpdate--${pageName}" title="공시송달 수정">
공시송달 수정
</button>
<button type="button" class="btn btn-primary w-px-120" id="btnRemove--${pageName}" title="공시송달 삭제">
공시송달 삭제
</button>
</span>
</span>
</div> <!-- 업무 버튼 및 건수 표시 -->
<!-- DataTables(그리드) -->
<div class="card-datatable text-nowrap">
<div class="dataTables_wrapper dt-bootstrap5 no-footer" id="DataTables_Table_0_wrapper--${pageName}">
<div class="table-responsive ox-scroll oy-scroll h-px-400" id="table-responsive--${pageName}">
<table class="table-layout-fixed dataTable datatables-ajax table table-bordered no-footer" id="DataTables_Table_0--${pageName}" aria-describedby="DataTables_Table_0_info">
<thead class="sticky-thead">
<tr id="theadTr--${pageName}"
data-by="by--${pageName}" data-by-output="byOutput--${pageName}" data-main-option="mainOption--${pageName}" data-sub-option="subOption--${pageName}">
<th class="cmn" style="width: 72px;">No.</th>
<th class="cmn" style="width: 56px;"><input type="checkbox" class="form-check-input" id="gridAllCheckbox--${pageName}" onchange="pageObject['${pageName}'].control.select(this.checked);" /></th>
<th class="cmn" style="width: 160px;">업무구분</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('SNDNG_SE_CD', this.innerText, 'codeValue', 'FIM047');">발송구분</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('SVBTC_YMD', this.innerText, 'ymd', '');">공시송달일자</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('SVBTC_END_YMD', this.innerText, 'ymd', '');">공시송달종료일자</th>
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('TNOCS', this.innerText, 'match', 'part');">총건수</th>
<th class="cmn" style="width: 200px;" onclick="searchFromGridTitle('DOC_NO', this.innerText, 'match', 'part');">문서번호</th>
<th class="cmn" style="width: 320px;" onclick="searchFromGridTitle('TTL_NM', this.innerText, 'match', 'part');">제목</th>
<th class="cmn" style="width: 320px;" onclick="searchFromGridTitle('ETC_CN', this.innerText, 'match', 'part');">기타내용</th>
<th class="cmn" style="width: 180px;">등록일시</th>
<th class="cmn" style="width: 140px;">등록사용자</th>
<th class="cmn" style="width: 180px;">수정일시</th>
<th class="cmn" style="width: 140px;">수정사용자</th>
<th class="cmn dummy-th"></th>
</tr>
</thead>
<tbody id="tbody--${pageName}">
</tbody>
<template id="${infoPrefix}Row--${pageName}">
<tr data-key="{SVBTC_ID}">
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{ROW_NUM}</td>
<td class="cmn text-center"><input type="checkbox" class="form-check-input" name="gridCheckbox" value="{SVBTC_ID}" onchange="pageObject['${pageName}'].control.select('{SVBTC_ID}', this.checked);"></td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{TASK_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SNDNG_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SVBTC_YMD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SVBTC_END_YMD}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{TNOCS}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{DOC_NO}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{TTL_NM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{ETC_CN}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{REG_DT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RGTR_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFCN_DT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFR_NM}</td>
<td class="cmn dummy-td"></td>
</tr>
</template>
<template id="${infoPrefix}NotFound--${pageName}">
<tr class="odd">
<td valign="top" colspan="15" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
</template>
</table>
</div>
</div>
</div> <!-- DataTables(그리드) -->
</div> <!-- <div class="card wrapper-list"> -->
<!-- Page Body -->
<span id="tempArea--${pageName}" hidden></span>
</div> <!-- <div class="container-xxl flex-grow-1 px-0"> -->
<!-- Content -->

@ -2,111 +2,107 @@
<%@ include file="/WEB-INF/jsp/include/taglib.jsp"%>
<!-- Page Body -->
<div class="card">
<div class="wrapper-list">
<div>
<!-- 입력 영역 -->
<form id="frmEdit--${pageName}" name="frmEdit">
<!-- hidden -->
<input type="hidden" id="crdnId--${pageName}" name="crdnId" data-map="CRDN_ID" />
<input type="hidden" id="sggCd--${pageName}" name="sggCd" data-map="SGG_CD" />
<input type="hidden" id="taskSeCd--${pageName}" name="taskSeCd" data-map="TASK_SE_CD" />
<input type="hidden" id="rtpyrId--${pageName}" name="rtpyrId" data-map="RTPYR_ID" />
<div class="row g-1">
<!-- 차량번호 -->
<div class="col-md-3">
<label for="vhrno--${pageName}" class="w-px-100 bg-lighter pe-2 col-form-label text-sm-end">차량번호</label>
<input type="text" class="form-control w-35" id="vhrno--${pageName}" name="vhrno" data-map="VHRNO" readonly />
</div>
<!-- 위반일시 -->
<div class="col-md-3">
<label for="crdnYmdTm--${pageName}" class="w-px-100 bg-lighter pe-2 col-form-label text-sm-end">위반일시</label>
<input type="text" class="form-control w-45" id="crdnYmdTm--${pageName}" name="crdnYmdTm" data-map="CRDN_YMD_TM" readonly />
</div>
<!-- 단속상태 -->
<div class="col-md-4">
<label for="crdnSttsNm--${pageName}" class="w-px-100 bg-lighter pe-2 col-form-label text-sm-end">단속상태</label>
<input type="text" class="form-control w-35" id="crdnSttsChgDt--${pageName}" name="crdnSttsChgDt" data-map="CRDN_STTS_CHG_DT" readonly />
<input type="text" class="form-control w-30 fw-bold text-primary" id="crdnSttsNm--${pageName}" name="crdnSttsNm" data-map="CRDN_STTS_NM" readonly />
<input type="hidden" id="crdnSttsCd--${pageName}" name="crdnSttsCd" data-map="CRDN_STTS_CD" />
</div>
<!-- 자료 이동 버튼 -->
<div class="col-md-2 text-end">
<input type="text" id="countStauts--${pageName}" class="form-control w-px-120 text-center fw-bold" readonly />
<button type="button" id="btnPrev--${pageName}" class="w-px-50 btn-PageUp">◀</button>
<button type="button" id="btnNext--${pageName}" class="w-px-50 btn-PageDown">▶</button>
</div>
</div> <!-- <div class="row g-1"> -->
</form> <!-- /입력 영역 -->
<div class="card wrapper-list">
<div>
<!-- 입력 영역 -->
<form id="frmEdit--${pageName}" name="frmEdit">
<!-- hidden -->
<input type="hidden" id="crdnId--${pageName}" name="crdnId" data-map="CRDN_ID" />
<input type="hidden" id="sggCd--${pageName}" name="sggCd" data-map="SGG_CD" />
<input type="hidden" id="taskSeCd--${pageName}" name="taskSeCd" data-map="TASK_SE_CD" />
<input type="hidden" id="rtpyrId--${pageName}" name="rtpyrId" data-map="RTPYR_ID" />
<div class="row g-1">
<!-- 차량번호 -->
<div class="col-md-3">
<label for="vhrno--${pageName}" class="w-px-100 bg-lighter pe-2 col-form-label text-sm-end">차량번호</label>
<input type="text" class="form-control w-35" id="vhrno--${pageName}" name="vhrno" data-map="VHRNO" readonly />
</div>
<!-- 위반일시 -->
<div class="col-md-3">
<label for="crdnYmdTm--${pageName}" class="w-px-100 bg-lighter pe-2 col-form-label text-sm-end">위반일시</label>
<input type="text" class="form-control w-45" id="crdnYmdTm--${pageName}" name="crdnYmdTm" data-map="CRDN_YMD_TM" readonly />
</div>
<!-- 단속상태 -->
<div class="col-md-4">
<label for="crdnSttsNm--${pageName}" class="w-px-100 bg-lighter pe-2 col-form-label text-sm-end">단속상태</label>
<input type="text" class="form-control w-35" id="crdnSttsChgDt--${pageName}" name="crdnSttsChgDt" data-map="CRDN_STTS_CHG_DT" readonly />
<input type="text" class="form-control w-30 fw-bold text-primary" id="crdnSttsNm--${pageName}" name="crdnSttsNm" data-map="CRDN_STTS_NM" readonly />
<input type="hidden" id="crdnSttsCd--${pageName}" name="crdnSttsCd" data-map="CRDN_STTS_CD" />
</div>
<!-- 자료 이동 버튼 -->
<div class="col-md-2 text-end">
<input type="text" id="countStauts--${pageName}" class="form-control w-px-120 text-center fw-bold" readonly />
<button type="button" id="btnPrev--${pageName}" class="w-px-50 btn-PageUp">◀</button>
<button type="button" id="btnNext--${pageName}" class="w-px-50 btn-PageDown">▶</button>
</div>
</div> <!-- <div class="row g-1"> -->
</form>
<!-- 입력 영역 -->
</div>
<div class="nav-align-top">
<ul class="nav nav-tabs" id="tabs--${pageName}" role="tablist">
<li class="nav-item">
<button type="button" class="nav-link w-px-160 h-75 active" id="btnCrdnPayer--${pageName}" name="btnCrdnPayer"
role="tab" data-bs-toggle="tab" data-bs-target="#crdnPayerInfo" aria-controls="crdnPayerInfo" aria-selected="true">
단속 정보
</button>
</li>
<li class="nav-item">
<button type="button" class="nav-link w-px-160 h-75" id="btnOpnnSbmsn--${pageName}" name="btnOpnnSbmsn"
role="tab" data-bs-toggle="tab" data-bs-target="#opnnSbmsnInfo" aria-controls="opnnSbmsnInfo" aria-selected="false">
의견제출 정보
</button>
</li>
<li class="nav-item">
<button type="button" class="nav-link w-px-160 h-75" id="btnSndng--${pageName}" name="btnSndng"
role="tab" data-bs-toggle="tab" data-bs-target="#sndngInfo" aria-controls="sndngInfo" aria-selected="false">
발송반송 정보
</button>
</li>
<li class="nav-item">
<button type="button" class="nav-link w-px-160 h-75" id="btnPrcs--${pageName}" name="btnPrcs"
role="tab" data-bs-toggle="tab" data-bs-target="#prcsInfo" aria-controls="prcsInfo" aria-selected="false">
처리상세 정보
</button>
</li>
<li class="nav-item">
<button type="button" class="nav-link w-px-160 h-75" id="btnLevy--${pageName}" name="btnLevy"
role="tab" data-bs-toggle="tab" data-bs-target="#levyInfo" aria-controls="levyInfo" aria-selected="false">
부과체납 정보
</button>
</li>
<li class="nav-item">
<button type="button" class="nav-link w-px-160 h-75" id="btnRcvmt--${pageName}" name="btnRcvmt"
role="tab" data-bs-toggle="tab" data-bs-target="#rcvmtInfo" aria-controls="rcvmtInfo" aria-selected="false">
수납 정보
</button>
</li>
<li class="nav-item">
<button type="button" class="nav-link w-px-160 h-75" id="btnCvlcptDscsn--${pageName}" name="btnCvlcptDscsn"
role="tab" data-bs-toggle="tab" data-bs-target="#cvlcptDscsnInfo" aria-controls="cvlcptDscsnInfo" aria-selected="false">
민원상담 정보
</button>
</li>
</ul>
<div class="tab-content">
<div class="tab-pane fade show active" id="crdnPayerInfo" role="tabpanel">단속 정보</div>
<div class="tab-pane fade" id="opnnSbmsnInfo" role="tabpanel">의견제출 정보</div>
<div class="tab-pane fade" id="sndngInfo" role="tabpanel">발송반송 정보</div>
<div class="tab-pane fade" id="prcsInfo" role="tabpanel">처리상세 정보</div>
<div class="tab-pane fade" id="levyInfo" role="tabpanel">부과체납 정보</div>
<div class="tab-pane fade" id="rcvmtInfo" role="tabpanel">수납 정보</div>
<div class="tab-pane fade" id="cvlcptDscsnInfo" role="tabpanel">민원상담 정보</div>
</div>
<div class="nav-align-top">
<ul class="nav nav-tabs" id="tabs--${pageName}" role="tablist">
<li class="nav-item">
<button type="button" class="nav-link w-px-160 h-75 active" id="btnCrdnPayer--${pageName}" name="btnCrdnPayer"
role="tab" data-bs-toggle="tab" data-bs-target="#crdnPayerInfo" aria-controls="crdnPayerInfo" aria-selected="true">
단속 정보
</button>
</li>
<li class="nav-item">
<button type="button" class="nav-link w-px-160 h-75" id="btnOpnnSbmsn--${pageName}" name="btnOpnnSbmsn"
role="tab" data-bs-toggle="tab" data-bs-target="#opnnSbmsnInfo" aria-controls="opnnSbmsnInfo" aria-selected="false">
의견제출 정보
</button>
</li>
<li class="nav-item">
<button type="button" class="nav-link w-px-160 h-75" id="btnSndng--${pageName}" name="btnSndng"
role="tab" data-bs-toggle="tab" data-bs-target="#sndngInfo" aria-controls="sndngInfo" aria-selected="false">
발송반송 정보
</button>
</li>
<li class="nav-item">
<button type="button" class="nav-link w-px-160 h-75" id="btnPrcs--${pageName}" name="btnPrcs"
role="tab" data-bs-toggle="tab" data-bs-target="#prcsInfo" aria-controls="prcsInfo" aria-selected="false">
처리상세 정보
</button>
</li>
<li class="nav-item">
<button type="button" class="nav-link w-px-160 h-75" id="btnLevy--${pageName}" name="btnLevy"
role="tab" data-bs-toggle="tab" data-bs-target="#levyInfo" aria-controls="levyInfo" aria-selected="false">
부과체납 정보
</button>
</li>
<li class="nav-item">
<button type="button" class="nav-link w-px-160 h-75" id="btnRcvmt--${pageName}" name="btnRcvmt"
role="tab" data-bs-toggle="tab" data-bs-target="#rcvmtInfo" aria-controls="rcvmtInfo" aria-selected="false">
수납 정보
</button>
</li>
<li class="nav-item">
<button type="button" class="nav-link w-px-160 h-75" id="btnCvlcptDscsn--${pageName}" name="btnCvlcptDscsn"
role="tab" data-bs-toggle="tab" data-bs-target="#cvlcptDscsnInfo" aria-controls="cvlcptDscsnInfo" aria-selected="false">
민원상담 정보
</button>
</li>
</ul>
<div class="tab-content">
<div class="tab-pane fade show active" id="crdnPayerInfo" role="tabpanel">단속 정보</div>
<div class="tab-pane fade" id="opnnSbmsnInfo" role="tabpanel">의견제출 정보</div>
<div class="tab-pane fade" id="sndngInfo" role="tabpanel">발송반송 정보</div>
<div class="tab-pane fade" id="prcsInfo" role="tabpanel">처리상세 정보</div>
<div class="tab-pane fade" id="levyInfo" role="tabpanel">부과체납 정보</div>
<div class="tab-pane fade" id="rcvmtInfo" role="tabpanel">수납 정보</div>
<div class="tab-pane fade" id="cvlcptDscsnInfo" role="tabpanel">민원상담 정보</div>
</div>
</div>
</div> <!-- <div class="wrapper-list"> -->
</div> <!-- <div class="card"> -->
</div>
</div> <!-- <div class="card wrapper-list"> -->
<script>
/**************************************************************************
* Global Variable
**************************************************************************/
// infoDialog 호출 용도(view 조회(편집불가), create 등록, update 수정)
var ${pageName}CallPurpose = "${callPurpose}";
pageObject["${pageName}"] = {};
/**************************************************************************
@ -114,37 +110,40 @@
**************************************************************************/
$(document).ready(function() {
// pageObject
var $P = pageObject["${pageName}"];
let $P = pageObject["${pageName}"];
// infoDialog 호출 용도(view 조회(편집불가), create 등록, update 수정)
$P.callPurpose = "${callPurpose}";
// FormFields
$P.formFields = new FimsFormFields("#frmEdit--${pageName}");
// 자료 이동을 위한 자료의 Index. 0부터 시작.
$P.curDataIndex;
// 현재 탭의 위치
$P.activeTabIndex = 0;
// FormFields
$P.formFields = new FimsFormFields("#frmEdit--${pageName}");
/**************************************************************************
* DatasetControl
**************************************************************************/
$P.mainControl = new DatasetControl({
prefix : "totalInfoMain"
, prefixName : "개별총정보"
, keymapper : info => info ? info.CRDN_ID : ""
, dataGetter : obj => obj.totalInfo
, formats : {
CRDN_YMD_TM : datetimeFormat
, CRDN_STTS_CHG_DT : datetimeFormat
prefix: "totalInfoMain"
, prefixName: "개별총정보"
, keymapper: info => info ? info.CRDN_ID : ""
, dataGetter: obj => obj.totalInfo
, formats: {
CRDN_YMD_TM: datetimeFormat
, CRDN_STTS_CHG_DT: datetimeFormat
}
});
/**************************************************************************
* DatasetControl 이벤트
**************************************************************************/
$P.mainControl.onCurrentChange = item => {
// 현재 선택 자료 변경 이벤트
$P.mainControl.onCurrentChange = (item) => {
if (!item) return;
// Dataset 셋팅
$P.formFields.set($P.mainControl,item);
$P.formFields.set($P.mainControl, item);
// 건수 표기
let controlName = "${callControlName}";
@ -156,6 +155,66 @@
$P.useDataEdit(item);
}
/**************************************************************************
* 사용자 함수(function)
**************************************************************************/
// 자료 재조회
$P.fnRefreshList = (params) => {
if (!params) return;
ajax.get({
url: wctx.url(params.taskSeCd + "/sprt/sprt02/010/main.do")
, headers: { Accept: "application/json; charset=utf-8" } // json
, data: params || {}
, success: resp => {
if (resp.totalInfo) {
// 최상단 단속 Data 셋팅
$P.mainControl.setData([resp.totalInfo]);
if ($P.activeTabIndex == 0) {
$P.fnCrdnPayerInfo(); // 단속 납부자 Data 셋팅
} else if ($P.activeTabIndex == 1) {
$P.fnOpnnSbmsnInfo(); // 의견제출 정보
} else if ($P.activeTabIndex == 2) {
$P.fnSndngInfo(); // 발송 반송 정보
} else if ($P.activeTabIndex == 3) {
$P.fnPrcsInfo(); // 처리 상세 정보
} else if ($P.activeTabIndex == 4) {
$P.fnLevyInfo(); // 부과체납 정보
} else if ($P.activeTabIndex == 5) {
$P.fnRcvmtInfo(); // 수납 정보
} else if ($P.activeTabIndex == 6) {
$P.fnCvlcptDscsnInfo(); // 민원상담 정보
}
}
}
});
}
// 자료 삭제 가능 여부
$P.useDataEdit = (item) => {
// 삭제 자료일 경우 빨간색으로 변경
let elem = document.getElementById("crdnSttsNm--${pageName}");
if (item.data.CRDN_STTS_CD == "99") {
elem.classList.remove("text-primary");
elem.classList.add("text-danger");
} else {
elem.classList.remove("text-danger");
elem.classList.add("text-primary");
}
}
//
$P.fnClose = (isDataReLoad) => {
dialog.close($P.mainControl.prefix + "Dialog");
let controlName = "${callControlName}";
if (isDataReLoad && controlName != "noControlName") {
${callControlName}._load();
}
}
/**************************************************************************
* 네이게이션 Event
**************************************************************************/
@ -175,7 +234,6 @@
}
let viewNumber = $P.curDataIndex + 1;
$("#countStauts--${pageName}").val(viewNumber + " of " + ${callControlName}.dataset._items.length);
}
@ -191,7 +249,7 @@
for (iLoop = $P.curDataIndex; iLoop >= 0; iLoop--) {
if (mainDataItems[iLoop].data.CRDN_ID == curCrdnId) {
if (iLoop - 1 < 0) { return; } // 종료
if (iLoop - 1 < 0) return; // 종료
$P.curDataIndex = iLoop - 1;
break;
@ -199,22 +257,19 @@
}
let crdnId = mainDataItems[$P.curDataIndex].data.CRDN_ID;
// 단속 ID 가 없다면.. return
if (crdnId == null || crdnId == "") {
return;
}
if (crdnId == null || crdnId == "") return;
let params = {
callPurpose : "view"
, callControlName : "${callControlName}"
, crdnId : crdnId
, sggCd : mainDataItems[$P.curDataIndex].data.SGG_CD
, taskSeCd : mainDataItems[$P.curDataIndex].data.TASK_SE_CD
, delYn : "N"
callPurpose: "view"
, callControlName: "${callControlName}"
, sggCd: mainDataItems[$P.curDataIndex].data.SGG_CD
, taskSeCd: mainDataItems[$P.curDataIndex].data.TASK_SE_CD
, crdnId: crdnId
, delYn: "N"
};
$P.refreshList(params);
$P.fnRefreshList(params);
}
// 다음 자료 조회
@ -229,175 +284,27 @@
for (iLoop = $P.curDataIndex; iLoop < mainDataItems.length; iLoop++) {
if (mainDataItems[iLoop].data.CRDN_ID == curCrdnId) {
if (iLoop + 1 >= mainDataItems.length) return; // 종료
if (iLoop + 1 >= mainDataItems.length) return; // 종료
$P.curDataIndex = iLoop + 1;
break;
}
}
let crdnId = mainDataItems[$P.curDataIndex].data.CRDN_ID;
// 단속 ID 가 없다면.. return
if (crdnId == null || crdnId == "") {
return;
}
if (crdnId == null || crdnId == "") return;
let params = {
callPurpose : "view"
, callControlName : "${callControlName}"
, crdnId : crdnId
, sggCd : mainDataItems[$P.curDataIndex].data.SGG_CD
, taskSeCd : mainDataItems[$P.curDataIndex].data.TASK_SE_CD
, delYn : "N"
callPurpose: "view"
, callControlName: "${callControlName}"
, sggCd: mainDataItems[$P.curDataIndex].data.SGG_CD
, taskSeCd: mainDataItems[$P.curDataIndex].data.TASK_SE_CD
, crdnId: crdnId
, delYn: "N"
};
$P.refreshList(params);
}
/**************************************************************************
* 사용자 함수(function)
**************************************************************************/
// 자료 삭제 가능 여부
$P.useDataEdit = (item) => {
// 삭제 자료일 경우 빨간색으로 변경
let elem = document.getElementById("crdnSttsNm--${pageName}");
if (item.data.CRDN_STTS_CD == "99") {
elem.classList.remove("text-primary");
elem.classList.add("text-danger");
} else {
elem.classList.remove("text-danger");
elem.classList.add("text-primary");
}
}
//
$P.fnClose = (isDataReLoad) => {
dialog.close($P.mainControl.prefix + "Dialog");
let controlName = "${callControlName}";
if (isDataReLoad && controlName != "noControlName") {
${callControlName}._load();
}
}
// 자료 재조회
$P.refreshList = (params) => {
if (!params) return;
ajax.get({
url : wctx.url(params.taskSeCd + "/sprt/sprt02/010/main.do")
, headers: { Accept: "application/json; charset=utf-8" } // json
, data : params || {}
, success : resp => {
if (resp.totalInfo) {
// 최상단 단속 Data 셋팅
$P.mainControl.setData([resp.totalInfo]);
if ($P.activeTabIndex == 0) {
$P.fnCrdnPayerInfo(); // 단속 납부자 Data 셋팅
} else if ($P.activeTabIndex == 1) {
$P.fnOpnnSbmsnInfo(); // 의견제출 정보
} else if ($P.activeTabIndex == 2) {
$P.fnSndngInfo(); // 발송 반송 정보
} else if ($P.activeTabIndex == 3) {
$P.fnPrcsInfo(); // 처리 상세 정보
} else if ($P.activeTabIndex == 4) {
$P.fnLevyInfo(); // 부과체납 정보
} else if ($P.activeTabIndex == 5) {
$P.fnRcvmtInfo(); // 수납 정보
} else if ($P.activeTabIndex == 6) {
$P.fnCvlcptDscsnInfo(); // 민원상담 정보
}
}
}
});
}
$P.getCrdnPayerInfo = (params) => {
if (!params) return;
ajax.get({
url : wctx.url("/" + params.taskSeCd + "/sprt/sprt02/020/info.do")
, data : params || {}
, success : resp => {
$("#crdnPayerInfo").html(resp);
}
});
}
$P.getOpnnSbmsnInfo = (params) => {
if (!params) return;
ajax.get({
url : wctx.url("/" + params.taskSeCd + "/sprt/sprt02/030/info.do")
, data : params || {}
, success : resp => {
$("#opnnSbmsnInfo").html(resp);
}
});
}
$P.getSndngInfo = (params) => {
if (!params) return;
ajax.get({
url : wctx.url("/" + params.taskSeCd + "/sprt/sprt02/040/info.do")
, data : params || {}
, success : resp => {
$("#sndngInfo").html(resp);
}
});
}
$P.getPrcsInfo = (params) => {
if (!params) return;
ajax.get({
url : wctx.url("/" + params.taskSeCd + "/sprt/sprt02/050/info.do")
, data : params || {}
, success : resp => {
$("#prcsInfo").html(resp);
}
});
}
$P.getLevyInfo = (params) => {
if (!params) return;
ajax.get({
url : wctx.url("/" + params.taskSeCd + "/sprt/sprt02/060/info.do")
, data : params || {}
, success : resp => {
$("#levyInfo").html(resp);
}
});
}
$P.getRcvmtInfo = (params) => {
if (!params) return;
ajax.get({
url : wctx.url("/" + params.taskSeCd + "/sprt/sprt02/070/info.do")
, data : params || {}
, success : resp => {
$("#rcvmtInfo").html(resp);
}
});
}
$P.getCvlcptDscsnInfo = (params) => {
if (!params) return;
ajax.get({
url : wctx.url("/" + params.taskSeCd + "/sprt/sprt02/080/info.do")
, data : params || {}
, success : resp => {
$("#cvlcptDscsnInfo").html(resp);
}
});
$P.fnRefreshList(params);
}
/**************************************************************************
@ -406,7 +313,6 @@
// 단속 정보
$P.fnCrdnPayerInfo = () => {
let crdnId = $P.mainControl.dataset.getValue("CRDN_ID");
// 단속 ID 가 없다면.. return
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
@ -414,20 +320,25 @@
$P.activeTabIndex = 0;
let params = {
callPurpose : "view"
, crdnId : crdnId
, sggCd : $P.mainControl.dataset.getValue("SGG_CD")
, taskSeCd : $P.mainControl.dataset.getValue("TASK_SE_CD")
, delYn : "N"
callPurpose: "view"
, sggCd: $P.mainControl.dataset.getValue("SGG_CD")
, taskSeCd: $P.mainControl.dataset.getValue("TASK_SE_CD")
, crdnId: crdnId
, delYn: "N"
};
$P.getCrdnPayerInfo(params);
ajax.get({
url: wctx.url("/" + params.taskSeCd + "/sprt/sprt02/020/info.do")
, data: params || {}
, success: resp => {
$("#crdnPayerInfo").html(resp);
}
});
}
// 의견제출 정보
$P.fnOpnnSbmsnInfo = () => {
let crdnId = $P.mainControl.dataset.getValue("CRDN_ID");
// 단속 ID 가 없다면.. return
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
@ -435,14 +346,20 @@
$P.activeTabIndex = 1;
let params = {
callPurpose : "view"
, crdnId : crdnId
, sggCd : $P.mainControl.dataset.getValue("SGG_CD")
, taskSeCd : $P.mainControl.dataset.getValue("TASK_SE_CD")
, delYn : "N"
callPurpose: "view"
, sggCd: $P.mainControl.dataset.getValue("SGG_CD")
, taskSeCd: $P.mainControl.dataset.getValue("TASK_SE_CD")
, crdnId: crdnId
, delYn: "N"
};
$P.getOpnnSbmsnInfo(params);
ajax.get({
url: wctx.url("/" + params.taskSeCd + "/sprt/sprt02/030/info.do")
, data: params || {}
, success: resp => {
$("#opnnSbmsnInfo").html(resp);
}
});
}
// 발송 반송 정보
@ -456,20 +373,25 @@
$P.activeTabIndex = 2;
let params = {
callPurpose : "view"
, crdnId : crdnId
, sggCd : $P.mainControl.dataset.getValue("SGG_CD")
, taskSeCd : $P.mainControl.dataset.getValue("TASK_SE_CD")
, delYn : "N"
callPurpose: "view"
, sggCd: $P.mainControl.dataset.getValue("SGG_CD")
, taskSeCd: $P.mainControl.dataset.getValue("TASK_SE_CD")
, crdnId: crdnId
, delYn: "N"
};
$P.getSndngInfo(params);
ajax.get({
url: wctx.url("/" + params.taskSeCd + "/sprt/sprt02/040/info.do")
, data: params || {}
, success: resp => {
$("#sndngInfo").html(resp);
}
});
}
// 처리 정보
$P.fnPrcsInfo = () => {
let crdnId = $P.mainControl.dataset.getValue("CRDN_ID");
// 단속 ID 가 없다면.. return
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
@ -477,21 +399,26 @@
$P.activeTabIndex = 3;
let params = {
callPurpose : "view"
, crdnId : crdnId
, sggCd : $P.mainControl.dataset.getValue("SGG_CD")
, taskSeCd : $P.mainControl.dataset.getValue("TASK_SE_CD")
, rtpyrId : $P.mainControl.dataset.getValue("RTPYR_ID")
, delYn : "N"
callPurpose: "view"
, sggCd: $P.mainControl.dataset.getValue("SGG_CD")
, taskSeCd: $P.mainControl.dataset.getValue("TASK_SE_CD")
, crdnId: crdnId
, rtpyrId: $P.mainControl.dataset.getValue("RTPYR_ID")
, delYn: "N"
};
$P.getPrcsInfo(params);
ajax.get({
url: wctx.url("/" + params.taskSeCd + "/sprt/sprt02/050/info.do")
, data: params || {}
, success: resp => {
$("#prcsInfo").html(resp);
}
});
}
// 부과체납 정보
$P.fnLevyInfo = () => {
let crdnId = $P.mainControl.dataset.getValue("CRDN_ID");
// 단속 ID 가 없다면.. return
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
@ -499,20 +426,25 @@
$P.activeTabIndex = 4;
let params = {
callPurpose : "view"
, crdnId : crdnId
, sggCd : $P.mainControl.dataset.getValue("SGG_CD")
, taskSeCd : $P.mainControl.dataset.getValue("TASK_SE_CD")
, delYn : "N"
callPurpose: "view"
, sggCd: $P.mainControl.dataset.getValue("SGG_CD")
, taskSeCd: $P.mainControl.dataset.getValue("TASK_SE_CD")
, crdnId: crdnId
, delYn: "N"
};
$P.getLevyInfo(params);
ajax.get({
url: wctx.url("/" + params.taskSeCd + "/sprt/sprt02/060/info.do")
, data: params || {}
, success: resp => {
$("#levyInfo").html(resp);
}
});
}
// 수납 정보
$P.fnRcvmtInfo = () => {
let crdnId = $P.mainControl.dataset.getValue("CRDN_ID");
// 단속 ID 가 없다면.. return
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
@ -520,20 +452,25 @@
$P.activeTabIndex = 5;
let params = {
callPurpose : "view"
, crdnId : crdnId
, sggCd : $P.mainControl.dataset.getValue("SGG_CD")
, taskSeCd : $P.mainControl.dataset.getValue("TASK_SE_CD")
, delYn : "N"
callPurpose: "view"
, sggCd: $P.mainControl.dataset.getValue("SGG_CD")
, taskSeCd: $P.mainControl.dataset.getValue("TASK_SE_CD")
, crdnId: crdnId
, delYn: "N"
};
$P.getRcvmtInfo(params);
ajax.get({
url: wctx.url("/" + params.taskSeCd + "/sprt/sprt02/070/info.do")
, data: params || {}
, success: resp => {
$("#rcvmtInfo").html(resp);
}
});
}
// 민원상담 정보
$P.fnCvlcptDscsnInfo = () => {
let crdnId = $P.mainControl.dataset.getValue("CRDN_ID");
// 단속 ID 가 없다면.. return
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
@ -541,16 +478,22 @@
$P.activeTabIndex = 6;
let params = {
callPurpose : "view"
, inquiryCondition : "crdnId_vhrno"
, crdnId : crdnId
, sggCd : $P.mainControl.dataset.getValue("SGG_CD")
, taskSeCd : $P.mainControl.dataset.getValue("TASK_SE_CD")
, vhrno : $P.mainControl.dataset.getValue("VHRNO")
, delYn : "N"
callPurpose: "view"
, inquiryCondition: "crdnId_vhrno"
, sggCd: $P.mainControl.dataset.getValue("SGG_CD")
, taskSeCd: $P.mainControl.dataset.getValue("TASK_SE_CD")
, crdnId: crdnId
, vhrno: $P.mainControl.dataset.getValue("VHRNO")
, delYn: "N"
};
$P.getCvlcptDscsnInfo(params);
ajax.get({
url: wctx.url("/" + params.taskSeCd + "/sprt/sprt02/080/info.do")
, data: params || {}
, success: resp => {
$("#cvlcptDscsnInfo").html(resp);
}
});
}
/**************************************************************************
@ -558,22 +501,22 @@
**************************************************************************/
// 이벤트 설정
$P.setEvent = () => {
// 버튼 이벤트
$("#btnPrev--${pageName}").on("click", () => $P.fnPrev()); // 이전
$("#btnNext--${pageName}").on("click", () => $P.fnNext()); // 다음
$("#btnCrdnPayer--${pageName}").on("click", () => $P.fnCrdnPayerInfo()); // 단속 정보
$("#btnOpnnSbmsn--${pageName}").on("click", () => $P.fnOpnnSbmsnInfo()); // 의견제출 정보
$("#btnSndng--${pageName}").on("click", () => $P.fnSndngInfo()); // 발송반송 정보
$("#btnPrcs--${pageName}").on("click", () => $P.fnPrcsInfo()); // 처리상세 정보
$("#btnLevy--${pageName}").on("click", () => $P.fnLevyInfo()); // 부과체납 정보
$("#btnRcvmt--${pageName}").on("click", () => $P.fnRcvmtInfo()); // 수납 정보
$("#btnCvlcptDscsn--${pageName}").on("click", () => $P.fnCvlcptDscsnInfo()); // 민원상담 정보
// 기본 버튼 이벤트
$("#btnPrev--${pageName}").on("click", () => $P.fnPrev()); // 이전
$("#btnNext--${pageName}").on("click", () => $P.fnNext()); // 다음
$("#btnCrdnPayer--${pageName}").on("click", () => $P.fnCrdnPayerInfo()); // 단속 정보
$("#btnOpnnSbmsn--${pageName}").on("click", () => $P.fnOpnnSbmsnInfo()); // 의견제출 정보
$("#btnSndng--${pageName}").on("click", () => $P.fnSndngInfo()); // 발송반송 정보
$("#btnPrcs--${pageName}").on("click", () => $P.fnPrcsInfo()); // 처리상세 정보
$("#btnLevy--${pageName}").on("click", () => $P.fnLevyInfo()); // 부과체납 정보
$("#btnRcvmt--${pageName}").on("click", () => $P.fnRcvmtInfo()); // 수납 정보
$("#btnCvlcptDscsn--${pageName}").on("click", () => $P.fnCvlcptDscsnInfo()); // 민원상담 정보
}
// 기본 데이터 설정
$P.initData = () => {
$P.curDataIndex = null; // 화면이 열릴때 초기 값으로 null로 설정해야 건수가 정상 표시 된다.
$P.curDataIndex = null; // 화면이 열릴때 초기 값으로 null로 설정해야 건수가 정상 표시 된다.
}
/**************************************************************************

@ -2,7 +2,7 @@
<%@ include file="/WEB-INF/jsp/include/taglib.jsp"%>
<!-- Page Body -->
<div class="content-wrapper">
<div class="content-pop">
<div class="d-flex flex-row justify-content-evenly">
<div class="w-px-1150">
<!-- 입력 영역 -->
@ -291,7 +291,7 @@
<!-- 단속 이미지 -->
<jsp:include page="/WEB-INF/jsp/fims/photo-main.jsp" />
</div> <!-- <div class="d-flex flex-row justify-content-evenly"> -->
</div> <!-- <div class="content-wrapper"> -->
</div> <!-- <div class="content-popr"> -->
<script>
/**************************************************************************
@ -322,7 +322,7 @@
prefix: "crdnPayer"
, prefixName: "단속"
, keymapper: info => info ? info.CRDN_ID : ""
, dataGetter: obj => obj.crdnPayerInfo
, dataGetter: obj => obj.${infoPrefix}Info
, formats: {
CRDN_YMD_TM: datetimeFormat
, CVLCPT_RCPT_YMD: datetimeFormat
@ -378,10 +378,11 @@
dialog.alert({
content: showMessage
, init: () => { setDialogZindex(); }
, onOK: () => { }
});
if (resp.saved) { fnClose${pageNameMain}(true); }
if (resp.saved) { fnClose${pageNameMain}(true); } // Dialog 닫기
}
// 삭제
@ -407,9 +408,9 @@
let params = {
callPurpose: "refresh"
, crdnId: crdnId
, sggCd: $("#sggCd--${pageNameMain}").val()
, taskSeCd: $("#taskSeCd--${pageNameMain}").val()
, crdnId: crdnId
, delYn: "N"
};
@ -426,8 +427,8 @@
pageObject["${pageNameMain}"].mainControl.setData([resp.totalInfo]);
// 단속, 납부자 정보
if (resp.crdnPayer) {
$P.control.setData([resp.crdnPayer]);
if (resp.crdnPayerInfo) {
$P.control.setData([resp.crdnPayerInfo]);
}
}
});
@ -438,14 +439,14 @@
if (!params) return;
ajax.get({
url : wctx.url("/" + params.taskSeCd + "/cvlc/cvlc01/050/info.do")
, data : params || {}
, success : resp => {
url: wctx.url("/" + params.taskSeCd + "/cvlc/cvlc01/050/info.do")
, data: params || {}
, success: resp => {
dialog.open({
id : "cvlcptOrgnlDialog--${pageName}"
, title : params.title
, content : resp
, size : "xl"
id: "cvlcptOrgnlDialog--${pageName}"
, title: params.title
, content: resp
, size: "xl"
});
}
});
@ -456,14 +457,14 @@
if (!params) return;
ajax.get({
url : wctx.url("/" + params.taskSeCd + "/cvlc/cvlc02/060/info.do?openerPageName=${pageName}")
, data : params || {}
, success : resp => {
url: wctx.url("/" + params.taskSeCd + "/cvlc/cvlc02/060/info.do?openerPageName=${pageName}")
, data: params || {}
, success: resp => {
dialog.open({
id : "answerPreviewDialog--${pageName}"
, title : params.title
, content : resp
, size : "xl"
id: "answerPreviewDialog--${pageName}"
, title: params.title
, content: resp
, size: "xl"
});
}
});
@ -473,10 +474,9 @@
$P.callbackRsn = (obj) => {
// 서버에 전송할 data(파라미터) 생성
let params = {
callPurpose: "remove"
, crdnId: $P.control.dataset.getValue("CRDN_ID") // 단속 ID
, sggCd: $P.control.dataset.getValue("SGG_CD") // 시군구 코드
sggCd: $P.control.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd: $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, crdnId: $P.control.dataset.getValue("CRDN_ID") // 단속 ID
, delRsn: obj.reason // 삭제 사유
};
@ -488,16 +488,16 @@
if (!params) return;
ajax.post({
url : wctx.url("/" + params.taskSeCd + "/excl/excl03/010/create.do")
, data : params || {}
, success : resp => {
url: wctx.url("/" + params.taskSeCd + "/excl/excl03/010/create.do")
, data: params || {}
, success: resp => {
if (resp.saved) {
dialog.alert({
content : "단속 재등록 작업이 정상 처리되었습니다."
, onOK : () => { }
content: "단속 재등록 작업이 처리되었습니다."
, init: () => { setDialogZindex(); }
, onOK: () => { }
});
}
return;
}
});
}
@ -515,7 +515,7 @@
, title: params.title
, content: resp
, size: "lg"
, onClose: () => { $P.fnRefreshDataInfo(); }
, onClose: () => { $P.fnRefreshDataInfo(); } // 자료 재 조회
});
}
});
@ -526,19 +526,18 @@
if (!params) return;
ajax.post({
url : wctx.url("/" + params.taskSeCd + "/crdn/crdn06/010/removeCrdnPayer.do")
, data : params || {}
, success : resp => {
url: wctx.url("/" + params.taskSeCd + "/crdn/crdn06/010/removeCrdnPayer.do")
, data: params || {}
, success: resp => {
let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, params.title);
dialog.alert({
content : showMessage
, onOK : () => { }
content: showMessage
, init: () => { setDialogZindex(); }
, onOK: () => { }
});
if (resp.saved) {
$P.fnRefreshDataInfo();
}
if (resp.saved) { $P.fnRefreshDataInfo(); } // 자료 재 조회
}
});
}
@ -556,15 +555,15 @@
}
ajax.get({
url : wctx.url("/" + params.taskSeCd + "/payer/info.do")
, data : params || {}
, success : resp => {
url: wctx.url("/" + params.taskSeCd + "/payer/info.do")
, data: params || {}
, success: resp => {
dialog.open({
id: "payerDialog"
, title: dialogTitle
, content: resp
, size: "lg"
, onClose: () => { $P.fnRefreshDataInfo(); }
, onClose: () => { $P.fnRefreshDataInfo(); } // 자료 재 조회
});
}
});
@ -585,19 +584,20 @@
// 민원 연계 ID가 없다면.. return
if (typeof cvlcptLinkId == "undefined" || cvlcptLinkId == null || cvlcptLinkId == "") {
dialog.alert({
content : "조회된 단속 민원 대장 정보가 없습니다."
content: "조회된 단속 민원 대장 정보가 없습니다."
+ "<br><br>" + "[" + title + "]" + " 실행이 취소되었습니다."
, onOK : () => { }
, init: () => { setDialogZindex(); }
, onOK: () => { }
});
return;
}
let params = {
callPurpose : "view"
, title : title
, crdnId : crdnId // 단속 ID
, sggCd : $P.control.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
callPurpose: "view"
, title: title
, sggCd: $P.control.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd: $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, crdnId: crdnId // 단속 ID
};
$P.viewCvlcptOrgnl(params);
@ -615,19 +615,20 @@
// 민원 연계 ID가 없다면.. return
if (typeof cvlcptLinkId == "undefined" || cvlcptLinkId == null || cvlcptLinkId == "") {
dialog.alert({
content : "조회된 단속 민원 대장 정보가 없습니다."
content: "조회된 단속 민원 대장 정보가 없습니다."
+ "<br><br>" + "[" + title + "]" + " 실행이 취소되었습니다."
, onOK : () => { }
, init: () => { setDialogZindex(); }
, onOK: () => { }
});
return;
}
let params = {
callPurpose : "view"
, title : title
, crdnId : crdnId // 단속 ID
, sggCd : $P.control.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, title: title
, sggCd: $P.control.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd: $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, crdnId: crdnId // 단속 ID
};
$P.viewAnswerPreview(params);
@ -643,9 +644,9 @@
let params = {
callPurpose: "update"
, title: title
, crdnId: crdnId // 단속 ID
, sggCd: $P.control.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd: $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, crdnId: crdnId // 단속 ID
};
$P.control.getInfo(params);
@ -664,10 +665,11 @@
// 단속 상태 코드 확인
if (Number(crdnSttsCd) > 51) {
dialog.alert({
content : "[" + title + "]" + " 작업은 단속상태가 '부과 이전' 자료만 처리 가능합니다."
content: "[" + title + "]" + " 작업은 단속상태가 '부과 이전' 자료만 처리 가능합니다."
+ "<br>" + "단속상태 : " + crdnSttsNm
+ "<br><br>" + "[" + title + "]" + " 실행이 취소되었습니다."
, onOK : () => { }
, init: () => { setDialogZindex(); }
, onOK: () => { }
});
return;
}
@ -708,23 +710,25 @@
// 단속 상태 코드 확인
if (Number(crdnSttsCd) < 80 || Number(crdnSttsCd) > 88) {
dialog.alert({
content : "[" + title + "]" + " 작업은 단속상태가 '비부과', '계고', '부과취소' 자료만 처리 가능합니다."
content: "[" + title + "]" + " 작업은 단속상태가 '비부과', '계고', '부과취소' 자료만 처리 가능합니다."
+ "<br>" + "단속상태 : " + crdnSttsNm
+ "<br><br>" + "[" + title + "]" + " 실행이 취소되었습니다."
, onOK : () => { }
, init: () => { setDialogZindex(); }
, onOK: () => { }
});
return;
}
dialog.alert({
content : "현재 단속 정보를 재등록 하겠습니까?"
, onOK : () => {
content: "현재 단속 정보를 재등록 하겠습니까?"
, init: () => { setDialogZindex(); }
, onOK: () => {
let params = {
callPurpose : "create"
, title : title
, bfrCrdnId : bfrCrdnId // 단속 ID
, sggCd : $P.control.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
callPurpose: "create"
, title: title
, sggCd: $P.control.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd: $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, bfrCrdnId: bfrCrdnId // 단속 ID
};
$P.createCrdnReReg(params);
@ -744,8 +748,8 @@
}
let params = {
crdnIds: $P.control.dataset.getValue("CRDN_ID") // 단속 ID
, taskSeCd: $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분
taskSeCd: $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분
, crdnIds: $P.control.dataset.getValue("CRDN_ID") // 단속 ID
};
let inBrowser = false;
@ -799,9 +803,9 @@
let params = {
callPurpose: "update"
, title: title
, crdnId: crdnId // 단속 ID
, sggCd: $P.control.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd: $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, crdnId: crdnId // 단속 ID
};
$P.getInfoCrdnSttsCd(params);
@ -819,24 +823,25 @@
// 납부자 ID 가 없다면.. return
if (rtpyrId == null || rtpyrId == "") {
dialog.alert({
content : "조회된 납부자 대장 정보가 없습니다."
content: "조회된 납부자 대장 정보가 없습니다."
+ "<br><br>" + "[" + title + "]" + " 실행이 취소되었습니다."
, onOK : () => { }
, init: () => { setDialogZindex(); }
, onOK: () => { }
});
return;
}
dialog.alert({
content : "선택한 자료의 납부자 정보를 초기화 하시겠습니까?"
, onOK : () => {
content: "선택한 자료의 납부자 정보를 초기화 하시겠습니까?"
, init: () => { setDialogZindex(); }
, onOK: () => {
let params = {
callPurpose : "remove"
, title : title
, crdnId : crdnId // 단속 ID
, rtpyrId : rtpyrId // 납부자 ID
, sggCd : $P.control.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, delYn : "N"
title: title
, sggCd: $P.control.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd: $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, crdnId: crdnId // 단속 ID
, rtpyrId: rtpyrId // 납부자 ID
, delYn: "N"
};
$P.deleteCrdnPayer(params);
@ -852,14 +857,14 @@
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
let params = {
callPurpose : "update"
, title : title
, crdnId : crdnId // 단속 ID
, rtpyrId : $P.control.dataset.getValue("RTPYR_ID") // 납부자 ID
, sggCd : $P.control.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, vhrno : $P.control.dataset.getValue("VHRNO") // 차량번호
, rtpyrInptSeCd : "01" // 납부자 입력 구분 코드
callPurpose: "update"
, title: title
, sggCd: $P.control.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd: $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, crdnId: crdnId // 단속 ID
, rtpyrId: $P.control.dataset.getValue("RTPYR_ID") // 납부자 ID
, vhrno: $P.control.dataset.getValue("VHRNO") // 차량번호
, rtpyrInptSeCd: "01" // 납부자 입력 구분 코드
};
$P.updatePayer(params);
@ -876,45 +881,36 @@
**************************************************************************/
// 이벤트 설정
$P.setEvent = () => {
// 민원 원본 보기 버튼 이벤트
// 업무 버튼 이벤트
$("#btnViewCvlcptOrgnl--${pageName}").on("click", function() {
$P.fnViewCvlcptOrgnl($(this).attr("title"));
$P.fnViewCvlcptOrgnl($(this).attr("title")); // 민원 원본 보기
});
// 민원 답변 보기 버튼 이벤트
$("#btnViewAnswerPreview--${pageName}").on("click", function() {
$P.fnViewAnswerPreview($(this).attr("title"));
$P.fnViewAnswerPreview($(this).attr("title")); // 민원 답변 보기
});
// 단속 정보 수정 버튼 이벤트
$("#btnUpdateCrdn--${pageName}").on("click", function() {
$P.fnUpdateCrdn($(this).attr("title"));
$P.fnUpdateCrdn($(this).attr("title")); // 단속 정보 수정
});
// 단속 정보 삭제 버튼 이벤트
$("#btnRemoveCrdn--${pageName}").on("click", function() {
$P.fnRemoveCrdn($(this).attr("title"));
$P.fnRemoveCrdn($(this).attr("title")); // 단속 정보 삭제
});
// 단속 재등록
$("#btnCreateCrdnReReg--${pageName}").on("click", function() {
$P.fnCreateCrdnReReg($(this).attr("title"));
$P.fnCreateCrdnReReg($(this).attr("title")); // 단속 재등록
});
// 고지서 출력
$("#btnPrintNhtPdf01--${pageName}").on("click", function() {
$P.fnMakeFileNht($(this).attr("title"), "pdf", "01");
$P.fnMakeFileNht($(this).attr("title"), "pdf", "01"); // 고지서 출력
});
// 고지서 출력
$("#btnPrintNhtPdf02--${pageName}").on("click", function() {
$P.fnMakeFileNht($(this).attr("title"), "pdf", "02");
$P.fnMakeFileNht($(this).attr("title"), "pdf", "02"); // 고지서 출력
});
// 단속 상태 변경
$("#btnUpdateCrdnSttsCd--${pageName}").on("click", function() {
$P.fnUpdateCrdnSttsCd($(this).attr("title"));
$P.fnUpdateCrdnSttsCd($(this).attr("title")); // 단속 상태 변경
});
// 납부자 초기화 버튼 이벤트
$("#btnDeleteCrdnPayer--${pageName}").on("click", function() {
$P.fnDeleteCrdnPayer($(this).attr("title"));
$P.fnDeleteCrdnPayer($(this).attr("title")); // 납부자 초기화
});
// 납부자 수정 버튼 이벤트
$("#btnUpdatePayer--${pageName}").on("click", function() {
$P.fnUpdatePayer($(this).attr("title"));
$P.fnUpdatePayer($(this).attr("title")); // 납부자 수정
});
}
@ -934,7 +930,7 @@
$("#btnDeleteExistPhoto--${pageName}").prop("disabled", true);
// 화면 호출(callPurpose)이 view가 아니라면 버튼 비활성화 disabled = false
if (${pageNameMain}CallPurpose != "view") {
if (pageObject['${pageNameMain}'].callPurpose != "view") {
$("#btnUpdateCrdn--${pageName}").prop("disabled", false);
$("#btnRemoveCrdn--${pageName}").prop("disabled", false);
$("#btnCreateCrdnReReg--${pageName}").prop("disabled", false);
@ -949,42 +945,42 @@
}
// jquery를 이용한 show/hide (style이 유지)
$("#divBlank1--${pageName}").hide(); // 빈 칸1
$("#divBlank2--${pageName}").hide(); // 빈 칸2
$("#divCrdnSn--${pageName}").hide(); // 단속 일련번호
$("#divDtlCrdnPlc--${pageName}").hide(); // 상세 단속 장소
$("#lbDstrbncYn--${pageName}").hide(); // 1면 방해
$("#divCrdnSpareaNm--${pageName}").hide(); // 단속 특별구역 코드
$("#divTowngYnNm--${pageName}").hide(); // 견인 여부
$("#divFfnlgCarmdlNm--${pageName}").hide(); // 과태료 차종
$("#divOvtimeYnNm--${pageName}").hide(); // 시간외 여부
$("#divParkngPsbltyRsltNm--${pageName}").hide(); // 주차 가능 결과 코드
$("#divUseFuelNm--${pageName}").hide(); // 사용 연료 구분
$("#divCrdnBgngTm--${pageName}").hide(); // 단속 시작 시각 ~ 단속 종료 시각
$("#divBlank1--${pageName}").hide(); // 빈 칸1
$("#divBlank2--${pageName}").hide(); // 빈 칸2
$("#divCrdnSn--${pageName}").hide(); // 단속 일련번호
$("#divDtlCrdnPlc--${pageName}").hide(); // 상세 단속 장소
$("#lbDstrbncYn--${pageName}").hide(); // 1면 방해
$("#divCrdnSpareaNm--${pageName}").hide(); // 단속 특별구역 코드
$("#divTowngYnNm--${pageName}").hide(); // 견인 여부
$("#divFfnlgCarmdlNm--${pageName}").hide(); // 과태료 차종
$("#divOvtimeYnNm--${pageName}").hide(); // 시간외 여부
$("#divParkngPsbltyRsltNm--${pageName}").hide(); // 주차 가능 결과 코드
$("#divUseFuelNm--${pageName}").hide(); // 사용 연료 구분
$("#divCrdnBgngTm--${pageName}").hide(); // 단속 시작 시각 ~ 단속 종료 시각
// 업무에 따른 요소들 visible
if (pageObject["${pageNameMain}"].mainControl.dataset.getValue("TASK_SE_CD") == "BPV") { // 전용차로위반
$("#divBlank1--${pageName}").show(); // 빈 칸1
$("#divDtlCrdnPlc--${pageName}").show(); // 상세 단속 장소
$("#divBlank1--${pageName}").show(); // 빈 칸1
$("#divDtlCrdnPlc--${pageName}").show(); // 상세 단속 장소
} else if (pageObject["${pageNameMain}"].mainControl.dataset.getValue("TASK_SE_CD") == "DPV") { // 장애인전용
$("#divBlank1--${pageName}").show(); // 빈 칸1
$("#divBlank2--${pageName}").show(); // 빈 칸2
$("#lbDstrbncYn--${pageName}").show(); // 1면 방해
$("#divParkngPsbltyRsltNm--${pageName}").show(); // 주차 가능 결과 코드
$("#divBlank1--${pageName}").show(); // 빈 칸1
$("#divBlank2--${pageName}").show(); // 빈 칸2
$("#lbDstrbncYn--${pageName}").show(); // 1면 방해
$("#divParkngPsbltyRsltNm--${pageName}").show(); // 주차 가능 결과 코드
} else if (pageObject["${pageNameMain}"].mainControl.dataset.getValue("TASK_SE_CD") == "ECA") { // 전기차주차
$("#divBlank1--${pageName}").show(); // 빈 칸1
$("#divBlank2--${pageName}").show(); // 빈 칸2
$("#divUseFuelNm--${pageName}").show(); // 사용 연료 구분
$("#divBlank1--${pageName}").show(); // 빈 칸1
$("#divBlank2--${pageName}").show(); // 빈 칸2
$("#divUseFuelNm--${pageName}").show(); // 사용 연료 구분
} else if (pageObject["${pageNameMain}"].mainControl.dataset.getValue("TASK_SE_CD") == "PVS") { // 주정차위반
$("#divCrdnBgngTm--${pageName}").show(); // 단속 시작 시각 ~ 단속 종료 시각
$("#divCrdnSn--${pageName}").show(); // 단속 일련번호
$("#divCrdnSpareaNm--${pageName}").show(); // 단속 특별구역 코드
$("#divTowngYnNm--${pageName}").show(); // 견인 여부
$("#divFfnlgCarmdlNm--${pageName}").show(); // 과태료 차종
$("#divOvtimeYnNm--${pageName}").show(); // 시간외 여부
$("#divCrdnBgngTm--${pageName}").show(); // 단속 시작 시각 ~ 단속 종료 시각
$("#divCrdnSn--${pageName}").show(); // 단속 일련번호
$("#divCrdnSpareaNm--${pageName}").show(); // 단속 특별구역 코드
$("#divTowngYnNm--${pageName}").show(); // 견인 여부
$("#divFfnlgCarmdlNm--${pageName}").show(); // 과태료 차종
$("#divOvtimeYnNm--${pageName}").show(); // 시간외 여부
} else if (pageObject["${pageNameMain}"].mainControl.dataset.getValue("TASK_SE_CD") == "PES") { // 밤샘주차위반
$("#divBlank2--${pageName}").show(); // 빈칸
$("#divCrdnBgngTm--${pageName}").show(); // 단속 시작 시각 ~ 단속 종료 시각
$("#divBlank2--${pageName}").show(); // 빈칸
$("#divCrdnBgngTm--${pageName}").show(); // 단속 시작 시각 ~ 단속 종료 시각
}
}
@ -998,15 +994,15 @@
$P.initForm();
// 3. Dataset 설정
$P.control.setData([${crdnPayer}]); // 단속, 납부자 정보
$P.control.setData([${crdnPayerInfo}]); // 단속, 납부자 정보
// 4. 사진영역 설정
settingPhotoMain("${pageName}", "crdnId--${pageName}"
, function() {
return {
vhrno : $("#vhrno--${pageName}").val()
, vhclNm : $("#vhclNm--${pageName}").val()
, vhclColor : $("#vhclColor--${pageName}").val()
vhrno: $("#vhrno--${pageName}").val()
, vhclNm: $("#vhclNm--${pageName}").val()
, vhclColor: $("#vhclColor--${pageName}").val()
};
}, async function(vhrnoEl) {
// 차적조회는 "단속정보 수정" 에서 해라...

@ -2,7 +2,7 @@
<%@ include file="/WEB-INF/jsp/include/taglib.jsp"%>
<!-- Page Body -->
<div class="content-wrapper">
<div class="content-pop">
<!-- 입력 영역 -->
<form id="frmEdit--${pageName}" name="frmEdit">
<input type="text" id="opnnId--${pageName}" name="opnnId" data-map="OPNN_ID" hidden />
@ -170,9 +170,8 @@
</div> <!-- 심의 정보 <div class="card"> -->
</div> <!-- <div class="col-xl-3 mx-0"> -->
</div> <!-- <div class="d-flex flex-row justify-content-evenly"> -->
<span id="tempArea--${pageName}" hidden></span>
</form>
<!-- 입력 영역 -->
</div>
<script>
@ -200,7 +199,7 @@
prefix: "opnn"
, prefixName: "의견제출"
, keymapper: info => info ? info.OPNN_ID : ""
, dataGetter: obj => obj.opnnSbmsn
, dataGetter: obj => obj.${infoPrefix}Info
, formats: {
RCPT_YMD: dateFormat
, ANS_YMD_TM: datetimeFormat
@ -243,7 +242,7 @@
, title: params.title
, content: resp
, size: "lg"
, onClose: () => { $P.refreshDataInfo(); }
, onClose: () => { $P.fnRefreshDataInfo(); } // 자료 재 조회
});
}
}
@ -257,12 +256,11 @@
dialog.alert({
content: showMessage
, init: () => { setDialogZindex(); }
, onOK: () => { }
});
if (resp.saved) {
$P.refreshDataInfo(); // 자료 재조회
}
if (resp.saved) { $P.fnRefreshDataInfo(); } // 자료 재 조회
}
// 삭제
@ -280,7 +278,7 @@
* 사용자 함수(function)
**************************************************************************/
// 자료 재조회
$P.refreshDataInfo = () => {
$P.fnRefreshDataInfo = () => {
// 단속 ID
let crdnId = $("#crdnId--${pageNameMain}").val();
// 단속 ID 가 없다면.. return
@ -288,9 +286,9 @@
let params = {
callPurpose: "refresh"
, crdnId: crdnId
, sggCd: $("#sggCd--${pageNameMain}").val()
, taskSeCd: $("#taskSeCd--${pageNameMain}").val()
, crdnId: crdnId
, delYn: "N"
};
@ -303,13 +301,12 @@
$("#frmEdit--${pageName}")[0].reset(); // 화면 초기화
$P.control.dataset.clear(); // Dataset 초기화
// 최상단 단속 Data 셋팅
if (resp.totalInfo) {
pageObject["${pageNameMain}"].mainControl.setData([resp.totalInfo]);
}
// sprt02010-main 단속 정보
pageObject["${pageNameMain}"].mainControl.setData([resp.totalInfo]);
// 의견제출 정보
if (resp.opnnSbmsn) {
$P.control.setData([resp.opnnSbmsn]);
if (resp.opnnSbmsnInfo) {
$P.control.setData([resp.opnnSbmsnInfo]);
}
}
});
@ -328,7 +325,7 @@
, title: params.title
, content: resp
, size: "lg"
, onClose: () => { $P.refreshDataInfo(); }
, onClose: () => { $P.fnRefreshDataInfo(); } // 자료 재 조회
});
}
});
@ -355,8 +352,8 @@
let url = wctx.url("/" + params.taskSeCd + "/excl/excl02/010/makeHwp.do")
let parameter = toQuery({
opnnIds: params.opnnIds
, taskSeCd: params.taskSeCd
taskSeCd: params.taskSeCd
, opnnIds: params.opnnIds
});
document.location.href = url + "?" + parameter;
@ -381,6 +378,7 @@
content: "[" + title + "]" + " 작업은 단속상태가 '부과 이전' 자료만 처리 가능합니다."
+ "<br>" + "단속상태 : " + crdnSttsNm
+ "<br><br>" + "[" + title + "]" + " 실행이 취소되었습니다."
, init: () => { setDialogZindex(); }
, onOK: () => { }
});
return;
@ -406,6 +404,7 @@
dialog.alert({
content: "조회된 의견제출 대장 정보가 없습니다."
+ "<br><br>" + "[" + title + "]" + " 실행이 취소되었습니다."
, init: () => { setDialogZindex(); }
, onOK: () => { }
});
return;
@ -445,6 +444,7 @@
content: "[" + title + "]" + " 작업은 심의결과가 '접수', '자진취하' 자료만 삭제 가능합니다."
+ "<br>" + "심의결과 : " + opnnSbmsnSttsNm
+ "<br><br>" + "[" + title + "]" + " 실행이 취소되었습니다."
, init: () => { setDialogZindex(); }
, onOK: () => { }
});
return;
@ -453,6 +453,7 @@
// 삭제 메세지 확인
dialog.alert({
content: "선택하신 " + $P.control.prefixName + " 정보를 삭제하시겠습니까?"
, init: () => { setDialogZindex(); }
, onOK: () => {
// 삭제 사유 입력
fetch(wctx.url("/resources/html/inputRsnDialog.html"))
@ -587,7 +588,7 @@
// 첨부파일 다운로드 버튼 이벤트
$P.fnFileDownload = (fileID) => {
if (${pageNameMain}CallPurpose == "view") {
if (pageObject['${pageNameMain}'].callPurpose == "view") {
return;
}
@ -630,7 +631,7 @@
$("#btnUpdateOpnnSbmsnDlbrt--${pageName}").prop("disabled", true);
// 화면 호출(callPurpose)이 view가 아니라면 버튼 비활성화 disabled = false
if (${pageNameMain}CallPurpose != "view") {
if (pageObject['${pageNameMain}'].callPurpose != "view") {
$("#btnCreateOpnnSbmsn--${pageName}").prop("disabled", false);
$("#btnUpdateOpnnSbmsn--${pageName}").prop("disabled", false);
$("#btnRemoveOpnnSbmsn--${pageName}").prop("disabled", false);
@ -648,9 +649,9 @@
$P.initForm();
// 3. Dataset 설정
let opnnSbmsn = ${opnnSbmsn}; // 의견제출 정보
if (opnnSbmsn) {
$P.control.setData([opnnSbmsn]);
let opnnSbmsnInfo = ${opnnSbmsnInfo}; // 의견제출 정보
if (opnnSbmsnInfo) {
$P.control.setData([opnnSbmsnInfo]);
}
});

@ -2,7 +2,7 @@
<%@ include file="/WEB-INF/jsp/include/taglib.jsp"%>
<!-- Page Body -->
<div class="content-wrapper">
<div class="content-pop">
<div class="d-flex flex-row justify-content-evenly">
<!-- 발송 정보 -->
<div class="col-xl-12 mx-1">
@ -103,7 +103,8 @@
</div> <!-- / DataTables(그리드) -->
</div> <!-- <div class="row g-1"> -->
</div> <!-- <div class="card"> -->
</div> <!-- 발송 정보 <div class="col-xl-12 mx-1"> -->
</div> <!-- <div class="col-xl-12 mx-1"> -->
<!-- 발송 정보 -->
</div> <!-- <div class="d-flex flex-row justify-content-evenly"> -->
<div class="d-flex flex-row justify-content-evenly">
@ -133,7 +134,8 @@
</div>
</div> <!-- <div class="card"> -->
</form>
</div> <!-- 가상계좌 정보 <div class="col-xl-3 mx-1"> -->
</div> <!-- <div class="col-xl-3 mx-1"> -->
<!-- 가상계좌 정보 -->
<!-- 공시송달 이력 -->
<div class="col-xl-9 mx-1">
@ -181,12 +183,14 @@
</table>
</div>
</div>
</div> <!-- / DataTables(그리드) -->
</div> <!-- DataTables(그리드) -->
</div> <!-- <div class="row g-1"> -->
</div> <!-- <div class="card"> -->
</div> <!-- 공시송달 이력 <div class="col-xl-12 mx-1"> -->
</div> <!-- <div class="col-xl-9 mx-1"> -->
<!-- 공시송달 이력 -->
</div> <!-- <div class="d-flex flex-row justify-content-evenly"> -->
</div> <!-- <div class="content-wrapper"> -->
</div> <!-- <div class="content-pop"> -->
<script>
/**************************************************************************
@ -199,7 +203,7 @@
**************************************************************************/
$(document).ready(function() {
// pageObject
var $P = pageObject["${pageName}"];
let $P = pageObject["${pageName}"];
// FormFields
$P.formFields = new FimsFormFields("#frmEdit--${pageName}");
@ -209,44 +213,44 @@
**************************************************************************/
// 발송 상세 정보 DatasetControl
$P.sndngDtlControl = new DatasetControl({
prefix : "sndng"
, prefixName : "발송상세"
, keymapper : info => info ? info.SNDNG_DTL_ID : ""
, dataGetter : obj => obj.sndngDtlList
, appendData : true
, formats : {
SNDNG_YMD : dateFormat
, DUDT_YMD : dateFormat
, SUM_AMT : numberFormat
, DLVR_YMD : dateFormat
, DLVR_TM : timeFormat
, REG_DT : datetimeFormat
, MDFCN_DT : datetimeFormat
prefix: "sndng"
, prefixName: "발송 반송"
, keymapper: info => info ? info.SNDNG_DTL_ID : ""
, dataGetter: obj => obj.sndngDtls
, appendData: true
, formats: {
SNDNG_YMD: dateFormat
, DUDT_YMD: dateFormat
, SUM_AMT: numberFormat
, DLVR_YMD: dateFormat
, DLVR_TM: timeFormat
, REG_DT: datetimeFormat
, MDFCN_DT: datetimeFormat
}
});
// 공시송달 정보 DatasetControl
$P.svbtcControl = new DatasetControl({
prefix : "svbtc"
, prefixName : "공시송달"
, keymapper : info => info ? info.SVBTC_ID : ""
, dataGetter : obj => obj.svbtcList
, appendData : true
, formats : {
SVBTC_YMD : dateFormat
, REG_DT : datetimeFormat
$P.svbtcDtlControl = new DatasetControl({
prefix: "svbtc"
, prefixName: "공시송달"
, keymapper: info => info ? info.SVBTC_ID : ""
, dataGetter: obj => obj.svbtcDtls
, appendData: true
, formats: {
SVBTC_YMD: dateFormat
, REG_DT: datetimeFormat
}
});
/**************************************************************************
* DatasetControl 이벤트
* 발송 상세 DatasetControl 이벤트
**************************************************************************/
// 발송 상세 Dataset 변경
// Dataset 변경
$P.sndngDtlControl.onDatasetChange = (obj) => {
$P.renderSndngList();
};
// 발송 상세 선택 자료 변경 이벤트
// 현재 선택 자료 변경 이벤트
$P.sndngDtlControl.onCurrentChange = (item) => {
if (!item) return;
@ -278,38 +282,25 @@
if (item.data.BANK_NM19 != null && item.data.BANK_NM19 != "") vrActno += item.data.BANK_NM19 + " " + item.data.VR_ACTNO19 + "\n"; // 가상 계좌번호19
if (item.data.BANK_NM20 != null && item.data.BANK_NM20 != "") vrActno += item.data.BANK_NM20 + " " + item.data.VR_ACTNO20 + "\n"; // 가상 계좌번호20
$("#vrActno--${pageName}").val(vrActno); // 가상 계좌번호
$("#epayno--${pageName}").val(item.data.EPAYNO_MASK); // 전자납부번호
}
// 공시송달 Dataset 변경
$P.svbtcControl.onDatasetChange = (obj) => {
$P.renderSvbtcList();
$("#vrActno--${pageName}").val(vrActno); // 가상 계좌번호
$("#epayno--${pageName}").val(item.data.EPAYNO_MASK); // 전자납부번호
}
// 공시송달 선택 자료 변경 이벤트
$P.svbtcControl.onCurrentChange = (item) => {
if (!item) return;
let key = item.data.SVBTC_ID;
$("#tbodySvbtc--${pageName}").setCurrentRow(key);
}
// 개별 반송 dialog
$P.sndngDtlControl.getInfo = (params) => {
if (!params) return;
ajax.get({
url : wctx.url("/" + params.taskSeCd + "/sndb/sndb01/230/info.do")
, data : params || {}
, success : resp => {
url: wctx.url("/" + params.taskSeCd + "/sndb/sndb01/230/info.do") + "?openerPageName=${pageName}"
, data: params || {}
, success: resp => {
dialog.open({
id : "sndbkDialog"
, title : params.title
, content : resp
, size : "md"
, onClose : () => { $P.refreshDataInfo(); }
id: "sndbkDialog--${pageName}"
, title: params.title
, content: resp
, size: "md"
, onClose: () => { $P.fnRefreshDataInfo(); } // 자료 재 조회
});
}
});
@ -321,13 +312,12 @@
let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, btnTitle);
dialog.alert({
content : showMessage
, onOK : () => { }
content: showMessage
, init: () => { setDialogZindex(); }
, onOK: () => { }
});
if (resp.saved) {
$P.refreshDataInfo();
}
if (resp.saved) { $P.fnRefreshDataInfo(); } // 자료 재 조회
}
// 개별 반송 삭제
@ -335,12 +325,29 @@
if (!params) return;
ajax.post({
url : wctx.url("/" + params.taskSeCd + "/sndb/sndb01/220/remove.do")
, data : params
, success : resp => $P.sndngDtlControl.onRemove(resp)
url: wctx.url("/" + params.taskSeCd + "/sndb/sndb01/220/remove.do")
, data: params || {}
, success: resp => $P.sndngDtlControl.onRemove(resp)
});
}
/**************************************************************************
* 공시송달 DatasetControl 이벤트
**************************************************************************/
// Dataset 변경
$P.svbtcDtlControl.onDatasetChange = (obj) => {
$P.renderSvbtcList();
}
// 현재 선택 자료 변경 이벤트
$P.svbtcDtlControl.onCurrentChange = (item) => {
if (!item) return;
let key = item.data.SVBTC_ID;
$("#tbodySvbtc--${pageName}").setCurrentRow(key);
}
/**************************************************************************
* DataTables 이벤트
**************************************************************************/
@ -362,15 +369,15 @@
// 공시송달 정보 DataTables에 click 이벤트
$P.renderSvbtcList = () => {
let ${infoPrefix}List = $P.svbtcControl.dataset;
let empty = ${infoPrefix}List.empty;
let svbtcDtlList = $P.svbtcDtlControl.dataset;
let empty = svbtcDtlList.empty;
let trs = empty ?
[document.getElementById("svbtcNotFound--${pageName}").innerHTML] : <%-- from template#${infoPrefix}NotFound --%>
${infoPrefix}List.inStrings(
svbtcDtlList.inStrings(
document.getElementById("svbtcRow--${pageName}").innerHTML, <%-- from template#${infoPrefix}Row --%>
(str, dataItem) => str
.replace(/{onclick}/gi, "pageObject['${pageName}'].svbtcControl.setCurrent('" + dataItem.getValue("SVBTC_ID") + "');")
.replace(/{onclick}/gi, "pageObject['${pageName}'].svbtcDtlControl.setCurrent('" + dataItem.getValue("SVBTC_ID") + "');")
);
$("#tbodySvbtc--${pageName}").html(trs.join());
@ -380,38 +387,36 @@
* 사용자 함수(function)
**************************************************************************/
// 자료 재조회
$P.refreshDataInfo = () => {
$P.fnRefreshDataInfo = () => {
// 단속 ID
let crdnId = $("#crdnId--${pageNameMain}").val();
// 단속 ID 가 없다면.. return
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
let params = {
callPurpose : "refresh"
, crdnId : crdnId
, sggCd : $("#sggCd--${pageNameMain}").val()
, taskSeCd : $("#taskSeCd--${pageNameMain}").val()
, delYn : "N"
callPurpose: "refresh"
, sggCd: $("#sggCd--${pageNameMain}").val()
, taskSeCd: $("#taskSeCd--${pageNameMain}").val()
, crdnId: crdnId
, delYn: "N"
};
ajax.get({
url : wctx.url("/" + params.taskSeCd + "/sprt/sprt02/040/info.do")
url: wctx.url("/" + params.taskSeCd + "/sprt/sprt02/040/info.do")
, headers: { Accept: "application/json; charset=utf-8" } // json
, data : params || {}
, data: params || {}
, success : resp => {
// 초기화
$("#frmEdit--${pageName}")[0].reset(); // 화면 초기화
$P.sndngDtlControl.dataset.clear(); // 발송 상세 Dataset 초기화
$P.svbtcControl.dataset.clear(); // 공시송달 Dataset 초기화
$("#frmEdit--${pageName}")[0].reset(); // 화면 초기화
$P.sndngDtlControl.dataset.clear(); // 발송 상세 Dataset 초기화
$P.svbtcDtlControl.dataset.clear(); // 공시송달 Dataset 초기화
// Dataset 셋팅
$P.sndngDtlControl.setData(resp.sndngDtl); // 발송 이력 정보
$P.svbtcControl.setData(resp.svbtcList); // 공시송달 이력 정보
// sprt02010-main 단속 정보
pageObject["${pageNameMain}"].mainControl.setData([resp.totalInfo]);
// 최상단 단속 Data 셋팅
if (resp.totalInfo) {
pageObject["${pageNameMain}"].mainControl.setData([resp.totalInfo]);
}
// Dataset 셋팅
$P.sndngDtlControl.setData(resp.sndngDtls); // 발송 이력 정보
$P.svbtcDtlControl.setData(resp.svbtcDtls); // 공시송달 이력 정보
}
});
}
@ -431,9 +436,10 @@
// 미배달 사유 확인
if (undlvrRsnNm != "" ) {
dialog.alert({
content : "미배달 사유가 " + undlvrRsnNm + " (으)로 반송 등록 되어 있습니다."
content: "미배달 사유가 " + undlvrRsnNm + " (으)로 반송 등록 되어 있습니다."
+ "<br><br>" + "[" + title + "]" + " 실행이 취소되었습니다."
, onOK : () => { }
, init: () => { setDialogZindex(); }
, onOK: () => { }
});
return;
}
@ -444,21 +450,22 @@
// 발송상세 상태코드 확인 (FIM050 - 03:발송 04:발송확인)
if (sndngDtlSttsCd != "03" && sndngDtlSttsCd != "04") {
dialog.alert({
content : "[" + title + "]" + " 작업은 발송상세 상태가 '발송' 또는 '발송확인' 자료만 처리 가능합니다."
content: "[" + title + "]" + " 작업은 발송상세 상태가 '발송' 또는 '발송확인' 자료만 처리 가능합니다."
+ "<br>" + "발송상세상태 : " + sndngDtlSttsNm
+ "<br><br>" + "[" + title + "]" + " 실행이 취소되었습니다."
, onOK : () => { }
, init: () => { setDialogZindex(); }
, onOK: () => { }
});
return;
}
let params = {
callPurpose : "create"
, title : title
, sndngDtlId : sndngDtlId // 발송 상세 ID
, sggCd : $P.sndngDtlControl.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : $P.sndngDtlControl.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, delYn : "N"
callPurpose: "create"
, title: title
, sggCd: $P.sndngDtlControl.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd: $P.sndngDtlControl.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, sndngDtlId: sndngDtlId // 발송 상세 ID
, delYn: "N"
};
$P.sndngDtlControl.getInfo(params);
@ -478,21 +485,22 @@
// 발송상세 상태코드 확인 (FIM050 - 05:반송)
if (undlvrRsnNm == null || undlvrRsnNm == "") {
dialog.alert({
content : "조회된 반송(미배달) 사유가 없습니다."
content: "조회된 반송(미배달) 사유가 없습니다."
+ "<br><br>" + "[" + title + "]" + " 실행이 취소되었습니다."
, onOK : () => { }
, init: () => { setDialogZindex(); }
, onOK: () => { }
});
return;
}
let params = {
callPurpose : "update"
, title : title
, sggCd : $P.sndngDtlControl.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : $P.sndngDtlControl.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, sndngDtlId : sndngDtlId // 발송 상세 ID
, sndngDtlSttsCd : $P.sndngDtlControl.dataset.getValue("SNDNG_DTL_STTS_CD") // 발송 상세 상태 코드
, undlvrRsnNm : $P.sndngDtlControl.dataset.getValue("UNDLVR_RSN_NM") // 미배달 사유 명
callPurpose: "update"
, title: title
, sggCd: $P.sndngDtlControl.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd: $P.sndngDtlControl.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, sndngDtlId: sndngDtlId // 발송 상세 ID
, sndngDtlSttsCd: $P.sndngDtlControl.dataset.getValue("SNDNG_DTL_STTS_CD") // 발송 상세 상태 코드
, undlvrRsnNm: $P.sndngDtlControl.dataset.getValue("UNDLVR_RSN_NM") // 미배달 사유 명
, delYn : "N"
};
@ -512,26 +520,28 @@
// 발송상세 상태코드 확인 (FIM050 - 05:반송)
if (sndngDtlSttsCd != "05") {
dialog.alert({
content : "[" + title + "]" + " 작업은 발송상세 상태가 '반송' 자료만 처리 가능합니다."
content: "[" + title + "]" + " 작업은 발송상세 상태가 '반송' 자료만 처리 가능합니다."
+ "<br>" + "발송상세상태 : " + sndngDtlSttsNm
+ "<br><br>" + "[" + title + "]" + " 실행이 취소되었습니다."
, onOK : () => { }
, init: () => { setDialogZindex(); }
, onOK: () => { }
});
return;
}
let params = {
callPurpose : "delete"
, title : title
, sggCd : $P.sndngDtlControl.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : $P.sndngDtlControl.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, sndngDtlId : sndngDtlId // 발송 상세 ID
, sndngDtlSttsCd : "03" // 발송 상세 상태 코드(SNDNG_DTL_STTS_CD) FIM050 - 03 발송
callPurpose: "delete"
, title: title
, sggCd: $P.sndngDtlControl.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd: $P.sndngDtlControl.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, sndngDtlId: sndngDtlId // 발송 상세 ID
, sndngDtlSttsCd: "03" // 발송 상세 상태 코드(SNDNG_DTL_STTS_CD) FIM050 - 03 발송
};
dialog.alert({
content : "선택한 반송 정보를 삭제하시겠습니까?"
, onOK : () => {
content: "선택한 반송 정보를 삭제하시겠습니까?"
, init: () => { setDialogZindex(); }
, onOK: () => {
$P.sndngDtlControl.remove(params);
}
});
@ -557,21 +567,18 @@
**************************************************************************/
// 이벤트 설정
$P.setEvent = () => {
// 개별 반송 등록 버튼 이벤트
// 업무 버튼 이벤트
$("#btnCreateSndbk--${pageName}").on("click", function() {
$P.fnCreateSndbk($(this).attr("title"));
$P.fnCreateSndbk($(this).attr("title")); // 개별 반송 등록
});
// 개별 반송 수정 버튼 이벤트
$("#btnUpdateSndbk--${pageName}").on("click", function() {
$P.fnUpdateSndbk($(this).attr("title"));
$P.fnUpdateSndbk($(this).attr("title")); // 개별 반송 수정
});
// 개별 반송 삭제 버튼 이벤트
$("#btnRemoveSndbk--${pageName}").on("click", function() {
$P.fnRemoveSndbk($(this).attr("title"));
$P.fnRemoveSndbk($(this).attr("title")); // 개별 반송 삭제
});
// 우편 종적 보기 버튼 이벤트
$("#btnViewPostTrace--${pageName}").on("click", function() {
$P.fnViewPostTrace($(this).attr("title"));
$P.fnViewPostTrace($(this).attr("title")); // 우편 종적 보기
});
// DataTables width 변경 조정
@ -587,7 +594,7 @@
$("#btnRemoveSndbk--${pageName}").prop("disabled", true);
// 화면 호출(callPurpose)이 view가 아니라면 버튼 비활성화 disabled = false
if (${pageNameMain}CallPurpose != "view") {
if (pageObject['${pageNameMain}'].callPurpose != "view") {
$("#btnCreateSndbk--${pageName}").prop("disabled", false);
$("#btnUpdateSndbk--${pageName}").prop("disabled", false);
$("#btnRemoveSndbk--${pageName}").prop("disabled", false);
@ -604,8 +611,8 @@
$P.initForm();
// 3. Dataset 설정
$P.sndngDtlControl.setData(${sndngDtl}); // 발송 이력
$P.svbtcControl.setData(${svbtc}); // 공시송달 이력
$P.sndngDtlControl.setData(${sndngDtls}); // 발송 이력
$P.svbtcDtlControl.setData(${svbtcDtls}); // 공시송달 이력
});
</script>

@ -891,7 +891,7 @@
$("#btnRemoveLevyExcl--${pageName}").prop("disabled", true);
// 화면 호출(callPurpose)이 view가 아니라면 버튼 비활성화 disabled = false
if (${pageNameMain}CallPurpose != "view") {
if (pageObject['${pageNameMain}'].callPurpose != "view") {
$("#btnCreateRduct--${pageName}").prop("disabled", false);
$("#btnUpdateRduct--${pageName}").prop("disabled", false);
$("#btnRemoveRduct--${pageName}").prop("disabled", false);

@ -475,7 +475,7 @@
$("#btnCreateLevyExcl--${pageName}").prop("disabled", true);
// 화면 호출(callPurpose)이 view가 아니라면 버튼 비활성화 disabled = false
if (${pageNameMain}CallPurpose != "view") {
if (pageObject['${pageNameMain}'].callPurpose != "view") {
$("#btnCreateLevy--${pageName}").prop("disabled", false);
$("#btnCreateLevyExcl--${pageName}").prop("disabled", false);
}

@ -560,7 +560,7 @@
$("#btnRemoveRcvmt--${pageName}").prop("disabled", true);
// 화면 호출(callPurpose)이 view가 아니라면 버튼 비활성화 disabled = false
if (${pageNameMain}CallPurpose != "view") {
if (pageObject['${pageNameMain}'].callPurpose != "view") {
$("#btnCreateRcvmt--${pageName}").prop("disabled", false);
$("#btnUpdateRcvmtRtrc--${pageName}").prop("disabled", false);
$("#btnRemoveRcvmt--${pageName}").prop("disabled", false);

@ -349,7 +349,7 @@
$("#btnRemoveCvlcptDscsn--${pageName}").prop("disabled", true);
// 화면 호출(callPurpose)이 view가 아니라면 버튼 비활성화 disabled = false
if (${pageNameMain}CallPurpose != "view") {
if (pageObject['${pageNameMain}'].callPurpose != "view") {
// button 요소들을 disabled = true
$("#btnCreateCvlcptDscsn--${pageName}").prop("disabled", false);
$("#btnUpdateCvlcptDscsn--${pageName}").prop("disabled", false);

Loading…
Cancel
Save