사전통지 발송대상, 계고장 발송현황 수정.

main
jjh 1 year ago
parent a71e141df6
commit 1f8c328e88

@ -0,0 +1,190 @@
package cokr.xit.fims.sndb;
import cokr.xit.foundation.AbstractEntity;
import lombok.Getter;
import lombok.Setter;
/**
*
* @author JoJH
*/
@Getter
@Setter
public class NxrpMtchg extends AbstractEntity {
/**
* ID
*/
private String mtchgId;
/**
* ID
*/
private String crdnId;
/**
*
*/
private String crdnDt;
/**
*
*/
private String stdgNm;
/**
*
*/
private String crdnPlc;
/**
*
*/
private String lvyKey;
/**
*
*/
private String acntgYr;
/**
*
*/
private String levyNo;
/**
*
*/
private int levyAmt;
/**
*
*/
private int adtnAmt;
/**
*
*/
private int sumAmt;
/**
*
*/
private String prcsSttsCd;
/**
*
*/
private String epayno;
/**
* 1
*/
private String bankNm1;
/**
* 1
*/
private String vractno1;
/**
* 2
*/
private String bankNm2;
/**
* 2
*/
private String vractno2;
/**
* 3
*/
private String bankNm3;
/**
* 3
*/
private String vractno3;
/**
* 4
*/
private String bankNm4;
/**
* 4
*/
private String vractno4;
/**
* 5
*/
private String bankNm5;
/**
* 5
*/
private String vractno5;
/**
* 6
*/
private String bankNm6;
/**
* 6
*/
private String vractno6;
/**
* 7
*/
private String bankNm7;
/**
* 7
*/
private String vractno7;
/**
* 8
*/
private String bankNm8;
/**
* 8
*/
private String vractno8;
/**
* 9
*/
private String bankNm9;
/**
* 9
*/
private String vractno9;
/**
* 10
*/
private String bankNm10;
/**
* 10
*/
private String vractno10;
/**
* 11
*/
private String bankNm11;
/**
* 11
*/
private String vractno11;
}

@ -79,30 +79,20 @@ public interface SndngMapper extends AbstractMapper {
return !sndngDtlInfo.isEmpty() ? sndngDtlInfo.get(0) : null;
}
/** .<br />
* @param req
* @return
*/
List<DataObject> selectAdvntceSndngTrgtList(SndbQuery req);
List<DataObject> selectAdvntceTrgtList(SndbQuery req);
/** .
* @param req
* @return
*/
List<DataObject> selectAdvntceSndngTrgts(SndbQuery req);
List<DataObject> selectAdvntceTrgts(SndbQuery req);
default DataObject selectAdvntceSndngTrgtInfo(String crdnId) {
List<DataObject> InfoSndngTrgt = selectAdvntceSndngTrgts(new SndbQuery().setCrdnId(crdnId));
default DataObject selectAdvntceTrgtInfo(String crdnId) {
List<DataObject> InfoSndngTrgt = selectAdvntceTrgts(new SndbQuery().setCrdnId(crdnId));
return !InfoSndngTrgt.isEmpty() ? InfoSndngTrgt.get(0) : null;
}
@ -112,6 +102,18 @@ public interface SndngMapper extends AbstractMapper {
/** .
* @param req
* @return

@ -39,7 +39,7 @@ public interface SndngService {
* <li> false</li>
* </ul>
*/
String createWarningSndng(Sndng sndng);
String createWrngSndng(Sndng sndng);
/** .
* @param req
@ -53,26 +53,42 @@ public interface SndngService {
*/
List<DataObject> getWrngSndngDtls(SndbQuery req);
/** .
* @param req
* @return
*/
List<DataObject> getAdvntceSndngTrgtList(SndbQuery req);
List<DataObject> getAdvntceTrgtList(SndbQuery req);
/** .
* @param req
* @return
*/
List<DataObject> getAdvntceSndngTrgts(SndbQuery req);
List<DataObject> getAdvntceTrgts(SndbQuery req);
/** .
* @param sndng
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
String createAdvntceSndng(Sndng sndng);
/** .
* @param req
* @return
*/
List<DataObject> getAdvntceSndngList(SndbQuery req);
/** .
* @param req
* @return
*/
List<DataObject> getAdvntceSndngDtls(SndbQuery req);
@ -93,16 +109,23 @@ public interface SndngService {
*/
String createSndng(Sndng sndng);
/** .
* @param req
* @return
*/
List<DataObject> getSndngList(SndbQuery req);
/** .
* @param req
* @return
*/
List<DataObject> getSndngTrgts(SndbQuery req);
/** .
* @param req
* @return
*/
List<DataObject> getSndngDtls(SndbQuery req);
/** .
* @param req
@ -128,24 +151,6 @@ public interface SndngService {
*/
List<DataObject> getSvbtcDtls(SndbQuery req);
/** .
* @param req
* @return
*/
List<DataObject> getSndngList(SndbQuery req);
/** .
* @param req
* @return
*/
List<DataObject> getSndngTrgts(SndbQuery req);
/** .
* @param req
* @return
*/
List<DataObject> getSndngDtls(SndbQuery req);
/** .
* @param sndng
* @return

@ -109,37 +109,38 @@ public class SndngBean extends AbstractComponent {
return sndngMapper.selectSndngDtls(req);
}
/** .
* @param req
* @return
*/
public List<DataObject> getAdvntceSndngTrgtList(SndbQuery req) {
return sndngMapper.selectAdvntceSndngTrgtList(req);
public List<DataObject> getAdvntceTrgtList(SndbQuery req) {
return sndngMapper.selectAdvntceTrgtList(req);
}
/** .
* @param req
* @return
*/
public List<DataObject> getAdvntceSndngTrgts(SndbQuery req) {
public List<DataObject> getAdvntceTrgts(SndbQuery req) {
if (req.getOrderBy() == null) {
req.setOrderBy("CRDN_YMD_TM");
}
return sndngMapper.selectAdvntceSndngTrgts(req);
return sndngMapper.selectAdvntceTrgts(req);
}
/** .
* @param req
* @return
@ -191,13 +192,12 @@ public class SndngBean extends AbstractComponent {
sndng.setDeptCd(userInfo.string("DEPT_CD")); // 부서 코드
sndng.setVltnId(sndng.getVltnId()); // 위반 ID
// 계고장
if (sndng.getSndngSeCd().equals("11") || sndng.getSndngSeCd().equals("12")) {
if (sndng.getSndngSeCd().equals("11") || sndng.getSndngSeCd().equals("12")) { // 계고장
sndng.setLevyBgngYmd(null); // 부과 시작 일자
sndng.setLevyEndYmd(null); // 부과 종료 일자
sndng.setDudtYmd(null); // 납기 일자
newCrdnSttsCd = "84"; // 단속 상태 코드 - 84 계고장 출력 완료
} else if (sndng.getSndngSeCd().equals("01") || sndng.getSndngSeCd().equals("02")) {
} else if (sndng.getSndngSeCd().equals("01") || sndng.getSndngSeCd().equals("02")) { // 사전통지
newCrdnSttsCd = "42"; // 단속 상태 코드 - 42 사전통지 발송
} else {
newCrdnSttsCd = "";

@ -42,7 +42,7 @@ public class SndngServiceBean extends AbstractServiceBean implements SndngServic
}
@Override
public String createWarningSndng(Sndng sndng) {
public String createWrngSndng(Sndng sndng) {
// 세외수입시스템과 연계하는 업무인지 확인
if ("DPV,ECA,TPV".contains(sndng.getTaskSeCd())) {
return sndngBean.createSndngNxrpLink(sndng);
@ -61,6 +61,39 @@ public class SndngServiceBean extends AbstractServiceBean implements SndngServic
return sndngBean.getSndngDtls(req);
}
@Override
public List<DataObject> getAdvntceTrgtList(SndbQuery req) {
return sndngBean.getAdvntceTrgtList(req);
}
@Override
public List<DataObject> getAdvntceTrgts(SndbQuery req) {
return sndngBean.getAdvntceTrgts(req);
}
@Override
public String createAdvntceSndng(Sndng sndng) {
// 세외수입시스템과 연계하는 업무인지 확인
if ("DPV,ECA,TPV".contains(sndng.getTaskSeCd())) {
return sndngBean.createSndngNxrpLink(sndng);
} else {
return sndngBean.createSndng(sndng);
}
}
@Override
public List<DataObject> getAdvntceSndngList(SndbQuery req) {
return sndngBean.getSndngList(req);
}
@Override
public List<DataObject> getAdvntceSndngDtls(SndbQuery req) {
return sndngBean.getSndngDtls(req);
}
@ -70,15 +103,7 @@ public class SndngServiceBean extends AbstractServiceBean implements SndngServic
@Override
public List<DataObject> getAdvntceSndngTrgtList(SndbQuery req) {
return sndngBean.getAdvntceSndngTrgtList(req);
}
@Override
public List<DataObject> getAdvntceSndngTrgts(SndbQuery req) {
return sndngBean.getAdvntceSndngTrgts(req);
}
@Override
public List<DataObject> getSndbkList(SndbQuery req) {

@ -36,20 +36,20 @@ public class Sndb01Controller extends ApplicationController {
public class METHOD_URL {
public static final String
warningTargetMain = "/010/main.do" // 계고장 발송 대상 메인 화면
, getWarningTargetList = "/010/list.do" // 계고장 발송 대상 목록 조회
, getWarningTargetInfo = "/020/info.do" // 계고장 발송 대상 조회
, createWarningSndng = "/020/create.do" // 계고장 발송 등록
, warningSendingMain = "/030/main.do" // 계고장 발송 현황 메인 화면
, getWarningSendingList = "/030/list.do" // 계고장 발송 현황 목록 조회
, getWarningSendingInfo = "/040/info.do" // 계고장 발송 상세 대장 조회
, advanceNoticeTargetMain = "/050/main.do" // 사전통지 발송 대상 메인 화면
, getAdvanceNoticeTargetList = "/050/list.do" // 사전통지 발송 대상 목록 조회
, getAdvanceNoticeTargetInfo = "/060/info.do" // 사전통지 발송 대상 조회
, createAdvanceNoticeSndng = "/060/create.do" // 사전통지 발송 등록
, advanceNoticeSendingMain = "/070/main.do" // 사전통지 발송 현황 메인 화면
, getAdvanceNoticeSendingList = "/070/list.do" // 사전통지 발송 대상 목록 조회
, getAdvanceNoticeSendingInfo = "/080/info.do" // 사전통지 발송 상세 대장 조회
warningTargetMain = "/010/main.do" // 계고장 발송 대상 메인 화면
, getWarningTargetList = "/010/list.do" // 계고장 발송 대상 목록 조회
, getWarningTargetInfo = "/020/info.do" // 계고장 발송 대상 조회
, createWarningSndng = "/020/create.do" // 계고장 발송 등록
, warningSendingMain = "/030/main.do" // 계고장 발송 현황 메인 화면
, getWarningSendingList = "/030/list.do" // 계고장 발송 현황 목록 조회
, getWarningSendingInfo = "/040/info.do" // 계고장 발송 상세 대장 조회
, advanceNoticeTargetMain = "/050/main.do" // 사전통지 발송 대상 메인 화면
, getAdvanceNoticeTargetList = "/050/list.do" // 사전통지 발송 대상 목록 조회
, getAdvanceNoticeTargetInfo = "/060/info.do" // 사전통지 발송 대상 조회
, createAdvanceNoticeSndng = "/060/create.do" // 사전통지 발송 등록
, advanceNoticeSendingMain = "/070/main.do" // 사전통지 발송 현황 메인 화면
, getAdvanceNoticeSendingList = "/070/list.do" // 사전통지 발송 대상 목록 조회
, getAdvanceNoticeSendingInfo = "/080/info.do" // 사전통지 발송 상세 대장 조회
@ -172,7 +172,7 @@ public class Sndb01Controller extends ApplicationController {
*/
public ModelAndView createWarningSndng(Sndng sndng) {
boolean saved = false;
String retMessage = sndngService.createWarningSndng(sndng);
String retMessage = sndngService.createWrngSndng(sndng);
if (retMessage.contains("[S]")) {
saved = true;
@ -258,7 +258,7 @@ public class Sndb01Controller extends ApplicationController {
addCodes(commonCodes, mav, "FIM004", "FIM005", "FIM006", "FIM061", "FIM064");
return mav.addObject("pageName", "sndb01050") // View(jsp)에서 사용할 id 뒤에 붙일 suffix
.addObject("infoPrefix", "advntceSndngTrgt") // prefix
.addObject("infoPrefix", "advntceTrgt") // prefix
.addObject("sggCd", managedUser.getOrgID()) // 시군구 코드(SGG_CD)
.addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD)
.addObject("FIM004List", commonCodes.get("FIM004")) // 주정차위반 내역 코드(VLTN_CD)
@ -274,16 +274,16 @@ public class Sndb01Controller extends ApplicationController {
* @param req
* @return jsonView
* <pre><code> {
* "sndngList": [ ]
* "sndngStart":
* "sndngFetch":
* "sndngTotal":
* "sndngList": [ ]
* "sndngStart":
* "sndngFetch":
* "sndngTotal":
* }</code></pre>
*/
public ModelAndView getAdvanceNoticeTargetList(SndbQuery req) {
List<?> result = sndngService.getAdvntceSndngTrgtList(setFetchSize(req));
List<?> result = sndngService.getAdvntceTrgtList(setFetchSize(req));
return setCollectionInfo(new ModelAndView("jsonView"), result, "advntceSndngTrgt");
return setCollectionInfo(new ModelAndView("jsonView"), result, "advntceTrgt");
}
/** (sndb/sndb01/060-info) .
@ -294,10 +294,10 @@ public class Sndb01Controller extends ApplicationController {
* }</pre>
*/
public ModelAndView getAdvanceNoticeTargetInfo(SndbQuery req) {
List<DataObject> advntceSndngTrgts = sndngService.getAdvntceSndngTrgts(req);
List<DataObject> advntceTrgts = sndngService.getAdvntceTrgts(req);
DataObject taskInfo = taskInfoService.getTaskInfo(new TaskInfoQuery().setSggCd(req.getSggCd())
.setTaskSeCd(req.getTaskSeCd()));
// 사전통지 납기일자
DataObject taskInfo = taskInfoService.getTaskInfo(new TaskInfoQuery().setSggCd(req.getSggCd()).setTaskSeCd(req.getTaskSeCd()));
int advntceDaycnt = taskInfo.number("ADVNTCE_DAYCNT").intValue();
boolean json = jsonResponse();
@ -307,10 +307,10 @@ public class Sndb01Controller extends ApplicationController {
return mav.addObject("pageName", "sndb01060")
.addObject("sggCd", req.getSggCd())
.addObject("taskSeCd", req.getTaskSeCd())
.addObject("sndngSeCd", req.getSndngSeCd()) // 발송 구분 코드
.addObject("vltnCd", req.getVltnCd()) // 위반 코드
.addObject("advntceDaycnt", advntceDaycnt) // 사전통지 일수
.addObject("advntceSndngTrgtDtl", json ? advntceSndngTrgts : toJson(advntceSndngTrgts)) // 사전통지 발송 대상 정보
.addObject("sndngSeCd", req.getSndngSeCd()) // 발송 구분 코드
.addObject("vltnCd", req.getVltnCd()) // 위반 코드
.addObject("advntceDaycnt", advntceDaycnt) // 사전통지 일수
.addObject("advntceTrgtDtl", json ? advntceTrgts : toJson(advntceTrgts)) // 사전통지 발송 대상 정보
;
}
@ -323,7 +323,7 @@ public class Sndb01Controller extends ApplicationController {
*/
public ModelAndView createAdvanceNoticeSndng(Sndng sndng) {
boolean saved = false;
String retMessage = sndngService.createSndng(sndng);
String retMessage = sndngService.createAdvntceSndng(sndng);
if (retMessage.contains("[S]")) {
saved = true;
@ -368,7 +368,7 @@ public class Sndb01Controller extends ApplicationController {
* }</code></pre>
*/
public ModelAndView getAdvanceNoticeSendingList(SndbQuery req) {
List<?> result = sndngService.getSndngList(setFetchSize(req));
List<?> result = sndngService.getAdvntceSndngList(setFetchSize(req));
return setCollectionInfo(new ModelAndView("jsonView"), result, "advntceSndng");
}
@ -381,7 +381,7 @@ public class Sndb01Controller extends ApplicationController {
* }</pre>
*/
public ModelAndView getAdvanceNoticeSendingInfo(SndbQuery req) {
List<?> sndngDtls = sndngService.getSndngDtls(req);
List<?> sndngDtls = sndngService.getAdvntceSndngDtls(req);
boolean json = jsonResponse();
@ -402,6 +402,10 @@ public class Sndb01Controller extends ApplicationController {
/** (sndb/sndb01/090-main) .
*
* @return /sndb/sndb01/090-main

@ -0,0 +1,50 @@
package cokr.xit.fims.sndb.web;
import org.springframework.web.servlet.ModelAndView;
import cokr.xit.base.web.ApplicationController;
import cokr.xit.fims.sndb.NxrpMtchg;
/**
*
* <p> :
*
* <pre>
* ============ ============
* 2023-11-16 JoJH
* ================================
* </pre>
*/
public class Sndb02Controller extends ApplicationController {
public static final String CLASS_URL = "/sndb/sndb02";
public class METHOD_URL {
public static final String
createNonTaxReceiptMatching = "/010/create.do" // 세외수입 매핑 등록
;
}
/** .
* @param sndng
* @return jsonView
* <pre><code> {
* "saved": true, false
* }</code></pre>
*/
public ModelAndView createNonTaxReceiptMatching(NxrpMtchg nxrpMtchg) {
boolean saved = false;
String retMessage = "";
// String retMessage = sndngService.createWrngSndng(nxrpMtchg);
//
// if (retMessage.contains("[S]")) {
// saved = true;
// } else {
// saved = false;
// }
return new ModelAndView("jsonView")
.addObject("saved", saved)
.addObject("retMessage", retMessage);
}
}

@ -23,6 +23,7 @@ import cokr.xit.fims.payer.PayerQuery;
import cokr.xit.fims.sprt.CvlcptDscsn;
import cokr.xit.fims.sprt.CvlcptDscsnQuery;
import cokr.xit.fims.sprt.SprtQuery;
import cokr.xit.fims.sprt.web.Sprt02Controller.METHOD_URL;
@Controller
public class BpvController {
@ -565,6 +566,12 @@ public class BpvController {
@RequestMapping(name="전용차로과태료업무 업무지원_개별총정보", value=CLASS_URL+Sprt02Controller.CLASS_URL)
class Sprt02Controller extends cokr.xit.fims.sprt.web.Sprt02Controller {
@Override
@RequestMapping(name="장애인과태료업무 개별총정보 메인", value=METHOD_URL.indivTotalInfoMain)
public ModelAndView indivTotalInfoMain(SprtQuery req) {
return super.indivTotalInfoMain(req);
}
@Override
@RequestMapping(name="전용차로과태료업무 단속, 납부자 정보 조회", value=METHOD_URL.getCrdnPayerInfo)
public ModelAndView getCrdnPayerInfo(SprtQuery req) {

@ -7,7 +7,6 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import cokr.xit.fims.sprt.SprtQuery;
import cokr.xit.fims.sprt.web.Sprt02Controller.METHOD_URL;
import cokr.xit.fims.stat.StatQuery;
@Controller

@ -18,6 +18,7 @@ import cokr.xit.fims.levy.LevyQuery;
import cokr.xit.fims.levy.Rduct;
import cokr.xit.fims.payer.Payer;
import cokr.xit.fims.payer.PayerQuery;
import cokr.xit.fims.sndb.NxrpMtchg;
import cokr.xit.fims.sndb.SndbQuery;
import cokr.xit.fims.sndb.Sndng;
import cokr.xit.fims.sndb.SndngDtl;
@ -25,6 +26,7 @@ import cokr.xit.fims.sndb.Svbtc;
import cokr.xit.fims.sprt.CvlcptDscsn;
import cokr.xit.fims.sprt.CvlcptDscsnQuery;
import cokr.xit.fims.sprt.SprtQuery;
import cokr.xit.fims.sprt.web.Sprt02Controller.METHOD_URL;
@Controller
public class DpvController {
@ -683,6 +685,17 @@ public class DpvController {
}
@Controller
@RequestMapping(name="장애인과태료업무 세외수입 매핑", value=CLASS_URL+Sndb02Controller.CLASS_URL)
class Sndb02Controller extends cokr.xit.fims.sndb.web.Sndb02Controller {
@Override
@RequestMapping(name="세외수입 매핑 등록", value=METHOD_URL.createNonTaxReceiptMatching)
public ModelAndView createNonTaxReceiptMatching(NxrpMtchg nxrpMtchg) {
return super.createNonTaxReceiptMatching(nxrpMtchg);
}
}
@Controller
@RequestMapping(name="장애인과태료업무 수납", value=CLASS_URL+Rcvm01Controller.CLASS_URL)
class Rcvm01Controller extends cokr.xit.fims.rcvm.web.Rcvm01Controller {
@ -698,57 +711,63 @@ public class DpvController {
class Sprt02Controller extends cokr.xit.fims.sprt.web.Sprt02Controller {
@Override
@RequestMapping(name="장애인과태료업무 단속, 납부자 정보 조회", value=METHOD_URL.getCrdnPayerInfo)
@RequestMapping(name="장애인과태료업무 개별총정보 메인", value=METHOD_URL.indivTotalInfoMain)
public ModelAndView indivTotalInfoMain(SprtQuery req) {
return super.indivTotalInfoMain(req);
}
@Override
@RequestMapping(name="개별총정보 단속, 납부자 정보 조회", value=METHOD_URL.getCrdnPayerInfo)
public ModelAndView getCrdnPayerInfo(SprtQuery req) {
return super.getCrdnPayerInfo(req);
}
@Override
@RequestMapping(name="장애인과태료업무 단속 이미지 파일 정보 조회", value=METHOD_URL.getCrdnFileList)
@RequestMapping(name="개별총정보 단속 이미지 파일 정보 조회", value=METHOD_URL.getCrdnFileList)
public ModelAndView getCrdnFileList(SprtQuery req) {
return super.getCrdnFileList(req);
}
@Override
@RequestMapping(name="장애인과태료업무 단속 이미지 파일 저장", value=METHOD_URL.updateCrdnImageFile)
@RequestMapping(name="개별총정보 단속 이미지 파일 저장", value=METHOD_URL.updateCrdnImageFile)
public ModelAndView updateCrdnImageFile(Crdn crdn, MultipartFile[] newFileList) {
return super.updateCrdnImageFile(crdn, newFileList);
}
@Override
@RequestMapping(name="장애인과태료업무 단속 이미지 파일 삭제", value=METHOD_URL.removeCrdnImageFile)
@RequestMapping(name="개별총정보 단속 이미지 파일 삭제", value=METHOD_URL.removeCrdnImageFile)
public ModelAndView removeCrdnImageFile(String crdnId, String atchFileCnt, String... fileIDs) {
return super.removeCrdnImageFile(crdnId, atchFileCnt, fileIDs);
}
@Override
@RequestMapping(name="장애인과태료업무 의견제출 정보 조회", value=METHOD_URL.getOpnnSbmsnInfo)
@RequestMapping(name="개별총정보 의견제출 정보 조회", value=METHOD_URL.getOpnnSbmsnInfo)
public ModelAndView getOpnnSbmsnInfo(SprtQuery req) {
return super.getOpnnSbmsnInfo(req);
}
@Override
@RequestMapping(name="장애인과태료업무 발송, 반송 정보 조회", value=METHOD_URL.getSndngInfo)
@RequestMapping(name="개별총정보 발송, 반송 정보 조회", value=METHOD_URL.getSndngInfo)
public ModelAndView getSndngInfo(SprtQuery req) {
return super.getSndngInfo(req);
}
@Override
@RequestMapping(name="장애인과태료업무 처리 상세 정보 조회", value=METHOD_URL.getPrcsDtlInfo)
@RequestMapping(name="개별총정보 처리 상세 정보 조회", value=METHOD_URL.getPrcsDtlInfo)
public ModelAndView getPrcsDtlInfo(SprtQuery req) {
return super.getPrcsDtlInfo(req);
}
@Override
@RequestMapping(name="장애인과태료업무 부과, 체납 정보 조회", value=METHOD_URL.getLevyNpmntInfo)
@RequestMapping(name="개별총정보 부과, 체납 정보 조회", value=METHOD_URL.getLevyNpmntInfo)
public ModelAndView getLevyNpmntInfo(SprtQuery req) {
return super.getLevyNpmntInfo(req);
}
@Override
@RequestMapping(name="장애인과태료업무 수납 정보 조회", value=METHOD_URL.getRcvmtInfo)
@RequestMapping(name="개별총정보 수납 정보 조회", value=METHOD_URL.getRcvmtInfo)
public ModelAndView getRcvmtInfo(SprtQuery req) {
return super.getRcvmtInfo(req);
}
@Override
@RequestMapping(name="장애인과태료업무 민원 상담 정보 조회", value=METHOD_URL.getCvlcptDscsnInfo)
@RequestMapping(name="개별총정보 민원 상담 정보 조회", value=METHOD_URL.getCvlcptDscsnInfo)
public ModelAndView getCvlcptDscsnInfo(SprtQuery req) {
return super.getCvlcptDscsnInfo(req);
}

@ -21,6 +21,7 @@ import cokr.xit.fims.payer.PayerQuery;
import cokr.xit.fims.sprt.CvlcptDscsn;
import cokr.xit.fims.sprt.CvlcptDscsnQuery;
import cokr.xit.fims.sprt.SprtQuery;
import cokr.xit.fims.sprt.web.Sprt02Controller.METHOD_URL;
@Controller
public class EcaController {
@ -472,6 +473,12 @@ public class EcaController {
@RequestMapping(name="전기차과태료업무 업무지원_개별총정보", value=CLASS_URL+Sprt02Controller.CLASS_URL)
class Sprt02Controller extends cokr.xit.fims.sprt.web.Sprt02Controller {
@Override
@RequestMapping(name="장애인과태료업무 개별총정보 메인", value=METHOD_URL.indivTotalInfoMain)
public ModelAndView indivTotalInfoMain(SprtQuery req) {
return super.indivTotalInfoMain(req);
}
@Override
@RequestMapping(name="전기차과태료업무 단속, 납부자 정보 조회", value=METHOD_URL.getCrdnPayerInfo)
public ModelAndView getCrdnPayerInfo(SprtQuery req) {

@ -22,6 +22,7 @@ import cokr.xit.fims.payer.PayerQuery;
import cokr.xit.fims.sprt.CvlcptDscsn;
import cokr.xit.fims.sprt.CvlcptDscsnQuery;
import cokr.xit.fims.sprt.SprtQuery;
import cokr.xit.fims.sprt.web.Sprt02Controller.METHOD_URL;
@Controller
public class PvsController {
@ -535,6 +536,12 @@ public class PvsController {
@RequestMapping(name="주정차과태료업무 업무지원_개별총정보", value=CLASS_URL+Sprt02Controller.CLASS_URL)
class Sprt02Controller extends cokr.xit.fims.sprt.web.Sprt02Controller {
@Override
@RequestMapping(name="장애인과태료업무 개별총정보 메인", value=METHOD_URL.indivTotalInfoMain)
public ModelAndView indivTotalInfoMain(SprtQuery req) {
return super.indivTotalInfoMain(req);
}
@Override
@RequestMapping(name="주정차과태료업무 단속, 납부자 정보 조회", value=METHOD_URL.getCrdnPayerInfo)
public ModelAndView getCrdnPayerInfo(SprtQuery req) {

@ -624,18 +624,7 @@
<include refid="utility.orderBy" />
</select>
<sql id="selectAdvntceSndngTrgt">
<sql id="selectAdvntceTrgt">
, C.SGG_CD <!-- 시군구 코드 -->
, C.TASK_SE_CD <!-- 업무 구분 코드 -->
, (SELECT GET_CODE_NM('FIM054', C.TASK_SE_CD) FROM DUAL) AS TASK_SE_NM <!-- 업무 구분 명 -->
@ -813,19 +802,19 @@
</if>
</sql>
<select id="selectAdvntceSndngTrgtList" parameterType="map" resultType="dataobject">/* 사전통지 발송 대상 목록 조회(sndngMapper.selectAdvntceSndngTrgtList) */
<select id="selectAdvntceTrgtList" parameterType="map" resultType="dataobject">/* 사전통지 발송 대상 목록 조회(sndngMapper.selectAdvntceSndngTrgtList) */
<include refid="utility.paging-prefix" />
SELECT C.CRDN_ID <!-- 단속 ID -->
<include refid="selectAdvntceSndngTrgt" />
<include refid="selectAdvntceTrgt" />
<include refid="utility.orderBy" />
<include refid="utility.paging-suffix" />
</select>
<select id="selectAdvntceSndngTrgts" parameterType="map" resultType="dataobject">/* 사전통지 발송 대상 객체 가져오기(sndngMapper.selectAdvntceSndngTrgts) */
<select id="selectAdvntceTrgts" parameterType="map" resultType="dataobject">/* 사전통지 발송 대상 객체 가져오기(sndngMapper.selectAdvntceSndngTrgts) */
SELECT COUNT(*) OVER() AS TNOCS <!-- 총건수 -->
, SUM(C.FFNLG_AMT) OVER() AS GRAMT <!-- 총금액 -->
, C.CRDN_ID <!-- 단속 ID -->
<include refid="selectAdvntceSndngTrgt" />
<include refid="selectAdvntceTrgt" />
<include refid="utility.orderBy" />
</select>
@ -833,6 +822,15 @@
<insert id="insertSndng" parameterType="map">/* 발송 대장 등록(sndngMapper.insertSndng) */
<selectKey resultType="string" keyProperty="sndng.sndngId" keyColumn="NEW_ID" order="BEFORE">
SELECT CONCAT(DATE_FORMAT(CURRENT_DATE, '%Y'), LPAD(CAST(IFNULL(MAX(SUBSTRING(SNDNG_ID, 5)) + 1, 1) AS INT), 16, '0')) AS NEW_ID

@ -293,11 +293,11 @@
, dataGetter : obj => obj.levyExclList
, appendData : true
, tableRenderComplete : false // dataTables 에 자료 추가 완료 여부
// , urls : {
, urls : {
// load : wctx.url(${pageName}PrefixUrl + "/010/list.do") // 검색
// , remove : wctx.url(${pageName}PrefixUrl + "/010/removes.do") // 선택(체크) 자료 삭제
// , getInfo : wctx.url("/sprt/sprt02/010/main.do") // 개별총정보
// }
, getInfo : wctx.url("/sprt/sprt02/010/main.do") // 개별총정보
}
, formats : {
LEVY_EXCL_YMD : dateFormat
, CRDN_YMD_TM : datetimeFormat

@ -302,7 +302,10 @@
, keymapper : info => info ? info.OPNN_ID : ""
, dataGetter : obj => obj.opnnSbmsnList
, appendData : true
, tableRenderComplete : false // dataTables 에 자료 추가 완료 여부
, tableRenderComplete : false // dataTables 에 자료 추가 완료 여부
, urls : {
getInfo : wctx.url("/sprt/sprt02/010/main.do") // 개별총정보
}
, formats : {
RCPT_YMD : dateFormat
, ANS_YMD : dateFormat
@ -531,7 +534,6 @@
setURL${pageName} = (taskSeCd) => {
${pageName}Control.urls.load = wctx.url("/" + taskSeCd + ${pageName}PrefixUrl + "/010/list.do"); // 조회
${pageName}Control.urls.remove = wctx.url("/" + taskSeCd + ${pageName}PrefixUrl + "/010/removes.do"); // 삭제
${pageName}Control.urls.getInfo = wctx.url("/" + taskSeCd + "/sprt/sprt02/010/main.do"); // 개별총정보
}
/**************************************************************************

@ -236,6 +236,9 @@
, dataGetter : obj => obj.crdnReRegList
, appendData : true
, tableRenderComplete : false // dataTables 에 자료 추가 완료 여부
, urls : {
getInfo : wctx.url("/sprt/sprt02/010/main.do") // 개별총정보
}
, formats : {
RE_REG_YMD : dateFormat
, CRDN_YMD_TM : datetimeFormat
@ -286,8 +289,8 @@
}
let params = {
callControlName : callControlName
, crdnId : crdnId
callControlName : callControlName
, crdnId : crdnId
}
ajax.get({
@ -405,7 +408,6 @@
setURL${pageName} = (taskSeCd) => {
${pageName}Control.urls.load = wctx.url("/" + taskSeCd + ${pageName}PrefixUrl + "/010/list.do"); // 조회
${pageName}Control.urls.create = wctx.url("/" + taskSeCd + ${pageName}PrefixUrl + "/010/create.do"); // 등록
${pageName}Control.urls.getInfo = wctx.url("/" + taskSeCd + "/sprt/sprt02/010/main.do"); // 개별총정보
}
/**************************************************************************

@ -558,7 +558,7 @@
// URL 설정
setURL${pageName} = (taskSeCd) => {
${pageName}Control.urls.load = wctx.url("/" + taskSeCd + ${pageName}PrefixUrl + "/010/list.do"); // 조회
${pageName}Control.urls.load = wctx.url("/" + taskSeCd + ${pageName}PrefixUrl + "/010/list.do"); // 조회
}
/**************************************************************************

@ -207,8 +207,6 @@
let key = item.data.CRDN_ID;
$("#tbody--${pageName}").setCurrentRow(key);
${pageName}Control.urls.getInfo = wctx.url("/" + item.data.TASK_SE_CD + "/sprt/sprt02/010/main.do"); // 개별총정보
};
// 선택(체크) 변경 이벤트
@ -329,18 +327,12 @@
setForm${pageName} = () => {
// 달력 초기화
initDatepicker("frmEdit--${pageName}");
$("#sndngYmd--${pageName}").datepicker("setDate", new Date());
$("#dudtYmd--${pageName}").datepicker("setDate", new Date());
if ($("#sndngSeCd--${pageName}").val() == "11") {
$("#dudtYmd--${pageName}").val("");
$("#dudtYmd--${pageName}").prop("disabled", true);
$("#divDudtYmd--${pageName}").hide();
} else {
$("#dudtYmd--${pageName}").datepicker("setDate", new Date());
$("#dudtYmd--${pageName}").prop("disabled", false);
$("#divDudtYmd--${pageName}").show();
}
$("#dudtYmd--${pageName}").val("");
$("#dudtYmd--${pageName}").prop("disabled", true);
$("#divDudtYmd--${pageName}").hide();
}
/**************************************************************************

@ -145,7 +145,7 @@
</div>
<span class="container-window-btn-right">
<!-- 업무 버튼 -->
<button type="button" class="btn btn-primary w-px-120" id="btnAdvntceSndngTrgtInfo--${pageName}" title="발송대상 등록" onclick="${infoPrefix}Info${pageName}();">
<button type="button" class="btn btn-primary w-px-120" id="btnAdvntceTrgtInfo--${pageName}" title="발송대상 등록" onclick=" fnAdvntceTrgtInfo${pageName}();">
발송대상 등록
</button>
</span>
@ -267,23 +267,26 @@
// FormFields
var ${pageName}Fields = new FimsFormFields("#frmSearch--${pageName}");
// 공통 코드
var FIM004 = new CommonCodes(${FIM004}, true);
var FIM005 = new CommonCodes(${FIM005}, true);
var FIM006 = new CommonCodes(${FIM006}, true);
var FIM061 = new CommonCodes(${FIM061}, true);
var FIM064 = new CommonCodes(${FIM064}, true);
var FIM004 = new CommonCodes(${FIM004}, true); // 주정차위반 내역 코드
var FIM005 = new CommonCodes(${FIM005}, true); // 전용차로위반 내역 코드
var FIM006 = new CommonCodes(${FIM006}, true); // 장애인주차위반 내역 코드
var FIM061 = new CommonCodes(${FIM061}, true); // 전기차 충전구역 및 충전방해 위반 코드
var FIM064 = new CommonCodes(${FIM064}, true); // 화물자동차 밤샘주차 위반 코드
/**************************************************************************
* DatasetControl
**************************************************************************/
var ${pageName}Control = new DatasetControl({
prefix : "advntceSndngTrgt"
prefix : "advntceTrgt"
, prefixName : "사전통지 발송 대상"
, infoSize : "xxl"
, keymapper : info => info ? info.CRDN_ID : ""
, dataGetter : obj => obj.advntceSndngTrgtList
, dataGetter : obj => obj.advntceTrgtList
, appendData : true
, tableRenderComplete : false // dataTables 에 자료 추가 완료 여부
, urls : {
getInfo : wctx.url("/sprt/sprt02/010/main.do") // 개별총정보
}
, formats : {
CVLCPT_RCPT_YMD : dateFormat
, CRDN_YMD_TM : datetimeFormat
@ -385,7 +388,7 @@
}
// 사전통지 발송 등록 dialog -> callback 추가
getInfo${pageName} = (params) => {
getAdvntceTrgtInfo${pageName} = (params) => {
if (!params) return;
ajax.get({
@ -393,11 +396,11 @@
, data : params || {}
, success : resp => {
dialog.open({
id : ${pageName}Control.prefixed("Dialog")
id : "advntceTrgtDtlDialog"
, title : ${pageName}Control.prefixName + " 정보"
, content : resp
, size : "xl"
, onClose : () => { ${pageName}Control.load(${pageName}Control.query.pageNum); } // callback
, onClose : () => { ${pageName}Control.load(${pageName}Control.query.pageNum); } // callback
});
}
});
@ -521,8 +524,7 @@
// URL 설정
setURL${pageName} = (taskSeCd) => {
${pageName}Control.urls.load = wctx.url("/" + taskSeCd + ${pageName}PrefixUrl + "/050/list.do"); // 조회
${pageName}Control.urls.getInfo = wctx.url("/" + taskSeCd + "/sprt/sprt02/010/main.do"); // 개별총정보
${pageName}Control.urls.load = wctx.url("/" + taskSeCd + ${pageName}PrefixUrl + "/050/list.do"); // 조회
}
/**************************************************************************
@ -565,13 +567,13 @@
}
// 사전통지 발송 대상 등록 버튼 이벤트
${infoPrefix}Info${pageName} = () => {
fnAdvntceTrgtInfo${pageName} = () => {
let params = ${pageName}Fields.get();
params.callPurpose = "create";
params.sndngSeCd = "02"; // 발송 구분 코드 - 02 사전통지서
getInfo${pageName}(params);
getAdvntceTrgtInfo${pageName}(params);
}
/**************************************************************************

@ -163,12 +163,15 @@
* DatasetControl
**************************************************************************/
var ${pageName}Control = new DatasetControl({
prefix : "advntceSndngTrgtDtl"
prefix : "advntceTrgtDtl"
, prefixName : "발송 대상"
, keymapper : info => info ? info.CRDN_ID : ""
, dataGetter : obj => obj.advntceSndngTrgtDtlList
, appendData : true
, tableRenderComplete : false // dataTables 에 자료 추가 완료 여부
, urls : {
getInfo : wctx.url("/sprt/sprt02/010/main.do") // 개별총정보
}
, formats : {
TNOCS : numberFormat
, GRAMT : numberFormat
@ -200,8 +203,6 @@
let key = item.data.CRDN_ID;
$("#tbody--${pageName}").setCurrentRow(key);
${pageName}Control.urls.getInfo = wctx.url("/" + item.data.TASK_SE_CD + "/sprt/sprt02/010/main.do"); // 개별총정보
};
// 선택(체크) 변경 이벤트
@ -324,19 +325,7 @@
initDatepicker("frmEdit--${pageName}");
$("#sndngYmd--${pageName}").datepicker("setDate", new Date());
if ($("#sndngSeCd--${pageName}").val() == "01") { // 계고장
$("#dudtYmd--${pageName}").val("");
$("#dudtYmd--${pageName}").prop("disabled", true);
$("#divDudtYmd--${pageName}").hide();
} else if ($("#sndngSeCd--${pageName}").val() == "02") { // 사전통지 - 사전통지 일수(ADVNTCE_DAYCNT)
$("#dudtYmd--${pageName}").datepicker("setDate", DateUtil.getDateDay(${advntceDaycnt}).date);
$("#dudtYmd--${pageName}").prop("disabled", false);
$("#divDudtYmd--${pageName}").show();
} else {
$("#dudtYmd--${pageName}").datepicker("setDate", new Date());
$("#dudtYmd--${pageName}").prop("disabled", false);
$("#divDudtYmd--${pageName}").show();
}
$("#dudtYmd--${pageName}").datepicker("setDate", DateUtil.getDateDay(${advntceDaycnt}).date);
}
/**************************************************************************
@ -380,7 +369,7 @@
setForm${pageName}();
// Dataset 셋팅 - 화면이 열리면서 조회하는 경우 addData 하여 자료를 추가
${pageName}Control.addData(${advntceSndngTrgtDtl});
${pageName}Control.addData(${advntceTrgtDtl});
$("#tnocs--${pageName}").val(${pageName}Control.dataset.getValue("TNOCS")); // 총건수
$("#gramt--${pageName}").val(${pageName}Control.dataset.getValue("GRAMT")); // 총금액

@ -254,7 +254,7 @@
// 발송 상세
${pageName}Control.getInfo = (sndngId) => {
if (!sndngId) return;
if (typeof sndngId == "undefined" || sndngId == null || sndngId == "") return;
let params = {
callPurpose : "view"
@ -268,8 +268,8 @@
, data : params
, success : resp => {
dialog.open({
id : ${pageName}Control.prefixed("Dialog")
, title : "사전통지 세부 내용"
id : "advntceSndngDtlDialog"
, title : "사전통지 발송 상세 정보"
, content : resp
, size : ${pageName}Control.infoSize
});

@ -22,7 +22,7 @@
<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 type="button" class="btn btn-primary w-px-120" id="btnCreateNxrpMtchg--${pageName}" title="세외수입 등록" onclick="fnCreateNxrpMtchg${pageName}();">
세외수입 등록
</button>
<button type="button" class="btn btn-primary w-px-120" id="btnUpdateNxrpMtchg--${pageName}" title="매치정보 등록" onclick="fnUpdateNxrpMtchg${pageName}();">
@ -68,7 +68,6 @@
<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>
@ -96,7 +95,6 @@
<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>
@ -110,7 +108,7 @@
</template>
<template id="${infoPrefix}NotFound--${pageName}">
<tr class="odd">
<td valign="top" colspan="19" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
<td valign="top" colspan="18" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
</template>
</table>
@ -138,11 +136,14 @@
**************************************************************************/
var ${pageName}Control = new DatasetControl({
prefix : "advntceSndngDtl"
, prefixName : "발송 상세"
, prefixName : "사전통지 발송 상세 정보"
, keymapper : info => info ? info.SNDNG_DTL_ID : ""
, dataGetter : obj => obj.advntceSndngDtlList
, appendData : true
, tableRenderComplete : false // dataTables 에 자료 추가 완료 여부
, urls : {
getInfo : wctx.url("/sprt/sprt02/010/main.do") // 개별총정보
}
, formats : {
SNDNG_YMD : dateFormat
, DUDT_YMD : dateFormat
@ -174,8 +175,6 @@
let key = item.data.SNDNG_DTL_ID;
$("#tbody--${pageName}").setCurrentRow(key);
${pageName}Control.urls.getInfo = wctx.url("/" + item.data.TASK_SE_CD + "/sprt/sprt02/010/main.do"); // 개별총정보
};
// 선택(체크) 변경 이벤트
@ -239,7 +238,7 @@
}
// 세외수입 등록
createNxrp${pageName} = (params) => {
createNxrpMtchg${pageName} = (params) => {
// 선택된 자료의 발송 상세 ID 추가
let selected = ${pageName}Control.dataset.getKeys("selected");
@ -249,7 +248,7 @@
params.delYn = "N"; // 삭제 여부
ajax.post({
url : wctx.url("/" + params.taskSeCd + ${pageName}PrefixUrl + "/createNxrp.do")
url : wctx.url("/" + params.taskSeCd + ${pageName}PrefixUrl + "/createNxrpMtchg.do")
, data : params || {}
, success : resp => { }
});
@ -366,14 +365,14 @@
}
// 세외수입 등록
fnCreateNxrp${pageName} = () => {
fnCreateNxrpMtchg${pageName} = () => {
// validate 확인
if (!customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return;
dialog.alert({
content : "세외수입 과태료 대장에 등록하시겠습니까?"
, onOK : () => {
createNxrp${pageName}(${pageName}Fields.get());
createNxrpMtchg${pageName}(${pageName}Fields.get());
}
});
}

Loading…
Cancel
Save