From a1c0555040c378ef07462e725a50878a3d245782 Mon Sep 17 00:00:00 2001 From: thkim Date: Mon, 20 Jan 2025 01:09:01 +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=A7=80=EB=8F=84=20=EC=9D=B4=EB=8F=99=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- list.txt | 19 +- .../input/DrillingInputController.java | 75 +++ .../input/service/DrillingInputMapper.java | 5 +- .../input/service/DrillingInputService.java | 4 + .../impl/DrillingInputServiceImpl.java | 87 +++- .../inquiry/DrillingInquiryController.java | 32 +- .../service/DrillingInquiryMapper.java | 6 +- .../service/DrillingInquiryService.java | 2 + .../impl/DrillingInquiryServiceImpl.java | 124 +++-- .../main/login/service/LoginMapper.java | 2 + .../projectList/ProjectListController.java | 12 +- .../service/ProjectListMapper.java | 1 + .../service/ProjectListService.java | 3 +- .../service/impl/ProjectListServiceImpl.java | 6 + .../drilling/input/DrillingInputMapper.xml | 23 +- .../inquiry/DrillingInquiryMapper.xml | 32 +- .../sqlmap/mapper/main/Login_SQL.xml | 12 +- .../sqlmap/mapper/regi/projectList.xml | 16 + .../views/drilling/input/drilling_input.jsp | 447 ++++++++++++------ .../drilling/inquiry/drilling_inquiry.jsp | 258 +++++----- .../inquiry/drilling_inquiry_project.jsp | 355 +++++++++----- .../webapp/WEB-INF/views/web/input/header.jsp | 70 +-- .../WEB-INF/views/web/input/meta_info.jsp | 3 + src/main/webapp/com/css/common.v2.0.css | 138 +++++- src/main/webapp/com/css/common.v2.0.css.map | 2 +- src/main/webapp/com/css/sass/common.v2.0.scss | 104 +++- src/main/webapp/js/map/main/left/left.js | 46 +- src/main/webapp/js/map/main/map.js | 139 +++++- src/main/webapp/web/js/common.js | 183 +++++++ 29 files changed, 1683 insertions(+), 523 deletions(-) diff --git a/list.txt b/list.txt index 0cbd1cb7..26d3e2e5 100644 --- a/list.txt +++ b/list.txt @@ -1,4 +1,6 @@ #src\main\resources\egovframework\egovProps\globals.properties +src\main\webapp\com\css\common.v2.0.css +src\main\webapp\com\css\common.v2.0.css.map # 일축압축 첨부 파일 하나 씩 올리면 에러나는 버그 수정중.. 2025-01-06 18:01 src\main\webapp\WEB-INF\views\web\input\uniaxial\rockUniaxial.jsp #건설현장 입력 @@ -8,4 +10,19 @@ src\main\java\geoinfo\drilling\input\service\DrillingInputMapper.java src\main\resources\egovframework\sqlmap\mapper\drilling\input\DrillingInputMapper.xml src\main\java\geoinfo\main\login\service\impl\LoginServiceImpl.java src\main\java\geoinfo\main\login\service\LoginMapper.java -src\main\resources\egovframework\sqlmap\mapper\main\Login_SQL.xml \ No newline at end of file +src\main\resources\egovframework\sqlmap\mapper\main\Login_SQL.xml +src\main\webapp\WEB-INF\views\web\input\header.jsp +src\main\webapp\web\js\common.js +src\main\java\geoinfo\regi\projectList\ProjectListController.java +src\main\java\geoinfo\regi\projectList\service\ProjectListService.java +src\main\java\geoinfo\regi\projectList\service\impl\ProjectListServiceImpl.java +src\main\java\geoinfo\regi\projectList\service\ProjectListMapper.java +src\main\resources\egovframework\sqlmap\mapper\regi\projectList.xml +src\main\webapp\WEB-INF\views\drilling\inquiry\drilling_inquiry.jsp +src\main\webapp\WEB-INF\views\drilling\inquiry\drilling_inquiry_project.jsp +src\main\java\geoinfo\drilling\inquiry\service\impl\DrillingInquiryServiceImpl.java +src\main\resources\egovframework\sqlmap\mapper\drilling\inquiry\DrillingInquiryMapper.xml +src\main\webapp\js\map\main\left\left.js +src\main\webapp\js\map\main\map.js +src\main\webapp\WEB-INF\views\map\index.jsp +src\main\java\geoinfo\drilling\inquiry\DrillingInquiryController.java \ No newline at end of file diff --git a/src/main/java/geoinfo/drilling/input/DrillingInputController.java b/src/main/java/geoinfo/drilling/input/DrillingInputController.java index bf5a99fa..6af8e100 100644 --- a/src/main/java/geoinfo/drilling/input/DrillingInputController.java +++ b/src/main/java/geoinfo/drilling/input/DrillingInputController.java @@ -5,6 +5,7 @@ import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; +import java.io.UnsupportedEncodingException; import java.net.MalformedURLException; import java.net.URL; import java.text.ParseException; @@ -29,6 +30,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.RequestBody; @@ -163,4 +165,77 @@ public class DrillingInputController { return jSONOResponse; } + + /** + * 발주 기관 사용자의 소속을 가져온다. + * @param request + * @param params + * @param response + * @return + */ + @RequestMapping(value = "/drilling/input/departments.do", method = RequestMethod.GET, produces = { "application/json; charset=utf-8" }) + @ResponseBody + public ResponseEntity getDepartments ( + HttpServletRequest request, + @RequestParam HashMap params, + HttpServletResponse response + ) { + + System.out.println( + "\n--------------------------------------------------------------\n" + + request.getRequestURI() + " IN:" + + "\n--------------------------------------------------------------\n" + + "params" + params.toString() + "\n" + + "\n--------------------------------------------------------------\n" + ); + + JSONObject jsonResponse = null; + try { + jsonResponse = new JSONObject(); + drillingInputService.getDepartments( request, params, jsonResponse ); + } catch (Exception e) { + // TODO Auto-generated catch block + jsonResponse = 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); + jsonResponse.put("resultCode", -1); + jsonResponse.put("result", "false"); + jsonResponse.put("message", e.getMessage()); + } + + + System.out.println("\n--------------------------------------------------------------\n" + + request.getRequestURI() + " OUT:" + + "\n--------------------------------------------------------------\n" + + "jSONOResponse.toJSONString():[" + jsonResponse.toJSONString() + "]\n" + + "\n--------------------------------------------------------------\n"); + + + int contentLength = 0; + try { + contentLength = jsonResponse.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(jsonResponse); + } catch (IOException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + return null; + } } diff --git a/src/main/java/geoinfo/drilling/input/service/DrillingInputMapper.java b/src/main/java/geoinfo/drilling/input/service/DrillingInputMapper.java index 703a96a4..a27c1f2e 100644 --- a/src/main/java/geoinfo/drilling/input/service/DrillingInputMapper.java +++ b/src/main/java/geoinfo/drilling/input/service/DrillingInputMapper.java @@ -12,7 +12,10 @@ public interface DrillingInputMapper { public String test(HashMap params) throws SQLException; public Long findConstCompanyCodeByConstCompanyName(HashMap params) throws SQLException; - public EgovMap sPGetMasterCompanyDistrict(HashMap sPGetMasterCompanyDistrictParams) throws SQLException; + public void spGetMasterCompanyDistrict(HashMap spGetMasterCompanyDistrictParams) throws SQLException; + + public EgovMap getDepartments(HashMap params) throws SQLException; + } diff --git a/src/main/java/geoinfo/drilling/input/service/DrillingInputService.java b/src/main/java/geoinfo/drilling/input/service/DrillingInputService.java index 3b0cf9e1..6a8df0d6 100644 --- a/src/main/java/geoinfo/drilling/input/service/DrillingInputService.java +++ b/src/main/java/geoinfo/drilling/input/service/DrillingInputService.java @@ -4,7 +4,11 @@ import java.util.HashMap; import javax.servlet.http.HttpServletRequest; +import org.json.simple.JSONObject; + public interface DrillingInputService { + HashMap getOrganizationUserGlGmGsGfCodes(String userId) throws Exception; HashMap drillingInputAdd(HttpServletRequest request, HashMap params) throws Exception; + void getDepartments(HttpServletRequest request, HashMap params, JSONObject jsonResponse) throws Exception; } diff --git a/src/main/java/geoinfo/drilling/input/service/impl/DrillingInputServiceImpl.java b/src/main/java/geoinfo/drilling/input/service/impl/DrillingInputServiceImpl.java index a99ba648..2ba863a9 100644 --- a/src/main/java/geoinfo/drilling/input/service/impl/DrillingInputServiceImpl.java +++ b/src/main/java/geoinfo/drilling/input/service/impl/DrillingInputServiceImpl.java @@ -3,6 +3,7 @@ package geoinfo.drilling.input.service.impl; import geoinfo.drilling.input.service.DrillingInputMapper; import geoinfo.drilling.input.service.DrillingInputService; import geoinfo.main.login.service.LoginMapper; +import geoinfo.util.MyUtil; import java.sql.SQLException; import java.util.HashMap; @@ -11,6 +12,7 @@ import java.util.List; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; +import org.json.simple.JSONObject; import org.springframework.stereotype.Service; import egovframework.rte.psl.dataaccess.util.EgovMap; @@ -24,31 +26,48 @@ public class DrillingInputServiceImpl implements DrillingInputService { @Resource(name="loginMapper") private LoginMapper loginMapper; + + /** + * 발주기관 사용자의 Gl Gm Gs Gf Codes 구한다 + */ @Override - public HashMap drillingInputAdd(HttpServletRequest request, HashMap params) throws Exception { - - String userId = (String)request.getSession().getAttribute("USERID"); - - + public HashMap getOrganizationUserGlGmGsGfCodes(String userId) throws Exception { + String projectMasterCompanyName = loginMapper.findProjectMasterCompanyNameByUserid(userId); if( projectMasterCompanyName == null ) { throw new Exception( "발주 기관 계정에 설정된 기관이 존재하지 않습니다" ); } - HashMap sPGetMasterCompanyDistrictParams = new HashMap(); - sPGetMasterCompanyDistrictParams.put("projectMasterCompanyName", projectMasterCompanyName); - EgovMap egovMap = drillingInputMapper.sPGetMasterCompanyDistrict(sPGetMasterCompanyDistrictParams); + HashMap spGetMasterCompanyDistrictParams = new HashMap(); - List test = egovMap.keyList(); + //String[] words = projectMasterCompanyName.split(" "); + //String lastWord = words[words.length - 1]; + //spGetMasterCompanyDistrictParams.put("projectMasterCompanyName", lastWord); + spGetMasterCompanyDistrictParams.put("projectMasterCompanyName", projectMasterCompanyName); - - params.put("userId", userId); - params.put("masterCompanyOCode", "01"); - params.put("masterCompanyTwCode", "01"); - params.put("masterCompanyThCode", "001"); - params.put("masterCompanyName", null); + drillingInputMapper.spGetMasterCompanyDistrict(spGetMasterCompanyDistrictParams); + + return spGetMasterCompanyDistrictParams; + + } + + + @Override + public HashMap drillingInputAdd(HttpServletRequest request, HashMap params) throws Exception { + + String userId = (String)request.getSession().getAttribute("USERID"); + + HashMap spGetMasterCompanyDistrictParams = getOrganizationUserGlGmGsGfCodes(userId); + + + params.put("userId", userId); + + params.put("masterCompanyOCode", MyUtil.getStringFromObject( spGetMasterCompanyDistrictParams.get("v_gl") )); + params.put("masterCompanyTwCode", MyUtil.getStringFromObject( spGetMasterCompanyDistrictParams.get("v_gm") )); + params.put("masterCompanyThCode", MyUtil.getStringFromObject( spGetMasterCompanyDistrictParams.get("v_gs") )); + params.put("masterCompanyName", MyUtil.getStringFromObject( spGetMasterCompanyDistrictParams.get("v_gf") )); @@ -62,5 +81,43 @@ public class DrillingInputServiceImpl implements DrillingInputService { } } + + @Override + public void getDepartments(HttpServletRequest request, HashMap params, JSONObject jsonResponse) throws Exception { + + String userId = (String)request.getSession().getAttribute("USERID"); + + + String projectMasterCompanyName = loginMapper.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); + + params.put("userId", userId); + + params.put("glCode", MyUtil.getStringFromObject( spGetMasterCompanyDistrictParams.get("v_gl") )); + params.put("gmCode", MyUtil.getStringFromObject( spGetMasterCompanyDistrictParams.get("v_gm") )); + params.put("gsCode", MyUtil.getStringFromObject( spGetMasterCompanyDistrictParams.get("v_gs") )); + params.put("gfCode", MyUtil.getStringFromObject( spGetMasterCompanyDistrictParams.get("v_gf") )); + + + try { + EgovMap constCompanyCode = drillingInputMapper.getDepartments(params); + jsonResponse.put("data", constCompanyCode); + } catch (SQLException e) { + throw new Exception( e.getMessage() ); + } + + } } diff --git a/src/main/java/geoinfo/drilling/inquiry/DrillingInquiryController.java b/src/main/java/geoinfo/drilling/inquiry/DrillingInquiryController.java index 402998b1..de2fdee4 100644 --- a/src/main/java/geoinfo/drilling/inquiry/DrillingInquiryController.java +++ b/src/main/java/geoinfo/drilling/inquiry/DrillingInquiryController.java @@ -73,13 +73,39 @@ public class DrillingInquiryController { } @RequestMapping(value = "/drilling/inquiry-project.do") - public String drillingInquiryProject(@RequestParam HashMap params, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception { + public ModelAndView drillingInquiryProject(Map map, @RequestParam HashMap params, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception { + ModelAndView mv = new ModelAndView("/drilling/inquiry/drilling_inquiry_project"); if(request.getSession().getAttribute("USERNAME") == null){ - return "isError"; + mv.setViewName("isError"); + return mv; } + + + + String userId = MyUtil.getStringFromObject( request.getSession().getAttribute("USERID") ); + String cls = MyUtil.getStringFromObject( request.getSession().getAttribute("CLS") ); - return "/drilling/inquiry/drilling_inquiry_project"; + mv.addObject("userId", userId); + mv.addObject("cls", cls); + + try { + HashMap spGetProjectMbrParams = drillingInquiryService.spGetProjectMbr( request, params, userId ); + mv.addObject("mbr", spGetProjectMbrParams); + } catch (Exception e) { + // TODO Auto-generated catch block + 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); + } + + return mv; } diff --git a/src/main/java/geoinfo/drilling/inquiry/service/DrillingInquiryMapper.java b/src/main/java/geoinfo/drilling/inquiry/service/DrillingInquiryMapper.java index 551c1bf2..e8917db0 100644 --- a/src/main/java/geoinfo/drilling/inquiry/service/DrillingInquiryMapper.java +++ b/src/main/java/geoinfo/drilling/inquiry/service/DrillingInquiryMapper.java @@ -11,9 +11,9 @@ import egovframework.rte.psl.dataaccess.util.EgovMap; public interface DrillingInquiryMapper { public Long sPCntTblCsiByKeyword(HashMap params) throws SQLException; - public List sPGetTblCsiByKeyword(HashMap params) throws SQLException; - public String sPGetConstCompanyName(Long constCompanyCode) throws SQLException; - + public List spGetTblCsiByKeyword(HashMap params) throws SQLException; + public String spGetConstCompanyName(Long constCompanyCode) throws SQLException; + public String spGetProjectMbr(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 aabf9039..59a0c617 100644 --- a/src/main/java/geoinfo/drilling/inquiry/service/DrillingInquiryService.java +++ b/src/main/java/geoinfo/drilling/inquiry/service/DrillingInquiryService.java @@ -10,4 +10,6 @@ import org.json.simple.JSONObject; public interface DrillingInquiryService { JSONObject drillingInquiryList(HttpServletRequest request, HashMap params) throws Exception; + HashMap spGetProjectMbr(HttpServletRequest request, HashMap params, String userId) 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 22810ae5..d5cdb81f 100644 --- a/src/main/java/geoinfo/drilling/inquiry/service/impl/DrillingInquiryServiceImpl.java +++ b/src/main/java/geoinfo/drilling/inquiry/service/impl/DrillingInquiryServiceImpl.java @@ -1,7 +1,9 @@ package geoinfo.drilling.inquiry.service.impl; +import geoinfo.drilling.input.service.DrillingInputService; import geoinfo.drilling.inquiry.service.DrillingInquiryMapper; import geoinfo.drilling.inquiry.service.DrillingInquiryService; +import geoinfo.main.login.service.LoginMapper; import geoinfo.util.MyUtil; import java.sql.SQLException; @@ -17,6 +19,7 @@ import javax.servlet.http.HttpServletRequest; import oracle.sql.TIMESTAMP; import org.json.simple.JSONObject; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import egovframework.rte.psl.dataaccess.util.EgovMap; @@ -27,6 +30,13 @@ public class DrillingInquiryServiceImpl implements DrillingInquiryService { @Resource(name="drillingInquiryMapper") private DrillingInquiryMapper drillingInquiryMapper; + + @Autowired + DrillingInputService drillingInputService; + + + @Resource(name="loginMapper") + private LoginMapper loginMapper; @Override @@ -34,35 +44,51 @@ public class DrillingInquiryServiceImpl implements DrillingInquiryService { JSONObject jsonResponse = new JSONObject(); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - + String userId = MyUtil.getStringFromObject( request.getSession().getAttribute("USERID") ); - if(request.getSession().getAttribute("USERID") == null){ + if( userId == null){ throw new Exception( "로그인이 필요한 서비스입니다." ); } - //로그인된 계정으로 아래 코드를 구해야 함. 20240820 1915 - - String referrer = request. getHeader("referer"); - - String masterCompanyOCode = "01"; - if( referrer.indexOf("/drilling/inquiry-project.do") == -1 ) { - masterCompanyOCode = null; - } - params.put("masterCompanyOCode", masterCompanyOCode); - - String masterCompanyTwCode = "01"; - if( referrer.indexOf("/drilling/inquiry-project.do") == -1 ) { - masterCompanyTwCode = null; - } - params.put("masterCompanyTwCode", masterCompanyTwCode); - - String masterCompanyThCode = "002"; - if( referrer.indexOf("/drilling/inquiry-project.do") == -1 ) { - masterCompanyThCode = null; - } - params.put("masterCompanyThCode", masterCompanyThCode); - String masterCompanyName = null; + + if( false ) { + + //로그인된 계정으로 아래 코드를 구해야 함. 20240820 1915 2025-01-15 구현이 완료 됨. + + String referrer = request. getHeader("referer"); + + String masterCompanyOCode = "01"; + if( referrer.indexOf("/drilling/inquiry-project.do") == -1 ) { + masterCompanyOCode = null; + } + params.put("masterCompanyOCode", masterCompanyOCode); + + String masterCompanyTwCode = "01"; + if( referrer.indexOf("/drilling/inquiry-project.do") == -1 ) { + masterCompanyTwCode = null; + } + params.put("masterCompanyTwCode", masterCompanyTwCode); + + String masterCompanyThCode = "002"; + if( referrer.indexOf("/drilling/inquiry-project.do") == -1 ) { + masterCompanyThCode = null; + } + params.put("masterCompanyThCode", masterCompanyThCode); + + String masterCompanyName = null; + params.put("masterCompanyName", masterCompanyName); + } + + 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") ); + params.put("masterCompanyOCode", masterCompanyOCode); + params.put("masterCompanyTwCode", masterCompanyTwCode); + params.put("masterCompanyThCode", masterCompanyThCode); params.put("masterCompanyName", masterCompanyName); @@ -70,7 +96,7 @@ public class DrillingInquiryServiceImpl implements DrillingInquiryService { try { Long count = drillingInquiryMapper.sPCntTblCsiByKeyword(params); - List datas = drillingInquiryMapper.sPGetTblCsiByKeyword(params); + List datas = drillingInquiryMapper.spGetTblCsiByKeyword(params); @@ -78,6 +104,7 @@ public class DrillingInquiryServiceImpl implements DrillingInquiryService { String constCompanyCodeKey = "constCompanyCode"; String projectStateCodeKey = "projectStateCode"; String crtDtKey = "crtDt"; + String modDtKey = "modDt"; for( EgovMap data : datas ) { @@ -117,7 +144,7 @@ public class DrillingInquiryServiceImpl implements DrillingInquiryService { Long nConstCompanyCodeKey = MyUtil.getLongFromObject(data.get(constCompanyCodeKey)); if( nConstCompanyCodeKey != null ) { params.put(constCompanyCodeKey, nConstCompanyCodeKey); - String coinstCompanyDept = drillingInquiryMapper.sPGetConstCompanyName(nConstCompanyCodeKey); + String coinstCompanyDept = drillingInquiryMapper.spGetConstCompanyName(nConstCompanyCodeKey); data.put("coinstCompanyDept", coinstCompanyDept); } @@ -163,6 +190,13 @@ public class DrillingInquiryServiceImpl implements DrillingInquiryService { 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); @@ -208,7 +242,7 @@ public class DrillingInquiryServiceImpl implements DrillingInquiryService { try { Long count = drillingInquiryMapper.sPCntTblCsiByKeyword(params); - List> data = drillingInquiryMapper.sPGetTblCsiByKeyword(params); + List> data = drillingInquiryMapper.spGetTblCsiByKeyword(params); jsonResponse.put("count", count); jsonResponse.put("data", data); return jsonResponse; @@ -224,4 +258,40 @@ public class DrillingInquiryServiceImpl implements DrillingInquiryService { } */ + + @Override + public HashMap spGetProjectMbr(HttpServletRequest request, HashMap params, String userId) + throws Exception { + // TODO Auto-generated method stub + if( userId == null || userId.trim().isEmpty() ) { + throw new Exception( "로그인이 필요한 서비스입니다." ); + } + + + + String projectMasterCompanyCode = loginMapper.findProjectMasterCompanyCodeByUserid(userId); + + if( projectMasterCompanyCode == null || projectMasterCompanyCode.trim().isEmpty() ) { + throw new Exception( "발주 기관 계정에 설정된 기관이 존재하지 않습니다. code: 1" ); + } + + + String projectMasterCompanyName = loginMapper.findProjectMasterCompanyNameByUserid(userId); + + if( projectMasterCompanyName == null || projectMasterCompanyName.trim().isEmpty() ) { + throw new Exception( "발주 기관 계정에 설정된 기관이 존재하지 않습니다. code: 2" ); + } + + HashMap spGetProjectMbrParams = new HashMap(); + + spGetProjectMbrParams.put("type", "ORG_TEMP"); + spGetProjectMbrParams.put("ProjectCode", projectMasterCompanyCode); + drillingInquiryMapper.spGetProjectMbr( spGetProjectMbrParams ); + + spGetProjectMbrParams.put("projectMasterCompanyName", projectMasterCompanyName); + + return spGetProjectMbrParams; + } + + } diff --git a/src/main/java/geoinfo/main/login/service/LoginMapper.java b/src/main/java/geoinfo/main/login/service/LoginMapper.java index 5dedca82..d7a17eb0 100644 --- a/src/main/java/geoinfo/main/login/service/LoginMapper.java +++ b/src/main/java/geoinfo/main/login/service/LoginMapper.java @@ -100,4 +100,6 @@ public interface LoginMapper { public int checkWebMemberIn(Map map) throws Exception; String findProjectMasterCompanyNameByUserid(String userId); + String findProjectMasterCompanyCodeByUserid(String userId); + } diff --git a/src/main/java/geoinfo/regi/projectList/ProjectListController.java b/src/main/java/geoinfo/regi/projectList/ProjectListController.java index 0f2395ad..0b6fca0b 100644 --- a/src/main/java/geoinfo/regi/projectList/ProjectListController.java +++ b/src/main/java/geoinfo/regi/projectList/ProjectListController.java @@ -60,6 +60,8 @@ public class ProjectListController { // 사업명(프로젝트 명) 중복 검사를 수행한다. ArrayList> arrProjectCodeAndProjectName = masterService.getProjectCodeAndProjectNameByProjectName(params); ArrayList> arrProjectCodeAndProjectNameByProjectNameFromTempMetaInfo= masterService.getProjectCodeAndProjectNameByProjectNameFromTempMetaInfo(params); + ArrayList> arrConstNameByProjectNameFromTempConstructSiteInfo= masterService.getConstNameByProjectNameFromTempConstructSiteInfo(params); + //TEMP_CONSTRUCT_SITE_INFO if( 0 < arrProjectCodeAndProjectName.size() ) { @@ -79,7 +81,15 @@ public class ProjectListController { jsonObject.put("resultCode", "The name already exists."); jsonObject.put("message", "해당 사업명이 이미 있습니다. 다른 사업명으로 입력해 주세요. code 2"); } - } else { + } else if( 0 < arrConstNameByProjectNameFromTempConstructSiteInfo.size() ) { + jsonObject.put("result", "false"); + jsonObject.put("resultCode", "The name already exists."); + jsonObject.put("message", "해당 사업명이 이미 있습니다. 다른 사업명으로 입력해 주세요. code 3"); + } + + + + else { jsonObject.put("result", "true"); jsonObject.put("message", ""); } diff --git a/src/main/java/geoinfo/regi/projectList/service/ProjectListMapper.java b/src/main/java/geoinfo/regi/projectList/service/ProjectListMapper.java index 088e4d65..56d21fcd 100644 --- a/src/main/java/geoinfo/regi/projectList/service/ProjectListMapper.java +++ b/src/main/java/geoinfo/regi/projectList/service/ProjectListMapper.java @@ -53,5 +53,6 @@ public interface ProjectListMapper { public ArrayList> getProjectCodeAndProjectNameByProjectName(HashMap params); public ArrayList> getProjectCodeAndProjectNameByProjectNameFromTempMetaInfo(HashMap params); + public ArrayList> getConstNameByProjectNameFromTempConstructSiteInfo(HashMap params); } diff --git a/src/main/java/geoinfo/regi/projectList/service/ProjectListService.java b/src/main/java/geoinfo/regi/projectList/service/ProjectListService.java index 7c1093fc..fe8018fa 100644 --- a/src/main/java/geoinfo/regi/projectList/service/ProjectListService.java +++ b/src/main/java/geoinfo/regi/projectList/service/ProjectListService.java @@ -49,6 +49,7 @@ public interface ProjectListService { public ArrayList getRefraction(HashMap params); public ArrayList getExpertOpinion(HashMap params); - public ArrayList> getProjectCodeAndProjectNameByProjectName(HashMap params); + public ArrayList> getProjectCodeAndProjectNameByProjectName(HashMap params); public ArrayList> getProjectCodeAndProjectNameByProjectNameFromTempMetaInfo(HashMap params); + public ArrayList> getConstNameByProjectNameFromTempConstructSiteInfo(HashMap params); } diff --git a/src/main/java/geoinfo/regi/projectList/service/impl/ProjectListServiceImpl.java b/src/main/java/geoinfo/regi/projectList/service/impl/ProjectListServiceImpl.java index 638389ce..62959a3f 100644 --- a/src/main/java/geoinfo/regi/projectList/service/impl/ProjectListServiceImpl.java +++ b/src/main/java/geoinfo/regi/projectList/service/impl/ProjectListServiceImpl.java @@ -220,6 +220,12 @@ public class ProjectListServiceImpl implements ProjectListService { return projectListMapper.getProjectCodeAndProjectNameByProjectNameFromTempMetaInfo(params); } + @Override + public ArrayList> getConstNameByProjectNameFromTempConstructSiteInfo(HashMap params) { + return projectListMapper.getConstNameByProjectNameFromTempConstructSiteInfo(params); + } + + } diff --git a/src/main/resources/egovframework/sqlmap/mapper/drilling/input/DrillingInputMapper.xml b/src/main/resources/egovframework/sqlmap/mapper/drilling/input/DrillingInputMapper.xml index a8b6dac3..880f14be 100644 --- a/src/main/resources/egovframework/sqlmap/mapper/drilling/input/DrillingInputMapper.xml +++ b/src/main/resources/egovframework/sqlmap/mapper/drilling/input/DrillingInputMapper.xml @@ -39,7 +39,7 @@ #{v_RetMsg, mode=OUT, jdbcType=VARCHAR} ) } - + @@ -51,7 +51,7 @@ - { CALL SP_GET_MASTER_COMPANY_DISTRICT( #{projectMasterCompanyName}, #{v_gl, mode=OUT, jdbcType=VARCHAR}, @@ -62,4 +62,23 @@ + + + + \ No newline at end of file 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 3e555daa..b25436d3 100644 --- a/src/main/resources/egovframework/sqlmap/mapper/drilling/inquiry/DrillingInquiryMapper.xml +++ b/src/main/resources/egovframework/sqlmap/mapper/drilling/inquiry/DrillingInquiryMapper.xml @@ -6,12 +6,23 @@ - SELECT * FROM TABLE(SP_GET_TBL_CSI_BY_KEYWORD( #{constTag, jdbcType=VARCHAR},#{constName, jdbcType=VARCHAR},#{constStartDate, jdbcType=VARCHAR},#{constEndDate, jdbcType=VARCHAR},#{constStateCode, jdbcType=VARCHAR}, #{masterCompanyOCode, jdbcType=VARCHAR},#{masterCompanyTwCode, jdbcType=VARCHAR},#{masterCompanyThCode, jdbcType=VARCHAR}, #{masterCompanyName, jdbcType=VARCHAR}, @@ -19,10 +30,21 @@ 2,2,#{nCount},#{nPage})) - SELECT SP_GET_CONST_COMPANY_NAME(#{constCompanyCode}) FROM DUAL + + \ No newline at end of file diff --git a/src/main/resources/egovframework/sqlmap/mapper/main/Login_SQL.xml b/src/main/resources/egovframework/sqlmap/mapper/main/Login_SQL.xml index 18dc7e06..e0e1359a 100644 --- a/src/main/resources/egovframework/sqlmap/mapper/main/Login_SQL.xml +++ b/src/main/resources/egovframework/sqlmap/mapper/main/Login_SQL.xml @@ -571,7 +571,17 @@ FROM WEB_MEMBER_IN wmi LEFT JOIN TBL_MASTER_COMPANY tmc ON - wmi.PROJECT_MASTER_COMPANY_CODE = tmc.COM_CODE + TRIM(wmi.PROJECT_MASTER_COMPANY_CODE) = tmc.COM_CODE + WHERE + wmi.USERID=#{userid} + ]]> + + + + + + + + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/drilling/input/drilling_input.jsp b/src/main/webapp/WEB-INF/views/drilling/input/drilling_input.jsp index 5f3d91ed..431e5bfc 100644 --- a/src/main/webapp/WEB-INF/views/drilling/input/drilling_input.jsp +++ b/src/main/webapp/WEB-INF/views/drilling/input/drilling_input.jsp @@ -34,73 +34,224 @@ if (request.getSession().getAttribute("CLS") == null || "2".equals(request.getSe + + + + +
+
+ +
+
+
+

건설현장 관리

+

프로젝트 조회

+

건설현장 조회

+

건설현장 입력

+
+
+
+ + + +
+
+ +
+
    +
  • +
  • 건설현장 입력
  • +
+ 도움말 +
+ +

건설현장 입력

+ +
+
+
+

+
    +
  • +
  • +
  • +
  • +
+

기관명이 없을 시, 연락 바랍니다. 연락처: 031-995-0934

+
+ +
+
+
+
+ + + +
+
+ +
+
+ +
+
+ + +
+ - - -
-
- -
-
-
-

건설현장 관리

-

프로젝트 조회

-

건설현장 조회

-

건설현장 입력

-
-
-
- - - -
-
- -
-
    -
  • -
  • 건설현장 입력
  • -
- 도움말 -
- -

건설현장 입력

- -
-
-
-

부산지방항공청

-
    -
  • 국토교통부
  • -
  • 소속기관
  • -
  • 지방항공청
  • -
  • 부산지방항공청
  • -
-

기관명이 없을 시, 연락 바랍니다. 연락처: 031-995-0934

-
- -
-
-
-
- - - -
-
- -
-
- -
-
- - -
- <%@ include file="/include/inc_footer_2021_new.jsp" %> \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/drilling/inquiry/drilling_inquiry.jsp b/src/main/webapp/WEB-INF/views/drilling/inquiry/drilling_inquiry.jsp index 62629bab..cb320999 100644 --- a/src/main/webapp/WEB-INF/views/drilling/inquiry/drilling_inquiry.jsp +++ b/src/main/webapp/WEB-INF/views/drilling/inquiry/drilling_inquiry.jsp @@ -50,131 +50,144 @@ if (request.getSession().getAttribute("CLS") == null || "2".equals(request.getSe return str.replace(/^\s+|\s+$/g, ''); } + function onClickBtnSearch() { + const pagingEle = document.getElementById('paging'); + const activeLinks = pagingEle.querySelectorAll('li.is-active a'); + + + const constTag = trim( document.getElementById('const-tag').value ); + const constName = trim( document.getElementById('const-name').value ); + const constStartDate = trim( document.getElementById('const-start-date').value ); + const constEndDate = trim( document.getElementById('const-end-date').value ); + + + const constStateCode = trim( document.getElementById('const-state-code').value ); + const constCompanyDept = trim( document.getElementById('company-dept').value ); + const constCompanyAdmin = trim( document.getElementById('company-admin').value ); + const constCompanyTel = trim( document.getElementById('company-tel').value ); + + + const nCount = Number(pagingEle.getAttribute('data-ncount')); + const nPage = Number(pagingEle.getAttribute('data-npage')); + + xhr.open('GET', '/drilling/inquiry/list.do?' + + 'constTag='+ constTag + + '&' +'constName='+ constName + + '&' +'constStartDate='+ constStartDate + + '&' +'constEndDate='+ constEndDate + + '&' +'constStateCode='+ constStateCode + + '&' +'constCompanyDept='+ constCompanyDept + + '&' +'constCompanyAdmin='+ constCompanyAdmin + + '&' +'constCompanyTel='+ constCompanyTel + + '&' +'nPage='+ nPage + + '&' +'nCount='+ nCount, + true); + xhr.setRequestHeader('Content-type', 'application/json'); + + xhr.onreadystatechange = function() { + if (xhr.readyState === 4 && xhr.status === 200) { + // 요청 성공 시 처리 + console.log('%o', xhr.responseText); + const obj = JSON.parse(xhr.responseText); + var dataListEle = document.getElementById('data-list'); + dataListEle.innerHTML = ''; + + + var content = ''; + + for( idx in obj.datas ) { + const constStartDate = obj.datas[idx].constStartDate == null ? '알 수 없음' : obj.datas[idx].constStartDate; + const constEndDate = obj.datas[idx].constEndDate == null ? '알 수 없음' : obj.datas[idx].constEndDate; + const masterCompanyDept = obj.datas[idx].masterCompanyDept == null ? '-' : obj.datas[idx].masterCompanyDept; + const masterCompanyAdmin = obj.datas[idx].masterCompanyAdmin == null ? '-' : obj.datas[idx].masterCompanyAdmin; + const masterCompanyTel = obj.datas[idx].masterCompanyTel == null ? '-' : obj.datas[idx].masterCompanyTel; + const coinstCompanyDept = obj.datas[idx].coinstCompanyDept == null ? '-' : obj.datas[idx].coinstCompanyDept; + const constCompanyAdmin = obj.datas[idx].constCompanyAdmin == null ? '-' : obj.datas[idx].constCompanyAdmin; + const constCompanyTel = obj.datas[idx].constCompanyTel == null ? '-' : obj.datas[idx].constCompanyTel; + content += + ` + + ` + (obj.count - idx - (nCount * (nPage - 1))) + ` + ` + obj.datas[idx].constName + ` + ` + obj.datas[idx].projectStateCodeName + ` + ` + constStartDate + ` ~ ` + constEndDate + ` + ` + obj.datas[idx].constStateCodeName + ` + ` + masterCompanyDept + ` + ` + masterCompanyAdmin + ` + ` + masterCompanyTel + ` + ` + coinstCompanyDept + ` + ` + constCompanyAdmin + ` + ` + constCompanyTel + ` + + `; + } + dataListEle.innerHTML = content; + + document.getElementById('count').innerHTML = obj.count; + + + + let pagingEleHTML = ` +
    +
  • Chevron-prev
  • + `; + + for( let i = 1; i` + i + ``; + } else { + pagingEleHTML += `
  • ` + i + `
  • `; + } + } + pagingEleHTML += ` +
  • Chevron-next
  • +
+ `; + pagingEle.innerHTML = pagingEleHTML; + + + // 모든 .page-button 요소 가져오기 + const pageButtons = document.querySelectorAll('.page-button'); + + // 각 버튼에 클릭 이벤트 리스너 추가 + pageButtons.forEach(button => { + button.addEventListener('click', () => { + // 클릭된 버튼의 내용 (페이지 번호 등) 가져오기 + const pageNumber = button.getAttribute('data-npage'); + + // 페이지 이동 등 원하는 동작 수행 + console.log(`페이지 ` + pageNumber + `로 이동합니다.`); + pagingEle.setAttribute('data-npage', pageNumber); + document.getElementById('btn-search').click(); + }); + }); + + + } else if (xhr.readyState === 4) { + // 요청 실패 시 처리 + console.error('요청 실패:', xhr.status); + } + }; + + xhr.send(); + } + + function onClickBtnViewOnMap() { + alert('위치가 지정된 시추공이 존재하지 않습니다.'); + } + document.addEventListener('DOMContentLoaded', function() { document.getElementById('btn-search').addEventListener('click', function() { - - - const pagingEle = document.getElementById('paging'); - const activeLinks = pagingEle.querySelectorAll('li.is-active a'); - - - const constTag = trim( document.getElementById('const-tag').value ); - const constName = trim( document.getElementById('const-name').value ); - const constStartDate = trim( document.getElementById('const-start-date').value ); - const constEndDate = trim( document.getElementById('const-end-date').value ); - - - const constStateCode = trim( document.getElementById('const-state-code').value ); - const constCompanyDept = trim( document.getElementById('company-dept').value ); - const constCompanyAdmin = trim( document.getElementById('company-admin').value ); - const constCompanyTel = trim( document.getElementById('company-tel').value ); - - - const nCount = Number(pagingEle.getAttribute('data-ncount')); - const nPage = Number(pagingEle.getAttribute('data-npage')); - - xhr.open('GET', '/drilling/inquiry/list.do?' + - 'constTag='+ constTag + - '&' +'constName='+ constName + - '&' +'constStartDate='+ constStartDate + - '&' +'constEndDate='+ constEndDate + - '&' +'constStateCode='+ constStateCode + - '&' +'constCompanyDept='+ constCompanyDept + - '&' +'constCompanyAdmin='+ constCompanyAdmin + - '&' +'constCompanyTel='+ constCompanyTel + - '&' +'nPage='+ nPage + - '&' +'nCount='+ nCount, - true); - xhr.setRequestHeader('Content-type', 'application/json'); - - xhr.onreadystatechange = function() { - if (xhr.readyState === 4 && xhr.status === 200) { - // 요청 성공 시 처리 - console.log('%o', xhr.responseText); - const obj = JSON.parse(xhr.responseText); - var dataListEle = document.getElementById('data-list'); - dataListEle.innerHTML = ''; - - - var content = ''; - - for( idx in obj.datas ) { - const constStartDate = obj.datas[idx].constStartDate == null ? '알 수 없음' : obj.datas[idx].constStartDate; - const constEndDate = obj.datas[idx].constEndDate == null ? '알 수 없음' : obj.datas[idx].constEndDate; - const masterCompanyDept = obj.datas[idx].masterCompanyDept == null ? '-' : obj.datas[idx].masterCompanyDept; - const masterCompanyAdmin = obj.datas[idx].masterCompanyAdmin == null ? '-' : obj.datas[idx].masterCompanyAdmin; - const masterCompanyTel = obj.datas[idx].masterCompanyTel == null ? '-' : obj.datas[idx].masterCompanyTel; - const coinstCompanyDept = obj.datas[idx].coinstCompanyDept == null ? '-' : obj.datas[idx].coinstCompanyDept; - const constCompanyAdmin = obj.datas[idx].constCompanyAdmin == null ? '-' : obj.datas[idx].constCompanyAdmin; - const constCompanyTel = obj.datas[idx].constCompanyTel == null ? '-' : obj.datas[idx].constCompanyTel; - content += - ` - - ` + (obj.count - idx - (nCount * (nPage - 1))) + ` - ` + obj.datas[idx].constName + ` - ` + obj.datas[idx].projectStateCodeName + ` - ` + constStartDate + ` ~ ` + constEndDate + ` - ` + obj.datas[idx].constStateCodeName + ` - ` + masterCompanyDept + ` - ` + masterCompanyAdmin + ` - ` + masterCompanyTel + ` - ` + coinstCompanyDept + ` - ` + constCompanyAdmin + ` - ` + constCompanyTel + ` - - `; - } - dataListEle.innerHTML = content; - - document.getElementById('count').innerHTML = obj.count; - - - - let pagingEleHTML = ` -
    -
  • Chevron-prev
  • - `; - - for( let i = 1; i` + i + ``; - } else { - pagingEleHTML += `
  • ` + i + `
  • `; - } - } - pagingEleHTML += ` -
  • Chevron-next
  • -
- `; - pagingEle.innerHTML = pagingEleHTML; - - - // 모든 .page-button 요소 가져오기 - const pageButtons = document.querySelectorAll('.page-button'); - - // 각 버튼에 클릭 이벤트 리스너 추가 - pageButtons.forEach(button => { - button.addEventListener('click', () => { - // 클릭된 버튼의 내용 (페이지 번호 등) 가져오기 - const pageNumber = button.getAttribute('data-npage'); - - // 페이지 이동 등 원하는 동작 수행 - console.log(`페이지 ` + pageNumber + `로 이동합니다.`); - pagingEle.setAttribute('data-npage', pageNumber); - document.getElementById('btn-search').click(); - }); - }); - - - } else if (xhr.readyState === 4) { - // 요청 실패 시 처리 - console.error('요청 실패:', xhr.status); - } - }; - - xhr.send(); + onClickBtnSearch(); }); + + document.getElementById('btn-view-on-map').addEventListener('click', function() { + onClickBtnViewOnMap(); + }); + + + // 초기 테이블 추가 트리거 document.getElementById('btn-search').click(); @@ -263,6 +276,9 @@ if (request.getSession().getAttribute("CLS") == null || "2".equals(request.getSe +
Total: -
diff --git a/src/main/webapp/WEB-INF/views/drilling/inquiry/drilling_inquiry_project.jsp b/src/main/webapp/WEB-INF/views/drilling/inquiry/drilling_inquiry_project.jsp index b911314d..e3fa458f 100644 --- a/src/main/webapp/WEB-INF/views/drilling/inquiry/drilling_inquiry_project.jsp +++ b/src/main/webapp/WEB-INF/views/drilling/inquiry/drilling_inquiry_project.jsp @@ -49,134 +49,231 @@ if (request.getSession().getAttribute("CLS") == null || "2".equals(request.getSe str = String(str); return str.replace(/^\s+|\s+$/g, ''); } + + function departments() { + + if(typeof XMLHttpRequest != 'undefined'){ + xhr = new XMLHttpRequest(); + } + xhr.open('GET', '/drilling/input/departments.do', true); + xhr.setRequestHeader('Content-type', 'application/json'); + + xhr.onreadystatechange = function() { + + if (xhr.readyState === 4 && xhr.status === 200) { + // 요청 성공 시 처리 + const obj = JSON.parse(xhr.responseText); + console.log('%o', obj); + + var lastTeamName = ""; + + if( obj.data.glDistrict != null ) { + document.getElementById('gl-district').value = obj.data.glDistrict; + lastTeamName = obj.data.glDistrict; + } + if( obj.data.gmDistrict != null ) { + document.getElementById('gm-district').value = obj.data.gmDistrict; + lastTeamName = obj.data.gmDistrict; + } + if( obj.data.gsDistrict != null ) { + document.getElementById('gs-district').value = obj.data.gsDistrict; + lastTeamName = obj.data.gsDistrict; + } + if( obj.data.gfDistrict != null ) { + document.getElementById('gf-district').value = obj.data.gfDistrict; + lastTeamName = obj.data.gfDistrict; + } + + // 가장 마지막 이름을 알아내야 함. + document.getElementById('last-team-name').value = lastTeamName; + + + } else if (xhr.readyState === 4) { + // 요청 실패 시 처리 + console.error('요청 실패:', xhr.status); + } + }; + + xhr.send(); + } + + + + function onClickBtnSearch() { + const pagingEle = document.getElementById('paging'); + const activeLinks = pagingEle.querySelectorAll('li.is-active a'); + + + const constTag = trim( document.getElementById('const-tag').value ); + const constName = trim( document.getElementById('const-name').value ); + const constStartDate = trim( document.getElementById('const-start-date').value ); + const constEndDate = trim( document.getElementById('const-end-date').value ); + + + const constStateCode = trim( document.getElementById('const-state-code').value ); + const constCompanyDept = trim( document.getElementById('company-dept').value ); + const constCompanyAdmin = trim( document.getElementById('company-admin').value ); + const constCompanyTel = trim( document.getElementById('company-tel').value ); + + + const nCount = Number(pagingEle.getAttribute('data-ncount')); + const nPage = Number(pagingEle.getAttribute('data-npage')); + + xhr.open('GET', '/drilling/inquiry/list.do?' + + 'constTag='+ constTag + + '&' +'constName='+ constName + + '&' +'constStartDate='+ constStartDate + + '&' +'constEndDate='+ constEndDate + + '&' +'constStateCode='+ constStateCode + + '&' +'constCompanyDept='+ constCompanyDept + + '&' +'constCompanyAdmin='+ constCompanyAdmin + + '&' +'constCompanyTel='+ constCompanyTel + + '&' +'nPage='+ nPage + + '&' +'nCount='+ nCount, + true); + xhr.setRequestHeader('Content-type', 'application/json'); + + xhr.onreadystatechange = function() { + if (xhr.readyState === 4 && xhr.status === 200) { + // 요청 성공 시 처리 + console.log('%o', xhr.responseText); + const obj = JSON.parse(xhr.responseText); + var dataListEle = document.getElementById('data-list'); + dataListEle.innerHTML = ''; + + + var content = ''; + + for( idx in obj.datas ) { + const constStartDate = obj.datas[idx].constStartDate == null ? '알 수 없음' : obj.datas[idx].constStartDate; + const constEndDate = obj.datas[idx].constEndDate == null ? '알 수 없음' : obj.datas[idx].constEndDate; + const masterCompanyDept = obj.datas[idx].masterCompanyDept == null ? '-' : obj.datas[idx].masterCompanyDept; + const masterCompanyAdmin = obj.datas[idx].masterCompanyAdmin == null ? '-' : obj.datas[idx].masterCompanyAdmin; + const masterCompanyTel = obj.datas[idx].masterCompanyTel == null ? '-' : obj.datas[idx].masterCompanyTel; + const coinstCompanyDept = obj.datas[idx].coinstCompanyDept == null ? '-' : obj.datas[idx].coinstCompanyDept; + const constCompanyAdmin = obj.datas[idx].constCompanyAdmin == null ? '-' : obj.datas[idx].constCompanyAdmin; + const constCompanyTel = obj.datas[idx].constCompanyTel == null ? '-' : obj.datas[idx].constCompanyTel; + content += + ` + + ` + (obj.count - idx - (nCount * (nPage - 1))) + ` + ` + obj.datas[idx].constName + ` + ` + obj.datas[idx].projectStateCodeName + ` + ` + constStartDate + ` ~ ` + constEndDate + ` + ` + obj.datas[idx].constStateCodeName + ` + ` + masterCompanyDept + ` + ` + masterCompanyAdmin + ` + ` + masterCompanyTel + ` + ` + coinstCompanyDept + ` + ` + constCompanyAdmin + ` + ` + constCompanyTel + ` + + `; + } + dataListEle.innerHTML = content; + + document.getElementById('count').innerHTML = obj.count; + + + + let pagingEleHTML = ` +
    +
  • Chevron-prev
  • + `; + + for( let i = 1; i` + i + ``; + } else { + pagingEleHTML += `
  • ` + i + `
  • `; + } + } + pagingEleHTML += ` +
  • Chevron-next
  • +
+ `; + pagingEle.innerHTML = pagingEleHTML; + + + // 모든 .page-button 요소 가져오기 + const pageButtons = document.querySelectorAll('.page-button'); + + // 각 버튼에 클릭 이벤트 리스너 추가 + pageButtons.forEach(button => { + button.addEventListener('click', () => { + // 클릭된 버튼의 내용 (페이지 번호 등) 가져오기 + const pageNumber = button.getAttribute('data-npage'); + + // 페이지 이동 등 원하는 동작 수행 + console.log(`페이지 ` + pageNumber + `로 이동합니다.`); + pagingEle.setAttribute('data-npage', pageNumber); + document.getElementById('btn-search').click(); + }); + }); + + departments(); + } else if (xhr.readyState === 4) { + // 요청 실패 시 처리 + console.error('요청 실패:', xhr.status); + } + + + }; + + xhr.send(); + } + + function onClickBtnViewOnMap() { + const projectMasterCompanyName = '${mbr.projectMasterCompanyName}'; + let projectCode = '${mbr.ProjectCode}'; + + let minX = Number('${mbr.v_min_x}'); + let minY = Number('${mbr.v_min_y}'); + let maxX = Number('${mbr.v_max_x}'); + let maxY = Number('${mbr.v_max_y}'); + + + + + const gl = document.getElementById('gl-district').value; + const gm = document.getElementById('gm-district').value; + const gs = document.getElementById('gs-district').value; + const gf = document.getElementById('gf-district').value; + const lastTeamName = document.getElementById('last-team-name').value; + + openMap('${sessionScope.USERID}','${cls}', gl, gm, gs, gf, lastTeamName, projectMasterCompanyName, maxX-minX, maxY-minY); + } + + function openMap(userid,cls, gl = null, gm = null, gs = null, gf = null, lastTeamName = null, projectMasterCompanyName = null, positionX= null, positionY= null) + { + win = 'map'; + sizeX=window.screen.width; + sizeY=window.screen.height; + + let userArea = projectMasterCompanyName; + if( userArea == null ) { + if( userid === 't3-1' ) { + userArea = "충청남도"; + } else if( userid === 't3-2' ) { + userArea = "부산광역시"; + } + } + var mapWin = window.open("/map/mapMain.do?userArea=" + encodeURIComponent(userArea) + "&gl=" + gl + "&gm=" + gm + "&gs=" + gs + "&gf=" + gf + "&lastTeamName=" + lastTeamName + "&positionX=" + positionX + "&positionY=" + positionY + "#tab_1_1","mapWin","toolbar=no,location=no,directories=no,status=yes,menubar=no,scrollbars=yes,resizable=yes,width=" + sizeX + ",height=" + sizeY + ",left=0,top=0"); + mapWin.focus(); + } + document.addEventListener('DOMContentLoaded', function() { document.getElementById('btn-search').addEventListener('click', function() { - - - const pagingEle = document.getElementById('paging'); - const activeLinks = pagingEle.querySelectorAll('li.is-active a'); - - - const constTag = trim( document.getElementById('const-tag').value ); - const constName = trim( document.getElementById('const-name').value ); - const constStartDate = trim( document.getElementById('const-start-date').value ); - const constEndDate = trim( document.getElementById('const-end-date').value ); - - - const constStateCode = trim( document.getElementById('const-state-code').value ); - const constCompanyDept = trim( document.getElementById('company-dept').value ); - const constCompanyAdmin = trim( document.getElementById('company-admin').value ); - const constCompanyTel = trim( document.getElementById('company-tel').value ); - - - const nCount = Number(pagingEle.getAttribute('data-ncount')); - const nPage = Number(pagingEle.getAttribute('data-npage')); - - xhr.open('GET', '/drilling/inquiry/list.do?' + - 'constTag='+ constTag + - '&' +'constName='+ constName + - '&' +'constStartDate='+ constStartDate + - '&' +'constEndDate='+ constEndDate + - '&' +'constStateCode='+ constStateCode + - '&' +'constCompanyDept='+ constCompanyDept + - '&' +'constCompanyAdmin='+ constCompanyAdmin + - '&' +'constCompanyTel='+ constCompanyTel + - '&' +'nPage='+ nPage + - '&' +'nCount='+ nCount, - true); - xhr.setRequestHeader('Content-type', 'application/json'); - - xhr.onreadystatechange = function() { - if (xhr.readyState === 4 && xhr.status === 200) { - // 요청 성공 시 처리 - console.log('%o', xhr.responseText); - const obj = JSON.parse(xhr.responseText); - var dataListEle = document.getElementById('data-list'); - dataListEle.innerHTML = ''; - - - var content = ''; - - for( idx in obj.datas ) { - const constStartDate = obj.datas[idx].constStartDate == null ? '알 수 없음' : obj.datas[idx].constStartDate; - const constEndDate = obj.datas[idx].constEndDate == null ? '알 수 없음' : obj.datas[idx].constEndDate; - const masterCompanyDept = obj.datas[idx].masterCompanyDept == null ? '-' : obj.datas[idx].masterCompanyDept; - const masterCompanyAdmin = obj.datas[idx].masterCompanyAdmin == null ? '-' : obj.datas[idx].masterCompanyAdmin; - const masterCompanyTel = obj.datas[idx].masterCompanyTel == null ? '-' : obj.datas[idx].masterCompanyTel; - const coinstCompanyDept = obj.datas[idx].coinstCompanyDept == null ? '-' : obj.datas[idx].coinstCompanyDept; - const constCompanyAdmin = obj.datas[idx].constCompanyAdmin == null ? '-' : obj.datas[idx].constCompanyAdmin; - const constCompanyTel = obj.datas[idx].constCompanyTel == null ? '-' : obj.datas[idx].constCompanyTel; - content += - ` - - ` + (obj.count - idx - (nCount * (nPage - 1))) + ` - ` + obj.datas[idx].constName + ` - ` + obj.datas[idx].projectStateCodeName + ` - ` + constStartDate + ` ~ ` + constEndDate + ` - ` + obj.datas[idx].constStateCodeName + ` - ` + masterCompanyDept + ` - ` + masterCompanyAdmin + ` - ` + masterCompanyTel + ` - ` + coinstCompanyDept + ` - ` + constCompanyAdmin + ` - ` + constCompanyTel + ` - - `; - } - dataListEle.innerHTML = content; - - document.getElementById('count').innerHTML = obj.count; - - - - let pagingEleHTML = ` -
    -
  • Chevron-prev
  • - `; - - for( let i = 1; i` + i + ``; - } else { - pagingEleHTML += `
  • ` + i + `
  • `; - } - } - pagingEleHTML += ` -
  • Chevron-next
  • -
- `; - pagingEle.innerHTML = pagingEleHTML; - - - // 모든 .page-button 요소 가져오기 - const pageButtons = document.querySelectorAll('.page-button'); - - // 각 버튼에 클릭 이벤트 리스너 추가 - pageButtons.forEach(button => { - button.addEventListener('click', () => { - // 클릭된 버튼의 내용 (페이지 번호 등) 가져오기 - const pageNumber = button.getAttribute('data-npage'); - - // 페이지 이동 등 원하는 동작 수행 - console.log(`페이지 ` + pageNumber + `로 이동합니다.`); - pagingEle.setAttribute('data-npage', pageNumber); - document.getElementById('btn-search').click(); - }); - }); - - - } else if (xhr.readyState === 4) { - // 요청 실패 시 처리 - console.error('요청 실패:', xhr.status); - } - }; - - xhr.send(); + onClickBtnSearch(); + }); + + document.getElementById('btn-view-on-map').addEventListener('click', function() { + onClickBtnViewOnMap(); }); // 초기 테이블 추가 트리거 @@ -266,6 +363,9 @@ if (request.getSession().getAttribute("CLS") == null || "2".equals(request.getSe +
Total: -
@@ -313,6 +413,13 @@ if (request.getSession().getAttribute("CLS") == null || "2".equals(request.getSe + + + + + + + diff --git a/src/main/webapp/WEB-INF/views/web/input/header.jsp b/src/main/webapp/WEB-INF/views/web/input/header.jsp index fae0cfc6..cd75accc 100644 --- a/src/main/webapp/WEB-INF/views/web/input/header.jsp +++ b/src/main/webapp/WEB-INF/views/web/input/header.jsp @@ -9,77 +9,9 @@ -