발송,반송 메뉴 수정.

main
jjh 1 year ago
parent 05c97540a0
commit f7c9378afd

@ -38,6 +38,7 @@ public class SndbQuery extends CmmnQuery {
private String levyExclSeNm; // 부과제외_부과 제외 구분 명
private String vhrno; // 단속(TB_CRDN)_차량번호
private String rtpyrNm; // 납부자(TB_PAYER)_납부자 명
private String crdnSttsCd; // 단속(TB_CRDN)_단속 상태 코드
// ETC
private String callPurpose; // 자료 조회시 호출용도. (view 조회, create 등록, update 수정, refresh 재조회)
private String delYn; // 삭제 여부
@ -234,6 +235,16 @@ public class SndbQuery extends CmmnQuery {
return self();
}
public String getCrdnSttsCd() {
return ifEmpty(crdnSttsCd, () -> null);
}
public <T extends SndbQuery> T setCrdnSttsCd(String crdnSttsCd) {
this.crdnSttsCd = crdnSttsCd;
return self();
}
// 동적 검색 조건 ///////////////////////////////////////////////////////////////
// ETC /////////////////////////////////////////////////////////////////////

@ -18,7 +18,7 @@ import cokr.xit.foundation.data.DataObject;
* ================================
* </pre>
*/
public interface Sndb01Service {
public interface SndngService {
/** .
* @param req

@ -26,8 +26,8 @@ import cokr.xit.fims.sndb.dao.SvbtcMapper;
* ================================
* </pre>
*/
@Component("sndb01Bean")
public class Sndb01Bean extends AbstractComponent {
@Component("sndngBean")
public class SndngBean extends AbstractComponent {
/** 발송 대장 정보 DAO */
@Resource(name = "sndngMapper")

@ -10,7 +10,7 @@ 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.Sndb01Service;
import cokr.xit.fims.sndb.service.SndngService;
import cokr.xit.foundation.component.AbstractServiceBean;
import cokr.xit.foundation.data.DataObject;
@ -24,61 +24,61 @@ import cokr.xit.foundation.data.DataObject;
* ================================
* </pre>
*/
@Service("sndb01Service")
public class Sndb01ServiceBean extends AbstractServiceBean implements Sndb01Service {
@Service("sndngService")
public class SndngServiceBean extends AbstractServiceBean implements SndngService {
/** 발송 대장 정보 Bean */
@Resource(name = "sndb01Bean")
private Sndb01Bean sndb01Bean;
@Resource(name = "sndngBean")
private SndngBean sndngBean;
@Override
public List<DataObject> getWrngSndngTrgtList(SndbQuery req) {
return sndb01Bean.getWrngSndngTrgtList(req);
return sndngBean.getWrngSndngTrgtList(req);
}
@Override
public List<DataObject> getWrngSndngTrgts(SndbQuery req) {
return sndb01Bean.getWrngSndngTrgts(req);
return sndngBean.getWrngSndngTrgts(req);
}
@Override
public List<DataObject> getWrngSndngList(SndbQuery req) {
return sndb01Bean.getWrngSndngList(req);
return sndngBean.getWrngSndngList(req);
}
@Override
public List<DataObject> getWrngSndngs(SndbQuery req) {
return sndb01Bean.getWrngSndngs(req);
return sndngBean.getWrngSndngs(req);
}
@Override
public List<DataObject> getAdvntceSndngTrgtList(SndbQuery req) {
return sndb01Bean.getAdvntceSndngTrgtList(req);
return sndngBean.getAdvntceSndngTrgtList(req);
}
@Override
public List<DataObject> getAdvntceSndngTrgts(SndbQuery req) {
return sndb01Bean.getAdvntceSndngTrgts(req);
return sndngBean.getAdvntceSndngTrgts(req);
}
@Override
public List<DataObject> getAdvntceSndngList(SndbQuery req) {
return sndb01Bean.getAdvntceSndngList(req);
return sndngBean.getAdvntceSndngList(req);
}
@Override
public List<DataObject> getAdvntceSndngs(SndbQuery req) {
return sndb01Bean.getAdvntceSndngs(req);
return sndngBean.getAdvntceSndngs(req);
}
@Override
public List<DataObject> getNhtSndngList(SndbQuery req) {
return sndb01Bean.getNhtSndngList(req);
return sndngBean.getNhtSndngList(req);
}
@Override
public List<DataObject> getNhtSndngs(SndbQuery req) {
return sndb01Bean.getNhtSndngs(req);
return sndngBean.getNhtSndngs(req);
}
@ -91,77 +91,77 @@ public class Sndb01ServiceBean extends AbstractServiceBean implements Sndb01Serv
@Override
public List<DataObject> getSndngList(SndbQuery req) {
return sndb01Bean.getSndngList(req);
return sndngBean.getSndngList(req);
}
@Override
public List<DataObject> getSndngs(SndbQuery req) {
return sndb01Bean.getSndngs(req);
return sndngBean.getSndngs(req);
}
@Override
public boolean createSndng(Sndng sndng) {
return sndb01Bean.createSndng(sndng);
return sndngBean.createSndng(sndng);
}
@Override
public boolean updateSndng(Sndng sndng) {
return sndb01Bean.updateSndng(sndng);
return sndngBean.updateSndng(sndng);
}
@Override
public boolean removeSndng(Sndng sndng) {
return sndb01Bean.removeSndng(sndng);
return sndngBean.removeSndng(sndng);
}
@Override
public List<DataObject> getSndngDtlList(SndbQuery req) {
return sndb01Bean.getSndngDtlList(req);
return sndngBean.getSndngDtlList(req);
}
@Override
public List<DataObject> getSndngDtls(SndbQuery req) {
return sndb01Bean.getSndngDtls(req);
return sndngBean.getSndngDtls(req);
}
@Override
public boolean createSndngDtl(SndngDtl sndngDtl) {
return sndb01Bean.createSndngDtl(sndngDtl);
return sndngBean.createSndngDtl(sndngDtl);
}
@Override
public boolean updateSndngDtl(SndngDtl sndngDtl) {
return sndb01Bean.updateSndngDtl(sndngDtl);
return sndngBean.updateSndngDtl(sndngDtl);
}
@Override
public boolean removeSndngDtl(SndngDtl sndngDtl) {
return sndb01Bean.removeSndngDtl(sndngDtl);
return sndngBean.removeSndngDtl(sndngDtl);
}
@Override
public List<DataObject> getSvbtcList(SndbQuery req) {
return sndb01Bean.getSvbtcList(req);
return sndngBean.getSvbtcList(req);
}
@Override
public List<DataObject> getSvbtcs(SndbQuery req) {
return sndb01Bean.getSvbtcs(req);
return sndngBean.getSvbtcs(req);
}
@Override
public boolean createSvbtc(Svbtc svbtc) {
return sndb01Bean.createSvbtc(svbtc);
return sndngBean.createSvbtc(svbtc);
}
@Override
public boolean updateSvbtc(Svbtc svbtc) {
return sndb01Bean.updateSvbtc(svbtc);
return sndngBean.updateSvbtc(svbtc);
}
@Override
public boolean removeSvbtc(Svbtc svbtc) {
return sndb01Bean.removeSvbtc(svbtc);
return sndngBean.removeSvbtc(svbtc);
}
}

@ -5,17 +5,12 @@ 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.Sndb01Service;
import cokr.xit.fims.sndb.service.SndngService;
/**
*
@ -35,20 +30,15 @@ public class Sndb01Controller extends ApplicationController {
public static final String
warningSendingTargetMain = "/010/main.do" // 계도장 발송 대상 메인 화면
, getWrngSndngTrgtList = "/010/list.do" // 계도장 발송 대상 목록 조회
, warningSendingMain = "/020/main.do" // 계도장 발송 현황 메인 화면
, getWrngSndngList = "/020/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" // 고지서 발송 현황 목록 조회
, getWrngSndngTrgtInfo = "/020/info.do" // 계도장 발송 대상 등록
, warningSendingMain = "/030/main.do" // 계도장 발송 현황 메인 화면
, getWrngSndngList = "/030/list.do" // 계도장 발송 현황 목록 조
;
}
/**발송 대장 서비스*/
@Resource(name = "sndb01Service")
private Sndb01Service sndb01Service;
@Resource(name = "sndngService")
private SndngService sndngService;
/** (sndb/sndb01/010-main) .
* {@link #getSndngList(SndbQuery) } .
@ -78,364 +68,74 @@ public class Sndb01Controller extends ApplicationController {
* @param req
* @return jsonView
* <pre><code> {
* "sndngList": [ ]
* "sndngStart":
* "sndngFetch":
* "sndngTotal":
* "wrngSndngTrgtList": [ ]
* "wrngSndngTrgtStart":
* "wrngSndngTrgtFetch":
* "wrngSndngTrgtTotal":
* }</code></pre>
*/
public ModelAndView getWrngSndngTrgtList(SndbQuery req) {
List<?> result = sndb01Service.getWrngSndngTrgtList(setFetchSize(req));
List<?> result = sndngService.getWrngSndngTrgtList(setFetchSize(req));
return setCollectionInfo(new ModelAndView("jsonView"), result, "wrngSndngTrgt");
}
/** (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>
/** (sndb/sndb01/020-info) .
* @param crdnIDs IDs
* @return fims/sndb/sndb01020-info jsonView
* <pre>{
* "wrngSndngTrgts": [ ]
* }</pre>
*/
public ModelAndView getWrngSndngList(SndbQuery req) {
List<?> result = sndb01Service.getWrngSndngList(setFetchSize(req));
public ModelAndView getWrngSndngTrgtInfo(SndbQuery req) {
List<?> wrngSndngTrgts = sndngService.getWrngSndngTrgts(req);
return setCollectionInfo(new ModelAndView("jsonView"), result, "sndng");
}
boolean json = jsonResponse();
/** (sndb/sndb01/030-main) .
* {@link #getSndngList(SndbQuery) } .
* @return /sndb/sndb01/030-main
*/
public ModelAndView advanceNoticeSendingTargetMain() {
ModelAndView mav = new ModelAndView("fims/sndb/sndb01030-main");
ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/sndb/sndb01020-info");
// View(jsp)에서 사용할 공통코드를 조회
Map<String, List<CommonCode>> commonCodes = getCodesOf("FIM054");
return mav.addObject("pageName", "sndb01030") // View(jsp)에서 사용할 id 뒤에 붙일 suffix
.addObject("infoPrefix", "sndng") // prefix
return mav
.addObject("pageName", "sndb01020")
.addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD)
.addObject("wrngSndngTrgts", json ? wrngSndngTrgts : toJson(wrngSndngTrgts)) // 계도장 발송 대상 정보
;
}
/** .<br />
* {@link SndngService#getSndngList(SndngQuery)}
* @param req
* @return jsonView
* <pre><code> {
* "sndngList": [ ]
* "sndngStart":
* "sndngFetch":
* "sndngTotal":
* }</code></pre>
*/
public ModelAndView getAdvntceSndngTrgtList(SndbQuery req) {
List<?> result = sndb01Service.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 = sndb01Service.getAdvntceSndngList(setFetchSize(req));
return setCollectionInfo(new ModelAndView("jsonView"), result, "sndng");
}
/** (sndb/sndb01/060-main) .
/** (sndb/sndb01/020-main) .
* {@link #getSndngList(SndbQuery) } .
* @return /sndb/sndb01/060-main
* @return /sndb/sndb01/020-main
*/
public ModelAndView noticeSheetSendingMain() {
ModelAndView mav = new ModelAndView("fims/sndb/sndb01060-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", "sndb01060") // View(jsp)에서 사용할 id 뒤에 붙일 suffix
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 getNhtSndngList(SndbQuery req) {
List<?> result = sndb01Service.getNhtSndngList(setFetchSize(req));
return setCollectionInfo(new ModelAndView("jsonView"), result, "sndng");
}
/** .<br />
/** .<br />
* {@link SndngService#getSndngList(SndngQuery)}
* @param req
* @return jsonView
* <pre><code> {
* "sndngList": [ ]
* "sndngStart":
* "sndngFetch":
* "sndngTotal":
* "sndngList": [ ]
* "sndngStart":
* "sndngFetch":
* "sndngTotal":
* }</code></pre>
*/
@RequestMapping(name = "발송 대장 조회", value = "/010/sndngList.do")
public ModelAndView getSndngList(SndbQuery req) {
List<?> result = sndb01Service.getSndngList(setFetchSize(req));
public ModelAndView getWrngSndngList(SndbQuery req) {
List<?> result = sndngService.getWrngSndngList(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 = sndb01Service.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 = sndb01Service.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 = sndb01Service.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 = sndb01Service.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 = sndb01Service.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 = sndb01Service.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 = sndb01Service.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 = sndb01Service.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 = sndb01Service.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 = sndb01Service.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 = sndb01Service.removeSvbtc(svbtc);
return new ModelAndView("jsonView")
.addObject("saved", saved);
}
}

@ -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);
}
}

@ -26,7 +26,7 @@ import cokr.xit.fims.payer.service.PayerService;
import cokr.xit.fims.rcvm.RcvmQuery;
import cokr.xit.fims.rcvm.service.Rcvm01Service;
import cokr.xit.fims.sndb.SndbQuery;
import cokr.xit.fims.sndb.service.Sndb01Service;
import cokr.xit.fims.sndb.service.SndngService;
import cokr.xit.fims.sprt.SprtQuery;
import cokr.xit.fims.sprt.service.Sprt02Service;
import cokr.xit.fims.sprt.service.Sprt04Service;
@ -74,8 +74,8 @@ public class Sprt02Controller extends ApplicationController {
protected Excl02Service excl02Service;
/** 발송 대장 서비스*/
@Resource(name = "sndb01Service")
protected Sndb01Service sndb01Service;
@Resource(name = "sndngService")
protected SndngService sndngService;
/** 부과 대장 서비스*/
@Resource(name = "levy01Service")
@ -289,14 +289,14 @@ public class Sprt02Controller extends ApplicationController {
sndb01Query.setDelYn(req.getDelYn());
sndb01Query.setOrderBy("SD.REG_DT, SD.SNDNG_DTL_ID DESC");
List<?> sndngDtl = sndb01Service.getSndngDtls(sndb01Query);
List<?> sndngDtl = sndngService.getSndngDtls(sndb01Query);
// 공시송달 정보
sndb01Query.setCrdnId(req.getCrdnId());
sndb01Query.setDelYn(req.getDelYn());
sndb01Query.setOrderBy("SV.REG_DT DESC, SV.SVBTC_ID DESC");
List<?> svbtc = sndb01Service.getSvbtcs(sndb01Query);
List<?> svbtc = sndngService.getSvbtcs(sndb01Query);
boolean json = jsonResponse();

@ -226,7 +226,7 @@ public class CmnController {
}
@Controller
@RequestMapping(name = "발송 관리", value = Sndb01Controller.CLASS_URL)
@RequestMapping(name = "계도장 발송", value = Sndb01Controller.CLASS_URL)
class Sndb01Controller extends cokr.xit.fims.sndb.web.Sndb01Controller {
/** .
@ -239,7 +239,7 @@ public class CmnController {
}
/** .
* @return fims/sndb/sndb01020-main
* @return fims/sndb/sndb01030-main
*/
@Override
@RequestMapping(name = "계도장 발송 현황", value = METHOD_URL.warningSendingMain)
@ -247,8 +247,14 @@ public class CmnController {
return super.warningSendingMain();
}
}
@Controller
@RequestMapping(name = "사전통보 발송", value = Sndb02Controller.CLASS_URL)
class Sndb02Controller extends cokr.xit.fims.sndb.web.Sndb02Controller {
/** .
* @return fims/sndb/sndb01030-main
* @return fims/sndb/sndb02010-main
*/
@Override
@RequestMapping(name = "사전 통보 발송 대상 자료", value = METHOD_URL.advanceNoticeSendingTargetMain)
@ -257,7 +263,7 @@ public class CmnController {
}
/** .
* @return fims/sndb/sndb01040-main
* @return fims/sndb/sndb02030-main
*/
@Override
@RequestMapping(name = "사전 통보 발송 현황", value = METHOD_URL.advanceNoticeSendingMain)
@ -265,8 +271,14 @@ public class CmnController {
return super.advanceNoticeSendingMain();
}
}
@Controller
@RequestMapping(name = "고지서 발송", value = Sndb03Controller.CLASS_URL)
class Sndb03Controller extends cokr.xit.fims.sndb.web.Sndb03Controller {
/** .
* @return fims/sndb/sndb01060-main
* @return fims/sndb/sndb03030-main
*/
@Override
@RequestMapping(name = "고지서 발송 현황", value = METHOD_URL.noticeSheetSendingMain)

@ -483,7 +483,7 @@ public class DpvController {
}
@Controller
@RequestMapping(name="장애인과태료업무 발송, 반송 관리", value=CLASS_URL+Sndb01Controller.CLASS_URL)
@RequestMapping(name="장애인과태료업무 발송,반송 관리_계고장 발송", value=CLASS_URL+Sndb01Controller.CLASS_URL)
class Sndb01Controller extends cokr.xit.fims.sndb.web.Sndb01Controller {
@Override
@ -492,12 +492,24 @@ public class DpvController {
return super.getWrngSndngTrgtList(req);
}
@Override
@RequestMapping(name="장애인과태료업무 계고장 발송 대상 등록", value=METHOD_URL.getWrngSndngTrgtInfo)
public ModelAndView getWrngSndngTrgtInfo(SndbQuery req) {
return super.getWrngSndngTrgtInfo(req);
}
@Override
@RequestMapping(name="장애인과태료업무 계고장 발송 현황 목록 조회", value=METHOD_URL.getWrngSndngList)
public ModelAndView getWrngSndngList(SndbQuery req) {
return super.getWrngSndngList(req);
}
}
@Controller
@RequestMapping(name="장애인과태료업무 발송,반송 관리_사전통보 발송", value=CLASS_URL+Sndb02Controller.CLASS_URL)
class Sndb02Controller extends cokr.xit.fims.sndb.web.Sndb02Controller {
@Override
@RequestMapping(name="장애인과태료업무 사전통보 발송 대상 목록 조회", value=METHOD_URL.getAdvntceSndngTrgtList)
public ModelAndView getAdvntceSndngTrgtList(SndbQuery req) {
@ -510,6 +522,12 @@ public class DpvController {
return super.getAdvntceSndngList(req);
}
}
@Controller
@RequestMapping(name="장애인과태료업무 발송,반송 관리_고지서 발송", value=CLASS_URL+Sndb03Controller.CLASS_URL)
class Sndb03Controller extends cokr.xit.fims.sndb.web.Sndb03Controller {
@Override
@RequestMapping(name="장애인과태료업무 고지서 발송 현황 목록 조회", value=METHOD_URL.getNhtSndngList)
public ModelAndView getNhtSndngList(SndbQuery req) {
@ -518,6 +536,12 @@ public class DpvController {
}
@Controller
@RequestMapping(name="장애인과태료업무 발송,반송 관리_반송, 공시송달", value=CLASS_URL+Sndb04Controller.CLASS_URL)
class Sndb04Controller extends cokr.xit.fims.sndb.web.Sndb04Controller {
}
@Controller
@RequestMapping(name="장애인과태료업무 업무지원_통합조회", value=CLASS_URL+"/sprt/sprt01")
class Sprt01Controller extends cokr.xit.fims.sprt.web.Sprt01Controller {}

@ -126,6 +126,7 @@
, C.CRDN_PLC /* 단속 장소 */
, C.FFNLG_CRDN_AMT /* 과태료 단속 금액 */
, C.FFNLG_AMT /* 과태료 금액 */
, C.ADVNTCE_AMT /* 사전통지 금액 */
, C.CRDN_STTS_CD /* 단속 상태 코드 */
, (SELECT FN_GET_CODE_NM('FIM010', C.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM /* 단속 상태 명 */
, CC.CVLCPT_LINK_ID /* 민원 연계 ID */
@ -165,6 +166,7 @@
WHERE C.SGG_CD = #{sggCd} /* 시군구 코드 */
AND C.TASK_SE_CD = #{taskSeCd} /* 업무 구분 코드 */
AND C.DEL_YN = #{crdnDelYn} /* 삭제 여부 */
AND C.CRDN_STTS_CD = #{crdnSttsCd} /* 단속 상태 코드 */
<if test="schLevyExclYmdFrom != null">
AND LE.LEVY_EXCL_YMD <![CDATA[ >= ]]> #{schLevyExclYmdFrom} /* 부과제외 일자 시작 */
</if>

@ -154,10 +154,10 @@
</div>
<span class="container-window-btn-right">
<!-- 업무 버튼 -->
<button type="button" class="btn btn-primary" id="btnCreateWrng--${pageName}" title="계고장 발송 등록" onclick="fnCreateWrng${pageName}();">
<button type="button" class="btn btn-primary" id="btnCreateWrngSndngTrg--${pageName}" title="계고장 발송 등록" onclick="fnCreateWrngSndngTrg${pageName}();">
계고장 발송 등록
</button>
<button type="button" class="btn btn-primary" id="btnUpdate--${pageName}" title="계고 수정" onclick="fnUpdate${pageName}();">
<button type="button" class="btn btn-primary" id="btnLevyExclInfo--${pageName}" title="계고 수정" onclick="fnLevyExclInfo${pageName}();">
계고 수정
</button>
</span>
@ -315,7 +315,7 @@
checkbox.prop("checked", keys.includes(checkbox.val()));
});
$("#btnRemove--${pageName}").prop("disabled", keys.length < 1);
$("#btnCreateWrngSndngTrg--${pageName}").prop("disabled", keys.length < 1);
};
// 개별총정보 dialog
@ -392,8 +392,10 @@
return;
}
$("#schVltnId--${pageName}").empty(); // 항목 초기화
// 항목 초기화
$("#schVltnId--${pageName}").empty();
$("#schVltnId--${pageName}").append("<option value=''>" + "전체" + "</option>");
$(vltnIdCode).each(function(index, item) {
$("#schVltnId--${pageName}").append("<option value='" + vltnIdCode[index].code +"'>" + vltnIdCode[index].value + "</option>");
})
@ -412,10 +414,16 @@
return formData;
}
// 수정 dialog -> callback 추가
// 계고장 발송 등록 dialog -> callback 추가
${pageName}Info = (params) => {
let selected = ${pageName}Control.dataset.getKeys("selected");
if (selected.length < 1) return;
params["crdnIDs"] = selected.join(",");
ajax.get({
url : wctx.url("/" + params.taskSeCd + ${pageName}PrefixUrl + "/020/info.do?openerPageName=${pageName}")
url : wctx.url("/" + params.taskSeCd + ${pageName}PrefixUrl + "/020/info.do")
, data : params || {}
, success : resp => {
dialog.open({
@ -430,6 +438,24 @@
});
}
// 계고 수정 dialog -> callback 추가
${pageName}levyExclInfo = (params) => {
ajax.get({
url : wctx.url("/" + params.taskSeCd + "/excl/excl01/020/info.do?openerPageName=${pageName}")
, data : params || {}
, success : resp => {
dialog.open({
id : "levyExclDialog"
, title : "부과제외 정보"
, content : resp
, size : ${pageName}Control.infoSize
, init : () => { }
, onClose : () => { ${pageName}Control.load(${pageName}Control.query.pageNum); } // callback
});
}
});
}
/**************************************************************************
* 초기 셋팅
**************************************************************************/
@ -504,6 +530,7 @@
${pageName}Control.query = fnGetParams${pageName}();
${pageName}Control.query.delYn = "N"; // 삭제 여부
${pageName}Control.query.crdnDelYn = "N"; // 단속 대장 삭제 여부
${pageName}Control.query.crdnSttsCd = "83"; // 계고
${pageName}Control.load();
}
@ -514,12 +541,18 @@
}
// 계고장 발송 등록
fnCreateWrng${pageName} = () => {
fnCreateWrngSndngTrg${pageName} = () => {
let params = {
callPurpose : "create"
, sggCd : ${pageName}Control.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : ${pageName}Control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
};
${pageName}Info(params);
}
// 계고 수정
fnUpdate${pageName} = () => {
fnLevyExclInfo${pageName} = () => {
let levyExclId = ${pageName}Control.dataset.getValue("LEVY_EXCL_ID");
// 부과제외ID 가 없다면.. return
@ -534,7 +567,7 @@
, levyExclId : levyExclId
};
${pageName}Info(params);
${pageName}levyExclInfo(params);
}
/**************************************************************************

@ -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…
Cancel
Save