diff --git a/src/main/java/cokr/xit/fims/excl/service/LevyExclService.java b/src/main/java/cokr/xit/fims/excl/service/LevyExclService.java
index cd16e707..c5e1575a 100644
--- a/src/main/java/cokr/xit/fims/excl/service/LevyExclService.java
+++ b/src/main/java/cokr/xit/fims/excl/service/LevyExclService.java
@@ -63,31 +63,4 @@ public interface LevyExclService {
*/
String removeLevyExcl(LevyExcl levyExcl);
- /**부과제외 대장 정보를 등록한다.
- * @param levyExcl 부과제외 대장
- * @return 저장 여부
- *
- 저장됐으면 true
- * - 그렇지 않으면 false
- *
- */
- boolean create(LevyExcl levyExcl);
-
- /**부과제외 대장 정보를 수정한다.
- * @param levyExcl 부과제외 대장
- * @return 저장 여부
- * - 저장됐으면 true
- * - 그렇지 않으면 false
- *
- */
- boolean update(LevyExcl levyExcl);
-
- /**부과제외 대장 정보를 삭제한다.
- * @param levyExcl 부과제외 대장
- * @return 저장 여부
- * - 저장됐으면 true
- * - 그렇지 않으면 false
- *
- */
- boolean remove(LevyExcl levyExcl);
-
}
diff --git a/src/main/java/cokr/xit/fims/excl/service/bean/LevyExclBean.java b/src/main/java/cokr/xit/fims/excl/service/bean/LevyExclBean.java
index 6553ec34..9385ad46 100644
--- a/src/main/java/cokr/xit/fims/excl/service/bean/LevyExclBean.java
+++ b/src/main/java/cokr/xit/fims/excl/service/bean/LevyExclBean.java
@@ -278,39 +278,6 @@ public class LevyExclBean extends AbstractComponent {
return rtnMsg;
}
- /**부과제외 대장 정보를 등록한다.
- * @param levyExcl 부과제외 대장
- * @return 저장 여부
- * - 저장됐으면 true
- * - 그렇지 않으면 false
- *
- */
- public boolean create(LevyExcl levyExcl) {
- return levyExclMapper.insert(levyExcl);
- }
-
- /**부과제외 대장 정보를 수정한다.
- * @param levyExcl 부과제외 대장
- * @return 저장 여부
- * - 저장됐으면 true
- * - 그렇지 않으면 false
- *
- */
- public boolean update(LevyExcl levyExcl) {
- return levyExclMapper.update(levyExcl);
- }
-
- /**부과제외 대장 정보를 삭제한다.
- * @param levyExcl 부과제외 대장
- * @return 저장 여부
- * - 저장됐으면 true
- * - 그렇지 않으면 false
- *
- */
- public boolean remove(LevyExcl levyExcl) {
- return levyExclMapper.delete(levyExcl);
- }
-
}
diff --git a/src/main/java/cokr/xit/fims/excl/service/bean/LevyExclServiceBean.java b/src/main/java/cokr/xit/fims/excl/service/bean/LevyExclServiceBean.java
index 913abb9e..64abde7e 100644
--- a/src/main/java/cokr/xit/fims/excl/service/bean/LevyExclServiceBean.java
+++ b/src/main/java/cokr/xit/fims/excl/service/bean/LevyExclServiceBean.java
@@ -92,19 +92,4 @@ public class LevyExclServiceBean extends AbstractServiceBean implements LevyExcl
return rtnMsg;
}
- @Override
- public boolean create(LevyExcl levyExcl) {
- return levyExclBean.create(levyExcl);
- }
-
- @Override
- public boolean update(LevyExcl levyExcl) {
- return levyExclBean.update(levyExcl);
- }
-
- @Override
- public boolean remove(LevyExcl levyExcl) {
- return levyExclBean.remove(levyExcl);
- }
-
}
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 4c63c8dc..1ed1d511 100644
--- a/src/main/java/cokr/xit/fims/excl/web/Excl01Controller.java
+++ b/src/main/java/cokr/xit/fims/excl/web/Excl01Controller.java
@@ -3,15 +3,17 @@ package cokr.xit.fims.excl.web;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
-import java.util.function.BiFunction;
import javax.annotation.Resource;
import org.apache.poi.ss.usermodel.CellStyle;
import org.springframework.web.servlet.ModelAndView;
+import com.fasterxml.jackson.core.type.TypeReference;
+
import cokr.xit.base.code.CommonCode;
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.user.ManagedUser;
import cokr.xit.base.web.ApplicationController;
@@ -91,69 +93,51 @@ public class Excl01Controller extends ApplicationController {
List> result = levyExclService.getLevyExclList(setFetchSize(req));
return setCollectionInfo(new ModelAndView("jsonView"), result, "levyExcl");
} else {
+ ArrayList cellDefs = fromJson(req.getCellDefs(), new TypeReference>() {});
+
XLSWriter xlsx = new XLSWriter()
.setFilename("부과제외 목록.xlsx")
.worksheet(0);
- CellStyle center = xlsx.cellStyle(Styler.CENTER) // 가운데 정렬
- , numeric = xlsx.n_nn0() // 숫자 3자리 콤마(,)
- , dateYMD = xlsx.yyyy_mm_dd() // 연월일
- , dateDT = xlsx.yyyy_mm_dd_hh_mm_ss(); // 연월일+시간
-
- String[] excelTitle = req.getExcelTitle();
- List titles = new ArrayList();
- for (int iLoop = 0; iLoop < excelTitle.length; iLoop++) {
- String item = excelTitle[iLoop];
- titles.add(item);
- }
+ 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(); // 연월일+시간
- int[] excelTitleWidth = req.getExcelTitleWidth();
- List widths = new ArrayList<>();
- for (int jLoop = 0; jLoop < excelTitleWidth.length; jLoop++) {
- int item = excelTitleWidth[jLoop];
- widths.add(item);
- }
+ List list = levyExclService.getLevyExclList(req.setFetchSize(0));
- List headerStylers = CmmnUtil.makeHeadersByDiffrentWidths(widths, xlsx);
+ CellDef.setValues(cellDefs, Map.ofEntries(
+ Map.entry("업무구분", xlsx.style("TASK_SE_NM", center))
+ , Map.entry("부과제외일자", xlsx.format(o -> xlsx.str2date(o.get("LEVY_EXCL_YMD"))).style(dateYMD))
+ , Map.entry("부과제외구분", xlsx.style("LEVY_EXCL_SE_NM", center))
+ , Map.entry("부과제외사유", "LEVY_EXCL_RSN_NM")
+ , Map.entry("기타내용", "ETC_CN")
+ , 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.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("납부자명", "RTPYR_NM")
+ , Map.entry("납부자생일", xlsx.style("RTPYR_BRDT_MASK", center))
+ , 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("부과제외", XLSWriter.Styler.CENTER)
- .merge(0, 11)
- .cell(3, 0)
- .rowValues(CmmnUtil.mergeListByIndex(titles, headerStylers));
-
- List list = levyExclService.getLevyExclList(req.setFetchSize(0));
-
- BiFunction getValue = (titleNm, nothing) -> {
- switch (titleNm) {
- case "업무구분" : return xlsx.style("TASK_SE_NM", center);
- case "부과제외일자" : return xlsx.format(o -> xlsx.str2date(o.get("LEVY_EXCL_YMD"))).style(dateYMD);
- case "부과제외구분" : return xlsx.style("LEVY_EXCL_SE_NM", center);
- case "부과제외사유" : return xlsx.style("LEVY_EXCL_RSN_NM", center);
- case "기타내용" : return "ETC_CN";
- 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.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 "RTPYR_NM";
- case "납부자생일" : return xlsx.style("RTPYR_BRDT_MASK", center);
- 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());
+ .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);
@@ -269,47 +253,4 @@ public class Excl01Controller extends ApplicationController {
.addObject("rtnMsg", rtnMsg);
}
- /**부과제외 대장를 등록한다.
- * @param levyExcl 부과제외 대장 정보
- * @return jsonView
- * {
- * "saved": 등록되었으면 true, 그렇지 않으면 false
- * }
- */
-// @PostMapping(name = "부과제외 대장 등록", value = "/create.do")
- public ModelAndView create(LevyExcl levyExcl) {
- boolean saved = levyExclService.create(levyExcl);
- return new ModelAndView("jsonView")
- .addObject("saved", saved);
- }
-
- /**부과제외 대장 정보를 수정한다.
- * @param levyExcl 부과제외 대장 정보
- * @return jsonView
- * {
- * "saved": 수정되었으면 true, 그렇지 않으면 false
- * }
- */
-// @PostMapping(name = "부과제외 대장 수정", value = "/update.do")
- public ModelAndView update(LevyExcl levyExcl) {
- boolean saved = levyExclService.update(levyExcl);
- return new ModelAndView("jsonView")
- .addObject("saved", saved);
- }
-
- /**지정한 부과제외 대장를 제거한다.
- * @param levyExclIDs 부과제외 대장 아이디
- * @return jsonView
- * {
- * "affected": 저장된 정보수
- * "saved": 저장되었으면 true, 그렇지 않으면 false
- * }
- */
-// @PostMapping(name = "부과제외 대장 제거", value = "/remove.do")
- public ModelAndView remove(LevyExcl levyExcl) {
- boolean saved = levyExclService.remove(levyExcl);
- return new ModelAndView("jsonView")
- .addObject("saved", saved);
- }
-
}
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 fa7f3ecb..3c3b4c29 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
@@ -213,7 +213,6 @@
위반항목 |
최초단속금액 |
처리상태 |
- 납부자번호 |
납부자명 |
납부자생일 |
등록일시 |
@@ -244,7 +243,6 @@
{VLTN_ARTCL} |
{FFNLG_CRDN_AMT} |
{CRDN_STTS_NM} |
- {RTPYR_NO} |
{RTPYR_NM} |
{RTPYR_BRDT_MASK} |
{REG_DT} |
@@ -559,26 +557,21 @@
// 엑셀 버튼 이벤트
fnExcel${pageName} = () => {
- if (${pageName}Control.dataset.empty) {
+ if (${pageName}Control.dataset.empty) {
dialog.alert({
content : "검색된 자료가 없습니다."
, onOK : () => { }
});
return;
- }
-
- // DataTables(그리드) 타이틀
- let headerInfo = $("#theadTr--${pageName} th").not(".dummy-th").not(":eq(0)").getHeaderInfo();
- ${pageName}Control.query.excelTitle = headerInfo.excelTitle;
- ${pageName}Control.query.excelTitleWidth = headerInfo.excelTitleWidth;
+ }
- // DataTables(그리드) 데이터
- let cellDefs = getCellDefs($("#theadTr--${pageName} th").not(".dummy-th").not(":eq(0)")
- , $($("#${infoPrefix}Row--${pageName}")[0].content).find("td").not(".dummy-td").not(":eq(0)"));
- ${pageName}Control.query.cellDefs = cellDefs;
+ // DataTables(그리드)
+ let cellDefs = getCellDefs($("#theadTr--${pageName} th").not(".dummy-th").not(":eq(0)")
+ , $($("#${infoPrefix}Row--${pageName}")[0].content).find("td").not(".dummy-td").not(":eq(0)"));
+ ${pageName}Control.query.cellDefs = cellDefs;
- ${pageName}Control.download();
+ ${pageName}Control.download();
}
// 사용자 조회 버튼 이벤트