|
|
|
@ -51,7 +51,7 @@ public class Sndb01Controller extends ApplicationController {
|
|
|
|
|
, createWarningSendingList = "/020/createList.do" // 계고장 발송 등록
|
|
|
|
|
, warningSendingMain = "/030/main.do" // 계고장 발송 현황 메인 화면
|
|
|
|
|
, getWarningSendingList = "/030/list.do" // 계고장 발송 현황 목록 조회
|
|
|
|
|
, getWarningSendingInfo = "/040/info.do" // 계고장 발송 상세 화면
|
|
|
|
|
, getWarningSendingInfo = "/040/info.do" // 계고장 발송 현황 상세 화면
|
|
|
|
|
, getWarningSendingDetailsList = "/040/list.do" // 계고장 발송 현황 상세 목록 조회
|
|
|
|
|
, advanceNoticeTargetMain = "/050/main.do" // 사전통지 발송 대상 메인 화면
|
|
|
|
|
, getAdvanceNoticeTargetList = "/050/list.do" // 사전통지 발송 대상 목록 조회
|
|
|
|
@ -59,11 +59,13 @@ public class Sndb01Controller extends ApplicationController {
|
|
|
|
|
, createAdvanceNoticeSendingList = "/060/createList.do" // 사전통지 발송 등록
|
|
|
|
|
, advanceNoticeSendingMain = "/070/main.do" // 사전통지 발송 현황 메인 화면
|
|
|
|
|
, getAdvanceNoticeSendingList = "/070/list.do" // 사전통지 발송 대상 목록 조회
|
|
|
|
|
, getAdvanceNoticeSendingInfo = "/080/info.do" // 사전통지 발송 상세 화면
|
|
|
|
|
, getAdvanceNoticeSendingInfo = "/080/info.do" // 사전통지 발송 현황 상세 화면
|
|
|
|
|
, getAdvanceNoticeSendingDetailsList= "/080/list.do" // 사전통지 발송 현황 상세 목록 조회
|
|
|
|
|
, noticeSheetSendingMain = "/090/main.do" // 고지서 발송 현황 메인 화면
|
|
|
|
|
, getNoticeSheetSendingList = "/090/list.do" // 고지서 발송 대상 목록 조회
|
|
|
|
|
, getNoticeSheetSendingInfo = "/100/info.do" // 고지서 발송 상세 대장 조회
|
|
|
|
|
, getNoticeSheetSendingInfo = "/100/info.do" // 고지서 발송 현황 상세 화면
|
|
|
|
|
, getNoticeSheetSendingDetailsList = "/100/list.do" // 고지서 발송 현황 상세 목록 조회
|
|
|
|
|
|
|
|
|
|
, noticeSheetSendingTargetInfo = "/110/info.do" // 고지서 발송 대상 화면
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -373,7 +375,7 @@ public class Sndb01Controller extends ApplicationController {
|
|
|
|
|
*/
|
|
|
|
|
public ModelAndView getWarningSendingDetailsList(SndbQuery req) {
|
|
|
|
|
if (!"xls".equals(req.getDownload())) {
|
|
|
|
|
List<?> result = sndngDtlService.getWrngSndngDtlList(setFetchSize(req));
|
|
|
|
|
List<?> result = sndngDtlService.getSndngDtlList(setFetchSize(req));
|
|
|
|
|
return setCollectionInfo(new ModelAndView("jsonView"), result, "wrngSndngDtl");
|
|
|
|
|
} else {
|
|
|
|
|
// 현재 날짜 구하기
|
|
|
|
@ -392,7 +394,7 @@ public class Sndb01Controller extends ApplicationController {
|
|
|
|
|
CellStyle dateYMD = xlsx.yyyy_mm_dd(); // 연월일
|
|
|
|
|
CellStyle dateDT = xlsx.yyyy_mm_dd_hh_mm_ss(); // 연월일+시간
|
|
|
|
|
|
|
|
|
|
List<DataObject> list = sndngDtlService.getWrngSndngDtlList(req.setFetchSize(0));
|
|
|
|
|
List<DataObject> list = sndngDtlService.getSndngDtlList(req.setFetchSize(0));
|
|
|
|
|
|
|
|
|
|
CellDef.setValues(cellDefs, Map.ofEntries(
|
|
|
|
|
Map.entry("발송상태", xlsx.style("SNDNG_DTL_STTS_NM", center))
|
|
|
|
@ -411,6 +413,7 @@ public class Sndb01Controller extends ApplicationController {
|
|
|
|
|
, Map.entry("수령인관계", "RCPN_REL_NM")
|
|
|
|
|
, Map.entry("단속일시", xlsx.style("CRDN_DT", center))
|
|
|
|
|
, Map.entry("차량번호", "VHRNO")
|
|
|
|
|
, Map.entry("단속법정동", "CRDN_STDG_NM")
|
|
|
|
|
, Map.entry("단속장소", "CRDN_PLC")
|
|
|
|
|
, Map.entry("과태료금액", xlsx.style("FFNLG_AMT", numeric))
|
|
|
|
|
, Map.entry("등록일시", xlsx.format(o -> xlsx.str2datetime(o.get("REG_DT"))).style(dateDT))
|
|
|
|
@ -706,7 +709,7 @@ public class Sndb01Controller extends ApplicationController {
|
|
|
|
|
*/
|
|
|
|
|
public ModelAndView getAdvanceNoticeSendingDetailsList(SndbQuery req) {
|
|
|
|
|
if (!"xls".equals(req.getDownload())) {
|
|
|
|
|
List<?> result = sndngDtlService.getAdvntceSndngDtlList(setFetchSize(req));
|
|
|
|
|
List<?> result = sndngDtlService.getSndngDtlList(setFetchSize(req));
|
|
|
|
|
return setCollectionInfo(new ModelAndView("jsonView"), result, "advntceSndngDtl");
|
|
|
|
|
} else {
|
|
|
|
|
// 현재 날짜 구하기
|
|
|
|
@ -725,13 +728,13 @@ public class Sndb01Controller extends ApplicationController {
|
|
|
|
|
CellStyle dateYMD = xlsx.yyyy_mm_dd(); // 연월일
|
|
|
|
|
CellStyle dateDT = xlsx.yyyy_mm_dd_hh_mm_ss(); // 연월일+시간
|
|
|
|
|
|
|
|
|
|
List<DataObject> list = sndngDtlService.getAdvntceSndngDtlList(req.setFetchSize(0));
|
|
|
|
|
List<DataObject> list = sndngDtlService.getSndngDtlList(req.setFetchSize(0));
|
|
|
|
|
|
|
|
|
|
CellDef.setValues(cellDefs, Map.ofEntries(
|
|
|
|
|
Map.entry("발송상태", xlsx.style("SNDNG_DTL_STTS_NM", center))
|
|
|
|
|
, Map.entry("등기번호", xlsx.style("RG_NO", center))
|
|
|
|
|
, Map.entry("발송일자", xlsx.format(o -> xlsx.str2date(o.get("SNDNG_YMD"))).style(dateYMD))
|
|
|
|
|
, Map.entry("납기일자", xlsx.format(o -> xlsx.str2date(o.get("SNDNG_END_YMD"))).style(dateYMD))
|
|
|
|
|
, Map.entry("발송종료일자", xlsx.format(o -> xlsx.str2date(o.get("SNDNG_END_YMD"))).style(dateYMD))
|
|
|
|
|
, Map.entry("납부자명", "RTPYR_NM")
|
|
|
|
|
, Map.entry("납부자생일", xlsx.style("RTPYR_BRDT_MASK", center))
|
|
|
|
|
, Map.entry("우편번호", xlsx.style("RTPYR_ZIP", center))
|
|
|
|
@ -744,8 +747,16 @@ public class Sndb01Controller extends ApplicationController {
|
|
|
|
|
, Map.entry("수령인관계", "RCPN_REL_NM")
|
|
|
|
|
, Map.entry("단속일시", xlsx.style("CRDN_DT", center))
|
|
|
|
|
, Map.entry("차량번호", "VHRNO")
|
|
|
|
|
, Map.entry("단속법정동", "CRDN_STDG_NM")
|
|
|
|
|
, Map.entry("단속장소", "CRDN_PLC")
|
|
|
|
|
, Map.entry("회계연도", xlsx.style("FYR", center))
|
|
|
|
|
, Map.entry("부과번호", xlsx.style("LEVY_NO", center))
|
|
|
|
|
, Map.entry("부과일자", xlsx.format(o -> xlsx.str2date(o.get("LEVY_YMD"))).style(dateYMD))
|
|
|
|
|
, Map.entry("납기일자", xlsx.format(o -> xlsx.str2date(o.get("DUDT_YMD"))).style(dateYMD))
|
|
|
|
|
, Map.entry("과태료금액", xlsx.style("FFNLG_AMT", numeric))
|
|
|
|
|
, Map.entry("본세", xlsx.style("PCPTAX", numeric))
|
|
|
|
|
, Map.entry("가산금", xlsx.style("ADAMT", numeric))
|
|
|
|
|
, Map.entry("합계금액", xlsx.style("SUM_AMT", numeric))
|
|
|
|
|
, Map.entry("등록일시", xlsx.format(o -> xlsx.str2datetime(o.get("REG_DT"))).style(dateDT))
|
|
|
|
|
, Map.entry("등록사용자", xlsx.style("RGTR_NM", center))
|
|
|
|
|
, Map.entry("수정일시", xlsx.format(o -> xlsx.str2datetime(o.get("MDFCN_DT"))).style(dateDT))
|
|
|
|
@ -850,7 +861,7 @@ public class Sndb01Controller extends ApplicationController {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**고지서 발송 현황 - 세부내용 정보 화면(sndb/sndb01/100-info)을 연다.
|
|
|
|
|
/**고지서 발송 현황 - 발송상세 화면(sndb/sndb01/100-info)을 연다.
|
|
|
|
|
* @param sndngId 발송 ID
|
|
|
|
|
* @return fims/sndb/sndb01100-info 또는 jsonView
|
|
|
|
|
* <pre>{
|
|
|
|
@ -858,19 +869,99 @@ public class Sndb01Controller extends ApplicationController {
|
|
|
|
|
* }</pre>
|
|
|
|
|
*/
|
|
|
|
|
public ModelAndView getNoticeSheetSendingInfo(SndbQuery req) {
|
|
|
|
|
List<?> sndngDtls = sndngDtlService.getSndngDtls(req);
|
|
|
|
|
|
|
|
|
|
boolean json = jsonResponse();
|
|
|
|
|
//
|
|
|
|
|
ModelAndView mav = getNoticeSheetSendingDetailsList(req);
|
|
|
|
|
|
|
|
|
|
ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/sndb/sndb01100-info");
|
|
|
|
|
mav.setViewName("fims/sndb/sndb01100-info");
|
|
|
|
|
|
|
|
|
|
return mav.addObject("pageName", "sndb01100")
|
|
|
|
|
.addObject("sggCd", req.getSggCd())
|
|
|
|
|
.addObject("taskSeCd", req.getTaskSeCd())
|
|
|
|
|
.addObject("nhtSndngDtl", json ? sndngDtls : toJson(sndngDtls)) // 고지서 발송 현황 세부내용
|
|
|
|
|
return mav
|
|
|
|
|
.addObject("pageName", "sndb01100")
|
|
|
|
|
.addObject("query", toJson(req))
|
|
|
|
|
.addObject("nhtSndngDtlList", toJson(mav.getModel().get("nhtSndngDtlList")))
|
|
|
|
|
;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**고지서 발송 현황 - 발송상세 목록을 조회하여 반환한다.
|
|
|
|
|
* {@link SndngService#getSndngList(SndngQuery)} 참고
|
|
|
|
|
* @param req 발송 대장 조회 조건
|
|
|
|
|
* @return jsonView
|
|
|
|
|
* <pre><code> {
|
|
|
|
|
* "sndngDtlList": [발송상세 목록]
|
|
|
|
|
* "sndngDtlStart": 발송상세 목록 시작 인덱스
|
|
|
|
|
* "sndngDtlFetch": 한 번에 가져오는 발송상세 목록 수
|
|
|
|
|
* "sndngDtlTotal": 조회 결과 찾은 전체 발송상세 수
|
|
|
|
|
* }</code></pre>
|
|
|
|
|
*/
|
|
|
|
|
public ModelAndView getNoticeSheetSendingDetailsList(SndbQuery req) {
|
|
|
|
|
if (!"xls".equals(req.getDownload())) {
|
|
|
|
|
List<?> result = sndngDtlService.getSndngDtlList(setFetchSize(req));
|
|
|
|
|
return setCollectionInfo(new ModelAndView("jsonView"), result, "advntceSndngDtl");
|
|
|
|
|
} else {
|
|
|
|
|
// 현재 날짜 구하기
|
|
|
|
|
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
|
|
|
|
|
String dateTime = dateFormat.format(System.currentTimeMillis());
|
|
|
|
|
|
|
|
|
|
ArrayList<CellDef> cellDefs = fromJson(req.getCellDefs(), new TypeReference<ArrayList<CellDef>>() {});
|
|
|
|
|
|
|
|
|
|
XLSWriter xlsx = new XLSWriter()
|
|
|
|
|
.setFilename("고지서발송상세" + "_목록_" + dateTime + ".xlsx")
|
|
|
|
|
.worksheet(0);
|
|
|
|
|
|
|
|
|
|
// CellStyle 지정은 여기에서..
|
|
|
|
|
CellStyle center = xlsx.cellStyle(Styler.CENTER); // 가운데 정렬
|
|
|
|
|
CellStyle numeric = xlsx.n_nn0(); // 숫자 3자리 콤마(,)
|
|
|
|
|
CellStyle dateYMD = xlsx.yyyy_mm_dd(); // 연월일
|
|
|
|
|
CellStyle dateDT = xlsx.yyyy_mm_dd_hh_mm_ss(); // 연월일+시간
|
|
|
|
|
|
|
|
|
|
List<DataObject> list = sndngDtlService.getSndngDtlList(req.setFetchSize(0));
|
|
|
|
|
|
|
|
|
|
CellDef.setValues(cellDefs, Map.ofEntries(
|
|
|
|
|
Map.entry("발송상태", xlsx.style("SNDNG_DTL_STTS_NM", center))
|
|
|
|
|
, Map.entry("등기번호", xlsx.style("RG_NO", center))
|
|
|
|
|
, Map.entry("발송일자", xlsx.format(o -> xlsx.str2date(o.get("SNDNG_YMD"))).style(dateYMD))
|
|
|
|
|
, Map.entry("발송종료일자", xlsx.format(o -> xlsx.str2date(o.get("SNDNG_END_YMD"))).style(dateYMD))
|
|
|
|
|
, Map.entry("납부자명", "RTPYR_NM")
|
|
|
|
|
, Map.entry("납부자생일", xlsx.style("RTPYR_BRDT_MASK", center))
|
|
|
|
|
, Map.entry("우편번호", xlsx.style("RTPYR_ZIP", center))
|
|
|
|
|
, Map.entry("주소", "RTPYR_ADDR")
|
|
|
|
|
, Map.entry("상세주소", "RTPYR_DTL_ADDR")
|
|
|
|
|
, Map.entry("배달일자", xlsx.style("DLVR_YMD", center))
|
|
|
|
|
, Map.entry("배달시각", xlsx.style("DLVR_TM", center))
|
|
|
|
|
, Map.entry("미배달사유", "UNDLVR_RSN_NM")
|
|
|
|
|
, Map.entry("수령인", "RCPN_NM")
|
|
|
|
|
, Map.entry("수령인관계", "RCPN_REL_NM")
|
|
|
|
|
, Map.entry("단속일시", xlsx.style("CRDN_DT", center))
|
|
|
|
|
, Map.entry("차량번호", "VHRNO")
|
|
|
|
|
, Map.entry("단속법정동", "CRDN_STDG_NM")
|
|
|
|
|
, Map.entry("단속장소", "CRDN_PLC")
|
|
|
|
|
, Map.entry("회계연도", xlsx.style("FYR", center))
|
|
|
|
|
, Map.entry("부과번호", xlsx.style("LEVY_NO", center))
|
|
|
|
|
, Map.entry("부과일자", xlsx.format(o -> xlsx.str2date(o.get("LEVY_YMD"))).style(dateYMD))
|
|
|
|
|
, Map.entry("납기일자", xlsx.format(o -> xlsx.str2date(o.get("DUDT_YMD"))).style(dateYMD))
|
|
|
|
|
, Map.entry("과태료금액", xlsx.style("FFNLG_AMT", numeric))
|
|
|
|
|
, Map.entry("본세", xlsx.style("PCPTAX", numeric))
|
|
|
|
|
, Map.entry("가산금", xlsx.style("ADAMT", numeric))
|
|
|
|
|
, Map.entry("합계금액", xlsx.style("SUM_AMT", numeric))
|
|
|
|
|
, Map.entry("등록일시", xlsx.format(o -> xlsx.str2datetime(o.get("REG_DT"))).style(dateDT))
|
|
|
|
|
, Map.entry("등록사용자", xlsx.style("RGTR_NM", center))
|
|
|
|
|
, Map.entry("수정일시", xlsx.format(o -> xlsx.str2datetime(o.get("MDFCN_DT"))).style(dateDT))
|
|
|
|
|
, Map.entry("수정사용자", xlsx.style("MDFR_NM", center))
|
|
|
|
|
)
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
xlsx.cell(0, 0)
|
|
|
|
|
.value("고지서 발송 상세", center)
|
|
|
|
|
.merge(0, cellDefs.size() - 1)
|
|
|
|
|
.cell(3, 0)
|
|
|
|
|
.rowValues(CellDef.header(cellDefs, () -> CmmnUtil.headerStyle(xlsx)))
|
|
|
|
|
.cell(4, 0)
|
|
|
|
|
.values(list, CellDef.values(cellDefs));
|
|
|
|
|
|
|
|
|
|
return new ModelAndView("xlsView")
|
|
|
|
|
.addObject("xls", xlsx);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**고지서 대상 자료 정보 화면(sndb/sndb01/110-info)을 연다.
|
|
|
|
|
*
|
|
|
|
|
* @return /sndb/sndb01/110-info
|
|
|
|
|