From c17b89c9840fdf796ca0f4670fd730d4fb1c211b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=9C=A0=EC=A7=80=EC=9D=B8?= Date: Mon, 17 Nov 2025 14:50:38 +0900 Subject: [PATCH] =?UTF-8?q?=EA=B1=B4=EC=84=A4=ED=98=84=EC=9E=A5=20?= =?UTF-8?q?=EA=B4=80=EB=A6=AC=20>=20=EB=B0=9C=EC=A3=BC=EA=B8=B0=EA=B4=80?= =?UTF-8?q?=20=EA=B3=84=EC=A0=95=20=EA=B1=B4=EC=84=A4=ED=98=84=EC=9E=A5=20?= =?UTF-8?q?=EB=AA=A9=EB=A1=9D=20=ED=91=9C=EC=8B=9C=20=EC=B2=98=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...nstructionProjectManagementController.java | 136 ++++++-- .../user/service/DrillingInquiryMapper.java | 8 +- .../user/service/DrillingInquiryService.java | 5 +- .../impl/DrillingInputServiceImpl.java | 1 - .../impl/DrillingInquiryServiceImpl.java | 298 ++++++++++++++---- src/main/java/geoinfo/util/MyUtil.java | 16 + .../admins/user/DrillingInputMapper.xml | 2 +- .../admins/user/DrillingInquiryMapper.xml | 169 ++++++---- .../construction-user-detail.jsp | 99 +----- .../WEB-INF/views/admins/frame/mainframe.jsp | 2 +- .../webapp/WEB-INF/views/admins/main/main.jsp | 2 +- 11 files changed, 500 insertions(+), 238 deletions(-) diff --git a/src/main/java/geoinfo/admins/constructionProjectManagement/ConstructionProjectManagementController.java b/src/main/java/geoinfo/admins/constructionProjectManagement/ConstructionProjectManagementController.java index 9bd7ff2..3090fa0 100644 --- a/src/main/java/geoinfo/admins/constructionProjectManagement/ConstructionProjectManagementController.java +++ b/src/main/java/geoinfo/admins/constructionProjectManagement/ConstructionProjectManagementController.java @@ -1,6 +1,8 @@ package geoinfo.admins.constructionProjectManagement; +import java.io.IOException; import java.io.OutputStream; +import java.io.UnsupportedEncodingException; import java.util.Date; import java.util.HashMap; import java.util.List; @@ -12,6 +14,7 @@ import javax.servlet.http.HttpServletResponse; import org.json.simple.JSONArray; import org.json.simple.JSONObject; import org.json.simple.parser.JSONParser; +import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.RequestBody; @@ -610,42 +613,111 @@ public class ConstructionProjectManagementController { } // 발주기관 프로젝트목록 가져오기 - @ResponseBody - @RequestMapping(value = "/drilling-project-list", method = RequestMethod.GET, produces = "application/json; charset=UTF-8") - public String getDrillingProjectList(HttpServletRequest request, HttpServletResponse response, @RequestParam HashMap params) throws Exception { +// @ResponseBody +// @RequestMapping(value = "/drilling-project-list", method = RequestMethod.GET, produces = "application/json; charset=UTF-8") +// public String getDrillingProjectList(HttpServletRequest request, HttpServletResponse response, @RequestParam HashMap params) throws Exception { +// if (!UserInfo.isValidSession(request, response, "admin")) { +// return ""; +// } +// JSONObject jsonObject = new JSONObject(); +// strUtil sUtil = new strUtil(); +// +// String projectName = sUtil.checkNull((String)params.get("projectName")); +// +// JSONArray jsonListObject = new JSONArray(); +// +//// if( projectName == ""){ +//// jsonObject.put("resultMessage", "OK"); +//// jsonObject.put("resultCode", 200); +//// jsonObject.put("result", new JSONObject().put("list", jsonListObject)); +//// } else { +// JSONObject result = new JSONObject(); +// result.put("list", drillingInquiryService.drillingInquiryAutocompleteList(request, params)); +// +// jsonObject.put("resultMessage", "OK"); +// jsonObject.put("resultCode", 200); +// jsonObject.put("result", result); +//// } +// +// response.setContentType("application/json; charset=UTF-8"); // 응답 헤더 설정 +// response.setCharacterEncoding("UTF-8"); // 응답 데이터 인코딩 설정 (중요) +// +// try (OutputStream os = response.getOutputStream()) { // OutputStream 사용 +// os.write(jsonObject.toString().getBytes("UTF-8")); // UTF-8 인코딩하여 출력 +// } +// +// return null; // @ResponseBody이므로 반환 값은 필요 없습니다. +// } + @RequestMapping(value = "/drilling/inquiry/list.do", method = RequestMethod.GET, produces = { "application/json; charset=utf-8" }) + @ResponseBody + public ResponseEntity drillingInquiryList ( + HttpServletRequest request, + @RequestParam HashMap params, + HttpServletResponse response + ) throws IOException { if (!UserInfo.isValidSession(request, response, "admin")) { - return ""; + return null; } - JSONObject jsonObject = new JSONObject(); - strUtil sUtil = new strUtil(); - String projectName = sUtil.checkNull((String)params.get("projectName")); + System.out.println( + "\n--------------------------------------------------------------\n" + + request.getRequestURI() + " IN:" + + "\n--------------------------------------------------------------\n" + + "params" + params.toString() + "\n" + + "\n--------------------------------------------------------------\n" + ); - JSONArray jsonListObject = new JSONArray(); - - if( projectName == ""){ - jsonObject.put("resultMessage", "OK"); - jsonObject.put("resultCode", 200); - jsonObject.put("result", new JSONObject().put("list", jsonListObject)); - } else { - JSONObject result = new JSONObject(); - result.put("list", drillingInquiryService.drillingInquiryAutocompleteList(request, params)); - - jsonObject.put("resultMessage", "OK"); - jsonObject.put("resultCode", 200); - jsonObject.put("result", result); - } - - response.setContentType("application/json; charset=UTF-8"); // 응답 헤더 설정 - response.setCharacterEncoding("UTF-8"); // 응답 데이터 인코딩 설정 (중요) - - try (OutputStream os = response.getOutputStream()) { // OutputStream 사용 - os.write(jsonObject.toString().getBytes("UTF-8")); // UTF-8 인코딩하여 출력 - } - - return null; // @ResponseBody이므로 반환 값은 필요 없습니다. - } - + JSONObject jSONOResponse = null; + try { + jSONOResponse = drillingInquiryService.drillingInquiryList( 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:" + + "\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 params diff --git a/src/main/java/geoinfo/admins/user/service/DrillingInquiryMapper.java b/src/main/java/geoinfo/admins/user/service/DrillingInquiryMapper.java index dc12951..5fbbf95 100644 --- a/src/main/java/geoinfo/admins/user/service/DrillingInquiryMapper.java +++ b/src/main/java/geoinfo/admins/user/service/DrillingInquiryMapper.java @@ -10,8 +10,12 @@ import egovframework.rte.psl.dataaccess.util.EgovMap; @Mapper("drillingInquiryMapper") public interface DrillingInquiryMapper { - public List drillingInquiryAutocompleteList(HashMap params) throws SQLException; - +// public List drillingInquiryAutocompleteList(HashMap params) throws SQLException; + + public Long sPCntTblCsiByKeyword(HashMap params) throws SQLException; + public List spGetTblCsiByKeyword(HashMap params) throws SQLException; + public String getComCodes(HashMap params) throws SQLException; + public String spGetConstCompanyName(Long constCompanyCode) throws SQLException; } diff --git a/src/main/java/geoinfo/admins/user/service/DrillingInquiryService.java b/src/main/java/geoinfo/admins/user/service/DrillingInquiryService.java index fa8b3ab..a4bfa6e 100644 --- a/src/main/java/geoinfo/admins/user/service/DrillingInquiryService.java +++ b/src/main/java/geoinfo/admins/user/service/DrillingInquiryService.java @@ -12,5 +12,8 @@ import egovframework.rte.psl.dataaccess.util.EgovMap; public interface DrillingInquiryService { - List drillingInquiryAutocompleteList(HttpServletRequest request, HashMap params) throws Exception; +// List drillingInquiryAutocompleteList(HttpServletRequest request, HashMap params) throws Exception; + + public JSONObject drillingInquiryList(HttpServletRequest request, HashMap params) throws Exception; + } diff --git a/src/main/java/geoinfo/admins/user/service/impl/DrillingInputServiceImpl.java b/src/main/java/geoinfo/admins/user/service/impl/DrillingInputServiceImpl.java index a871450..c627a3c 100644 --- a/src/main/java/geoinfo/admins/user/service/impl/DrillingInputServiceImpl.java +++ b/src/main/java/geoinfo/admins/user/service/impl/DrillingInputServiceImpl.java @@ -11,7 +11,6 @@ import geoinfo.admins.user.service.DrillingInputMapper; import geoinfo.admins.user.service.DrillingInputService; import geoinfo.admins.user.service.DrillingInquiryService; import geoinfo.admins.user.service.GeneralUserMngMapper; -import geoinfo.main.login.service.LoginMapper; @Service("drillingInputService") public class DrillingInputServiceImpl implements DrillingInputService { diff --git a/src/main/java/geoinfo/admins/user/service/impl/DrillingInquiryServiceImpl.java b/src/main/java/geoinfo/admins/user/service/impl/DrillingInquiryServiceImpl.java index fc52cdf..ce07b84 100644 --- a/src/main/java/geoinfo/admins/user/service/impl/DrillingInquiryServiceImpl.java +++ b/src/main/java/geoinfo/admins/user/service/impl/DrillingInquiryServiceImpl.java @@ -1,6 +1,8 @@ package geoinfo.admins.user.service.impl; import java.sql.SQLException; +import java.sql.Timestamp; +import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashMap; import java.util.List; @@ -8,6 +10,7 @@ import java.util.List; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; +import org.json.simple.JSONObject; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -18,6 +21,7 @@ import geoinfo.admins.user.service.DrillingInquiryMapper; import geoinfo.admins.user.service.DrillingInquiryService; import geoinfo.admins.user.service.GeneralUserMngMapper; import geoinfo.util.MyUtil; +import oracle.sql.TIMESTAMP; @Service("drillingInquiryService") public class DrillingInquiryServiceImpl implements DrillingInquiryService { @@ -34,47 +38,249 @@ public class DrillingInquiryServiceImpl implements DrillingInquiryService { @Autowired DrillingInputService drillingInputService; - @Override - public List drillingInquiryAutocompleteList(HttpServletRequest request, HashMap params) throws Exception { - HashMap map = new HashMap(); - String userid = (String)params.get("userid"); - map.put("userId", userid); +// @Override +// public List drillingInquiryAutocompleteList(HttpServletRequest request, HashMap params) throws Exception { +// HashMap map = new HashMap(); +// String userid = (String)params.get("userid"); +// map.put("userId", userid); +// +// EgovMap result = userMapper.selectInfo(map); +// +// int cls = MyUtil.getIntegerFromObject(result.get("cls")); +// +// if( cls == 2 ) { +// // 발주기관 계정으로 조회한 경우, 본인의 영역에 해당하는 프로젝트만 조회한다. +// String masterCompanyCode = MyUtil.getStringFromObject( result.get("masterCompanyCode") ); +// +// HashMap spGetMasterCompanyDistrictParams = drillingInputService.getOrganizationUserGlGmGsGfCodes(userid); +// +// String glDistrict = MyUtil.getStringFromObject( spGetMasterCompanyDistrictParams.get("v_gl") ); +// String gmDistrict = MyUtil.getStringFromObject( spGetMasterCompanyDistrictParams.get("v_gm") ); +// String gsDistrict = MyUtil.getStringFromObject( spGetMasterCompanyDistrictParams.get("v_gs") ); +// params.put("glDistrict", glDistrict); +// params.put("gmDistrict", gmDistrict); +// params.put("gsDistrict", gsDistrict); +// +// } +// +// +// +// +// try { +// try { +// List list = drillingInquiryMapper.drillingInquiryAutocompleteList(params); +// return list; +// } 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() ); +// } +// } + +// public HashMap getOrganizationUserGlGmGsGfCodes(String userId) throws Exception { +// +// String projectMasterCompanyName = userMapper.findProjectMasterCompanyNameByUserid(userId); +// +// if( projectMasterCompanyName == null ) { +// throw new Exception( "발주 기관 계정에 설정된 기관이 존재하지 않습니다" ); +// } +// +// HashMap spGetMasterCompanyDistrictParams = new HashMap(); +// +// //String[] words = projectMasterCompanyName.split(" "); +// //String lastWord = words[words.length - 1]; +// //spGetMasterCompanyDistrictParams.put("projectMasterCompanyName", lastWord); +// spGetMasterCompanyDistrictParams.put("projectMasterCompanyName", projectMasterCompanyName); +// +// +// drillingInputMapper.spGetMasterCompanyDistrict(spGetMasterCompanyDistrictParams); +// +// return spGetMasterCompanyDistrictParams; +// +// } + + @Override + public JSONObject drillingInquiryList(HttpServletRequest request, HashMap params) throws Exception { + + JSONObject jsonResponse = new JSONObject(); + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + String userId = MyUtil.getStringFromObject( params.get("userId") ); - EgovMap result = userMapper.selectInfo(map); - - int cls = MyUtil.getIntegerFromObject(result.get("cls")); - - if( cls == 2 ) { - // 발주기관 계정으로 조회한 경우, 본인의 영역에 해당하는 프로젝트만 조회한다. - String masterCompanyCode = MyUtil.getStringFromObject( result.get("masterCompanyCode") ); - - HashMap spGetMasterCompanyDistrictParams = drillingInputService.getOrganizationUserGlGmGsGfCodes(userid); - - String glDistrict = MyUtil.getStringFromObject( spGetMasterCompanyDistrictParams.get("v_gl") ); - String gmDistrict = MyUtil.getStringFromObject( spGetMasterCompanyDistrictParams.get("v_gm") ); - String gsDistrict = MyUtil.getStringFromObject( spGetMasterCompanyDistrictParams.get("v_gs") ); - params.put("glDistrict", glDistrict); - params.put("gmDistrict", gmDistrict); - params.put("gsDistrict", gsDistrict); - - } - - +// if( userId == null){ +// throw new Exception( "로그인이 필요한 서비스입니다." ); +// } - try { + 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 { - List list = drillingInquiryMapper.drillingInquiryAutocompleteList(params); - return list; + 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); + } + + + Long count = drillingInquiryMapper.sPCntTblCsiByKeyword(params); + List datas = drillingInquiryMapper.spGetTblCsiByKeyword(params); + + + + String constStateCodeKey = "constStateCode"; + String constCompanyCodeKey = "constCompanyCode"; + String projectStateCodeKey = "projectStateCode"; + String crtDtKey = "crtDt"; + String modDtKey = "modDt"; + + for( EgovMap data : datas ) { + + Integer nConstStateCodeKey = MyUtil.getIntegerFromObject(data.get(constStateCodeKey)); + if( nConstStateCodeKey == null ) { + nConstStateCodeKey = -1; + } + String constStateCodeName = ""; + switch(nConstStateCodeKey) { + case 1: + constStateCodeName = "타당성조사 및 계획검토"; + break; + case 2: + constStateCodeName = "기본설계"; + break; + case 3: + constStateCodeName = "실시설계"; + break; + case 4: + constStateCodeName = "시공중"; + break; + case 5: + constStateCodeName = "준공"; + break; + case 6: + constStateCodeName = "유지보수"; + break; + default: + constStateCodeName = "알 수 없음"; + break; + + } + data.put("constStateCodeName", constStateCodeName); + + + + Long nConstCompanyCodeKey = MyUtil.getLongFromObject(data.get(constCompanyCodeKey)); + if( nConstCompanyCodeKey != null ) { + params.put(constCompanyCodeKey, nConstCompanyCodeKey); + String coinstCompanyDept = drillingInquiryMapper.spGetConstCompanyName(nConstCompanyCodeKey); + data.put("coinstCompanyDept", coinstCompanyDept); + } + + + Integer nProjectStateCodeKey = MyUtil.getIntegerFromObject(data.get(projectStateCodeKey) ); + if( nProjectStateCodeKey == null ) { + nProjectStateCodeKey = -1; + } + String projectStateCodeName = ""; + switch(nProjectStateCodeKey) { + case 0: + projectStateCodeName = "미입력"; + break; + case 1: + projectStateCodeName = "입력 중"; + break; + case 2: + projectStateCodeName = "검수 준비 대기중"; + break; + case 3: + projectStateCodeName = "검수 중"; + break; + case 4: + projectStateCodeName = "수정 요청"; + break; + case 5: + projectStateCodeName = "검수 완료"; + break; + case 6: + projectStateCodeName = "등록 완료"; + break; + default: + constStateCodeName = "알 수 없음"; + break; + + } + data.put("projectStateCodeName", projectStateCodeName); + + + + + + TIMESTAMP oracleTimestamp = (TIMESTAMP)data.get(crtDtKey); + if( oracleTimestamp != null ) { + Timestamp javaTimestamp = oracleTimestamp.timestampValue(); + String formattedDate = dateFormat.format(javaTimestamp); + data.put(crtDtKey, formattedDate); + } + + oracleTimestamp = (TIMESTAMP)data.get(modDtKey); + if( oracleTimestamp != null ) { + Timestamp javaTimestamp = oracleTimestamp.timestampValue(); + String formattedDate = dateFormat.format(javaTimestamp); + data.put(modDtKey, formattedDate); + } + } + jsonResponse.put("count", count); + jsonResponse.put("datas", datas); + 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" + - ""; + "---------- 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" ); } @@ -85,26 +291,4 @@ public class DrillingInquiryServiceImpl implements DrillingInquiryService { throw new Exception( e.getMessage() ); } } - - public HashMap getOrganizationUserGlGmGsGfCodes(String userId) throws Exception { - - String projectMasterCompanyName = userMapper.findProjectMasterCompanyNameByUserid(userId); - - if( projectMasterCompanyName == null ) { - throw new Exception( "발주 기관 계정에 설정된 기관이 존재하지 않습니다" ); - } - - HashMap spGetMasterCompanyDistrictParams = new HashMap(); - - //String[] words = projectMasterCompanyName.split(" "); - //String lastWord = words[words.length - 1]; - //spGetMasterCompanyDistrictParams.put("projectMasterCompanyName", lastWord); - spGetMasterCompanyDistrictParams.put("projectMasterCompanyName", projectMasterCompanyName); - - - drillingInputMapper.spGetMasterCompanyDistrict(spGetMasterCompanyDistrictParams); - - return spGetMasterCompanyDistrictParams; - - } } diff --git a/src/main/java/geoinfo/util/MyUtil.java b/src/main/java/geoinfo/util/MyUtil.java index 7e57636..56d4fa2 100644 --- a/src/main/java/geoinfo/util/MyUtil.java +++ b/src/main/java/geoinfo/util/MyUtil.java @@ -811,4 +811,20 @@ public final class MyUtil { return false; } + /** + * 문자열의 공백을 제거 후 return한다 + * @param target 공백을 제거할 대상 + * @return + * @throws Exception + */ + public static String removeBlank( Object target ) throws Exception { + + String str = getStringFromObject( target ); + + if( str != null ) { + str = str.replaceAll("\\s", ""); + } + + return str; + } } diff --git a/src/main/resources/geoinfo/sqlmap/mappers/admins/user/DrillingInputMapper.xml b/src/main/resources/geoinfo/sqlmap/mappers/admins/user/DrillingInputMapper.xml index eeb93e9..6b65440 100644 --- a/src/main/resources/geoinfo/sqlmap/mappers/admins/user/DrillingInputMapper.xml +++ b/src/main/resources/geoinfo/sqlmap/mappers/admins/user/DrillingInputMapper.xml @@ -1,7 +1,7 @@ - + - SELECT - tgld.GL_DISTRICT, - tgmd.GM_DISTRICT, - tgsd.GS_DISTRICT, - tcsi.CID, - tcsi.CONST_NAME, - tcsi.CONST_START_DATE - FROM - TEMP_CONSTRUCT_SITE_INFO tcsi - LEFT JOIN ( - SELECT - * - FROM - tbl_gl_district - WHERE - use_yn = 'Y' - ORDER BY - gl_code - ) tgld ON tcsi.MASTER_COMPANY_O_CODE = tgld.GL_CODE - LEFT JOIN ( - SELECT - * - FROM - tbl_gm_district - WHERE - use_yn = 'Y' - ORDER BY - gm_code - ) tgmd ON tcsi.MASTER_COMPANY_O_CODE = tgmd.GL_CODE AND tcsi.MASTER_COMPANY_TW_CODE = tgmd.GM_CODE - LEFT JOIN ( - SELECT - * - FROM - tbl_gs_district - WHERE - use_yn = 'Y' - ORDER BY - gs_code - ) tgsd ON - tcsi.MASTER_COMPANY_O_CODE = tgsd.GL_CODE AND - tcsi.MASTER_COMPANY_TW_CODE = tgsd.GM_CODE AND - tcsi.MASTER_COMPANY_TH_CODE = tgsd.GS_CODE - WHERE - tcsi.PROJECT_CODE IS NULL AND - tcsi.CONST_NAME LIKE '%' || #{projectName} || '%' - - - - - - - - - - ORDER BY tcsi.CRT_DT DESC + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/admins/constructionProjectManagement/construction-user-detail.jsp b/src/main/webapp/WEB-INF/views/admins/constructionProjectManagement/construction-user-detail.jsp index 1cc13c6..3c6c6a8 100644 --- a/src/main/webapp/WEB-INF/views/admins/constructionProjectManagement/construction-user-detail.jsp +++ b/src/main/webapp/WEB-INF/views/admins/constructionProjectManagement/construction-user-detail.jsp @@ -11,12 +11,12 @@