소스 수정.

main
jjh 12 months ago
parent 405ffb99b5
commit 11b06749bf

@ -45,8 +45,6 @@
, LE.DLTR /* 삭제자 */
, LE.DEL_RSN /* 삭제 사유 */
, C.CRDN_ID /* 단속 ID */
, C.CRDN_REG_SE_CD /* 단속 등록 구분 코드 */
, C.CRDN_INPT_SE_CD /* 단속 입력 구분 코드 */
, C.CRDN_YMD /* 단속 일자 */
, C.CRDN_TM /* 단속 시각 */
, C.VHRNO /* 차량번호 */
@ -76,12 +74,10 @@
, CC.CVLCPT_RCPT_NO /* 민원 접수 번호 */
, CC.CVLCPT_PRCS_CD /* 민원 처리 코드 */
, CC.CVLCPT_PRCS_CMPTN_DT /* 민원 처리 완료 일시 */
, (CONCAT(C.CRDN_YMD, C.CRDN_TM)) AS CRDN_YMD_TM /* 단속 일시 */
, (SELECT GET_CODE_NM('FIM054', LE.TASK_SE_CD) FROM DUAL) AS TASK_SE_NM /* 업무 구분 명 */
, (SELECT GET_CODE_NM('FIM021', LE.LEVY_EXCL_SE_CD) FROM DUAL) AS LEVY_EXCL_SE_NM /* 부과 제외 구분 명 */
, (SELECT GET_CODE_NM('FIM022', LE.LEVY_EXCL_RSN_CD) FROM DUAL) AS LEVY_EXCL_RSN_NM /* 부과 제외 사유 명 */
, (SELECT GET_CODE_NM('FIM026', C.CRDN_REG_SE_CD) FROM DUAL) AS CRDN_REG_SE_NM /* 단속 등록 구분 명 */
, (SELECT GET_CODE_NM('FIM003', C.CRDN_INPT_SE_CD) FROM DUAL) AS CRDN_INPT_SE_NM /* 단속 입력 구분 명 */
, (CONCAT(C.CRDN_YMD, C.CRDN_TM)) AS CRDN_YMD_TM /* 단속 일시 */
, (SELECT GET_CODE_NM('FIM010', C.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM /* 단속 상태 명 */
, (SELECT GET_CODE_NM('FIM002', CA.CRDN_SE_CD) FROM DUAL) AS CRDN_SE_NM /* 단속 구분 명 */
, (SELECT GET_CODE_NM('FIM007', CA.CRDN_SPAREA_CD) FROM DUAL) AS CRDN_SPAREA_NM /* 단속 특별구역 명 */
@ -236,45 +232,45 @@
</select>
<sql id="select">
SELECT C.CRDN_ID <!-- 단속 ID -->
, C.SGG_CD <!-- 시군구 코드 -->
, C.TASK_SE_CD <!-- 업무 구분 코드 -->
, (SELECT GET_CODE_NM('FIM054', C.TASK_SE_CD) FROM DUAL) AS TASK_SE_NM <!-- 업무 구분 명 -->
, C.CRDN_REG_SE_CD <!-- 단속 등록 구분 코드 -->
, C.CRDN_INPT_SE_CD <!-- 단속 입력 구분 코드 -->
, C.CRDN_YMD <!-- 단속 일자 -->
, C.CRDN_TM <!-- 단속 시각 -->
, (CONCAT(C.CRDN_YMD, C.CRDN_TM)) AS CRDN_YMD_TM <!-- 단속 일시 -->
, C.VHRNO <!-- 차량번호 -->
, C.CRDN_STDG_NM <!-- 단속 법정동 명 -->
, C.CRDN_ROAD_NM <!-- 단속 도로 명 -->
, C.CRDN_PLC <!-- 단속 장소 -->
, C.FFNLG_CRDN_AMT <!-- 과태료 단속 금액 -->
, C.FFNLG_AMT <!-- 과태료 금액 -->
, C.CRDN_STTS_CD <!-- 단속 상태 코드 -->
, (SELECT GET_CODE_NM('FIM010', C.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM <!-- 단속 상태 명 -->
, P.RTPYR_ID <!-- 납부자 ID -->
, P.RTPYR_NO <!-- 납부자 번호 -->
, P.RTPYR_NM <!-- 납부자 명 -->
, P.RTPYR_BRDT <!-- 납부자 생년월일 -->
, LE.LEVY_EXCL_ID <!-- 부과제외 ID -->
, LE.LEVY_EXCL_YMD <!-- 부과제외 일자 -->
, LE.LEVY_EXCL_SE_CD <!-- 부과제외 구분 코드 -->
, (SELECT GET_CODE_NM('FIM021', LE.LEVY_EXCL_SE_CD) FROM DUAL) AS LEVY_EXCL_SE_NM <!-- 부과 제외 구분 명 -->
, LE.LEVY_EXCL_RSN_CD <!-- 부과제외 사유 코드 -->
, (SELECT GET_CODE_NM('FIM022', LE.LEVY_EXCL_RSN_CD) FROM DUAL) AS LEVY_EXCL_RSN_NM <!-- 부과 제외 사유 명 -->
, LE.ETC_CN <!-- 기타 내용 -->
, LE.DEL_YN <!-- 삭제 여부 -->
, LE.REG_DT <!-- 등록 일시 -->
, LE.RGTR <!-- 등록자 -->
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = LE.RGTR) AS RGTR_NM <!-- 등록자 명 -->
, LE.MDFCN_DT <!-- 수정 일시 -->
, LE.MDFR <!-- 수정자 -->
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = LE.MDFR) AS MDFR_NM <!-- 수정자 명 -->
, LE.DEL_DT <!-- 삭제 일시 -->
, LE.DLTR <!-- 삭제자 -->
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = LE.DLTR) AS DLTR_NM <!-- 삭제자 명 -->
, LE.DEL_RSN <!-- 삭제 사유 -->
SELECT C.CRDN_ID /* 단속 ID */
, C.SGG_CD /* 시군구 코드 */
, C.TASK_SE_CD /* 업무 구분 코드 */
, C.CRDN_REG_SE_CD /* 단속 등록 구분 코드 */
, C.CRDN_INPT_SE_CD /* 단속 입력 구분 코드 */
, C.CRDN_YMD /* 단속 일자 */
, C.CRDN_TM /* 단속 시각 */
, C.VHRNO /* 차량번호 */
, C.CRDN_STDG_NM /* 단속 법정동 명 */
, C.CRDN_ROAD_NM /* 단속 도로 명 */
, C.CRDN_PLC /* 단속 장소 */
, C.FFNLG_CRDN_AMT /* 과태료 단속 금액 */
, C.FFNLG_AMT /* 과태료 금액 */
, C.CRDN_STTS_CD /* 단속 상태 코드 */
, P.RTPYR_ID /* 납부자 ID */
, P.RTPYR_NO /* 납부자 번호 */
, P.RTPYR_NM /* 납부자 명 */
, P.RTPYR_BRDT /* 납부자 생년월일 */
, LE.LEVY_EXCL_ID /* 부과제외 ID */
, LE.LEVY_EXCL_YMD /* 부과제외 일자 */
, LE.LEVY_EXCL_SE_CD /* 부과제외 구분 코드 */
, LE.LEVY_EXCL_RSN_CD /* 부과제외 사유 코드 */
, LE.ETC_CN /* 기타 내용 */
, LE.DEL_YN /* 삭제 여부 */
, LE.REG_DT /* 등록 일시 */
, LE.RGTR /* 등록자 */
, LE.MDFCN_DT /* 수정 일시 */
, LE.MDFR /* 수정자 */
, LE.DEL_DT /* 삭제 일시 */
, LE.DLTR /* 삭제자 */
, LE.DEL_RSN /* 삭제 사유 */
, (SELECT GET_CODE_NM('FIM054', C.TASK_SE_CD) FROM DUAL) AS TASK_SE_NM /* 업무 구분 명 */
, (CONCAT(C.CRDN_YMD, C.CRDN_TM)) AS CRDN_YMD_TM /* 단속 일시 */
, (SELECT GET_CODE_NM('FIM010', C.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM /* 단속 상태 명 */
, (SELECT GET_CODE_NM('FIM021', LE.LEVY_EXCL_SE_CD) FROM DUAL) AS LEVY_EXCL_SE_NM /* 부과 제외 구분 명 */
, (SELECT GET_CODE_NM('FIM022', LE.LEVY_EXCL_RSN_CD) FROM DUAL) AS LEVY_EXCL_RSN_NM /* 부과 제외 사유 명 */
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = LE.RGTR) AS RGTR_NM /* 등록자 명 */
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = LE.MDFR) AS MDFR_NM /* 수정자 명 */
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = LE.DLTR) AS DLTR_NM /* 삭제자 명 */
FROM TB_CRDN C
LEFT OUTER JOIN TB_PAYER P ON (C.RTPYR_ID = P.RTPYR_ID)
LEFT OUTER JOIN TB_LEVY_EXCL LE ON (C.CRDN_ID = LE.CRDN_ID)
@ -284,23 +280,16 @@
<include refid="select" />
<where>
<if test="crdnId != null">
AND C.CRDN_ID = #{crdnId} <!-- 단속 ID -->
</if>
<if test="crdnDelYn != null">
AND C.DEL_YN = #{crdnDelYn} <!-- 단속 삭제 여부 -->
</if>
<if test="levyExclIDs != null">
AND LE.LEVY_EXCL_ID IN ( <!-- 부과 제외 IDs -->
<foreach collection="levyExclIDs" item="levyExclId" separator=","> #{levyExclId} </foreach>
)
AND C.CRDN_ID = #{crdnId} /* 단속 ID */
</if>
<if test="levyExclId != null">
AND LE.LEVY_EXCL_ID = #{levyExclId} <!-- 부과 제외 ID -->
AND LE.LEVY_EXCL_ID = #{levyExclId} /* 부과 제외 ID */
</if>
<if test="delYn != null">
AND LE.DEL_YN = #{delYn} <!-- 삭제 여부 -->
AND LE.DEL_YN = #{delYn} /* 삭제 여부 */
</if>
</where>
AND C.DEL_YN = 'N' /* 단속 삭제 여부 */
<include refid="utility.orderBy" />
</select>
@ -312,56 +301,55 @@
</selectKey>
INSERT
INTO TB_LEVY_EXCL (
LEVY_EXCL_ID <!-- 부과 제외 ID -->
, SGG_CD <!-- 시군구 코드 -->
, TASK_SE_CD <!-- 업무 구분 코드 -->
, CRDN_ID <!-- 단속 ID -->
, LEVY_EXCL_YMD <!-- 부과 제외 일자 -->
, LEVY_EXCL_SE_CD <!-- 부과 제외 구분 코드 -->
, LEVY_EXCL_RSN_CD <!-- 부과 제외 사유 코드 -->
, ETC_CN <!-- 기타 내용 -->
, DEL_YN <!-- 삭제 여부 -->
, REG_DT <!-- 등록 일시-->
, RGTR <!-- 등록자 -->
, MDFCN_DT <!-- 수정 일시 -->
, MDFR <!-- 수정자 -->
LEVY_EXCL_ID /* 부과 제외 ID */
, SGG_CD /* 시군구 코드 */
, TASK_SE_CD /* 업무 구분 코드 */
, CRDN_ID /* 단속 ID */
, LEVY_EXCL_YMD /* 부과 제외 일자 */
, LEVY_EXCL_SE_CD /* 부과 제외 구분 코드 */
, LEVY_EXCL_RSN_CD /* 부과 제외 사유 코드 */
, ETC_CN /* 기타 내용 */
, DEL_YN /* 삭제 여부 */
, REG_DT /* 등록 일시*/
, RGTR /* 등록자 */
, MDFCN_DT /* 수정 일시 */
, MDFR /* 수정자 */
)
VALUES (
#{levyExcl.levyExclId} <!-- 부과 제외 ID -->
, #{levyExcl.sggCd} <!-- 시군구 코드 -->
, #{levyExcl.taskSeCd} <!-- 업무 구분 코드 -->
, #{levyExcl.crdnId} <!-- 단속 ID -->
, #{levyExcl.levyExclYmd} <!-- 부과 제외 일자 -->
, #{levyExcl.levyExclSeCd} <!-- 부과 제외 구분 코드 -->
, #{levyExcl.levyExclRsnCd} <!-- 부과 제외 사유 코드 -->
, #{levyExcl.etcCn} <!-- 기타 내용 -->
, 'N' <!-- 삭제 여부 -->
, <include refid="utility.now" /> <!-- 등록 일시 -->
, #{levyExcl.createdBy} <!-- 등록자 -->
, <include refid="utility.now" /> <!-- 수정 일시 -->
, #{levyExcl.modifiedBy} <!-- 수정자 -->
#{levyExcl.levyExclId} /* 부과 제외 ID */
, #{levyExcl.sggCd} /* 시군구 코드 */
, #{levyExcl.taskSeCd} /* 업무 구분 코드 */
, #{levyExcl.crdnId} /* 단속 ID */
, #{levyExcl.levyExclYmd} /* 부과 제외 일자 */
, #{levyExcl.levyExclSeCd} /* 부과 제외 구분 코드 */
, #{levyExcl.levyExclRsnCd} /* 부과 제외 사유 코드 */
, #{levyExcl.etcCn} /* 기타 내용 */
, 'N' /* 삭제 여부 */
, <include refid="utility.now" /> /* 등록 일시 */
, #{levyExcl.createdBy} /* 등록자 */
, <include refid="utility.now" /> /* 수정 일시 */
, #{levyExcl.modifiedBy} /* 수정자 */
)
</insert>
<update id="updateLevyExcl" parameterType="map">/* 부과제외 대장 수정(levyExclMapper.updateLevyExcl) */
UPDATE TB_LEVY_EXCL
SET LEVY_EXCL_YMD = #{levyExcl.levyExclYmd} <!-- 부과 제외 일자 -->
, LEVY_EXCL_RSN_CD = #{levyExcl.levyExclRsnCd} <!-- 부과 제외 사유 코드 -->
, ETC_CN = #{levyExcl.etcCn} <!-- 기타 내용 -->
, MDFCN_DT = <include refid="utility.now" /> <!-- 수정 일시 -->
, MDFR = #{levyExcl.modifiedBy} <!-- 수정자 -->
WHERE LEVY_EXCL_ID = #{levyExcl.levyExclId} <!-- 부과 제외 ID -->
AND LEVY_EXCL_SE_CD = #{levyExcl.levyExclSeCd} <!-- 부과 제외 구분 코드 -->
SET LEVY_EXCL_YMD = #{levyExcl.levyExclYmd} /* 부과 제외 일자 */
, LEVY_EXCL_RSN_CD = #{levyExcl.levyExclRsnCd} /* 부과 제외 사유 코드 */
, ETC_CN = #{levyExcl.etcCn} /* 기타 내용 */
, MDFCN_DT = <include refid="utility.now" /> /* 수정 일시 */
, MDFR = #{levyExcl.modifiedBy} /* 수정자 */
WHERE LEVY_EXCL_ID = #{levyExcl.levyExclId} /* 부과 제외 ID */
AND DEL_YN = 'N'
</update>
<update id="deleteLevyExcl" parameterType="map">/* 부과제외 대장 삭제(levyExclMapper.deleteLevyExcl) */
UPDATE TB_LEVY_EXCL
SET DEL_YN = 'Y' <!-- 삭제 여부 -->
, DEL_DT = <include refid="utility.now" /> <!-- 삭제 일시 -->
, DLTR = #{levyExcl.modifiedBy} <!-- 삭제자 -->
, DEL_RSN = #{levyExcl.delRsn} <!-- 삭제 사유 -->
WHERE LEVY_EXCL_ID = #{levyExcl.levyExclId} <!-- 부과 제외 ID -->
SET DEL_YN = 'Y' /* 삭제 여부 */
, DEL_DT = <include refid="utility.now" /> /* 삭제 일시 */
, DLTR = #{levyExcl.removedBy} /* 삭제자 */
, DEL_RSN = #{levyExcl.delRsn} /* 삭제 사유 */
WHERE LEVY_EXCL_ID = #{levyExcl.levyExclId} /* 부과 제외 ID */
AND DEL_YN = 'N'
</update>

@ -5,7 +5,7 @@
<div class="content-wrapper">
<!-- Content -->
<div class="container-xxl flex-grow-1 px-0">
<c:set var="prefixName" scope="request">부과제외 관리</c:set>
<c:set var="prefixName" scope="request">우편통합 안내문 관리</c:set>
<!-- Page Body -->
<div class="card">
@ -13,7 +13,7 @@
<div>
<!-- 상단 버튼 -->
<div class="container-page-btn">
<button type="button" class="btn btn-outline-dark w-px-120" id="btnReset--${pageName}" title="초기화" onclick="fnReset${pageName}();">
<button type="button" class="btn btn-outline-dark w-px-120" id="btnReset--${pageName}" title="초기화" onclick="fnResetAndChangeBiz${pageName}();">
초기화
</button>
<span class="container-window-btn-right">
@ -205,7 +205,7 @@
**************************************************************************/
var ${pageName}Control = new DatasetControl({
prefix : "epostGdcc"
, prefixName : "전자우편 안내문"
, prefixName : "안내문 관리"
, infoSize : "md"
, keymapper : info => info ? info.GDCC_ID : ""
, dataGetter : obj => obj.epostGdccList
@ -397,19 +397,13 @@
});
}
// 초기 화면 설정
initForm${pageName} = () => {
// 초기 기본 설정
initForm${pageName} = (taskSeCd) => {
// 화면 초기화
$("#frmSearch--${pageName}")[0].reset();
// dataset 초기화
${pageName}Control.dataset.clear();
}
// 초기 데이터 설정
setForm${pageName} = (taskSeCd) => {
// 기본 데이터 설정
$("#sggCd--${pageName}").val(${pageName}sggCd); // 시군구 코드
// 시군구 코드
$("#sggCd--${pageName}").val(${pageName}sggCd);
// 업무 구분 코드
$("#frmSearch--${pageName} input[name='taskSeCd'][value='" + taskSeCd + "']").prop("checked", true);
@ -417,6 +411,12 @@
$("#frmSearch--${pageName} input[name='taskSeCd']").each(function(i) {
$(this).prop("disabled", "true");
});
// 달력 초기화
initDatepicker("frmSearch--${pageName}");
// dataset 초기화
${pageName}Control.dataset.clear();
}
// URL 설정
@ -426,6 +426,11 @@
${pageName}Control.urls.getInfo = wctx.url("/" + taskSeCd + ${pageName}PrefixUrl + "/020/info.do"); // 정보
}
// 기본 데이터 설정
setForm${pageName} = () => {
}
/**************************************************************************
* 버튼 clickEvent
**************************************************************************/
@ -436,19 +441,14 @@
taskSeCd = $("#layout-navbar input[name='taskSeCd']:checked").val();
}
// 초기화
initForm${pageName}();
// 화면 초기값 설정
setForm${pageName}(taskSeCd);
// 초기 기본 설정
initForm${pageName}(taskSeCd);
// URL 설정
setURL${pageName}(taskSeCd);
}
// 초기화 버튼 이벤트
fnReset${pageName} = () => {
fnResetAndChangeBiz${pageName}();
// 기본 데이터 설정
setForm${pageName}();
}
// 검색 버튼 이벤트

@ -5,7 +5,7 @@
<div class="content-wrapper">
<!-- Content -->
<div class="container flex-grow-1 px-0">
<c:set var="prefixName" scope="request">의견제출 심의 정보</c:set>
<c:set var="prefixName" scope="request">우편통합 안내문 정보</c:set>
<!-- Page Body -->
<div class="card">
@ -73,7 +73,7 @@
**************************************************************************/
var ${pageName}Control = new DatasetControl({
prefix : "epostGdcc"
, prefixName : "전자우편 안내문 정보"
, prefixName : "안내문 정보"
, keymapper : info => info ? info.GDCC_ID : ""
, dataGetter : obj => obj.epostGdccInfo
});
@ -125,14 +125,8 @@
}
// 초기 화면 설정
// 초기 기본 설정
initForm${pageName} = () => {
// 달력 초기화
initDatepicker("frmEdit--${pageName}");
}
// 초기 데이터 설정
setForm${pageName} = () => {
$("#sndngSeCd--${pageName}").attr("disabled", true);
$("#ttlNm--${pageName}").attr("disabled", true);
$("#wordsCn--${pageName}").attr("disabled", true);
@ -146,6 +140,11 @@
}
}
// 기본 데이터 설정
setForm${pageName} = () => {
}
/**************************************************************************
* function
**************************************************************************/

@ -13,7 +13,7 @@
<div>
<!-- 상단 버튼 -->
<div class="container-page-btn">
<button type="button" class="btn btn-outline-dark w-px-120" id="btnReset--${pageName}" title="초기화" onclick="fnReset${pageName}();">
<button type="button" class="btn btn-outline-dark w-px-120" id="btnReset--${pageName}" title="초기화" onclick="fnResetAndChangeBiz${pageName}();">
초기화
</button>
<span class="container-window-btn-right">
@ -154,7 +154,7 @@
<option value="mdfr">수정자</option>
</select>
<input type="text" class="form-control w-px-160" id="schDetailRgtrNm--${pageName}" name="schDetailRgtrNm" autocomplete="off" />
<button type="button" class="btn btn-sm btn-outline-dark" id="btnUser--${pageName}" title="사용자 검색" onclick="fnUser${pageName}();">
<button type="button" class="btn btn-sm btn-outline-dark" id="btnFindUser--${pageName}" title="사용자 검색" onclick="fnFindUser${pageName}();">
검색
</button>
</div>
@ -175,11 +175,11 @@
</div>
<span class="container-window-btn-right">
<!-- 업무 버튼 -->
<button type="button" class="btn btn-primary w-px-120" id="btnLevyExclInfo--${pageName}" title="부과제외 정보" onclick="fnLevyExclInfo${pageName}();">
부과제외 정보
<button type="button" class="btn btn-primary w-px-120" id="btnUpdate--${pageName}" title="부과제외 수정" onclick="fnUpdate${pageName}();">
수정
</button>
<button type="button" class="btn btn-primary w-px-120" id="btnRemoveLevyExcl--${pageName}" title="부과제외 삭제" onclick="fnRemoveLevyExcl${pageName}();">
부과제외 삭제
<button type="button" class="btn btn-primary w-px-120" id="btnRemove--${pageName}" title="부과제외 삭제" onclick="fnRemove${pageName}();">
삭제
</button>
</span>
</span>
@ -281,6 +281,8 @@
var ${pageName}PrefixUrl = "/excl/excl01";
// FormFields
var ${pageName}Fields = new FimsFormFields("#frmSearch--${pageName}");
// 시군구 코드(SGG_CD)
var ${pageName}sggCd = "${sggCd}";
/**************************************************************************
* DatasetControl
@ -294,9 +296,9 @@
, appendData : true
, tableRenderComplete : false // dataTables 에 자료 추가 완료 여부
, urls : {
getInfo : wctx.url("/sprt/sprt02/010/main.do") // 개별총정보
// load : wctx.url(${pageName}PrefixUrl + "/010/list.do") // 검색
// , remove : wctx.url(${pageName}PrefixUrl + "/010/removes.do") // 선택(체크) 자료 삭제
load : wctx.url(${pageName}PrefixUrl + "/010/list.do") // 조회
, getInfo : wctx.url(${pageName}PrefixUrl + "/020/info.do") // 수정
, remove : wctx.url(${pageName}PrefixUrl + "/010/remove.do") // 삭제
}
, formats : {
LEVY_EXCL_YMD : dateFormat
@ -348,34 +350,62 @@
checkbox.prop("checked", keys.includes(checkbox.val()));
});
$("#btnRemoveLevyExcl--${pageName}").prop("disabled", keys.length < 1);
$("#btnRemove--${pageName}").prop("disabled", keys.length < 1);
};
// 개별총정보 dialog
${pageName}Control.getInfo = (crdnId) => {
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
// 수정 dialog
${pageName}Control.getInfo = (params) => {
if (!params) return;
let params = {
callControlName : "${pageName}Control"
, crdnId : crdnId
let dialogTitle = "";
if (params.callPurpose == "create") {
dialogTitle = ${pageName}Control.prefixName + " 등록";
} else if (params.callPurpose == "update") {
dialogTitle = ${pageName}Control.prefixName + " 수정";
} else {
dialogTitle = ${pageName}Control.prefixName + " 정보";
}
ajax.get({
url : ${pageName}Control.urls.getInfo
, data : params
url : wctx.url("/" + params.taskSeCd + ${pageName}PrefixUrl + "/020/info.do?openerPageName=${pageName}")
, data : params || {}
, success : resp => {
dialog.open({
id : "totalInfoMainDialog"
, title : "개별총정보"
id : ${pageName}Control.prefixed("Dialog")
, title : dialogTitle
, content : resp
, size : "xxl"
, size : ${pageName}Control.infoSize
, init : () => { }
, onClose : () => { }
, onClose : () => { ${pageName}Control.load(${pageName}Control.query.pageNum); } // callback
});
}
});
}
// 삭제 callback
${pageName}Control.onRemove = (resp) => {
let btnTitle = $("#btnRemove--${pageName}").attr("title");
let showMessage = resp.retMessage.replace(/[S]|[F]/g, btnTitle);
dialog.alert(showMessage); // 메시지 출력
if (resp.saved) {
${pageName}Control._load(); // 자료 재조회
}
}
// 삭제
${pageName}Control.remove = (params) => {
if (!params) return;
ajax.post({
url : ${pageName}Control.urls.remove
, data : params
, success : resp => ${pageName}Control.onRemove(resp)
});
}
/**************************************************************************
*
**************************************************************************/
@ -390,7 +420,7 @@
document.getElementById("${infoPrefix}Row--${pageName}").innerHTML, <%-- from template#${infoPrefix}Row --%>
(str, dataItem) => str
.replace(/{onclick}/gi, "${pageName}Control.setCurrent('" + dataItem.getValue("LEVY_EXCL_ID") + "');")
.replace(/{ondblclick}/gi, "${pageName}Control.getInfo('" + dataItem.getValue("CRDN_ID") + "');")
.replace(/{ondblclick}/gi, "getTotalInfo${pageName}('" + dataItem.getValue("CRDN_ID") + "');")
);
$("#tbody--${pageName}").html(trs.join());
@ -400,70 +430,62 @@
fn_securityModeToggle($("#securityMode--top").is(":checked"));
}
// 부과제외 정보 dialog -> callback 추가
getLevyExclInfo${pageName} = (params) => {
if (!params) return;
// 개별총정보 dialog
getTotalInfo${pageName} = (crdnId) => {
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
let taskSeCd = $("input[name=taskSeCd]:checked").val();
let params = {
callControlName : "${pageName}Control"
, crdnId : crdnId
}
ajax.get({
url : wctx.url("/" + params.taskSeCd + ${pageName}PrefixUrl + "/020/info.do?openerPageName=${pageName}")
, data : params || {}
url : wctx.url(taskSeCd + "/sprt/sprt02/010/main.do")
, data : params
, success : resp => {
dialog.open({
id : ${pageName}Control.prefixed("Dialog")
, title : ${pageName}Control.prefixName + " 정보"
id : "totalInfoMainDialog"
, title : "개별총정보"
, content : resp
, size : ${pageName}Control.infoSize
, size : "xxl"
, init : () => { }
, onClose : () => { ${pageName}Control.load(${pageName}Control.query.pageNum); } // callback
, onClose : () => { }
});
}
});
}
// 부과제외 삭제 callback
removeLevyExcl${pageName} = (obj) => {
// 삭제
remove${pageName} = (obj) => {
let selected = ${pageName}Control.dataset.getKeys("selected");
if (selected.length < 1) return;
// 서버에 전송할 data(파라미터) 생성
let params = {
callPurpose : "remove"
, levyExclIDs : selected.join(",") // 부과제외 IDs
, delYn : "Y" // 삭제 여부
callPurpose : "remove" // 호출 용도
, delRsn : obj.reason // 삭제 사유
};
ajax.post({
url : ${pageName}Control.urls.remove
, data : params
, success : resp => {
let btnTitle = $("#btnRemoveLevyExcl--${pageName}").attr("title");
let showMessage = resp.retMessage.replace(/[S]|[F]/g, btnTitle);
dialog.alert(showMessage); // 메시지 출력
params[${pageName}Control.prefixed("IDs")] = selected.join(",");
if (resp.saved) {
${pageName}Control._load(); // 자료 재조회
}
}
});
${pageName}Control.remove(params);
}
/**************************************************************************
* 초기 셋팅
**************************************************************************/
// 초기화
initForm${pageName} = () => {
// 화면 초기화
$("#frmSearch--${pageName}")[0].reset();
// dataset 초기화
${pageName}Control.dataset.clear();
}
// 이벤트
setEvent${pageName} = () => {
// 동적검색에서 엔터(Enter) 키를 누르면 검색한다.
$("#term--${pageName}").keypress(function(e) {
if (e.keyCode == 13) {
fnSearchList${pageName}();   
}    
});
// form-date 항목에서 키보드로 입력시 날짜 포맷팅 적용
$("#frmSearch--${pageName}").find(".form-date").each(function() {
$(this).on("input", function() {
@ -506,11 +528,16 @@
});
}
// 화면 초기값 셋팅
setForm${pageName} = (taskSeCd) => {
// 초기 기본 설정
initForm${pageName} = (taskSeCd) => {
// 화면 초기화
$("#frmSearch--${pageName}")[0].reset();
// 시군구 코드
$("#sggCd--${pageName}").val(${pageName}sggCd);
// 업무 구분 코드
$("#frmSearch--${pageName} input[name='taskSeCd'][value='" + taskSeCd + "']").prop("checked", true);
// 최고 관리자 경우 업무구분을 선택할 수 있도록 하자.
$("#frmSearch--${pageName} input[name='taskSeCd']").each(function(i) {
$(this).prop("disabled", "true");
@ -518,16 +545,23 @@
// 달력 초기화
initDatepicker("frmSearch--${pageName}");
$("#schLevyExclYmdFrom--${pageName}").datepicker("setDate", DateUtil.getDateDay(-365).date);
$("#schLevyExclYmdTo--${pageName}").datepicker("setDate", new Date());
// dataset 초기화
${pageName}Control.dataset.clear();
}
// URL 설정
setURL${pageName} = (taskSeCd) => {
${pageName}Control.urls.load = wctx.url("/" + taskSeCd + ${pageName}PrefixUrl + "/010/list.do"); // 조회
${pageName}Control.urls.remove = wctx.url("/" + taskSeCd + ${pageName}PrefixUrl + "/010/removes.do"); // 삭제
${pageName}Control.urls.getInfo = wctx.url("/" + taskSeCd + "/sprt/sprt02/010/main.do"); // 개별총정보
${pageName}Control.urls.load = wctx.url(taskSeCd + ${pageName}PrefixUrl + "/010/list.do"); // 조회
${pageName}Control.urls.getInfo = wctx.url(taskSeCd + ${pageName}PrefixUrl + "/020/info.do"); // 수정
${pageName}Control.urls.remove = wctx.url(taskSeCd + ${pageName}PrefixUrl + "/010/removes.do"); // 삭제
}
// 기본 데이터 설정
setForm${pageName} = () => {
}
/**************************************************************************
@ -535,24 +569,19 @@
**************************************************************************/
// 업무 구분 변경
fnResetAndChangeBiz${pageName} = (taskSeCd) => {
// 초기화
initForm${pageName}();
// 업무 구분 코드
if (typeof taskSeCd == "undefined" || taskSeCd == null || taskSeCd == "") {
taskSeCd = $("#layout-navbar input[name='taskSeCd']:checked").val();
}
// 화면 초기값 설정
setForm${pageName}(taskSeCd);
// 초기 기본 설정
initForm${pageName}(taskSeCd);
// URL 설정
setURL${pageName}(taskSeCd);
}
// 초기화 버튼 이벤트
fnReset${pageName} = () => {
fnResetAndChangeBiz${pageName}();
// 기본 데이터 설정
setForm${pageName}();
}
// 검색 버튼 이벤트
@ -561,8 +590,8 @@
${pageName}Control.query = ${pageName}Fields.get();
${pageName}Control.query.fetchSize = FETCH_XS; // 한번에 조회되는 자료 건수 FETCH_XS = 30
${pageName}Control.query.pageNum = 1; // 페이지 번호
${pageName}Control.query.delYn = "N"; // 삭제 여부
${pageName}Control.query.crdnDelYn = "N"; // 단속 대장 삭제 여부
${pageName}Control.load();
}
@ -573,12 +602,12 @@
}
// 사용자 조회 버튼 이벤트
fnUser${pageName} = () => {
fnFindUser${pageName} = () => {
}
// 부과제외 정 버튼 이벤트
fnLevyExclInfo${pageName} = () => {
// 부과제외 정 버튼 이벤트
fnUpdate${pageName} = () => {
let levyExclId = ${pageName}Control.dataset.getValue("LEVY_EXCL_ID");
let levyExclSeCd = ${pageName}Control.dataset.getValue("LEVY_EXCL_SE_CD");
@ -593,17 +622,17 @@
, levyExclSeCd : levyExclSeCd
};
getLevyExclInfo${pageName}(params);
${pageName}Control.getInfo(params);
}
// 부과제외 삭제 버튼 이벤트
fnRemoveLevyExcl${pageName} = () => {
// 부과제외 IDs
let selected = ${pageName}Control.dataset.getKeys("selected");
if (selected.length < 1) return;
let callbackFuncName = "removeLevyExcl${pageName}";
// 삭제 버튼 이벤트
fnRemove${pageName} = () => {
// 삭제 메세지 확인
dialog.alert({
content : "선택하신 " + ${pageName}Control.prefixName + " 정보를 삭제하시겠습니까?"
, onOK : () => {
// 삭제 사유 입력
let callbackFuncName = "remove${pageName}";
let popupWidth = 640;
let popupHeight = 360;
let popupX = (window.screen.width / 2) - (popupWidth / 2);
@ -612,20 +641,19 @@
window.open(
wctx.url("/resources/html/inputRsnDialog.html"
+ "?callbackFuncName=" + callbackFuncName
+ "&CALL_PURPOSE=" + "remove"
+ "&USE_PURPOSE=" + "삭제"
)
, "inputDelRsnDialog"
, 'status=no, height=' + popupHeight + ', width=' + popupWidth + ', left='+ popupX + ', top='+ popupY
);
}
});
}
/**************************************************************************
* script 진입
**************************************************************************/
$(document).ready(function() {
// 기본 데이터 설정
$("#sggCd--${pageName}").val("${sggCd}"); // 시군구 코드
// 이벤트 설정
setEvent${pageName}();

@ -187,13 +187,18 @@
});
}
// 검색조건 초기값 셋팅
setForm${pageName} = () => {
// 화면 초기화
initForm${pageName} = () => {
// 달력 초기화
initDatepicker("frmEdit--${pageName}");
$("#levyExclYmd--${pageName}").datepicker("setDate", new Date());
}
// 화면 데이터 셋팅
setForm${pageName} = () => {
}
/**************************************************************************
* function
**************************************************************************/
@ -217,11 +222,14 @@
// 이벤트 설정
setEvent${pageName}();
// 화면 초기 설정
setForm${pageName}();
// 화면 초기
initForm${pageName}();
// Dataset 셋팅 - 단건일 경우 setData
${pageName}Control.setData([${levyExclInfo}]);
// 화면 데이터 셋팅
setForm${pageName}();
});
</script>

@ -282,12 +282,18 @@
}
// 화면 초기값 셋팅
setForm${pageName} = () => {
initForm${pageName} = () => {
// 달력 초기화
initDatepicker("frmEdit--${pageName}");
$("#rcptYmd--${pageName}").datepicker("setDate", new Date());
}
// 화면 데이터 셋팅
setForm${pageName} = () => {
}
/**************************************************************************
* 버튼 clickEvent
**************************************************************************/
@ -476,7 +482,13 @@
// 이벤트 설정
setEvent${pageName}();
// 화면 초기값 셋팅
initForm${pageName}();
${pageName}Control.setData([${opnnSbmsnInfo}]); // Dataset 셋팅 - 단건일 경우 setData
// 화면 데이터 셋팅
setForm${pageName}();
});
</script>

@ -20,12 +20,12 @@
<div class="row g-1">
<!-- 접수 번호 -->
<div class="col-md-6">
<label for="rcptNo--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">접수 번호</label>
<label for="rcptNo--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">접수번호</label>
<input type="text" class="form-control w-45" id="rcptNo--${pageName}" name="rcptNo" data-map="RCPT_NO" readonly />
</div>
<!-- 접수 일자 -->
<div class="col-md-6">
<label for="rcptYmd--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">접수 일자</label>
<label for="rcptYmd--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">접수일자</label>
<input type="text" class="form-control w-35" id="rcptYmd--${pageName}" name="rcptYmd" data-map="RCPT_YMD" readonly />
</div>
<!-- 진술자 이름 -->
@ -35,29 +35,27 @@
</div>
<!-- 의견 제출 구분 코드 -->
<div class="col-md-6">
<label for="opnnSbmsnSeNm--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">의견제출 구분</label>
<label for="opnnSbmsnSeNm--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">의견제출구분</label>
<input type="text" class="form-control w-60" id="opnnSbmsnSeNm--${pageName}" name="opnnSbmsnSeNm" data-map="OPNN_SBMSN_SE_NM" readonly />
</div>
<!-- 의견 제출 요지 -->
<div class="col-md-12">
<label for="opnnSbmsnGist--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">의견제출 요지</label>
<textarea class="form-control w-80" id="opnnSbmsnGist--${pageName}" name="opnnSbmsnGist" data-map="OPNN_SBMSN_GIST" rows="2" data-maxlengthb="300" readonly>
</textarea>
<label for="opnnSbmsnGist--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">의견제출요지</label>
<textarea class="form-control w-80" id="opnnSbmsnGist--${pageName}" name="opnnSbmsnGist" data-map="OPNN_SBMSN_GIST" rows="2" data-maxlengthb="300" readonly></textarea>
</div>
<!-- 담당자 검토 의견 -->
<div class="col-md-12">
<label for="picRvwOpnn--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">검토 의견</label>
<textarea class="form-control w-80" id="picRvwOpnn--${pageName}" name="picRvwOpnn" data-map="PIC_RVW_OPNN" rows="5" data-maxlengthb="1000">
</textarea>
<label for="picRvwOpnn--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">검토의견</label>
<textarea class="form-control w-80" id="picRvwOpnn--${pageName}" name="picRvwOpnn" data-map="PIC_RVW_OPNN" rows="5" data-maxlengthb="1000"></textarea>
</div>
<!-- 문서 번호 -->
<div class="col-md-12">
<label for="docNo--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">문서 번호</label>
<label for="docNo--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">문서번호</label>
<input type="text" class="form-control w-30" id="docNo--${pageName}" name="docNo" data-map="DOC_NO" />
</div>
<!-- 통보 구분 코드 -->
<div class="col-md-6">
<label for="ntfctnSeCd--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end required">통보 구분</label>
<label for="ntfctnSeCd--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end required">통보구분</label>
<select class="form-select" id="ntfctnSeCd--${pageName}" name="ntfctnSeCd" data-map="NTFCTN_SE_CD" required>
<option value="">선택하세요</option>
<c:forEach items="${FIM030List}" var="item">
@ -67,7 +65,7 @@
</div>
<!-- 의견 제출 상태 코드 -->
<div class="col-md-6">
<label for="opnnSbmsnSttsCd--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end required">처리 결과</label>
<label for="opnnSbmsnSttsCd--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end required">처리결과</label>
<select class="form-select" id="opnnSbmsnSttsCd--${pageName}" name="opnnSbmsnSttsCd" data-map="OPNN_SBMSN_STTS_CD" onchange="fnChangeOpnnSbmsnSttsCd(this.value);" required>
<option value="">선택하세요</option>
<c:forEach items="${FIM031List}" var="item">
@ -91,22 +89,21 @@
</div>
<!-- 답변 일자 -->
<div class="col-md-6">
<label for="ansYmd--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end required">답변 일자</label>
<label for="ansYmd--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end required">답변일자</label>
<input type="text" class="form-control form-date" id="ansYmd--${pageName}" name="ansYmd" data-map="ANS_YMD"
data-fmt-type="day" maxlength="10" required />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</div>
<!-- 답변 시간 -->
<div class="col-md-6">
<label for="ansTm--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end required">답변 시간</label>
<label for="ansTm--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end required">답변시간</label>
<input type="text" class="form-control form-time" id="ansTm--${pageName}" name="ansTm" data-map="ANS_TM"
data-fmt-type="time" maxlength="8" placeholder="시:분:초" required />
</div>
<!-- 답변 내용 -->
<div class="col-md-12">
<label for="ansCn--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">답변 내용</label>
<textarea class="form-control w-80" id="ansCn--${pageName}" name="ansCn" data-map="ANS_CN" rows="5" data-maxlengthb="4000">
</textarea>
<label for="ansCn--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">답변내용</label>
<textarea class="form-control w-80" id="ansCn--${pageName}" name="ansCn" data-map="ANS_CN" rows="5" data-maxlengthb="4000"></textarea>
</div>
</div>
</form> <!-- /입력 영역 -->
@ -184,15 +181,6 @@
/**************************************************************************
* 초기 셋팅
**************************************************************************/
// 검색조건 초기값 셋팅
initForm${pageName} = () => {
// 달력 초기화
initDatepicker("frmEdit--${pageName}");
$("#ansYmd--${pageName}").datepicker("setDate", new Date());
$("#ansTm--${pageName}").val(new Date().toTimeString().split(" ")[0]); // "09:51:35 GMT+0900 (한국 표준시)"의 형식에서 공백을 기준으로 잘라 시간 부분만 가져와줍니다.
}
// 이벤트 설정
setEvent${pageName} = () => {
// form-date 항목에서 키보드로 입력시 날짜 포맷팅 적용
@ -224,6 +212,26 @@
$("#btnAddFile--${pageName}").on('click', () => { $("#uploadFileList--${pageName}").trigger("click"); });
}
// 화면 초기화
initForm${pageName} = () => {
// 달력 초기화
initDatepicker("frmEdit--${pageName}");
$("#ansYmd--${pageName}").datepicker("setDate", new Date());
$("#ansTm--${pageName}").val(new Date().toTimeString().split(" ")[0]);
}
// 화면 데이터 셋팅
setForm${pageName} = () => {
// 날짜, 시간
if ($("#ansYmd--${pageName}").val() == "") {
$("#ansYmd--${pageName}").datepicker("setDate", new Date());
}
if ($("#ansTm--${pageName}").val() == "" || $("#ansTm--${pageName}").val() == "::") {
$("#ansTm--${pageName}").val(new Date().toTimeString().split(" ")[0]); // "09:51:35 GMT+0900 (한국 표준시)"의 형식에서 공백을 기준으로 잘라 시간 부분만 가져와줍니다.
}
}
/**************************************************************************
* function
**************************************************************************/
@ -278,13 +286,8 @@
// Dataset 셋팅 - 단건일 경우 setData
${pageName}Control.setData([${opnnSbmsnInfo}]);
// 날짜, 시간
if ($("#ansYmd--${pageName}").val() == "") {
$("#ansYmd--${pageName}").datepicker("setDate", new Date());
}
if ($("#ansTm--${pageName}").val() == "" || $("#ansTm--${pageName}").val() == "::") {
$("#ansTm--${pageName}").val(new Date().toTimeString().split(" ")[0]); // "09:51:35 GMT+0900 (한국 표준시)"의 형식에서 공백을 기준으로 잘라 시간 부분만 가져와줍니다.
}
// 화면 초기 설정
setForm${pageName}();
fnChangeOpnnSbmsnSttsCd($("#opnnSbmsnSttsCd--${pageName}").val());
});

@ -32,7 +32,7 @@
<div class="row g-1">
<!-- 사유 -->
<div class="col-md-12">
<label for="reason" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">사유</label>
<label for="reason" class="w-px-120 bg-lighter pe-2 col-form-label text-end" id="ttlNm" >사유</label>
<textarea type="text" class="form-control w-75" id="reason" name="reason" autocomplete="off" rows="2" data-maxlengthb="1000"></textarea>
</div>
</div>
@ -64,7 +64,7 @@
<script language="javascript">
var callbackFuncName = location.search.split("&")[0].split("=")[1];
var callPurpose = location.search.split("&")[1].split("=")[1]; // remove 삭제
var ttlNm = decodeURI(location.search.split("&")[1].split("=")[1]);
function fnOK() {
let obj = {
@ -76,7 +76,7 @@
}
$(document).ready(function() {
$("#ttlNm").text(ttlNm + " 사유");
});
</script>

Loading…
Cancel
Save