|
|
@ -3,16 +3,17 @@ package cokr.xit.fims.levy.web;
|
|
|
|
import java.util.ArrayList;
|
|
|
|
import java.util.ArrayList;
|
|
|
|
import java.util.List;
|
|
|
|
import java.util.List;
|
|
|
|
import java.util.Map;
|
|
|
|
import java.util.Map;
|
|
|
|
import java.util.function.BiFunction;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
|
import javax.annotation.Resource;
|
|
|
|
|
|
|
|
|
|
|
|
import org.apache.poi.ss.usermodel.CellStyle;
|
|
|
|
import org.apache.poi.ss.usermodel.CellStyle;
|
|
|
|
import org.springframework.web.bind.annotation.PostMapping;
|
|
|
|
|
|
|
|
import org.springframework.web.servlet.ModelAndView;
|
|
|
|
import org.springframework.web.servlet.ModelAndView;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import com.fasterxml.jackson.core.type.TypeReference;
|
|
|
|
|
|
|
|
|
|
|
|
import cokr.xit.base.code.CommonCode;
|
|
|
|
import cokr.xit.base.code.CommonCode;
|
|
|
|
import cokr.xit.base.file.xls.XLSWriter;
|
|
|
|
import cokr.xit.base.file.xls.XLSWriter;
|
|
|
|
|
|
|
|
import cokr.xit.base.file.xls.XLSWriter.CellDef;
|
|
|
|
import cokr.xit.base.file.xls.XLSWriter.Styler;
|
|
|
|
import cokr.xit.base.file.xls.XLSWriter.Styler;
|
|
|
|
import cokr.xit.base.user.ManagedUser;
|
|
|
|
import cokr.xit.base.user.ManagedUser;
|
|
|
|
import cokr.xit.base.web.ApplicationController;
|
|
|
|
import cokr.xit.base.web.ApplicationController;
|
|
|
@ -95,72 +96,53 @@ public class Levy01Controller extends ApplicationController {
|
|
|
|
List<?> result = levyService.getRductLevyTrgtList(setFetchSize(req));
|
|
|
|
List<?> result = levyService.getRductLevyTrgtList(setFetchSize(req));
|
|
|
|
return setCollectionInfo(new ModelAndView("jsonView"), result, "rductLevyTrgt");
|
|
|
|
return setCollectionInfo(new ModelAndView("jsonView"), result, "rductLevyTrgt");
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
|
|
|
|
ArrayList<CellDef> cellDefs = fromJson(req.getCellDefs(), new TypeReference<ArrayList<CellDef>>() {});
|
|
|
|
|
|
|
|
|
|
|
|
XLSWriter xlsx = new XLSWriter()
|
|
|
|
XLSWriter xlsx = new XLSWriter()
|
|
|
|
.setFilename("사전 감경부과 대상 목록.xlsx")
|
|
|
|
.setFilename("사전 감경부과 대상 목록.xlsx")
|
|
|
|
.worksheet(0);
|
|
|
|
.worksheet(0);
|
|
|
|
|
|
|
|
|
|
|
|
// CellStyle 지정은 여기에서..
|
|
|
|
CellStyle center = xlsx.cellStyle(Styler.CENTER); // 가운데 정렬
|
|
|
|
CellStyle center = xlsx.cellStyle(Styler.CENTER) // 가운데 정렬
|
|
|
|
CellStyle numeric = xlsx.n_nn0(); // 숫자 3자리 콤마(,)
|
|
|
|
, numeric = xlsx.n_nn0() // 숫자 3자리 콤마(,)
|
|
|
|
CellStyle dateYMD = xlsx.yyyy_mm_dd(); // 연월일
|
|
|
|
, dateYMD = xlsx.yyyy_mm_dd() // 연월일
|
|
|
|
CellStyle dateDT = xlsx.yyyy_mm_dd_hh_mm_ss(); // 연월일+시간
|
|
|
|
, dateDT = xlsx.yyyy_mm_dd_hh_mm_ss(); // 연월일+시간
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
String[] excelTitle = req.getExcelTitle();
|
|
|
|
|
|
|
|
List<String> titles = new ArrayList<String>();
|
|
|
|
|
|
|
|
for (int iLoop = 0; iLoop < excelTitle.length; iLoop++) {
|
|
|
|
|
|
|
|
String item = excelTitle[iLoop];
|
|
|
|
|
|
|
|
titles.add(item);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
int[] excelTitleWidth = req.getExcelTitleWidth();
|
|
|
|
List<DataObject> list = levyService.getRductLevyTrgtList(req.setFetchSize(0));
|
|
|
|
List<Integer> widths = new ArrayList<>();
|
|
|
|
|
|
|
|
for (int jLoop = 0; jLoop < excelTitleWidth.length; jLoop++) {
|
|
|
|
|
|
|
|
int item = excelTitleWidth[jLoop];
|
|
|
|
|
|
|
|
widths.add(item);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
List<Styler> headerStylers = CmmnUtil.makeHeadersByDiffrentWidths(widths, xlsx);
|
|
|
|
CellDef.setValues(cellDefs, Map.ofEntries(
|
|
|
|
|
|
|
|
Map.entry("업무구분", xlsx.style("TASK_SE_NM", center))
|
|
|
|
|
|
|
|
, Map.entry("단속일시", xlsx.format(o -> xlsx.str2datetime(o.get("CRDN_YMD_TM"))).style(dateDT))
|
|
|
|
|
|
|
|
, Map.entry("차량번호", "VHRNO")
|
|
|
|
|
|
|
|
, Map.entry("법정동", "CRDN_STDG_NM")
|
|
|
|
|
|
|
|
, Map.entry("단속장소", "CRDN_PLC")
|
|
|
|
|
|
|
|
, Map.entry("위반항목", "VLTN_ARTCL")
|
|
|
|
|
|
|
|
, Map.entry("최초단속금액", xlsx.style("FFNLG_CRDN_AMT", numeric))
|
|
|
|
|
|
|
|
, Map.entry("과태료금액", xlsx.style("FFNLG_AMT", numeric))
|
|
|
|
|
|
|
|
, Map.entry("사전통지금액", xlsx.style("ADVNTCE_AMT", numeric))
|
|
|
|
|
|
|
|
, Map.entry("처리상태", "CRDN_STTS_NM")
|
|
|
|
|
|
|
|
, Map.entry("민원신청번호", xlsx.style("CVLCPT_APLY_NO", center))
|
|
|
|
|
|
|
|
, Map.entry("민원접수번호", xlsx.style("CVLCPT_RCPT_NO", center))
|
|
|
|
|
|
|
|
, Map.entry("민원접수일자", xlsx.format(o -> xlsx.str2date(o.get("CVLCPT_RCPT_YMD"))).style(dateYMD))
|
|
|
|
|
|
|
|
, Map.entry("민원전송결과", xlsx.style("CVLCPT_TRSM_NM", center))
|
|
|
|
|
|
|
|
, Map.entry("납부자명", "RTPYR_NM")
|
|
|
|
|
|
|
|
, Map.entry("납부자생일", xlsx.style("RTPYR_BRDT_MASK", center))
|
|
|
|
|
|
|
|
, Map.entry("우편번호", xlsx.style("ZIP", center))
|
|
|
|
|
|
|
|
, Map.entry("주소", "ADDR")
|
|
|
|
|
|
|
|
, Map.entry("상세주소", "DTL_ADDR")
|
|
|
|
|
|
|
|
, 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)
|
|
|
|
xlsx.cell(0, 0)
|
|
|
|
.value("사전 감경부과 대상", XLSWriter.Styler.CENTER)
|
|
|
|
.value("사전 감경부과 대상", center)
|
|
|
|
.merge(0, 11)
|
|
|
|
.merge(0, cellDefs.size() - 1)
|
|
|
|
.cell(3, 0)
|
|
|
|
.cell(3, 0)
|
|
|
|
.rowValues(CmmnUtil.mergeListByIndex(titles, headerStylers));
|
|
|
|
.rowValues(CellDef.header(cellDefs, () -> CmmnUtil.headerStyle(xlsx)))
|
|
|
|
|
|
|
|
.cell(4, 0)
|
|
|
|
List<DataObject> list = levyService.getRductLevyTrgtList(req.setFetchSize(0));
|
|
|
|
.values(list, CellDef.values(cellDefs));
|
|
|
|
|
|
|
|
|
|
|
|
BiFunction<String, String, ?> getValue = (titleNm, nothing) -> {
|
|
|
|
|
|
|
|
switch (titleNm) {
|
|
|
|
|
|
|
|
case "업무구분" : return xlsx.style("TASK_SE_NM", center);
|
|
|
|
|
|
|
|
case "단속일시" : return xlsx.format(o -> xlsx.str2datetime(o.get("CRDN_YMD_TM"))).style(dateDT);
|
|
|
|
|
|
|
|
case "차량번호" : return "VHRNO";
|
|
|
|
|
|
|
|
case "법정동" : return "CRDN_STDG_NM";
|
|
|
|
|
|
|
|
case "단속장소" : return "CRDN_PLC";
|
|
|
|
|
|
|
|
case "위반항목" : return "VLTN_ARTCL";
|
|
|
|
|
|
|
|
case "최초단속금액" : return xlsx.style("FFNLG_CRDN_AMT", numeric);
|
|
|
|
|
|
|
|
case "과태료금액" : return xlsx.style("FFNLG_AMT", numeric);
|
|
|
|
|
|
|
|
case "사전통지금액" : return xlsx.style("ADVNTCE_AMT", numeric);
|
|
|
|
|
|
|
|
case "처리상태" : return "CRDN_STTS_NM";
|
|
|
|
|
|
|
|
case "민원신청번호" : return xlsx.style("CVLCPT_APLY_NO", center);
|
|
|
|
|
|
|
|
case "민원접수번호" : return xlsx.style("CVLCPT_RCPT_NO", center);
|
|
|
|
|
|
|
|
case "민원접수일자" : return xlsx.format(o -> xlsx.str2date(o.get("CVLCPT_RCPT_YMD"))).style(dateYMD);
|
|
|
|
|
|
|
|
case "민원전송결과" : return xlsx.style("CVLCPT_TRSM_NM", center);
|
|
|
|
|
|
|
|
case "납부자명" : return "RTPYR_NM";
|
|
|
|
|
|
|
|
case "납부자생일" : return xlsx.style("RTPYR_BRDT_MASK", center);
|
|
|
|
|
|
|
|
case "우편번호" : return xlsx.style("ZIP", center);
|
|
|
|
|
|
|
|
case "주소" : return "ADDR";
|
|
|
|
|
|
|
|
case "상세주소" : return "DTL_ADDR";
|
|
|
|
|
|
|
|
case "등록일시" : return xlsx.format(o -> xlsx.str2datetime(o.get("REG_DT"))).style(dateDT);
|
|
|
|
|
|
|
|
case "등록사용자" : return xlsx.style("RGTR_NM", center);
|
|
|
|
|
|
|
|
case "수정일시" : return xlsx.format(o -> xlsx.str2datetime(o.get("MDFCN_DT"))).style(dateDT);
|
|
|
|
|
|
|
|
case "수정사용자" : return xlsx.style("MDFR_NM", center);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return "";
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
xlsx.cell(4, 0)
|
|
|
|
|
|
|
|
.values(list, titles.stream().map((item) -> { return getValue.apply(item, null); }).toArray());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return new ModelAndView("xlsView")
|
|
|
|
return new ModelAndView("xlsView")
|
|
|
|
.addObject("xls", xlsx);
|
|
|
|
.addObject("xls", xlsx);
|
|
|
@ -254,102 +236,83 @@ public class Levy01Controller extends ApplicationController {
|
|
|
|
List<?> result = levyService.getLevyList(setFetchSize(req));
|
|
|
|
List<?> result = levyService.getLevyList(setFetchSize(req));
|
|
|
|
return setCollectionInfo(new ModelAndView("jsonView"), result, "levy");
|
|
|
|
return setCollectionInfo(new ModelAndView("jsonView"), result, "levy");
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
|
|
|
|
ArrayList<CellDef> cellDefs = fromJson(req.getCellDefs(), new TypeReference<ArrayList<CellDef>>() {});
|
|
|
|
|
|
|
|
|
|
|
|
XLSWriter xlsx = new XLSWriter()
|
|
|
|
XLSWriter xlsx = new XLSWriter()
|
|
|
|
.setFilename("부과 목록.xlsx")
|
|
|
|
.setFilename("부과 목록.xlsx")
|
|
|
|
.worksheet(0);
|
|
|
|
.worksheet(0);
|
|
|
|
|
|
|
|
|
|
|
|
// CellStyle 지정은 여기에서..
|
|
|
|
CellStyle center = xlsx.cellStyle(Styler.CENTER); // 가운데 정렬
|
|
|
|
CellStyle center = xlsx.cellStyle(Styler.CENTER) // 가운데 정렬
|
|
|
|
CellStyle numeric = xlsx.n_nn0(); // 숫자 3자리 콤마(,)
|
|
|
|
, numeric = xlsx.n_nn0() // 숫자 3자리 콤마(,)
|
|
|
|
CellStyle dateYMD = xlsx.yyyy_mm_dd(); // 연월일
|
|
|
|
, dateYMD = xlsx.yyyy_mm_dd() // 연월일
|
|
|
|
CellStyle dateDT = xlsx.yyyy_mm_dd_hh_mm_ss(); // 연월일+시간
|
|
|
|
, dateDT = xlsx.yyyy_mm_dd_hh_mm_ss(); // 연월일+시간
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
String[] excelTitle = req.getExcelTitle();
|
|
|
|
|
|
|
|
List<String> titles = new ArrayList<String>();
|
|
|
|
|
|
|
|
for (int iLoop = 0; iLoop < excelTitle.length; iLoop++) {
|
|
|
|
|
|
|
|
String item = excelTitle[iLoop];
|
|
|
|
|
|
|
|
titles.add(item);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
int[] excelTitleWidth = req.getExcelTitleWidth();
|
|
|
|
List<DataObject> list = levyService.getLevyList(req.setFetchSize(0));
|
|
|
|
List<Integer> widths = new ArrayList<>();
|
|
|
|
|
|
|
|
for (int jLoop = 0; jLoop < excelTitleWidth.length; jLoop++) {
|
|
|
|
|
|
|
|
int item = excelTitleWidth[jLoop];
|
|
|
|
|
|
|
|
widths.add(item);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
List<Styler> headerStylers = CmmnUtil.makeHeadersByDiffrentWidths(widths, xlsx);
|
|
|
|
CellDef.setValues(cellDefs, Map.ofEntries(
|
|
|
|
|
|
|
|
Map.entry("업무구분", xlsx.style("TASK_SE_NM", center))
|
|
|
|
|
|
|
|
, Map.entry("회계연도", xlsx.style("FYR", center))
|
|
|
|
|
|
|
|
, Map.entry("회계코드", xlsx.style("ACNTG_SE_CD", center))
|
|
|
|
|
|
|
|
, Map.entry("세목코드", xlsx.style("TXITM_CD", center))
|
|
|
|
|
|
|
|
, Map.entry("세목명", xlsx.style("TXITM_NM", center))
|
|
|
|
|
|
|
|
, Map.entry("부과번호", xlsx.style("LEVY_NO", center))
|
|
|
|
|
|
|
|
, Map.entry("분납순번", xlsx.style("INSPY_SN", center))
|
|
|
|
|
|
|
|
, Map.entry("부과구분", xlsx.style("LEVY_SE_NM", center))
|
|
|
|
|
|
|
|
, Map.entry("통합구분", xlsx.style("UNTY_SE_NM", center))
|
|
|
|
|
|
|
|
, Map.entry("감경구분", xlsx.style("RDUCT_SE_NM", center))
|
|
|
|
|
|
|
|
, Map.entry("부과일자", xlsx.format(o -> xlsx.str2date(o.get("LEVY_YMD"))).style(dateYMD))
|
|
|
|
|
|
|
|
, Map.entry("최초납기일자", xlsx.format(o -> xlsx.str2date(o.get("FRST_DUDT_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("LEVY_PCPTAX", numeric))
|
|
|
|
|
|
|
|
, Map.entry("부과가산금", xlsx.style("LEVY_ADAMT", numeric))
|
|
|
|
|
|
|
|
, Map.entry("분납이자", xlsx.style("INSPY_INT", numeric))
|
|
|
|
|
|
|
|
, Map.entry("수납본세", xlsx.style("RCVMT_PCPTAX", numeric))
|
|
|
|
|
|
|
|
, Map.entry("수납가산금", xlsx.style("RCVMT_ADAMT", numeric))
|
|
|
|
|
|
|
|
, Map.entry("감액본세", xlsx.style("RDCAMT_PCPTAX", numeric))
|
|
|
|
|
|
|
|
, Map.entry("감액가산금", xlsx.style("RDCAMT_ADAMT", numeric))
|
|
|
|
|
|
|
|
, Map.entry("합계금액", xlsx.style("SUM_AMT", numeric))
|
|
|
|
|
|
|
|
, Map.entry("과세물건", "TXTN_THING")
|
|
|
|
|
|
|
|
, Map.entry("체납사유", "NPMNT_RSN_NM")
|
|
|
|
|
|
|
|
, Map.entry("수납일자", xlsx.format(o -> xlsx.str2date(o.get("RCVMT_YMD"))).style(dateYMD))
|
|
|
|
|
|
|
|
, Map.entry("압류일자", xlsx.format(o -> xlsx.str2date(o.get("SZR_YMD"))).style(dateYMD))
|
|
|
|
|
|
|
|
, Map.entry("압류물건", "SZR_THING")
|
|
|
|
|
|
|
|
, Map.entry("대체압류차량", "RPM_SZR_VHRNO")
|
|
|
|
|
|
|
|
, Map.entry("압류해제일자", xlsx.format(o -> xlsx.str2date(o.get("SZR_RMV_YMD"))).style(dateYMD))
|
|
|
|
|
|
|
|
, Map.entry("전자납부번호", "EPAYNO_MASK")
|
|
|
|
|
|
|
|
, Map.entry("은행명", "BANK_NM")
|
|
|
|
|
|
|
|
, Map.entry("가상계좌번호", xlsx.style("VR_ACTNO", center))
|
|
|
|
|
|
|
|
, Map.entry("은행명2", "BANK_NM2")
|
|
|
|
|
|
|
|
, Map.entry("가상계좌번호2", xlsx.style("VR_ACTNO2", center))
|
|
|
|
|
|
|
|
, Map.entry("은행명3", "BANK_NM3")
|
|
|
|
|
|
|
|
, Map.entry("가상계좌번호3", xlsx.style("VR_ACTNO3", center))
|
|
|
|
|
|
|
|
, Map.entry("단속일시", xlsx.format(o -> xlsx.str2datetime(o.get("CRDN_YMD_TM"))).style(dateDT))
|
|
|
|
|
|
|
|
, Map.entry("차량번호", "VHRNO")
|
|
|
|
|
|
|
|
, Map.entry("법정동", "CRDN_STDG_NM")
|
|
|
|
|
|
|
|
, Map.entry("단속장소", "CRDN_PLC")
|
|
|
|
|
|
|
|
, Map.entry("위반항목", "VLTN_ARTCL")
|
|
|
|
|
|
|
|
, Map.entry("최초단속금액", xlsx.style("FFNLG_CRDN_AMT", numeric))
|
|
|
|
|
|
|
|
, Map.entry("처리상태", "CRDN_STTS_NM")
|
|
|
|
|
|
|
|
, Map.entry("납부자구분", xlsx.style("RTPYR_SE_NM", center))
|
|
|
|
|
|
|
|
, Map.entry("납부자명", "RTPYR_NM")
|
|
|
|
|
|
|
|
, Map.entry("납부자생일", xlsx.style("RTPYR_BRDT_MASK", center))
|
|
|
|
|
|
|
|
, Map.entry("우편번호", xlsx.style("ZIP", center))
|
|
|
|
|
|
|
|
, Map.entry("주소", "ADDR")
|
|
|
|
|
|
|
|
, Map.entry("상세주소", "DTL_ADDR")
|
|
|
|
|
|
|
|
, 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)
|
|
|
|
xlsx.cell(0, 0)
|
|
|
|
.value("부과", XLSWriter.Styler.CENTER)
|
|
|
|
.value("부과", center)
|
|
|
|
.merge(0, 15)
|
|
|
|
.merge(0, cellDefs.size() - 1)
|
|
|
|
.cell(3, 0)
|
|
|
|
.cell(3, 0)
|
|
|
|
.rowValues(CmmnUtil.mergeListByIndex(titles, headerStylers));
|
|
|
|
.rowValues(CellDef.header(cellDefs, () -> CmmnUtil.headerStyle(xlsx)))
|
|
|
|
|
|
|
|
.cell(4, 0)
|
|
|
|
List<DataObject> list = levyService.getLevyList(req.setFetchSize(0));
|
|
|
|
.values(list, CellDef.values(cellDefs));
|
|
|
|
|
|
|
|
|
|
|
|
BiFunction<String, String, ?> getValue = (titleNm, nothing) -> {
|
|
|
|
|
|
|
|
switch (titleNm) {
|
|
|
|
|
|
|
|
case "업무구분" : return xlsx.style("TASK_SE_NM", center);
|
|
|
|
|
|
|
|
case "회계연도" : return xlsx.style("FYR", center);
|
|
|
|
|
|
|
|
case "회계코드" : return xlsx.style("ACNTG_SE_CD", center);
|
|
|
|
|
|
|
|
case "세목코드" : return xlsx.style("TXITM_CD", center);
|
|
|
|
|
|
|
|
case "세목명" : return xlsx.style("TXITM_NM", center);
|
|
|
|
|
|
|
|
case "부과번호" : return xlsx.style("LEVY_NO", center);
|
|
|
|
|
|
|
|
case "분납순번" : return xlsx.style("INSPY_SN", center);
|
|
|
|
|
|
|
|
case "부과구분" : return xlsx.style("LEVY_SE_NM", center);
|
|
|
|
|
|
|
|
case "통합구분" : return xlsx.style("UNTY_SE_NM", center);
|
|
|
|
|
|
|
|
case "감경구분" : return xlsx.style("RDUCT_SE_NM", center);
|
|
|
|
|
|
|
|
case "부과일자" : return xlsx.format(o -> xlsx.str2date(o.get("LEVY_YMD"))).style(dateYMD);
|
|
|
|
|
|
|
|
case "최초납기일자" : return xlsx.format(o -> xlsx.str2date(o.get("FRST_DUDT_YMD"))).style(dateYMD);
|
|
|
|
|
|
|
|
case "납기일자" : return xlsx.format(o -> xlsx.str2date(o.get("DUDT_YMD"))).style(dateYMD);
|
|
|
|
|
|
|
|
case "과태료금액" : return xlsx.style("FFNLG_AMT", numeric);
|
|
|
|
|
|
|
|
case "부과본세" : return xlsx.style("LEVY_PCPTAX", numeric);
|
|
|
|
|
|
|
|
case "부과가산금" : return xlsx.style("LEVY_ADAMT", numeric);
|
|
|
|
|
|
|
|
case "분납이자" : return xlsx.style("INSPY_INT", numeric);
|
|
|
|
|
|
|
|
case "수납본세" : return xlsx.style("RCVMT_PCPTAX", numeric);
|
|
|
|
|
|
|
|
case "수납가산금" : return xlsx.style("RCVMT_ADAMT", numeric);
|
|
|
|
|
|
|
|
case "감액본세" : return xlsx.style("RDCAMT_PCPTAX", numeric);
|
|
|
|
|
|
|
|
case "감액가산금" : return xlsx.style("RDCAMT_ADAMT", numeric);
|
|
|
|
|
|
|
|
case "합계금액" : return xlsx.style("SUM_AMT", numeric);
|
|
|
|
|
|
|
|
case "과세물건" : return "TXTN_THING";
|
|
|
|
|
|
|
|
case "체납사유" : return "NPMNT_RSN_NM";
|
|
|
|
|
|
|
|
case "수납일자" : return xlsx.format(o -> xlsx.str2date(o.get("RCVMT_YMD"))).style(dateYMD);
|
|
|
|
|
|
|
|
case "압류일자" : return xlsx.format(o -> xlsx.str2date(o.get("SZR_YMD"))).style(dateYMD);
|
|
|
|
|
|
|
|
case "압류물건" : return "SZR_THING";
|
|
|
|
|
|
|
|
case "대체압류차량" : return "RPM_SZR_VHRNO";
|
|
|
|
|
|
|
|
case "압류해제일자" : return xlsx.format(o -> xlsx.str2date(o.get("SZR_RMV_YMD"))).style(dateYMD);
|
|
|
|
|
|
|
|
case "전자납부번호" : return "EPAYNO_MASK";
|
|
|
|
|
|
|
|
case "은행명" : return "BANK_NM";
|
|
|
|
|
|
|
|
case "가상계좌번호" : return xlsx.style("VR_ACTNO", center);
|
|
|
|
|
|
|
|
case "은행명2" : return "BANK_NM2";
|
|
|
|
|
|
|
|
case "가상계좌번호2" : return xlsx.style("VR_ACTNO2", center);
|
|
|
|
|
|
|
|
case "은행명3" : return "BANK_NM3";
|
|
|
|
|
|
|
|
case "가상계좌번호3" : return xlsx.style("VR_ACTNO3", center);
|
|
|
|
|
|
|
|
case "단속일시" : return xlsx.format(o -> xlsx.str2datetime(o.get("CRDN_YMD_TM"))).style(dateDT);
|
|
|
|
|
|
|
|
case "차량번호" : return "VHRNO";
|
|
|
|
|
|
|
|
case "법정동" : return "CRDN_STDG_NM";
|
|
|
|
|
|
|
|
case "단속장소" : return "CRDN_PLC";
|
|
|
|
|
|
|
|
case "위반항목" : return "VLTN_ARTCL";
|
|
|
|
|
|
|
|
case "최초단속금액" : return xlsx.style("FFNLG_CRDN_AMT", numeric);
|
|
|
|
|
|
|
|
case "처리상태" : return "CRDN_STTS_NM";
|
|
|
|
|
|
|
|
case "납부자구분" : return xlsx.style("RTPYR_SE_NM", center);
|
|
|
|
|
|
|
|
case "납부자명" : return "RTPYR_NM";
|
|
|
|
|
|
|
|
case "납부자생일" : return xlsx.style("RTPYR_BRDT_MASK", center);
|
|
|
|
|
|
|
|
case "우편번호" : return xlsx.style("ZIP", center);
|
|
|
|
|
|
|
|
case "주소" : return "ADDR";
|
|
|
|
|
|
|
|
case "상세주소" : return "DTL_ADDR";
|
|
|
|
|
|
|
|
case "등록일시" : return xlsx.format(o -> xlsx.str2datetime(o.get("REG_DT"))).style(dateDT);
|
|
|
|
|
|
|
|
case "등록사용자" : return xlsx.style("RGTR_NM", center);
|
|
|
|
|
|
|
|
case "수정일시" : return xlsx.format(o -> xlsx.str2datetime(o.get("MDFCN_DT"))).style(dateDT);
|
|
|
|
|
|
|
|
case "수정사용자" : return xlsx.style("MDFR_NM", center);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return "";
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
xlsx.cell(4, 0)
|
|
|
|
|
|
|
|
.values(list, titles.stream().map((item) -> { return getValue.apply(item, null); }).toArray());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return new ModelAndView("xlsView")
|
|
|
|
return new ModelAndView("xlsView")
|
|
|
|
.addObject("xls", xlsx);
|
|
|
|
.addObject("xls", xlsx);
|
|
|
@ -363,7 +326,7 @@ public class Levy01Controller extends ApplicationController {
|
|
|
|
* "saved": 등록되었으면 true, 그렇지 않으면 false
|
|
|
|
* "saved": 등록되었으면 true, 그렇지 않으면 false
|
|
|
|
* }</code></pre>
|
|
|
|
* }</code></pre>
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
@PostMapping(name = "부과 대장 등록", value = "/010/create.do")
|
|
|
|
// @PostMapping(name = "부과 대장 등록", value = "/010/create.do")
|
|
|
|
public ModelAndView create(Levy levy) {
|
|
|
|
public ModelAndView create(Levy levy) {
|
|
|
|
boolean saved = levyService.create(levy);
|
|
|
|
boolean saved = levyService.create(levy);
|
|
|
|
|
|
|
|
|
|
|
@ -378,7 +341,7 @@ public class Levy01Controller extends ApplicationController {
|
|
|
|
* "saved": 수정되었으면 true, 그렇지 않으면 false
|
|
|
|
* "saved": 수정되었으면 true, 그렇지 않으면 false
|
|
|
|
* }</code></pre>
|
|
|
|
* }</code></pre>
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
@PostMapping(name = "부과 대장 수정", value = "/010/update.do")
|
|
|
|
// @PostMapping(name = "부과 대장 수정", value = "/010/update.do")
|
|
|
|
public ModelAndView update(Levy levy) {
|
|
|
|
public ModelAndView update(Levy levy) {
|
|
|
|
boolean saved = levyService.update(levy);
|
|
|
|
boolean saved = levyService.update(levy);
|
|
|
|
|
|
|
|
|
|
|
@ -394,7 +357,7 @@ public class Levy01Controller extends ApplicationController {
|
|
|
|
* "saved": 저장되었으면 true, 그렇지 않으면 false
|
|
|
|
* "saved": 저장되었으면 true, 그렇지 않으면 false
|
|
|
|
* }</code></pre>
|
|
|
|
* }</code></pre>
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
@PostMapping(name = "부과 대장 제거", value = "/010/remove.do")
|
|
|
|
// @PostMapping(name = "부과 대장 제거", value = "/010/remove.do")
|
|
|
|
public ModelAndView remove(Levy levy) {
|
|
|
|
public ModelAndView remove(Levy levy) {
|
|
|
|
boolean saved = levyService.remove(levy);
|
|
|
|
boolean saved = levyService.remove(levy);
|
|
|
|
|
|
|
|
|
|
|
|