발송,반송 메뉴 수정.
parent
05c97540a0
commit
f7c9378afd
@ -0,0 +1,109 @@
|
||||
package cokr.xit.fims.sndb.web;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import cokr.xit.base.code.CommonCode;
|
||||
import cokr.xit.base.web.ApplicationController;
|
||||
import cokr.xit.fims.sndb.SndbQuery;
|
||||
import cokr.xit.fims.sndb.service.SndngService;
|
||||
|
||||
/**발송 대장 서비스의 웹 컨트롤러
|
||||
*
|
||||
* <p>상세 설명:
|
||||
*
|
||||
* <pre>
|
||||
* ============ 변경 이력 ============
|
||||
* 2023-08-24 JoJH 최초 작성
|
||||
* ================================
|
||||
* </pre>
|
||||
*/
|
||||
public class Sndb02Controller extends ApplicationController {
|
||||
|
||||
public static final String CLASS_URL = "/sndb/sndb02";
|
||||
|
||||
public class METHOD_URL {
|
||||
public static final String
|
||||
advanceNoticeSendingTargetMain = "/010/main.do" // 사전통보 발송 대상 메인 화면
|
||||
, getAdvntceSndngTrgtList = "/010/list.do" // 사전통보 발송 대상 목록 조회
|
||||
, getAdvntceSndngTrgtInfo = "/020/info.do" // 사전통보 발송 대상 등록
|
||||
, advanceNoticeSendingMain = "/030/main.do" // 사전통보 발송 현황 메인 화면
|
||||
, getAdvntceSndngList = "/030/list.do" // 사전통보 발송 현황 목록 조회
|
||||
;
|
||||
}
|
||||
|
||||
/**발송 대장 서비스*/
|
||||
@Resource(name = "sndngService")
|
||||
private SndngService sndngService;
|
||||
|
||||
/**사전 통보 발송 대상 자료 메인화면(sndb/sndb02/010-main)을 연다.
|
||||
* 조건없는 {@link #getSndngList(SndbQuery) 발송 대장 조회 결과}를 포함시킨다.
|
||||
* @return /sndb/sndb02/010-main
|
||||
*/
|
||||
public ModelAndView advanceNoticeSendingTargetMain() {
|
||||
ModelAndView mav = new ModelAndView("fims/sndb/sndb02010-main");
|
||||
|
||||
// View(jsp)에서 사용할 공통코드를 조회
|
||||
Map<String, List<CommonCode>> commonCodes = getCodesOf("FIM054");
|
||||
|
||||
return mav.addObject("pageName", "sndb02010") // View(jsp)에서 사용할 id 뒤에 붙일 suffix
|
||||
.addObject("infoPrefix", "sndng") // prefix
|
||||
.addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD)
|
||||
;
|
||||
}
|
||||
|
||||
/**사전 통보 발송 대상 목록을 조회하여 반환한다.<br />
|
||||
* {@link SndngService#getSndngList(SndngQuery)} 참고
|
||||
* @param req 발송 대장 조회 조건
|
||||
* @return jsonView
|
||||
* <pre><code> {
|
||||
* "sndngList": [사전 통보 발송 대상 목록]
|
||||
* "sndngStart": 사전 통보 발송 대상 목록 시작 인덱스
|
||||
* "sndngFetch": 한 번에 가져오는 사전 통보 발송 대상 목록 수
|
||||
* "sndngTotal": 조회 결과 찾은 전체 사전 통보 발송 대상 수
|
||||
* }</code></pre>
|
||||
*/
|
||||
public ModelAndView getAdvntceSndngTrgtList(SndbQuery req) {
|
||||
List<?> result = sndngService.getAdvntceSndngTrgtList(setFetchSize(req));
|
||||
|
||||
return setCollectionInfo(new ModelAndView("jsonView"), result, "sndng");
|
||||
}
|
||||
|
||||
/**사전 통보 발송 현황 메인화면(sndb/sndb02/030-main)을 연다.
|
||||
* 조건없는 {@link #getSndngList(SndbQuery) 발송 대장 조회 결과}를 포함시킨다.
|
||||
* @return /sndb/sndb02/030-main
|
||||
*/
|
||||
public ModelAndView advanceNoticeSendingMain() {
|
||||
ModelAndView mav = new ModelAndView("fims/sndb/sndb02030-main");
|
||||
|
||||
// View(jsp)에서 사용할 공통코드를 조회
|
||||
Map<String, List<CommonCode>> commonCodes = getCodesOf("FIM054");
|
||||
|
||||
return mav.addObject("pageName", "sndb02030") // View(jsp)에서 사용할 id 뒤에 붙일 suffix
|
||||
.addObject("infoPrefix", "sndng") // prefix
|
||||
.addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD)
|
||||
;
|
||||
}
|
||||
|
||||
/**사전 통보 발송 현황 목록을 조회하여 반환한다.<br />
|
||||
* {@link SndngService#getSndngList(SndngQuery)} 참고
|
||||
* @param req 발송 대장 조회 조건
|
||||
* @return jsonView
|
||||
* <pre><code> {
|
||||
* "sndngList": [사전 통보 발송 현황 목록]
|
||||
* "sndngStart": 사전 통보 발송 현황 목록 시작 인덱스
|
||||
* "sndngFetch": 한 번에 가져오는 사전 통보 발송 현황 목록 수
|
||||
* "sndngTotal": 조회 결과 찾은 전체 사전 통보 발송 현황 수
|
||||
* }</code></pre>
|
||||
*/
|
||||
public ModelAndView getAdvntceSndngList(SndbQuery req) {
|
||||
List<?> result = sndngService.getAdvntceSndngList(setFetchSize(req));
|
||||
|
||||
return setCollectionInfo(new ModelAndView("jsonView"), result, "sndng");
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,73 @@
|
||||
package cokr.xit.fims.sndb.web;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import cokr.xit.base.code.CommonCode;
|
||||
import cokr.xit.base.web.ApplicationController;
|
||||
import cokr.xit.fims.sndb.SndbQuery;
|
||||
import cokr.xit.fims.sndb.service.SndngService;
|
||||
|
||||
/**발송 대장 서비스의 웹 컨트롤러
|
||||
*
|
||||
* <p>상세 설명:
|
||||
*
|
||||
* <pre>
|
||||
* ============ 변경 이력 ============
|
||||
* 2023-08-24 JoJH 최초 작성
|
||||
* ================================
|
||||
* </pre>
|
||||
*/
|
||||
public class Sndb03Controller extends ApplicationController {
|
||||
|
||||
public static final String CLASS_URL = "/sndb/sndb03";
|
||||
|
||||
public class METHOD_URL {
|
||||
public static final String
|
||||
noticeSheetSendingMain = "/030/main.do" // 고지서 발송 현황 메인 화면
|
||||
, getNhtSndngList = "/030/list.do" // 고지서 발송 현황 목록 조회
|
||||
;
|
||||
}
|
||||
|
||||
/**발송 대장 서비스*/
|
||||
@Resource(name = "sndngService")
|
||||
private SndngService sndngService;
|
||||
|
||||
/**고지서 발송 현황 메인화면(sndb/sndb03/030-main)을 연다.
|
||||
* 조건없는 {@link #getSndngList(SndbQuery) 발송 대장 조회 결과}를 포함시킨다.
|
||||
* @return /sndb/sndb03/030-main
|
||||
*/
|
||||
public ModelAndView noticeSheetSendingMain() {
|
||||
ModelAndView mav = new ModelAndView("fims/sndb/sndb03030-main");
|
||||
|
||||
// View(jsp)에서 사용할 공통코드를 조회
|
||||
Map<String, List<CommonCode>> commonCodes = getCodesOf("FIM054");
|
||||
|
||||
return mav.addObject("pageName", "sndb03030") // View(jsp)에서 사용할 id 뒤에 붙일 suffix
|
||||
.addObject("infoPrefix", "sndng") // prefix
|
||||
.addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD)
|
||||
;
|
||||
}
|
||||
|
||||
/**고지서 발송 현황 목록을 조회하여 반환한다.<br />
|
||||
* {@link SndngService#getSndngList(SndngQuery)} 참고
|
||||
* @param req 발송 대장 조회 조건
|
||||
* @return jsonView
|
||||
* <pre><code> {
|
||||
* "sndngList": [고지서 발송 현황 목록]
|
||||
* "sndngStart": 고지서 발송 현황 목록 시작 인덱스
|
||||
* "sndngFetch": 한 번에 가져오는 고지서 발송 현황 목록 수
|
||||
* "sndngTotal": 조회 결과 찾은 전체 고지서 발송 현황 수
|
||||
* }</code></pre>
|
||||
*/
|
||||
public ModelAndView getNhtSndngList(SndbQuery req) {
|
||||
List<?> result = sndngService.getNhtSndngList(setFetchSize(req));
|
||||
|
||||
return setCollectionInfo(new ModelAndView("jsonView"), result, "sndng");
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,468 @@
|
||||
package cokr.xit.fims.sndb.web;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import cokr.xit.base.code.CommonCode;
|
||||
import cokr.xit.base.web.ApplicationController;
|
||||
import cokr.xit.fims.sndb.SndbQuery;
|
||||
import cokr.xit.fims.sndb.Sndng;
|
||||
import cokr.xit.fims.sndb.SndngDtl;
|
||||
import cokr.xit.fims.sndb.Svbtc;
|
||||
import cokr.xit.fims.sndb.service.SndngService;
|
||||
|
||||
/**발송 대장 서비스의 웹 컨트롤러
|
||||
*
|
||||
* <p>상세 설명:
|
||||
*
|
||||
* <pre>
|
||||
* ============ 변경 이력 ============
|
||||
* 2023-08-24 JoJH 최초 작성
|
||||
* ================================
|
||||
* </pre>
|
||||
*/
|
||||
public class Sndb04Controller extends ApplicationController {
|
||||
|
||||
public static final String CLASS_URL = "/sndb/sndb01";
|
||||
|
||||
public class METHOD_URL {
|
||||
public static final String
|
||||
warningSendingTargetMain = "/010/main.do" // 계도장 발송 대상 메인 화면
|
||||
, getWrngSndngTrgtList = "/010/list.do" // 계도장 발송 대상 목록 조회
|
||||
, getWrngSndngTrgtInfo = "/020/info.do" // 계도장 발송 대상 등록
|
||||
, warningSendingMain = "/030/main.do" // 계도장 발송 현황 메인 화면
|
||||
, getWrngSndngList = "/030/list.do" // 계도장 발송 현황 목록 조회
|
||||
|
||||
, advanceNoticeSendingTargetMain = "/030/main.do" // 사전통보 발송 대상 메인 화면
|
||||
, getAdvntceSndngTrgtList = "/030/list.do" // 사전통보 발송 대상 목록 조회
|
||||
, advanceNoticeSendingMain = "/040/main.do" // 사전통보 발송 현황 메인 화면
|
||||
, getAdvntceSndngList = "/040/list.do" // 사전통보 발송 현황 목록 조회
|
||||
, noticeSheetSendingMain = "/060/main.do" // 고지서 발송 현황 메인 화면
|
||||
, getNhtSndngList = "/060/list.do" // 고지서 발송 현황 목록 조회
|
||||
;
|
||||
}
|
||||
|
||||
/**발송 대장 서비스*/
|
||||
@Resource(name = "sndngService")
|
||||
private SndngService sndngService;
|
||||
|
||||
/**계도장 발송 대상 자료 메인화면(sndb/sndb01/010-main)을 연다.
|
||||
* 조건없는 {@link #getSndngList(SndbQuery) 발송 대장 조회 결과}를 포함시킨다.
|
||||
* @return /sndb/sndb01/010-main
|
||||
*/
|
||||
public ModelAndView warningSendingTargetMain() {
|
||||
ModelAndView mav = new ModelAndView("fims/sndb/sndb01010-main");
|
||||
|
||||
// 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", "sndng") // prefix
|
||||
.addObject("FIM004List", commonCodes.get("FIM004")) // 주정차위반 내역 코드(VLTN_ID)
|
||||
.addObject("FIM005List", commonCodes.get("FIM005")) // 전용차로위반 내역 코드(VLTN_ID)
|
||||
.addObject("FIM006List", commonCodes.get("FIM006")) // 장애인주차위반 내역 코드(VLTN_ID)
|
||||
.addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD)
|
||||
.addObject("FIM061List", commonCodes.get("FIM061")) // 전기차 충전구역 및 충전방해 위반 코드(VLTN_ID)
|
||||
.addObject("FIM064List", commonCodes.get("FIM064")) // 화물자동차 밤샘주차 위반 코드(VLTN_ID)
|
||||
;
|
||||
}
|
||||
|
||||
/**계도장 발송 대상 목록을 조회하여 반환한다.<br />
|
||||
* {@link SndngService#getSndngList(SndngQuery)} 참고
|
||||
* @param req 발송 대장 조회 조건
|
||||
* @return jsonView
|
||||
* <pre><code> {
|
||||
* "wrngSndngTrgtList": [계도장 발송 대상 목록]
|
||||
* "wrngSndngTrgtStart": 계도장 발송 대상 목록 시작 인덱스
|
||||
* "wrngSndngTrgtFetch": 한 번에 가져오는 계도장 발송 대상 목록 수
|
||||
* "wrngSndngTrgtTotal": 조회 결과 찾은 전체 계도장 발송 대상 수
|
||||
* }</code></pre>
|
||||
*/
|
||||
public ModelAndView getWrngSndngTrgtList(SndbQuery req) {
|
||||
List<?> result = sndngService.getWrngSndngTrgtList(setFetchSize(req));
|
||||
|
||||
return setCollectionInfo(new ModelAndView("jsonView"), result, "wrngSndngTrgt");
|
||||
}
|
||||
|
||||
|
||||
/**계도장 발송 대상 정보 화면(sndb/sndb01/020-info)을 연다.
|
||||
* @param crdnIDs 단속 IDs
|
||||
* @return fims/sndb/sndb01020-info 또는 jsonView
|
||||
* <pre>{
|
||||
* "wrngSndngTrgts": [계도장 발송 대상 목록]
|
||||
* }</pre>
|
||||
*/
|
||||
public ModelAndView getWrngSndngTrgtInfo(SndbQuery req) {
|
||||
List<?> wrngSndngTrgts = sndngService.getWrngSndngTrgts(req);
|
||||
|
||||
boolean json = jsonResponse();
|
||||
|
||||
ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/sndb/sndb01020-info");
|
||||
|
||||
// View(jsp)에서 사용할 공통코드를 조회
|
||||
Map<String, List<CommonCode>> commonCodes = getCodesOf("FIM054");
|
||||
|
||||
return mav
|
||||
.addObject("pageName", "sndb01020")
|
||||
.addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD)
|
||||
.addObject("wrngSndngTrgts", json ? wrngSndngTrgts : toJson(wrngSndngTrgts)) // 계도장 발송 대상 정보
|
||||
;
|
||||
}
|
||||
|
||||
/**계도장 발송 현황 메인화면(sndb/sndb01/020-main)을 연다.
|
||||
* 조건없는 {@link #getSndngList(SndbQuery) 발송 대장 조회 결과}를 포함시킨다.
|
||||
* @return /sndb/sndb01/020-main
|
||||
*/
|
||||
public ModelAndView warningSendingMain() {
|
||||
ModelAndView mav = new ModelAndView("fims/sndb/sndb01020-main");
|
||||
|
||||
// View(jsp)에서 사용할 공통코드를 조회
|
||||
Map<String, List<CommonCode>> commonCodes = getCodesOf("FIM054");
|
||||
|
||||
return mav.addObject("pageName", "sndb01020") // View(jsp)에서 사용할 id 뒤에 붙일 suffix
|
||||
.addObject("infoPrefix", "sndng") // prefix
|
||||
.addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD)
|
||||
;
|
||||
}
|
||||
|
||||
/**계도장 발송 현황 목록을 조회하여 반환한다.<br />
|
||||
* {@link SndngService#getSndngList(SndngQuery)} 참고
|
||||
* @param req 발송 대장 조회 조건
|
||||
* @return jsonView
|
||||
* <pre><code> {
|
||||
* "sndngList": [계도장 발송 현황 목록]
|
||||
* "sndngStart": 계도장 발송 현황 목록 시작 인덱스
|
||||
* "sndngFetch": 한 번에 가져오는 계도장 발송 현황 목록 수
|
||||
* "sndngTotal": 조회 결과 찾은 전체 계도장 발송 현황 수
|
||||
* }</code></pre>
|
||||
*/
|
||||
public ModelAndView getWrngSndngList(SndbQuery req) {
|
||||
List<?> result = sndngService.getWrngSndngList(setFetchSize(req));
|
||||
|
||||
return setCollectionInfo(new ModelAndView("jsonView"), result, "sndng");
|
||||
}
|
||||
|
||||
/**사전 통보 발송 대상 자료 메인화면(sndb/sndb01/030-main)을 연다.
|
||||
* 조건없는 {@link #getSndngList(SndbQuery) 발송 대장 조회 결과}를 포함시킨다.
|
||||
* @return /sndb/sndb01/030-main
|
||||
*/
|
||||
public ModelAndView advanceNoticeSendingTargetMain() {
|
||||
ModelAndView mav = new ModelAndView("fims/sndb/sndb01030-main");
|
||||
|
||||
// View(jsp)에서 사용할 공통코드를 조회
|
||||
Map<String, List<CommonCode>> commonCodes = getCodesOf("FIM054");
|
||||
|
||||
return mav.addObject("pageName", "sndb01030") // View(jsp)에서 사용할 id 뒤에 붙일 suffix
|
||||
.addObject("infoPrefix", "sndng") // prefix
|
||||
.addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD)
|
||||
;
|
||||
}
|
||||
|
||||
/**사전 통보 발송 대상 목록을 조회하여 반환한다.<br />
|
||||
* {@link SndngService#getSndngList(SndngQuery)} 참고
|
||||
* @param req 발송 대장 조회 조건
|
||||
* @return jsonView
|
||||
* <pre><code> {
|
||||
* "sndngList": [사전 통보 발송 대상 목록]
|
||||
* "sndngStart": 사전 통보 발송 대상 목록 시작 인덱스
|
||||
* "sndngFetch": 한 번에 가져오는 사전 통보 발송 대상 목록 수
|
||||
* "sndngTotal": 조회 결과 찾은 전체 사전 통보 발송 대상 수
|
||||
* }</code></pre>
|
||||
*/
|
||||
public ModelAndView getAdvntceSndngTrgtList(SndbQuery req) {
|
||||
List<?> result = sndngService.getAdvntceSndngTrgtList(setFetchSize(req));
|
||||
|
||||
return setCollectionInfo(new ModelAndView("jsonView"), result, "sndng");
|
||||
}
|
||||
|
||||
/**사전 통보 발송 현황 메인화면(sndb/sndb01/040-main)을 연다.
|
||||
* 조건없는 {@link #getSndngList(SndbQuery) 발송 대장 조회 결과}를 포함시킨다.
|
||||
* @return /sndb/sndb01/040-main
|
||||
*/
|
||||
public ModelAndView advanceNoticeSendingMain() {
|
||||
ModelAndView mav = new ModelAndView("fims/sndb/sndb01040-main");
|
||||
|
||||
// View(jsp)에서 사용할 공통코드를 조회
|
||||
Map<String, List<CommonCode>> commonCodes = getCodesOf("FIM054");
|
||||
|
||||
return mav.addObject("pageName", "sndb01040") // View(jsp)에서 사용할 id 뒤에 붙일 suffix
|
||||
.addObject("infoPrefix", "sndng") // prefix
|
||||
.addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD)
|
||||
;
|
||||
}
|
||||
|
||||
/**사전 통보 발송 현황 목록을 조회하여 반환한다.<br />
|
||||
* {@link SndngService#getSndngList(SndngQuery)} 참고
|
||||
* @param req 발송 대장 조회 조건
|
||||
* @return jsonView
|
||||
* <pre><code> {
|
||||
* "sndngList": [사전 통보 발송 현황 목록]
|
||||
* "sndngStart": 사전 통보 발송 현황 목록 시작 인덱스
|
||||
* "sndngFetch": 한 번에 가져오는 사전 통보 발송 현황 목록 수
|
||||
* "sndngTotal": 조회 결과 찾은 전체 사전 통보 발송 현황 수
|
||||
* }</code></pre>
|
||||
*/
|
||||
public ModelAndView getAdvntceSndngList(SndbQuery req) {
|
||||
List<?> result = sndngService.getAdvntceSndngList(setFetchSize(req));
|
||||
|
||||
return setCollectionInfo(new ModelAndView("jsonView"), result, "sndng");
|
||||
}
|
||||
|
||||
/**고지서 발송 현황 메인화면(sndb/sndb01/060-main)을 연다.
|
||||
* 조건없는 {@link #getSndngList(SndbQuery) 발송 대장 조회 결과}를 포함시킨다.
|
||||
* @return /sndb/sndb01/060-main
|
||||
*/
|
||||
public ModelAndView noticeSheetSendingMain() {
|
||||
ModelAndView mav = new ModelAndView("fims/sndb/sndb01060-main");
|
||||
|
||||
// View(jsp)에서 사용할 공통코드를 조회
|
||||
Map<String, List<CommonCode>> commonCodes = getCodesOf("FIM054");
|
||||
|
||||
return mav.addObject("pageName", "sndb01060") // View(jsp)에서 사용할 id 뒤에 붙일 suffix
|
||||
.addObject("infoPrefix", "sndng") // prefix
|
||||
.addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD)
|
||||
;
|
||||
}
|
||||
|
||||
/**고지서 발송 현황 목록을 조회하여 반환한다.<br />
|
||||
* {@link SndngService#getSndngList(SndngQuery)} 참고
|
||||
* @param req 발송 대장 조회 조건
|
||||
* @return jsonView
|
||||
* <pre><code> {
|
||||
* "sndngList": [고지서 발송 현황 목록]
|
||||
* "sndngStart": 고지서 발송 현황 목록 시작 인덱스
|
||||
* "sndngFetch": 한 번에 가져오는 고지서 발송 현황 목록 수
|
||||
* "sndngTotal": 조회 결과 찾은 전체 고지서 발송 현황 수
|
||||
* }</code></pre>
|
||||
*/
|
||||
public ModelAndView getNhtSndngList(SndbQuery req) {
|
||||
List<?> result = sndngService.getNhtSndngList(setFetchSize(req));
|
||||
|
||||
return setCollectionInfo(new ModelAndView("jsonView"), result, "sndng");
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**발송 대장 목록을 조회하여 반환한다.<br />
|
||||
* {@link SndngService#getSndngList(SndngQuery)} 참고
|
||||
* @param req 발송 대장 조회 조건
|
||||
* @return jsonView
|
||||
* <pre><code> {
|
||||
* "sndngList": [발송 대장 목록]
|
||||
* "sndngStart": 발송 대장 목록 시작 인덱스
|
||||
* "sndngFetch": 한 번에 가져오는 발송 대장 목록 수
|
||||
* "sndngTotal": 조회 결과 찾은 전체 발송 대장 수
|
||||
* }</code></pre>
|
||||
*/
|
||||
@RequestMapping(name = "발송 대장 조회", value = "/010/sndngList.do")
|
||||
public ModelAndView getSndngList(SndbQuery req) {
|
||||
List<?> result = sndngService.getSndngList(setFetchSize(req));
|
||||
|
||||
return setCollectionInfo(new ModelAndView("jsonView"), result, "sndng");
|
||||
}
|
||||
|
||||
/**발송 대장를 등록한다.
|
||||
* @param sndng 발송 대장 정보
|
||||
* @return jsonView
|
||||
* <pre><code> {
|
||||
* "saved": 등록되었으면 true, 그렇지 않으면 false
|
||||
* }</code></pre>
|
||||
*/
|
||||
@PostMapping(name = "발송 대장 등록", value = "/010/createSndng.do")
|
||||
public ModelAndView createSndng(Sndng sndng) {
|
||||
boolean saved = sndngService.createSndng(sndng);
|
||||
|
||||
return new ModelAndView("jsonView")
|
||||
.addObject("saved", saved);
|
||||
}
|
||||
|
||||
/**발송 대장 정보를 수정한다.
|
||||
* @param sndng 발송 대장 정보
|
||||
* @return jsonView
|
||||
* <pre><code> {
|
||||
* "saved": 수정되었으면 true, 그렇지 않으면 false
|
||||
* }</code></pre>
|
||||
*/
|
||||
@PostMapping(name = "발송 대장 수정", value = "/010/updateSndng.do")
|
||||
public ModelAndView updateSndng(Sndng sndng) {
|
||||
boolean saved = sndngService.updateSndng(sndng);
|
||||
|
||||
return new ModelAndView("jsonView")
|
||||
.addObject("saved", saved);
|
||||
}
|
||||
|
||||
/**지정한 발송 대장를 제거한다.
|
||||
* @param sndngIDs 발송 대장 아이디
|
||||
* @return jsonView
|
||||
* <pre><code> {
|
||||
* "affected": 저장된 정보수
|
||||
* "saved": 저장되었으면 true, 그렇지 않으면 false
|
||||
* }</code></pre>
|
||||
*/
|
||||
@PostMapping(name = "발송 대장 제거", value = "/010/removeSndng.do")
|
||||
public ModelAndView removeSndng(Sndng sndng) {
|
||||
boolean saved = sndngService.removeSndng(sndng);
|
||||
|
||||
return new ModelAndView("jsonView")
|
||||
.addObject("saved", saved);
|
||||
}
|
||||
|
||||
/**발송 상세 목록을 조회하여 반환한다.<br />
|
||||
* {@link SndngDtlService#getSndngDtlList(SndbQuery)} 참고
|
||||
* @param req 발송 상세 조회 조건
|
||||
* @return jsonView
|
||||
* <pre><code> {
|
||||
* "sndngDtlList": [발송 상세 목록]
|
||||
* "sndngDtlStart": 발송 상세 목록 시작 인덱스
|
||||
* "sndngDtlFetch": 한 번에 가져오는 발송 상세 목록 수
|
||||
* "sndngDtlTotal": 조회 결과 찾은 전체 발송 상세 수
|
||||
* }</code></pre>
|
||||
*/
|
||||
@RequestMapping(name = "발송 상세 조회", value = "/010/sndngDtlList.do")
|
||||
public ModelAndView getSndngDtlList(SndbQuery req) {
|
||||
List<?> result = sndngService.getSndngDtlList(setFetchSize(req));
|
||||
|
||||
return setCollectionInfo(new ModelAndView("jsonView"), result, "sndngDtl");
|
||||
}
|
||||
|
||||
/**발송 상세를 등록한다.
|
||||
* @param sndngDtl 발송 상세 정보
|
||||
* @return jsonView
|
||||
* <pre><code> {
|
||||
* "saved": 등록되었으면 true, 그렇지 않으면 false
|
||||
* }</code></pre>
|
||||
*/
|
||||
@PostMapping(name = "발송 상세 등록", value = "/010/createSndngDtl.do")
|
||||
public ModelAndView createSndngDtl(SndngDtl sndngDtl) {
|
||||
boolean saved = sndngService.createSndngDtl(sndngDtl);
|
||||
|
||||
return new ModelAndView("jsonView")
|
||||
.addObject("saved", saved);
|
||||
}
|
||||
|
||||
/**발송 상세 정보를 수정한다.
|
||||
* @param sndngDtl 발송 상세 정보
|
||||
* @return jsonView
|
||||
* <pre><code> {
|
||||
* "saved": 수정되었으면 true, 그렇지 않으면 false
|
||||
* }</code></pre>
|
||||
*/
|
||||
@PostMapping(name = "발송 상세 수정", value = "/010/updateSndngDtl.do")
|
||||
public ModelAndView updateSndngDtl(SndngDtl sndngDtl) {
|
||||
boolean saved = sndngService.updateSndngDtl(sndngDtl);
|
||||
|
||||
return new ModelAndView("jsonView")
|
||||
.addObject("saved", saved);
|
||||
}
|
||||
|
||||
/**지정한 발송 상세를 제거한다.
|
||||
* @param sndngDtlIDs 발송 상세 아이디
|
||||
* @return jsonView
|
||||
* <pre><code> {
|
||||
* "affected": 저장된 정보수
|
||||
* "saved": 저장되었으면 true, 그렇지 않으면 false
|
||||
* }</code></pre>
|
||||
*/
|
||||
@PostMapping(name = "발송 상세 제거", value = "/010/removeSndngDtl.do")
|
||||
public ModelAndView removeSndngDtl(SndngDtl sndngDtl) {
|
||||
boolean saved = sndngService.removeSndngDtl(sndngDtl);
|
||||
|
||||
return new ModelAndView("jsonView")
|
||||
.addObject("saved", saved);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/**공시송달 대장 관리 메인화면(fims/sndb/sndb01120-main)을 연다.
|
||||
* 조건없는 {@link #getSvbtcList(SndbQuery) 공시송달 대장 조회 결과}를 포함시킨다.
|
||||
* @return /svbtc/svbtc-main
|
||||
*/
|
||||
@RequestMapping(name = "공시송달 대장 메인", value = "/120/main.do")
|
||||
public ModelAndView ServiceByPublicNoticeMain() {
|
||||
ModelAndView mav = new ModelAndView("fims/sndb/sndb01120-main");
|
||||
|
||||
// View(jsp)에서 사용할 공통코드를 조회
|
||||
Map<String, List<CommonCode>> commonCodes = getCodesOf("FIM054");
|
||||
|
||||
return mav.addObject("pageName", "sndb01010") // View(jsp)에서 사용할 id 뒤에 붙일 suffix
|
||||
.addObject("infoPrefix", "sndng") // prefix
|
||||
.addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD)
|
||||
;
|
||||
}
|
||||
|
||||
/**공시송달 대장 목록을 조회하여 반환한다.<br />
|
||||
* {@link SvbtcService#getSvbtcList(SndbQuery)} 참고
|
||||
* @param req 공시송달 대장 조회 조건
|
||||
* @return jsonView
|
||||
* <pre><code> {
|
||||
* "svbtcList": [공시송달 대장 목록]
|
||||
* "svbtcStart": 공시송달 대장 목록 시작 인덱스
|
||||
* "svbtcFetch": 한 번에 가져오는 공시송달 대장 목록 수
|
||||
* "svbtcTotal": 조회 결과 찾은 전체 공시송달 대장 수
|
||||
* }</code></pre>
|
||||
*/
|
||||
@RequestMapping(name = "공시송달 대장 조회", value = "/120/list.do")
|
||||
public ModelAndView getSvbtcList(SndbQuery req) {
|
||||
List<?> result = sndngService.getSvbtcList(setFetchSize(req));
|
||||
|
||||
return setCollectionInfo(new ModelAndView("jsonView"), result, "svbtc");
|
||||
}
|
||||
|
||||
/**공시송달 대장를 등록한다.
|
||||
* @param svbtc 공시송달 대장 정보
|
||||
* @return jsonView
|
||||
* <pre><code> {
|
||||
* "saved": 등록되었으면 true, 그렇지 않으면 false
|
||||
* }</code></pre>
|
||||
*/
|
||||
@PostMapping(name = "공시송달 대장 등록", value = "/120/create.do")
|
||||
public ModelAndView createSvbtc(Svbtc svbtc) {
|
||||
boolean saved = sndngService.createSvbtc(svbtc);
|
||||
|
||||
return new ModelAndView("jsonView")
|
||||
.addObject("saved", saved);
|
||||
}
|
||||
|
||||
/**공시송달 대장 정보를 수정한다.
|
||||
* @param svbtc 공시송달 대장 정보
|
||||
* @return jsonView
|
||||
* <pre><code> {
|
||||
* "saved": 수정되었으면 true, 그렇지 않으면 false
|
||||
* }</code></pre>
|
||||
*/
|
||||
@PostMapping(name = "공시송달 대장 수정", value = "/120/update.do")
|
||||
public ModelAndView updateSvbtc(Svbtc svbtc) {
|
||||
boolean saved = sndngService.updateSvbtc(svbtc);
|
||||
|
||||
return new ModelAndView("jsonView")
|
||||
.addObject("saved", saved);
|
||||
}
|
||||
|
||||
/**지정한 공시송달 대장를 제거한다.
|
||||
* @param svbtcIDs 공시송달 대장 아이디
|
||||
* @return jsonView
|
||||
* <pre><code> {
|
||||
* "affected": 저장된 정보수
|
||||
* "saved": 저장되었으면 true, 그렇지 않으면 false
|
||||
* }</code></pre>
|
||||
*/
|
||||
@PostMapping(name = "공시송달 대장 제거", value = "/120/remove.do")
|
||||
public ModelAndView removeSvbtc(Svbtc svbtc) {
|
||||
boolean saved = sndngService.removeSvbtc(svbtc);
|
||||
|
||||
return new ModelAndView("jsonView")
|
||||
.addObject("saved", saved);
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,227 @@
|
||||
<%@ 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-xxl flex-grow-1 px-0">
|
||||
<c:set var="prefixName" scope="request">부과제외 정보</c:set>
|
||||
|
||||
<!-- Page Body -->
|
||||
<div class="card">
|
||||
<!-- 입력 영역 -->
|
||||
<form id="frmEdit--${pageName}" name="frmEdit">
|
||||
<!-- hidden -->
|
||||
<input type="hidden" id="crdnId--${pageName}" name="crdnId" data-map="CRDN_ID" />
|
||||
<input type="hidden" id="sggCd--${pageName}" name="sggCd" data-map="SGG_CD" />
|
||||
<input type="hidden" id="taskSeCd--${pageName}" name="taskSeCd" data-map="TASK_SE_CD" />
|
||||
<input type="hidden" id="levyExclId--${pageName}" name="levyExclId" data-map="LEVY_EXCL_ID" />
|
||||
|
||||
<div class="row g-1">
|
||||
<!-- 차량번호 -->
|
||||
<div class="col-md-12">
|
||||
<label for="vhrno--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">차량번호</label>
|
||||
<input type="text" class="form-control w-px-120" id="vhrno--${pageName}" name="vhrno" data-map="VHRNO" readonly />
|
||||
</div>
|
||||
<!-- 부과 제외 구분 -->
|
||||
<div class="col-md-12">
|
||||
<label for="levyExclSeNm--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end required">부과제외구분</label>
|
||||
<input type="text" class="form-control w-px-120" id="levyExclSeNm--${pageName}" readonly />
|
||||
<input type="hidden" id="levyExclSeCd--${pageName}" name="levyExclSeCd" data-map="LEVY_EXCL_SE_CD" />
|
||||
</div>
|
||||
<!-- 부과 제외 일자 -->
|
||||
<div class="col-md-12">
|
||||
<label for="levyExclYmd--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end required">부과제외일자</label>
|
||||
<input type="text" class="form-control form-date" id="levyExclYmd--${pageName}" name="levyExclYmd" data-map="LEVY_EXCL_YMD"
|
||||
data-fmt-type="day" title="날짜 선택" maxlength="10" required />
|
||||
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
|
||||
</div>
|
||||
<!-- 부과 제외 사유 -->
|
||||
<div class="col-md-12">
|
||||
<label for="levyExclRsnCd--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end required">부과제외사유</label>
|
||||
<select class="form-select" id="levyExclRsnCd--${pageName}" name="levyExclRsnCd" data-map="LEVY_EXCL_RSN_CD" required>
|
||||
<option value="">선택하세요</option>
|
||||
<c:forEach items="${FIM022List}" var="item">
|
||||
<option value="${item.code}">${item.value}</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
<!-- 기타 내용 -->
|
||||
<div class="col-md-12">
|
||||
<label for="etcCn--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">기타 내용</label>
|
||||
<textarea type="text" class="form-control w-80" id="etcCn--${pageName}" name="etcCn" data-map="ETC_CN" rows="3" data-maxlengthb="1000">
|
||||
</textarea>
|
||||
</div>
|
||||
</div>
|
||||
</form> <!-- /입력 영역 -->
|
||||
</div> <!-- <div class="card"> -->
|
||||
|
||||
<!-- 업무 버튼 표시 -->
|
||||
<div>
|
||||
<span class="container-page-btn">
|
||||
<span class="container-window-btn-right">
|
||||
<!-- 업무 버튼 -->
|
||||
<button type="button" class="btn btn-primary w-px-80" id="btnSave--${pageName}" title="저장" onclick="fnSave${pageName}()">저장</button>
|
||||
</span>
|
||||
</span>
|
||||
</div>
|
||||
<!-- / 업무 버튼 표시 -->
|
||||
|
||||
</div> <!-- / Content <div class="container-xxl flex-grow-1 px-0"> -->
|
||||
</div> <!-- / inner page html <div class="content-wrapper"> -->
|
||||
|
||||
<script>
|
||||
/**************************************************************************
|
||||
* Global Variable
|
||||
**************************************************************************/
|
||||
// URL
|
||||
var ${pageName}PrefixUrl = "/excl/excl01";
|
||||
// FormFields
|
||||
var ${pageName}Fields = new FormFields("#frmEdit--${pageName}");
|
||||
// 공통 코드
|
||||
var FIM021 = new CommonCodes(${FIM021}, true);
|
||||
var FIM022 = new CommonCodes(${FIM022}, true);
|
||||
// 호출한 Page Name
|
||||
var openerPageName = "${openerPageName}";
|
||||
|
||||
/**************************************************************************
|
||||
* DatasetControl
|
||||
**************************************************************************/
|
||||
var ${pageName}Control = new DatasetControl({
|
||||
prefix : "levyExcl"
|
||||
, prefixName : "부과제외"
|
||||
, keymapper : info => info ? info.LEVY_EXCL_ID : ""
|
||||
, dataGetter : obj => obj.levyExclInfo
|
||||
, urls : {
|
||||
create : wctx.url(${pageName}PrefixUrl + "/020/create.do") // 등록
|
||||
, update : wctx.url(${pageName}PrefixUrl + "/020/update.do") // 수정
|
||||
}
|
||||
, formats : {
|
||||
LEVY_EXCL_YMD : dateFormat
|
||||
}
|
||||
});
|
||||
|
||||
${pageName}Control.onCurrentChange = item => {
|
||||
// Dataset 셋팅
|
||||
${pageName}Fields.set(item);
|
||||
|
||||
// 업무구분에 따른 url 변경
|
||||
${pageName}Control.urls.create = wctx.url(item.data.TASK_SE_CD + ${pageName}PrefixUrl + "/020/create.do");
|
||||
${pageName}Control.urls.update = wctx.url(item.data.TASK_SE_CD + ${pageName}PrefixUrl + "/020/update.do");
|
||||
|
||||
// 부과제외구분에 따른 부과제외사유 셋팅
|
||||
setFim021(item.data.LEVY_EXCL_SE_CD, item.data.LEVY_EXCL_RSN_CD);
|
||||
}
|
||||
|
||||
/**************************************************************************
|
||||
* DatasetControl 이벤트
|
||||
**************************************************************************/
|
||||
// 저장 callback
|
||||
${pageName}Control.onSave = (resp) => {
|
||||
let dialogTitle = $("#" + ${pageName}Control.prefix + "Dialog").find("h5.modal-title").html();
|
||||
let showMessage = resp.retMessage.replace(/[S]|[F]/g, dialogTitle);
|
||||
|
||||
dialog.alert(showMessage);
|
||||
|
||||
if (resp.saved) {
|
||||
dialog.close(${pageName}Control.prefix + "Dialog");
|
||||
|
||||
if ("${savedCallbackFuncName}" != "") {
|
||||
${savedCallbackFuncName}(resp.saved);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 저장
|
||||
${pageName}Control.save = (info) => {
|
||||
if (!info) return;
|
||||
|
||||
let create = isEmpty(info.levyExclId);
|
||||
|
||||
// 민원 접수 관리에서 호출했다면..
|
||||
if (create && "${saveCallbackFuncName}" != "") {
|
||||
${saveCallbackFuncName}(info);
|
||||
} else {
|
||||
ajax.post({
|
||||
url : !create ? ${pageName}Control.urls.update : ${pageName}Control.urls.create
|
||||
, data : info
|
||||
, success : resp => ${pageName}Control.onSave(resp)
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/**************************************************************************
|
||||
*
|
||||
**************************************************************************/
|
||||
// 부과제외 구분에 따른 부과제외 사유 코드 설정
|
||||
setFim021 = (seCode, rsnCode) => {
|
||||
let cmnCode = FIM021[seCode];
|
||||
|
||||
$("#levyExclSeCd--${pageName}").val(cmnCode.code);
|
||||
$("#levyExclSeNm--${pageName}").val(cmnCode.value);
|
||||
|
||||
let reasons = FIM022.list().filter(reason => "1" == seCode ? reason.code < "200" : reason.code > "200");
|
||||
$("#levyExclRsnCd--${pageName}").html(reasons.map(reason => "<option value='" + reason.code + "'>" + reason.value + "</option>").join());
|
||||
|
||||
if (rsnCode != undefined && rsnCode != "") {
|
||||
$("#levyExclRsnCd--${pageName}").val(rsnCode);
|
||||
}
|
||||
}
|
||||
|
||||
/**************************************************************************
|
||||
* 초기 셋팅
|
||||
**************************************************************************/
|
||||
// 검색조건 초기값 셋팅
|
||||
initForm${pageName} = () => {
|
||||
// 달력 초기화
|
||||
initDatepicker("frmEdit--${pageName}");
|
||||
$("#levyExclYmd--${pageName}").datepicker("setDate", new Date());
|
||||
}
|
||||
|
||||
// 이벤트 설정
|
||||
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);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
/**************************************************************************
|
||||
* function
|
||||
**************************************************************************/
|
||||
// 저장
|
||||
fnSave${pageName} = () => {
|
||||
// validate 확인
|
||||
if (!customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return;
|
||||
|
||||
dialog.alert({
|
||||
content : "현재 " + ${pageName}Control.prefixName + " 정보를 저장하시겠습니까?"
|
||||
, onOK : () => {
|
||||
${pageName}Control.save(${pageName}Fields.get());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**************************************************************************
|
||||
* script 진입
|
||||
**************************************************************************/
|
||||
$(document).ready(function() {
|
||||
// 이벤트 설정
|
||||
setEvent${pageName}();
|
||||
|
||||
// 화면 초기 설정
|
||||
initForm${pageName}();
|
||||
|
||||
// Dataset 셋팅 - 단건일 경우 setData
|
||||
${pageName}Control.setData([${levyExclInfo}]);
|
||||
});
|
||||
|
||||
</script>
|
Loading…
Reference in New Issue