수납 수정.

main
jjh 11 months ago
parent 67fc9d83bb
commit a9ef449a34

@ -93,8 +93,8 @@ public class RcvmtBean extends AbstractComponent {
*/
public String createRcvmt(Rcvmt rcvmt) {
// 변수 선언
boolean retSuccess = false; // DB 처리 결과
String retMessage = "[F] "; // 처리 결과 메시지
boolean rtnScs = false; // DB 처리 결과
String rtnMsg = "[F] "; // 처리 결과 메시지
// 부과 ID로 단속, 부과 정보 조회
DataObject levyInfo = rcvmtMapper.selectLevyInfo(new RcvmtQuery().setLevyId(rcvmt.getLevyId()).setDelYn("N"));
@ -134,8 +134,8 @@ public class RcvmtBean extends AbstractComponent {
rcvmt.setRcvmtSeCd(rcvmtSeCd);
}
retSuccess = rcvmtMapper.insert(rcvmt); // 수납 대장 등록
if (!retSuccess) {
rtnScs = rcvmtMapper.insert(rcvmt); // 수납 대장 등록
if (!rtnScs) {
throw new RuntimeException("수납 대장 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
}
@ -150,8 +150,8 @@ public class RcvmtBean extends AbstractComponent {
levy.setRcvmtYmd(rcvmt.getRcvmtYmd()); // 수납 일자
levy.setPayMthdSeCd(rcvmt.getPayMthdSeCd()); // 납부 방법 구분 코드
retSuccess = levyMapper.updateRcvmtAmt(levy); // 부과 대장 수정
if (!retSuccess) {
rtnScs = levyMapper.updateRcvmtAmt(levy); // 부과 대장 수정
if (!rtnScs) {
throw new RuntimeException("부과 대장에 수납금액 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
}
@ -182,16 +182,16 @@ public class RcvmtBean extends AbstractComponent {
crdnSttsHstry.setTaskDtlId(rcvmt.getRcvmtId()); // 수납 ID
// 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록하고, 단속(TB_CRDN) 대장을 수정한다.
retSuccess = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry);
if (!retSuccess) {
rtnScs = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry);
if (!rtnScs) {
throw new RuntimeException("수납 등록 중 단속 대장의 단속상태 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
}
}
}
retMessage = "[S] 작업이 정상 처리 되었습니다.";
rtnMsg = "[S] 작업이 정상 처리 되었습니다.";
return retMessage;
return rtnMsg;
}
/** .
@ -203,14 +203,14 @@ public class RcvmtBean extends AbstractComponent {
*/
public String updateRcvmtRtrcn(Rcvmt rcvmt) {
// 변수 선언
boolean retSuccess = false; // DB 처리 결과
String retMessage = "[F] "; // 처리 결과 메시지
boolean rtnScs = false; // DB 처리 결과
String rtnMsg = "[F] "; // 처리 결과 메시지
// 수납 ID로 수납 정보 조회
DataObject rcvmtInfo = rcvmtMapper.selectRcvmtInfo(new RcvmtQuery().setRcvmtId(rcvmt.getRcvmtId()).setDelYn("N"));
retSuccess = rcvmtMapper.updateRcvmtRtrcn(rcvmt);
if (!retSuccess) {
rtnScs = rcvmtMapper.updateRcvmtRtrcn(rcvmt);
if (!rtnScs) {
throw new RuntimeException("수납 대장 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
}
@ -240,8 +240,8 @@ public class RcvmtBean extends AbstractComponent {
levy.setPayMthdSeCd(levyInfo.string("PAY_MTHD_SE_CD")); // 납부 방법 구분 코드
}
retSuccess = levyMapper.updateRcvmtAmt(levy); // 부과 대장 수정
if (!retSuccess) {
rtnScs = levyMapper.updateRcvmtAmt(levy); // 부과 대장 수정
if (!rtnScs) {
throw new RuntimeException("부과 대장에 수납금액 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
}
@ -271,16 +271,16 @@ public class RcvmtBean extends AbstractComponent {
crdnSttsHstry.setTaskDtlId(rcvmt.getRcvmtId()); // 수납 ID
// 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록하고, 단속(TB_CRDN) 대장을 수정한다.
retSuccess = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry);
if (!retSuccess) {
rtnScs = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry);
if (!rtnScs) {
throw new RuntimeException("수납 등록 중 단속 대장의 단속상태 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
}
}
}
retMessage = "[S] 작업이 정상 처리 되었습니다.";
rtnMsg = "[S] 작업이 정상 처리 되었습니다.";
return retMessage;
return rtnMsg;
}
/** .
@ -292,17 +292,17 @@ public class RcvmtBean extends AbstractComponent {
*/
public String removeRcvmt(Rcvmt rcvmt) {
// 변수 선언
boolean retSuccess = false; // DB 처리 결과
String retMessage = "[F] "; // 처리 결과 메시지
boolean rtnScs = false; // DB 처리 결과
String rtnMsg = "[F] "; // 처리 결과 메시지
retSuccess = rcvmtMapper.delete(rcvmt);
if (!retSuccess) {
rtnScs = rcvmtMapper.delete(rcvmt);
if (!rtnScs) {
throw new RuntimeException("수납 대장 삭제에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
}
retMessage = "[S] 작업이 정상 처리 되었습니다.";
rtnMsg = "[S] 작업이 정상 처리 되었습니다.";
return retMessage;
return rtnMsg;
}
/** .

@ -34,9 +34,10 @@ public class Rcvm01Controller extends ApplicationController {
receivingMoneyMain = "/010/main.do" // 수납 관리 메인 화면
, getReceivingMoneyList = "/010/list.do" // 수납 대장 목록 조회
, getReceivingMoneyInfo = "/020/info.do" // 수납 정보 조회
, createReceivingMoney = "/020/createRcvmt.do" // 수납 대장 등록
, updateReceivingMoneyRetraction = "/010/updateRcvmtRtrcn.do" // 수납 대장에 수납취소 등록
, removeReceivingMoney = "/010/removeRcvmt.do" // 수납 대장 삭제
, createReceivingMoney = "/020/create.do" // 수납 대장 등록
, updateReceivingMoney = "/020/update.do" // 수납 대장 수정
, removeReceivingMoney = "/010/remove.do" // 수납 대장 삭제
, updateReceivingMoneyRetraction = "/010/updateRcvmtRtrcn.do" // 수납취소 등록
;
}
@ -58,10 +59,11 @@ public class Rcvm01Controller extends ApplicationController {
// View(jsp)에서 사용할 공통코드를 조회
Map<String, List<CommonCode>> commonCodes = getCodesOf("FIM054");
return mav.addObject("pageName", "rcvm01010") // View(jsp)에서 사용할 id 뒤에 붙일 suffix
.addObject("infoPrefix", "rcvmt") // prefix
.addObject("sggCd", managedUser.getOrgID()) // 시군구 코드(SGG_CD)
.addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD)
return mav
.addObject("pageName", "rcvm01010") // View(jsp)에서 사용할 id 뒤에 붙일 suffix
.addObject("infoPrefix", "rcvmt") // prefix
.addObject("sggCd", managedUser.getOrgID()) // 시군구 코드(SGG_CD)
.addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD)
;
}
@ -102,10 +104,10 @@ public class Rcvm01Controller extends ApplicationController {
return mav
.addObject("pageName", "rcvm01020")
.addObject("callPurpose", req.getCallPurpose()) // 호출 용도
.addObject("FIM041List", commonCodes.get("FIM041")) // 수납 구분 코드(RCVMT_SE_CD)
.addObject("FIM045List", commonCodes.get("FIM045")) // 납부 방법 구분 코드(PAY_MTHD_SE_CD)
.addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD)
.addObject("callPurpose", req.getCallPurpose()) // 호출 용도
.addObject("rcvmtInfo", json ? rcvmtInfo : toJson(rcvmtInfo)) // 수납 정보
;
}
@ -119,9 +121,9 @@ public class Rcvm01Controller extends ApplicationController {
*/
public ModelAndView createReceivingMoney(Rcvmt rcvmt) {
boolean saved = false;
String retMessage = rcvmtService.createRcvmt(rcvmt);
String rtnMsg = rcvmtService.createRcvmt(rcvmt);
if (retMessage.contains("[S]")) {
if (rtnMsg.contains("[S]")) {
saved = true;
} else {
saved = false;
@ -129,7 +131,7 @@ public class Rcvm01Controller extends ApplicationController {
return new ModelAndView("jsonView")
.addObject("saved", saved)
.addObject("retMessage", retMessage);
.addObject("rtnMsg", rtnMsg);
}
/** .
@ -141,9 +143,9 @@ public class Rcvm01Controller extends ApplicationController {
*/
public ModelAndView updateReceivingMoneyRetraction(Rcvmt rcvmt) {
boolean saved = false;
String retMessage = rcvmtService.updateRcvmtRtrcn(rcvmt);
String rtnMsg = rcvmtService.updateRcvmtRtrcn(rcvmt);
if (retMessage.contains("[S]")) {
if (rtnMsg.contains("[S]")) {
saved = true;
} else {
saved = false;
@ -151,11 +153,9 @@ public class Rcvm01Controller extends ApplicationController {
return new ModelAndView("jsonView")
.addObject("saved", saved)
.addObject("retMessage", retMessage);
.addObject("rtnMsg", rtnMsg);
}
/** .
* @param rcvmt
* @return jsonView
@ -165,9 +165,9 @@ public class Rcvm01Controller extends ApplicationController {
*/
public ModelAndView removeReceivingMoney(Rcvmt rcvmt) {
boolean saved = false;
String retMessage = rcvmtService.removeRcvmt(rcvmt);
String rtnMsg = rcvmtService.removeRcvmt(rcvmt);
if (retMessage.contains("[S]")) {
if (rtnMsg.contains("[S]")) {
saved = true;
} else {
saved = false;
@ -175,7 +175,7 @@ public class Rcvm01Controller extends ApplicationController {
return new ModelAndView("jsonView")
.addObject("saved", saved)
.addObject("retMessage", retMessage);
.addObject("rtnMsg", rtnMsg);
}
/** .

@ -211,13 +211,6 @@
// 달력 초기화
initDatepicker("frmEdit--${pageName}");
$("#levyExclYmd--${pageName}").datepicker("setDate", new Date());
// view 로 호출됐을 경우..
if (${pageName}CallPurpose == "view") {
$("btnSave--${pageName}").attr("disabled", true);
} else {
$("btnSave--${pageName}").attr("disabled", false);
}
}
// 기본 데이터 설정

@ -13,7 +13,7 @@
<div>
<!-- 상단 버튼 -->
<div class="container-page-btn">
<button type="button" class="btn btn-outline-dark" 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">
@ -140,7 +140,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="btnUser--${pageName}" title="사용자 검색" onclick="fnFindUser${pageName}();">
검색
</button>
</div>
@ -310,10 +310,8 @@
, keymapper : info => info ? info.RCVMT_ID : ""
, dataGetter : obj => obj.rcvmtList
, appendData : true
, tableRenderComplete : false // dataTables 에 자료 추가 완료 여부
, urls : {
getInfo : wctx.url("/sprt/sprt02/010/main.do") // 개별총정보
}
, untilPageNum : 0 // 현재 페이지 번호
, tableRenderComplete : false // dataTables 에 자료 추가 완료 여부
, formats : {
RCVMT_YMD : dateFormat
, ACNTG_YMD : dateFormat
@ -339,7 +337,7 @@
**************************************************************************/
// Dataset 변경 이벤트
${pageName}Control.onDatasetChange = obj => {
renderList${pageName}();
renderList${pageName}(obj.${infoPrefix}Total);
$("#paging--${pageName}").setPagingInfo({
list : ${pageName}Control.dataset
@ -350,7 +348,7 @@
, func : "${pageName}Control.load({index})"
});
${pageName}Control.tableRenderComplete = true; // dataTables 에 자료 추가 완료
${pageName}Control.tableRenderComplete = true; // dataTables 에 자료 추가 완료
};
// 현재 선택 자료 변경 이벤트
@ -376,17 +374,64 @@
$("#btnLevyExclRemove--${pageName}").prop("disabled", keys.length < 1);
};
/**************************************************************************
* DataTables 이벤트
**************************************************************************/
// DataTables에 click, dbclick 이벤트
renderList${pageName} = (totalSize) => {
let ${infoPrefix}List = ${pageName}Control.dataset;
let empty = ${infoPrefix}List.empty;
let trs = empty ?
[document.getElementById("${infoPrefix}NotFound--${pageName}").innerHTML] : <%-- from template#${infoPrefix}NotFound --%>
${infoPrefix}List.inStrings(
document.getElementById("${infoPrefix}Row--${pageName}").innerHTML, <%-- from template#${infoPrefix}Row --%>
(str, dataItem) => str
.replace(/{onclick}/gi, "${pageName}Control.setCurrent('" + dataItem.getValue("RCVMT_ID") + "');")
.replace(/{ondblclick}/gi, "getTotalInfo${pageName}('" + dataItem.getValue("CRDN_ID") + "');")
);
let noMore = (totalSize == ${infoPrefix}List.length);
let initScroll = (${pageName}Control.query.pageNum < 2) && (${pageName}Control.untilPageNum == 0);
$("#table-responsive--${pageName}")[0].changeContent(trs.join(), initScroll, noMore);
if (${pageName}Control.untilPageNum != 0) {
${pageName}Control.query.fetchSize = ${pageName}Control.defaultFetchSize;
${pageName}Control.query.pageNum = ${pageName}Control.untilPageNum;
${pageName}Control.untilPageNum = 0;
}
// checkbox 체크 해제
$("th input[type='checkbox']").prop("checked", false);
//보안모드
fn_securityModeToggle($("#securityMode--top").is(":checked"));
}
// DataTables에 스크롤이 맨 밑으로 이동했을 때 이벤트
scrollDataList${pageName} = () => {
${pageName}Control.tableRenderComplete = false; // dataTables 에 자료 추가 false
${pageName}Control.load(${pageName}Control.query.pageNum + 1);
}
/**************************************************************************
* 사용자 함수(function)
**************************************************************************/
// 개별총정보 dialog
${pageName}Control.getInfo = (crdnId) => {
getTotalInfo${pageName} = (crdnId) => {
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
let params = {
callControlName : "${pageName}Control"
, sggCd : $("#sggCd--${pageName}").val()
, taskSeCd : $("input[name=taskSeCd]:checked").val()
, crdnId : crdnId
}
ajax.get({
url : ${pageName}Control.urls.getInfo
url : wctx.url(params.taskSeCd + "/sprt/sprt02/010/main.do")
, data : params
, success : resp => {
dialog.open({
@ -394,51 +439,72 @@
, title : "개별총정보"
, content : resp
, size : "xxl"
, init : () => { }
, onClose : () => { }
});
}
});
}
// 검색 자료 재조회
refreshList${pageName} = () => {
${pageName}Control.untilPageNum = ${pageName}Control.query.pageNum;
${pageName}Control.query.fetchSize = ${pageName}Control.defaultFetchSize * ${pageName}Control.query.pageNum;
${pageName}Control.load(1);
}
/**************************************************************************
*
* 버튼 clickEvent
**************************************************************************/
// DataTables에 click, dbclick 이벤트
renderList${pageName} = () => {
let ${infoPrefix}List = ${pageName}Control.dataset;
let empty = ${infoPrefix}List.empty;
// 업무 구분 변경
fnResetAndChangeBiz${pageName} = (taskSeCd) => {
// 업무 구분 코드
if (typeof taskSeCd == "undefined" || taskSeCd == null || taskSeCd == "") {
taskSeCd = $("#layout-navbar input[name='taskSeCd']:checked").val();
}
let trs = empty ?
[document.getElementById("${infoPrefix}NotFound--${pageName}").innerHTML] : <%-- from template#${infoPrefix}NotFound --%>
${infoPrefix}List.inStrings(
document.getElementById("${infoPrefix}Row--${pageName}").innerHTML, <%-- from template#${infoPrefix}Row --%>
(str, dataItem) => str
.replace(/{onclick}/gi, "${pageName}Control.setCurrent('" + dataItem.getValue("RCVMT_ID") + "');")
.replace(/{ondblclick}/gi, "${pageName}Control.getInfo('" + dataItem.getValue("CRDN_ID") + "');")
);
// 초기 기본 설정
initForm${pageName}(taskSeCd);
$("#tbody--${pageName}").html(trs.join());
$("th input[type='checkbox']").prop("checked", false);
// URL 설정
setURL${pageName}(taskSeCd);
//보안모드
fn_securityModeToggle($("#securityMode--top").is(":checked"));
// 기본 데이터 설정
setFormData${pageName}();
}
/**************************************************************************
* 초기 셋팅
**************************************************************************/
// 초기화
initForm${pageName} = () => {
// 화면 초기화
$("#frmSearch--${pageName}")[0].reset();
// 검색 버튼 이벤트
fnSearchList${pageName} = () => {
// 검색조건
${pageName}Control.query = ${pageName}Fields.get();
${pageName}Control.query.fetchSize = ${pageName}Control.defaultFetchSize; // 한번에 조회되는 자료 건수 FETCH_XS = 30
${pageName}Control.query.delYn = "N"; // 삭제 여부
${pageName}Control.load(1);
}
// 엑셀 버튼 이벤트
fnExcel${pageName} = () => {
// dataset 초기화
${pageName}Control.dataset.clear();
}
// 사용자 조회 버튼 이벤트
fnFindUser${pageName} = () => {
}
/**************************************************************************
* 초기 셋팅
**************************************************************************/
// 이벤트
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() {
@ -455,37 +521,17 @@
// DataTables width 변경 조정 업무별 그리드가 존재 한다면.. crdn06010-main.jsp 참고
$("#DataTables_Table_0--${pageName}").find("th").resizable( {handles : "e"} );
// DataTables 스크롤 이벤트
$("#table-responsive--${pageName}").scroll(function() {
let el = $(this);
if (el.scrollTop() == 0) {
return;
}
if (!${pageName}Control.tableRenderComplete) {
return;
}
let itemsCnt = ${pageName}Control.dataset._items.length;
let totCnt = ${pageName}Control.dataset.getValue("TOT_CNT"); // let totCnt = ${pageName}Control.dataset.getCurrent("item").data.TOT_CNT;
if (itemsCnt >= totCnt) {
return;
}
if ((el[0].scrollHeight - el.scrollTop() + VERTICAL_SCROLL_HEIGHT) <= el.outerHeight()) {
${pageName}Control.tableRenderComplete = false; // dataTables 에 자료 추가 완료
${pageName}Control.load(${pageName}Control.query.pageNum + 1);
}
});
// DataTables 스크롤 이벤트 생성
fnMakeScrollableTable($("#table-responsive--${pageName}")[0], scrollDataList${pageName});
}
// 화면 초기값 셋팅
setForm${pageName} = (taskSeCd) => {
// 화면 초기 설정
initForm${pageName} = (taskSeCd) => {
// 화면 초기화
$("#frmSearch--${pageName}")[0].reset();
// 업무 구분 코드
$("#frmSearch--${pageName} input[name='taskSeCd'][value='" + taskSeCd + "']").prop("checked", true);
// 최고 관리자 경우 업무구분을 선택할 수 있도록 하자.
$("#frmSearch--${pageName} input[name='taskSeCd']").each(function(i) {
$(this).prop("disabled", "true");
@ -493,81 +539,42 @@
// 달력 초기화
initDatepicker("frmSearch--${pageName}");
$("#schPstmrkYmdFrom--${pageName}").datepicker("setDate", DateUtil.getDateDay(-365).date);
$("#schPstmrkYmdTo--${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.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 + "/sprt/sprt02/010/main.do"); // 개별총정보
}
/**************************************************************************
* 버튼 clickEvent
**************************************************************************/
// 업무 구분 변경
fnResetAndChangeBiz${pageName} = (taskSeCd) => {
// 초기화
initForm${pageName}();
// 업무 구분 코드
if (typeof taskSeCd == "undefined" || taskSeCd == null || taskSeCd == "") {
taskSeCd = $("#layout-navbar input[name='taskSeCd']:checked").val();
}
// 화면 초기값 설정
setForm${pageName}(taskSeCd);
// URL 설정
setURL${pageName}(taskSeCd);
}
// 초기화 버튼 이벤트
fnReset${pageName} = () => {
fnResetAndChangeBiz${pageName}();
}
// 검색 버튼 이벤트
fnSearchList${pageName} = () => {
// 검색조건
${pageName}Control.query = ${pageName}Fields.get();
${pageName}Control.query.fetchSize = FETCH_XS; // 한번에 조회되는 자료 건수 FETCH_XS = 30
${pageName}Control.query.delYn = "N"; // 삭제 여부
${pageName}Control.query.crdnDelYn = "N"; // 단속 대장 삭제 여부
${pageName}Control.load();
}
// 엑셀 버튼 이벤트
fnExcel${pageName} = () => {
}
// 사용자 조회 버튼 이벤트
fnUser${pageName} = () => {
// 기본 데이터 설정
setFormData${pageName} = () => {
// ${pageName}Control 설정
${pageName}Control.defaultFetchSize = FETCH_XS; // 1 페이지당 조회되는 자료 건수 index.jsp에서 확인 FETCH_XS = 30
}
/**************************************************************************
* script 진입
**************************************************************************/
$(document).ready(function() {
// 기본 데이터 설정
$("#sggCd--${pageName}").val("${sggCd}"); // 시군구 코드
// 이벤트 설정
setEvent${pageName}();
// 보안모드
fn_securityModeToggle($("#securityMode--top").is(":checked"));
// 시군구 코드 설정
$("#sggCd--${pageName}").val("${sggCd}");
// 업무 구분 설정
let defaultBizValue = $("#layout-navbar input[name='taskSeCd']:checked").val();
$("#frmSearch--${pageName} input[name='taskSeCd'][value='" + defaultBizValue + "']").prop("checked", true);
// 보안모드
fn_securityModeToggle($("#securityMode--top").is(":checked"));
// 화면 초기 설정 및 업무 구분 변경
fnResetAndChangeBiz${pageName}(defaultBizValue);
});

@ -12,9 +12,9 @@
<!-- 입력 영역 -->
<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" />
<input type="hidden" id="levyId--${pageName}" name="levyId" data-map="LEVY_ID" />
<input type="hidden" id="rcvmtId--${pageName}" name="rcvmtId" data-map="RCVMT_ID" />
@ -22,17 +22,17 @@
<!-- 단속일시 -->
<div class="col-md-4">
<label for="crdnYmdTm--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">단속일시</label>
<input type="text" class="form-control w-50" id="crdnYmdTm--${pageName}" name="crdnYmdTm" data-map="CRDN_YMD_TM" readonly />
<input type="text" class="form-control w-50" id="crdnYmdTm--${pageName}" name="crdnYmdTm" data-map="CRDN_YMD_TM" />
</div>
<!-- 차량번호 -->
<div class="col-md-4">
<label for="vhrno--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">차량번호</label>
<input type="text" class="form-control w-40" id="vhrno--${pageName}" name="vhrno" data-map="VHRNO" readonly />
<input type="text" class="form-control w-40" id="vhrno--${pageName}" name="vhrno" data-map="VHRNO" />
</div>
<!-- 단속 상태 명 -->
<div class="col-md-4">
<label for="crdnSttsNm--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">단속상태</label>
<input type="text" class="form-control w-50" id="crdnSttsNm--${pageName}" name="crdnSttsNm" data-map="CRDN_STTS_NM" readonly />
<input type="text" class="form-control w-50" id="crdnSttsNm--${pageName}" name="crdnSttsNm" data-map="CRDN_STTS_NM" />
</div>
<!-- 회계 구분 코드 -->
<div class="col-md-4">
@ -159,6 +159,8 @@
**************************************************************************/
// URL
var ${pageName}PrefixUrl = "/rcvm/rcvm01";
// infoDialog 호출 용도(view 조회(편집불가), create 등록, update 수정)
var ${pageName}CallPurpose = "${callPurpose}";
// FormFields
var ${pageName}Fields = new FimsFormFields("#frmEdit--${pageName}");
@ -193,7 +195,8 @@
}
// 업무구분에 따른 url 변경
${pageName}Control.urls.create = wctx.url(item.data.TASK_SE_CD + ${pageName}PrefixUrl + "/020/createRcvmt.do");
${pageName}Control.urls.create = wctx.url(item.data.TASK_SE_CD + ${pageName}PrefixUrl + "/020/create.do");
${pageName}Control.urls.update = wctx.url(item.data.TASK_SE_CD + ${pageName}PrefixUrl + "/020/update.do");
}
/**************************************************************************
@ -202,7 +205,7 @@
// 저장 callback
${pageName}Control.onSave = (resp) => {
let dialogTitle = $("#" + ${pageName}Control.prefix + "Dialog").find("h5.modal-title").html();
let showMessage = resp.retMessage.replace(/[S]|[F]/g, dialogTitle);
let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, dialogTitle);
dialog.alert(showMessage);
@ -215,52 +218,26 @@
${pageName}Control.save = (info) => {
if (!info) return;
info.rcvmtInptSeCd = "03"; // 수납 입력 구분 코드(FIM044) : 03 수기
let create = (${pageName}CallPurpose == "create");
info.rcvmtInptSeCd = "03"; // 수납 입력 구분 코드(FIM044) : 03 수기
ajax.post({
url : ${pageName}Control.urls.create
url : !create ? ${pageName}Control.urls.update : ${pageName}Control.urls.create
, data : info
, success : resp => ${pageName}Control.onSave(resp)
});
}
/**************************************************************************
*
**************************************************************************/
/**************************************************************************
* 초기 셋팅
* 사용자 함수
**************************************************************************/
// 이벤트 설정
setEvent${pageName} = () => {
// form-date 항목에서 키보드로 입력시 날짜 포맷팅 적용
$("#frmEdit--${pageName}").find(".form-date").each(function() {
$(this).on("input", function() {
let value = this.value.replaceAll("-","");
if (value.length > 7) {
this.value = value.substring(0, 4) + "-" + value.substring(4, 6) + "-" + value.substring(6);
} else if(value.length > 5) {
this.value = value.substring(0, 4) + "-" + value.substring(4);
}
});
});
}
// 검색조건 초기값 셋팅
setForm${pageName} = () => {
// 달력 초기화
initDatepicker("frmEdit--${pageName}");
$("#rcvmtYmd--${pageName}").datepicker("setDate", new Date());
$("#pstmrkYmd--${pageName}").datepicker("setDate", new Date());
$("#acntgYmd--${pageName}").datepicker("setDate", new Date());
}
/**************************************************************************
* function
* 버튼 clickEvent
**************************************************************************/
// 저장
// 저장 버튼 클릭 이벤트
fnSave${pageName} = () => {
// validate 확인
if (!customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return;
@ -285,6 +262,60 @@
});
}
/**************************************************************************
* 초기 셋팅
**************************************************************************/
// 이벤트 설정
setEvent${pageName} = () => {
// form-date 항목에서 키보드로 입력시 날짜 포맷팅 적용
$("#frmEdit--${pageName}").find(".form-date").each(function() {
$(this).on("input", function() {
let value = this.value.replaceAll("-","");
if (value.length > 7) {
this.value = value.substring(0, 4) + "-" + value.substring(4, 6) + "-" + value.substring(6);
} else if(value.length > 5) {
this.value = value.substring(0, 4) + "-" + value.substring(4);
}
});
});
}
// 화면 초기화
initForm${pageName} = () => {
// 화면 초기화
$("#frmEdit--${pageName}")[0].reset();
// 달력 초기화
initDatepicker("frmEdit--${pageName}");
$("#rcvmtYmd--${pageName}").datepicker("setDate", new Date()); // 수납 일자
$("#pstmrkYmd--${pageName}").datepicker("setDate", new Date()); // 소인 일자
$("#acntgYmd--${pageName}").datepicker("setDate", new Date()); // 회계 일자
}
// 기본 데이터 설정
setFormData${pageName} = () => {
$("#crdnYmdTm--${pageName}").prop("readonly", true); // 단속 일시
$("#vhrno--${pageName}").prop("readonly", true); // 차량번호
$("#crdnSttsNm--${pageName}").prop("readonly", true); // 단속 상태
if (${pageName}CallPurpose == "view") {
// input 요소들을 disabled
$("#frmEdit--${pageName}").find("input,textarea,select").prop("disabled", true);
// button 요소들을 disabled
$("#rcvmtYmd--${pageName}").prop("disabled", true); // 수납 일자 달력 버튼
$("#pstmrkYmd--${pageName}").prop("disabled", true); // 소인 일자 달력 버튼
$("#acntgYmd--${pageName}").prop("disabled", true); // 회계 일자 달력 버튼
$("#btnSave--${pageName}").prop("disabled", true); // 저장 버튼
} else if (${pageName}CallPurpose == "create") {
$("#rcvmtYmd--${pageName}").datepicker("setDate", new Date()); // 수납 일자
$("#pstmrkYmd--${pageName}").datepicker("setDate", new Date()); // 소인 일자
$("#acntgYmd--${pageName}").datepicker("setDate", new Date()); // 회계 일자
} else if (${pageName}CallPurpose == "update") {
//
}
}
/**************************************************************************
* script 진입
**************************************************************************/
@ -292,11 +323,14 @@
// 이벤트 설정
setEvent${pageName}();
// 화면 초기 설정
setForm${pageName}();
// 화면 초기
initForm${pageName}();
// Dataset 셋팅 - 단건일 경우 setData
// Dataset 설정
${pageName}Control.setData([${rcvmtInfo}]);
// 기본 데이터 설정
setFormData${pageName}();
});
</script>

@ -194,12 +194,6 @@
<!-- -->
<div class="col-md-3">
</div>
<!-- -->
<div class="col-md-3">
</div>
<!-- -->
<div class="col-md-3">
</div>
<!-- 등록 일시 -->
<div class="col-md-3">
<label for="regDt--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">등록일시</label>
@ -210,6 +204,17 @@
<label for="rgtrNm--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">등록자</label>
<input type="text" class="form-control w-40" id="rgtrNm--${pageName}" name="rgtrNm" data-map="RGTR_NM" readonly />
</div>
<!-- 수정 일시 -->
<div class="col-md-3">
<label for="mdfcnDt--${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="mdfcnDt--${pageName}" name="mdfcnDt" data-map="MDFCN_DT" readonly />
</div>
<!-- 수정자 -->
<div class="col-md-3">
<label for="mdfrNm--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">수정자</label>
<input type="text" class="form-control w-40" id="mdfrNm--${pageName}" name="mdfrNm" data-map="MDFR_NM" readonly />
</div>
</div> <!-- <div class="row g-1"> -->
</form>
</div> <!-- <div class="card"> -->
@ -245,6 +250,7 @@
, RCVMT_INT : numberFormat
, RCVMT_RTRCN_DT : datetimeFormat
, REG_DT : datetimeFormat
, MDFCN_DT : datetimeFormat
}
});
@ -289,7 +295,7 @@
}
ajax.get({
url : wctx.url($("#taskSeCd--${pageNameMain}").val() + ${pageName}PrefixUrl + "/020/info.do")
url : wctx.url(params.taskSeCd + ${pageName}PrefixUrl + "/020/info.do")
, data : params || {}
, success : resp => {
dialog.open({
@ -308,18 +314,20 @@
updateRcvmtRtrcn${pageName} = (obj) => {
// 서버에 전송할 data(파라미터) 생성
let params = {
callPurpose : "update"
, rcvmtId : ${pageName}Control.dataset.getValue("RCVMT_ID") // 수납 ID
, rcvmtRtrcnYn : "Y" // 수납 취소 여부
, rcvmtRtrcnRsn : obj.reason // 수납 취소 사유
callPurpose : "update"
, sggCd : ${pageName}Control.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : ${pageName}Control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, rcvmtId : ${pageName}Control.dataset.getValue("RCVMT_ID") // 수납 ID
, rcvmtRtrcnYn : "Y" // 수납 취소 여부
, rcvmtRtrcnRsn : obj.reason // 수납 취소 사유
};
ajax.post({
url : wctx.url($("#taskSeCd--${pageNameMain}").val() + ${pageName}PrefixUrl + "/010/updateRcvmtRtrcn.do")
url : wctx.url(params.taskSeCd + ${pageName}PrefixUrl + "/010/updateRcvmtRtrcn.do")
, data : params
, success : resp => {
let btnTitle = $("#btnUpdateRcvmtRtrc--${pageName}").attr("title");
let showMessage = resp.retMessage.replace(/[S]|[F]/g, btnTitle);
let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, btnTitle);
dialog.alert(showMessage); // 메시지 출력
@ -334,18 +342,19 @@
removeRcvmt${pageName} = (obj) => {
// 서버에 전송할 data(파라미터) 생성
let params = {
callPurpose : "remove"
, rcvmtId : ${pageName}Control.dataset.getValue("RCVMT_ID") // 수납 ID
, delYn : "Y" // 삭제 여부
, delRsn : obj.reason // 삭제 사유
callPurpose : "remove"
, sggCd : ${pageName}Control.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : ${pageName}Control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, rcvmtId : ${pageName}Control.dataset.getValue("RCVMT_ID") // 수납 ID
, delRsn : obj.reason // 삭제 사유
};
ajax.post({
url : wctx.url($("#taskSeCd--${pageNameMain}").val() + ${pageName}PrefixUrl + "/010/removeRcvmt.do")
url : wctx.url(params.taskSeCd + ${pageName}PrefixUrl + "/010/remove.do")
, data : params
, success : resp => {
let btnTitle = $("#btnRemoveRcvmt--${pageName}").attr("title");
let showMessage = resp.retMessage.replace(/[S]|[F]/g, btnTitle);
let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, btnTitle);
dialog.alert(showMessage); // 메시지 출력
@ -408,46 +417,6 @@
});
}
/**************************************************************************
* 초기 셋팅
**************************************************************************/
// 화면 초기화
initForm${pageName} = () => {
$("#frmEdit--${pageName}")[0].reset(); // 화면 초기화
}
// 이벤트 설정
setEvent${pageName} = () => {
}
// 화면 초기값 설정
setForm${pageName} = () => {
// 화면 호출(callPurpose)이 view 라면 버튼 비활성화
if (${pageNameMain}CallPurpose == "view") {
$("#btnCreateRcvmt--${pageName}").prop("disabled", true);
$("#btnUpdateRcvmtRtrc--${pageName}").prop("disabled", true);
$("#btnRemoveRcvmt--${pageName}").prop("disabled", true);
} else {
$("#btnCreateRcvmt--${pageName}").prop("disabled", false);
$("#btnUpdateRcvmtRtrc--${pageName}").prop("disabled", false);
$("#btnRemoveRcvmt--${pageName}").prop("disabled", false);
}
// 주정차위반, 전용차로위반과태료 외에는 수납 등록, 취소, 삭제 기능이 없어야 한다.
let taskSeCd = $("#taskSeCd--${pageNameMain}").val();
$("#btnCreateRcvmt--${pageName}").hide();
$("#btnUpdateRcvmtRtrc--${pageName}").hide();
$("#btnRemoveRcvmt--${pageName}").hide();
if (taskSeCd == "BPV" || taskSeCd == "PVS") {
$("#btnCreateRcvmt--${pageName}").show();
$("#btnUpdateRcvmtRtrc--${pageName}").show();
$("#btnRemoveRcvmt--${pageName}").show();
}
}
/**************************************************************************
* 버튼 clickEvent
**************************************************************************/
@ -459,10 +428,10 @@
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
let params = {
callPurpose : "create"
, crdnId : crdnId
, sggCd : $("#sggCd--${pageNameMain}").val()
, taskSeCd : $("#taskSeCd--${pageNameMain}").val()
callPurpose : "create"
, crdnId : crdnId
, sggCd : $("#sggCd--${pageNameMain}").val()
, taskSeCd : $("#taskSeCd--${pageNameMain}").val()
};
${pageName}Control.getInfo(params);
@ -540,6 +509,47 @@
);
}
/**************************************************************************
* 초기 셋팅
**************************************************************************/
// 이벤트 설정
setEvent${pageName} = () => {
}
// 화면 초기화
initForm${pageName} = () => {
$("#frmEdit--${pageName}")[0].reset(); // 화면 초기화
}
// 화면 초기값 설정
setForm${pageName} = () => {
// 화면 호출(callPurpose)이 view 라면 버튼 비활성화
if (${pageNameMain}CallPurpose == "view") {
$("#btnCreateRcvmt--${pageName}").prop("disabled", true);
$("#btnUpdateRcvmtRtrc--${pageName}").prop("disabled", true);
$("#btnRemoveRcvmt--${pageName}").prop("disabled", true);
} else {
$("#btnCreateRcvmt--${pageName}").prop("disabled", false);
$("#btnUpdateRcvmtRtrc--${pageName}").prop("disabled", false);
$("#btnRemoveRcvmt--${pageName}").prop("disabled", false);
}
// 주정차위반, 전용차로위반과태료 외에는 수납 등록, 취소, 삭제 기능이 없어야 한다.
let taskSeCd = $("#taskSeCd--${pageNameMain}").val();
/*
if (taskSeCd == "BPV" || taskSeCd == "PVS") {
$("#btnCreateRcvmt--${pageName}").show();
$("#btnUpdateRcvmtRtrc--${pageName}").show();
$("#btnRemoveRcvmt--${pageName}").show();
} else {
$("#btnCreateRcvmt--${pageName}").hide();
$("#btnUpdateRcvmtRtrc--${pageName}").hide();
$("#btnRemoveRcvmt--${pageName}").hide();
}
*/
}
/**************************************************************************
* script 진입
**************************************************************************/

@ -12,13 +12,13 @@
<label class="w-px-120 bg-label-danger pe-2 col-form-label text-sm-center">민원상담 이력</label>
<!-- 버튼 우측 정렬 -->
<span class="container-window-btn-right">
<button type="button" class="btn btn-primary w-px-120" id="btnCreate--${pageName}" title="민원상담 등록" onclick="fnCreate${pageName}();">
<button type="button" class="btn btn-primary w-px-120" id="btnCreateCvlcptDscsn--${pageName}" title="민원상담 등록" onclick="fnCreateCvlcptDscsn${pageName}();">
민원상담 등록
</button>
<button type="button" class="btn btn-primary w-px-120" id="btnUpdate--${pageName}" title="민원상담 수정" onclick="fnUpdate${pageName}();">
<button type="button" class="btn btn-primary w-px-120" id="btnUpdateCvlcptDscsn--${pageName}" title="민원상담 수정" onclick="fnUpdateCvlcptDscsn${pageName}();">
민원상담 수정
</button>
<button type="button" class="btn btn-primary w-px-120" id="btnRemove--${pageName}" title="민원상담 삭제" onclick="fnRemove${pageName}();">
<button type="button" class="btn btn-primary w-px-120" id="btnRemoveCvlcptDscsn--${pageName}" title="민원상담 삭제" onclick="fnRemoveCvlcptDscsn${pageName}();">
민원상담 삭제
</button>
</span> <!-- <span class="container-window-btn-right"> -->
@ -235,13 +235,13 @@
removeCvlcptDscsn${pageName} = (obj) => {
// 서버에 전송할 data(파라미터) 생성
let params = {
callPurpose : "remove"
, crdnId : ${pageName}Control.dataset.getValue("CRDN_ID") // 단속 ID
, sggCd : ${pageName}Control.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : ${pageName}Control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, cvlcptDscsnId : ${pageName}Control.dataset.getValue("CVLCPT_DSCSN_ID") // 민원상담 ID
, delYn : "Y" // 삭제 여부
, delRsn : obj.reason // 삭제 사유
callPurpose : "remove"
, crdnId : ${pageName}Control.dataset.getValue("CRDN_ID") // 단속 ID
, sggCd : ${pageName}Control.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : ${pageName}Control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, cvlcptDscsnId : ${pageName}Control.dataset.getValue("CVLCPT_DSCSN_ID") // 민원상담 ID
, delYn : "Y" // 삭제 여부
, delRsn : obj.reason // 삭제 사유
};
ajax.post({
@ -266,7 +266,7 @@
* 버튼 clickEvent
**************************************************************************/
// 민원 상담 내용 등록
fnCreate${pageName} = () => {
fnCreateCvlcptDscsn${pageName} = () => {
let crdnId = $("#crdnId--${pageNameMain}").val();
// 단속 ID 가 없다면.. return
@ -283,7 +283,7 @@
}
// 민원 상담 내용 수정
fnUpdate${pageName} = () => {
fnUpdateCvlcptDscsn${pageName} = () => {
let cvlcptDscsnId = ${pageName}Control.dataset.getValue("CVLCPT_DSCSN_ID");
// 민원 상담 ID 가 없다면.. return
@ -301,7 +301,7 @@
}
// 민원상담 내용 삭제
fnRemove${pageName} = () => {
fnRemoveCvlcptDscsn${pageName} = () => {
// 민원상담 ID
let cvlcptDscsnId = ${pageName}Control.dataset.getValue("CVLCPT_DSCSN_ID");

Loading…
Cancel
Save