|
|
@ -8,19 +8,23 @@ import java.util.Map;
|
|
|
|
import javax.annotation.Resource;
|
|
|
|
import javax.annotation.Resource;
|
|
|
|
|
|
|
|
|
|
|
|
import org.apache.poi.ss.usermodel.CellStyle;
|
|
|
|
import org.apache.poi.ss.usermodel.CellStyle;
|
|
|
|
|
|
|
|
import org.apache.poi.ss.usermodel.HorizontalAlignment;
|
|
|
|
import org.springframework.stereotype.Controller;
|
|
|
|
import org.springframework.stereotype.Controller;
|
|
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
|
import org.springframework.web.servlet.ModelAndView;
|
|
|
|
import org.springframework.web.servlet.ModelAndView;
|
|
|
|
|
|
|
|
|
|
|
|
import cokr.xit.base.code.CommonCode;
|
|
|
|
import cokr.xit.base.code.CommonCode;
|
|
|
|
import cokr.xit.base.file.xls.XLSWriter;
|
|
|
|
import cokr.xit.base.docs.xls.CellDef;
|
|
|
|
import cokr.xit.base.file.xls.XLSWriter.CellDef;
|
|
|
|
import cokr.xit.base.docs.xls.Format;
|
|
|
|
import cokr.xit.base.file.xls.XLSWriter.Styler;
|
|
|
|
import cokr.xit.base.docs.xls.Style;
|
|
|
|
|
|
|
|
import cokr.xit.base.docs.xls.XLSWriter;
|
|
|
|
import cokr.xit.base.user.ManagedUser;
|
|
|
|
import cokr.xit.base.user.ManagedUser;
|
|
|
|
import cokr.xit.base.web.ApplicationController;
|
|
|
|
import cokr.xit.base.web.ApplicationController;
|
|
|
|
import cokr.xit.fims.cmmn.CmmnQuery;
|
|
|
|
import cokr.xit.fims.cmmn.CmmnQuery;
|
|
|
|
import cokr.xit.fims.cmmn.CmmnUtil;
|
|
|
|
import cokr.xit.fims.cmmn.CmmnUtil;
|
|
|
|
import cokr.xit.fims.cmmn.service.bean.StngBean;
|
|
|
|
import cokr.xit.fims.cmmn.service.bean.StngBean;
|
|
|
|
|
|
|
|
import cokr.xit.fims.cmmn.xls.FormatMaker;
|
|
|
|
|
|
|
|
import cokr.xit.fims.cmmn.xls.StyleMaker;
|
|
|
|
import cokr.xit.fims.levy.Levy;
|
|
|
|
import cokr.xit.fims.levy.Levy;
|
|
|
|
import cokr.xit.fims.levy.LevyQuery;
|
|
|
|
import cokr.xit.fims.levy.LevyQuery;
|
|
|
|
import cokr.xit.fims.levy.service.LevyService;
|
|
|
|
import cokr.xit.fims.levy.service.LevyService;
|
|
|
@ -114,55 +118,50 @@ public class Levy01Controller extends ApplicationController {
|
|
|
|
|
|
|
|
|
|
|
|
List<CellDef> cellDefs = fromJson(req.getCellDefs(), CellDef.listType());
|
|
|
|
List<CellDef> cellDefs = fromJson(req.getCellDefs(), CellDef.listType());
|
|
|
|
|
|
|
|
|
|
|
|
XLSWriter xlsx = new XLSWriter()
|
|
|
|
XLSWriter xlsx = new XLSWriter().worksheet(0).trackWidth(CmmnUtil.intArray(cellDefs.size()));
|
|
|
|
.setFilename("사전감경부과대상" + "_목록_" + dateTime + ".xlsx")
|
|
|
|
Format format = new Format(xlsx);
|
|
|
|
.worksheet(0);
|
|
|
|
CellStyle center = format.cellStyle(new Style().alignment(HorizontalAlignment.CENTER));
|
|
|
|
|
|
|
|
CellStyle left = format.cellStyle(new Style().alignment(HorizontalAlignment.LEFT));
|
|
|
|
CellStyle center = xlsx.cellStyle(Styler.CENTER); // 가운데 정렬
|
|
|
|
CellStyle numeric = format.n_nn0();
|
|
|
|
CellStyle numeric = xlsx.n_nn0(); // 숫자 3자리 콤마(,)
|
|
|
|
CellStyle dateYMD = format.yyyy_mm_dd();
|
|
|
|
CellStyle dateYMD = xlsx.yyyy_mm_dd(); // 연월일
|
|
|
|
CellStyle dateDT = format.yyyy_mm_dd_hh_mm_ss();
|
|
|
|
CellStyle dateDT = xlsx.yyyy_mm_dd_hh_mm_ss(); // 연월일+시간
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
List<DataObject> list = levyService.getRductLevyTrgtList(req.setFetchSize(0));
|
|
|
|
List<DataObject> list = levyService.getRductLevyTrgtList(req.setFetchSize(0));
|
|
|
|
|
|
|
|
|
|
|
|
Map<String,Object> valueMap = new HashMap<String,Object>();
|
|
|
|
Map<String,Object> valueMap = new HashMap<String,Object>();
|
|
|
|
valueMap.put("업무구분", xlsx.style("TASK_SE_NM", center));
|
|
|
|
valueMap.put("업무구분", format.of("TASK_SE_NM").style(center));
|
|
|
|
valueMap.put("단속일시", xlsx.format(o -> xlsx.str2datetime(o.get("CRDN_YMD_TM"))).style(dateDT));
|
|
|
|
valueMap.put("단속일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "CRDN_YMD_TM").style(dateDT));
|
|
|
|
valueMap.put("차량번호", "VHRNO");
|
|
|
|
valueMap.put("차량번호", format.of("VHRNO"));
|
|
|
|
valueMap.put("법정동", "CRDN_STDG_NM");
|
|
|
|
valueMap.put("법정동", format.of("CRDN_STDG_NM"));
|
|
|
|
valueMap.put("단속장소", "CRDN_PLC");
|
|
|
|
valueMap.put("단속장소", format.of("CRDN_PLC"));
|
|
|
|
valueMap.put("위반항목", "VLTN_ARTCL");
|
|
|
|
valueMap.put("위반항목", format.of("VLTN_ARTCL"));
|
|
|
|
valueMap.put("단속금액", xlsx.style("FFNLG_CRDN_AMT", numeric));
|
|
|
|
valueMap.put("단속금액", format.of("FFNLG_CRDN_AMT").style(numeric));
|
|
|
|
valueMap.put("과태료금액", xlsx.style("FFNLG_AMT", numeric));
|
|
|
|
valueMap.put("과태료금액", format.of("FFNLG_AMT").style(numeric));
|
|
|
|
valueMap.put("사전통지금액", xlsx.style("ADVNTCE_AMT", numeric));
|
|
|
|
valueMap.put("사전통지금액", format.of("ADVNTCE_AMT").style(numeric));
|
|
|
|
valueMap.put("처리상태", "CRDN_STTS_NM");
|
|
|
|
valueMap.put("처리상태", format.of("CRDN_STTS_NM"));
|
|
|
|
valueMap.put("민원신청번호", xlsx.style("CVLCPT_APLY_NO", center));
|
|
|
|
valueMap.put("민원신청번호", format.of("CVLCPT_APLY_NO").style(center));
|
|
|
|
valueMap.put("민원접수번호", xlsx.style("CVLCPT_RCPT_NO", center));
|
|
|
|
valueMap.put("민원접수번호", format.of("CVLCPT_RCPT_NO").style(center));
|
|
|
|
valueMap.put("민원접수일자", xlsx.format(o -> xlsx.str2date(o.get("CVLCPT_RCPT_YMD"))).style(dateYMD));
|
|
|
|
valueMap.put("민원접수일자", FormatMaker.yyyy_mm_dd(format, "CVLCPT_RCPT_YMD").style(dateYMD));
|
|
|
|
valueMap.put("민원전송결과", xlsx.style("CVLCPT_TRSM_NM", center));
|
|
|
|
valueMap.put("민원전송결과", format.of("CVLCPT_TRSM_NM").style(center));
|
|
|
|
valueMap.put("납부자구분", xlsx.style("RTPYR_SE_NM", center));
|
|
|
|
valueMap.put("납부자구분", format.of("RTPYR_SE_NM").style(center));
|
|
|
|
valueMap.put("납부자번호", xlsx.style("RTPYR_NO", center));
|
|
|
|
valueMap.put("납부자번호", format.of("RTPYR_NO").style(center));
|
|
|
|
valueMap.put("납부자명", "RTPYR_NM");
|
|
|
|
valueMap.put("납부자명", format.of("RTPYR_NM"));
|
|
|
|
valueMap.put("우편번호", xlsx.style("ZIP", center));
|
|
|
|
valueMap.put("우편번호", format.of("ZIP").style(center));
|
|
|
|
valueMap.put("주소", "ADDR");
|
|
|
|
valueMap.put("주소", format.of("ADDR"));
|
|
|
|
valueMap.put("상세주소", "DTL_ADDR");
|
|
|
|
valueMap.put("상세주소", format.of("DTL_ADDR"));
|
|
|
|
valueMap.put("등록일시", xlsx.format(o -> xlsx.str2datetime(o.get("REG_DT"))).style(dateDT));
|
|
|
|
valueMap.put("등록일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "REG_DT").style(dateDT));
|
|
|
|
valueMap.put("등록사용자", xlsx.style("RGTR_NM", center));
|
|
|
|
valueMap.put("등록사용자", format.of("RGTR_NM").style(center));
|
|
|
|
valueMap.put("수정일시", xlsx.format(o -> xlsx.str2datetime(o.get("MDFCN_DT"))).style(dateDT));
|
|
|
|
valueMap.put("수정일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "MDFCN_DT").style(dateDT));
|
|
|
|
valueMap.put("수정사용자", xlsx.style("MDFR_NM", center));
|
|
|
|
valueMap.put("수정사용자", format.of("MDFR_NM").style(center));
|
|
|
|
|
|
|
|
|
|
|
|
CellDef.setValues(cellDefs, valueMap);
|
|
|
|
CellDef.setValues(cellDefs, valueMap);
|
|
|
|
|
|
|
|
|
|
|
|
xlsx.cell(0, 0)
|
|
|
|
xlsx.cell(0, 0).value("사전 감경부과 대상").value(center).merge(0, cellDefs.size() - 1)
|
|
|
|
.value("사전 감경부과 대상", center)
|
|
|
|
.cell(3, 0).rowValues(CellDef.header(cellDefs, () -> StyleMaker.headerStyle(xlsx)))
|
|
|
|
.merge(0, cellDefs.size() - 1)
|
|
|
|
.cell(4, 0).values(list, CellDef.values(cellDefs.stream().map(i -> {if(i.getValue() instanceof Format) {i.setField(null);}; return i;}).toList()));
|
|
|
|
.cell(3, 0)
|
|
|
|
xlsx.autoWidth();
|
|
|
|
.rowValues(CellDef.header(cellDefs, () -> CmmnUtil.headerStyle(xlsx)))
|
|
|
|
return new ModelAndView("downloadView")
|
|
|
|
.cell(4, 0)
|
|
|
|
.addObject("download", xlsx.getDownloadable().setFilename("사전감경부과대상" + "_목록_" + dateTime + ".xlsx"));
|
|
|
|
.values(list, CellDef.values(cellDefs));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return new ModelAndView("xlsView")
|
|
|
|
|
|
|
|
.addObject("xls", xlsx);
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -268,84 +267,79 @@ public class Levy01Controller extends ApplicationController {
|
|
|
|
|
|
|
|
|
|
|
|
List<CellDef> cellDefs = fromJson(req.getCellDefs(), CellDef.listType());
|
|
|
|
List<CellDef> cellDefs = fromJson(req.getCellDefs(), CellDef.listType());
|
|
|
|
|
|
|
|
|
|
|
|
XLSWriter xlsx = new XLSWriter()
|
|
|
|
XLSWriter xlsx = new XLSWriter().worksheet(0).trackWidth(CmmnUtil.intArray(cellDefs.size()));
|
|
|
|
.setFilename("부과" + "_목록_" + dateTime + ".xlsx")
|
|
|
|
Format format = new Format(xlsx);
|
|
|
|
.worksheet(0);
|
|
|
|
CellStyle center = format.cellStyle(new Style().alignment(HorizontalAlignment.CENTER));
|
|
|
|
|
|
|
|
CellStyle left = format.cellStyle(new Style().alignment(HorizontalAlignment.LEFT));
|
|
|
|
CellStyle center = xlsx.cellStyle(Styler.CENTER); // 가운데 정렬
|
|
|
|
CellStyle numeric = format.n_nn0();
|
|
|
|
CellStyle numeric = xlsx.n_nn0(); // 숫자 3자리 콤마(,)
|
|
|
|
CellStyle dateYMD = format.yyyy_mm_dd();
|
|
|
|
CellStyle dateYMD = xlsx.yyyy_mm_dd(); // 연월일
|
|
|
|
CellStyle dateDT = format.yyyy_mm_dd_hh_mm_ss();
|
|
|
|
CellStyle dateDT = xlsx.yyyy_mm_dd_hh_mm_ss(); // 연월일+시간
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
List<DataObject> list = levyService.getLevyList(req.setFetchSize(0));
|
|
|
|
List<DataObject> list = levyService.getLevyList(req.setFetchSize(0));
|
|
|
|
|
|
|
|
|
|
|
|
Map<String,Object> valueMap = new HashMap<String,Object>();
|
|
|
|
Map<String,Object> valueMap = new HashMap<String,Object>();
|
|
|
|
valueMap.put("업무구분", xlsx.style("TASK_SE_NM", center));
|
|
|
|
valueMap.put("업무구분", format.of("TASK_SE_NM").style(center));
|
|
|
|
valueMap.put("회계연도", xlsx.style("FYR", center));
|
|
|
|
valueMap.put("회계연도", format.of("FYR").style(center));
|
|
|
|
valueMap.put("회계코드", xlsx.style("ACNTG_SE_CD", center));
|
|
|
|
valueMap.put("회계코드", format.of("ACNTG_SE_CD").style(center));
|
|
|
|
valueMap.put("세목코드", xlsx.style("TXITM_CD", center));
|
|
|
|
valueMap.put("세목코드", format.of("TXITM_CD").style(center));
|
|
|
|
valueMap.put("세목명", xlsx.style("TXITM_NM", center));
|
|
|
|
valueMap.put("세목명", format.of("TXITM_NM").style(center));
|
|
|
|
valueMap.put("부과번호", xlsx.style("LEVY_NO", center));
|
|
|
|
valueMap.put("부과번호", format.of("LEVY_NO").style(center));
|
|
|
|
valueMap.put("분납순번", xlsx.style("INSPY_NO", center));
|
|
|
|
valueMap.put("분납순번", format.of("INSPY_NO").style(center));
|
|
|
|
valueMap.put("부과구분", xlsx.style("LEVY_SE_NM", center));
|
|
|
|
valueMap.put("부과구분", format.of("LEVY_SE_NM").style(center));
|
|
|
|
valueMap.put("통합구분", xlsx.style("UNTY_SE_NM", center));
|
|
|
|
valueMap.put("통합구분", format.of("UNTY_SE_NM").style(center));
|
|
|
|
valueMap.put("감경구분", xlsx.style("RDUCT_SE_NM", center));
|
|
|
|
valueMap.put("감경구분", format.of("RDUCT_SE_NM").style(center));
|
|
|
|
valueMap.put("부과일자", xlsx.format(o -> xlsx.str2date(o.get("LEVY_YMD"))).style(dateYMD));
|
|
|
|
valueMap.put("부과일자", FormatMaker.yyyy_mm_dd(format, "LEVY_YMD").style(dateYMD));
|
|
|
|
valueMap.put("최초납기일자", xlsx.format(o -> xlsx.str2date(o.get("FRST_DUDT_YMD"))).style(dateYMD));
|
|
|
|
valueMap.put("최초납기일자", FormatMaker.yyyy_mm_dd(format, "FRST_DUDT_YMD").style(dateYMD));
|
|
|
|
valueMap.put("납기일자", xlsx.format(o -> xlsx.str2date(o.get("DUDT_YMD"))).style(dateYMD));
|
|
|
|
valueMap.put("납기일자", FormatMaker.yyyy_mm_dd(format, "DUDT_YMD").style(dateYMD));
|
|
|
|
valueMap.put("과태료금액", xlsx.style("FFNLG_AMT", numeric));
|
|
|
|
valueMap.put("과태료금액", format.of("FFNLG_AMT").style(numeric));
|
|
|
|
valueMap.put("부과본세", xlsx.style("LEVY_PCPTAX", numeric));
|
|
|
|
valueMap.put("부과본세", format.of("LEVY_PCPTAX").style(numeric));
|
|
|
|
valueMap.put("부과가산금", xlsx.style("LEVY_ADAMT", numeric));
|
|
|
|
valueMap.put("부과가산금", format.of("LEVY_ADAMT").style(numeric));
|
|
|
|
valueMap.put("분납이자", xlsx.style("INSPY_INT", numeric));
|
|
|
|
valueMap.put("분납이자", format.of("INSPY_INT").style(numeric));
|
|
|
|
valueMap.put("수납본세", xlsx.style("RCVMT_PCPTAX", numeric));
|
|
|
|
valueMap.put("수납본세", format.of("RCVMT_PCPTAX").style(numeric));
|
|
|
|
valueMap.put("수납가산금", xlsx.style("RCVMT_ADAMT", numeric));
|
|
|
|
valueMap.put("수납가산금", format.of("RCVMT_ADAMT").style(numeric));
|
|
|
|
valueMap.put("감액본세", xlsx.style("RDCAMT_PCPTAX", numeric));
|
|
|
|
valueMap.put("감액본세", format.of("RDCAMT_PCPTAX").style(numeric));
|
|
|
|
valueMap.put("감액가산금", xlsx.style("RDCAMT_ADAMT", numeric));
|
|
|
|
valueMap.put("감액가산금", format.of("RDCAMT_ADAMT").style(numeric));
|
|
|
|
valueMap.put("미납금액", xlsx.style("SUM_AMT", numeric));
|
|
|
|
valueMap.put("미납금액", format.of("SUM_AMT").style(numeric));
|
|
|
|
valueMap.put("과세물건", "TXTN_THING");
|
|
|
|
valueMap.put("과세물건", format.of("TXTN_THING"));
|
|
|
|
valueMap.put("체납사유", "NPMNT_RSN_NM");
|
|
|
|
valueMap.put("체납사유", format.of("NPMNT_RSN_NM"));
|
|
|
|
valueMap.put("수납일자", xlsx.format(o -> xlsx.str2date(o.get("RCVMT_YMD"))).style(dateYMD));
|
|
|
|
valueMap.put("수납일자", FormatMaker.yyyy_mm_dd(format, "RCVMT_YMD").style(dateYMD));
|
|
|
|
valueMap.put("압류일자", xlsx.format(o -> xlsx.str2date(o.get("SZR_YMD"))).style(dateYMD));
|
|
|
|
valueMap.put("압류일자", FormatMaker.yyyy_mm_dd(format, "SZR_YMD").style(dateYMD));
|
|
|
|
valueMap.put("압류물건", "SZR_THING");
|
|
|
|
valueMap.put("압류물건", format.of("SZR_THING"));
|
|
|
|
valueMap.put("대체압류차량", "RPM_SZR_VHRNO");
|
|
|
|
valueMap.put("대체압류차량", format.of("RPM_SZR_VHRNO"));
|
|
|
|
valueMap.put("압류해제일자", xlsx.format(o -> xlsx.str2date(o.get("SZR_RMV_YMD"))).style(dateYMD));
|
|
|
|
valueMap.put("압류해제일자", FormatMaker.yyyy_mm_dd(format, "SZR_RMV_YMD").style(dateYMD));
|
|
|
|
valueMap.put("전자납부번호", "EPAYNO_MASK");
|
|
|
|
valueMap.put("전자납부번호", format.of("EPAYNO_MASK"));
|
|
|
|
valueMap.put("은행명", "BANK_NM");
|
|
|
|
valueMap.put("은행명", format.of("BANK_NM"));
|
|
|
|
valueMap.put("가상계좌번호", xlsx.style("VR_ACTNO", center));
|
|
|
|
valueMap.put("가상계좌번호", format.of("VR_ACTNO").style(center));
|
|
|
|
valueMap.put("은행명2", "BANK_NM2");
|
|
|
|
valueMap.put("은행명2", format.of("BANK_NM2"));
|
|
|
|
valueMap.put("가상계좌번호2", xlsx.style("VR_ACTNO2", center));
|
|
|
|
valueMap.put("가상계좌번호2", format.of("VR_ACTNO2").style(center));
|
|
|
|
valueMap.put("은행명3", "BANK_NM3");
|
|
|
|
valueMap.put("은행명3", format.of("BANK_NM3"));
|
|
|
|
valueMap.put("가상계좌번호3", xlsx.style("VR_ACTNO3", center));
|
|
|
|
valueMap.put("가상계좌번호3", format.of("VR_ACTNO3").style(center));
|
|
|
|
valueMap.put("단속일시", xlsx.format(o -> xlsx.str2datetime(o.get("CRDN_YMD_TM"))).style(dateDT));
|
|
|
|
valueMap.put("단속일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "CRDN_YMD_TM").style(dateDT));
|
|
|
|
valueMap.put("차량번호", "VHRNO");
|
|
|
|
valueMap.put("차량번호", format.of("VHRNO"));
|
|
|
|
valueMap.put("법정동", "CRDN_STDG_NM");
|
|
|
|
valueMap.put("법정동", format.of("CRDN_STDG_NM"));
|
|
|
|
valueMap.put("단속장소", "CRDN_PLC");
|
|
|
|
valueMap.put("단속장소", format.of("CRDN_PLC"));
|
|
|
|
valueMap.put("위반항목", "VLTN_ARTCL");
|
|
|
|
valueMap.put("위반항목", format.of("VLTN_ARTCL"));
|
|
|
|
valueMap.put("단속금액", xlsx.style("FFNLG_CRDN_AMT", numeric));
|
|
|
|
valueMap.put("단속금액", format.of("FFNLG_CRDN_AMT").style(numeric));
|
|
|
|
valueMap.put("처리상태", "CRDN_STTS_NM");
|
|
|
|
valueMap.put("처리상태", format.of("CRDN_STTS_NM"));
|
|
|
|
valueMap.put("납부자구분", xlsx.style("RTPYR_SE_NM", center));
|
|
|
|
valueMap.put("납부자구분", format.of("RTPYR_SE_NM").style(center));
|
|
|
|
valueMap.put("납부자번호", xlsx.style("RTPYR_NO", center));
|
|
|
|
valueMap.put("납부자번호", format.of("RTPYR_NO").style(center));
|
|
|
|
valueMap.put("납부자명", "RTPYR_NM");
|
|
|
|
valueMap.put("납부자명", format.of("RTPYR_NM"));
|
|
|
|
valueMap.put("우편번호", xlsx.style("ZIP", center));
|
|
|
|
valueMap.put("우편번호", format.of("ZIP").style(center));
|
|
|
|
valueMap.put("주소", "ADDR");
|
|
|
|
valueMap.put("주소", format.of("ADDR"));
|
|
|
|
valueMap.put("상세주소", "DTL_ADDR");
|
|
|
|
valueMap.put("상세주소", format.of("DTL_ADDR"));
|
|
|
|
valueMap.put("등록일시", xlsx.format(o -> xlsx.str2datetime(o.get("REG_DT"))).style(dateDT));
|
|
|
|
valueMap.put("등록일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "REG_DT").style(dateDT));
|
|
|
|
valueMap.put("등록사용자", xlsx.style("RGTR_NM", center));
|
|
|
|
valueMap.put("등록사용자", format.of("RGTR_NM").style(center));
|
|
|
|
valueMap.put("수정일시", xlsx.format(o -> xlsx.str2datetime(o.get("MDFCN_DT"))).style(dateDT));
|
|
|
|
valueMap.put("수정일시", FormatMaker.yyyy_mm_dd_hh_mm_ss(format, "MDFCN_DT").style(dateDT));
|
|
|
|
valueMap.put("수정사용자", xlsx.style("MDFR_NM", center));
|
|
|
|
valueMap.put("수정사용자", format.of("MDFR_NM").style(center));
|
|
|
|
|
|
|
|
|
|
|
|
CellDef.setValues(cellDefs, valueMap);
|
|
|
|
CellDef.setValues(cellDefs, valueMap);
|
|
|
|
|
|
|
|
|
|
|
|
xlsx.cell(0, 0)
|
|
|
|
xlsx.cell(0, 0).value("부과").value(center).merge(0, cellDefs.size() - 1)
|
|
|
|
.value("부과", center)
|
|
|
|
.cell(3, 0).rowValues(CellDef.header(cellDefs, () -> StyleMaker.headerStyle(xlsx)))
|
|
|
|
.merge(0, cellDefs.size() - 1)
|
|
|
|
.cell(4, 0).values(list, CellDef.values(cellDefs.stream().map(i -> {if(i.getValue() instanceof Format) {i.setField(null);}; return i;}).toList()));
|
|
|
|
.cell(3, 0)
|
|
|
|
xlsx.autoWidth();
|
|
|
|
.rowValues(CellDef.header(cellDefs, () -> CmmnUtil.headerStyle(xlsx)))
|
|
|
|
return new ModelAndView("downloadView")
|
|
|
|
.cell(4, 0)
|
|
|
|
.addObject("download", xlsx.getDownloadable().setFilename("부과" + "_목록_" + dateTime + ".xlsx"));
|
|
|
|
.values(list, CellDef.values(cellDefs));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return new ModelAndView("xlsView")
|
|
|
|
|
|
|
|
.addObject("xls", xlsx);
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|