diff --git a/src/main/java/cokr/xit/fims/excl/web/Excl01Controller.java b/src/main/java/cokr/xit/fims/excl/web/Excl01Controller.java
index 3ac15637..7d2a6712 100644
--- a/src/main/java/cokr/xit/fims/excl/web/Excl01Controller.java
+++ b/src/main/java/cokr/xit/fims/excl/web/Excl01Controller.java
@@ -91,7 +91,7 @@ public class Excl01Controller extends ApplicationController {
;
}
- /**부과제외 대장 목록을 조회하여 반환한다.
+ /**부과제외 대장 목록을 조회하여 반환한다.
* {@link LevyExclService#getLevyExclList(LevyExclQuery)} 참고
* @param req 부과제외 대장 조회 조건
* @return jsonView
diff --git a/src/main/java/cokr/xit/fims/sndb/SndbQuery.java b/src/main/java/cokr/xit/fims/sndb/SndbQuery.java
index 177630eb..81d62d23 100644
--- a/src/main/java/cokr/xit/fims/sndb/SndbQuery.java
+++ b/src/main/java/cokr/xit/fims/sndb/SndbQuery.java
@@ -17,53 +17,57 @@ public class SndbQuery extends CmmnQuery {
private static final long serialVersionUID = 1L;
// ID
- private String[] crdnIds; // 단속 Ids
- private String crdnId; // 단속 ID
- private String[] levyIds; // 부과 Ids
- private String levyId; // 부과 ID
- private String[] sndngIds; // 발송 Ids
- private String sndngId; // 발송 ID
- private String[] sndngDtlIds; // 발송 상세 Ids
- private String sndngDtlId; // 발송 상세 ID
- private String[] svbtcIds; // 공시송달 Ids
- private String svbtcId; // 공시송달 ID
+ private String[] crdnIds; // 단속 Ids
+ private String crdnId; // 단속 ID
+ private String[] levyIds; // 부과 Ids
+ private String levyId; // 부과 ID
+ private String[] sndngIds; // 발송 Ids
+ private String sndngId; // 발송 ID
+ private String[] sndngDtlIds; // 발송 상세 Ids
+ private String sndngDtlId; // 발송 상세 ID
+ private String[] svbtcIds; // 공시송달 Ids
+ private String svbtcId; // 공시송달 ID
// 검색 조건
- private String schLevyExclYmdFrom; // 부과제외_부과제외 일자 시작
- private String schLevyExclYmdTo; // 부과제외_부과제외 일자 종료
- private String schLevyExclSeCd; // 부과제외_부과제외 구분 코드
- private String schLevyExclRsnCd; // 부과제외_부과제외 사유 코드
- private String schVltnCd; // 위반 코드
- private String schCrdnYmdFrom; // 단속(TB_CRDN)_단속 일자 시작
- private String schCrdnYmdTo; // 단속(TB_CRDN)_단속 일자 종료
- private String schVhrno; // 단속(TB_CRDN)_차량번호
- private String schRtpyrNo; // 납부자(TB_PAYER)_납부자 번호
- private String schRtpyrNm; // 납부자(TB_PAYER)_납부자 명
- private String schSndngYmdFrom; // 발송(TB_SNDNG)_발송 일자 시작
- private String schSndngYmdTo; // 발송(TB_SNDNG)_발송 일자 종료
- private String schSndngRegSeCd; // 발송(TB_SNDNG)_발송 등록 구분 코드
- private String schDlvrYmdFrom; // 발송상세(TB_SNDNG_DTL)_배달 일자 시작
- private String schDlvrYmdTo; // 발송상세(TB_SNDNG_DTL)_배달 일자 종료
- private String schSvbtcYmdFrom; // 공시송달(TB_SVBTC)_공시송달 일자 시작
- private String schSvbtcYmdTo; // 공시송달(TB_SVBTC)_공시송달 일자 종료
- private String schSndngSeCd; // 발송, 발송상세(TB_SNDNG_DTL)_발송 구분 코드
- private String schUndlvrRsnCd; // 발송상세(TB_SNDNG_DTL)_미배달 사유 코드
- private String schChcRgIndct; // 선택 등기 표시
- private String schLevyYmd; // 부과(TB_LEVY)_부과일자
- private String schFrstDudtYmd; // 부과(TB_LEVY)_최초납기일자
- private String schFyr; // 부과(TB_LEVY)_회계연도
- private String schLevyNoFrom; // 부과(TB_LEVY)_부과번호 시작
- private String schLevyNoTo; // 부과(TB_LEVY)_부과번호 종료
+ private String schLevyExclYmdFrom; // 부과제외 일자 시작
+ private String schLevyExclYmdTo; // 부과제외 일자 종료
+ private String schLevyExclSeCd; // 부과제외 구분 코드
+ private String schLevyExclRsnCd; // 부과제외 사유 코드
+ private String schVltnCd; // 위반 코드
+ private String schCrdnYmdFrom; // 단속 일자 시작
+ private String schCrdnYmdTo; // 단속 일자 종료
+ private String schVhrno; // 차량번호
+ private String schRtpyrNo; // 납부자 번호
+ private String schRtpyrNm; // 납부자 명
+ private String schSndngRegSeCd; // 발송 등록 구분 코드
+ private String schSndngYmd; // 발송 일자
+ private String schSndngYmdFrom; // 발송 일자 시작
+ private String schSndngYmdTo; // 발송 일자 종료
+ private String schSndngSeCd; // 발송 구분 코드
+ private String schRcpnNm; // 수령인 명
+ private String schDlvrYmdFrom; // 배달 일자 시작
+ private String schDlvrYmdTo; // 배달 일자 종료
+ private String schRgNo; // 등기번호
+ private String schSvbtcYmdFrom; // 공시송달 일자 시작
+ private String schSvbtcYmdTo; // 공시송달 일자 종료
+ private String schUndlvrRsnCd; // 미배달 사유 코드
+ private String schChcRgIndct; // 선택 등기 표시
+ private String schLevyYmd; // 부과일자
+ private String schFrstDudtYmd; // 최초납기일자
+ private String schFyr; // 회계연도
+ private String schLevyNoFrom; // 부과번호 시작
+ private String schLevyNoTo; // 부과번호 종료
+
// 상세 검색 조건
// 동적 검색 조건
- private String levyExclSeCd; // 부과제외_부과 제외 구분 코드
- private String levyExclSeNm; // 부과제외_부과 제외 구분 명
+ private String levyExclSeCd; // 부과 제외 구분 코드
+ private String levyExclSeNm; // 부과 제외 구분 명
private String vltnCd; // 위반 코드
- private String vhrno; // 단속(TB_CRDN)_차량번호
- private String rtpyrNm; // 납부자(TB_PAYER)_납부자 명
- private String crdnSttsCd; // 단속(TB_CRDN)_단속 상태 코드
- private String crdnSttsCdFrom; // 단속(TB_CRDN)_단속 상태 코드 시작
- private String crdnSttsCdTo; // 단속(TB_CRDN)_단속 상태 코드 종료
+ private String vhrno; // 차량번호
+ private String rtpyrNm; // 납부자 명
+ private String crdnSttsCd; // 단속 상태 코드
+ private String crdnSttsCdFrom; // 단속 상태 코드 시작
+ private String crdnSttsCdTo; // 단속 상태 코드 종료
private String sndngSeCd; // 발송 구분 코드
private String sndngSeCdFrom; // 발송 구분 코드 시작
private String sndngSeCdTo; // 발송 구분 코드 종료
@@ -262,6 +266,24 @@ public class SndbQuery extends CmmnQuery {
return self();
}
+ public String getSchSndngRegSeCd() {
+ return ifEmpty(schSndngRegSeCd, () -> null);
+ }
+
+ public T setSchSndngRegSeCd(String schSndngRegSeCd) {
+ this.schSndngRegSeCd = schSndngRegSeCd;
+ return self();
+ }
+
+ public String getSchSndngYmd() {
+ return ifEmpty(schSndngYmd, () -> null);
+ }
+
+ public T setSchSndngYmd(String schSndngYmd) {
+ this.schSndngYmd = schSndngYmd;
+ return self();
+ }
+
public String getSchSndngYmdFrom() {
return ifEmpty(schSndngYmdFrom, () -> null);
}
@@ -280,12 +302,21 @@ public class SndbQuery extends CmmnQuery {
return self();
}
- public String getSchSndngRegSeCd() {
- return ifEmpty(schSndngRegSeCd, () -> null);
+ public String getSchSndngSeCd() {
+ return ifEmpty(schSndngSeCd, () -> null);
}
- public T setSchSndngRegSeCd(String schSndngRegSeCd) {
- this.schSndngRegSeCd = schSndngRegSeCd;
+ public T setSchSndngSeCd(String schSndngSeCd) {
+ this.schSndngSeCd = schSndngSeCd;
+ return self();
+ }
+
+ public String getSchRcpnNm() {
+ return ifEmpty(schRcpnNm, () -> null);
+ }
+
+ public T setSchRcpnNm(String schRcpnNm) {
+ this.schRcpnNm = schRcpnNm;
return self();
}
@@ -307,6 +338,15 @@ public class SndbQuery extends CmmnQuery {
return self();
}
+ public String getSchRgNo() {
+ return ifEmpty(schRgNo, () -> null);
+ }
+
+ public T setSchRgNo(String schRgNo) {
+ this.schRgNo = schRgNo;
+ return self();
+ }
+
public String getSchSvbtcYmdFrom() {
return ifEmpty(schSvbtcYmdFrom, () -> null);
}
@@ -327,15 +367,6 @@ public class SndbQuery extends CmmnQuery {
return self();
}
- public String getSchSndngSeCd() {
- return ifEmpty(schSndngSeCd, () -> null);
- }
-
- public T setSchSndngSeCd(String schSndngSeCd) {
- this.schSndngSeCd = schSndngSeCd;
- return self();
- }
-
public String getSchUndlvrRsnCd() {
return ifEmpty(schUndlvrRsnCd, () -> null);
}
diff --git a/src/main/java/cokr/xit/fims/sndb/web/Sndb01Controller.java b/src/main/java/cokr/xit/fims/sndb/web/Sndb01Controller.java
index dffd0ed9..84438f3f 100644
--- a/src/main/java/cokr/xit/fims/sndb/web/Sndb01Controller.java
+++ b/src/main/java/cokr/xit/fims/sndb/web/Sndb01Controller.java
@@ -103,7 +103,8 @@ public class Sndb01Controller extends ApplicationController {
, getNoticeSheetSendingDetailInfo = "/120/info.do" // 고지서 발송 현황 화면
, getNoticeSheetSendingDetailList = "/120/list.do" // 고지서 발송 현황 상세 목록 조회
- , unitySendBackTargetMain = "/210/main.do" // 통합 반송 등록 메인
+ , sendingDetailInfo = "/210/info.do" // 수기 반송 등록 상세
+ , getSendingDetailList = "/210/list.do" // 수기 반송 등록 조회
, sendBackMain = "/220/main.do" // 반송 현황 메인 화면
, getSendBackList = "/220/list.do" // 반송 현황 목록 조회
, removeSendBack = "/220/remove.do" // 반송 삭제
@@ -1256,6 +1257,107 @@ public class Sndb01Controller extends ApplicationController {
.addObject("rtnMsg", rtnMsg);
}
+ /**수기 반송 등록 정보(sndb/sndb01/210-info)을 연다.
+ *
+ * @return /sndb/sndb01/210-info
+ */
+ @Task
+ @RequestMapping(name = "수기 반송 등록 정보 조회", value = METHOD_URL.sendingDetailInfo)
+ public ModelAndView sendingDetailInfo() {
+ ModelAndView mav = new ModelAndView("fims/sndb/sndb01210-info");
+
+ // 사용자 정보
+ ManagedUser managedUser = (ManagedUser)currentUser().getUser();
+
+ // View(jsp)에서 사용할 공통코드를 조회
+ Map> commonCodes = getCodesOf("FIM047", "FIM054", "FIM081");
+
+ return mav
+ .addObject("pageName", "sndb01210") // View(jsp)에서 사용할 id 뒤에 붙일 suffix
+ .addObject("infoPrefix", "sndbkTrgt") // prefix
+ .addObject("infoPrefixUrl", CLASS_URL) // prefixUrl
+ .addObject("sggCd", managedUser.getOrgID()) // 시군구 코드(SGG_CD)
+ .addObject("taskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))) // 시군구에서 사용하는 업무 목록
+ .addObject("FIM047List", commonCodes.get("FIM047")) // 발송 구분 코드(SNDNG_SE_CD)
+ .addObject("FIM081List", commonCodes.get("FIM081")) // 미배달 사유 코드(UNDLVR_RSN_CD)
+ ;
+ }
+
+ /**발송 상세 대장 목록을 조회하여 반환한다
+ * {@link SndngService#getSndngList(SndngQuery)} 참고
+ * @param req 발송 대장 조회 조건
+ * @return jsonView
+ *
{
+ * "sndngDtlList": [발송상세 목록]
+ * "sndngDtlStart": 발송상세 목록 시작 인덱스
+ * "sndngDtlFetch": 한 번에 가져오는 발송상세 목록 수
+ * "sndngDtlTotal": 조회 결과 찾은 전체 발송상세 수
+ * }
+ */
+ @Task
+ @RequestMapping(name="반송 대상 목록 조회", value=METHOD_URL.getSendingDetailList)
+ public ModelAndView getSendingDetailList(SndbQuery req) {
+ if (!"xls".equals(req.getDownload())) {
+ List> result = sndngDtlService.getSndngDtlList(setFetchSize(req));
+ return setCollectionInfo(new ModelAndView("jsonView"), result, "sndbkTrgt");
+ } else {
+ // 현재 날짜 구하기
+ SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
+ String dateTime = dateFormat.format(System.currentTimeMillis());
+
+ List cellDefs = fromJson(req.getCellDefs(), CellDef.listType());
+
+ XLSWriter xlsx = new XLSWriter().worksheet(0);
+ Format format = new Format(xlsx);
+ CellStyle center = format.cellStyle(Style.CENTER);
+ CellStyle numeric = format.n_nn0();
+ CellStyle dateYMD = format.yyyy_mm_dd();
+ CellStyle dateDT = format.yyyy_mm_dd_hh_mm_ss();
+
+ List list = sndngDtlService.getSndngDtlList(req.setFetchSize(0));
+
+ Map valueMap = new HashMap();
+ valueMap.put("발송상태", format.of("SNDNG_DTL_STTS_NM").style(center));
+ valueMap.put("등기번호", format.of("RG_NO").style(center));
+ valueMap.put("발송일자", FormatMaker.yyyy_mm_dd(format, "SNDNG_YMD").style(dateYMD));
+ valueMap.put("발송종료일자", FormatMaker.yyyy_mm_dd(format, "SNDNG_END_YMD").style(dateYMD));
+ valueMap.put("성명", format.of("RCPN_NM"));
+ valueMap.put("우편번호", format.of("RCPN_ZIP").style(center));
+ valueMap.put("주소", format.of("RCPN_ADDR"));
+ valueMap.put("상세주소", format.of("RCPN_DTL_ADDR"));
+ valueMap.put("배달일자", FormatMaker.yyyy_mm_dd(format, "DLVR_YMD").style(dateYMD));
+ valueMap.put("배달시각", format.of("DLVR_TM").style(center));
+ valueMap.put("미배달사유", format.of("UNDLVR_RSN_NM"));
+ valueMap.put("수령인", format.of("ACTL_RCPN_NM"));
+ valueMap.put("수령인관계", format.of("RCPN_REL_NM"));
+ valueMap.put("단속일시", format.of("CRDN_DT").style(center));
+ valueMap.put("차량번호", format.of("VHRNO"));
+ valueMap.put("단속법정동", format.of("CRDN_STDG_NM"));
+ valueMap.put("단속장소", format.of("CRDN_PLC"));
+ valueMap.put("회계연도", format.of("FYR").style(center));
+ valueMap.put("부과번호", format.of("LEVY_NO").style(center));
+ valueMap.put("부과일자", FormatMaker.yyyy_mm_dd(format, "LEVY_YMD").style(dateYMD));
+ valueMap.put("납기일자", FormatMaker.yyyy_mm_dd(format, "DUDT_YMD").style(dateYMD));
+ valueMap.put("과태료금액", format.of("FFNLG_AMT").style(numeric));
+ valueMap.put("본세", format.of("PCPTAX").style(numeric));
+ valueMap.put("가산금", format.of("ADAMT").style(numeric));
+ valueMap.put("미납금액", format.of("SUM_AMT").style(numeric));
+ valueMap.put("등록일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "REG_DT").style(dateDT));
+ valueMap.put("등록사용자", format.of("RGTR_NM").style(center));
+ valueMap.put("수정일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "MDFCN_DT").style(dateDT));
+ valueMap.put("수정사용자", format.of("MDFR_NM").style(center));
+
+ CellDef.setValues(cellDefs, valueMap);
+
+ xlsx.cell(0, 0).value("사전통지 발송 상세").value(center).merge(0, cellDefs.size() - 1)
+ .cell(3, 0).rowValues(CellDef.header(cellDefs, () -> StyleMaker.headerStyle(xlsx)))
+ .cell(4, 0).values(list, CellDef.values(cellDefs.stream().map(i -> {if(i.getValue() instanceof Format) {i.setField(null);}; return i;}).toList()));
+
+ return new ModelAndView("downloadView")
+ .addObject("download", xlsx.getDownloadable().setFilename("사전통지발송상세" + "_목록_" + dateTime + ".xlsx"));
+ }
+ }
+
/**반송 현황 메인화면(sndb/sndb01/220-main)을 연다.
*
* @return /sndb/sndb01/220-main
@@ -1272,15 +1374,16 @@ public class Sndb01Controller extends ApplicationController {
addCodes(commonCodes, mav, "FIM004", "FIM005", "FIM006", "FIM061", "FIM064");
- return mav.addObject("pageName", "sndb01220") // View(jsp)에서 사용할 id 뒤에 붙일 suffix
+ return mav
+ .addObject("pageName", "sndb01220") // View(jsp)에서 사용할 id 뒤에 붙일 suffix
.addObject("infoPrefix", "sndbk") // prefix
+ .addObject("infoPrefixUrl", CLASS_URL) // prefixUrl
.addObject("sggCd", managedUser.getOrgID()) // 시군구 코드(SGG_CD)
.addObject("taskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))) // 시군구에서 사용하는 업무 목록
.addObject("FIM004List", commonCodes.get("FIM004")) // 주정차위반 내역 코드(VLTN_ID)
.addObject("FIM005List", commonCodes.get("FIM005")) // 전용차로위반 내역 코드(VLTN_ID)
.addObject("FIM006List", commonCodes.get("FIM006")) // 장애인주차위반 내역 코드(VLTN_ID)
.addObject("FIM047List", commonCodes.get("FIM047")) // 발송 구분 코드(SNDNG_SE_CD)
- .addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD)
.addObject("FIM061List", commonCodes.get("FIM061")) // 전기차 충전구역 및 충전방해 위반 코드(VLTN_ID)
.addObject("FIM064List", commonCodes.get("FIM064")) // 화물자동차 밤샘주차 위반 코드(VLTN_ID)
.addObject("FIM081List", commonCodes.get("FIM081")) // 미배달 사유 코드(UNDLVR_RSN_CD)
@@ -1369,8 +1472,7 @@ public class Sndb01Controller extends ApplicationController {
*/
@Task
@RequestMapping(name="발송상세의 반송(미배달) 정보 조회", value=METHOD_URL.getSendBackInfo)
- public ModelAndView getSendBackInfo(SndbQuery req) {
- //
+ public ModelAndView getSendBackInfo(HttpServletRequest hReq, SndbQuery req) {
DataObject info = sndngDtlService.getSndbkInfo(req);
// 등록을 호출하였지만 등록된 미배달 사유가 있는지 확인.
@@ -1382,17 +1484,20 @@ public class Sndb01Controller extends ApplicationController {
;
} else {
boolean json = jsonResponse();
-
ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/sndb/sndb01230-info");
// View(jsp)에서 사용할 공통코드를 조회
Map> commonCodes = getCodesOf("FIM054", "FIM081");
- return mav.addObject("pageName", "sndb01230")
- .addObject("callPurpose", req.getCallPurpose()) // 호출 용도
- .addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD)
- .addObject("FIM081List", commonCodes.get("FIM081")) // 미배달 사유 코드(UNDLVR_RSN_CD)
- .addObject("sndbkInfo", json ? info : toJson(info)) // 반송 정보
+ return mav
+ .addObject("openerPageName", hReq.getParameter("openerPageName")) // 호출한 Jsp PageName
+ .addObject("callPurpose", req.getCallPurpose()) // 호출 용도
+ .addObject("pageName", "sndb01230") // jsp pageName
+ .addObject("infoPrefix", "sndbk") // prefix
+ .addObject("infoPrefixUrl", CLASS_URL) // prefixUrl
+ .addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD)
+ .addObject("FIM081List", commonCodes.get("FIM081")) // 미배달 사유 코드(UNDLVR_RSN_CD)
+ .addObject("sndbkInfo", json ? info : toJson(info)) // 반송 정보
;
}
}
@@ -1858,7 +1963,6 @@ public class Sndb01Controller extends ApplicationController {
@Task
@RequestMapping(name="사전통지발송 현황 사전통지서 pdf 파일 생성", value=METHOD_URL.makeAdvntcePdf)
public ModelAndView makeAdvntcePdf(FimsPrintOption printOption, SndbQuery req) {
- //
ModelAndView mav = new ModelAndView("downloadView");
List list = sndngDtlService.getSndngTrgtDtlIds(req);
@@ -1885,22 +1989,19 @@ public class Sndb01Controller extends ApplicationController {
FileQuery fileQuery = new FileQuery();
fileQuery.setInfoType(Crdn.INF_TYPE);
fileQuery.setInfoKeys(crdnId);
- List fileInfoList = fileBean.getFileList(fileQuery);
- if(fileInfoList != null && fileInfoList.size() > 0) {
- for(int j=0; j fileInfoList = fileBean.getFileList(fileQuery);
+ if (fileInfoList != null && fileInfoList.size() > 0) {
+ for (int j=0; j mosSet = mediaBean.getMosaicList(fileInfoList.get(j).string("FILE_ID"));
- if(mosSet != null && !mosSet.isEmpty()) {
+ if (mosSet != null && !mosSet.isEmpty()) {
dataObject.set("MOS"+fileInfoList.get(j).string("FILE_ID"), mosSet);
}
-
}
-
}
-
}
}
@@ -1949,6 +2050,7 @@ public class Sndb01Controller extends ApplicationController {
Map result = pdfFormat.makeFile();
mav.addAllObjects(result);
+
return mav;
}
diff --git a/src/main/resources/sql/mapper/fims/sndb/sndngDtl-mapper.xml b/src/main/resources/sql/mapper/fims/sndb/sndngDtl-mapper.xml
index 0d574162..20568e46 100644
--- a/src/main/resources/sql/mapper/fims/sndb/sndngDtl-mapper.xml
+++ b/src/main/resources/sql/mapper/fims/sndb/sndngDtl-mapper.xml
@@ -242,6 +242,33 @@
AND SD.CRDN_ID = #{crdnId}
+
+
+ AND SD.SNDNG_SE_CD = #{sndngSeCd}
+
+
+ AND SD.SNDNG_YMD = #{schSndngYmd}
+
+
+ AND SD.RCPN_NM = #{schRcpnNm}
+
+
+ AND SD.RG_NO = #{schRgNo}
+
+
+ AND SD.VHRNO = #{schVhrno}
+
+
+ AND SD.FYR = #{schFyr}
+
+
+ AND SD.VHRNO = #{schVhrno}
+
+
+ AND SD.LEVY_NO =]]> #{schLevyNoFrom}
+
+
+ AND SD.LEVY_NO #{schLevyNoTo}
AND SD.DEL_YN = #{delYn}
@@ -255,21 +282,48 @@
- AND SD.SNDNG_DTL_ID IN (
+ AND SD.SNDNG_DTL_ID IN (
#{sndngDtlId}
)
- AND SD.SNDNG_DTL_ID = #{sndngDtlId}
+ AND SD.SNDNG_DTL_ID = #{sndngDtlId}
- AND SD.SNDNG_ID = #{sndngId}
+ AND SD.SNDNG_ID = #{sndngId}
- AND SD.CRDN_ID = #{crdnId}
+ AND SD.CRDN_ID = #{crdnId}
+
+
+ AND SD.SNDNG_SE_CD = #{sndngSeCd}
+
+
+ AND SD.SNDNG_YMD = #{schSndngYmd}
+
+
+ AND SD.RCPN_NM = #{schRcpnNm}
+
+
+ AND SD.RG_NO = #{schRgNo}
+
+
+ AND SD.VHRNO = #{schVhrno}
+
+
+ AND SD.FYR = #{schFyr}
+
+
+ AND SD.VHRNO = #{schVhrno}
+
+
+ AND SD.LEVY_NO =]]> #{schLevyNoFrom}
+
+
+ AND SD.LEVY_NO #{schLevyNoTo}
- AND SD.DEL_YN = #{delYn}
+ AND SD.DEL_YN = #{delYn}
diff --git a/src/main/resources/sql/mapper/fims/sndb/svbtc-mapper.xml b/src/main/resources/sql/mapper/fims/sndb/svbtc-mapper.xml
index fdce898b..95ca817c 100644
--- a/src/main/resources/sql/mapper/fims/sndb/svbtc-mapper.xml
+++ b/src/main/resources/sql/mapper/fims/sndb/svbtc-mapper.xml
@@ -373,8 +373,8 @@
UPDATE TB_SVBTC
SET SVBTC_YMD = #{svbtcYmd}
, SVBTC_END_YMD= #{svbtcEndYmd}
- , TTL_NM = #{ttlNm}
, DOC_NO = #{docNo}
+ , TTL_NM = #{ttlNm}
, ETC_CN = #{etcCn}
, TNOCS = #{tnocs}
, MDFCN_DT =
diff --git a/src/main/webapp/WEB-INF/jsp/fims/epst/epst02010-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/epst/epst02010-main.jsp
index 081d2b93..47040510 100644
--- a/src/main/webapp/WEB-INF/jsp/fims/epst/epst02010-main.jsp
+++ b/src/main/webapp/WEB-INF/jsp/fims/epst/epst02010-main.jsp
@@ -295,13 +295,13 @@
params.callPurpose = "create";
params.sggCd = $("#sggCd--${pageName}").val(); // 시군구 코드
- params.taskSeCd = $("input[name=taskSeCd]:checked").val(); // 업무 구분 코드
+ params.taskSeCd = $("#frmSearch--${pageName} input[name='taskSeCd']:checked").val(); // 업무 구분 코드
} else {
dialogTitle = $P.control.prefixName + " 수정";
params.callPurpose = "update";
params.sggCd = $("#sggCd--${pageName}").val(); // 시군구 코드
- params.taskSeCd = $("input[name=taskSeCd]:checked").val(); // 업무 구분 코드
+ params.taskSeCd = $("#frmSearch--${pageName} input[name='taskSeCd']:checked").val(); // 업무 구분 코드
params.gdccId = gdccId;
}
@@ -321,7 +321,7 @@
}
// 삭제 callback
- $P.control.onRemove = (selected, resp) => {
+ $P.control.onRemove = (resp) => {
let btnTitle = $("#btnRemove--${pageName}").attr("title");
let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, btnTitle);
@@ -336,21 +336,12 @@
// 삭제
$P.control.remove = (params) => {
- let selected = $P.control.dataset.getKeys("selected");
-
- if (selected.length < 1) return;
-
- if (!params) {
- params = {};
- params["GdccIds"] = selected.join(","); // params[$P.control.prefixed("IDs")] = selected.join(",");
- params.sggCd = $("#sggCd--${pageName}").val(); // 시군구 코드
- params.taskSeCd = $("input[name=taskSeCd]:checked").val(); // 업무 구분 코드
- }
+ if (!params) return;
ajax.post({
url: wctx.url("/" + params.taskSeCd + "${infoPrefixUrl}" + "/010/remove.do")
, data: params || {}
- , success: resp => $P.control.onRemove(selected, resp)
+ , success: resp => $P.control.onRemove(resp)
});
}
@@ -499,10 +490,19 @@
// 삭제 버튼 이벤트
$P.fnRemove = (title) => {
+ let selected = $P.control.dataset.getKeys("selected");
+
+ if (selected.length < 1) return;
+
+ let params = {};
+ params.sggCd = $("#sggCd--${pageName}").val(); // 시군구 코드
+ params.taskSeCd = $("#frmSearch--${pageName} input[name='taskSeCd']:checked").val(); // 업무 구분 코드
+ params["GdccIds"] = selected.join(","); // params[$P.control.prefixed("IDs")] = selected.join(",");
+
dialog.alert({
content: "선택한 " + $P.control.prefixName + " 정보를 삭제하시겠습니까?"
, onOK: () => {
- $P.control.remove();
+ $P.control.remove(params);
}
});
}
diff --git a/src/main/webapp/WEB-INF/jsp/fims/epst/epst02030-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/epst/epst02030-main.jsp
index 05c84dbf..1ad3b2e9 100644
--- a/src/main/webapp/WEB-INF/jsp/fims/epst/epst02030-main.jsp
+++ b/src/main/webapp/WEB-INF/jsp/fims/epst/epst02030-main.jsp
@@ -384,9 +384,9 @@
let params = {
callPurpose: callPurpose
- , sggCd: $("#sggCd--${pageName}").val()
- , taskSeCd: $("input[name=taskSeCd]:checked").val()
- , conKey: conKey
+ , sggCd: $("#sggCd--${pageName}").val() // 시군구 코드
+ , taskSeCd: $("#frmSearch--${pageName} input[name='taskSeCd']:checked").val() // 업무 구분 코드
+ , conKey: conKey //
}
let dialogTitle = "";
@@ -462,7 +462,7 @@
params = {};
params["conKeys"] = selected.join(","); // params[$P.control.prefixed("IDs")] = selected.join(",");
params.sggCd = $("#sggCd--${pageName}").val(); // 시군구 코드
- params.taskSeCd = $("input[name=taskSeCd]:checked").val(); // 업무 구분 코드
+ params.taskSeCd = $("#frmSearch--${pageName} input[name='taskSeCd']:checked").val(); // 업무 구분 코드
}
ajax.post({
diff --git a/src/main/webapp/WEB-INF/jsp/fims/excl/excl01010-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/excl/excl01010-main.jsp
index ac5dfd46..0a36e1b4 100644
--- a/src/main/webapp/WEB-INF/jsp/fims/excl/excl01010-main.jsp
+++ b/src/main/webapp/WEB-INF/jsp/fims/excl/excl01010-main.jsp
@@ -535,7 +535,7 @@
let selected = $P.control.dataset.getKeys("selected");
params.sggCd = $("#sggCd--${pageName}").val(); // 시군구 코드
- params.taskSeCd = $("input[name=taskSeCd]:checked").val(); // 업무 구분 코드
+ params.taskSeCd = $("#frmSearch--${pageName} input[name='taskSeCd']:checked").val(); // 업무 구분 코드
params[$P.control.prefixed("Ids")] = selected.join(","); // 부과 제외 IDs
params.delRsn = obj.reason; // 삭제 사유
diff --git a/src/main/webapp/WEB-INF/jsp/fims/excl/excl02010-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/excl/excl02010-main.jsp
index 366cca19..763bfaa5 100644
--- a/src/main/webapp/WEB-INF/jsp/fims/excl/excl02010-main.jsp
+++ b/src/main/webapp/WEB-INF/jsp/fims/excl/excl02010-main.jsp
@@ -189,8 +189,8 @@
+
-
@@ -588,7 +588,7 @@
params[$P.control.prefixed("Ids")] = selected.join(","); // IDs
params.sggCd = $("#sggCd--${pageName}").val(); // 시군구 코드
- params.taskSeCd = $("input[name=taskSeCd]:checked").val(); // 업무 구분 코드
+ params.taskSeCd = $("#frmSearch--${pageName} input[name='taskSeCd']:checked").val(); // 업무 구분 코드
params.delRsn = obj.reason; // 삭제 사유
$P.control.remove(params);
@@ -683,7 +683,7 @@
title: title
, callPurpose: "update" // 호출용도: 수정
, sggCd: $("#sggCd--${pageName}").val() // 시군구 코드
- , taskSeCd: $("input[name=taskSeCd]:checked").val() // 업무 구분 코드
+ , taskSeCd: $("#frmSearch--${pageName} input[name='taskSeCd']:checked").val() // 업무 구분 코드
};
ajax.get({
diff --git a/src/main/webapp/WEB-INF/jsp/fims/levy/levy01010-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/levy/levy01010-main.jsp
index d788bb16..c519f1a7 100644
--- a/src/main/webapp/WEB-INF/jsp/fims/levy/levy01010-main.jsp
+++ b/src/main/webapp/WEB-INF/jsp/fims/levy/levy01010-main.jsp
@@ -607,7 +607,7 @@
params.title = title; // 타이틀
params.callPurpose = "create"; // 호출 용도 (등록)
params.sggCd = $("#sggCd--${pageName}").val(); // 시군구 코드
- params.taskSeCd = $("input[name=taskSeCd]:checked").val(); // 업무 구분 코드
+ params.taskSeCd = $("#frmSearch--${pageName} input[name='taskSeCd']:checked").val(); // 업무 구분 코드
params.tnocs = tnocs; // 총 건수
params.gramtFfnlgAmt = gramtFfnlgAmt; // 총 과태료 금액
params.gramtAdvntceAmt = gramtAdvntceAmt; // 총 사전 감경 금액
@@ -632,7 +632,7 @@
params.title = title; // 타이틀
params.callPurpose = "create"; // 호출 용도 (등록)
params.sggCd = $("#sggCd--${pageName}").val(); // 시군구 코드
- params.taskSeCd = $("input[name=taskSeCd]:checked").val(); // 업무 구분 코드
+ params.taskSeCd = $("#frmSearch--${pageName} input[name='taskSeCd']:checked").val(); // 업무 구분 코드
params.tnocs = $P.control.dataset.getValue("TNOCS"); // 총 건수
params.gramtFfnlgAmt = $P.control.dataset.getValue("GRAMT_FFNLG_AMT"); // 총 과태료 금액
params.gramtAdvntceAmt = $P.control.dataset.getValue("GRAMT_ADVNTCE_AMT"); // 총 사전 감경 금액
diff --git a/src/main/webapp/WEB-INF/jsp/fims/levy/levy02010-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/levy/levy02010-main.jsp
index 9d498419..130b1bc8 100644
--- a/src/main/webapp/WEB-INF/jsp/fims/levy/levy02010-main.jsp
+++ b/src/main/webapp/WEB-INF/jsp/fims/levy/levy02010-main.jsp
@@ -499,7 +499,7 @@
params[$P.control.prefixed("Ids")] = selected.join(","); // IDs
params.sggCd = $("#sggCd--${pageName}").val(); // 시군구 코드
- params.taskSeCd = $("input[name=taskSeCd]:checked").val(); // 업무 구분 코드
+ params.taskSeCd = $("#frmSearch--${pageName} input[name='taskSeCd']:checked").val(); // 업무 구분 코드
params.delRsn = obj.reason; // 삭제 사유
$P.control.remove(params);
diff --git a/src/main/webapp/WEB-INF/jsp/fims/rcvm/rcvm01010-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/rcvm/rcvm01010-main.jsp
index 4ed00feb..3db7b414 100644
--- a/src/main/webapp/WEB-INF/jsp/fims/rcvm/rcvm01010-main.jsp
+++ b/src/main/webapp/WEB-INF/jsp/fims/rcvm/rcvm01010-main.jsp
@@ -573,7 +573,7 @@
params[$P.control.prefixed("Ids")] = selected.join(","); // IDs
params.sggCd = $("#sggCd--${pageName}").val(); // 시군구 코드
- params.taskSeCd = $("input[name=taskSeCd]:checked").val(); // 업무 구분 코드
+ params.taskSeCd = $("#frmSearch--${pageName} input[name='taskSeCd']:checked").val(); // 업무 구분 코드
params.delRsn = obj.reason; // 삭제 사유
$P.control.remove(params);
diff --git a/src/main/webapp/WEB-INF/jsp/fims/rdca/rdca01010-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/rdca/rdca01010-main.jsp
index 28b6b276..85482f90 100644
--- a/src/main/webapp/WEB-INF/jsp/fims/rdca/rdca01010-main.jsp
+++ b/src/main/webapp/WEB-INF/jsp/fims/rdca/rdca01010-main.jsp
@@ -512,10 +512,10 @@
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
let params = {
- callControlName : "pageObject['${pageName}'].control"
- , sggCd : $("#sggCd--${pageName}").val()
- , taskSeCd : $("input[name=taskSeCd]:checked").val()
- , crdnId : crdnId
+ callControlName: "pageObject['${pageName}'].control"
+ , sggCd: $("#sggCd--${pageName}").val() // 시군구 코드
+ , taskSeCd: $("#frmSearch--${pageName} input[name='taskSeCd']:checked").val() // 업무 구분 코드
+ , crdnId: crdnId
}
ajax.get({
diff --git a/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01010-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01010-main.jsp
index 86b8af5e..843982d8 100644
--- a/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01010-main.jsp
+++ b/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01010-main.jsp
@@ -631,14 +631,6 @@
// 선택 발송대상 등록 버튼 이벤트
$P.fnCreateSlctnTrgtInfo = () => {
- if ($P.control.dataset.empty) {
- dialog.alert({
- content: "검색된 자료가 없습니다."
- , onOK: () => { }
- });
- return;
- }
-
// 선택 자료
let selected = $P.control.dataset.getKeys("selected");
diff --git a/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01030-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01030-main.jsp
index f3a87bc6..cc30e377 100644
--- a/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01030-main.jsp
+++ b/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01030-main.jsp
@@ -326,7 +326,7 @@
, callPurpose: "view" // 호출 용도
, pageNum: 1 // 페이지 번호
, sggCd: $("#sggCd--${pageName}").val() // 시군구 코드
- , taskSeCd: $("input[name=taskSeCd]:checked").val() // 업무 구분 코드
+ , taskSeCd: $("#frmSearch--${pageName} input[name='taskSeCd']:checked").val() // 업무 구분 코드
, sndngId: sndngId // 발송 ID
}
@@ -446,7 +446,7 @@
params[$P.control.prefixed("Ids")] = selected.join(","); // IDs
params.sggCd = $("#sggCd--${pageName}").val(); // 시군구 코드
- params.taskSeCd = $("input[name=taskSeCd]:checked").val(); // 업무 구분 코드
+ params.taskSeCd = $("#frmSearch--${pageName} input[name='taskSeCd']:checked").val(); // 업무 구분 코드
params.delRsn = obj.reason; // 삭제 사유
$P.control.remove(params);
diff --git a/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01050-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01050-main.jsp
index 384fefce..81801a63 100644
--- a/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01050-main.jsp
+++ b/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01050-main.jsp
@@ -280,11 +280,11 @@
pageObject["${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); // 화물자동차 밤샘주차 위반 코드
/**************************************************************************
* script 진입
@@ -543,7 +543,7 @@
$P.control.query.fetchSize = $P.control.defaultFetchSize; // 한번에 조회되는 자료 건수
// 업무 구분 코드(TASK_SE_CD) 에 따른 검색 조건 설정
- let taskSeCd = $("input[name=taskSeCd]:checked").val();
+ let taskSeCd = $("#frmSearch--${pageName} input[name='taskSeCd']:checked").val();
if (taskSeCd == "BPV" || taskSeCd == "PVS") { // 전용차로위반 , 주정차위반 과태료는 사전부과 후 의견제출 접수도 사전통지 대상
$P.control.query.crdnSttsCdFrom = "21"; // 단속 처리 상태(FIM010) 시작 - 21: 납부자 등록
$P.control.query.crdnSttsCdTo = "31"; // 단속 처리 상태(FIM010) 종료 - 31: 의견제출 접수
@@ -576,14 +576,6 @@
// 선택 발송대상 등록 버튼 이벤트
$P.fnCreateSlctnTrgtInfo = (title) => {
- if ($P.control.dataset.empty) {
- dialog.alert({
- content: "검색된 자료가 없습니다."
- , onOK: () => { }
- });
- return;
- }
-
// 선택 자료
let selected = $P.control.dataset.getKeys("selected");
diff --git a/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01070-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01070-main.jsp
index 30178401..3300fb62 100644
--- a/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01070-main.jsp
+++ b/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01070-main.jsp
@@ -327,7 +327,7 @@
, callPurpose: "view" // 호출 용도
, pageNum: 1 // 페이지 번호
, sggCd: $("#sggCd--${pageName}").val() // 시군구 코드
- , taskSeCd: $("input[name=taskSeCd]:checked").val() // 업무 구분 코드
+ , taskSeCd: $("#frmSearch--${pageName} input[name='taskSeCd']:checked").val() // 업무 구분 코드
, sndngId: sndngId // 발송 ID
}
@@ -447,7 +447,7 @@
params[$P.control.prefixed("Ids")] = selected.join(","); // IDs
params.sggCd = $("#sggCd--${pageName}").val(); // 시군구 코드
- params.taskSeCd = $("input[name=taskSeCd]:checked").val(); // 업무 구분 코드
+ params.taskSeCd = $("#frmSearch--${pageName} input[name='taskSeCd']:checked").val(); // 업무 구분 코드
params.delRsn = obj.reason; // 삭제 사유
$P.control.remove(params);
diff --git a/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01080-info.jsp b/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01080-info.jsp
index edd8ecb0..9d6246a3 100644
--- a/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01080-info.jsp
+++ b/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01080-info.jsp
@@ -499,13 +499,14 @@
if (!customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return;
let submitParam = {
- sggCd: $P.control.dataset.getValue("SGG_CD")
- , taskSeCd: $P.control.dataset.getValue("TASK_SE_CD")
+ sggCd: $P.control.dataset.getValue("SGG_CD") // 시군구 코드
+ , taskSeCd: $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, sndngId: $P.control.dataset.getValue("SNDNG_ID") // 발송 ID
};
let url = "";
let fileTypeName = "";
+
if (fileType == "pdf") {
url = wctx.url("/" + submitParam.taskSeCd + "${infoPrefixUrl}" + "/080/makeAdvntcePdf.do");
fileTypeName = "PDF 파일";
diff --git a/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01090-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01090-main.jsp
index 9382e403..91213567 100644
--- a/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01090-main.jsp
+++ b/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01090-main.jsp
@@ -438,7 +438,7 @@
let params = {
callControlName : "pageObject['${pageName}'].control"
, sggCd : $("#sggCd--${pageName}").val()
- , taskSeCd : $("input[name=taskSeCd]:checked").val()
+ , taskSeCd : $("#frmSearch--${pageName} input[name='taskSeCd']:checked").val()
, crdnId : crdnId
}
diff --git a/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01110-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01110-main.jsp
index d8502341..5971c94e 100644
--- a/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01110-main.jsp
+++ b/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01110-main.jsp
@@ -549,7 +549,7 @@
callPurpose: "create"
, title: title // 타이틀
, sggCd: $("#sggCd--${pageName}").val() // 시군구 코드
- , taskSeCd: $("input[name=taskSeCd]:checked").val() // 업무 구분 코드
+ , taskSeCd: $("#frmSearch--${pageName} input[name='taskSeCd']:checked").val() // 업무 구분 코드
};
$P.getNhtSndngInfo(params);
diff --git a/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01210-info.jsp b/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01210-info.jsp
new file mode 100644
index 00000000..bf0afa8f
--- /dev/null
+++ b/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01210-info.jsp
@@ -0,0 +1,650 @@
+<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false" session="false"%>
+<%@ include file="/WEB-INF/jsp/include/taglib.jsp"%>
+
+통합 반송 등록
+
+
+