|
|
|
|
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false" session="false"%>
|
|
|
|
|
<%@ include file="/WEB-INF/jsp/include/taglib.jsp"%>
|
|
|
|
|
|
|
|
|
|
<!-- Page Body -->
|
|
|
|
|
<div class="content-pop" data-doctx="${pageName}">
|
|
|
|
|
<div class="d-flex flex-row justify-content-evenly">
|
|
|
|
|
<!-- 감경 정보 -->
|
|
|
|
|
<div class="col-xl-6 mx-1">
|
|
|
|
|
<div class="card">
|
|
|
|
|
<!-- 업무 버튼 -->
|
|
|
|
|
<div class="container-page-btn">
|
|
|
|
|
<label class="col-form-label bg-label-danger pe-2 w-px-120 text-sm-center">감경 정보</label>
|
|
|
|
|
<!-- 버튼 우측 정렬 -->
|
|
|
|
|
<span class="container-window-btn-right">
|
|
|
|
|
<button type="button" class="btn btn-primary w-px-120" name="btnCreateRdct" title="감경 등록" disabled>
|
|
|
|
|
감경 등록
|
|
|
|
|
</button>
|
|
|
|
|
<button type="button" class="btn btn-primary w-px-120" name="btnUpdateRdct" title="감경 수정" disabled>
|
|
|
|
|
감경 수정
|
|
|
|
|
</button>
|
|
|
|
|
<button type="button" class="btn btn-primary w-px-120" name="btnRemoveRdct" title="감경 삭제" disabled>
|
|
|
|
|
감경 삭제
|
|
|
|
|
</button>
|
|
|
|
|
</span> <!-- <span class="container-window-btn-right"> -->
|
|
|
|
|
</div> <!-- <div class="container-page-btn"> -->
|
|
|
|
|
|
|
|
|
|
<!-- 입력 영역 -->
|
|
|
|
|
<form name="frmEditRdct">
|
|
|
|
|
<!-- hidden -->
|
|
|
|
|
<input type="hidden" name="rdctId" data-map="RDCT_ID" />
|
|
|
|
|
|
|
|
|
|
<div class="row g-1">
|
|
|
|
|
<div class="col-md-6">
|
|
|
|
|
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="rdctYmd">감경일자</label>
|
|
|
|
|
<input is="id-input" type="text" class="form-control w-30" name="rdctYmd" data-map="RDCT_YMD" data-fmt-type="day" readonly />
|
|
|
|
|
</div>
|
|
|
|
|
<div class="col-md-6">
|
|
|
|
|
</div>
|
|
|
|
|
<div class="col-md-6">
|
|
|
|
|
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="rdctRsnNm">감경사유</label>
|
|
|
|
|
<input is="id-input" type="text" class="form-control w-50" name="rdctRsnNm" data-map="RDCT_RSN_NM" readonly />
|
|
|
|
|
</div>
|
|
|
|
|
<div class="col-md-6">
|
|
|
|
|
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="rdctAmt">감경금액</label>
|
|
|
|
|
<input is="id-input" type="text" class="form-control w-30 text-end" name="rdctAmt" data-map="RDCT_AMT" data-fmt-type="number" readonly />
|
|
|
|
|
</div>
|
|
|
|
|
<div class="col-md-12">
|
|
|
|
|
<label class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end align-top" for="etcCn">기타내용</label>
|
|
|
|
|
<textarea type="text" class="form-control w-80" name="etcCn" data-map="ETC_CN" rows="3" data-maxlengthb="1000" readonly></textarea>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="col-md-6">
|
|
|
|
|
<label class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="mdfcnDt">수정일시</label>
|
|
|
|
|
<input type="text" class="form-control w-45" name="mdfcnDt" data-map="MDFCN_DT" data-fmt-type="dt" readonly />
|
|
|
|
|
</div>
|
|
|
|
|
<div class="col-md-6">
|
|
|
|
|
<label class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="mdfrNm">수정자</label>
|
|
|
|
|
<input type="text" class="form-control w-40" name="mdfrNm" data-map="MDFR_NM" readonly />
|
|
|
|
|
</div>
|
|
|
|
|
</div> <!-- <div class="row g-1"> -->
|
|
|
|
|
</form>
|
|
|
|
|
<!-- 입력 영역 -->
|
|
|
|
|
</div> <!-- <div class="card"> -->
|
|
|
|
|
</div> <!-- <div class="col-xl-6 mx-1"> -->
|
|
|
|
|
<!-- 감경 정보 -->
|
|
|
|
|
|
|
|
|
|
<!-- 부과제외 정보 -->
|
|
|
|
|
<div class="col-xl-6 mx-1">
|
|
|
|
|
<div class="card">
|
|
|
|
|
<!-- 업무 버튼 -->
|
|
|
|
|
<div class="container-page-btn">
|
|
|
|
|
<label class="col-form-label bg-label-danger pe-2 w-px-120 text-sm-center">부과제외 정보</label>
|
|
|
|
|
<!-- 버튼 우측 정렬 -->
|
|
|
|
|
<span class="container-window-btn-right">
|
|
|
|
|
<button type="button" class="btn btn-primary w-px-120" name="btnCreateWrng" title="계도 등록" disabled>
|
|
|
|
|
계도 등록
|
|
|
|
|
</button>
|
|
|
|
|
<button type="button" class="btn btn-primary w-px-120" name="btnCreateLevyExcl" title="부과제외 등록" disabled>
|
|
|
|
|
부과제외 등록
|
|
|
|
|
</button>
|
|
|
|
|
<button type="button" class="btn btn-primary w-px-120" name="btnUpdateLevyExcl" title="부과제외 수정" disabled>
|
|
|
|
|
부과제외 수정
|
|
|
|
|
</button>
|
|
|
|
|
<button type="button" class="btn btn-primary w-px-120" name="btnRemoveLevyExcl" title="부과제외 삭제" disabled>
|
|
|
|
|
부과제외 삭제
|
|
|
|
|
</button>
|
|
|
|
|
</span>
|
|
|
|
|
</div> <!-- <div class="container-page-btn"> -->
|
|
|
|
|
|
|
|
|
|
<!-- 입력 영역 -->
|
|
|
|
|
<form name="frmEditLevyExcl">
|
|
|
|
|
<!-- hidden -->
|
|
|
|
|
<input type="hidden" name="levyExclId" data-map="LEVY_EXCL_ID" />
|
|
|
|
|
|
|
|
|
|
<div class="row g-1">
|
|
|
|
|
<div class="col-md-6">
|
|
|
|
|
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="levyExclYmd">부과제외 일자</label>
|
|
|
|
|
<input is="id-input" type="text" class="form-control w-30" name="levyExclYmd" data-map="LEVY_EXCL_YMD" data-fmt-type="day" readonly />
|
|
|
|
|
</div>
|
|
|
|
|
<div class="col-md-6">
|
|
|
|
|
</div>
|
|
|
|
|
<div class="col-md-6">
|
|
|
|
|
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="levyExclSeNm">부과제외구분</label>
|
|
|
|
|
<input is="id-input" type="text" class="form-control w-30" name="levyExclSeNm" data-map="LEVY_EXCL_SE_NM" readonly />
|
|
|
|
|
</div>
|
|
|
|
|
<div class="col-md-6">
|
|
|
|
|
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="levyExclRsnNm">부과제외사유</label>
|
|
|
|
|
<input is="id-input" type="text" class="form-control w-60" name="levyExclRsnNm" data-map="LEVY_EXCL_RSN_NM" readonly />
|
|
|
|
|
</div>
|
|
|
|
|
<div class="col-md-12">
|
|
|
|
|
<label class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end align-top" for="etcCn">기타내용</label>
|
|
|
|
|
<textarea type="text" class="form-control w-80" name="etcCn" data-map="ETC_CN" rows="3" data-maxlengthb="1000" readonly></textarea>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="col-md-6">
|
|
|
|
|
<label class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="mdfcnDt">수정일시</label>
|
|
|
|
|
<input type="text" class="form-control w-45" name="mdfcnDt" data-map="MDFCN_DT" data-fmt-type="dt" readonly />
|
|
|
|
|
</div>
|
|
|
|
|
<div class="col-md-6">
|
|
|
|
|
<label class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="mdfrNm">수정자</label>
|
|
|
|
|
<input type="text" class="form-control w-40" name="mdfrNm" data-map="MDFR_NM" readonly />
|
|
|
|
|
</div>
|
|
|
|
|
</div> <!-- <div class="row g-1"> -->
|
|
|
|
|
</form>
|
|
|
|
|
<!-- 입력 영역 -->
|
|
|
|
|
</div> <!-- <div class="card"> -->
|
|
|
|
|
</div> <!-- <div class="col-xl-6 mx-1"> -->
|
|
|
|
|
<!-- 부과제외 정보 -->
|
|
|
|
|
</div> <!-- <div class="d-flex flex-row justify-content-evenly"> -->
|
|
|
|
|
|
|
|
|
|
<div class="d-flex flex-row justify-content-evenly">
|
|
|
|
|
<!-- 처리 상태 이력 -->
|
|
|
|
|
<div class="col-xl-6 mx-1">
|
|
|
|
|
<div class="card">
|
|
|
|
|
<!-- 업무 버튼 -->
|
|
|
|
|
<div class="container-page-btn">
|
|
|
|
|
<label class="col-form-label bg-label-danger pe-2 w-px-120 text-sm-center">처리 상태 이력</label>
|
|
|
|
|
<!-- 버튼 우측 정렬 -->
|
|
|
|
|
<span class="container-window-btn-right">
|
|
|
|
|
<label>
|
|
|
|
|
<input type="checkbox" name="unusedInq" class="form-check-input" onchange="pageObject['${pageName}'].fnRefresh(this.checked);"/>미사용조회
|
|
|
|
|
</label>
|
|
|
|
|
</span>
|
|
|
|
|
</div>
|
|
|
|
|
<!-- DataTables(그리드) -->
|
|
|
|
|
<div class="card-datatable text-nowrap">
|
|
|
|
|
<div class="dataTables_wrapper dt-bootstrap5 no-footer">
|
|
|
|
|
<div class="table-responsive h-px-350" name="tableRspnsCrdnSttsHstry">
|
|
|
|
|
<table class="table dataTable table-layout-fixed table-bordered">
|
|
|
|
|
<thead class="sticky-thead">
|
|
|
|
|
<tr name="theadTrCrdnSttsHstry" data-search-target="[data-doctx='${pageName}']">
|
|
|
|
|
<th class="cmn" style="width: 260px;">등록일시 / 사용자</th>
|
|
|
|
|
<th class="cmn" style="width: 100px;">사용여부</th>
|
|
|
|
|
<th class="cmn" style="width: 160px;">단속상태</th>
|
|
|
|
|
<th class="cmn" style="width: 280px;">기타내용</th>
|
|
|
|
|
<th class="cmn" style="width: 260px;">수정일시 / 사용자</th>
|
|
|
|
|
</tr>
|
|
|
|
|
</thead>
|
|
|
|
|
<tbody name="tbodyCrdnSttsHstryList">
|
|
|
|
|
</tbody>
|
|
|
|
|
<template is="curly-brackets" name="tmpltCrdnSttsHstryRows">
|
|
|
|
|
<tr data-key="{data-index}">
|
|
|
|
|
<td class="cmn text-center" onclick="{onclick}">{REG_DT} / {RGTR_NM}</td>
|
|
|
|
|
<td class="cmn text-center" onclick="{onclick}">{USE_YN_NM}</td>
|
|
|
|
|
<td class="cmn text-center" onclick="{onclick}">{CRDN_STTS_NM}</td>
|
|
|
|
|
<td class="cmn text-start" onclick="{onclick}">{ETC_CN}</td>
|
|
|
|
|
<td class="cmn text-center" onclick="{onclick}">{MDFCN_DT} / {MDFR_NM}</td>
|
|
|
|
|
</tr>
|
|
|
|
|
</template>
|
|
|
|
|
<template name="tmpltNotFoundCrdnSttsHstry">
|
|
|
|
|
<tr class="odd">
|
|
|
|
|
<td valign="top" colspan="5" class="dataTables_empty text-center">처리상태 이력 정보를 찾지 못했습니다.</td>
|
|
|
|
|
</tr>
|
|
|
|
|
</template>
|
|
|
|
|
</table>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div> <!-- DataTables(그리드) -->
|
|
|
|
|
</div> <!-- <div class="card"> -->
|
|
|
|
|
</div> <!-- <div class="col-xl-6 mx-1"> -->
|
|
|
|
|
<!-- 처리 상태 이력 -->
|
|
|
|
|
|
|
|
|
|
<!-- 주소 변동 이력 -->
|
|
|
|
|
<div class="col-xl-6 mx-1">
|
|
|
|
|
<div class="card">
|
|
|
|
|
<!-- 업무 버튼 -->
|
|
|
|
|
<div class="container-page-btn">
|
|
|
|
|
<label class="col-form-label bg-label-danger pe-2 w-px-120 text-sm-center">납부자주소 이력</label>
|
|
|
|
|
</div>
|
|
|
|
|
<!-- DataTables(그리드) -->
|
|
|
|
|
<div class="card-datatable text-nowrap">
|
|
|
|
|
<div class="dataTables_wrapper dt-bootstrap5 no-footer">
|
|
|
|
|
<div class="table-responsive h-px-350" name="tableRspnsPayerHstry">
|
|
|
|
|
<table class="table-layout-fixed dataTable datatables-ajax table table-bordered no-footer" aria-describedby="DataTables_Table_0_info">
|
|
|
|
|
<thead class="sticky-thead">
|
|
|
|
|
<tr name="theadTrPayerHstry" data-search-target="[data-doctx='${pageName}']">
|
|
|
|
|
<th class="cmn" style="width: 260px;">등록일시 / 사용자</th>
|
|
|
|
|
<th class="cmn" style="width: 120px;">납부자성명</th>
|
|
|
|
|
<th class="cmn" style="width: 450px;">주소</th>
|
|
|
|
|
</tr>
|
|
|
|
|
</thead>
|
|
|
|
|
<tbody name="tbodyPayerHstryList">
|
|
|
|
|
</tbody>
|
|
|
|
|
<template is="curly-brackets" name="tmpltPayerHstryRows">
|
|
|
|
|
<tr data-key="{data-index}">
|
|
|
|
|
<td class="cmn text-center" onclick="{onclick}">{REG_DT} / {RGTR_NM}</td>
|
|
|
|
|
<td class="cmn text-start" onclick="{onclick}">{RTPYR_NM}</td>
|
|
|
|
|
<td class="cmn text-start" onclick="{onclick}">{ZIP}, {WHOL_ADDR}</td>
|
|
|
|
|
</tr>
|
|
|
|
|
</template>
|
|
|
|
|
<template name="tmpltNotFoundPayerHstry">
|
|
|
|
|
<tr class="odd">
|
|
|
|
|
<td valign="top" colspan="3" class="dataTables_empty text-center">납부자주소 이력 정보를 찾지 못했습니다.</td>
|
|
|
|
|
</tr>
|
|
|
|
|
</template>
|
|
|
|
|
</table>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div> <!-- DataTables(그리드) -->
|
|
|
|
|
</div> <!-- <div class="card"> -->
|
|
|
|
|
</div> <!-- <div class="col-xl-6 mx-1"> -->
|
|
|
|
|
<!-- 주소 변동 이력 -->
|
|
|
|
|
</div> <!-- <div class="d-flex flex-row justify-content-evenly"> -->
|
|
|
|
|
</div> <!-- <div class="content-pop"> -->
|
|
|
|
|
|
|
|
|
|
<script>
|
|
|
|
|
LoadScript("sprt02050Script", wctx.url("/resources/js/fims/sprt/sprt02050.js?ver=${ver}"));
|
|
|
|
|
|
|
|
|
|
/**************************************************************************
|
|
|
|
|
* Global Variable
|
|
|
|
|
**************************************************************************/
|
|
|
|
|
pageObject["${pageName}"] = newDoctxFinder("${pageName}");
|
|
|
|
|
|
|
|
|
|
/**************************************************************************
|
|
|
|
|
* script 진입
|
|
|
|
|
**************************************************************************/
|
|
|
|
|
$(document).ready(function() {
|
|
|
|
|
// pageObject
|
|
|
|
|
let $P = pageObject["${pageName}"];
|
|
|
|
|
|
|
|
|
|
// datasetControl
|
|
|
|
|
$P.ctrlRdct = newSprt02050ControlRD("${pageName}", "[data-doctx=${pageName}]", "${pageNameMain}");
|
|
|
|
|
$P.ctrlLevyExcl = newSprt02050ControlLE("${pageName}", "[data-doctx=${pageName}]", "${pageNameMain}");
|
|
|
|
|
$P.ctrlCrdnSttsHstry = newSprt02050ControlCSH("${pageName}", "[data-doctx=${pageName}]", "${pageNameMain}");
|
|
|
|
|
$P.ctrlPayerAddrHstrys = newSprt02050ControlPAH("${pageName}", "[data-doctx=${pageName}]", "${pageNameMain}");
|
|
|
|
|
|
|
|
|
|
/**************************************************************************
|
|
|
|
|
* 사용자 함수(function)
|
|
|
|
|
**************************************************************************/
|
|
|
|
|
// 감경 사유 callback
|
|
|
|
|
$P.callbackRsnRdct = (obj) => {
|
|
|
|
|
// 서버에 전송할 data(파라미터) 생성
|
|
|
|
|
let params = {
|
|
|
|
|
callPurpose: "remove"
|
|
|
|
|
, sggCd: $P.ctrlRdct.getValue("SGG_CD") // 시군구 코드
|
|
|
|
|
, taskSeCd: $P.ctrlRdct.getValue("TASK_SE_CD") // 업무 구분 코드
|
|
|
|
|
, rdctId: $P.ctrlRdct.getValue("RDCT_ID") // 감경 ID
|
|
|
|
|
, btnTitle: obj.btnTitle // 버튼 title
|
|
|
|
|
, delRsn: "[개별총정보-" + obj.btnTitle + "] " + obj.reason // 삭제 사유
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
$P.ctrlRdct.remove(params);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 부과제외 삭제 사유 callback
|
|
|
|
|
$P.callbackRsnLevyExcl = (obj) => {
|
|
|
|
|
// 서버에 전송할 data(파라미터) 생성
|
|
|
|
|
let params = {
|
|
|
|
|
callPurpose: "remove"
|
|
|
|
|
, sggCd: $P.ctrlLevyExcl.getValue("SGG_CD") // 시군구 코드
|
|
|
|
|
, taskSeCd: $P.ctrlLevyExcl.getValue("TASK_SE_CD") // 업무 구분 코드
|
|
|
|
|
, levyExclId: $P.ctrlLevyExcl.getValue("LEVY_EXCL_ID") // 부과제외 ID
|
|
|
|
|
, btnTitle: obj.btnTitle // 버튼 title
|
|
|
|
|
, delRsn: "[개별총정보-" + obj.btnTitle + "] " + obj.reason // 삭제 사유
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
$P.ctrlLevyExcl.remove(params);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 정보 새로고침
|
|
|
|
|
$P.fnRefresh = (crdnSttsHstryUseYn) => {
|
|
|
|
|
let ctrlMain = pageObject["${pageNameMain}"].ctrlMain;
|
|
|
|
|
|
|
|
|
|
// 단속 ID 가 없다면.. return
|
|
|
|
|
let crdnId = ctrlMain.getValue("CRDN_ID"); // 단속 ID
|
|
|
|
|
if (!crdnId) return;
|
|
|
|
|
|
|
|
|
|
let unusedInq = "N";
|
|
|
|
|
if (crdnSttsHstryUseYn == true) {
|
|
|
|
|
unusedInq = "Y";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
let params = {
|
|
|
|
|
callPurpose: "refresh"
|
|
|
|
|
, sggCd: ctrlMain.getValue("SGG_CD")
|
|
|
|
|
, taskSeCd: ctrlMain.getValue("TASK_SE_CD")
|
|
|
|
|
, crdnId: ctrlMain.getValue("CRDN_ID")
|
|
|
|
|
, unusedInq: unusedInq
|
|
|
|
|
, delYn: "N"
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
ajax.get({
|
|
|
|
|
url: wctx.url("/sprt/sprt02/050/info.do")
|
|
|
|
|
, headers: { Accept: "application/json; charset=utf-8" } // json
|
|
|
|
|
, data: params || {}
|
|
|
|
|
, success: (resp) => {
|
|
|
|
|
// 초기화
|
|
|
|
|
$P.findn("frmEditRdct").reset(); // 감경 화면
|
|
|
|
|
$P.findn("frmEditLevyExcl").reset(); // 부과제외 화면
|
|
|
|
|
$P.ctrlRdct.dataset.clear(); // 감경 Dataset
|
|
|
|
|
$P.ctrlLevyExcl.dataset.clear(); // 부과제외 Dataset
|
|
|
|
|
$P.ctrlCrdnSttsHstry.dataset.clear(); // 단속상태 이력 Dataset
|
|
|
|
|
$P.ctrlPayerAddrHstrys.dataset.clear(); // 납부자주소 이력 Dataset
|
|
|
|
|
|
|
|
|
|
// sprt02010-main 단속 정보
|
|
|
|
|
ctrlMain.setData([resp.totalInfo]);
|
|
|
|
|
|
|
|
|
|
// 감경 정보
|
|
|
|
|
if (resp.rdctInfo)
|
|
|
|
|
$P.ctrlRdct.setData([resp.rdctInfo]);
|
|
|
|
|
// 부과제외 정보
|
|
|
|
|
if (resp.levyExclInfo) {
|
|
|
|
|
$P.ctrlLevyExcl.setData([resp.levyExclInfo]);
|
|
|
|
|
$P.fnReset(false);
|
|
|
|
|
}
|
|
|
|
|
// 단속상태 이력
|
|
|
|
|
$P.ctrlCrdnSttsHstry.setData(resp.crdnSttsHstrys);
|
|
|
|
|
// 납부자 주소 이력
|
|
|
|
|
$P.ctrlPayerAddrHstrys.setData(resp.payerAddrHstrys);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**************************************************************************
|
|
|
|
|
* 버튼 clickEvent
|
|
|
|
|
**************************************************************************/
|
|
|
|
|
// 감경 등록 버튼 이벤트
|
|
|
|
|
$P.fnCreateRdct = (btnTitle) => {
|
|
|
|
|
// 감경 ID가 있다면.. return
|
|
|
|
|
let rdctId = $P.ctrlRdct.getValue("RDCT_ID"); // 감경 ID
|
|
|
|
|
if (rdctId)
|
|
|
|
|
return dialog.alert({
|
|
|
|
|
content: "이미 등록된 감경 대장 정보가 있습니다."
|
|
|
|
|
+ "<br><br>" + "[" + btnTitle + "]" + " 실행이 취소되었습니다."
|
|
|
|
|
, init: () => { AppSupport.setDialogZindex(); }
|
|
|
|
|
, onOK: () => { }
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// 단속 ID 가 없다면.. return
|
|
|
|
|
let ctrlMain = pageObject["${pageNameMain}"].ctrlMain; // sprt02010 control
|
|
|
|
|
let crdnId = ctrlMain.getValue("CRDN_ID"); // 단속 ID
|
|
|
|
|
if (!crdnId) return;
|
|
|
|
|
|
|
|
|
|
let params = {
|
|
|
|
|
callPurpose: "create"
|
|
|
|
|
, btnTitle: btnTitle
|
|
|
|
|
, sggCd: ctrlMain.getValue("SGG_CD") // 시군구 코드
|
|
|
|
|
, taskSeCd: ctrlMain.getValue("TASK_SE_CD") // 업무 구분 코드
|
|
|
|
|
, crdnId: ctrlMain.getValue("CRDN_ID") // 단속 ID
|
|
|
|
|
, delYn: "N"
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
$P.ctrlRdct.getInfo(params);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 감경 수정 버튼 이벤트
|
|
|
|
|
$P.fnUpdateRdct = (btnTitle) => {
|
|
|
|
|
// 감경 ID 가 없다면.. return
|
|
|
|
|
let rdctId = $P.ctrlRdct.getValue("RDCT_ID"); // 감경 ID
|
|
|
|
|
if (!rdctId)
|
|
|
|
|
return dialog.alert({
|
|
|
|
|
content: "조회된 감경 대장 정보가 없습니다."
|
|
|
|
|
+ "<br><br>" + "[" + btnTitle + "]" + " 실행이 취소되었습니다."
|
|
|
|
|
, onOK: () => { }
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
let params = {
|
|
|
|
|
callPurpose: "update"
|
|
|
|
|
, btnTitle: btnTitle
|
|
|
|
|
, sggCd: $P.ctrlRdct.getValue("SGG_CD") // 시군구 코드
|
|
|
|
|
, taskSeCd: $P.ctrlRdct.getValue("TASK_SE_CD") // 업무 구분 코드
|
|
|
|
|
, crdnId: $P.ctrlRdct.getValue("CRDN_ID") // 단속 ID
|
|
|
|
|
, rdctId: $P.ctrlRdct.getValue("RDCT_ID") // 감경 ID
|
|
|
|
|
, delYn: "N"
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
$P.ctrlRdct.getInfo(params);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 감경 삭제 버튼 이벤트
|
|
|
|
|
$P.fnRemoveRdct = (btnTitle) => {
|
|
|
|
|
let rdctId = $P.ctrlRdct.getValue("RDCT_ID"); // 감경 ID
|
|
|
|
|
if (!rdctId)
|
|
|
|
|
return dialog.alert({
|
|
|
|
|
content: "조회된 감경 대장 정보가 없습니다."
|
|
|
|
|
+ "<br><br>" + "[" + btnTitle + "]" + " 실행이 취소되었습니다."
|
|
|
|
|
, init: () => { AppSupport.setDialogZindex(); }
|
|
|
|
|
, onOK: () => { }
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// 삭제 메세지 확인
|
|
|
|
|
dialog.alert({
|
|
|
|
|
content: "선택하신 " + $P.ctrlRdct.prefixName + " 정보를 삭제하시겠습니까?"
|
|
|
|
|
, onOK: () => {
|
|
|
|
|
// 삭제 사유 입력
|
|
|
|
|
fetch(wctx.url("/resources/html/inputRsnDialog.html"))
|
|
|
|
|
.then(function(resp) { return resp.text(); })
|
|
|
|
|
.then(function(template) {
|
|
|
|
|
dialog.open({
|
|
|
|
|
id: "inputDelRsnDialog"
|
|
|
|
|
, title: btnTitle
|
|
|
|
|
, size: "lg"
|
|
|
|
|
, content: template
|
|
|
|
|
, init: () => { AppSupport.setDialogZindex(); }
|
|
|
|
|
, onOK: () => {
|
|
|
|
|
$P.callbackRsnRdct({
|
|
|
|
|
btnTitle: btnTitle // 버튼 title
|
|
|
|
|
, reason: $("#reason").val() // 삭제 사유
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 계도 등록 버튼 이벤트
|
|
|
|
|
$P.fnCreateWrng = (btnTitle) => {
|
|
|
|
|
let levyExclId = $P.ctrlLevyExcl.getValue("LEVY_EXCL_ID"); // 부과 제외 ID
|
|
|
|
|
if (levyExclId)
|
|
|
|
|
return dialog.alert({
|
|
|
|
|
content: "이미 등록된 부과제외 대장 정보가 있습니다."
|
|
|
|
|
+ "<br><br>" + "[" + btnTitle + "]" + " 실행이 취소되었습니다."
|
|
|
|
|
, init: () => { AppSupport.setDialogZindex(); }
|
|
|
|
|
, onOK: () => { }
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// 단속 ID 가 없다면.. return
|
|
|
|
|
let ctrlMain = pageObject["${pageNameMain}"].ctrlMain; // sprt02010 control
|
|
|
|
|
let crdnId = ctrlMain.getValue("CRDN_ID"); // 단속 ID
|
|
|
|
|
if (!crdnId) return;
|
|
|
|
|
|
|
|
|
|
let params = {
|
|
|
|
|
callPurpose: "create"
|
|
|
|
|
, btnTitle: btnTitle
|
|
|
|
|
, sggCd: ctrlMain.getValue("SGG_CD") // 시군구 코드
|
|
|
|
|
, taskSeCd: ctrlMain.getValue("TASK_SE_CD") // 업무 구분 코드
|
|
|
|
|
, crdnId: ctrlMain.getValue("CRDN_ID") // 단속 ID
|
|
|
|
|
, levyExclSeCd: "2" // 부과 제외 구분 코드
|
|
|
|
|
, delYn: "N"
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
$P.ctrlLevyExcl.getInfo(params);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 부과제외 등록 버튼 이벤트
|
|
|
|
|
$P.fnCreateLevyExcl = (btnTitle) => {
|
|
|
|
|
let levyExclId = $P.ctrlLevyExcl.getValue("LEVY_EXCL_ID"); // 부과 제외 ID
|
|
|
|
|
if (levyExclId)
|
|
|
|
|
return dialog.alert({
|
|
|
|
|
content: "이미 등록된 부과제외 대장 정보가 있습니다."
|
|
|
|
|
+ "<br><br>" + "[" + btnTitle + "]" + " 실행이 취소되었습니다."
|
|
|
|
|
, init: () => { AppSupport.setDialogZindex(); }
|
|
|
|
|
, onOK: () => { }
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// 단속 ID 가 없다면.. return
|
|
|
|
|
let ctrlMain = pageObject["${pageNameMain}"].ctrlMain; // sprt02010 control
|
|
|
|
|
let crdnId = ctrlMain.getValue("CRDN_ID"); // 단속 ID
|
|
|
|
|
if (!crdnId) return;
|
|
|
|
|
|
|
|
|
|
let params = {
|
|
|
|
|
callPurpose: "create"
|
|
|
|
|
, btnTitle: btnTitle
|
|
|
|
|
, sggCd: ctrlMain.getValue("SGG_CD") // 시군구 코드
|
|
|
|
|
, taskSeCd: ctrlMain.getValue("TASK_SE_CD") // 업무 구분 코드
|
|
|
|
|
, crdnId: ctrlMain.getValue("CRDN_ID") // 단속 ID
|
|
|
|
|
, levyExclSeCd: "1" // 부과 제외 구분 코드
|
|
|
|
|
, delYn: "N"
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
$P.ctrlLevyExcl.getInfo(params);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 부과제외 수정 버튼 이벤트
|
|
|
|
|
$P.fnUpdateLevyExcl = (btnTitle) => {
|
|
|
|
|
let levyExclId = $P.ctrlLevyExcl.getValue("LEVY_EXCL_ID"); // 부과 제외 ID
|
|
|
|
|
if (!levyExclId)
|
|
|
|
|
return dialog.alert({
|
|
|
|
|
content: "조회된 부과제외 대장 정보가 없습니다."
|
|
|
|
|
+ "<br><br>" + "[" + btnTitle + "]" + " 실행이 취소되었습니다."
|
|
|
|
|
, init: () => { AppSupport.setDialogZindex(); }
|
|
|
|
|
, onOK: () => { }
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
let params = {
|
|
|
|
|
callPurpose: "update"
|
|
|
|
|
, btnTitle: btnTitle
|
|
|
|
|
, sggCd: $P.ctrlLevyExcl.getValue("SGG_CD") // 시군구 코드
|
|
|
|
|
, taskSeCd: $P.ctrlLevyExcl.getValue("TASK_SE_CD") // 업무 구분 코드
|
|
|
|
|
, crdnId: $P.ctrlLevyExcl.getValue("CRDN_ID") // 단속 ID
|
|
|
|
|
, levyExclId: $P.ctrlLevyExcl.getValue("LEVY_EXCL_ID") // 부과제외 ID
|
|
|
|
|
, delYn: "N"
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
$P.ctrlLevyExcl.getInfo(params);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 부과제외 삭제 버튼 이벤트
|
|
|
|
|
$P.fnRemoveLevyExcl = (btnTitle) => {
|
|
|
|
|
// 부과제외 ID 가 없다면.. return
|
|
|
|
|
let levyExclId = $P.ctrlLevyExcl.getValue("LEVY_EXCL_ID"); // 부과제외 ID
|
|
|
|
|
if (!levyExclId)
|
|
|
|
|
return dialog.alert({
|
|
|
|
|
content: "조회된 부과제외 대장 정보가 없습니다."
|
|
|
|
|
+ "<br><br>" + "[" + btnTitle + "]" + " 실행이 취소되었습니다."
|
|
|
|
|
, init: () => { AppSupport.setDialogZindex(); }
|
|
|
|
|
, onOK: () => { }
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// 삭제 메세지 확인
|
|
|
|
|
dialog.alert({
|
|
|
|
|
content: "선택하신 " + $P.ctrlLevyExcl.prefixName + " 정보를 삭제하시겠습니까?"
|
|
|
|
|
, onOK: () => {
|
|
|
|
|
// 삭제 사유 입력
|
|
|
|
|
fetch(wctx.url("/resources/html/inputRsnDialog.html"))
|
|
|
|
|
.then(function(resp) { return resp.text(); })
|
|
|
|
|
.then(function(template) {
|
|
|
|
|
dialog.open({
|
|
|
|
|
id: "inputDelRsnDialog"
|
|
|
|
|
, title: btnTitle
|
|
|
|
|
, size: "lg"
|
|
|
|
|
, content: template
|
|
|
|
|
, init: () => { AppSupport.setDialogZindex(); }
|
|
|
|
|
, onOK: () => {
|
|
|
|
|
$P.callbackRsnLevyExcl({
|
|
|
|
|
btnTitle: btnTitle // 버튼 title
|
|
|
|
|
, reason: $("#reason").val() // 삭제 사유
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**************************************************************************
|
|
|
|
|
* 초기 셋팅
|
|
|
|
|
**************************************************************************/
|
|
|
|
|
// 이벤트 설정
|
|
|
|
|
$P.setEvent = () => {
|
|
|
|
|
// 업무 버튼 이벤트
|
|
|
|
|
$P.$findn("btnCreateRdct").on("click", function() {
|
|
|
|
|
$P.fnCreateRdct($P.$findn("btnCreateRdct").attr("title")); // 감경 등록
|
|
|
|
|
});
|
|
|
|
|
$P.$findn("btnUpdateRdct").on("click", function() {
|
|
|
|
|
$P.fnUpdateRdct($P.$findn("btnUpdateRdct").attr("title")); // 감경 수정
|
|
|
|
|
});
|
|
|
|
|
$P.$findn("btnRemoveRdct").on("click", function() {
|
|
|
|
|
$P.fnRemoveRdct($P.$findn("btnRemoveRdct").attr("title")); // 감경 등록
|
|
|
|
|
});
|
|
|
|
|
$P.$findn("btnCreateWrng").on("click", function() {
|
|
|
|
|
$P.fnCreateWrng($P.$findn("btnCreateWrng").attr("title")); // 계도 등록
|
|
|
|
|
});
|
|
|
|
|
$P.$findn("btnCreateLevyExcl").on("click", function() {
|
|
|
|
|
$P.fnCreateLevyExcl($P.$findn("btnCreateLevyExcl").attr("title")); // 비부과 등록
|
|
|
|
|
});
|
|
|
|
|
$P.$findn("btnUpdateLevyExcl").on("click", function() {
|
|
|
|
|
$P.fnUpdateLevyExcl($P.$findn("btnUpdateLevyExcl").attr("title")); // 부과제외 수정
|
|
|
|
|
});
|
|
|
|
|
$P.$findn("btnRemoveLevyExcl").on("click", function() {
|
|
|
|
|
$P.fnRemoveLevyExcl($P.$findn("btnRemoveLevyExcl").attr("title")); // 부과제외 삭제
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// DataTables width 변경 조정
|
|
|
|
|
Componentization.fnMakeResizableTable($P.findn("tableRspnsCrdnSttsHstry"));
|
|
|
|
|
Componentization.fnMakeResizableTable($P.findn("tableRspnsPayerHstry"));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 초기 화면 설정
|
|
|
|
|
$P.fnReset = (reset = true) => {
|
|
|
|
|
if (reset) {
|
|
|
|
|
// 초기화
|
|
|
|
|
$P.findn("frmEditRdct").reset(); // 감경 화면 초기화
|
|
|
|
|
$P.findn("frmEditLevyExcl").reset(); // 부과제외 화면 초기화
|
|
|
|
|
$P.ctrlRdct.dataset.clear(); // 감경 Dataset 초기화
|
|
|
|
|
$P.ctrlLevyExcl.dataset.clear(); // 부과제외 Dataset 초기화
|
|
|
|
|
$P.ctrlCrdnSttsHstry.dataset.clear(); // 단속상태 이력 Dataset 초기화
|
|
|
|
|
$P.ctrlPayerAddrHstrys.dataset.clear(); // 단속 납부자주소 이력 Dataset 초기화
|
|
|
|
|
}
|
|
|
|
|
<%--
|
|
|
|
|
// 화면 호출(callPurpose)이 view가 아니라면 버튼 활성화 disabled = false
|
|
|
|
|
if (pageObject["${pageNameMain}"].callPurpose != "view") {
|
|
|
|
|
$P.$findn("btnCreateRdct").prop("disabled", false);
|
|
|
|
|
$P.$findn("btnUpdateRdct").prop("disabled", false);
|
|
|
|
|
$P.$findn("btnRemoveRdct").prop("disabled", false);
|
|
|
|
|
$P.$findn("btnCreateWrng").prop("disabled", false);
|
|
|
|
|
$P.$findn("btnCreateLevyExcl").prop("disabled", false);
|
|
|
|
|
$P.$findn("btnUpdateLevyExcl").prop("disabled", false);
|
|
|
|
|
$P.$findn("btnRemoveLevyExcl").prop("disabled", false);
|
|
|
|
|
}
|
|
|
|
|
--%>
|
|
|
|
|
let crdnSttsCd = pageObject["sprt02010"].ctrlMain.dataset.getDataset()[0].CRDN_STTS_CD;
|
|
|
|
|
$P.$findn("btnCreateWrng").prop("disabled", crdnSttsCd != "21");
|
|
|
|
|
$P.$findn("btnCreateLevyExcl").prop("disabled", crdnSttsCd == "81");
|
|
|
|
|
let exclWarn = "81,83".includes(crdnSttsCd), <%-- 부과제외 또는 계도 --%>
|
|
|
|
|
label = "83" == crdnSttsCd ? "계도" : "부과제외",
|
|
|
|
|
button = $P.$findn("btnUpdateLevyExcl");
|
|
|
|
|
button
|
|
|
|
|
.attr("title", label + " 수정")
|
|
|
|
|
.html(button.attr("title"))
|
|
|
|
|
.prop("disabled", !exclWarn);
|
|
|
|
|
button = $P.$findn("btnRemoveLevyExcl");
|
|
|
|
|
button
|
|
|
|
|
.attr("title", label + " 삭제")
|
|
|
|
|
.html(button.attr("title"))
|
|
|
|
|
.prop("disabled", !exclWarn);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**************************************************************************
|
|
|
|
|
* 최초 실행 함수
|
|
|
|
|
**************************************************************************/
|
|
|
|
|
// 1. 이벤트 설정
|
|
|
|
|
$P.setEvent();
|
|
|
|
|
|
|
|
|
|
// 2. 초기 화면 설정
|
|
|
|
|
$P.fnReset();
|
|
|
|
|
|
|
|
|
|
// 3. Dataset 설정
|
|
|
|
|
let rdctInfo = ${rdctInfo}; // 감경 정보
|
|
|
|
|
if (rdctInfo) { $P.ctrlRdct.setData([rdctInfo]); }
|
|
|
|
|
|
|
|
|
|
let levyExclInfo = ${levyExclInfo}; // 부과제외 정보
|
|
|
|
|
if (levyExclInfo) { $P.ctrlLevyExcl.setData([levyExclInfo]); }
|
|
|
|
|
|
|
|
|
|
$P.ctrlCrdnSttsHstry.setData(${crdnSttsHstrys}); // 단속상태 이력
|
|
|
|
|
$P.ctrlPayerAddrHstrys.setData(${payerAddrHstrys}); // 납부자주소 이력
|
|
|
|
|
});
|
|
|
|
|
//# sourceURL=sprt02050-info.jsp
|
|
|
|
|
</script>
|