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 b5842696..f6c6c77f 100644 --- a/src/main/java/cokr/xit/fims/excl/web/Excl01Controller.java +++ b/src/main/java/cokr/xit/fims/excl/web/Excl01Controller.java @@ -76,7 +76,7 @@ public class Excl01Controller extends ApplicationController { .addObject("pageName", "excl01010") // View(jsp)에서 사용할 id 뒤에 붙일 suffix .addObject("infoPrefix", "levyExcl") // prefix .addObject("sggCd", managedUser.getOrgID()) // 시군구 코드(SGG_CD) - .addObject("TaskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))) + .addObject("taskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))) .addObject("FIM021List", commonCodes.get("FIM021")) // 부과 제외 구분 코드(LEVY_EXCL_SE_CD) .addObject("FIM022List", commonCodes.get("FIM022")) // 부과 제외 사유 코드(LEVY_EXCL_RSN_CD) .addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD) diff --git a/src/main/java/cokr/xit/fims/excl/web/Excl02Controller.java b/src/main/java/cokr/xit/fims/excl/web/Excl02Controller.java index 23a29b04..b52a8fa8 100644 --- a/src/main/java/cokr/xit/fims/excl/web/Excl02Controller.java +++ b/src/main/java/cokr/xit/fims/excl/web/Excl02Controller.java @@ -87,7 +87,7 @@ public class Excl02Controller extends ApplicationController { .addObject("pageName", "excl02010") // View(jsp)에서 사용할 id 뒤에 붙일 suffix .addObject("infoPrefix", "opnnSbmsn") // prefix .addObject("sggCd", managedUser.getOrgID()) // 시군구 코드(SGG_CD) - .addObject("TaskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))) + .addObject("taskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))) .addObject("FIM031List", commonCodes.get("FIM031")) // 의견 제출 답변 결과(OPNN_SBMSN_STTS_CD) .addObject("FIM033List", commonCodes.get("FIM033")) // 의견제출 구분 코드(OPNN_SBMSN_SE_CD) .addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD) diff --git a/src/main/java/cokr/xit/fims/excl/web/Excl03Controller.java b/src/main/java/cokr/xit/fims/excl/web/Excl03Controller.java index 1ac93502..f5e19d74 100644 --- a/src/main/java/cokr/xit/fims/excl/web/Excl03Controller.java +++ b/src/main/java/cokr/xit/fims/excl/web/Excl03Controller.java @@ -74,7 +74,7 @@ public class Excl03Controller extends ApplicationController { .addObject("pageName", "excl03010") // View(jsp)에서 사용할 id 뒤에 붙일 suffix .addObject("infoPrefix", "crdnReReg") // prefix .addObject("sggCd", managedUser.getOrgID()) // 시군구 코드(SGG_CD) - .addObject("TaskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))) + .addObject("taskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))) .addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD) ; } diff --git a/src/main/java/cokr/xit/fims/levy/web/Levy01Controller.java b/src/main/java/cokr/xit/fims/levy/web/Levy01Controller.java index eeb05495..0d20edf5 100644 --- a/src/main/java/cokr/xit/fims/levy/web/Levy01Controller.java +++ b/src/main/java/cokr/xit/fims/levy/web/Levy01Controller.java @@ -20,6 +20,7 @@ import cokr.xit.base.user.ManagedUser; import cokr.xit.base.web.ApplicationController; import cokr.xit.fims.cmmn.CmmnQuery; import cokr.xit.fims.cmmn.CmmnUtil; +import cokr.xit.fims.cmmn.service.bean.StngBean; import cokr.xit.fims.levy.Levy; import cokr.xit.fims.levy.LevyQuery; import cokr.xit.fims.levy.service.LevyService; @@ -59,6 +60,9 @@ public class Levy01Controller extends ApplicationController { @Resource(name = "taskService") private TaskService taskService; + @Resource(name = "stngBean") + private StngBean stngBean; + /**사전 감경부과 대상 메인화면(levy/levy01010-main)을 연다. * @return */ @@ -77,6 +81,7 @@ public class Levy01Controller extends ApplicationController { .addObject("pageName", "levy01010") // View(jsp)에서 사용할 id 뒤에 붙일 suffix .addObject("infoPrefix", "rductLevyTrgt") // prefix .addObject("sggCd", managedUser.getOrgID()) // 시군구 코드(SGG_CD) + .addObject("taskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))) .addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD) ; } @@ -219,6 +224,7 @@ public class Levy01Controller extends ApplicationController { return mav.addObject("pageName", "levy01050") // View(jsp)에서 사용할 id 뒤에 붙일 suffix .addObject("infoPrefix", "levy") // prefix .addObject("sggCd", managedUser.getOrgID()) // 시군구 코드(SGG_CD) + .addObject("taskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))) .addObject("FIM010List", commonCodes.get("FIM010")) // 단속 상태 코드(CRDN_STTS_CD) .addObject("FIM046List", commonCodes.get("FIM046")) // 감경 구분 코드(RDUCT_SE_CD) .addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD) diff --git a/src/main/java/cokr/xit/fims/rcvm/web/Rcvm01Controller.java b/src/main/java/cokr/xit/fims/rcvm/web/Rcvm01Controller.java index bbfb7a72..79e5e979 100644 --- a/src/main/java/cokr/xit/fims/rcvm/web/Rcvm01Controller.java +++ b/src/main/java/cokr/xit/fims/rcvm/web/Rcvm01Controller.java @@ -19,6 +19,7 @@ import cokr.xit.base.file.xls.XLSWriter.Styler; import cokr.xit.base.user.ManagedUser; import cokr.xit.base.web.ApplicationController; import cokr.xit.fims.cmmn.CmmnUtil; +import cokr.xit.fims.cmmn.service.bean.StngBean; import cokr.xit.fims.rcvm.Rcvmt; import cokr.xit.fims.rcvm.RcvmtQuery; import cokr.xit.fims.rcvm.service.RcvmtService; @@ -54,6 +55,9 @@ public class Rcvm01Controller extends ApplicationController { @Resource(name = "rcvmtService") private RcvmtService rcvmtService; + @Resource(name = "stngBean") + private StngBean stngBean; + /**수납 대장 관리 메인화면(rcvmt/rcvmt-main)을 연다. * 조건없는 {@link #getRcvmtList(RcvmtQuery) 수납 대장 조회 결과}를 포함시킨다. * @return /rcvmt/rcvmt-main @@ -72,6 +76,7 @@ public class Rcvm01Controller extends ApplicationController { .addObject("pageName", "rcvm01010") // View(jsp)에서 사용할 id 뒤에 붙일 suffix .addObject("infoPrefix", "rcvmt") // prefix .addObject("sggCd", managedUser.getOrgID()) // 시군구 코드(SGG_CD) + .addObject("taskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))) .addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD) ; } 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 e21126ac..883a05a5 100644 --- a/src/main/java/cokr/xit/fims/sndb/web/Sndb01Controller.java +++ b/src/main/java/cokr/xit/fims/sndb/web/Sndb01Controller.java @@ -133,7 +133,7 @@ public class Sndb01Controller extends ApplicationController { .addObject("pageName", "sndb01010") // View(jsp)에서 사용할 id 뒤에 붙일 suffix .addObject("infoPrefix", "wrngTrgt") // prefix .addObject("sggCd", managedUser.getOrgID()) // 시군구 코드(SGG_CD) - .addObject("TaskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))) // 시군구에서 사용하는 업무 목록 + .addObject("taskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))) // 시군구에서 사용하는 업무 목록 .addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD) .addObject("FIM004List", commonCodes.get("FIM004")) // 주정차위반 내역 코드(VLTN_ID) .addObject("FIM005List", commonCodes.get("FIM005")) // 전용차로위반 내역 코드(VLTN_ID) @@ -285,7 +285,7 @@ public class Sndb01Controller extends ApplicationController { .addObject("pageName", "sndb01030") // View(jsp)에서 사용할 id 뒤에 붙일 suffix .addObject("infoPrefix", "wrngSndng") // prefix .addObject("sggCd", managedUser.getOrgID()) // 시군구 코드(SGG_CD) - .addObject("TaskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))) // 시군구에서 사용하는 업무 목록 + .addObject("taskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))) // 시군구에서 사용하는 업무 목록 .addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD) ; } @@ -466,7 +466,7 @@ public class Sndb01Controller extends ApplicationController { .addObject("pageName", "sndb01050") // View(jsp)에서 사용할 id 뒤에 붙일 suffix .addObject("infoPrefix", "advntceTrgt") // prefix .addObject("sggCd", managedUser.getOrgID()) // 시군구 코드(SGG_CD) - .addObject("TaskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))) // 시군구에서 사용하는 업무 목록 + .addObject("taskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))) // 시군구에서 사용하는 업무 목록 .addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD) .addObject("FIM004List", commonCodes.get("FIM004")) // 주정차위반 내역 코드(VLTN_CD) .addObject("FIM005List", commonCodes.get("FIM005")) // 전용차로위반 내역 코드(VLTN_CD) @@ -621,7 +621,7 @@ public class Sndb01Controller extends ApplicationController { .addObject("pageName", "sndb01070") // View(jsp)에서 사용할 id 뒤에 붙일 suffix .addObject("infoPrefix", "advntceSndng") // prefix .addObject("sggCd", managedUser.getOrgID()) // 시군구 코드(SGG_CD) - .addObject("TaskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))) // 시군구에서 사용하는 업무 목록 + .addObject("taskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))) // 시군구에서 사용하는 업무 목록 .addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD) ; } @@ -807,7 +807,7 @@ public class Sndb01Controller extends ApplicationController { return mav.addObject("pageName", "sndb01090") // View(jsp)에서 사용할 id 뒤에 붙일 suffix .addObject("infoPrefix", "nhtSndng") // prefix .addObject("sggCd", managedUser.getOrgID()) // 시군구 코드(SGG_CD) - .addObject("TaskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))) // 시군구에서 사용하는 업무 목록 + .addObject("taskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))) // 시군구에서 사용하는 업무 목록 .addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD) ; } @@ -1165,7 +1165,7 @@ public class Sndb01Controller extends ApplicationController { return mav.addObject("pageName", "sndb01230") // View(jsp)에서 사용할 id 뒤에 붙일 suffix .addObject("infoPrefix", "sndbk") // prefix .addObject("sggCd", managedUser.getOrgID()) // 시군구 코드(SGG_CD) - .addObject("TaskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))) // 시군구에서 사용하는 업무 목록 + .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) @@ -1270,7 +1270,7 @@ public class Sndb01Controller extends ApplicationController { return mav.addObject("pageName", "sndb01240") // View(jsp)에서 사용할 id 뒤에 붙일 suffix .addObject("infoPrefix", "svbtc") // prefix .addObject("sggCd", managedUser.getOrgID()) // 시군구 코드(SGG_CD) - .addObject("TaskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))) // 시군구에서 사용하는 업무 목록 + .addObject("taskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))) // 시군구에서 사용하는 업무 목록 .addObject("FIM047List", commonCodes.get("FIM047")) // 발송 구분 코드(SNDNG_SE_CD) ; } diff --git a/src/main/java/cokr/xit/fims/sprt/web/Sprt04Controller.java b/src/main/java/cokr/xit/fims/sprt/web/Sprt04Controller.java index 7de5bb91..6b881660 100644 --- a/src/main/java/cokr/xit/fims/sprt/web/Sprt04Controller.java +++ b/src/main/java/cokr/xit/fims/sprt/web/Sprt04Controller.java @@ -1,15 +1,25 @@ package cokr.xit.fims.sprt.web; +import java.text.SimpleDateFormat; +import java.util.ArrayList; import java.util.List; import java.util.Map; 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; +import cokr.xit.fims.cmmn.CmmnUtil; +import cokr.xit.fims.cmmn.service.bean.StngBean; import cokr.xit.fims.sprt.CvlcptDscsn; import cokr.xit.fims.sprt.CvlcptDscsnQuery; import cokr.xit.fims.sprt.service.Sprt04Service; @@ -45,6 +55,9 @@ public class Sprt04Controller extends ApplicationController { @Resource(name = "sprt04Service") private Sprt04Service sprt04Service; + @Resource(name = "stngBean") + private StngBean stngBean; + /**민원 상담 내용 관리 메인화면(fims/sprt/sprt04/010-main)을 연다. * * @return /fims/sprt/sprt04010 @@ -62,6 +75,7 @@ public class Sprt04Controller extends ApplicationController { return mav.addObject("pageName", "sprt04010") // View(jsp)에서 사용할 id 뒤에 붙일 suffix .addObject("infoPrefix", "cvlcptDscsn") // prefix .addObject("sggCd", managedUser.getOrgID()) // 시군구 코드(SGG_CD) + .addObject("taskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))) .addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD) ; } @@ -78,9 +92,54 @@ public class Sprt04Controller extends ApplicationController { * } */ public ModelAndView getCvlcptDscsnList(CvlcptDscsnQuery req) { - List result = sprt04Service.getCvlcptDscsnList(setFetchSize(req)); - - return setCollectionInfo(new ModelAndView("jsonView"), result, "cvlcptDscsn"); + if (!"xls".equals(req.getDownload())) { + List result = sprt04Service.getCvlcptDscsnList(setFetchSize(req)); + return setCollectionInfo(new ModelAndView("jsonView"), result, "cvlcptDscsn"); + } else { + // 현재 날짜 구하기 + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); + String dateTime = dateFormat.format(System.currentTimeMillis()); + + ArrayList cellDefs = fromJson(req.getCellDefs(), new TypeReference>() {}); + + XLSWriter xlsx = new XLSWriter() + .setFilename("민원상담" + "_목록_" + dateTime + ".xlsx") + .worksheet(0); + + // CellStyle 지정은 여기에서.. + CellStyle center = xlsx.cellStyle(Styler.CENTER); // 가운데 정렬 + CellStyle dateYMD = xlsx.yyyy_mm_dd(); // 연월일 + CellStyle dateDT = xlsx.yyyy_mm_dd_hh_mm_ss(); // 연월일+시간 + + List list = sprt04Service.getCvlcptDscsnList(req.setFetchSize(0)); + + CellDef.setValues(cellDefs, Map.ofEntries( + Map.entry("민원접수구분", xlsx.style("CVLCPT_RCPT_SE_NM", center)) + , Map.entry("상담일자", xlsx.format(o -> xlsx.str2date(o.get("DSCSN_YMD"))).style(dateYMD)) + , Map.entry("요일", xlsx.style("WEEK_NM", center)) + , Map.entry("성명", xlsx.style("CVLPR_NM", center)) + , Map.entry("연락처", xlsx.style("CVLPR_CTTPC", center)) + , Map.entry("상담내용", "DSCSN_CN") + , Map.entry("차량번호", "VHRNO") + , Map.entry("납부자번호", xlsx.style("RTPYR_NO", 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("민원상담", 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); + } } /**지정한 ID의 민원 상담 정보(info)를 반환한다. 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 5666d48c..f1b5f628 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 @@ -39,7 +39,7 @@
- +