main
jjh 1 year ago
parent b7cb243b8b
commit d3fbd12222

@ -10,7 +10,6 @@ import cokr.xit.foundation.AbstractComponent;
import cokr.xit.foundation.data.DataObject; import cokr.xit.foundation.data.DataObject;
import cokr.xit.base.user.ManagedUser; import cokr.xit.base.user.ManagedUser;
import cokr.xit.fims.cmmn.CrdnSttsHstry; import cokr.xit.fims.cmmn.CrdnSttsHstry;
import cokr.xit.fims.cmmn.TaskInfoQuery;
import cokr.xit.fims.cmmn.service.bean.CrdnSttsHstryBean; import cokr.xit.fims.cmmn.service.bean.CrdnSttsHstryBean;
import cokr.xit.fims.cmmn.service.bean.TaskInfoBean; import cokr.xit.fims.cmmn.service.bean.TaskInfoBean;
import cokr.xit.fims.levy.Levy; import cokr.xit.fims.levy.Levy;

@ -32,9 +32,9 @@ public class Levy01Controller extends ApplicationController {
public class METHOD_URL { public class METHOD_URL {
public static final String public static final String
reductionLevyTargetMain = "/010/main.do" // 사전 감경 부과 대상 메인 화면 reductionLevyTargetMain = "/010/main.do" // 사전 감경 부과 대상 메인 화면
, getRductLevyTrgtList = "/010/list.do" // 사전 감경 부과 대상 대장 목록 조회 , getReductionLevyTargetList = "/010/list.do" // 사전 감경 부과 대상 대장 목록 조회
, createRductLevy = "/010/createRductLevy.do" // 사전 감경 부과 대장 등록 , createReductionLevy = "/010/createRductLevy.do" // 사전 감경 부과 대장 등록
; ;
} }
@ -72,7 +72,7 @@ public class Levy01Controller extends ApplicationController {
* "levyTotal": * "levyTotal":
* }</code></pre> * }</code></pre>
*/ */
public ModelAndView getRductLevyTrgtList(LevyQuery req) { public ModelAndView getReductionLevyTargetList(LevyQuery req) {
List<?> result = levyService.getRductLevyTrgtList(setFetchSize(req)); List<?> result = levyService.getRductLevyTrgtList(setFetchSize(req));
return setCollectionInfo(new ModelAndView("jsonView"), result, "rductLevyTrgt"); return setCollectionInfo(new ModelAndView("jsonView"), result, "rductLevyTrgt");
@ -85,7 +85,7 @@ public class Levy01Controller extends ApplicationController {
* "saved": true, false * "saved": true, false
* }</code></pre> * }</code></pre>
*/ */
public ModelAndView createRductLevy(LevyQuery req) { public ModelAndView createReductionLevy(LevyQuery req) {
boolean saved = false; boolean saved = false;
String retMessage = levyService.createRductLevy(req); String retMessage = levyService.createRductLevy(req);

@ -36,20 +36,21 @@ public class Sndb01Controller extends ApplicationController {
public class METHOD_URL { public class METHOD_URL {
public static final String public static final String
warningSendingTargetMain = "/010/main.do" // 계도장 발송 대상 메인 화면 warningSendingTargetMain = "/010/main.do" // 계도장 발송 대상 메인 화면
, getWrngSndngTrgtList = "/010/list.do" // 계도장 발송 대상 목록 조회 , getWarningSendingTargetList = "/010/list.do" // 계도장 발송 대상 목록 조회
, getWrngSndngTrgts = "/020/info.do" // 계도장 발송 대상 조회 , getWarningSendingTargetInfo = "/020/info.do" // 계도장 발송 대상 조회
, warningSendingMain = "/030/main.do" // 계도장 발송 현황 메인 화면 , warningSendingMain = "/030/main.do" // 계도장 발송 현황 메인 화면
, getWrngSndngList = "/030/list.do" // 계도장 발송 현황 목록 조회 , getWarningSendingList = "/030/list.do" // 계도장 발송 현황 목록 조회
, getWrngSndngDltInfo = "/040/info.do" // 계도장 발송 상세 대장 조회 , getWarningSendingInfo = "/040/info.do" // 계도장 발송 상세 대장 조회
, advanceNoticeSendingTargetMain = "/050/main.do" // 사전통지 발송 대상 메인 화면 , advanceNoticeSendingTargetMain = "/050/main.do" // 사전통지 발송 대상 메인 화면
, getAdvanceNoticeSndngTrgtList = "/050/list.do" // 사전통지 발송 대상 목록 조회 , getAdvanceNoticeSendingTargetList = "/050/list.do" // 사전통지 발송 대상 목록 조회
, getAdvanceNoticeSndngTrgts = "/060/info.do" // 사전통지 발송 대상 조회 , getAdvanceNoticeSendingTargetInfo = "/060/info.do" // 사전통지 발송 대상 조회
, advanceNoticeSendingMain = "/070/main.do" // 사전통지 발송 현황 메인 화면 , advanceNoticeSendingMain = "/070/main.do" // 사전통지 발송 현황 메인 화면
, getAdvanceNoticeSndngList = "/070/list.do" // 사전통지 발송 대상 목록 조회 , getAdvanceNoticeSendingList = "/070/list.do" // 사전통지 발송 대상 목록 조회
, getAdvanceNoticeSndngDltInfo = "/080/info.do" // 사전통지 발송 상세 대장 조회 , getAdvanceNoticeSendingInfo = "/080/info.do" // 사전통지 발송 상세 대장 조회
, noticeSheetSendingMain = "/090/main.do" // 고지서 발송 현황 메인 화면 , noticeSheetSendingMain = "/090/main.do" // 고지서 발송 현황 메인 화면
, getNoticeSheetSndngList = "/090/list.do" // 고지서 발송 대상 목록 조회 , getNoticeSheetSendingList = "/090/list.do" // 고지서 발송 대상 목록 조회
, getNoticeSheetSndngDltInfo = "/100/info.do" // 고지서 발송 상세 대장 조회 , getNoticeSheetSendingInfo = "/100/info.do" // 고지서 발송 상세 대장 조회
, noticeSheetSendingTargetMain = "/110/main.do" // 고지서 발송 대상 메인
, createSndng = "/020/createSndng.do" // 발송 대상 등록 , createSndng = "/020/createSndng.do" // 발송 대상 등록
, createSndngLink = "/080/createSndngLink.do" // 우편 통합 발송 연계 등록 , createSndngLink = "/080/createSndngLink.do" // 우편 통합 발송 연계 등록
@ -74,7 +75,7 @@ public class Sndb01Controller extends ApplicationController {
private TaskInfoService taskInfoService; private TaskInfoService taskInfoService;
/** (sndb/sndb01/010-main) . /** (sndb/sndb01/010-main) .
* {@link #getSndngList(SndbQuery) } . *
* @return /sndb/sndb01/010-main * @return /sndb/sndb01/010-main
*/ */
public ModelAndView warningSendingTargetMain() { public ModelAndView warningSendingTargetMain() {
@ -111,7 +112,7 @@ public class Sndb01Controller extends ApplicationController {
* "wrngSndngTrgtTotal": * "wrngSndngTrgtTotal":
* }</code></pre> * }</code></pre>
*/ */
public ModelAndView getWrngSndngTrgtList(SndbQuery req) { public ModelAndView getWarningSendingTargetList(SndbQuery req) {
List<?> result = sndngService.getWrngSndngTrgtList(setFetchSize(req)); List<?> result = sndngService.getWrngSndngTrgtList(setFetchSize(req));
return setCollectionInfo(new ModelAndView("jsonView"), result, "wrngSndngTrgt"); return setCollectionInfo(new ModelAndView("jsonView"), result, "wrngSndngTrgt");
@ -124,7 +125,7 @@ public class Sndb01Controller extends ApplicationController {
* "wrngSndngTrgts": [ ] * "wrngSndngTrgts": [ ]
* }</pre> * }</pre>
*/ */
public ModelAndView getWrngSndngTrgts(SndbQuery req) { public ModelAndView getWarningSendingTargetInfo(SndbQuery req) {
List<DataObject> wrngSndngTrgts = sndngService.getWrngSndngTrgts(req); List<DataObject> wrngSndngTrgts = sndngService.getWrngSndngTrgts(req);
boolean json = jsonResponse(); boolean json = jsonResponse();
@ -135,13 +136,13 @@ public class Sndb01Controller extends ApplicationController {
.addObject("sggCd", req.getSggCd()) .addObject("sggCd", req.getSggCd())
.addObject("taskSeCd", req.getTaskSeCd()) .addObject("taskSeCd", req.getTaskSeCd())
.addObject("sndngSeCd", req.getSndngSeCd()) // 발송 구분 코드 .addObject("sndngSeCd", req.getSndngSeCd()) // 발송 구분 코드
.addObject("vltnCd", req.getVltnCd()) // 위반 코드 .addObject("vltnCd", req.getVltnCd()) // 위반 코드
.addObject("wrngSndngTrgts", json ? wrngSndngTrgts : toJson(wrngSndngTrgts)) // 계도장 발송 대상 정보 .addObject("wrngSndngTrgtDtl", json ? wrngSndngTrgts : toJson(wrngSndngTrgts)) // 계도장 발송 대상 정보
; ;
} }
/** (sndb/sndb01/030-main) . /** (sndb/sndb01/030-main) .
* {@link #getSndngList(SndbQuery) } . *
* @return /sndb/sndb01/030-main * @return /sndb/sndb01/030-main
*/ */
public ModelAndView warningSendingMain() { public ModelAndView warningSendingMain() {
@ -154,7 +155,7 @@ public class Sndb01Controller extends ApplicationController {
Map<String, List<CommonCode>> commonCodes = getCodesOf("FIM054"); Map<String, List<CommonCode>> commonCodes = getCodesOf("FIM054");
return mav.addObject("pageName", "sndb01030") // View(jsp)에서 사용할 id 뒤에 붙일 suffix return mav.addObject("pageName", "sndb01030") // View(jsp)에서 사용할 id 뒤에 붙일 suffix
.addObject("infoPrefix", "sndng") // prefix .addObject("infoPrefix", "wrngSndng") // prefix
.addObject("sggCd", managedUser.getOrgID()) // 시군구 코드(SGG_CD) .addObject("sggCd", managedUser.getOrgID()) // 시군구 코드(SGG_CD)
.addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD) .addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD)
; ;
@ -171,10 +172,10 @@ public class Sndb01Controller extends ApplicationController {
* "sndngTotal": * "sndngTotal":
* }</code></pre> * }</code></pre>
*/ */
public ModelAndView getWrngSndngList(SndbQuery req) { public ModelAndView getWarningSendingList(SndbQuery req) {
List<?> result = sndngService.getSndngList(setFetchSize(req)); List<?> result = sndngService.getSndngList(setFetchSize(req));
return setCollectionInfo(new ModelAndView("jsonView"), result, "sndng"); return setCollectionInfo(new ModelAndView("jsonView"), result, "wrngSndng");
} }
/** - (sndb/sndb01/040-info) . /** - (sndb/sndb01/040-info) .
@ -184,7 +185,7 @@ public class Sndb01Controller extends ApplicationController {
* "sndngDtls": [ ] * "sndngDtls": [ ]
* }</pre> * }</pre>
*/ */
public ModelAndView getWrngSndngDltInfo(SndbQuery req) { public ModelAndView getWarningSendingInfo(SndbQuery req) {
List<?> sndngDtls = sndngService.getSndngDtls(req); List<?> sndngDtls = sndngService.getSndngDtls(req);
boolean json = jsonResponse(); boolean json = jsonResponse();
@ -195,12 +196,12 @@ public class Sndb01Controller extends ApplicationController {
.addObject("sggCd", req.getSggCd()) .addObject("sggCd", req.getSggCd())
.addObject("taskSeCd", req.getTaskSeCd()) .addObject("taskSeCd", req.getTaskSeCd())
.addObject("sndngSeCd", req.getSndngSeCd()) // 발송 구분 코드 .addObject("sndngSeCd", req.getSndngSeCd()) // 발송 구분 코드
.addObject("wrngSndngDtlInfo", json ? sndngDtls : toJson(sndngDtls)) // 계도장 발송 현황 세부내용 .addObject("wrngSndngDtl", json ? sndngDtls : toJson(sndngDtls)) // 계도장 발송 현황 세부내용
; ;
} }
/** (sndb/sndb01/050-main) . /** (sndb/sndb01/050-main) .
* {@link #getSndngList(SndbQuery) } . *
* @return /sndb/sndb01/050-main * @return /sndb/sndb01/050-main
*/ */
public ModelAndView advanceNoticeSendingTargetMain() { public ModelAndView advanceNoticeSendingTargetMain() {
@ -237,7 +238,7 @@ public class Sndb01Controller extends ApplicationController {
* "sndngTotal": * "sndngTotal":
* }</code></pre> * }</code></pre>
*/ */
public ModelAndView getAdvanceNoticeSndngTrgtList(SndbQuery req) { public ModelAndView getAdvanceNoticeSendingTargetList(SndbQuery req) {
List<?> result = sndngService.getAdvntceSndngTrgtList(setFetchSize(req)); List<?> result = sndngService.getAdvntceSndngTrgtList(setFetchSize(req));
return setCollectionInfo(new ModelAndView("jsonView"), result, "advntceSndngTrgt"); return setCollectionInfo(new ModelAndView("jsonView"), result, "advntceSndngTrgt");
@ -250,8 +251,8 @@ public class Sndb01Controller extends ApplicationController {
* "advntceSndngTrgs": [ ] * "advntceSndngTrgs": [ ]
* }</pre> * }</pre>
*/ */
public ModelAndView getAdvanceNoticeSndngTrgts(SndbQuery req) { public ModelAndView getAdvanceNoticeSendingTargetInfo(SndbQuery req) {
List<DataObject> advntceSndngTrgs = sndngService.getAdvntceSndngTrgts(req); List<DataObject> advntceSndngTrgts = sndngService.getAdvntceSndngTrgts(req);
DataObject taskInfo = taskInfoService.getTaskInfo(new TaskInfoQuery().setSggCd(req.getSggCd()) DataObject taskInfo = taskInfoService.getTaskInfo(new TaskInfoQuery().setSggCd(req.getSggCd())
.setTaskSeCd(req.getTaskSeCd())); .setTaskSeCd(req.getTaskSeCd()));
@ -267,12 +268,12 @@ public class Sndb01Controller extends ApplicationController {
.addObject("sndngSeCd", req.getSndngSeCd()) // 발송 구분 코드 .addObject("sndngSeCd", req.getSndngSeCd()) // 발송 구분 코드
.addObject("vltnCd", req.getVltnCd()) // 위반 코드 .addObject("vltnCd", req.getVltnCd()) // 위반 코드
.addObject("advntceDaycnt", advntceDaycnt) // 사전통지 일수 .addObject("advntceDaycnt", advntceDaycnt) // 사전통지 일수
.addObject("advntceSndngTrgs", json ? advntceSndngTrgs : toJson(advntceSndngTrgs)) // 사전통지 발송 대상 정보 .addObject("advntceSndngTrgtDtl", json ? advntceSndngTrgts : toJson(advntceSndngTrgts)) // 사전통지 발송 대상 정보
; ;
} }
/** (sndb/sndb01/070-main) . /** (sndb/sndb01/070-main) .
* {@link #getSndngList(SndbQuery) } . *
* @return /sndb/sndb01/070-main * @return /sndb/sndb01/070-main
*/ */
public ModelAndView advanceNoticeSendingMain() { public ModelAndView advanceNoticeSendingMain() {
@ -285,7 +286,7 @@ public class Sndb01Controller extends ApplicationController {
Map<String, List<CommonCode>> commonCodes = getCodesOf("FIM054"); Map<String, List<CommonCode>> commonCodes = getCodesOf("FIM054");
return mav.addObject("pageName", "sndb01070") // View(jsp)에서 사용할 id 뒤에 붙일 suffix return mav.addObject("pageName", "sndb01070") // View(jsp)에서 사용할 id 뒤에 붙일 suffix
.addObject("infoPrefix", "sndng") // prefix .addObject("infoPrefix", "advntceSndng") // prefix
.addObject("sggCd", managedUser.getOrgID()) // 시군구 코드(SGG_CD) .addObject("sggCd", managedUser.getOrgID()) // 시군구 코드(SGG_CD)
.addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD) .addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD)
; ;
@ -302,10 +303,10 @@ public class Sndb01Controller extends ApplicationController {
* "sndngTotal": * "sndngTotal":
* }</code></pre> * }</code></pre>
*/ */
public ModelAndView getAdvanceNoticeSndngList(SndbQuery req) { public ModelAndView getAdvanceNoticeSendingList(SndbQuery req) {
List<?> result = sndngService.getSndngList(setFetchSize(req)); List<?> result = sndngService.getSndngList(setFetchSize(req));
return setCollectionInfo(new ModelAndView("jsonView"), result, "sndng"); return setCollectionInfo(new ModelAndView("jsonView"), result, "advntceSndng");
} }
/** - (sndb/sndb01/080-info) . /** - (sndb/sndb01/080-info) .
@ -315,7 +316,7 @@ public class Sndb01Controller extends ApplicationController {
* "sndngDtls": [ ] * "sndngDtls": [ ]
* }</pre> * }</pre>
*/ */
public ModelAndView getAdvanceNoticeSndngDltInfo(SndbQuery req) { public ModelAndView getAdvanceNoticeSendingInfo(SndbQuery req) {
List<?> sndngDtls = sndngService.getSndngDtls(req); List<?> sndngDtls = sndngService.getSndngDtls(req);
boolean json = jsonResponse(); boolean json = jsonResponse();
@ -325,13 +326,13 @@ public class Sndb01Controller extends ApplicationController {
return mav.addObject("pageName", "sndb01080") return mav.addObject("pageName", "sndb01080")
.addObject("sggCd", req.getSggCd()) .addObject("sggCd", req.getSggCd())
.addObject("taskSeCd", req.getTaskSeCd()) .addObject("taskSeCd", req.getTaskSeCd())
.addObject("sndngSeCd", req.getSndngSeCd()) // 발송 구분 코드 .addObject("sndngSeCd", req.getSndngSeCd()) // 발송 구분 코드
.addObject("advntceSndngDtlInfo", json ? sndngDtls : toJson(sndngDtls)) // 사전통지 발송 현황 세부내용 .addObject("advntceSndngDtl", json ? sndngDtls : toJson(sndngDtls)) // 사전통지 발송 현황 세부내용
; ;
} }
/** (sndb/sndb01/090-main) . /** (sndb/sndb01/090-main) .
* {@link #getSndngList(SndbQuery) } . *
* @return /sndb/sndb01/090-main * @return /sndb/sndb01/090-main
*/ */
public ModelAndView noticeSheetSendingMain() { public ModelAndView noticeSheetSendingMain() {
@ -344,7 +345,7 @@ public class Sndb01Controller extends ApplicationController {
Map<String, List<CommonCode>> commonCodes = getCodesOf("FIM054"); Map<String, List<CommonCode>> commonCodes = getCodesOf("FIM054");
return mav.addObject("pageName", "sndb01090") // View(jsp)에서 사용할 id 뒤에 붙일 suffix return mav.addObject("pageName", "sndb01090") // View(jsp)에서 사용할 id 뒤에 붙일 suffix
.addObject("infoPrefix", "sndng") // prefix .addObject("infoPrefix", "nhtSndng") // prefix
.addObject("sggCd", managedUser.getOrgID()) // 시군구 코드(SGG_CD) .addObject("sggCd", managedUser.getOrgID()) // 시군구 코드(SGG_CD)
.addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD) .addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD)
; ;
@ -361,10 +362,10 @@ public class Sndb01Controller extends ApplicationController {
* "sndngTotal": * "sndngTotal":
* }</code></pre> * }</code></pre>
*/ */
public ModelAndView getNoticeSheetSndngList(SndbQuery req) { public ModelAndView getNoticeSheetSendingList(SndbQuery req) {
List<?> result = sndngService.getSndngList(setFetchSize(req)); List<?> result = sndngService.getSndngList(setFetchSize(req));
return setCollectionInfo(new ModelAndView("jsonView"), result, "sndng"); return setCollectionInfo(new ModelAndView("jsonView"), result, "nhtSndng");
} }
/** - (sndb/sndb01/100-info) . /** - (sndb/sndb01/100-info) .
@ -374,7 +375,7 @@ public class Sndb01Controller extends ApplicationController {
* "sndngDtls": [ ] * "sndngDtls": [ ]
* }</pre> * }</pre>
*/ */
public ModelAndView getNoticeSheetSndngDltInfo(SndbQuery req) { public ModelAndView getNoticeSheetSendingInfo(SndbQuery req) {
List<?> sndngDtls = sndngService.getSndngDtls(req); List<?> sndngDtls = sndngService.getSndngDtls(req);
boolean json = jsonResponse(); boolean json = jsonResponse();
@ -384,11 +385,40 @@ public class Sndb01Controller extends ApplicationController {
return mav.addObject("pageName", "sndb01100") return mav.addObject("pageName", "sndb01100")
.addObject("sggCd", req.getSggCd()) .addObject("sggCd", req.getSggCd())
.addObject("taskSeCd", req.getTaskSeCd()) .addObject("taskSeCd", req.getTaskSeCd())
.addObject("sndngSeCd", req.getSndngSeCd()) // 발송 구분 코드 .addObject("sndngSeCd", req.getSndngSeCd()) // 발송 구분 코드
.addObject("nhtSndngDtlInfo", json ? sndngDtls : toJson(sndngDtls)) // 고지서 발송 현황 세부내용 .addObject("nhtSndngDtl", json ? sndngDtls : toJson(sndngDtls)) // 고지서 발송 현황 세부내용
;
}
/** (sndb/sndb01/110-main) .
*
* @return /sndb/sndb01/110-main
*/
public ModelAndView noticeSheetSendingTargetMain() {
ModelAndView mav = new ModelAndView("fims/sndb/sndb01110-main");
// 사용자 정보
ManagedUser managedUser = (ManagedUser)currentUser().getUser();
// View(jsp)에서 사용할 공통코드를 조회
Map<String, List<CommonCode>> commonCodes = getCodesOf("FIM004", "FIM005", "FIM006", "FIM054", "FIM061", "FIM064");
addCodes(commonCodes, mav, "FIM004", "FIM005", "FIM006", "FIM061", "FIM064");
return mav.addObject("pageName", "sndb01010") // View(jsp)에서 사용할 id 뒤에 붙일 suffix
.addObject("infoPrefix", "wrngSndngTrgt") // prefix
.addObject("sggCd", managedUser.getOrgID()) // 시군구 코드(SGG_CD)
.addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD)
.addObject("FIM004List", commonCodes.get("FIM004")) // 주정차위반 내역 코드(VLTN_ID)
.addObject("FIM005List", commonCodes.get("FIM005")) // 전용차로위반 내역 코드(VLTN_ID)
.addObject("FIM006List", commonCodes.get("FIM006")) // 장애인주차위반 내역 코드(VLTN_ID)
.addObject("FIM061List", commonCodes.get("FIM061")) // 전기차 충전구역 및 충전방해 위반 코드(VLTN_ID)
.addObject("FIM064List", commonCodes.get("FIM064")) // 화물자동차 밤샘주차 위반 코드(VLTN_ID)
; ;
} }
/** . /** .
* @param sndng * @param sndng
* @return jsonView * @return jsonView

@ -16,7 +16,6 @@ import cokr.xit.fims.excl.CrdnReReg;
import cokr.xit.fims.excl.LevyExclQuery; import cokr.xit.fims.excl.LevyExclQuery;
import cokr.xit.fims.excl.LevyExcl; import cokr.xit.fims.excl.LevyExcl;
import cokr.xit.fims.excl.OpnnSbmsn; import cokr.xit.fims.excl.OpnnSbmsn;
import cokr.xit.fims.excl.web.Excl01Controller.METHOD_URL;
import cokr.xit.fims.levy.LevyQuery; import cokr.xit.fims.levy.LevyQuery;
import cokr.xit.fims.levy.Rduct; import cokr.xit.fims.levy.Rduct;
import cokr.xit.fims.payer.Payer; import cokr.xit.fims.payer.Payer;
@ -24,9 +23,6 @@ import cokr.xit.fims.payer.PayerQuery;
import cokr.xit.fims.sprt.CvlcptDscsn; import cokr.xit.fims.sprt.CvlcptDscsn;
import cokr.xit.fims.sprt.CvlcptDscsnQuery; import cokr.xit.fims.sprt.CvlcptDscsnQuery;
import cokr.xit.fims.sprt.SprtQuery; import cokr.xit.fims.sprt.SprtQuery;
import cokr.xit.fims.task.web.DpvController.Excl01Controller;
import cokr.xit.fims.task.web.DpvController.Excl02Controller;
import cokr.xit.fims.task.web.DpvController.Excl03Controller;
@Controller @Controller
public class BpvController { public class BpvController {
@ -506,15 +502,15 @@ public class BpvController {
class Levy01Controller extends cokr.xit.fims.levy.web.Levy01Controller { class Levy01Controller extends cokr.xit.fims.levy.web.Levy01Controller {
@Override @Override
@RequestMapping(name="전용차로과태료업무 사전 부과 대상 목록 조회", value=METHOD_URL.getRductLevyTrgtList) @RequestMapping(name="전용차로과태료업무 사전 부과 대상 목록 조회", value=METHOD_URL.getReductionLevyTargetList)
public ModelAndView getRductLevyTrgtList(LevyQuery req) { public ModelAndView getReductionLevyTargetList(LevyQuery req) {
return super.getRductLevyTrgtList(req); return super.getReductionLevyTargetList(req);
} }
@Override @Override
@RequestMapping(name="전용차로과태료업무 사전(감경) 부과 대장 등록", value=METHOD_URL.createRductLevy) @RequestMapping(name="전용차로과태료업무 사전(감경) 부과 대장 등록", value=METHOD_URL.createReductionLevy)
public ModelAndView createRductLevy(LevyQuery req) { public ModelAndView createReductionLevy(LevyQuery req) {
return super.createRductLevy(req); return super.createReductionLevy(req);
} }
} }

@ -294,6 +294,15 @@ public class CmnController {
return super.noticeSheetSendingMain(); return super.noticeSheetSendingMain();
} }
/** .
* @return fims/sndb/sndb01090-main
*/
@Override
@RequestMapping(name = "고지서 발송 대상 메인", value = METHOD_URL.noticeSheetSendingTargetMain)
public ModelAndView noticeSheetSendingTargetMain() {
return super.noticeSheetSendingTargetMain();
}
} }
@Controller @Controller

@ -455,55 +455,55 @@ public class DpvController {
class Levy01Controller extends cokr.xit.fims.levy.web.Levy01Controller { class Levy01Controller extends cokr.xit.fims.levy.web.Levy01Controller {
@Override @Override
@RequestMapping(name="장애인과태료업무 사전 부과 대상 목록 조회", value=METHOD_URL.getRductLevyTrgtList) @RequestMapping(name="사전 감경부과 대상 목록 조회", value=METHOD_URL.getReductionLevyTargetList)
public ModelAndView getRductLevyTrgtList(LevyQuery req) { public ModelAndView getReductionLevyTargetList(LevyQuery req) {
return super.getRductLevyTrgtList(req); return super.getReductionLevyTargetList(req);
} }
@Override @Override
@RequestMapping(name="장애인과태료업무 사전(감경) 부과 대장 등록", value=METHOD_URL.createRductLevy) @RequestMapping(name="사전 감경부과 대장 등록", value=METHOD_URL.createReductionLevy)
public ModelAndView createRductLevy(LevyQuery req) { public ModelAndView createReductionLevy(LevyQuery req) {
return super.createRductLevy(req); return super.createReductionLevy(req);
} }
} }
@Controller @Controller
@RequestMapping(name="장애인과태료업무 부과_과태료 감경 관리", value=CLASS_URL+Levy02Controller.CLASS_URL) @RequestMapping(name="장애인과태료업무 부과 관리", value=CLASS_URL+Levy02Controller.CLASS_URL)
class Levy02Controller extends cokr.xit.fims.levy.web.Levy02Controller { class Levy02Controller extends cokr.xit.fims.levy.web.Levy02Controller {
@Override @Override
@RequestMapping(name="장애인과태료업무 과태료 감경 대장 목록 조회", value=METHOD_URL.getRductList) @RequestMapping(name="과태료 감경 대장 목록 조회", value=METHOD_URL.getRductList)
public ModelAndView getRductList(LevyQuery req) { public ModelAndView getRductList(LevyQuery req) {
return super.getRductList(req); return super.getRductList(req);
} }
@Override @Override
@RequestMapping(name="장애인과태료업무 과태료 감경 대장 삭제", value=METHOD_URL.removeRduct) @RequestMapping(name="과태료 감경 대장 삭제", value=METHOD_URL.removeRduct)
public ModelAndView removeRduct(Rduct rduct) { public ModelAndView removeRduct(Rduct rduct) {
return super.removeRduct(rduct); return super.removeRduct(rduct);
} }
@Override @Override
@RequestMapping(name="장애인과태료업무 과태료 감경 대장 목록 삭제", value=METHOD_URL.removeRductList) @RequestMapping(name="과태료 감경 대장 목록 삭제", value=METHOD_URL.removeRductList)
public ModelAndView removeRductList(LevyQuery req) { public ModelAndView removeRductList(LevyQuery req) {
return super.removeRductList(req); return super.removeRductList(req);
} }
@Override @Override
@RequestMapping(name="장애인과태료업무 과태료 감경 정보 조회", value=METHOD_URL.getRductInfo) @RequestMapping(name="과태료 감경 정보 조회", value=METHOD_URL.getRductInfo)
public ModelAndView getRductInfo(LevyQuery req) { public ModelAndView getRductInfo(LevyQuery req) {
return super.getRductInfo(req); return super.getRductInfo(req);
} }
@Override @Override
@RequestMapping(name="장애인과태료업무 과태료 감경 대장 등록", value=METHOD_URL.createRduct) @RequestMapping(name="과태료 감경 대장 등록", value=METHOD_URL.createRduct)
public ModelAndView createRduct(Rduct rduct) { public ModelAndView createRduct(Rduct rduct) {
return super.createRduct(rduct); return super.createRduct(rduct);
} }
@Override @Override
@RequestMapping(name="장애인과태료업무 과태료 감경 대장 수정", value=METHOD_URL.updateRduct) @RequestMapping(name="과태료 감경 대장 수정", value=METHOD_URL.updateRduct)
public ModelAndView updateRduct(Rduct rduct) { public ModelAndView updateRduct(Rduct rduct) {
return super.updateRduct(rduct); return super.updateRduct(rduct);
} }
@ -515,63 +515,63 @@ public class DpvController {
class Sndb01Controller extends cokr.xit.fims.sndb.web.Sndb01Controller { class Sndb01Controller extends cokr.xit.fims.sndb.web.Sndb01Controller {
@Override @Override
@RequestMapping(name="계고장 발송 대상 목록 조회", value=METHOD_URL.getWrngSndngTrgtList) @RequestMapping(name="계고장 발송 대상 목록 조회", value=METHOD_URL.getWarningSendingTargetList)
public ModelAndView getWrngSndngTrgtList(SndbQuery req) { public ModelAndView getWarningSendingTargetList(SndbQuery req) {
return super.getWrngSndngTrgtList(req); return super.getWarningSendingTargetList(req);
} }
@Override @Override
@RequestMapping(name="계고장 발송 대상 상세 조회", value=METHOD_URL.getWrngSndngTrgts) @RequestMapping(name="계고장 발송 대상 상세 조회", value=METHOD_URL.getWarningSendingTargetInfo)
public ModelAndView getWrngSndngTrgts(SndbQuery req) { public ModelAndView getWarningSendingTargetInfo(SndbQuery req) {
return super.getWrngSndngTrgts(req); return super.getWarningSendingTargetInfo(req);
} }
@Override @Override
@RequestMapping(name="계고장 발송 현황 목록 조회", value=METHOD_URL.getWrngSndngList) @RequestMapping(name="계고장 발송 현황 목록 조회", value=METHOD_URL.getWarningSendingList)
public ModelAndView getWrngSndngList(SndbQuery req) { public ModelAndView getWarningSendingList(SndbQuery req) {
return super.getWrngSndngList(req); return super.getWarningSendingList(req);
} }
@Override @Override
@RequestMapping(name="계고장 발송 현황 상세 조회", value=METHOD_URL.getWrngSndngDltInfo) @RequestMapping(name="계고장 발송 현황 상세 조회", value=METHOD_URL.getWarningSendingInfo)
public ModelAndView getWrngSndngDltInfo(SndbQuery req) { public ModelAndView getWarningSendingInfo(SndbQuery req) {
return super.getWrngSndngDltInfo(req); return super.getWarningSendingInfo(req);
} }
@Override @Override
@RequestMapping(name="사전통지 발송 대상 목록 조회", value=METHOD_URL.getAdvanceNoticeSndngTrgtList) @RequestMapping(name="사전통지 발송 대상 목록 조회", value=METHOD_URL.getAdvanceNoticeSendingTargetList)
public ModelAndView getAdvanceNoticeSndngTrgtList(SndbQuery req) { public ModelAndView getAdvanceNoticeSendingTargetList(SndbQuery req) {
return super.getAdvanceNoticeSndngTrgtList(req); return super.getAdvanceNoticeSendingTargetList(req);
} }
@Override @Override
@RequestMapping(name="사전통지 발송 대상 상세 조회", value=METHOD_URL.getAdvanceNoticeSndngTrgts) @RequestMapping(name="사전통지 발송 대상 상세 조회", value=METHOD_URL.getAdvanceNoticeSendingTargetInfo)
public ModelAndView getAdvanceNoticeSndngTrgts(SndbQuery req) { public ModelAndView getAdvanceNoticeSendingTargetInfo(SndbQuery req) {
return super.getAdvanceNoticeSndngTrgts(req); return super.getAdvanceNoticeSendingTargetInfo(req);
} }
@Override @Override
@RequestMapping(name="사전통지 발송 현황 목록 조회", value=METHOD_URL.getAdvanceNoticeSndngList) @RequestMapping(name="사전통지 발송 현황 목록 조회", value=METHOD_URL.getAdvanceNoticeSendingList)
public ModelAndView getAdvanceNoticeSndngList(SndbQuery req) { public ModelAndView getAdvanceNoticeSendingList(SndbQuery req) {
return super.getAdvanceNoticeSndngList(req); return super.getAdvanceNoticeSendingList(req);
} }
@Override @Override
@RequestMapping(name="사전통지 발송 현황 상세 조회", value=METHOD_URL.getAdvanceNoticeSndngDltInfo) @RequestMapping(name="사전통지 발송 현황 상세 조회", value=METHOD_URL.getAdvanceNoticeSendingInfo)
public ModelAndView getAdvanceNoticeSndngDltInfo(SndbQuery req) { public ModelAndView getAdvanceNoticeSendingInfo(SndbQuery req) {
return super.getAdvanceNoticeSndngDltInfo(req); return super.getAdvanceNoticeSendingInfo(req);
} }
@Override @Override
@RequestMapping(name="고지서 발송 현황 목록 조회", value=METHOD_URL.getNoticeSheetSndngList) @RequestMapping(name="고지서 발송 현황 목록 조회", value=METHOD_URL.getNoticeSheetSendingList)
public ModelAndView getNoticeSheetSndngList(SndbQuery req) { public ModelAndView getNoticeSheetSendingList(SndbQuery req) {
return super.getNoticeSheetSndngList(req); return super.getNoticeSheetSendingList(req);
} }
@Override @Override
@RequestMapping(name="고지서 발송 현황 상세 조회", value=METHOD_URL.getNoticeSheetSndngDltInfo) @RequestMapping(name="고지서 발송 현황 상세 조회", value=METHOD_URL.getNoticeSheetSendingInfo)
public ModelAndView getNoticeSheetSndngDltInfo(SndbQuery req) { public ModelAndView getNoticeSheetSendingInfo(SndbQuery req) {
return super.getNoticeSheetSndngDltInfo(req); return super.getNoticeSheetSendingInfo(req);
} }
@Override @Override

@ -15,7 +15,6 @@ import cokr.xit.fims.excl.CrdnReReg;
import cokr.xit.fims.excl.LevyExclQuery; import cokr.xit.fims.excl.LevyExclQuery;
import cokr.xit.fims.excl.LevyExcl; import cokr.xit.fims.excl.LevyExcl;
import cokr.xit.fims.excl.OpnnSbmsn; import cokr.xit.fims.excl.OpnnSbmsn;
import cokr.xit.fims.excl.web.Excl01Controller.METHOD_URL;
import cokr.xit.fims.levy.LevyQuery; import cokr.xit.fims.levy.LevyQuery;
import cokr.xit.fims.levy.Rduct; import cokr.xit.fims.levy.Rduct;
import cokr.xit.fims.payer.Payer; import cokr.xit.fims.payer.Payer;
@ -23,9 +22,6 @@ import cokr.xit.fims.payer.PayerQuery;
import cokr.xit.fims.sprt.CvlcptDscsn; import cokr.xit.fims.sprt.CvlcptDscsn;
import cokr.xit.fims.sprt.CvlcptDscsnQuery; import cokr.xit.fims.sprt.CvlcptDscsnQuery;
import cokr.xit.fims.sprt.SprtQuery; import cokr.xit.fims.sprt.SprtQuery;
import cokr.xit.fims.task.web.EcaController.Excl01Controller;
import cokr.xit.fims.task.web.EcaController.Excl02Controller;
import cokr.xit.fims.task.web.EcaController.Excl03Controller;
@Controller @Controller
public class PvsController { public class PvsController {
@ -476,15 +472,15 @@ public class PvsController {
class Levy01Controller extends cokr.xit.fims.levy.web.Levy01Controller { class Levy01Controller extends cokr.xit.fims.levy.web.Levy01Controller {
@Override @Override
@RequestMapping(name="주정차과태료업무 사전 부과 대상 목록 조회", value=METHOD_URL.getRductLevyTrgtList) @RequestMapping(name="주정차과태료업무 사전 부과 대상 목록 조회", value=METHOD_URL.getReductionLevyTargetList)
public ModelAndView getRductLevyTrgtList(LevyQuery req) { public ModelAndView getReductionLevyTargetList(LevyQuery req) {
return super.getRductLevyTrgtList(req); return super.getReductionLevyTargetList(req);
} }
@Override @Override
@RequestMapping(name="주정차과태료업무 사전(감경) 부과 대장 등록", value=METHOD_URL.createRductLevy) @RequestMapping(name="주정차과태료업무 사전(감경) 부과 대장 등록", value=METHOD_URL.createReductionLevy)
public ModelAndView createRductLevy(LevyQuery req) { public ModelAndView createReductionLevy(LevyQuery req) {
return super.createRductLevy(req); return super.createReductionLevy(req);
} }
} }

@ -20,7 +20,7 @@
<button type="button" class="btn btn-search w-px-120" id="btnSearch--${pageName}" title="검색" onclick="fnSearchList${pageName}();"> <button type="button" class="btn btn-search w-px-120" id="btnSearch--${pageName}" title="검색" onclick="fnSearchList${pageName}();">
검색 검색
</button> </button>
<button type="button" class="btn btn-excel w-px-120" id="btnExcel--${pageName}" title="엑셀 저장" onclick="fnExcel${pageName}();"> <button type="button" class="btn btn-excel w-px-120" id="btnExcel--${pageName}" title="엑셀" onclick="fnExcel${pageName}();">
엑셀 엑셀
</button> </button>
</span> </span>
@ -175,11 +175,11 @@
</div> </div>
<span class="container-window-btn-right"> <span class="container-window-btn-right">
<!-- 업무 버튼 --> <!-- 업무 버튼 -->
<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="btn${infoPrefix}Info--${pageName}" title="부과제외 정보" onclick="${infoPrefix}Info${pageName}();">
수정 부과제외 정보
</button> </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="btn${infoPrefix}Remove--${pageName}" title="부과제외 삭제" onclick="${infoPrefix}Remove${pageName}();">
삭제 부과제외 삭제
</button> </button>
</span> </span>
</span> </span>
@ -282,10 +282,6 @@
// FormFields // FormFields
var ${pageName}Fields = new FormFields("#frmSearch--${pageName}"); var ${pageName}Fields = new FormFields("#frmSearch--${pageName}");
// 공통 코드
// var FIM021 = new CommonCodes(${FIM021}, true);
// var FIM022 = new CommonCodes(${FIM022}, true);
/************************************************************************** /**************************************************************************
* DatasetControl * DatasetControl
**************************************************************************/ **************************************************************************/
@ -352,14 +348,12 @@
checkbox.prop("checked", keys.includes(checkbox.val())); checkbox.prop("checked", keys.includes(checkbox.val()));
}); });
$("#btnRemove--${pageName}").prop("disabled", keys.length < 1); $("#btn${infoPrefix}Remove--${pageName}").prop("disabled", keys.length < 1);
}; };
// 개별총정보 dialog // 개별총정보 dialog
${pageName}Control.getInfo = (crdnId) => { ${pageName}Control.getInfo = (crdnId) => {
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") { if (!crdnId) return;
return;
}
let params = { let params = {
callControlName : "${pageName}Control" callControlName : "${pageName}Control"
@ -384,8 +378,7 @@
// 삭제 callback // 삭제 callback
${pageName}Control.onRemove = (selected, resp) => { ${pageName}Control.onRemove = (selected, resp) => {
let btnTitle = $("#btnRemove--${pageName}").attr("title"); let btnTitle = $("#btn${infoPrefix}Remove--${pageName}").attr("title");
let showMessage = resp.retMessage.replace(/[S]|[F]/g, btnTitle); let showMessage = resp.retMessage.replace(/[S]|[F]/g, btnTitle);
dialog.alert(showMessage); dialog.alert(showMessage);
@ -438,7 +431,9 @@
} }
// 수정 dialog -> callback 추가 // 수정 dialog -> callback 추가
${pageName}Info = (params) => { getInfo${pageName} = (params) => {
if (!params) return;
ajax.get({ ajax.get({
url : wctx.url("/" + params.taskSeCd + ${pageName}PrefixUrl + "/020/info.do?openerPageName=${pageName}") url : wctx.url("/" + params.taskSeCd + ${pageName}PrefixUrl + "/020/info.do?openerPageName=${pageName}")
, data : params || {} , data : params || {}
@ -582,28 +577,27 @@
} }
// 수정 버튼 이벤트 // 부과제외 정보 버튼 이벤트
fnUpdate${pageName} = () => { ${infoPrefix}Info${pageName} = () => {
let levyExclId = ${pageName}Control.dataset.getValue("LEVY_EXCL_ID"); let levyExclId = ${pageName}Control.dataset.getValue("LEVY_EXCL_ID");
let levyExclSeCd = ${pageName}Control.dataset.getValue("LEVY_EXCL_SE_CD"); let levyExclSeCd = ${pageName}Control.dataset.getValue("LEVY_EXCL_SE_CD");
// 부과제외ID 가 없다면.. return // 부과제외ID 가 없다면.. return
if (levyExclId == null || levyExclId == "") { if (!levyExclId) return;
return;
}
let params = { let params = {
callPurpose : "update" callPurpose : "update"
, sggCd : ${pageName}Control.dataset.getValue("SGG_CD") // 시군구 코드 , sggCd : ${pageName}Control.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : ${pageName}Control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드 , taskSeCd : ${pageName}Control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, levyExclId : levyExclId , levyExclId : levyExclId
, levyExclSeCd : levyExclSeCd
}; };
${pageName}Info(params); getInfo${pageName}(params);
} }
// 삭제 버튼 이벤트 // 부과제외 삭제 버튼 이벤트
fnRemove${pageName} = () => { ${infoPrefix}Remove${pageName} = () => {
dialog.alert({ dialog.alert({
content : "선택한 부과제외 정보를 삭제하시겠습니까?" content : "선택한 부과제외 정보를 삭제하시겠습니까?"
, onOK : () => { , onOK : () => {

@ -60,7 +60,9 @@
<span class="container-page-btn"> <span class="container-page-btn">
<span class="container-window-btn-right"> <span class="container-window-btn-right">
<!-- 업무 버튼 --> <!-- 업무 버튼 -->
<button type="button" class="btn btn-primary w-px-80" id="btnSave--${pageName}" title="저장" onclick="fnSave${pageName}()">저장</button> <button type="button" class="btn btn-primary w-px-80" id="btnSave--${pageName}" title="저장" onclick="fnSave${pageName}()">
저장
</button>
</span> </span>
</span> </span>
</div> </div>

@ -20,7 +20,7 @@
<button type="button" class="btn btn-search w-px-120" id="btnSearch--${pageName}" title="검색" onclick="fnSearchList${pageName}();"> <button type="button" class="btn btn-search w-px-120" id="btnSearch--${pageName}" title="검색" onclick="fnSearchList${pageName}();">
검색 검색
</button> </button>
<button type="button" class="btn btn-excel w-px-120" id="btnExcel--${pageName}" title="엑셀 저장" onclick="fnExcel${pageName}();"> <button type="button" class="btn btn-excel w-px-120" id="btnExcel--${pageName}" title="엑셀" onclick="fnExcel${pageName}();">
엑셀 엑셀
</button> </button>
</span> </span>
@ -175,14 +175,14 @@
</div> </div>
<span class="container-window-btn-right"> <span class="container-window-btn-right">
<!-- 업무 버튼 --> <!-- 업무 버튼 -->
<button type="button" class="btn btn-primary" id="btnUpdate--${pageName}" title="수정" onclick="fnUpdate${pageName}();"> <button type="button" class="btn btn-primary w-px-120" id="btn${infoPrefix}Info--${pageName}" title="의견제출 정보" onclick="${infoPrefix}Info${pageName}();">
수정 의견제출 정보
</button> </button>
<%-- <button type="button" class="btn btn-primary" id="btnRemove--${pageName}" title="삭제" onclick="fnRemove${pageName}();"> --%> <button type="button" class="btn btn-primary w-px-120" id="btn${infoPrefix}Remove--${pageName}" title="의견제출 삭제" onclick="${infoPrefix}Remove${pageName}();">
<!-- 삭제 --> 의견제출 삭제
<!-- </button> --> </button>
<button type="button" class="btn btn-primary" id="btnOpnnSbmsnDlbrt--${pageName}" title="심의" onclick="fnOpnnSbmsnDlbrt${pageName}();"> <button type="button" class="btn btn-primary w-px-120" id="btn${infoPrefix}DlbrInfo--${pageName}" title="심의 정보" onclick="${infoPrefix}DlbrInfo${pageName}();">
심의 심의 정보
</button> </button>
</span> </span>
</span> </span>
@ -204,8 +204,8 @@
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('TASK_SE_CD', this.innerText, 'codeValue', 'FIM054');">업무구분</th> <th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('TASK_SE_CD', this.innerText, 'codeValue', 'FIM054');">업무구분</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('RCPT_YMD', this.innerText, 'ymd', '');">접수일자</th> <th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('RCPT_YMD', this.innerText, 'ymd', '');">접수일자</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('RCPT_NO', this.innerText, 'match', 'part');">접수번호</th> <th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('RCPT_NO', this.innerText, 'match', 'part');">접수번호</th>
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('RCPT_SE_CD', this.innerText, 'codeValue', 'FIM029');">접수구분</th> <th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('RCPT_SE_CD', this.innerText, 'codeValue', 'FIM029');">접수구분</th>
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('NTFCTN_SE_CD', this.innerText, 'codeValue', 'FIM030');">통보구분</th> <th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('NTFCTN_SE_CD', this.innerText, 'codeValue', 'FIM030');">통보구분</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('STTR_NM', this.innerText, 'match', 'part');">진술자명</th> <th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('STTR_NM', this.innerText, 'match', 'part');">진술자명</th>
<th class="cmn" style="width: 140px;" onclick="searchFromGridTitle('OPNN_SBMSN_STTS_CD', this.innerText, 'codeValue', 'FIM031');">의견제출상태</th> <th class="cmn" style="width: 140px;" onclick="searchFromGridTitle('OPNN_SBMSN_STTS_CD', this.innerText, 'codeValue', 'FIM031');">의견제출상태</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('OPNN_SBMSN_SE_CD', this.innerText, 'codeValue', 'FIM033');">의견제출분류</th> <th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('OPNN_SBMSN_SE_CD', this.innerText, 'codeValue', 'FIM033');">의견제출분류</th>
@ -216,7 +216,7 @@
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('FFNLG_AMT', this.innerText, 'match', 'part');">과태료금액</th> <th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('FFNLG_AMT', this.innerText, 'match', 'part');">과태료금액</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('CRDN_STTS_CD', this.innerText, 'codeValue', 'FIM010');">처리상태</th> <th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('CRDN_STTS_CD', this.innerText, 'codeValue', 'FIM010');">처리상태</th>
<th class="cmn" style="width: 140px;" onclick="searchFromGridTitle('DOC_NO', this.innerText, 'ymd', '');">문서번호</th> <th class="cmn" style="width: 140px;" onclick="searchFromGridTitle('DOC_NO', this.innerText, 'ymd', '');">문서번호</th>
<th class="cmn" style="width: 140px;" onclick="searchFromGridTitle('ANS_YMD', this.innerText, 'ymd', '');">답변일자</th> <th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('ANS_YMD', this.innerText, 'ymd', '');">답변일자</th>
<th class="cmn" style="width: 240px;" onclick="searchFromGridTitle('ANS_CN', this.innerText, 'match', 'part');">답변내용</th> <th class="cmn" style="width: 240px;" onclick="searchFromGridTitle('ANS_CN', this.innerText, 'match', 'part');">답변내용</th>
<th class="cmn" style="width: 200px;" onclick="searchFromGridTitle('RTPYR_NM', this.innerText, 'match', 'part');">납부자명</th> <th class="cmn" style="width: 200px;" onclick="searchFromGridTitle('RTPYR_NM', this.innerText, 'match', 'part');">납부자명</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('RTPYR_BRDT', this.innerText, 'match', 'part');">납부자생일</th> <th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('RTPYR_BRDT', this.innerText, 'match', 'part');">납부자생일</th>
@ -242,7 +242,7 @@
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{NTFCTN_SE_NM}</td> <td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{NTFCTN_SE_NM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{STTR_NM}</td> <td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{STTR_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{OPNN_SBMSN_STTS_NM}</td> <td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{OPNN_SBMSN_STTS_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{OPNN_SBMSN_SE_NM}</td> <td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{OPNN_SBMSN_SE_NM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{OPNN_SBMSN_GIST}</td> <td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{OPNN_SBMSN_GIST}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_YMD_TM}</td> <td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_YMD_TM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{VHRNO}</td> <td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{VHRNO}</td>
@ -354,14 +354,12 @@
checkbox.prop("checked", keys.includes(checkbox.val())); checkbox.prop("checked", keys.includes(checkbox.val()));
}); });
$("#btnRemove--${pageName}").prop("disabled", keys.length < 1); $("#btn${infoPrefix}Remove--${pageName}").prop("disabled", keys.length < 1);
}; };
// 개별총정보 dialog // 개별총정보 dialog
${pageName}Control.getInfo = (crdnId) => { ${pageName}Control.getInfo = (crdnId) => {
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") { if (!crdnId) return;
return;
}
let params = { let params = {
callControlName : "${pageName}Control" callControlName : "${pageName}Control"
@ -384,7 +382,7 @@
// 삭제 callback // 삭제 callback
${pageName}Control.onRemove = (selected, resp) => { ${pageName}Control.onRemove = (selected, resp) => {
let btnTitle = $("#btnRemove--${pageName}").attr("title"); let btnTitle = $("#btn${infoPrefix}Remove--${pageName}").attr("title");
let showMessage = resp.retMessage.replace(/[S]|[F]/g, btnTitle); let showMessage = resp.retMessage.replace(/[S]|[F]/g, btnTitle);
dialog.alert(showMessage); dialog.alert(showMessage);
@ -394,24 +392,6 @@
} }
} }
// 삭제
${pageName}Control.remove = (params) => {
let selected = ${pageName}Control.dataset.getKeys("selected");
if (selected.length < 1) return;
if (!params) {
params = {};
params[${pageName}Control.prefixed("IDs")] = selected.join(",");
}
ajax.post({
url : ${pageName}Control.urls.remove
, data : params
, success : resp => ${pageName}Control.onRemove(selected, resp)
});
}
/************************************************************************** /**************************************************************************
* *
**************************************************************************/ **************************************************************************/
@ -437,7 +417,9 @@
} }
// 수정 dialog -> callback 추가 // 수정 dialog -> callback 추가
${pageName}Info = (params) => { getInfo${pageName} = (params) => {
if (!params) return;
ajax.get({ ajax.get({
url : wctx.url("/" + params.taskSeCd + ${pageName}PrefixUrl + "/020/info.do") url : wctx.url("/" + params.taskSeCd + ${pageName}PrefixUrl + "/020/info.do")
, data : params || {} , data : params || {}
@ -454,7 +436,9 @@
} }
// 심의 dialog // 심의 dialog
${pageName}OpnnSbmsnDlbrtInfo = (params) => { getDlbrInfo${pageName} = (params) => {
if (!params) return;
ajax.get({ ajax.get({
url : wctx.url("/" + params.taskSeCd + ${pageName}PrefixUrl + "/030/info.do") url : wctx.url("/" + params.taskSeCd + ${pageName}PrefixUrl + "/030/info.do")
, data : params || {} , data : params || {}
@ -593,13 +577,11 @@
} }
// 수정 버튼 이벤트 // 수정 버튼 이벤트
fnUpdate${pageName} = () => { ${infoPrefix}Info${pageName} = () => {
let opnnId = ${pageName}Control.dataset.getValue("OPNN_ID"); let = ${pageName}Control.dataset.getValue("OPNN_ID");
// 의견제출 ID 가 없다면.. return // 의견제출 ID 가 없다면.. return
if (opnnId == null || opnnId == "") { if (!opnnId) return;
return;
}
let params = { let params = {
callPurpose : "update" callPurpose : "update"
@ -608,17 +590,15 @@
, opnnId : opnnId , opnnId : opnnId
}; };
${pageName}Info(params); getInfo${pageName}(params);
} }
// 심의 버튼 이벤트 // 심의 버튼 이벤트
fnOpnnSbmsnDlbrt${pageName} = () => { ${infoPrefix}DlbrInfo${pageName} = () => {
let opnnId = ${pageName}Control.dataset.getValue("OPNN_ID"); let opnnId = ${pageName}Control.dataset.getValue("OPNN_ID");
// 의견제출 ID 가 없다면.. return // 의견제출 ID 가 없다면.. return
if (opnnId == undefined || opnnId == "") { if (!opnnId) return;
return;
}
let params = { let params = {
callPurpose : "update" callPurpose : "update"
@ -627,11 +607,11 @@
, opnnId : opnnId , opnnId : opnnId
}; };
${pageName}OpnnSbmsnDlbrtInfo(params); getDlbrInfo${pageName}(params);
} }
// 삭제 버튼 이벤트 // 삭제 버튼 이벤트
fnRemove${pageName} = () => { ${infoPrefix}Remove${pageName} = () => {
dialog.alert({ dialog.alert({
content : "선택한 의견제출 정보를 삭제하시겠습니까?" content : "선택한 의견제출 정보를 삭제하시겠습니까?"
, onOK : () => { , onOK : () => {

@ -20,7 +20,7 @@
<button type="button" class="btn btn-search w-px-120" id="btnSearch--${pageName}" title="검색" onclick="fnSearchList${pageName}();"> <button type="button" class="btn btn-search w-px-120" id="btnSearch--${pageName}" title="검색" onclick="fnSearchList${pageName}();">
검색 검색
</button> </button>
<button type="button" class="btn btn-excel w-px-120" id="btnExcel--${pageName}" title="엑셀 저장" onclick="fnExcel${pageName}();"> <button type="button" class="btn btn-excel w-px-120" id="btnExcel--${pageName}" title="엑셀" onclick="fnExcel${pageName}();">
엑셀 엑셀
</button> </button>
</span> </span>
@ -37,7 +37,7 @@
<div class="row g-1"> <div class="row g-1">
<!-- 업무구분 --> <!-- 업무구분 -->
<div class="col-12"> <div class="col-12">
<label class="form-label fw-bold form-search-title">업무구분</label> <label class="form-label fw-bold form-search-title text-end">업무구분</label>
<span class="form-search-linebox"> <span class="form-search-linebox">
<c:forEach items="${FIM054List}" var="item"> <c:forEach items="${FIM054List}" var="item">
<label> <label>
@ -50,7 +50,7 @@
</div> </div>
<!-- 재등록일자 --> <!-- 재등록일자 -->
<div class="col-6"> <div class="col-6">
<label class="form-label fw-bold form-search-title">재등록일자</label> <label class="form-label fw-bold form-search-title text-end">재등록일자</label>
<span class="form-search-linebox"> <span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schReRegYmdFrom--${pageName}" name="schReRegYmdFrom" <input type="text" class="form-control form-date" id="schReRegYmdFrom--${pageName}" name="schReRegYmdFrom"
data-fmt-type="day" title="시작 날짜 선택" /> data-fmt-type="day" title="시작 날짜 선택" />
@ -63,12 +63,12 @@
</div> </div>
<!-- 차량번호 --> <!-- 차량번호 -->
<div class="col-6"> <div class="col-6">
<label class="form-label fw-bold form-search-title">차량번호</label> <label class="form-label fw-bold form-search-title text-end">차량번호</label>
<input type="text" class="form-control w-px-160" id="schVhrno--${pageName}" name="schVhrno" /> <input type="text" class="form-control w-px-160" id="schVhrno--${pageName}" name="schVhrno" />
</div> </div>
<!-- 단속일자 --> <!-- 단속일자 -->
<div class="col-6"> <div class="col-6">
<label class="form-label fw-bold form-search-title">단속일자</label> <label class="form-label fw-bold form-search-title text-end">단속일자</label>
<span class="form-search-linebox"> <span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schCrdnYmdFrom--${pageName}" name="schCrdnYmdFrom" <input type="text" class="form-control form-date" id="schCrdnYmdFrom--${pageName}" name="schCrdnYmdFrom"
data-fmt-type="day" title="시작 날짜 선택" /> data-fmt-type="day" title="시작 날짜 선택" />
@ -142,8 +142,8 @@
</div> </div>
<span class="container-window-btn-right"> <span class="container-window-btn-right">
<!-- 업무 버튼 --> <!-- 업무 버튼 -->
<button type="button" class="btn btn-primary" id="btnBfrCrdnTotalInfo--${pageName}" title="이전 단속정보 보기" onclick="fnBfrCrdnTotalInfo${pageName}();"> <button type="button" class="btn btn-primary" id="btnBfrCrdnTotalInfo--${pageName}" title="이전 단속정보" onclick="bfrCrdnTotalInfo${pageName}();">
이전 단속정보 보기 이전 단속정보
</button> </button>
</span> </span>
</span> </span>
@ -295,20 +295,17 @@
// 개별총정보 dialog // 개별총정보 dialog
${pageName}Control.getInfo = (crdnId, callSection) => { ${pageName}Control.getInfo = (crdnId, callSection) => {
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") { let callControlName = "${pageName}Control";
return;
} if (!crdnId) return;
let callControlName = ""; if (!callSection) {
if (callSection == "bfrCrdnId") { callControlName = callSection;
callControlName = "noControlName";
} else {
callControlName = "${pageName}Control";
} }
let params = { let params = {
callControlName : callControlName callControlName : callControlName
, crdnId : crdnId , crdnId : crdnId
} }
ajax.get({ ajax.get({
@ -472,11 +469,14 @@
} }
// 이전 단속정보 보기 버튼 이벤트 // 이전 단속정보 보기 버튼 이벤트
fnBfrCrdnTotalInfo${pageName} = () => { bfrCrdnTotalInfo${pageName} = () => {
let bfrCrdnId = ${pageName}Control.dataset.getValue("BFR_CRDN_ID"); let bfrCrdnId = ${pageName}Control.dataset.getValue("BFR_CRDN_ID");
// 이전 단속 ID 가 없다면.. return
if (!bfrCrdnId) return;
// 개별총정보 dialog // 개별총정보 dialog
${pageName}Control.getInfo(bfrCrdnId, "bfrCrdnId"); ${pageName}Control.getInfo(bfrCrdnId, "noControlName");
} }
/************************************************************************** /**************************************************************************

@ -20,7 +20,7 @@
<button type="button" class="btn btn-search w-px-120" id="btnSearch--${pageName}" title="검색" onclick="fnSearchList${pageName}();"> <button type="button" class="btn btn-search w-px-120" id="btnSearch--${pageName}" title="검색" onclick="fnSearchList${pageName}();">
검색 검색
</button> </button>
<button type="button" class="btn btn-excel w-px-120" id="btnExcel--${pageName}" title="엑셀 저장" onclick="fnExcel${pageName}();"> <button type="button" class="btn btn-excel w-px-120" id="btnExcel--${pageName}" title="엑셀" onclick="fnExcel${pageName}();">
엑셀 엑셀
</button> </button>
</span> </span>
@ -132,7 +132,7 @@
</div> </div>
<span class="container-window-btn-right"> <span class="container-window-btn-right">
<!-- 업무 버튼 --> <!-- 업무 버튼 -->
<button type="button" class="btn btn-primary w-px-120" id="btnCreateRductLevy--${pageName}" title="검색" onclick="fnCreateRductLevy${pageName}();"> <button type="button" class="btn btn-primary w-px-120" id="btn${infoPrefix}Create--${pageName}" title="감경부과 등록" onclick="${infoPrefix}Info${pageName}();">
감경부과 등록 감경부과 등록
</button> </button>
</span> </span>
@ -245,7 +245,7 @@
**************************************************************************/ **************************************************************************/
var ${pageName}Control = new DatasetControl({ var ${pageName}Control = new DatasetControl({
prefix : "rductLevyTrgt" prefix : "rductLevyTrgt"
, prefixName : "감경부과대상" , prefixName : "감경부과 대상"
, infoSize : "lg" , infoSize : "lg"
, keymapper : info => info ? info.CRDN_ID : "" , keymapper : info => info ? info.CRDN_ID : ""
, dataGetter : obj => obj.rductLevyTrgtList , dataGetter : obj => obj.rductLevyTrgtList
@ -306,9 +306,7 @@
// 개별총정보 dialog // 개별총정보 dialog
${pageName}Control.getInfo = (crdnId) => { ${pageName}Control.getInfo = (crdnId) => {
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") { if (!crdnId) return;
return;
}
let params = { let params = {
callControlName : "${pageName}Control" callControlName : "${pageName}Control"
@ -353,7 +351,7 @@
fn_securityModeToggle($("#securityMode--top").is(":checked")); fn_securityModeToggle($("#securityMode--top").is(":checked"));
} }
createRductLevy${pageName} = (obj) => { create${pageName} = (obj) => {
let btnTitle = $("#btnCreateRductLevy--${pageName}").attr("title"); let btnTitle = $("#btnCreateRductLevy--${pageName}").attr("title");
// 선택된 자료의 발송 상세 ID 추가 // 선택된 자료의 발송 상세 ID 추가
@ -362,19 +360,20 @@
if (selected.length < 1) return; if (selected.length < 1) return;
let params = { let params = {
crdnIDs : selected.join(",") // 단속 IDs crdnIDs : selected.join(",") // 단속 IDs
, sggCd : $("#sggCd--${pageName}").val() // 시군구 코드 , sggCd : $("#sggCd--${pageName}").val() // 시군구 코드
, taskSeCd : $("input[name='taskSeCd']:checked").val() // 업무 구분 코드 , taskSeCd : $("input[name='taskSeCd']:checked").val() // 업무 구분 코드
, levyYmd : obj.sndngYmd.replace(/-/g, "") // 부과 일자 , levyYmd : obj.sndngYmd.replace(/-/g, "") // 부과 일자
, dudtYmd : obj.dudtYmd.replace(/-/g, "") // 납기 일자 , dudtYmd : obj.dudtYmd.replace(/-/g, "") // 납기 일자
, crdnSttsCd : "41" // 단속 상태 코드(FIM010) - 41 사전부과 , crdnSttsCd : "41" // 단속 상태 코드(FIM010) - 41 사전부과
}; };
ajax.post({ ajax.post({
url : wctx.url("/" + params.taskSeCd + ${pageName}PrefixUrl + "/010/create.do") url : wctx.url("/" + params.taskSeCd + ${pageName}PrefixUrl + "/010/create.do")
, data : params || {} , data : params
, success : resp => { , success : resp => {
let showMessage = resp.retMessage.replace(/[S]|[F]/g, btnTitle); let showMessage = resp.retMessage.replace(/[S]|[F]/g, btnTitle);
dialog.alert(showMessage); dialog.alert(showMessage);
} }
}); });
@ -494,13 +493,13 @@
} }
// 감경부과등록 버튼 이벤트 // 감경부과등록 버튼 이벤트
fnCreateRductLevy${pageName} = () => { ${infoPrefix}Info${pageName} = () => {
// validate 확인 // validate 확인
if (!customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return; if (!customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return;
let callbackFuncName = "createRductLevy${pageName}"; let callbackFuncName = "create${pageName}";
let sndngYmd = DateUtil.getDateDay().date; let sndngYmd = DateUtil.getDateDay().date;
let dudtYmd = DateUtil.getDateDay(20).date; let dudtYmd = DateUtil.getDateDay().date;
let popupWidth = 480; let popupWidth = 480;
let popupHeight = 320; let popupHeight = 320;

@ -155,11 +155,11 @@
</div> </div>
<span class="container-window-btn-right"> <span class="container-window-btn-right">
<!-- 업무 버튼 --> <!-- 업무 버튼 -->
<button type="button" class="btn btn-primary" id="btnWrngSndngTrg--${pageName}" title="계고장 발송 대상 등록" onclick="fnWrngSndngTrg${pageName}();"> <button type="button" class="btn btn-primary w-px-120" id="btn${infoPrefix}Info--${pageName}" title="발송대상 등록" onclick="${infoPrefix}Info${pageName}();">
계고장 발송 대상 등록 발송대상 등록
</button> </button>
<button type="button" class="btn btn-primary" id="btnLevyExcl--${pageName}" title="계고 수정" onclick="fnLevyExcl${pageName}();"> <button type="button" class="btn btn-primary w-px-120" id="btnLevyExclInfo--${pageName}" title="계고 정보" onclick="levyExclInfo${pageName}();">
계고 계고 정
</button> </button>
</span> </span>
</span> </span>
@ -339,9 +339,7 @@
// 개별총정보 dialog // 개별총정보 dialog
${pageName}Control.getInfo = (crdnId) => { ${pageName}Control.getInfo = (crdnId) => {
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") { if (!crdnId) return;
return;
}
let params = { let params = {
callControlName : "${pageName}Control" callControlName : "${pageName}Control"
@ -402,7 +400,7 @@
} }
// 계고장 발송 등록 dialog -> callback 추가 // 계고장 발송 등록 dialog -> callback 추가
getInfoWrngSndngTrg${pageName} = (params) => { getInfo${pageName} = (params) => {
if (!params) return; if (!params) return;
ajax.get({ ajax.get({
@ -414,14 +412,14 @@
, title : ${pageName}Control.prefixName + " 정보" , title : ${pageName}Control.prefixName + " 정보"
, content : resp , content : resp
, size : "xl" , size : "xl"
, onClose : () => { ${pageName}Control.load(${pageName}Control.query.pageNum); } // callback , onClose : () => { ${pageName}Control.load(${pageName}Control.query.pageNum); } // callback
}); });
} }
}); });
} }
// 계고 수정 dialog -> callback 추가 // 계고 수정 dialog -> callback 추가
getInfoLevyExcl${pageName} = (params) => { getLevyExclInfo${pageName} = (params) => {
if (!params) return; if (!params) return;
ajax.get({ ajax.get({
@ -601,32 +599,32 @@
} }
// 계고장 발송 대상 등록 버튼 이벤트 // 계고장 발송 대상 등록 버튼 이벤트
fnWrngSndngTrg${pageName} = () => { ${infoPrefix}Info${pageName} = () => {
let params = ${pageName}Fields.get(); let params = ${pageName}Fields.get();
params.callPurpose = "create"; params.callPurpose = "create";
params.sndngSeCd = "01"; // 발송 구분 코드 - 01 계고장 params.sndngSeCd = "01"; // 발송 구분 코드 - 01 계고장
getInfoWrngSndngTrg${pageName}(params); getInfo${pageName}(params);
} }
// 계고 수정 버튼 이벤트 // 계고 수정 버튼 이벤트
fnLevyExcl${pageName} = () => { levyExclInfo${pageName} = () => {
let levyExclId = ${pageName}Control.dataset.getValue("LEVY_EXCL_ID"); let levyExclId = ${pageName}Control.dataset.getValue("LEVY_EXCL_ID");
let levyExclSeCd = ${pageName}Control.dataset.getValue("LEVY_EXCL_SE_CD");
// 부과제외ID 가 없다면.. return // 부과제외ID 가 없다면.. return
if (levyExclId == null || levyExclId == "") { if (!levyExclId) return;
return;
}
let params = { let params = {
callPurpose : "update" callPurpose : "update"
, sggCd : ${pageName}Control.dataset.getValue("SGG_CD") // 시군구 코드 , sggCd : ${pageName}Control.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : ${pageName}Control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드 , taskSeCd : ${pageName}Control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, levyExclId : levyExclId , levyExclId : levyExclId
, levyExclSeCd : levyExclSeCd
}; };
getInfoLevyExcl${pageName}(params); getLevyExclInfo${pageName}(params);
} }
/************************************************************************** /**************************************************************************

@ -59,8 +59,8 @@
<span class="container-page-btn"> <span class="container-page-btn">
<span class="container-window-btn-right"> <span class="container-window-btn-right">
<!-- 업무 버튼 --> <!-- 업무 버튼 -->
<button type="button" class="btn btn-excel w-px-120" id="btnExcel--${pageName}" title="엑셀 저장" onclick="fnExcel${pageName}();"> <button type="button" class="btn btn-excel w-px-120" id="btnExcel--${pageName}" title="엑셀" onclick="fnExcel${pageName}();">
엑셀 저장 엑셀
</button> </button>
<button type="button" class="btn btn-primary w-px-120" id="btnSave--${pageName}" title="발송 등록" onclick="fnSave${pageName}();"> <button type="button" class="btn btn-primary w-px-120" id="btnSave--${pageName}" title="발송 등록" onclick="fnSave${pageName}();">
발송 등록 발송 등록
@ -167,10 +167,10 @@
* DatasetControl * DatasetControl
**************************************************************************/ **************************************************************************/
var ${pageName}Control = new DatasetControl({ var ${pageName}Control = new DatasetControl({
prefix : "wrngSndngTrgt" prefix : "wrngSndngTrgtDtl"
, prefixName : "계고장 발송 대상" , prefixName : "계고장 발송 대상"
, keymapper : info => info ? info.CRDN_ID : "" , keymapper : info => info ? info.CRDN_ID : ""
, dataGetter : obj => obj.wrngSndngTrgtsList , dataGetter : obj => obj.wrngSndngTrgtDtlList
, appendData : true , appendData : true
, tableRenderComplete : false // dataTables 에 자료 추가 완료 여부 , tableRenderComplete : false // dataTables 에 자료 추가 완료 여부
, formats : { , formats : {
@ -222,9 +222,7 @@
// 개별총정보 dialog // 개별총정보 dialog
${pageName}Control.getInfo = (crdnId) => { ${pageName}Control.getInfo = (crdnId) => {
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") { if (!crdnId) return;
return;
}
let params = { let params = {
callControlName : "${pageName}Control" callControlName : "${pageName}Control"
@ -383,7 +381,7 @@
setForm${pageName}(); setForm${pageName}();
// Dataset 셋팅 - 화면이 열리면서 조회하는 경우 addData 하여 자료를 추가 // Dataset 셋팅 - 화면이 열리면서 조회하는 경우 addData 하여 자료를 추가
${pageName}Control.addData(${wrngSndngTrgts}); ${pageName}Control.addData(${wrngSndngTrgtDtl});
$("#tnocs--${pageName}").val(${pageName}Control.dataset.getValue("TNOCS")); // 총건수 $("#tnocs--${pageName}").val(${pageName}Control.dataset.getValue("TNOCS")); // 총건수
$("#gramt--${pageName}").val(${pageName}Control.dataset.getValue("GRAMT")); // 총금액 $("#gramt--${pageName}").val(${pageName}Control.dataset.getValue("GRAMT")); // 총금액

@ -207,11 +207,11 @@
* DatasetControl * DatasetControl
**************************************************************************/ **************************************************************************/
var ${pageName}Control = new DatasetControl({ var ${pageName}Control = new DatasetControl({
prefix : "sndngInfo" prefix : "wrngSndng"
, prefixName : "계고장 발송 현황" , prefixName : "계고장 발송 현황"
, infoSize : "xxl" , infoSize : "xxl"
, keymapper : info => info ? info.SNDNG_ID : "" , keymapper : info => info ? info.SNDNG_ID : ""
, dataGetter : obj => obj.sndngList , dataGetter : obj => obj.wrngSndngList
, appendData : true , appendData : true
, tableRenderComplete : false // dataTables 에 자료 추가 완료 여부 , tableRenderComplete : false // dataTables 에 자료 추가 완료 여부
, formats : { , formats : {
@ -252,22 +252,10 @@
$("#tbody--${pageName}").setCurrentRow(key); $("#tbody--${pageName}").setCurrentRow(key);
}; };
// 선택(체크) 변경 이벤트
${pageName}Control.onSelectionChange = selected => {
let ${infoPrefix}List = ${pageName}Control.dataset;
let keys = selected.map(e => ${infoPrefix}List.getKey(e));
$("#tbody--${pageName} input[type='checkbox']").each(function() {
let checkbox = $(this);
checkbox.prop("checked", keys.includes(checkbox.val()));
});
$("#btnWrngSndngTrgInfo--${pageName}").prop("disabled", keys.length < 1);
};
// 발송 상세 // 발송 상세
${pageName}Control.getInfo = (sndngId) => { ${pageName}Control.getInfo = (sndngId) => {
if (!sndngId) return;
let params = { let params = {
callPurpose : "view" callPurpose : "view"
, sggCd : ${pageName}Control.dataset.getValue("SGG_CD") // 시군구 코드 , sggCd : ${pageName}Control.dataset.getValue("SGG_CD") // 시군구 코드

@ -119,10 +119,10 @@
* DatasetControl * DatasetControl
**************************************************************************/ **************************************************************************/
var ${pageName}Control = new DatasetControl({ var ${pageName}Control = new DatasetControl({
prefix : "sndngDtlInfo" prefix : "wrngSndngDtl"
, prefixName : "발송 대상" , prefixName : "발송 대상"
, keymapper : info => info ? info.SNDNG_DTL_ID : "" , keymapper : info => info ? info.SNDNG_DTL_ID : ""
, dataGetter : obj => obj.sndngDtlInfoList , dataGetter : obj => obj.wrngSndngDtlList
, appendData : true , appendData : true
, tableRenderComplete : false // dataTables 에 자료 추가 완료 여부 , tableRenderComplete : false // dataTables 에 자료 추가 완료 여부
, formats : { , formats : {
@ -174,9 +174,7 @@
// 개별총정보 dialog // 개별총정보 dialog
${pageName}Control.getInfo = (crdnId) => { ${pageName}Control.getInfo = (crdnId) => {
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") { if (!crdnId) return;
return;
}
let params = { let params = {
callControlName : "${pageName}Control" callControlName : "${pageName}Control"
@ -280,7 +278,7 @@
setEvent${pageName}(); setEvent${pageName}();
// Dataset 셋팅 - 화면이 열리면서 조회하는 경우 addData 하여 자료를 추가 // Dataset 셋팅 - 화면이 열리면서 조회하는 경우 addData 하여 자료를 추가
${pageName}Control.addData(${wrngSndngDtlInfo}); ${pageName}Control.addData(${wrngSndngDtl});
}); });
</script> </script>

@ -145,8 +145,8 @@
</div> </div>
<span class="container-window-btn-right"> <span class="container-window-btn-right">
<!-- 업무 버튼 --> <!-- 업무 버튼 -->
<button type="button" class="btn btn-primary" id="btnAdvntceSndngTrg--${pageName}" title="사전통지 발송 대상 등록" onclick="fnAdvntceSndngTrg${pageName}();"> <button type="button" class="btn btn-primary w-px-120" id="btn${infoPrefix}Info--${pageName}" title="발송대상 등록" onclick="${infoPrefix}Info${pageName}();">
사전통지 발송 대상 등록 발송대상 등록
</button> </button>
</span> </span>
</span> </span>
@ -324,9 +324,7 @@
// 개별총정보 dialog // 개별총정보 dialog
${pageName}Control.getInfo = (crdnId) => { ${pageName}Control.getInfo = (crdnId) => {
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") { if (!crdnId) return;
return;
}
let params = { let params = {
callControlName : "${pageName}Control" callControlName : "${pageName}Control"
@ -387,7 +385,7 @@
} }
// 사전통지 발송 등록 dialog -> callback 추가 // 사전통지 발송 등록 dialog -> callback 추가
getInfoAdvntceSndngTrg${pageName} = (params) => { getInfo${pageName} = (params) => {
if (!params) return; if (!params) return;
ajax.get({ ajax.get({
@ -567,13 +565,13 @@
} }
// 사전통지 발송 대상 등록 버튼 이벤트 // 사전통지 발송 대상 등록 버튼 이벤트
fnAdvntceSndngTrg${pageName} = () => { ${infoPrefix}Info${pageName} = () => {
let params = ${pageName}Fields.get(); let params = ${pageName}Fields.get();
params.callPurpose = "create"; params.callPurpose = "create";
params.sndngSeCd = "02"; // 발송 구분 코드 - 02 사전통지서 params.sndngSeCd = "02"; // 발송 구분 코드 - 02 사전통지서
getInfoAdvntceSndngTrg${pageName}(params); getInfo${pageName}(params);
} }
/************************************************************************** /**************************************************************************

@ -163,10 +163,10 @@
* DatasetControl * DatasetControl
**************************************************************************/ **************************************************************************/
var ${pageName}Control = new DatasetControl({ var ${pageName}Control = new DatasetControl({
prefix : "advntceSndngTrgt" prefix : "advntceSndngTrgtDtl"
, prefixName : "발송 대상" , prefixName : "발송 대상"
, keymapper : info => info ? info.CRDN_ID : "" , keymapper : info => info ? info.CRDN_ID : ""
, dataGetter : obj => obj.sndngTrgtsList , dataGetter : obj => obj.advntceSndngTrgtDtlList
, appendData : true , appendData : true
, tableRenderComplete : false // dataTables 에 자료 추가 완료 여부 , tableRenderComplete : false // dataTables 에 자료 추가 완료 여부
, formats : { , formats : {
@ -218,9 +218,7 @@
// 개별총정보 dialog // 개별총정보 dialog
${pageName}Control.getInfo = (crdnId) => { ${pageName}Control.getInfo = (crdnId) => {
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") { if (!crdnId) return;
return;
}
let params = { let params = {
callControlName : "${pageName}Control" callControlName : "${pageName}Control"
@ -382,7 +380,7 @@
setForm${pageName}(); setForm${pageName}();
// Dataset 셋팅 - 화면이 열리면서 조회하는 경우 addData 하여 자료를 추가 // Dataset 셋팅 - 화면이 열리면서 조회하는 경우 addData 하여 자료를 추가
${pageName}Control.addData(${advntceSndngTrgs}); ${pageName}Control.addData(${advntceSndngTrgtDtl});
$("#tnocs--${pageName}").val(${pageName}Control.dataset.getValue("TNOCS")); // 총건수 $("#tnocs--${pageName}").val(${pageName}Control.dataset.getValue("TNOCS")); // 총건수
$("#gramt--${pageName}").val(${pageName}Control.dataset.getValue("GRAMT")); // 총금액 $("#gramt--${pageName}").val(${pageName}Control.dataset.getValue("GRAMT")); // 총금액

@ -20,8 +20,8 @@
<button type="button" class="btn btn-search w-px-120" id="btnSearch--${pageName}" title="검색" onclick="fnSearchList${pageName}();"> <button type="button" class="btn btn-search w-px-120" id="btnSearch--${pageName}" title="검색" onclick="fnSearchList${pageName}();">
검색 검색
</button> </button>
<button type="button" class="btn btn-excel w-px-120" id="btnExcel--${pageName}" title="엑셀 저장" onclick="fnExcel${pageName}();"> <button type="button" class="btn btn-excel w-px-120" id="btnExcel--${pageName}" title="엑셀" onclick="fnExcel${pageName}();">
엑셀 저장 엑셀
</button> </button>
</span> </span>
</div> </div>
@ -207,11 +207,11 @@
* DatasetControl * DatasetControl
**************************************************************************/ **************************************************************************/
var ${pageName}Control = new DatasetControl({ var ${pageName}Control = new DatasetControl({
prefix : "advntceSndngInfo" prefix : "advntceSndng"
, prefixName : "사전통지 발송 현황" , prefixName : "사전통지 발송 현황"
, infoSize : "xxl" , infoSize : "xxl"
, keymapper : info => info ? info.SNDNG_ID : "" , keymapper : info => info ? info.SNDNG_ID : ""
, dataGetter : obj => obj.sndngList , dataGetter : obj => obj.advntceSndngList
, appendData : true , appendData : true
, tableRenderComplete : false // dataTables 에 자료 추가 완료 여부 , tableRenderComplete : false // dataTables 에 자료 추가 완료 여부
, formats : { , formats : {
@ -252,22 +252,10 @@
$("#tbody--${pageName}").setCurrentRow(key); $("#tbody--${pageName}").setCurrentRow(key);
}; };
// 선택(체크) 변경 이벤트
${pageName}Control.onSelectionChange = selected => {
let ${infoPrefix}List = ${pageName}Control.dataset;
let keys = selected.map(e => ${infoPrefix}List.getKey(e));
$("#tbody--${pageName} input[type='checkbox']").each(function() {
let checkbox = $(this);
checkbox.prop("checked", keys.includes(checkbox.val()));
});
$("#btnWrngSndngTrgInfo--${pageName}").prop("disabled", keys.length < 1);
};
// 발송 상세 // 발송 상세
${pageName}Control.getInfo = (sndngId) => { ${pageName}Control.getInfo = (sndngId) => {
if (!sndngId) return;
let params = { let params = {
callPurpose : "view" callPurpose : "view"
, sggCd : ${pageName}Control.dataset.getValue("SGG_CD") // 시군구 코드 , sggCd : ${pageName}Control.dataset.getValue("SGG_CD") // 시군구 코드
@ -277,7 +265,7 @@
ajax.get({ ajax.get({
url : ${pageName}Control.urls.getInfo url : ${pageName}Control.urls.getInfo
, data : params || {} , data : params
, success : resp => { , success : resp => {
dialog.open({ dialog.open({
id : ${pageName}Control.prefixed("Dialog") id : ${pageName}Control.prefixed("Dialog")

@ -137,10 +137,10 @@
* DatasetControl * DatasetControl
**************************************************************************/ **************************************************************************/
var ${pageName}Control = new DatasetControl({ var ${pageName}Control = new DatasetControl({
prefix : "sndngDtlInfo" prefix : "advntceSndngDtl"
, prefixName : "발송 상세" , prefixName : "발송 상세"
, keymapper : info => info ? info.SNDNG_DTL_ID : "" , keymapper : info => info ? info.SNDNG_DTL_ID : ""
, dataGetter : obj => obj.sndngDtlInfoList , dataGetter : obj => obj.advntceSndngDtlList
, appendData : true , appendData : true
, tableRenderComplete : false // dataTables 에 자료 추가 완료 여부 , tableRenderComplete : false // dataTables 에 자료 추가 완료 여부
, formats : { , formats : {
@ -192,9 +192,7 @@
// 개별총정보 dialog // 개별총정보 dialog
${pageName}Control.getInfo = (crdnId) => { ${pageName}Control.getInfo = (crdnId) => {
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") { if (!crdnId) return;
return;
}
let params = { let params = {
callControlName : "${pageName}Control" callControlName : "${pageName}Control"
@ -462,7 +460,7 @@
setEvent${pageName}(); setEvent${pageName}();
// Dataset 셋팅 - 화면이 열리면서 조회하는 경우 addData 하여 자료를 추가 // Dataset 셋팅 - 화면이 열리면서 조회하는 경우 addData 하여 자료를 추가
${pageName}Control.addData(${advntceSndngDtlInfo}); ${pageName}Control.addData(${advntceSndngDtl});
}); });
</script> </script>

@ -20,8 +20,8 @@
<button type="button" class="btn btn-search w-px-120" id="btnSearch--${pageName}" title="검색" onclick="fnSearchList${pageName}();"> <button type="button" class="btn btn-search w-px-120" id="btnSearch--${pageName}" title="검색" onclick="fnSearchList${pageName}();">
검색 검색
</button> </button>
<button type="button" class="btn btn-excel w-px-120" id="btnExcel--${pageName}" title="엑셀 저장" onclick="fnExcel${pageName}();"> <button type="button" class="btn btn-excel w-px-120" id="btnExcel--${pageName}" title="엑셀" onclick="fnExcel${pageName}();">
엑셀 저장 엑셀
</button> </button>
</span> </span>
</div> </div>
@ -122,6 +122,9 @@
</div> </div>
<span class="container-window-btn-right"> <span class="container-window-btn-right">
<!-- 업무 버튼 --> <!-- 업무 버튼 -->
<button type="button" class="btn btn-primary w-px-120" id="btn${infoPrefix}Info--${pageName}" title="신규 발송 등록" onclick="${infoPrefix}Info${pageName}();">
신규 발송 등록
</button>
</span> </span>
</span> </span>
</div> </div>
@ -207,11 +210,11 @@
* DatasetControl * DatasetControl
**************************************************************************/ **************************************************************************/
var ${pageName}Control = new DatasetControl({ var ${pageName}Control = new DatasetControl({
prefix : "advntceSndngInfo" prefix : "nhtSndng"
, prefixName : "사전통지 발송 현황" , prefixName : "고지서 발송 현황"
, infoSize : "xxl" , infoSize : "xxl"
, keymapper : info => info ? info.SNDNG_ID : "" , keymapper : info => info ? info.SNDNG_ID : ""
, dataGetter : obj => obj.sndngList , dataGetter : obj => obj.nhtSndngList
, appendData : true , appendData : true
, tableRenderComplete : false // dataTables 에 자료 추가 완료 여부 , tableRenderComplete : false // dataTables 에 자료 추가 완료 여부
, formats : { , formats : {
@ -252,22 +255,10 @@
$("#tbody--${pageName}").setCurrentRow(key); $("#tbody--${pageName}").setCurrentRow(key);
}; };
// 선택(체크) 변경 이벤트
${pageName}Control.onSelectionChange = selected => {
let ${infoPrefix}List = ${pageName}Control.dataset;
let keys = selected.map(e => ${infoPrefix}List.getKey(e));
$("#tbody--${pageName} input[type='checkbox']").each(function() {
let checkbox = $(this);
checkbox.prop("checked", keys.includes(checkbox.val()));
});
$("#btnWrngSndngTrgInfo--${pageName}").prop("disabled", keys.length < 1);
};
// 발송 상세 // 발송 상세
${pageName}Control.getInfo = (sndngId) => { ${pageName}Control.getInfo = (sndngId) => {
if (!sndngId) return;
let params = { let params = {
callPurpose : "view" callPurpose : "view"
, sggCd : ${pageName}Control.dataset.getValue("SGG_CD") // 시군구 코드 , sggCd : ${pageName}Control.dataset.getValue("SGG_CD") // 시군구 코드
@ -277,11 +268,11 @@
ajax.get({ ajax.get({
url : ${pageName}Control.urls.getInfo url : ${pageName}Control.urls.getInfo
, data : params || {} , data : params
, success : resp => { , success : resp => {
dialog.open({ dialog.open({
id : ${pageName}Control.prefixed("Dialog") id : ${pageName}Control.prefixed("Dialog")
, title : "사전통지 세부 내용" , title : "고지서 세부 내용"
, content : resp , content : resp
, size : ${pageName}Control.infoSize , size : ${pageName}Control.infoSize
, onClose : () => { ${pageName}Control.load(${pageName}Control.query.pageNum); } // callback , onClose : () => { ${pageName}Control.load(${pageName}Control.query.pageNum); } // callback
@ -314,6 +305,25 @@
fn_securityModeToggle($("#securityMode--top").is(":checked")); fn_securityModeToggle($("#securityMode--top").is(":checked"));
} }
// 신규 등록 dialog -> callback 추가
get${infoPrefix}Info${pageName} = () => {
if (!params) return;
ajax.get({
url : wctx.url("/" + params.taskSeCd + ${pageName}PrefixUrl + "/110/info.do")
, data : params || {}
, success : resp => {
dialog.open({
id : ${pageName}Control.prefixed("Dialog")
, title : ${pageName}Control.prefixName + " 정보"
, content : resp
, size : "xl"
, onClose : () => { ${pageName}Control.load(${pageName}Control.query.pageNum); } // callback
});
}
});
}
/************************************************************************** /**************************************************************************
* 초기 셋팅 * 초기 셋팅
**************************************************************************/ **************************************************************************/
@ -389,8 +399,8 @@
// URL 설정 // URL 설정
setURL${pageName} = (taskSeCd) => { setURL${pageName} = (taskSeCd) => {
${pageName}Control.urls.load = wctx.url("/" + taskSeCd + ${pageName}PrefixUrl + "/070/list.do"); // 조회 ${pageName}Control.urls.load = wctx.url("/" + taskSeCd + ${pageName}PrefixUrl + "/090/list.do"); // 조회
${pageName}Control.urls.getInfo = wctx.url("/" + taskSeCd + ${pageName}PrefixUrl + "/080/info.do"); // 사전통지 세부내용 ${pageName}Control.urls.getInfo = wctx.url("/" + taskSeCd + ${pageName}PrefixUrl + "/100/info.do"); // 고지서 세부 내용
} }
/************************************************************************** /**************************************************************************
@ -435,6 +445,16 @@
} }
// 신규 등록
${infoPrefix}Info${pageName} = () => {
let params = ${pageName}Fields.get();
params.callPurpose = "create";
params.sndngSeCd = "01"; // 발송 구분 코드 - 01 계고장
get${infoPrefix}Info${pageName}(params);
}
/************************************************************************** /**************************************************************************
* script 진입 * script 진입
**************************************************************************/ **************************************************************************/

@ -0,0 +1,468 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false" session="false"%>
<%@ include file="/WEB-INF/jsp/include/taglib.jsp"%>
<!-- inner page html -->
<div class="content-wrapper">
<!-- Content -->
<div class="container flex-grow-1 px-0">
<!-- Page Body -->
<div class="card">
<div class="wrapper-pop">
<!-- 입력 영역 -->
<form id="frmEdit--${pageName}" name="frmEdit">
<input type="hidden" id="sggCd--${pageName}" name="sggCd" />
<input type="hidden" id="taskSeCd--${pageName}" name="taskSeCd" />
</form> <!-- /입력 영역 -->
<!-- 업무 버튼 및 건수 표시 -->
<div>
<span class="container-page-btn">
<span class="container-window-btn-right">
<!-- 업무 버튼 -->
<button type="button" class="btn btn-excel w-px-120" id="btnExcel--${pageName}" title="엑셀 저장" onclick="fnExcel${pageName}();">
엑셀 저장
</button>
<button type="button" class="btn btn-primary w-px-120" id="btnCreateNxrp--${pageName}" title="세외수입 등록" onclick="fnCreateNxrp${pageName}();">
세외수입 등록
</button>
<button type="button" class="btn btn-primary w-px-120" id="btnUpdateNxrpMtchg--${pageName}" title="매치정보 등록" onclick="fnUpdateNxrpMtchg${pageName}();">
매치정보 작성
</button>
<button type="button" class="btn btn-primary w-px-120" id="btnCreateSndngLink--${pageName}" title="우편통합 발송" onclick="fnCreateSndngLink${pageName}();">
우편통합 발송
</button>
<button type="button" class="btn btn-primary w-px-120" id="btnPrintAdvntce--${pageName}" title="사전통지 출력" onclick="fnPrintAdvntce${pageName}();">
사전통지 출력
</button>
<button type="button" class="btn btn-primary w-px-120" id="btnCreateRgNo--${pageName}" title="등기번호 등록" onclick="fnCreateRgNo${pageName}();">
등기번호 등록
</button>
<button type="button" class="btn btn-primary w-px-120" id="btnCreateSndbk--${pageName}" title="반송 등록" onclick="fnCreateSndbk${pageName}();">
반송 확인
</button>
<button type="button" class="btn btn-primary w-px-120" id="btnLevyIdnty--${pageName}" title="미부과건 확인" onclick="fnLevyIdnty${pageName}();">
미부과건 확인
</button>
</span>
</span>
</div>
<!-- / 업무 버튼 및 건수 표시 -->
<!-- DataTables(그리드) -->
<div class="card-datatable text-nowrap">
<div class="dataTables_wrapper dt-bootstrap5 no-footer" id="DataTables_Table_0_wrapper--${pageName}">
<div class="table-responsive" id="table-responsive--${pageName}" style="overflow-x:scroll; height:400px; overflow-y:scroll;" >
<table class="table-layout-fixed dataTable datatables-ajax table table-bordered no-footer" id="DataTables_Table_0--${pageName}" aria-describedby="DataTables_Table_0_info">
<thead class="sticky-thead">
<tr id="theadTr--${pageName}"
data-by="by--${pageName}" data-by-output="byOutput--${pageName}" data-main-option="mainOption--${pageName}" data-sub-option="subOption--${pageName}">
<th class="cmn hidden" style="width: 56px;">
<input type="checkbox" class="form-check-input" onchange="${pageName}Control.select(this.checked);">
</th>
<th class="cmn" style="width: 120px;">발송상태</th>
<th class="cmn" style="width: 200px;">등기번호</th>
<th class="cmn" style="width: 120px;">발송일자</th>
<th class="cmn" style="width: 120px;">납기일자</th>
<th class="cmn" style="width: 200px;">납부자명</th>
<th class="cmn" style="width: 160px;">납부자번호</th>
<th class="cmn" style="width: 100px;">우편번호</th>
<th class="cmn" style="width: 280px;">주소</th>
<th class="cmn" style="width: 320px;">상세주소</th>
<th class="cmn" style="width: 160px;">위반내용</th>
<th class="cmn" style="width: 180px;">단속일시</th>
<th class="cmn" style="width: 140px;">차량번호</th>
<th class="cmn" style="width: 280px;">단속장소</th>
<th class="cmn" style="width: 120px;">단속금액</th>
<th class="cmn" style="width: 180px;">등록일시</th>
<th class="cmn" style="width: 140px;">등록사용자</th>
<th class="cmn" style="width: 180px;">수정일시</th>
<th class="cmn" style="width: 140px;">수정사용자</th>
<th class="cmn dummy-th"></th>
</tr>
</thead>
<tbody id="tbody--${pageName}">
</tbody>
<template id="${infoPrefix}Row--${pageName}">
<tr data-key="{SNDNG_DTL_ID}">
<td class="cmn text-center hidden">
<input type="checkbox" class="form-check-input" value="{SNDNG_DTL_ID}" onchange="${pageName}Control.select('{SNDNG_DTL_ID}', this.checked);">
</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SNDNG_DTL_STTS_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RG_NO}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SNDNG_YMD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{DUDT_YMD}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{RTPYR_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RTPYR_NO}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RTPYR_ZIP}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{RTPYR_ADDR}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{RTPYR_DTL_ADDR}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{VLTN_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_DT}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{VHRNO}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_PLC}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{FFNLG_AMT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{REG_DT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RGTR_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFCN_DT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFR_NM}</td>
<td class="cmn dummy-td"></td>
</tr>
</template>
<template id="${infoPrefix}NotFound--${pageName}">
<tr class="odd">
<td valign="top" colspan="19" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
</template>
</table>
</div>
</div>
</div>
<!-- / DataTables(그리드) -->
</div> <!-- <div class="wrapper-list"> -->
</div> <!-- <div class="card"> -->
</div> <!-- / Content <div class="container flex-grow-1 px-0"> -->
</div>
<!-- / inner page html <div class="content-wrapper"> -->
<script>
/**************************************************************************
* Global Variable
**************************************************************************/
// URL
var ${pageName}PrefixUrl = "/sndb/sndb01";
// FormFields
var ${pageName}Fields = new FormFields("#frmEdit--${pageName}");
/**************************************************************************
* DatasetControl
**************************************************************************/
var ${pageName}Control = new DatasetControl({
prefix : "nhtSndngDtl"
, prefixName : "발송 상세"
, keymapper : info => info ? info.SNDNG_DTL_ID : ""
, dataGetter : obj => obj.nhtSndngDtlList
, appendData : true
, tableRenderComplete : false // dataTables 에 자료 추가 완료 여부
, formats : {
SNDNG_YMD : dateFormat
, DUDT_YMD : dateFormat
, FFNLG_AMT : numberFormat
, REG_DT : datetimeFormat
, MDFCN_DT : datetimeFormat
}
});
/**************************************************************************
* DatasetControl 이벤트
**************************************************************************/
// Dataset 변경 이벤트
${pageName}Control.onDatasetChange = obj => {
renderList${pageName}();
${pageName}Control.select(true); // 전체 선택 되도록..
if (obj.length > 0) {
}
${pageName}Control.tableRenderComplete = true; // dataTables 에 자료 추가 완료
};
// 현재 선택 자료 변경 이벤트
${pageName}Control.onCurrentChange = item => {
if (!item) return;
let key = item.data.SNDNG_DTL_ID;
$("#tbody--${pageName}").setCurrentRow(key);
${pageName}Control.urls.getInfo = wctx.url("/" + ${pageName}Control.dataset.getValue("TASK_SE_CD") + "/sprt/sprt02/010/main.do"); // 개별총정보
};
// 선택(체크) 변경 이벤트
${pageName}Control.onSelectionChange = selected => {
let ${infoPrefix}List = ${pageName}Control.dataset;
let keys = selected.map(e => ${infoPrefix}List.getKey(e));
$("#tbody--${pageName} input[type='checkbox']").each(function() {
let checkbox = $(this);
checkbox.prop("checked", keys.includes(checkbox.val()));
});
};
// 개별총정보 dialog
${pageName}Control.getInfo = (crdnId) => {
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") {
return;
}
let params = {
callControlName : "${pageName}Control"
, viewPurpose : "readonly"
, crdnId : crdnId
}
ajax.get({
url : ${pageName}Control.urls.getInfo
, data : params
, success : resp => {
dialog.open({
id : "totalInfoMainDialog"
, title : "개별총정보"
, content : resp
, size : "xxl"
});
}
});
}
/**************************************************************************
*
**************************************************************************/
// DataTables에 click, dbclick 이벤트
renderList${pageName} = () => {
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("SNDNG_DTL_ID") + "');")
.replace(/{ondblclick}/gi, "${pageName}Control.getInfo('" + dataItem.getValue("CRDN_ID") + "');")
);
$("#tbody--${pageName}").html(trs.join());
$("th input[type='checkbox']").prop("checked", false);
//보안모드
fn_securityModeToggle($("#securityMode--top").is(":checked"));
}
// 세외수입 등록
createNxrp${pageName} = (params) => {
// 선택된 자료의 발송 상세 ID 추가
let selected = ${pageName}Control.dataset.getKeys("selected");
if (selected.length < 1) return;
params.sndngDtlIDs = selected.join(","); // 발송 상세 IDs
params.delYn = "N"; // 삭제 여부
ajax.post({
url : wctx.url("/" + params.taskSeCd + ${pageName}PrefixUrl + "/createNxrp.do")
, data : params || {}
, success : resp => { }
});
}
// 매칭정보 확인
updateNxrpMtchg${pageName} = (params) => {
// 선택된 자료의 발송 상세 ID 추가
let selected = ${pageName}Control.dataset.getKeys("selected");
if (selected.length < 1) return;
params.sndngDtlIDs = selected.join(","); // 발송 상세 IDs
params.delYn = "N"; // 삭제 여부
ajax.post({
url : wctx.url("/" + params.taskSeCd + ${pageName}PrefixUrl + "/updateNxrpMtchg.do")
, data : params || {}
, success : resp => {}
});
}
// 우편통합 발송
createSndngLink${pageName} = (obj) => {
let btnTitle = $("#btnCreateSndngLink--${pageName}").attr("title");
// 선택된 자료의 발송 상세 ID 추가
let selected = ${pageName}Control.dataset.getKeys("selected");
if (selected.length < 1) return;
let info = {};
info.sndngDtlIDs = selected.join(","); // 발송 상세 IDs
info.sndngId = ${pageName}Control.dataset.getValue("SNDNG_ID"); // 발송 ID
info.sggCd = $("#sggCd--${pageName}").val(); // 시군구 코드
info.taskSeCd = $("#taskSeCd--${pageName}").val(); // 업무 구분 코드
info.sndngSeCd = "02"; // 발송 구분 코드
info.sndngYmd = obj.sndngYmd; // 발송 일자
info.dudtYmd = obj.dudtYmd; // 납기 일자
info.postSndngSeCd = obj.postSndngSeCd; // 우편 발송 구분 코드 0 일반, 1 등기
ajax.post({
url : wctx.url("/" + info.taskSeCd + ${pageName}PrefixUrl + "/080/createSndngLink.do")
, data : info || {}
, success : resp => {
let showMessage = resp.retMessage.replace(/[S]|[F]/g, btnTitle);
dialog.alert(showMessage);
}
});
}
// 종적결과 등록
createSndbk${pageName} = (params) => {
// 선택된 자료의 발송 상세 ID 추가
let selected = ${pageName}Control.dataset.getKeys("selected");
if (selected.length < 1) return;
params.sndngDtlIDs = selected.join(","); // 발송 상세 IDs
params.delYn = "N"; // 삭제 여부
ajax.post({
url : wctx.url("/" + params.taskSeCd + ${pageName}PrefixUrl + "/createSndbk.do")
, data : params || {}
, success : resp => { }
});
}
// 미부과건 확인
levyIdnty${pageName} = (params) => {
// 선택된 자료의 발송 상세 ID 추가
let selected = ${pageName}Control.dataset.getKeys("selected");
if (selected.length < 1) return;
params.sndngDtlIDs = selected.join(","); // 발송 상세 IDs
params.delYn = "N"; // 삭제 여부
ajax.post({
url : wctx.url("/" + params.taskSeCd + ${pageName}PrefixUrl + "/levyIdnty.do")
, data : params || {}
, success : 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);
}
});
});
// DataTables width 변경 조정
$("#DataTables_Table_0--${pageName}").find("th").resizable( {handles : "e"} );
}
/**************************************************************************
* 버튼 clickEvent
**************************************************************************/
// 엑셀 저장
fnExcel${pageName} = () => {
}
// 세외수입 등록
fnCreateNxrp${pageName} = () => {
// validate 확인
if (!customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return;
dialog.alert({
content : "세외수입 과태료 대장에 등록하시겠습니까?"
, onOK : () => {
createNxrp${pageName}(${pageName}Fields.get());
}
});
}
// 매치정보 등록
fnUpdateNxrpMtchg${pageName} = () => {
// validate 확인
if (!customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return;
updateNxrpMtchg${pageName}(${pageName}Fields.get());
}
// 우편통합 발송
fnCreateSndngLink${pageName} = () => {
// validate 확인
if (!customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return;
let callbackFuncName = "createSndngLink${pageName}";
let popupWidth = 480;
let popupHeight = 480;
let popupX = (window.screen.width / 2) - (popupWidth / 2);
let popupY= (window.screen.height / 2) - (popupHeight / 2);
window.open(
wctx.url("/resources/html/inputDateDialog.html"
+ "?callbackFuncName=" + callbackFuncName
+ "&CALL_PURPOSE=" + "post"
+ "&SNDNG_YMD=" + ${pageName}Control.dataset.getValue("SNDNG_YMD")
+ "&DUDT_YMD=" + ${pageName}Control.dataset.getValue("DUDT_YMD")
)
, "inputEPostDateDialog"
, 'status=no, height=' + popupHeight + ', width=' + popupWidth + ', left='+ popupX + ', top='+ popupY
);
}
// 사전통지 출력
fnPrintAdvntce${pageName} = () => {
}
// 등기번호 등록
fnCreateRgNo${pageName} = () => {
// validate 확인
if (!customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return;
createRgNo${pageName}(${pageName}Fields.get());
}
// 반송(종적결과) 확인
fnCreateSndbk${pageName} = () => {
// validate 확인
if (!customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return;
dialog.alert({
content : "종적결과를 확인하시겠습니까?"
, onOK : () => {
createSndbk${pageName}(${pageName}Fields.get());
}
});
}
// 미부과건 확인
fnLevyIdnty${pageName} = () => {
// validate 확인
if (!customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return;
levyIdnty${pageName}(${pageName}Fields.get());
}
/**************************************************************************
* script 진입
**************************************************************************/
$(document).ready(function() {
// 기본 데이터
$("#sggCd--${pageName}").val("${sggCd}"); // 시군구 코드
$("#taskSeCd--${pageName}").val("${taskSeCd}"); // 업무 구분 코드
// 보안모드
fn_securityModeToggle($("#securityMode--top").is(":checked"));
// 이벤트 설정
setEvent${pageName}();
// Dataset 셋팅 - 화면이 열리면서 조회하는 경우 addData 하여 자료를 추가
${pageName}Control.addData(${nhtSndngDtl});
});
</script>

@ -0,0 +1,468 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false" session="false"%>
<%@ include file="/WEB-INF/jsp/include/taglib.jsp"%>
<!-- inner page html -->
<div class="content-wrapper">
<!-- Content -->
<div class="container flex-grow-1 px-0">
<!-- Page Body -->
<div class="card">
<div class="wrapper-pop">
<!-- 입력 영역 -->
<form id="frmEdit--${pageName}" name="frmEdit">
<input type="hidden" id="sggCd--${pageName}" name="sggCd" />
<input type="hidden" id="taskSeCd--${pageName}" name="taskSeCd" />
</form> <!-- /입력 영역 -->
<!-- 업무 버튼 및 건수 표시 -->
<div>
<span class="container-page-btn">
<span class="container-window-btn-right">
<!-- 업무 버튼 -->
<button type="button" class="btn btn-excel w-px-120" id="btnExcel--${pageName}" title="엑셀 저장" onclick="fnExcel${pageName}();">
엑셀 저장
</button>
<button type="button" class="btn btn-primary w-px-120" id="btnCreateNxrp--${pageName}" title="세외수입 등록" onclick="fnCreateNxrp${pageName}();">
세외수입 등록
</button>
<button type="button" class="btn btn-primary w-px-120" id="btnUpdateNxrpMtchg--${pageName}" title="매치정보 등록" onclick="fnUpdateNxrpMtchg${pageName}();">
매치정보 작성
</button>
<button type="button" class="btn btn-primary w-px-120" id="btnCreateSndngLink--${pageName}" title="우편통합 발송" onclick="fnCreateSndngLink${pageName}();">
우편통합 발송
</button>
<button type="button" class="btn btn-primary w-px-120" id="btnPrintAdvntce--${pageName}" title="사전통지 출력" onclick="fnPrintAdvntce${pageName}();">
사전통지 출력
</button>
<button type="button" class="btn btn-primary w-px-120" id="btnCreateRgNo--${pageName}" title="등기번호 등록" onclick="fnCreateRgNo${pageName}();">
등기번호 등록
</button>
<button type="button" class="btn btn-primary w-px-120" id="btnCreateSndbk--${pageName}" title="반송 등록" onclick="fnCreateSndbk${pageName}();">
반송 확인
</button>
<button type="button" class="btn btn-primary w-px-120" id="btnLevyIdnty--${pageName}" title="미부과건 확인" onclick="fnLevyIdnty${pageName}();">
미부과건 확인
</button>
</span>
</span>
</div>
<!-- / 업무 버튼 및 건수 표시 -->
<!-- DataTables(그리드) -->
<div class="card-datatable text-nowrap">
<div class="dataTables_wrapper dt-bootstrap5 no-footer" id="DataTables_Table_0_wrapper--${pageName}">
<div class="table-responsive" id="table-responsive--${pageName}" style="overflow-x:scroll; height:400px; overflow-y:scroll;" >
<table class="table-layout-fixed dataTable datatables-ajax table table-bordered no-footer" id="DataTables_Table_0--${pageName}" aria-describedby="DataTables_Table_0_info">
<thead class="sticky-thead">
<tr id="theadTr--${pageName}"
data-by="by--${pageName}" data-by-output="byOutput--${pageName}" data-main-option="mainOption--${pageName}" data-sub-option="subOption--${pageName}">
<th class="cmn hidden" style="width: 56px;">
<input type="checkbox" class="form-check-input" onchange="${pageName}Control.select(this.checked);">
</th>
<th class="cmn" style="width: 120px;">발송상태</th>
<th class="cmn" style="width: 200px;">등기번호</th>
<th class="cmn" style="width: 120px;">발송일자</th>
<th class="cmn" style="width: 120px;">납기일자</th>
<th class="cmn" style="width: 200px;">납부자명</th>
<th class="cmn" style="width: 160px;">납부자번호</th>
<th class="cmn" style="width: 100px;">우편번호</th>
<th class="cmn" style="width: 280px;">주소</th>
<th class="cmn" style="width: 320px;">상세주소</th>
<th class="cmn" style="width: 160px;">위반내용</th>
<th class="cmn" style="width: 180px;">단속일시</th>
<th class="cmn" style="width: 140px;">차량번호</th>
<th class="cmn" style="width: 280px;">단속장소</th>
<th class="cmn" style="width: 120px;">단속금액</th>
<th class="cmn" style="width: 180px;">등록일시</th>
<th class="cmn" style="width: 140px;">등록사용자</th>
<th class="cmn" style="width: 180px;">수정일시</th>
<th class="cmn" style="width: 140px;">수정사용자</th>
<th class="cmn dummy-th"></th>
</tr>
</thead>
<tbody id="tbody--${pageName}">
</tbody>
<template id="${infoPrefix}Row--${pageName}">
<tr data-key="{SNDNG_DTL_ID}">
<td class="cmn text-center hidden">
<input type="checkbox" class="form-check-input" value="{SNDNG_DTL_ID}" onchange="${pageName}Control.select('{SNDNG_DTL_ID}', this.checked);">
</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SNDNG_DTL_STTS_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RG_NO}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SNDNG_YMD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{DUDT_YMD}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{RTPYR_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RTPYR_NO}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RTPYR_ZIP}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{RTPYR_ADDR}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{RTPYR_DTL_ADDR}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{VLTN_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_DT}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{VHRNO}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_PLC}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{FFNLG_AMT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{REG_DT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RGTR_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFCN_DT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFR_NM}</td>
<td class="cmn dummy-td"></td>
</tr>
</template>
<template id="${infoPrefix}NotFound--${pageName}">
<tr class="odd">
<td valign="top" colspan="19" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
</template>
</table>
</div>
</div>
</div>
<!-- / DataTables(그리드) -->
</div> <!-- <div class="wrapper-list"> -->
</div> <!-- <div class="card"> -->
</div> <!-- / Content <div class="container flex-grow-1 px-0"> -->
</div>
<!-- / inner page html <div class="content-wrapper"> -->
<script>
/**************************************************************************
* Global Variable
**************************************************************************/
// URL
var ${pageName}PrefixUrl = "/sndb/sndb01";
// FormFields
var ${pageName}Fields = new FormFields("#frmEdit--${pageName}");
/**************************************************************************
* DatasetControl
**************************************************************************/
var ${pageName}Control = new DatasetControl({
prefix : "nhtSndngDtl"
, prefixName : "발송 상세"
, keymapper : info => info ? info.SNDNG_DTL_ID : ""
, dataGetter : obj => obj.nhtSndngDtlList
, appendData : true
, tableRenderComplete : false // dataTables 에 자료 추가 완료 여부
, formats : {
SNDNG_YMD : dateFormat
, DUDT_YMD : dateFormat
, FFNLG_AMT : numberFormat
, REG_DT : datetimeFormat
, MDFCN_DT : datetimeFormat
}
});
/**************************************************************************
* DatasetControl 이벤트
**************************************************************************/
// Dataset 변경 이벤트
${pageName}Control.onDatasetChange = obj => {
renderList${pageName}();
${pageName}Control.select(true); // 전체 선택 되도록..
if (obj.length > 0) {
}
${pageName}Control.tableRenderComplete = true; // dataTables 에 자료 추가 완료
};
// 현재 선택 자료 변경 이벤트
${pageName}Control.onCurrentChange = item => {
if (!item) return;
let key = item.data.SNDNG_DTL_ID;
$("#tbody--${pageName}").setCurrentRow(key);
${pageName}Control.urls.getInfo = wctx.url("/" + ${pageName}Control.dataset.getValue("TASK_SE_CD") + "/sprt/sprt02/010/main.do"); // 개별총정보
};
// 선택(체크) 변경 이벤트
${pageName}Control.onSelectionChange = selected => {
let ${infoPrefix}List = ${pageName}Control.dataset;
let keys = selected.map(e => ${infoPrefix}List.getKey(e));
$("#tbody--${pageName} input[type='checkbox']").each(function() {
let checkbox = $(this);
checkbox.prop("checked", keys.includes(checkbox.val()));
});
};
// 개별총정보 dialog
${pageName}Control.getInfo = (crdnId) => {
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") {
return;
}
let params = {
callControlName : "${pageName}Control"
, viewPurpose : "readonly"
, crdnId : crdnId
}
ajax.get({
url : ${pageName}Control.urls.getInfo
, data : params
, success : resp => {
dialog.open({
id : "totalInfoMainDialog"
, title : "개별총정보"
, content : resp
, size : "xxl"
});
}
});
}
/**************************************************************************
*
**************************************************************************/
// DataTables에 click, dbclick 이벤트
renderList${pageName} = () => {
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("SNDNG_DTL_ID") + "');")
.replace(/{ondblclick}/gi, "${pageName}Control.getInfo('" + dataItem.getValue("CRDN_ID") + "');")
);
$("#tbody--${pageName}").html(trs.join());
$("th input[type='checkbox']").prop("checked", false);
//보안모드
fn_securityModeToggle($("#securityMode--top").is(":checked"));
}
// 세외수입 등록
createNxrp${pageName} = (params) => {
// 선택된 자료의 발송 상세 ID 추가
let selected = ${pageName}Control.dataset.getKeys("selected");
if (selected.length < 1) return;
params.sndngDtlIDs = selected.join(","); // 발송 상세 IDs
params.delYn = "N"; // 삭제 여부
ajax.post({
url : wctx.url("/" + params.taskSeCd + ${pageName}PrefixUrl + "/createNxrp.do")
, data : params || {}
, success : resp => { }
});
}
// 매칭정보 확인
updateNxrpMtchg${pageName} = (params) => {
// 선택된 자료의 발송 상세 ID 추가
let selected = ${pageName}Control.dataset.getKeys("selected");
if (selected.length < 1) return;
params.sndngDtlIDs = selected.join(","); // 발송 상세 IDs
params.delYn = "N"; // 삭제 여부
ajax.post({
url : wctx.url("/" + params.taskSeCd + ${pageName}PrefixUrl + "/updateNxrpMtchg.do")
, data : params || {}
, success : resp => {}
});
}
// 우편통합 발송
createSndngLink${pageName} = (obj) => {
let btnTitle = $("#btnCreateSndngLink--${pageName}").attr("title");
// 선택된 자료의 발송 상세 ID 추가
let selected = ${pageName}Control.dataset.getKeys("selected");
if (selected.length < 1) return;
let info = {};
info.sndngDtlIDs = selected.join(","); // 발송 상세 IDs
info.sndngId = ${pageName}Control.dataset.getValue("SNDNG_ID"); // 발송 ID
info.sggCd = $("#sggCd--${pageName}").val(); // 시군구 코드
info.taskSeCd = $("#taskSeCd--${pageName}").val(); // 업무 구분 코드
info.sndngSeCd = "02"; // 발송 구분 코드
info.sndngYmd = obj.sndngYmd; // 발송 일자
info.dudtYmd = obj.dudtYmd; // 납기 일자
info.postSndngSeCd = obj.postSndngSeCd; // 우편 발송 구분 코드 0 일반, 1 등기
ajax.post({
url : wctx.url("/" + info.taskSeCd + ${pageName}PrefixUrl + "/080/createSndngLink.do")
, data : info || {}
, success : resp => {
let showMessage = resp.retMessage.replace(/[S]|[F]/g, btnTitle);
dialog.alert(showMessage);
}
});
}
// 종적결과 등록
createSndbk${pageName} = (params) => {
// 선택된 자료의 발송 상세 ID 추가
let selected = ${pageName}Control.dataset.getKeys("selected");
if (selected.length < 1) return;
params.sndngDtlIDs = selected.join(","); // 발송 상세 IDs
params.delYn = "N"; // 삭제 여부
ajax.post({
url : wctx.url("/" + params.taskSeCd + ${pageName}PrefixUrl + "/createSndbk.do")
, data : params || {}
, success : resp => { }
});
}
// 미부과건 확인
levyIdnty${pageName} = (params) => {
// 선택된 자료의 발송 상세 ID 추가
let selected = ${pageName}Control.dataset.getKeys("selected");
if (selected.length < 1) return;
params.sndngDtlIDs = selected.join(","); // 발송 상세 IDs
params.delYn = "N"; // 삭제 여부
ajax.post({
url : wctx.url("/" + params.taskSeCd + ${pageName}PrefixUrl + "/levyIdnty.do")
, data : params || {}
, success : 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);
}
});
});
// DataTables width 변경 조정
$("#DataTables_Table_0--${pageName}").find("th").resizable( {handles : "e"} );
}
/**************************************************************************
* 버튼 clickEvent
**************************************************************************/
// 엑셀 저장
fnExcel${pageName} = () => {
}
// 세외수입 등록
fnCreateNxrp${pageName} = () => {
// validate 확인
if (!customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return;
dialog.alert({
content : "세외수입 과태료 대장에 등록하시겠습니까?"
, onOK : () => {
createNxrp${pageName}(${pageName}Fields.get());
}
});
}
// 매치정보 등록
fnUpdateNxrpMtchg${pageName} = () => {
// validate 확인
if (!customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return;
updateNxrpMtchg${pageName}(${pageName}Fields.get());
}
// 우편통합 발송
fnCreateSndngLink${pageName} = () => {
// validate 확인
if (!customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return;
let callbackFuncName = "createSndngLink${pageName}";
let popupWidth = 480;
let popupHeight = 480;
let popupX = (window.screen.width / 2) - (popupWidth / 2);
let popupY= (window.screen.height / 2) - (popupHeight / 2);
window.open(
wctx.url("/resources/html/inputDateDialog.html"
+ "?callbackFuncName=" + callbackFuncName
+ "&CALL_PURPOSE=" + "post"
+ "&SNDNG_YMD=" + ${pageName}Control.dataset.getValue("SNDNG_YMD")
+ "&DUDT_YMD=" + ${pageName}Control.dataset.getValue("DUDT_YMD")
)
, "inputEPostDateDialog"
, 'status=no, height=' + popupHeight + ', width=' + popupWidth + ', left='+ popupX + ', top='+ popupY
);
}
// 사전통지 출력
fnPrintAdvntce${pageName} = () => {
}
// 등기번호 등록
fnCreateRgNo${pageName} = () => {
// validate 확인
if (!customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return;
createRgNo${pageName}(${pageName}Fields.get());
}
// 반송(종적결과) 확인
fnCreateSndbk${pageName} = () => {
// validate 확인
if (!customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return;
dialog.alert({
content : "종적결과를 확인하시겠습니까?"
, onOK : () => {
createSndbk${pageName}(${pageName}Fields.get());
}
});
}
// 미부과건 확인
fnLevyIdnty${pageName} = () => {
// validate 확인
if (!customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return;
levyIdnty${pageName}(${pageName}Fields.get());
}
/**************************************************************************
* script 진입
**************************************************************************/
$(document).ready(function() {
// 기본 데이터
$("#sggCd--${pageName}").val("${sggCd}"); // 시군구 코드
$("#taskSeCd--${pageName}").val("${taskSeCd}"); // 업무 구분 코드
// 보안모드
fn_securityModeToggle($("#securityMode--top").is(":checked"));
// 이벤트 설정
setEvent${pageName}();
// Dataset 셋팅 - 화면이 열리면서 조회하는 경우 addData 하여 자료를 추가
${pageName}Control.addData(${nhtSndngDtl});
});
</script>
Loading…
Cancel
Save