롤백 소스 복구.

main
jjh 5 months ago
parent b92fb4d657
commit 5cae54f740

@ -315,7 +315,8 @@ public class Crdn06Controller extends ApplicationController {
return mav
.addObject("openerPageName", hReq.getParameter("openerPageName")) // 호출한 Jsp PageName
.addObject("pageName", "crdn06020") // jsp pageName
.addObject("infoPrefixUrl", "/crdn/crdn06") // prefixUrl
.addObject("infoPrefix", "crdn") // prefix
.addObject("infoPrefixUrl", CLASS_URL) // prefixUrl
.addObject("crdnInfo", json ? crdnInfo : toJson(crdnInfo))
;
}
@ -366,9 +367,10 @@ public class Crdn06Controller extends ApplicationController {
return mav
.addObject("openerPageName", hReq.getParameter("openerPageName")) // 호출한 Jsp PageName
.addObject("pageName", "crdn06030") // jsp pageName
.addObject("infoPrefixUrl", "/crdn/crdn06") // prefixUrl
.addObject("infoPrefix", "crdnSttsCd") // prefix
.addObject("infoPrefixUrl", CLASS_URL) // prefixUrl
.addObject("FIM010List", commonCodes.get("FIM010")) // 단속 처리 상태 코드(CRDN_STTS_CD)
.addObject("crdnInfo", json ? crdnInfo : toJson(crdnInfo))
.addObject("crdnSttsCdInfo", json ? crdnInfo : toJson(crdnInfo))
;
}

@ -435,7 +435,9 @@ public class Sndb01Controller extends ApplicationController {
.addObject("pageName", "sndb01040") // View(jsp)에서 사용할 id 뒤에 붙일 suffix
.addObject("infoPrefix", "wrngSndngDtl") // prefix
.addObject("infoPrefixUrl", CLASS_URL) // prefixUrl
.addObject("mainQuery", toJson(req)) // 검색 조건
.addObject("sggCd", req.getSggCd()) // 시군구 코드(SGG_CD)
.addObject("taskSeCd", req.getTaskSeCd()) // 업무 구분 코드(TASK_SE_CD)
.addObject("sndngId", req.getSndngId()) // 발송 ID(SNDNG_ID)
.addObject("wrngSndngDtlList", toJson(mav.getModel().get("wrngSndngDtlList"))) // 자료
;
}
@ -767,7 +769,9 @@ public class Sndb01Controller extends ApplicationController {
.addObject("pageName", "sndb01080") // View(jsp)에서 사용할 id 뒤에 붙일 suffix
.addObject("infoPrefix", "advntceSndngDtl") // prefix
.addObject("infoPrefixUrl", CLASS_URL) // prefixUrl
.addObject("mainQuery", toJson(req)) // 검색 조건
.addObject("sggCd", req.getSggCd()) // 시군구 코드(SGG_CD)
.addObject("taskSeCd", req.getTaskSeCd()) // 업무 구분 코드(TASK_SE_CD)
.addObject("sndngId", req.getSndngId()) // 발송 ID(SNDNG_ID)
.addObject("advntceSndngDtlList", toJson(mav.getModel().get("advntceSndngDtlList"))) // 자료
;
}
@ -1150,7 +1154,9 @@ public class Sndb01Controller extends ApplicationController {
.addObject("pageName", "sndb01120") // View(jsp)에서 사용할 id 뒤에 붙일 suffix
.addObject("infoPrefix", "nhtSndngDtl") // prefix
.addObject("infoPrefixUrl", CLASS_URL) // prefixUrl
.addObject("mainQuery", toJson(req)) // 검색 조건
.addObject("sggCd", req.getSggCd()) // 시군구 코드(SGG_CD)
.addObject("taskSeCd", req.getTaskSeCd()) // 업무 구분 코드(TASK_SE_CD)
.addObject("sndngId", req.getSndngId()) // 발송 ID(SNDNG_ID)
.addObject("nhtSndngDtlList", toJson(mav.getModel().get("nhtSndngDtlList"))) // 자료
;
}

@ -163,13 +163,6 @@
<if test="schRtpyrNm != null">
AND P.RTPYR_NM = #{schRtpyrNm} <!-- 납부자 명 -->
</if>
<if test="sggCd != null">
AND C.SGG_CD = #{sggCd} <!-- 시군구 코드 -->
</if>
<if test="taskSeCd != null">
AND C.TASK_SE_CD = #{taskSeCd} <!-- 업무 구분 코드 -->
</if>
AND C.DEL_YN = 'N' <!-- 단속 삭제 여부 -->
<choose>
<when test="schRegDateOpt == 'regDt'">
<if test="schRegDateFrom != null">
@ -242,6 +235,9 @@
</otherwise>
</choose>
</if>
AND C.SGG_CD = #{sggCd} <!-- 시군구 코드 -->
AND C.TASK_SE_CD = #{taskSeCd} <!-- 업무 구분 코드 -->
AND C.DEL_YN = 'N' <!-- 단속 삭제 여부 -->
</where>
<include refid="utility.orderBy" />
<include refid="utility.paging-suffix" />
@ -400,7 +396,7 @@
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'), '%')
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'), '%')

@ -1,21 +1,21 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false" session="false"%>
<%@ include file="/WEB-INF/jsp/include/taglib.jsp"%>
<c:set var="prefixName" scope="request">단속자료 수정</c:set>
<c:set var="prefixName" scope="request">단속 자료 수정</c:set>
<!-- inner page html -->
<div class="content-wrapper">
<div class="content-pop">
<!-- Content -->
<div class="container-xxl flex-grow-1 px-0">
<!-- Page Body -->
<div class="card">
<!-- 입력 영역 -->
<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="crdnId--${pageName}" name="crdnId" data-map="CRDN_ID" />
<div class="row g-1">
<!-- 단속 일자 -->
@ -39,16 +39,12 @@
<div class="col-md-6">
<label for="vhrno--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">차량번호</label>
<input type="text" id="vhrno--${pageName}" name="vhrno" class="form-control w-30" data-map="VHRNO" />
<button type="button" id="btnVehicle--${pageName}" class="btn btn-sm btn-outline-dark" title="차량 검색">
조회
</button>
<button type="button" id="btnVehicle--${pageName}" class="btn btn-sm btn-outline-dark" title="차량 검색">조회</button>
</div>
<!-- 위반 내용 -->
<div class="col-md-6">
<label for="vltnCd--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">
위반내용
</label>
<select class="form-select" id="vltnCd--${pageName}" name="vltnCd" data-map="VLTN_CD">
<label for="vltnCd--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">위반내용</label>
<select class="form-select w-px-160" id="vltnCd--${pageName}" name="vltnCd" data-map="VLTN_CD">
<c:forEach items="${VLTNList}" var="item">
<option value="${item.code}">${item.value}</option>
</c:forEach>
@ -56,10 +52,7 @@
</div>
<!-- 법정동 -->
<div class="col-md-6 select2-primary">
<label for="crdnStdgNm--${pageName}"
class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">
법정동
</label>
<label for="crdnStdgNm--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">법정동</label>
<input type="text" id="crdnStdgNm--${pageName}" name="crdnStdgNm"
class="form-control w-40" data-map="CRDN_STDG_NM" list="stdgNmList--${pageName}" />
<datalist id="stdgNmList--${pageName}">
@ -70,19 +63,13 @@
</div>
<!-- 도로명 -->
<div class="col-md-6 select2-primary">
<label for="crdnRoadNm--${pageName}"
class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">
도로명
</label>
<label for="crdnRoadNm--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">도로명</label>
<input type="text" id="crdnRoadNm--${pageName}" name="crdnRoadNm"
class="form-control w-40" data-map="CRDN_ROAD_NM" />
</div>
<!-- 단속 장소 -->
<div class="col-md-12">
<label for="crdnPlc--${pageName}"
class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">
단속장소
</label>
<label for="crdnPlc--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">단속장소</label>
<input type="text" id="crdnPlc--${pageName}" name="crdnPlc"
class="form-control w-80" data-map="CRDN_PLC" data-maxlengthb="200" />
</div>
@ -90,10 +77,7 @@
<div class="col-md-12" slot="edit">
<template class="bpv">
<slot>
<label for="dtlCrdnPlc--${pageName}"
class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">
상세단속장소
</label>
<label for="dtlCrdnPlc--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">상세단속장소</label>
<input type="text" id="dtlCrdnPlc--${pageName}" name="dtlCrdnPlc"
class="form-control w-80" data-map="DTL_CRDN_PLC" data-maxlenghb="200" />
</slot>
@ -102,10 +86,7 @@
<div class="col-md-6" slot="edit">
<template class="pvs">
<slot>
<label for="crdnSpareaCd--${pageName}"
class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">
특별구역
</label>
<label for="crdnSpareaCd--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">특별구역</label>
<select id="crdnSpareaCd--${pageName}" name="crdnSpareaCd"
class="form-select" data-map="CRDN_SPAREA_CD">
<c:forEach items="${FIM007List}" var="item">
@ -129,42 +110,30 @@
</div>
<!-- 기타 내용 -->
<div class="col-md-12">
<label for="etcCn--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">
특기사항
</label>
<label for="etcCn--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">특기사항</label>
<input type="text" id="etcCn--${pageName}" name="etcCn"
class="form-control w-80" data-map="ETC_CN" data-maxlengthb="1000" />
</div>
<div class="col-md-6">
<label for="vin--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">
차대번호
</label>
<label for="vin--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">차대번호</label>
<input type="text" id="vin--${pageName}" name="vin"
class="form-control" data-map="VIN" readonly placeholder="입력항목이 아닙니다." />
</div>
<div class="col-md-6">
<label for="vhclNm--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">
차량명칭
</label>
<label for="vhclNm--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">차량명칭</label>
<input type="text" id="vhclNm--${pageName}" name="vhclNm"
class="form-control" data-map="VHCL_NM" readonly placeholder="입력항목이 아닙니다." />
</div>
<div class="col-md-6">
<label for="vhclColor--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">
차량색상
</label>
<label for="vhclColor--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">차량색상</label>
<input type="text" id="vhclColor--${pageName}" name="vhclColor"
class="form-control" data-map="VHCL_COLOR" readonly placeholder="입력항목이 아닙니다." />
</div>
<div class="col-md-12" slot="edit">
<template class="pvs bpv">
<slot>
<label for="ffnlgCarmdlCd--${pageName}"
class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">
차종
</label>
<select id="ffnlgCarmdlCd--${pageName}" name="ffnlgCarmdlCd"
class="form-select" data-map="FFNLG_CARMDL_CD">
<label for="ffnlgCarmdlCd--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">차종</label>
<select id="ffnlgCarmdlCd--${pageName}" name="ffnlgCarmdlCd" class="form-select" data-map="FFNLG_CARMDL_CD">
<option value=""></option>
<c:forEach items="${FIM009List}" var="item">
<option value="${item.code}">${item.value}</option>
@ -176,12 +145,8 @@
<div class="col-md-12" slot="edit">
<template class="eca">
<slot>
<label for="useFuelCd--${pageName}"
class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">
연료구분
</label>
<select id="useFuelCd--${pageName}"
class="form-select" name="useFuelCd" data-map="USE_FUEL_CD" disabled>
<label for="useFuelCd--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">연료구분</label>
<select id="useFuelCd--${pageName}" class="form-select" name="useFuelCd" data-map="USE_FUEL_CD" disabled>
<option value=""></option>
<c:forEach items="${LVS005List}" var="item">
<option value="${item.code}">${item.value}</option>
@ -193,10 +158,8 @@
<div class="col-md-6" slot="edit">
<template class="dpv eca pvs">
<slot>
<label for="towngYn--${pageName}"
class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">견인지시</label>
<select id="towngYn--${pageName}" name="towngYn"
class="form-select" data-map="TOWNG_YN">
<label for="towngYn--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">견인지시</label>
<select id="towngYn--${pageName}" name="towngYn" class="form-select w-px-120" data-map="TOWNG_YN">
<c:forEach items="${FIM053List}" var="item">
<option value="${item.code}">${item.value}</option>
</c:forEach>
@ -207,10 +170,7 @@
<div class="col-md-6" slot="edit">
<template class="dpv eca pvs">
<slot>
<label for="crdnSn--${pageName}"
class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">
스티커번호
</label>
<label for="crdnSn--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">스티커번호</label>
<input type="text" id="crdnSn--${pageName}" name="crdnSn"
class="form-control" data-map="CRDN_SN" maxlength="20" data-maxlengthb="20" />
</slot>
@ -219,12 +179,8 @@
<div class="col-md-6" slot="edit">
<template class="dpv">
<slot>
<label for="parkngPsbltyRsltCd--${pageName}"
class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">
장애차량확인
</label>
<select id="parkngPsbltyRsltCd--${pageName}" name="parkngPsbltyRsltCd"
class="form-select" data-map="PARKNG_PSBLTY_RSLT_CD">
<label for="parkngPsbltyRsltCd--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">장애차량확인</label>
<select id="parkngPsbltyRsltCd--${pageName}" name="parkngPsbltyRsltCd" class="form-select w-px-120" data-map="PARKNG_PSBLTY_RSLT_CD">
<c:forEach items="${FIM034List}" var="item">
<c:if test="${item.code == '0' or item.code == '1'}">
<option value="${item.code}">${item.value}</option>
@ -236,25 +192,26 @@
</div>
</div>
</form>
<!-- /입력 영역 -->
</div>
<!-- <div class="card"> -->
<!-- 입력 영역 -->
<!-- 업무 버튼 표시 -->
<!-- 업무 버튼 및 건수 표시 -->
<div>
<span class="container-page-btn">
<span class="container-window-btn-right">
<!-- 업무 버튼 -->
<span class="container-window-btn-right">
<button type="button" id="btnSave--${pageName}" class="btn btn-primary w-px-80" title="저장">
저장
</button>
</span>
</span>
</div>
<!-- / 업무 버튼 표시 -->
</div> <!-- 업무 버튼 및 건수 표시 -->
</div> <!-- <div class="card"> -->
<!-- Page Body -->
</div> <!-- / Content <div class="container-xxl flex-grow-1 px-0"> -->
</div> <!-- / inner page html <div class="content-wrapper"> -->
</div> <!-- <div class="container flex-grow-1 px-0"> -->
<!-- Content -->
</div>
<!-- / inner page html <div class="content-pop"> -->
<script>
/**************************************************************************

@ -4,28 +4,24 @@
<c:set var="prefixName" scope="request">단속 상태 정보</c:set>
<!-- inner page html -->
<div class="content-wrapper">
<div class="content-pop">
<!-- Content -->
<div class="container-xxl flex-grow-1 px-0">
<!-- Page Body -->
<div class="card">
<!-- 입력 영역 -->
<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="crdnId--${pageName}" name="crdnId" data-map="CRDN_ID" />
<div class="row g-1">
<!-- 단속 처리 상태 코드 -->
<div class="col-md-12">
<label for="crdnSttsCd--${pageName}"
class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end required">
처리 상태
</label>
<select id="crdnSttsCd--${pageName}" name="crdnSttsCd"
class="form-select" data-map="CRDN_STTS_CD" required>
<label for="crdnSttsCd--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end required">처리상태</label>
<select id="crdnSttsCd--${pageName}" name="crdnSttsCd" class="form-select" data-map="CRDN_STTS_CD" required>
<option value="">선택하세요</option>
<c:forEach items="${FIM010List}" var="item">
<option value="${item.code}">${item.value}</option>
@ -34,31 +30,31 @@
</div>
<!-- 기타 내용 --> <!-- DB에 등록할 때 문구가 추가로 붙기 때문에 data-maxlengthb="940" 으로 지정 -->
<div class="col-md-12">
<label for="etcCn--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">
기타 내용
</label>
<input type="text" id="etcCn--${pageName}" name="etcCn"
class="form-control w-85" data-maxlengthb="940" />
<label for="etcCn--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">기타내용</label>
<input type="text" class="form-control w-85" id="etcCn--${pageName}" name="etcCn" data-maxlengthb="940" />
</div>
</div>
</form> <!-- /입력 영역 -->
</div> <!-- <div class="card"> -->
</form>
<!-- 입력 영역 -->
<!-- 업무 버튼 표시 -->
<!-- 업무 버튼 및 건수 표시 -->
<div>
<span class="container-page-btn">
<span class="container-window-btn-right">
<!-- 업무 버튼 -->
<span class="container-window-btn-right">
<button type="button" id="btnSave--${pageName}" class="btn btn-primary w-px-80" title="저장">
저장
</button>
</span>
</span>
</div>
<!-- / 업무 버튼 표시 -->
</div> <!-- 업무 버튼 및 건수 표시 -->
</div> <!-- <div class="card"> -->
<!-- Page Body -->
</div> <!-- / Content <div class="container-xxl flex-grow-1 px-0"> -->
</div> <!-- / inner page html <div class="content-wrapper"> -->
</div> <!-- <div class="container flex-grow-1 px-0"> -->
<!-- Content -->
</div>
<!-- / inner page html <div class="content-pop"> -->
<script>
/**************************************************************************
@ -85,7 +81,7 @@
prefix: "crdnSttsCd"
, prefixName: "단속처리상태"
, keymapper: info => info ? info.CRDN_ID : ""
, dataGetter: obj => obj.crdnInfo
, dataGetter: obj => obj.${infoPrefix}Info
});
/**************************************************************************
@ -108,8 +104,8 @@
let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, dialogTitle);
dialog.alert({
content : showMessage
, init : function(){
content: showMessage
, init: function() {
setDialogZindex();
focusClose();
}
@ -148,10 +144,9 @@
if (!customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return;
dialog.alert({
content : "현재 " + $P.control.prefixName + " 정보를 저장하시겠습니까?"
, init : function() {
focusOK();
}, onOK : () => {
content: "현재 " + $P.control.prefixName + " 정보를 저장하시겠습니까?"
, init: function() { focusOK(); }
, onOK: () => {
$P.control.save($P.formFields.get()); // formFields
}
});
@ -168,7 +163,7 @@
// 초기 화면 설정
$P.initForm = () => {
//
}
/**************************************************************************
@ -181,7 +176,7 @@
$P.initForm();
// 3. Dataset 설정
$P.control.setData([${crdnInfo}]);
$P.control.setData([${crdnSttsCdInfo}]);
});
</script>

@ -60,7 +60,7 @@
<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 fw-bold w-px-120 text-end" id="byOutput--${pageName}" value="동적 검색" readonly />

@ -1,7 +1,7 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false" session="false"%>
<%@ include file="/WEB-INF/jsp/include/taglib.jsp"%>
<c:set var="prefixName" scope="request">사전 감경부과</c:set>
<c:set var="prefixName" scope="request">사전 감경 부과</c:set>
<!-- inner page html -->
<div class="content-wrapper">

@ -9,8 +9,7 @@
<div class="container-xxl flex-grow-1 px-0">
<!-- Page Body -->
<div class="card">
<div class="wrapper-list">
<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="초기화">
@ -288,8 +287,7 @@
</div>
</div>
</div> <!-- DataTables(그리드) -->
</div> <!-- <div class="wrapper-list"> -->
</div> <!-- <div class="card"> -->
</div> <!-- <div class="card wrapper-list"> -->
<!-- Page Body -->
</div> <!-- <div class="container-xxl flex-grow-1 px-0"> -->
<!-- Content -->

@ -9,8 +9,7 @@
<div class="container-xxl flex-grow-1 px-0">
<!-- Page Body -->
<div class="card">
<div class="wrapper-list">
<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="초기화">
@ -214,8 +213,7 @@
</div>
</div>
</div> <!-- DataTables(그리드) -->
</div> <!-- <div class="wrapper-list"> -->
</div> <!-- <div class="card"> -->
</div> <!-- <div class="card wrapper-list"> -->
<!-- Page Body -->
</div> <!-- <div class="container-xxl flex-grow-1 px-0"> -->
<!-- Content -->
@ -541,21 +539,22 @@
// 삭제 메세지 확인
dialog.alert({
content: "선택하신 " + selected.length + "건의 " + $P.control.prefixName + " 정보를 삭제하시겠습니까?"
, onOK: async() => {
, onOK: () => {
// 삭제 사유 입력
let resp = await fetch(wctx.url("/resources/html/inputRsnDialog.html"));
let template = await resp.text();
fetch(wctx.url("/resources/html/inputRsnDialog.html"))
.then(function(resp) { return resp.text(); })
.then(function(template) {
dialog.open({
id: "inputDelRsnDialog"
, title: title
, size : "lg"
, size: "lg"
, content: template
, init: () => { setDialogZindex(); }
, onOK: () => {
$P.callbackRsn({ reason: $("#reason").val() });
}
});
});
}
});
}

@ -14,6 +14,7 @@
<form id="frmEdit--${pageName}" name="frmEdit">
<input type="hidden" id="sggCd--${pageName}" name="sggCd" />
<input type="hidden" id="taskSeCd--${pageName}" name="taskSeCd" />
<input type="hidden" id="sndngId--${pageName}" name=sndngId />
</form>
<!-- 입력 영역 -->
@ -136,8 +137,6 @@
$P.callPurpose = "${callPurpose}";
// FormFields
$P.formFields = new FimsFormFields("#frmEdit--${pageName}");
// main 의 검색 조건을 그대로 유지
$P.mainQuery = ${mainQuery};
/**************************************************************************
* DatasetControl
@ -260,6 +259,12 @@
// 출력
$P.print = (params) => {
if (!params) return;
dialog.alert({
content: "작업중입니다"
, onOK: () => {
}
});
}
/**************************************************************************
@ -276,6 +281,11 @@
return;
}
// 검색조건
$P.control.query = $P.formFields.get(); // 검색 조건
$P.control.query.fetchSize = $P.control.defaultFetchSize; // 한번에 조회되는 자료 건수
$P.control.query.delYn = "N"; // 삭제 여부
// DataTables(그리드)
let cellDefs = getCellDefs($("#theadTr--${pageName} th").not(".dummy-th").not(":eq(0)")
, $($("#${infoPrefix}Row--${pageName}")[0].content).find("td").not(".dummy-td").not(":eq(0)"));
@ -290,8 +300,7 @@
if (!customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return;
dialog.alert({
// content: $P.control.prefixName + " 정보를 출력하시겠습니까?"
content: "작업중입니다"
content: $P.control.prefixName + " 정보를 출력하시겠습니까?"
, onOK: () => {
$P.print($P.formFields.get());
}
@ -334,15 +343,12 @@
$("#frmEdit--${pageName}")[0].reset();
// 기본 데이터 설정
$("#sggCd--${pageName}").val($P.mainQuery.sggCd); // 시군구 코드
$("#taskSeCd--${pageName}").val($P.mainQuery.taskSeCd); // 업무 구분 코드
// 검색 조건 설정
$P.control.defaultFetchSize = $P.mainQuery.fetchSize;
$P.control.query = $P.mainQuery;
$("#sggCd--${pageName}").val("${sggCd}"); // 시군구 코드
$("#taskSeCd--${pageName}").val("${taskSeCd}"); // 업무 구분 코드
$("#sndngId--${pageName}").val("${sndngId}"); // 발송 ID
// 업무 구분별 설정
$P.setTask($P.mainQuery.taskSeCd);
$P.setTask("${taskSeCd}");
}
// 업무 구분별 설정

@ -9,8 +9,7 @@
<div class="container-xxl flex-grow-1 px-0">
<!-- Page Body -->
<div class="card">
<div class="wrapper-list">
<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="초기화">
@ -34,7 +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">
@ -47,7 +46,7 @@
</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">
@ -72,7 +71,7 @@
<!-- -->
<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 />
@ -214,8 +213,7 @@
</div>
</div>
</div> <!-- DataTables(그리드) -->
</div> <!-- <div class="wrapper-list"> -->
</div> <!-- <div class="card"> -->
</div> <!-- <div class="card wrapper-list"> -->
<!-- Page Body -->
</div> <!-- <div class="container-xxl flex-grow-1 px-0"> -->
<!-- Content -->
@ -541,11 +539,11 @@
// 삭제 메세지 확인
dialog.alert({
content: "선택하신 " + selected.length + "건의 " + $P.control.prefixName + " 정보를 삭제하시겠습니까?"
, onOK: async() => {
, onOK: () => {
// 삭제 사유 입력
let resp = await fetch(wctx.url("/resources/html/inputRsnDialog.html"));
let template = await resp.text();
fetch(wctx.url("/resources/html/inputRsnDialog.html"))
.then(function(resp) { return resp.text(); })
.then(function(template) {
dialog.open({
id: "inputDelRsnDialog"
, title: title
@ -556,6 +554,7 @@
$P.callbackRsn({ reason: $("#reason").val() });
}
});
});
}
});
}

@ -14,6 +14,7 @@
<form id="frmEdit--${pageName}" name="frmEdit">
<input type="hidden" id="sggCd--${pageName}" name="sggCd" />
<input type="hidden" id="taskSeCd--${pageName}" name="taskSeCd" />
<input type="hidden" id="sndngId--${pageName}" name=sndngId />
</form>
<!-- 입력 영역 -->
@ -146,7 +147,6 @@
</div> <!-- <div class="card"> -->
<!-- Page Body -->
<span id="tempArea--${pageName}" hidden></span>
</div> <!-- <div class="container flex-grow-1 px-0"> -->
<!-- Content -->
</div>
@ -169,8 +169,6 @@
$P.callPurpose = "${callPurpose}";
// FormFields
$P.formFields = new FimsFormFields("#frmEdit--${pageName}");
// main 의 검색 조건을 그대로 유지
$P.mainQuery = ${mainQuery};
/**************************************************************************
* DatasetControl
@ -373,7 +371,7 @@
});
}
// // 반송 확인(종적결과 등록)
// 반송 확인(종적결과 등록)
$P.createSndbk = (params) => {
if (!params) return;
@ -406,6 +404,11 @@
return;
}
// 검색조건
$P.control.query = $P.formFields.get(); // 검색 조건
$P.control.query.fetchSize = $P.control.defaultFetchSize; // 한번에 조회되는 자료 건수
$P.control.query.delYn = "N"; // 삭제 여부
// DataTables(그리드)
let cellDefs = getCellDefs($("#theadTr--${pageName} th").not(".dummy-th").not(":eq(0)")
, $($("#${infoPrefix}Row--${pageName}")[0].content).find("td").not(".dummy-td").not(":eq(0)"));
@ -562,7 +565,7 @@
content: "종적결과를 확인하시겠습니까?"
, onOK: () => {
// 파리미터 설정
let params = $P.mainQuery; // mainQuery
let params = $P.formFields.get(); // mainQuery
params.title = title; // 타이틀
$P.createSndbk(params);
@ -630,21 +633,18 @@
$("#frmEdit--${pageName}")[0].reset();
// 기본 데이터 설정
$("#sggCd--${pageName}").val($P.mainQuery.sggCd); // 시군구 코드
$("#taskSeCd--${pageName}").val($P.mainQuery.taskSeCd); // 업무 구분 코드
$("#sggCd--${pageName}").val("${sggCd}"); // 시군구 코드
$("#taskSeCd--${pageName}").val("${taskSeCd}"); // 업무 구분 코드
$("#sndngId--${pageName}").val("${sndngId}"); // 발송 ID
// 업무가 주정차위반(PVS) 또는 전용차로위반(BPV) 이라면..
if ($P.mainQuery.taskSeCd == "PVS" || $P.mainQuery.taskSeCd == "BPV") {
if ("${taskSeCd}" == "PVS" || "${taskSeCd}" == "BPV") {
$("#btnLinkNxrpIndivA01--${pageName}").prop("disabled", true);
$("#btnLinkNxrpIndivA03--${pageName}").prop("disabled", true);
}
// 검색 조건 설정
$P.control.defaultFetchSize = $P.mainQuery.fetchSize;
$P.control.query = $P.mainQuery;
// 업무 구분별 설정
$P.setTask($P.mainQuery.taskSeCd);
$P.setTask("${taskSeCd}");
}
// 업무 구분별 설정

@ -7,9 +7,9 @@
<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="card wrapper-list">
<!-- 상단 버튼 -->
<div class="container-page-btn">
<button type="button" class="btn btn-outline-dark w-px-120" id="btnReset--${pageName}" title="초기화">
@ -23,20 +23,19 @@
엑셀
</button>
</span>
</div>
<!-- / 상단 버튼 -->
</div> <!-- 상단 버튼 -->
<!-- 검색 조건 영역 -->
<form id="frmSearch--${pageName}" name="frmSearch">
<!-- hidden -->
<input type="hidden" id="sggCd--${pageName}" name="sggCd" data-map="SGG_CD" />
<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">업무구분</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>
@ -47,9 +46,9 @@
</c:forEach>
</span>
</div>
<!-- 발송일자 -->
<!-- 발송 일자 -->
<div class="col-6">
<span class="form-label fw-bold form-search-title">발송일자</span>
<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="시작 날짜 선택" />
@ -60,7 +59,7 @@
<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 />
@ -76,14 +75,14 @@
</span>
</div>
</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 text-center" id="schRegDateOpt--${pageName}" name="schRegDateOpt">
<select class="form-select w-px-120 text-center" id="schRegDateOpt--${pageName}" name="schRegDateOpt">
<option value="regDt">등록일자</option>
<option value="mdfcnDt">수정일자</option>
</select>
@ -99,20 +98,18 @@
</div>
<!-- 등록자명, 수정자명 -->
<div class="col-6">
<select class="form-select text-center" id="schRgtrOpt--${pageName}" name="schRgtrOpt">
<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" id="schRgtrNm--${pageName}" name="schRgtrNm" />
<button type="button" class="btn btn-sm btn-outline-dark" id="btnFindUser--${pageName}" title="사용자 검색">
검색
</button>
<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> <!-- / 상세 조건 -->
</div> <!-- 상세 조건 -->
</form>
<!-- / 검색 조건 영역 -->
<!-- 검색 조건 영역 -->
<!-- 업무 버튼 및 건수 표시 -->
<div>
@ -123,8 +120,8 @@
<ul class="pagination pagination-primary" id="paging--${pageName}">
</ul>
</div>
<span class="container-window-btn-right">
<!-- 업무 버튼 -->
<span class="container-window-btn-right">
<button type="button" class="btn btn-primary w-px-120" id="btnCreateNhtSndng--${pageName}" title="고지서 발송 등록">
발송 등록
</button>
@ -134,7 +131,7 @@
</span>
</span>
</div>
<!-- / 업무 버튼 및 건수 표시 -->
<!-- 업무 버튼 및 건수 표시 -->
<!-- DataTables(그리드) -->
<div class="card-datatable text-nowrap">
@ -207,12 +204,11 @@
</table>
</div>
</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,8 +9,7 @@
<div class="container-xxl flex-grow-1 px-0">
<!-- Page Body -->
<div class="card">
<div class="wrapper-list">
<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="초기화">
@ -34,7 +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">
@ -227,8 +226,7 @@
</div>
</div>
</div> <!-- DataTables(그리드) -->
</div> <!-- <div class="wrapper-list"> -->
</div> <!-- <div class="card"> -->
</div> <!-- <div class="card wrapper-list"> -->
<!-- Page Body -->
</div> <!-- <div class="container-xxl flex-grow-1 px-0"> -->
<!-- Content -->
@ -593,11 +591,11 @@
// 삭제 메세지 확인
dialog.alert({
content: "선택하신 " + selected.length + "건의 " + $P.control.prefixName + " 정보를 삭제하시겠습니까?"
, onOK: async() => {
, onOK: () => {
// 삭제 사유 입력
let resp = await fetch(wctx.url("/resources/html/inputRsnDialog.html"));
let template = await resp.text();
fetch(wctx.url("/resources/html/inputRsnDialog.html"))
.then(function(resp) { return resp.text(); })
.then(function(template) {
dialog.open({
id: "inputDelRsnDialog"
, title: title
@ -608,6 +606,7 @@
$P.callbackRsn({ reason: $("#reason").val() });
}
});
});
}
});
}

@ -12,7 +12,9 @@
<div class="card">
<!-- 입력 영역 -->
<form id="frmEdit--${pageName}" name="frmEdit">
<input type="hidden" id="sndngId--${pageName}" name="sndngId" data-map="SNDNG_ID" />
<input type="hidden" id="sggCd--${pageName}" name="sggCd" />
<input type="hidden" id="taskSeCd--${pageName}" name="taskSeCd" />
<input type="hidden" id="sndngId--${pageName}" name="sndngId" />
</form>
<!-- 입력 영역 -->
@ -39,9 +41,6 @@
<button type="button" class="btn btn-primary w-px-120" id="btnPrintNhtOutsourcing--${pageName}" title="고지서 출력(외주파일)">
고지서 출력(외주파일)
</button>
<button type="button" class="btn btn-primary w-px-120" id="btnRemoveDpcnData--${pageName}" title="중복자료 삭제">
중복자료 삭제
</button>
<button type="button" class="btn btn-primary w-px-120" id="btnCreateSndbk--${pageName}" title="반송 등록">
반송 확인
</button>
@ -162,8 +161,6 @@
$P.callPurpose = "${callPurpose}";
// FormFields
$P.formFields = new FimsFormFields("#frmEdit--${pageName}");
// main 의 검색 조건을 그대로 유지
$P.mainQuery = ${mainQuery};
/**************************************************************************
* DatasetControl
@ -330,6 +327,11 @@
return;
}
// 검색조건
$P.control.query = $P.formFields.get(); // 검색 조건
$P.control.query.fetchSize = $P.control.defaultFetchSize; // 한번에 조회되는 자료 건수
$P.control.query.delYn = "N"; // 삭제 여부
// DataTables(그리드)
let cellDefs = getCellDefs($("#theadTr--${pageName} th").not(".dummy-th").not(":eq(0)")
, $($("#${infoPrefix}Row--${pageName}")[0].content).find("td").not(".dummy-td").not(":eq(0)"));
@ -400,7 +402,7 @@
// 중복자료 삭제
$P.fnRemoveDpcnData = () => {
//
}
// 반송(종적결과) 확인
@ -412,7 +414,7 @@
content: "종적결과를 확인하시겠습니까?"
, onOK: () => {
// 파리미터 설정
let params = $P.mainQuery; // mainQuery
let params = $P.formFields.get(); // mainQuery
params.title = title; // 타이틀
$P.createSndbk(params);
@ -438,9 +440,6 @@
$("#btnPrintNhtOutsourcing--${pageName}").on("click", function() {
$P.fnMakeFileNht($(this).attr("title"), "outsourcing") // 고지서 출력(외주파일)
});
$("#btnRemoveDpcnData--${pageName}").on("click", function() {
$P.fnRemoveDpcnData($(this).attr("title")); // 중복자료 삭제
});
$("#btnCreateSndbk--${pageName}").on("click", function() {
$P.fnCreateSndbk($(this).attr("title")); // 반송 등록
});
@ -459,9 +458,6 @@
, ${infoPrefix}Fetch: ${nhtSndngDtlFetch}
, ${infoPrefix}Total: ${nhtSndngDtlTotal}
});
// 초기 데이터 설정
$P.initData();
});
}
@ -469,19 +465,20 @@
$P.initForm = () => {
// 화면 초기화
$("#frmEdit--${pageName}")[0].reset();
}
// 기 데이터 설정
$P.initData = () => {
// SNDNG_ID
$("#sndngId--${pageName}").val($P.control.dataset.getValue("SNDNG_ID"));
// 기 데이터 설정
$("#sggCd--${pageName}").val("${sggCd}"); // 시군구 코드
$("#taskSeCd--${pageName}").val("${taskSeCd}"); // 업무 구분 코드
$("#sndngId--${pageName}").val("${sndngId}"); // 발송 ID
// 검색 조건 설정
$P.control.defaultFetchSize = $P.mainQuery.fetchSize;
$P.control.query = $P.mainQuery;
// 업무 구분별 설정
$P.setTask("${taskSeCd}");
}
// 업무 구분별 설정
$P.setTask = (taskSeCd) => {
// 업무구분에 따른 URL 설정
$P.control.urls.load = wctx.url("/" + $P.mainQuery.taskSeCd + "${infoPrefixUrl}" + "/120/list.do"); // 검색
$P.control.urls.load = wctx.url("/" + taskSeCd + "${infoPrefixUrl}" + "/120/list.do"); // 검색
}
/**************************************************************************

@ -9,8 +9,7 @@
<div class="container-xxl flex-grow-1 px-0">
<!-- Page Body -->
<div class="card">
<div class="wrapper-list">
<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="초기화">
@ -310,8 +309,7 @@
</div>
</div>
</div> <!-- DataTables(그리드) -->
</div> <!-- <div class="wrapper-list"> -->
</div> <!-- <div class="card"> -->
</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,8 +9,7 @@
<div class="container-xxl flex-grow-1 px-0">
<!-- Page Body -->
<div class="card">
<div class="wrapper-list">
<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="초기화">
@ -204,11 +203,8 @@
</div>
</div>
</div> <!-- DataTables(그리드) -->
</div> <!-- <div class="wrapper-list"> -->
</div> <!-- <div class="card"> -->
</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,8 +2,7 @@
<%@ include file="/WEB-INF/jsp/include/taglib.jsp"%>
<!-- Page Body -->
<div class="card">
<div class="wrapper-list">
<div class="card wrapper-list">
<div>
<!-- 입력 영역 -->
<form id="frmEdit--${pageName}" name="frmEdit">
@ -38,7 +37,8 @@
<button type="button" id="btnNext--${pageName}" class="w-px-50 btn-PageDown">▶</button>
</div>
</div> <!-- <div class="row g-1"> -->
</form> <!-- /입력 영역 -->
</form>
<!-- 입력 영역 -->
</div>
<div class="nav-align-top">
@ -97,16 +97,12 @@
<div class="tab-pane fade" id="cvlcptDscsnInfo" role="tabpanel">민원상담 정보</div>
</div>
</div>
</div> <!-- <div class="wrapper-list"> -->
</div> <!-- <div class="card"> -->
</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);
}
// 다음 자료 조회
@ -232,172 +287,24 @@
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,7 +501,7 @@
**************************************************************************/
// 이벤트 설정
$P.setEvent = () => {
// 버튼 이벤트
// 기본 버튼 이벤트
$("#btnPrev--${pageName}").on("click", () => $P.fnPrev()); // 이전
$("#btnNext--${pageName}").on("click", () => $P.fnNext()); // 다음

@ -295,7 +295,6 @@
<jsp:include page="/WEB-INF/jsp/fims/photo-main.jsp" />
</div> <!-- <div class="d-flex flex-row justify-content-evenly"> -->
</div> <!-- <div class="content-pop"> -->
<!-- Page Body -->
<script>
/**************************************************************************
@ -561,7 +560,7 @@
, data: params || {}
, success: resp => {
dialog.open({
id: $P.control.prefixed("Dialog--${pageName}")
id: "payerDialog--${pageName}"
, title: dialogTitle
, content: resp
, size: "lg"

@ -175,7 +175,6 @@
</form>
<!-- 입력 영역 -->
</div> <!-- <div class="content-pop"> -->
<!-- Page Body -->
<script>
/**************************************************************************
@ -303,10 +302,9 @@
$("#frmEdit--${pageName}")[0].reset(); // 화면 초기화
$P.control.dataset.clear(); // Dataset 초기화
// 최상단 단속 Data 셋팅
if (resp.totalInfo) {
// sprt02010-main 단속 정보
pageObject["${pageNameMain}"].mainControl.setData([resp.totalInfo]);
}
// 의견제출 정보
if (resp.opnnSbmsnInfo) { $P.control.setData([resp.opnnSbmsnInfo]); }
}

@ -156,7 +156,7 @@
<th class="cmn" style="width: 120px">공시송달일자</th>
<th class="cmn" style="width: 180px">문서번호</th>
<th class="cmn" style="width: 280px">제목</th>
<th class="cmn" style="width: 200px">기타내용</th>
<th class="cmn" style="width: 280px">기타내용</th>
<th class="cmn" style="width: 180px">등록일시</th>
<th class="cmn" style="width: 140px">등록사용자</th>
<th class="cmn dummy-th"></th>
@ -190,7 +190,6 @@
<!-- 공시송달 이력 -->
</div> <!-- <div class="d-flex flex-row justify-content-evenly"> -->
</div> <!-- <div class="content-pop"> -->
<!-- Page Body -->
<script>
/**************************************************************************
@ -405,7 +404,7 @@
url: wctx.url("/" + params.taskSeCd + "/sprt/sprt02/040/info.do")
, headers: { Accept: "application/json; charset=utf-8" } // json
, data: params || {}
, success : resp => {
, success: resp => {
// 초기화
$("#frmEdit--${pageName}")[0].reset(); // 화면 초기화
$P.sndngDtlControl.dataset.clear(); // 발송 상세 Dataset 초기화

@ -241,7 +241,6 @@
<!-- 주소 변동 이력 -->
</div> <!-- <div class="d-flex flex-row justify-content-evenly"> -->
</div> <!-- <div class="content-pop"> -->
<!-- Page Body -->
<script>
/**************************************************************************
@ -537,12 +536,10 @@
// sprt02010-main 단속 정보
pageObject["${pageNameMain}"].mainControl.setData([resp.totalInfo]);
// 감경 정보
if (resp.rductInfo) { $P.rductControl.setData([resp.rductInfo]); }
// 부과제외 정보
if (resp.levyExclInfo) { $P.levyExclControl.setData([resp.levyExclInfo]); }
// Dataset 셋팅
if (resp.rductInfo) { $P.rductControl.setData([resp.rductInfo]); } // 감경 정보
if (resp.levyExclInfo) { $P.levyExclControl.setData([resp.levyExclInfo]); } // 부과제외 정보
$P.crdnSttsHstryControl.setData(resp.crdnSttsHstrys); // 단속상태 이력
$P.payerHstryControl.setData(resp.payerHstrys); // 납부자 이력
}

@ -265,7 +265,6 @@
<!-- 압류 정보 -->
</div> <!-- <div class="d-flex flex-row justify-content-evenly"> -->
</div> <!-- <div class="content-pop"> -->
<!-- Page Body -->
<script>
/**************************************************************************
@ -382,8 +381,8 @@
// sprt02010-main 단속 정보
pageObject["${pageNameMain}"].mainControl.setData([resp.totalInfo]);
// 부과 정보
if (resp.levyInfo) { $P.control.setData([resp.levyInfo]); }
// Dataset 셋팅
if (resp.levyInfo) { $P.control.setData([resp.levyInfo]); } // 부과 정보
}
});
}

@ -221,7 +221,6 @@
<!-- 수납 정보 -->
</div> <!-- <div class="d-flex flex-row justify-content-evenly"> -->
</div> <!-- <div class="content-pop"> -->
<!-- Page Body -->
<script>
/**************************************************************************

@ -88,7 +88,6 @@
<!-- 민원 상담 정보 -->
</div> <!-- <div class="d-flex flex-row justify-content-evenly"> -->
</div> <!-- <div class="content-pop"> -->
<!-- Page Body -->
<script>
/**************************************************************************

Loading…
Cancel
Save