From e4b077eb20532e22029af057698fcb624c466f7e Mon Sep 17 00:00:00 2001 From: thkim Date: Tue, 11 Nov 2025 10:28:00 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=EB=B0=9C=EC=A3=BC=EA=B8=B0=EA=B4=80=20?= =?UTF-8?q?=EC=86=8C=EC=86=8D=20=EC=8B=9C=EC=B6=94=EA=B3=B5=EB=A7=8C=20?= =?UTF-8?q?=EB=B3=B4=EC=9D=B4=EB=8F=84=EB=A1=9D=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../inquiry/DrillingInquiryController.java | 74 +++++++++++++++ .../service/DrillingInquiryMapper.java | 2 + .../service/DrillingInquiryService.java | 3 +- .../impl/DrillingInquiryServiceImpl.java | 90 +++++++++++++++++++ .../regi/manageList/ManageListController.java | 6 +- .../inquiry/DrillingInquiryMapper.xml | 22 +++++ src/main/webapp/WEB-INF/views/map/index.jsp | 1 + src/main/webapp/js/map/main/map.js | 88 ++++++++++++------ 8 files changed, 258 insertions(+), 28 deletions(-) diff --git a/src/main/java/geoinfo/drilling/inquiry/DrillingInquiryController.java b/src/main/java/geoinfo/drilling/inquiry/DrillingInquiryController.java index 47e37894..05626a23 100644 --- a/src/main/java/geoinfo/drilling/inquiry/DrillingInquiryController.java +++ b/src/main/java/geoinfo/drilling/inquiry/DrillingInquiryController.java @@ -183,6 +183,80 @@ public class DrillingInquiryController { } + System.out.println( + "\n--------------------------------------------------------------\n" + + request.getRequestURI() + " OUT:" + + "\n--------------------------------------------------------------\n" + + "jSONOResponse.toJSONString():[" + jSONOResponse.toJSONString() + "]\n" + + "\n--------------------------------------------------------------\n" + ); + + + int contentLength = 0; + try { + contentLength = jSONOResponse.toJSONString().getBytes("UTF-8").length; + } catch (UnsupportedEncodingException e1) { + // TODO Auto-generated catch block + e1.printStackTrace(); + } + response.setStatus(HttpServletResponse.SC_OK); + response.setCharacterEncoding("UTF-8"); + response.setHeader("Content-Type", "application/json; charset=utf-8"); + response.setContentLength(contentLength); // Content-Length 설정 + try { + response.getWriter().print(jSONOResponse); + } catch (IOException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + return null; + } + + /** + * 발주기관에 소속된 프로젝트 코드 목록을 조회한다. + * @param request + * @param params + * @param response + * @return + */ + @RequestMapping(value = "/drilling/inquiry/project-codes.do", method = RequestMethod.GET, produces = { "application/json; charset=utf-8" }) + @ResponseBody + public ResponseEntity drillingInquiryProjectCodes ( + HttpServletRequest request, + @RequestParam HashMap params, + HttpServletResponse response + ) { + + System.out.println( + "\n--------------------------------------------------------------\n" + + request.getRequestURI() + " IN:" + + "\n--------------------------------------------------------------\n" + + "params" + params.toString() + "\n" + + "\n--------------------------------------------------------------\n" + ); + + JSONObject jSONOResponse = null; + try { + jSONOResponse = drillingInquiryService.drillingInquiryProjectCodes( request, params ); + } catch (Exception e) { + // TODO Auto-generated catch block + jSONOResponse = new JSONObject(); + String strTxt = + "---------- BUG REPORTING START ----------" + "\n" + + "에러 문구:[" + request.getRequestURI() + " " + "]" + "\n" + + "params:[\n" + params.toString() + "\n]\n" + + "e.getMessage():[\n" + e.getMessage() + "\n]\n" + "\n" + + "new Date().toString():[" + new Date().toString() + "]\n" + "\n" + + "---------- BUG REPORTING END ----------" + "\n" + + ""; + System.out.println(strTxt); + jSONOResponse.put("resultCode", -1); + jSONOResponse.put("result", "false"); + jSONOResponse.put("message", e.getMessage()); + } + + System.out.println( "\n--------------------------------------------------------------\n" + request.getRequestURI() + " OUT:" + diff --git a/src/main/java/geoinfo/drilling/inquiry/service/DrillingInquiryMapper.java b/src/main/java/geoinfo/drilling/inquiry/service/DrillingInquiryMapper.java index 184d0ab9..c78ae3a8 100644 --- a/src/main/java/geoinfo/drilling/inquiry/service/DrillingInquiryMapper.java +++ b/src/main/java/geoinfo/drilling/inquiry/service/DrillingInquiryMapper.java @@ -18,6 +18,8 @@ public interface DrillingInquiryMapper { public List drillingInquiryAutocompleteList(HashMap params) throws SQLException; public EgovMap getItemByProjectCode(HashMap params) throws SQLException; public EgovMap getTblMasterCompanyMbrByComCode(HashMap params) throws SQLException; + public List drillingInquiryProjectCodes(HashMap params) throws SQLException; + } diff --git a/src/main/java/geoinfo/drilling/inquiry/service/DrillingInquiryService.java b/src/main/java/geoinfo/drilling/inquiry/service/DrillingInquiryService.java index 12e58ef0..89a302bd 100644 --- a/src/main/java/geoinfo/drilling/inquiry/service/DrillingInquiryService.java +++ b/src/main/java/geoinfo/drilling/inquiry/service/DrillingInquiryService.java @@ -13,6 +13,7 @@ import egovframework.rte.psl.dataaccess.util.EgovMap; public interface DrillingInquiryService { JSONObject drillingInquiryList(HttpServletRequest request, HashMap params) throws Exception; + JSONObject drillingInquiryOneItem(HttpServletRequest request, HashMap params) throws Exception; HashMap spGetProjectMbr(HttpServletRequest request, HashMap params, String userId) throws Exception; @@ -20,5 +21,5 @@ public interface DrillingInquiryService { EgovMap getItemByProjectCode(HttpServletRequest request, HashMap params) throws Exception; EgovMap getTblMasterCompanyMbrByComCode(HttpServletRequest request, HashMap params, String userId) throws Exception; - + JSONObject drillingInquiryProjectCodes(HttpServletRequest request, HashMap params) throws Exception; } diff --git a/src/main/java/geoinfo/drilling/inquiry/service/impl/DrillingInquiryServiceImpl.java b/src/main/java/geoinfo/drilling/inquiry/service/impl/DrillingInquiryServiceImpl.java index b6152754..ba9724bc 100644 --- a/src/main/java/geoinfo/drilling/inquiry/service/impl/DrillingInquiryServiceImpl.java +++ b/src/main/java/geoinfo/drilling/inquiry/service/impl/DrillingInquiryServiceImpl.java @@ -48,6 +48,8 @@ public class DrillingInquiryServiceImpl implements DrillingInquiryService { @Resource(name="loginMapper") private LoginMapper loginMapper; + + @Override public JSONObject drillingInquiryList(HttpServletRequest request, HashMap params) throws Exception { @@ -461,6 +463,94 @@ public class DrillingInquiryServiceImpl implements DrillingInquiryService { } + @Override + public JSONObject drillingInquiryProjectCodes(HttpServletRequest request, HashMap params) throws Exception { + + JSONObject jsonResponse = new JSONObject(); + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + String userId = MyUtil.getStringFromObject( request.getSession().getAttribute("USERID") ); + + if( userId == null){ + throw new Exception( "로그인이 필요한 서비스입니다." ); + } + + + HashMap spGetMasterCompanyDistrictParams = drillingInputService.getOrganizationUserGlGmGsGfCodes(userId); + + String masterCompanyOCode = MyUtil.getStringFromObject( spGetMasterCompanyDistrictParams.get("v_gl") ); + String masterCompanyTwCode = MyUtil.getStringFromObject( spGetMasterCompanyDistrictParams.get("v_gm") ); + String masterCompanyThCode = MyUtil.getStringFromObject( spGetMasterCompanyDistrictParams.get("v_gs") ); + String masterCompanyName = MyUtil.getStringFromObject( spGetMasterCompanyDistrictParams.get("v_gf") ); + String sortfield = "C".equals(MyUtil.getStringFromObject(params.get("constTag"))) ? "0" : "2"; + String sorttype = "2"; + params.put("masterCompanyOCode", masterCompanyOCode); + params.put("masterCompanyTwCode", masterCompanyTwCode); + params.put("masterCompanyThCode", masterCompanyThCode); + params.put("masterCompanyName", masterCompanyName); + params.put("sortfield", sortfield); + params.put("sorttype", sorttype); + + + try { + + try { + String keyName = "constName"; + params.put(keyName, MyUtil.removeBlank( params.get(keyName) )); + + keyName = "constCompanyAdmin"; + params.put(keyName, MyUtil.removeBlank( params.get(keyName) )); + + keyName = "constCompanyTel"; + params.put(keyName, MyUtil.removeBlank( params.get(keyName) )); + + keyName = "constCompanyName"; + params.put(keyName, MyUtil.removeBlank( params.get(keyName) )); + + keyName = "constComCodes"; + + if( params.get("constCompanyName") != null && !MyUtil.getStringFromObject(params.get("constCompanyName")).trim().isEmpty() ) { + params.put(keyName, drillingInquiryMapper.getComCodes(params)); + } else { + params.put(keyName, null); + } + + List datas = drillingInquiryMapper.drillingInquiryProjectCodes(params); + + + + String lpszProjectCodesWithComma = ""; + for( EgovMap data : datas ) { + + String projectCode = MyUtil.getStringFromObject(data.get("projectCode")); + if( projectCode != null ) { + if( !lpszProjectCodesWithComma.equals("") ) { + lpszProjectCodesWithComma += ", "; + } + lpszProjectCodesWithComma += "'" + projectCode + "'"; + } + } + + jsonResponse.put("datas", lpszProjectCodesWithComma); + return jsonResponse; + } catch (SQLException e) { + String strTxt = + "---------- BUG REPORTING START ----------" + "\n" + + "에러 문구:[" + request.getRequestURI() + " " + "]" + "\n" + + "params:[\n" + params.toString() + "\n]\n" + + "e.getMessage():[\n" + e.getMessage() + "\n]\n" + "\n" + + "new Date().toString():[" + new Date().toString() + "]\n" + "\n" + + "---------- BUG REPORTING END ----------" + "\n" + + ""; + System.out.println(strTxt); + throw new Exception( "오류가 발생하였습니다." + "\n" + "SQLException" ); + } + + + } catch (org.json.simple.parser.ParseException e) { + // TODO Auto-generated catch block + throw new Exception( e.getMessage() ); + } + } } diff --git a/src/main/java/geoinfo/regi/manageList/ManageListController.java b/src/main/java/geoinfo/regi/manageList/ManageListController.java index cf8d4763..d00294df 100644 --- a/src/main/java/geoinfo/regi/manageList/ManageListController.java +++ b/src/main/java/geoinfo/regi/manageList/ManageListController.java @@ -113,7 +113,11 @@ public class ManageListController { @ResponseBody public Map getManageList(HttpServletRequest request, HttpServletResponse response, @RequestParam HashMap params) throws Exception { - int nCls = MyUtil.getIntegerFromObject(request.getSession().getAttribute("CLS")); + int nCls = -1; + if( request.getSession() != null && request.getSession().getAttribute("CLS") != null ) { + MyUtil.getIntegerFromObject(request.getSession().getAttribute("CLS")); + System.out.println("getManageList.do CLS:" + String.valueOf(nCls)); + } strUtil sUtil = new strUtil(); WebUtil wUtil = new WebUtil(); // 정렬 필드/방향 처리 diff --git a/src/main/resources/egovframework/sqlmap/mapper/drilling/inquiry/DrillingInquiryMapper.xml b/src/main/resources/egovframework/sqlmap/mapper/drilling/inquiry/DrillingInquiryMapper.xml index b404e0ce..d5c5cc7f 100644 --- a/src/main/resources/egovframework/sqlmap/mapper/drilling/inquiry/DrillingInquiryMapper.xml +++ b/src/main/resources/egovframework/sqlmap/mapper/drilling/inquiry/DrillingInquiryMapper.xml @@ -143,6 +143,28 @@ ]]> + diff --git a/src/main/webapp/WEB-INF/views/map/index.jsp b/src/main/webapp/WEB-INF/views/map/index.jsp index 3ef1d84b..43efaf3d 100644 --- a/src/main/webapp/WEB-INF/views/map/index.jsp +++ b/src/main/webapp/WEB-INF/views/map/index.jsp @@ -32,6 +32,7 @@ " /> +