From f2ccdc2389f4a4776445c4320284105ab3fe34c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=9C=A0=EC=A7=80=EC=9D=B8?= Date: Wed, 29 Oct 2025 11:01:09 +0900 Subject: [PATCH] =?UTF-8?q?=EA=B4=80=EB=A6=AC=EC=9E=90=20>=20(=EB=A9=94?= =?UTF-8?q?=EC=9D=B8)=EA=B2=80=EC=88=98=EB=93=B1=EB=A1=9D=EB=8C=80?= =?UTF-8?q?=EA=B8=B0=EA=B1=B4=EC=88=98=20>=20=EA=B2=80=EC=88=98=EB=93=B1?= =?UTF-8?q?=EB=A1=9D=EB=8C=80=EA=B8=B0=EB=AA=A9=EB=A1=9D=20-=20=ED=8E=98?= =?UTF-8?q?=EC=9D=B4=EC=A7=95=EC=B2=98=EB=A6=AC,=EC=86=8C=ED=8C=85?= =?UTF-8?q?=EC=B2=98=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../regi/manageList/ManageListController.java | 58 ++++- .../manageList/service/ManageListMapper.java | 4 + .../manageList/service/ManageListService.java | 4 + .../service/impl/ManageListServiceImpl.java | 10 + .../sqlmap/mapper/regi/manageList.xml | 241 +++++++++++++++++- .../webapp/WEB-INF/views/web/manage/list.jsp | 187 +++++++++++++- 6 files changed, 494 insertions(+), 10 deletions(-) diff --git a/src/main/java/geoinfo/regi/manageList/ManageListController.java b/src/main/java/geoinfo/regi/manageList/ManageListController.java index 152ef950..60307bbc 100644 --- a/src/main/java/geoinfo/regi/manageList/ManageListController.java +++ b/src/main/java/geoinfo/regi/manageList/ManageListController.java @@ -15,6 +15,7 @@ import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.servlet.ModelAndView; import com.fasterxml.jackson.databind.ObjectMapper; @@ -25,6 +26,7 @@ import egovframework.rte.psl.dataaccess.util.EgovMap; import geoinfo.regi.info.service.InfoService; import geoinfo.regi.manageList.service.ManageListService; import geoinfo.regi.status.service.RegiPageService; +import geoinfo.util.MyUtil; import ictway.comm.util.parseData; import ictway.comm.util.strUtil; import ictway.comm.web.WebUtil; @@ -85,7 +87,8 @@ public class ManageListController { // SelectBox형태로 map으로 받기 HashMap mapCommon = wUtil.getCommCodeSel(commCode, arrayCommon,""); - ArrayList result = masterService.getDataList(params); +// ArrayList result = masterService.getDataList(params); + ArrayList result = new ArrayList<>(); count = commonService.getCommonCodeCount(); @@ -102,6 +105,59 @@ public class ManageListController { return "/web/manage/list"; }; + /** + * kendo grid 목록데이타 AJAX 요청 + * @throws Exception + */ + @RequestMapping("/getManageList.do") + @ResponseBody + public Map getManageList(HttpServletRequest request, HttpServletResponse response, @RequestParam HashMap params) throws Exception { + + int page = params.get("page").toString() != null ? Integer.parseInt(params.get("page").toString()) : 1; + int pageSize = params.get("pageSize") != null ? Integer.parseInt((String)params.get("pageSize")) : 10; // 기본값 10 + + // 정렬 필드/방향 처리 + String sortField = (String) params.get("sort[0][field]"); + String sortDir = (String) params.get("sort[0][dir]"); + + // 기본 정렬 지정 (없을 경우) + if (sortField == null || sortField.isEmpty()) sortField = "datetime"; + if (sortDir == null || sortDir.isEmpty()) sortDir = "desc"; + + // MyBatis에 넣을 때는 깔끔하게 키 이름 정리 + params.put("sortField", sortField); + params.put("sortDir", sortDir); + + int nCls = MyUtil.getIntegerFromObject(request.getSession().getAttribute("CLS")); + strUtil sUtil = new strUtil(); + WebUtil wUtil = new WebUtil(); + wUtil.topTabId = "manageCoordinate"; // 검수일때 tab 활성화 시켜주기 위해 + String loginUserId = String.valueOf(request.getSession().getAttribute("USERID")); + // requestString srchReportType = sUtil.checkNull(parseData.parseData((String)params.get("searchReportType"))); + String searchProjectName = sUtil.checkNull(parseData.parseData((String)params.get("searchProjectName"))); + String searchProjectCode = sUtil.checkNull(parseData.parseData((String)params.get("searchProjectCode"))); + String searchHistSeq = sUtil.checkNull(parseData.parseData((String)params.get("searchHistSeq"))); + String searchUserName = sUtil.checkNull(parseData.parseData((String)params.get("searchUserName"))); + String searchState = sUtil.checkNull(parseData.parseData((String)params.get("searchState"))); + + params.put("loginUserId", loginUserId); + params.put("cls", nCls); + params.put("startRow", ((page - 1) * pageSize) + 1); + if (page > 1) { + params.put("endRow", (((page - 1) * pageSize) + 1) + pageSize - 1); // startRow + pageSize - 1 + } else { + params.put("endRow", 10); + } + + List items = masterService.getDataListPaging(params); + int total = masterService.getDataListCount(params); + + Map result = new HashMap<>(); + result.put("items", items); + result.put("total", total); + return result; + } + // 지반정보등록 (관리자) - 일반 입력자도 여기 로직을 통해 화면이 보여짐. @RequestMapping(value = "/meta_info.do") public String meta_info(@RequestParam HashMap params, diff --git a/src/main/java/geoinfo/regi/manageList/service/ManageListMapper.java b/src/main/java/geoinfo/regi/manageList/service/ManageListMapper.java index 96a3ed1c..05828753 100644 --- a/src/main/java/geoinfo/regi/manageList/service/ManageListMapper.java +++ b/src/main/java/geoinfo/regi/manageList/service/ManageListMapper.java @@ -9,6 +9,10 @@ import egovframework.rte.psl.dataaccess.util.EgovMap; @Mapper("manageListMapper") public interface ManageListMapper { + public Integer getDataListCount(HashMap params) throws Exception; + + public ArrayList getDataListPaging(HashMap params) throws Exception; + public ArrayList getDataList(HashMap params) throws Exception; public EgovMap getModeifyCallReason(HashMap params) throws Exception; diff --git a/src/main/java/geoinfo/regi/manageList/service/ManageListService.java b/src/main/java/geoinfo/regi/manageList/service/ManageListService.java index a9f579d3..c3493d34 100644 --- a/src/main/java/geoinfo/regi/manageList/service/ManageListService.java +++ b/src/main/java/geoinfo/regi/manageList/service/ManageListService.java @@ -8,6 +8,10 @@ import egovframework.rte.psl.dataaccess.util.EgovMap; public interface ManageListService { + public Integer getDataListCount(HashMap params) throws Exception; + + public ArrayList getDataListPaging(HashMap params) throws Exception; + public ArrayList getDataList(HashMap params) throws Exception; public EgovMap getModeifyCallReason(HashMap params) throws Exception; diff --git a/src/main/java/geoinfo/regi/manageList/service/impl/ManageListServiceImpl.java b/src/main/java/geoinfo/regi/manageList/service/impl/ManageListServiceImpl.java index 46a22de8..5c9cfe42 100644 --- a/src/main/java/geoinfo/regi/manageList/service/impl/ManageListServiceImpl.java +++ b/src/main/java/geoinfo/regi/manageList/service/impl/ManageListServiceImpl.java @@ -17,6 +17,16 @@ public class ManageListServiceImpl implements ManageListService { @Resource(name = "manageListMapper") private ManageListMapper manageListMapper; + @Override + public Integer getDataListCount(HashMap params) throws Exception { + return manageListMapper.getDataListCount(params); + } + + @Override + public ArrayList getDataListPaging(HashMap params) throws Exception { + return manageListMapper.getDataListPaging(params); + } + @Override public ArrayList getDataList(HashMap params) throws Exception { return manageListMapper.getDataList(params); diff --git a/src/main/resources/egovframework/sqlmap/mapper/regi/manageList.xml b/src/main/resources/egovframework/sqlmap/mapper/regi/manageList.xml index 799f760c..ee8f6316 100644 --- a/src/main/resources/egovframework/sqlmap/mapper/regi/manageList.xml +++ b/src/main/resources/egovframework/sqlmap/mapper/regi/manageList.xml @@ -25,7 +25,7 @@ , T.MAP , T.MODIFYCALL , DECODE(T.STATE,'2','true',DECODE(T.STATE,'3','true',DECODE(T.STATE,'5','true','false'))) AS CURSOR - , OB.HIST_SEQ + , NVL(OB.HIST_SEQ, 0) HIST_SEQ , TO_CHAR(OC.DATETIME, 'YYYY-MM-DD HH24:MI:SS') AS REG_FIN_DATE , TO_CHAR(OB.MODIFY_CALL_DATE, 'YYYY-MM-DD HH24:MI:SS') AS MODIFY_CALL_DATE , TO_CHAR(OB.MODIFY_FIN_DATE, 'YYYY-MM-DD HH24:MI:SS') AS MODIFY_FIN_DATE @@ -91,6 +91,245 @@ + + + + + +