From 476fa66d7b7968df136c6cd2547fce35b857ac0a Mon Sep 17 00:00:00 2001 From: thkim Date: Thu, 22 May 2025 10:57:13 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=EA=B1=B4=EC=84=A4=ED=98=84=EC=9E=A5=20?= =?UTF-8?q?=EC=97=B0=EA=B3=84=EA=B8=B0=EB=8A=A5=20=EA=B5=AC=ED=98=84=20?= =?UTF-8?q?=EC=99=84=EB=A3=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- list.txt | 3 ++ .../service/DrillingInquiryMapper.java | 2 ++ .../service/DrillingInquiryService.java | 1 + .../impl/DrillingInquiryServiceImpl.java | 29 ++++++++++++++-- .../geoinfo/regi/info/InfoController.java | 34 +++++++++++++++++++ .../inquiry/DrillingInquiryMapper.xml | 8 +++++ .../WEB-INF/views/web/input/projectInfo.jsp | 28 +++++++++++++-- 7 files changed, 100 insertions(+), 5 deletions(-) diff --git a/list.txt b/list.txt index 5a644779..646f3234 100644 --- a/list.txt +++ b/list.txt @@ -32,3 +32,6 @@ src\main\java\geoinfo\drilling\input\service\DrillingInputService.java src\main\java\geoinfo\drilling\input\service\impl\DrillingInputServiceImpl.java src\main\java\geoinfo\drilling\input\service\DrillingInputMapper.java src\main\resources\egovframework\sqlmap\mapper\drilling\input\DrillingInputMapper.xml + +src\main\java\geoinfo\regi\info\InfoController.java +src\main\webapp\WEB-INF\views\web\input\projectInfo.jsp diff --git a/src/main/java/geoinfo/drilling/inquiry/service/DrillingInquiryMapper.java b/src/main/java/geoinfo/drilling/inquiry/service/DrillingInquiryMapper.java index cb1c22d2..e1cd50ca 100644 --- a/src/main/java/geoinfo/drilling/inquiry/service/DrillingInquiryMapper.java +++ b/src/main/java/geoinfo/drilling/inquiry/service/DrillingInquiryMapper.java @@ -15,6 +15,8 @@ public interface DrillingInquiryMapper { public String spGetConstCompanyName(Long constCompanyCode) throws SQLException; public String spGetProjectMbr(HashMap params) throws SQLException; public List drillingInquiryAutocompleteList(HashMap params) throws SQLException; + public EgovMap getItemByProjectCode(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 7509abe4..fce89adf 100644 --- a/src/main/java/geoinfo/drilling/inquiry/service/DrillingInquiryService.java +++ b/src/main/java/geoinfo/drilling/inquiry/service/DrillingInquiryService.java @@ -15,5 +15,6 @@ public interface DrillingInquiryService { JSONObject drillingInquiryList(HttpServletRequest request, HashMap params) throws Exception; HashMap spGetProjectMbr(HttpServletRequest request, HashMap params, String userId) throws Exception; List drillingInquiryAutocompleteList(HttpServletRequest request, HashMap params) throws Exception; + EgovMap getItemByProjectCode(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 27fcff3d..4e828000 100644 --- a/src/main/java/geoinfo/drilling/inquiry/service/impl/DrillingInquiryServiceImpl.java +++ b/src/main/java/geoinfo/drilling/inquiry/service/impl/DrillingInquiryServiceImpl.java @@ -304,8 +304,7 @@ public class DrillingInquiryServiceImpl implements DrillingInquiryService { } - try { - + try { try { List list = drillingInquiryMapper.drillingInquiryAutocompleteList(params); return list; @@ -328,6 +327,32 @@ public class DrillingInquiryServiceImpl implements DrillingInquiryService { throw new Exception( e.getMessage() ); } } + + @Override + public EgovMap getItemByProjectCode(HttpServletRequest request, HashMap params) throws Exception { + + String userId = MyUtil.getStringFromObject( request.getSession().getAttribute("USERID") ); + + if( userId == null){ + throw new Exception( "로그인이 필요한 서비스입니다." ); + } + + try { + EgovMap item = drillingInquiryMapper.getItemByProjectCode(params); + return item; + } 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" ); + } + } } diff --git a/src/main/java/geoinfo/regi/info/InfoController.java b/src/main/java/geoinfo/regi/info/InfoController.java index 45142be0..b63dd7e5 100644 --- a/src/main/java/geoinfo/regi/info/InfoController.java +++ b/src/main/java/geoinfo/regi/info/InfoController.java @@ -4,6 +4,7 @@ import egovframework.com.cmm.service.EgovProperties; import egovframework.rte.psl.dataaccess.util.EgovMap; import geoinfo.com.GeoinfoCommon; import geoinfo.com.file.FileCmmn; +import geoinfo.drilling.inquiry.service.DrillingInquiryService; import geoinfo.regi.info.service.InfoService; import ictway.comm.web.GlobalsWeb; import ictway.comm.web.WebUtil; @@ -52,6 +53,9 @@ public class InfoController { @Resource(name = "infoService") private InfoService infoService; + + @Autowired + DrillingInquiryService drillingInquiryService; /* 20231223 트랜젝션 중복문제로 제거 * @Autowired @@ -87,6 +91,36 @@ public class InfoController { List dis = infoService.getDisList(params); jsonObj.put("dis", dis); + + //발주기관에서 등록한 프로젝트와 맵핑되는 프로젝트를 검색한다. + EgovMap tempConstructSiteInfo = drillingInquiryService.getItemByProjectCode(request, params); + if( tempConstructSiteInfo != null && tempConstructSiteInfo.get("projectCode") != null ) { + + JSONObject jsonTempConstructSiteInfo = new JSONObject(); + + jsonTempConstructSiteInfo.put("cid", tempConstructSiteInfo.get("cid")); + jsonTempConstructSiteInfo.put("constName", tempConstructSiteInfo.get("constName")); + jsonTempConstructSiteInfo.put("constStartDate", tempConstructSiteInfo.get("constStartDate")); + jsonTempConstructSiteInfo.put("constEndDate", tempConstructSiteInfo.get("constEndDate")); + jsonTempConstructSiteInfo.put("constStateCode", tempConstructSiteInfo.get("constStateCode")); + jsonTempConstructSiteInfo.put("masterCompanyOCode", tempConstructSiteInfo.get("masterCompanyOCode")); + jsonTempConstructSiteInfo.put("masterCompanyTwCode", tempConstructSiteInfo.get("masterCompanyTwCode")); + jsonTempConstructSiteInfo.put("masterCompanyThCode", tempConstructSiteInfo.get("masterCompanyThCode")); + jsonTempConstructSiteInfo.put("masterCompanyName", tempConstructSiteInfo.get("masterCompanyName")); + jsonTempConstructSiteInfo.put("masterCompanyDept", tempConstructSiteInfo.get("masterCompanyDept")); + jsonTempConstructSiteInfo.put("masterCompanyAdmin", tempConstructSiteInfo.get("masterCompanyAdmin")); + jsonTempConstructSiteInfo.put("masterCompanyTel", tempConstructSiteInfo.get("masterCompanyTel")); + jsonTempConstructSiteInfo.put("constCompanyCode", tempConstructSiteInfo.get("constCompanyCode")); + jsonTempConstructSiteInfo.put("constCompanyAdmin", tempConstructSiteInfo.get("constCompanyAdmin")); + jsonTempConstructSiteInfo.put("constCompanyTel", tempConstructSiteInfo.get("constCompanyTel")); + jsonTempConstructSiteInfo.put("projectStateCode", tempConstructSiteInfo.get("projectStateCode")); + jsonTempConstructSiteInfo.put("projectHoleNumber", tempConstructSiteInfo.get("projectHoleNumber")); + jsonTempConstructSiteInfo.put("constTag", tempConstructSiteInfo.get("constTag")); + jsonTempConstructSiteInfo.put("projectCode", tempConstructSiteInfo.get("projectCode")); + + jsonObj.put("tempConstructSiteInfo", jsonTempConstructSiteInfo); + } + // 수정모드 if ("".equals(oProjectCode) == false) { 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 c57ebdbd..217f26f8 100644 --- a/src/main/resources/egovframework/sqlmap/mapper/drilling/inquiry/DrillingInquiryMapper.xml +++ b/src/main/resources/egovframework/sqlmap/mapper/drilling/inquiry/DrillingInquiryMapper.xml @@ -95,4 +95,12 @@ + + + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/web/input/projectInfo.jsp b/src/main/webapp/WEB-INF/views/web/input/projectInfo.jsp index 7e97b399..3123556b 100644 --- a/src/main/webapp/WEB-INF/views/web/input/projectInfo.jsp +++ b/src/main/webapp/WEB-INF/views/web/input/projectInfo.jsp @@ -633,6 +633,28 @@ fn_SelectedData(masFrm02, project.projectMasterCompanyTwCode, 'GL_DISGM_DIS', 'multi', 'GDis', masFrm03, project.projectMasterCompanyThCode, 'GS_DIS', '3'); fn_SelectedData(masFrm03, project.projectMasterCompanyThCode, 'GL_DISGM_DISGF_DIS', 'multi', 'GDis', masFrm04, project.projectMasterCompanyFCode, 'GF_DIS', '4'); } + + //발주기관에 의해 입력된 발주처 정보 자동완성 + var tempConstructSiteInfoString = '${result.tempConstructSiteInfo}'; + if( tempConstructSiteInfoString ) { + var tempConstructSiteInfo = JSON.parse(tempConstructSiteInfoString); + if(tempConstructSiteInfo) { + + var masFrm01 = document.getElementById("PROJECT_MASTER_COMPANY_O_CODE"); + var masFrm02 = document.getElementById("PROJECT_MASTER_COMPANY_TW_CODE"); + var masFrm03 = document.getElementById("PROJECT_MASTER_COMPANY_TH_CODE"); + var masFrm04 = document.getElementById("PROJECT_MASTER_COMPANY_F_CODE"); + + masFrm01.value = tempConstructSiteInfo.masterCompanyOCode; + fn_SelectedData(masFrm01, tempConstructSiteInfo.masterCompanyOCode, 'GL_DIS', 'multi', 'GDis', masFrm02, tempConstructSiteInfo.masterCompanyTwCode, 'GM_DIS'); + masFrm02.value = tempConstructSiteInfo.masterCompanyTwCode; + fn_SelectedData(masFrm02, tempConstructSiteInfo.masterCompanyTwCode, 'GL_DISGM_DIS', 'multi', 'GDis', masFrm03, tempConstructSiteInfo.masterCompanyTwCode, 'GS_DIS', '3'); + masFrm03.value = tempConstructSiteInfo.masterCompanyThCode; + fn_SelectedData(masFrm03, tempConstructSiteInfo.masterCompanyThCode, 'GL_DISGM_DISGF_DIS', 'multi', 'GDis', masFrm04, null, 'GF_DIS', '4'); + } + } + + if (document.getElementById("PROJECT_MASTER_COMPANY_O_CODE").selectedIndex == 0) { document.getElementById("PROJECT_MASTER_COMPANY_NAME").disabled = true; //신규등록 발주처 선택시 입력창 비활성화 @@ -947,15 +969,15 @@ 발주처 - - - + +