From 5c18871ab93ec0e4ea6116770643d19fe51980a9 Mon Sep 17 00:00:00 2001 From: thkim Date: Wed, 21 May 2025 17:53:13 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=EA=B1=B4=EC=84=A4=ED=98=84=EC=9E=A5?= =?UTF-8?q?=EA=B4=80=EB=A6=AC=EA=B8=B0=EB=8A=A5=20=EC=97=B0=EA=B3=84=20?= =?UTF-8?q?=EC=9E=91=EC=97=85=20=EC=A4=91=EA=B0=84=20=EC=A0=80=EC=9E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- list.txt | 32 +- .../common/DrillingCommonController.java | 15 + .../drilling/home/DrillingHomeController.java | 28 + .../home/service/DrillingHomeMapper.java | 2 +- .../home/service/DrillingHomeService.java | 5 +- .../service/impl/DrillingHomeServiceImpl.java | 5 + .../input/service/DrillingInputMapper.java | 7 + .../input/service/DrillingInputService.java | 1 + .../impl/DrillingInputServiceImpl.java | 40 ++ .../service/DrillingInquiryMapper.java | 2 +- .../service/DrillingInquiryService.java | 4 + .../impl/DrillingInquiryServiceImpl.java | 36 ++ .../geoinfo/main/login/LoginController.java | 5 + .../regi/manageList/ManageListController.java | 103 ++- .../projectList/ProjectListController.java | 602 ++++++++++-------- .../drilling/home/DrillingHomeMapper.xml | 28 +- .../drilling/input/DrillingInputMapper.xml | 48 +- .../inquiry/DrillingInquiryMapper.xml | 48 ++ .../views/drilling/common/includeTopMenu.jsp | 143 ++++- .../views/drilling/home/drilling_index.jsp | 26 +- .../WEB-INF/views/web/input/meta_info1.jsp | 129 +++- .../webapp/com/js/drilling/drilling-common.js | 7 +- .../webapp/images/map/drilling-pin-35-50.png | Bin 0 -> 1872 bytes src/main/webapp/js/map/main/map.js | 103 ++- src/main/webapp/proxyo2map.jsp | 2 +- 25 files changed, 1064 insertions(+), 357 deletions(-) create mode 100644 src/main/webapp/images/map/drilling-pin-35-50.png diff --git a/list.txt b/list.txt index 9ef77b7e..5a644779 100644 --- a/list.txt +++ b/list.txt @@ -2,7 +2,33 @@ src\main\resources\egovframework\egovProps\globals.properties #src\main\java\geoinfo\regi\manageList\ManageExcelUploadProc01Controller.java #src\main\webapp\WEB-INF\views\web\input\excel_step00.jsp #src\main\webapp\WEB-INF\views\web\input\excel_step31.jsp -src\main\webapp\com\css\common.v2.0.css -src\main\webapp\com\css\common.v2.0.css.map +#src\main\webapp\com\css\common.v2.0.css +#src\main\webapp\com\css\common.v2.0.css.map src\main\webapp\WEB-INF\views\web\input\meta_info1.jsp -src\main\webapp\WEB-INF\views\web\manage\list_reg.jsp \ No newline at end of file +src\main\webapp\WEB-INF\views\web\manage\list_reg.jsp + +src\main\webapp\js\map\main\map.js +src\main\java\geoinfo\drilling\home\DrillingHomeController.java +src\main\java\geoinfo\drilling\home\service\DrillingHomeService.java +src\main\java\geoinfo\drilling\home\service\impl\DrillingHomeServiceImpl.java +src\main\java\geoinfo\drilling\home\service\DrillingHomeMapper.java +src\main\resources\egovframework\sqlmap\mapper\drilling\home\DrillingHomeMapper.xml +src\main\webapp\images\map\drilling-pin-35-50.png +src\main\java\geoinfo\drilling\common\DrillingCommonController.java +src\main\webapp\WEB-INF\views\drilling\common\includeTopMenu.jsp +src\main\webapp\com\js\drilling\drilling-common.js +src\main\webapp\WEB-INF\views\drilling\home\drilling_index.jsp + +src\main\webapp\proxyo2map.jsp +src\main\java\geoinfo\main\login\LoginController.java +src\main\webapp\WEB-INF\views\web\input\meta_info1.jsp +src\main\java\geoinfo\regi\projectList\ProjectListController.java + +src\main\java\geoinfo\drilling\inquiry\service\DrillingInquiryService.java +src\main\java\geoinfo\drilling\inquiry\service\impl\DrillingInquiryServiceImpl.java +src\main\java\geoinfo\drilling\inquiry\service\DrillingInquiryMapper.java +src\main\resources\egovframework\sqlmap\mapper\drilling\inquiry\DrillingInquiryMapper.xml +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 diff --git a/src/main/java/geoinfo/drilling/common/DrillingCommonController.java b/src/main/java/geoinfo/drilling/common/DrillingCommonController.java index c4465b1f..b1e94a21 100644 --- a/src/main/java/geoinfo/drilling/common/DrillingCommonController.java +++ b/src/main/java/geoinfo/drilling/common/DrillingCommonController.java @@ -2,7 +2,9 @@ package geoinfo.drilling.common; import java.util.HashMap; +import java.util.Map; +import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -13,10 +15,15 @@ import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; +import geoinfo.main.login.service.LoginService; + @Controller public class DrillingCommonController { private static final Logger LOGGER = LoggerFactory.getLogger(DrillingCommonController.class); + + @Resource(name = "loginService") + private LoginService loginService; @RequestMapping(value = "/drilling/common/includeTopMenu.do") @@ -30,6 +37,14 @@ public class DrillingCommonController { model.put("cls", String.valueOf(request.getSession().getAttribute("CLS"))); model.put("companyName", request.getSession().getAttribute("COMPANYNAME")); + + Map map = new HashMap(); + map.put("userid", String.valueOf(request.getSession().getAttribute("USERID"))); + + Map result = loginService.selectWebMemberIn(map); + + model.put("masterCompanyCode", result.get("master_company_code")); + return "/drilling/common/includeTopMenu"; } } diff --git a/src/main/java/geoinfo/drilling/home/DrillingHomeController.java b/src/main/java/geoinfo/drilling/home/DrillingHomeController.java index f427cd3a..04c7d6fc 100644 --- a/src/main/java/geoinfo/drilling/home/DrillingHomeController.java +++ b/src/main/java/geoinfo/drilling/home/DrillingHomeController.java @@ -45,6 +45,7 @@ import geoinfo.com.WebConfirm; import geoinfo.drilling.home.service.DrillingHomeService; import geoinfo.drilling.input.service.DrillingInputService; import geoinfo.drilling.inquiry.service.DrillingInquiryService; +import geoinfo.main.login.service.LoginService; import geoinfo.map.mapControl.service.MapControlService; import geoinfo.regi.selectClassInfo.service.SelectClassService; import geoinfo.regi.status.service.RegiPageService; @@ -60,6 +61,9 @@ public class DrillingHomeController { private static final Logger LOGGER = LoggerFactory.getLogger(DrillingHomeController.class); + @Resource(name = "loginService") + private LoginService loginService; + @Autowired DrillingHomeService drillingHomeService; @@ -83,6 +87,22 @@ public class DrillingHomeController { try { HashMap spGetProjectMbrParams = drillingInquiryService.spGetProjectMbr( request, params, userId ); model.addAttribute("mbr", spGetProjectMbrParams); + + if(request.getSession().getAttribute("USERNAME") == null){ + return "isError"; + } + + model.put("userName", String.valueOf(request.getSession().getAttribute("USERNAME"))); + model.put("cls", String.valueOf(request.getSession().getAttribute("CLS"))); + model.put("companyName", request.getSession().getAttribute("COMPANYNAME")); + + + Map map = new HashMap(); + map.put("userid", String.valueOf(request.getSession().getAttribute("USERID"))); + + Map result = loginService.selectWebMemberIn(map); + + model.put("masterCompanyCode", result.get("master_company_code")); } catch (Exception e) { // TODO Auto-generated catch block String strTxt = @@ -98,4 +118,12 @@ public class DrillingHomeController { return "/drilling/home/drilling_index"; } + + // 지도에서 발주기관 소속 시추공 표시 + @RequestMapping(value = "/drilling/map/searchHole.do", method = RequestMethod.GET) + public String drillingMapSearchHole(String projectCode, ModelMap model) throws Exception { + model.put("data", drillingHomeService.drillingMapSearchHole(projectCode)); + System.out.println("jsonView log 확인"); + return "jsonView"; + } } diff --git a/src/main/java/geoinfo/drilling/home/service/DrillingHomeMapper.java b/src/main/java/geoinfo/drilling/home/service/DrillingHomeMapper.java index 660f76a1..cd9ec616 100644 --- a/src/main/java/geoinfo/drilling/home/service/DrillingHomeMapper.java +++ b/src/main/java/geoinfo/drilling/home/service/DrillingHomeMapper.java @@ -9,7 +9,7 @@ import egovframework.rte.psl.dataaccess.util.EgovMap; @Mapper("drillingHomeMapper") public interface DrillingHomeMapper { - + List drillingMapSearchHole(String projectCode); } diff --git a/src/main/java/geoinfo/drilling/home/service/DrillingHomeService.java b/src/main/java/geoinfo/drilling/home/service/DrillingHomeService.java index d1ee4d81..fc95c62d 100644 --- a/src/main/java/geoinfo/drilling/home/service/DrillingHomeService.java +++ b/src/main/java/geoinfo/drilling/home/service/DrillingHomeService.java @@ -1,13 +1,16 @@ package geoinfo.drilling.home.service; import java.util.HashMap; +import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletRequest; import org.json.simple.JSONObject; +import egovframework.rte.psl.dataaccess.util.EgovMap; + public interface DrillingHomeService { - + public List drillingMapSearchHole(String projectCode); } diff --git a/src/main/java/geoinfo/drilling/home/service/impl/DrillingHomeServiceImpl.java b/src/main/java/geoinfo/drilling/home/service/impl/DrillingHomeServiceImpl.java index 31720c41..04401467 100644 --- a/src/main/java/geoinfo/drilling/home/service/impl/DrillingHomeServiceImpl.java +++ b/src/main/java/geoinfo/drilling/home/service/impl/DrillingHomeServiceImpl.java @@ -32,6 +32,11 @@ public class DrillingHomeServiceImpl implements DrillingHomeService { @Resource(name="drillingHomeMapper") private DrillingHomeMapper drillingHomeMapper; + + @Override + public List drillingMapSearchHole(String projectCode) { + return drillingHomeMapper.drillingMapSearchHole(projectCode); + } } diff --git a/src/main/java/geoinfo/drilling/input/service/DrillingInputMapper.java b/src/main/java/geoinfo/drilling/input/service/DrillingInputMapper.java index a27c1f2e..a7321d3b 100644 --- a/src/main/java/geoinfo/drilling/input/service/DrillingInputMapper.java +++ b/src/main/java/geoinfo/drilling/input/service/DrillingInputMapper.java @@ -2,6 +2,7 @@ package geoinfo.drilling.input.service; import java.sql.SQLException; import java.util.HashMap; +import java.util.List; import egovframework.rte.psl.dataaccess.mapper.Mapper; import egovframework.rte.psl.dataaccess.util.EgovMap; @@ -15,6 +16,12 @@ public interface DrillingInputMapper { public void spGetMasterCompanyDistrict(HashMap spGetMasterCompanyDistrictParams) throws SQLException; public EgovMap getDepartments(HashMap params) throws SQLException; + public HashMap spUdtTblCsi(HashMap params) throws SQLException; + + public List sPGetTblCsiByCid(HashMap params) throws SQLException; + public EgovMap getItemByCid(HashMap params) throws SQLException; + + public int updateProjectCode(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 6a8df0d6..effdc573 100644 --- a/src/main/java/geoinfo/drilling/input/service/DrillingInputService.java +++ b/src/main/java/geoinfo/drilling/input/service/DrillingInputService.java @@ -11,4 +11,5 @@ 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; + HashMap updateProjectCode(HttpServletRequest request, HashMap params) 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 2ba863a9..2cb66a6d 100644 --- a/src/main/java/geoinfo/drilling/input/service/impl/DrillingInputServiceImpl.java +++ b/src/main/java/geoinfo/drilling/input/service/impl/DrillingInputServiceImpl.java @@ -119,5 +119,45 @@ public class DrillingInputServiceImpl implements DrillingInputService { } } + + + @Override + public HashMap updateProjectCode(HttpServletRequest request, HashMap params) throws Exception { + + String userId = (String)request.getSession().getAttribute("USERID"); + + params.put("userId", userId); + + try { + /* + List sPGetTblCsiByCidParams = drillingInputMapper.sPGetTblCsiByCid( params ); + + if( sPGetTblCsiByCidParams.size() == 0 ) { + return params; + } + EgovMap tbl = sPGetTblCsiByCidParams.get(0); + */ + + EgovMap tbl = drillingInputMapper.getItemByCid( params ); + + HashMap updateProjectCodeParams = new HashMap(); + + updateProjectCodeParams.put("userId", userId); + updateProjectCodeParams.put("PROJECT_CODE", params.get("PROJECT_CODE")); + updateProjectCodeParams.put("CID", params.get("CID")); + + + int nResult = drillingInputMapper.updateProjectCode(updateProjectCodeParams); + if( nResult == 0 ) { + if( tbl.get("projectCode") != null && !tbl.get("projectCode").equals(params.get("PROJECT_CODE")) ) { + throw new Exception( "해당 프로젝트는 이미 다른 프로젝트와 연결되어 있습니다." ); + } + } + return params; + } catch (SQLException e) { + throw new Exception( e.getMessage() ); + } + + } } diff --git a/src/main/java/geoinfo/drilling/inquiry/service/DrillingInquiryMapper.java b/src/main/java/geoinfo/drilling/inquiry/service/DrillingInquiryMapper.java index e8917db0..cb1c22d2 100644 --- a/src/main/java/geoinfo/drilling/inquiry/service/DrillingInquiryMapper.java +++ b/src/main/java/geoinfo/drilling/inquiry/service/DrillingInquiryMapper.java @@ -14,7 +14,7 @@ public interface DrillingInquiryMapper { public List spGetTblCsiByKeyword(HashMap params) throws SQLException; public String spGetConstCompanyName(Long constCompanyCode) throws SQLException; public String spGetProjectMbr(HashMap params) throws SQLException; - + public List drillingInquiryAutocompleteList(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 59a0c617..7509abe4 100644 --- a/src/main/java/geoinfo/drilling/inquiry/service/DrillingInquiryService.java +++ b/src/main/java/geoinfo/drilling/inquiry/service/DrillingInquiryService.java @@ -1,15 +1,19 @@ package geoinfo.drilling.inquiry.service; import java.util.HashMap; +import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletRequest; import org.json.simple.JSONObject; +import egovframework.rte.psl.dataaccess.util.EgovMap; + 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; } 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 d5cdb81f..27fcff3d 100644 --- a/src/main/java/geoinfo/drilling/inquiry/service/impl/DrillingInquiryServiceImpl.java +++ b/src/main/java/geoinfo/drilling/inquiry/service/impl/DrillingInquiryServiceImpl.java @@ -292,6 +292,42 @@ public class DrillingInquiryServiceImpl implements DrillingInquiryService { return spGetProjectMbrParams; } + + + @Override + public List drillingInquiryAutocompleteList(HttpServletRequest request, HashMap params) throws Exception { + + String userId = MyUtil.getStringFromObject( request.getSession().getAttribute("USERID") ); + + if( userId == null){ + throw new Exception( "로그인이 필요한 서비스입니다." ); + } + + + 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() ); + } + } } diff --git a/src/main/java/geoinfo/main/login/LoginController.java b/src/main/java/geoinfo/main/login/LoginController.java index b88b3509..09daf0fa 100644 --- a/src/main/java/geoinfo/main/login/LoginController.java +++ b/src/main/java/geoinfo/main/login/LoginController.java @@ -1076,6 +1076,11 @@ public class LoginController { url = "home/main_sitemap.jsp"; else url = "index.do?cntyn=0"; + } else if (cls.equals("2")) { // 발주기관일경우 + if (location.equals("left")) + url = "left.do"; + else + url = "drilling/index.do"; } else if (cls.equals("9")) { // 관리자일경우 if (location.equals("left")) url = "left.do"; diff --git a/src/main/java/geoinfo/regi/manageList/ManageListController.java b/src/main/java/geoinfo/regi/manageList/ManageListController.java index 3c1e42ca..39b09dc4 100644 --- a/src/main/java/geoinfo/regi/manageList/ManageListController.java +++ b/src/main/java/geoinfo/regi/manageList/ManageListController.java @@ -115,58 +115,57 @@ public class ManageListController { String oPROJECT_CODE = sUtil.checkNull(parseData.parseData((String)params.get("PROJECT_CODE"))); // 프로젝트코드 String inputMode = ""; // 수정모드 if(!(null == oPROJECT_CODE || "" == oPROJECT_CODE)){ - int count = 0; - - HashMap mapDis = new HashMap(); - HashMap mapMetaInfo = new HashMap(); - ArrayList arrayDis = new ArrayList(); - List arrayMetaInfo = new ArrayList(); - - String strQuery = ""; - String inputdata = wUtil.getToday(); - - strQuery = wUtil.getDisQuery(); - - // Array 로 받기 - arrayDis = commonService.getDis(); - // arrayDis = wUtil.getDataArrayList(resultSet, rsmd, count); - - // SelectBox형태로 map으로 받기 - mapDis = wUtil.getCommCodeSel("L_DIS,M_DIS", arrayDis, ""); - - // 수정모드 - - arrayMetaInfo = commonService.getMetaInfo(params); - - // Array 로 받기 - - // MAP - if (arrayMetaInfo.isEmpty() == false) { - mapMetaInfo = (HashMap) arrayMetaInfo.get(0); - // 입력날짜 - inputdata = wUtil.isNullOb(mapMetaInfo.get("INPUTDATE"),wUtil.getToday()); - } - - //프로젝트 정보 - params.put("projectCode",oPROJECT_CODE); - EgovMap projectInfo = infoService.getProjectInfo(params); - model.addAttribute("project", projectInfo); - - model.addAttribute("arrayDis", arrayDis); - model.addAttribute("mapDis", mapDis); - model.addAttribute("arrayMetaInfo", arrayMetaInfo); - model.addAttribute("inputdata", inputdata); - model.addAttribute("holeSpotSd",wUtil.isNullOb(mapMetaInfo.get("HOLE_SPOT_SD"))); - model.addAttribute("mapMetaInfo", mapMetaInfo); - model.addAttribute("reportType", oREPORT_TYPE); - model.addAttribute("projectCode", oPROJECT_CODE); - model.addAttribute("HOLE_SPOT_SD",wUtil.isNullOb((mapMetaInfo.get("HOLE_SPOT_SD")))); - model.addAttribute("HOLE_SPOT_SGG",wUtil.isNullOb(mapMetaInfo.get("HOLE_SPOT_SGG"))); - model.addAttribute("L_DIS", mapDis.get("L_DIS")); - - return "/web/input/meta_info"; - } - else{ + int count = 0; + + HashMap mapDis = new HashMap(); + HashMap mapMetaInfo = new HashMap(); + ArrayList arrayDis = new ArrayList(); + List arrayMetaInfo = new ArrayList(); + + String strQuery = ""; + String inputdata = wUtil.getToday(); + + strQuery = wUtil.getDisQuery(); + + // Array 로 받기 + arrayDis = commonService.getDis(); + // arrayDis = wUtil.getDataArrayList(resultSet, rsmd, count); + + // SelectBox형태로 map으로 받기 + mapDis = wUtil.getCommCodeSel("L_DIS,M_DIS", arrayDis, ""); + + // 수정모드 + + arrayMetaInfo = commonService.getMetaInfo(params); + + // Array 로 받기 + + // MAP + if (arrayMetaInfo.isEmpty() == false) { + mapMetaInfo = (HashMap) arrayMetaInfo.get(0); + // 입력날짜 + inputdata = wUtil.isNullOb(mapMetaInfo.get("INPUTDATE"),wUtil.getToday()); + } + + //프로젝트 정보 + params.put("projectCode",oPROJECT_CODE); + EgovMap projectInfo = infoService.getProjectInfo(params); + model.addAttribute("project", projectInfo); + + model.addAttribute("arrayDis", arrayDis); + model.addAttribute("mapDis", mapDis); + model.addAttribute("arrayMetaInfo", arrayMetaInfo); + model.addAttribute("inputdata", inputdata); + model.addAttribute("holeSpotSd",wUtil.isNullOb(mapMetaInfo.get("HOLE_SPOT_SD"))); + model.addAttribute("mapMetaInfo", mapMetaInfo); + model.addAttribute("reportType", oREPORT_TYPE); + model.addAttribute("projectCode", oPROJECT_CODE); + model.addAttribute("HOLE_SPOT_SD",wUtil.isNullOb((mapMetaInfo.get("HOLE_SPOT_SD")))); + model.addAttribute("HOLE_SPOT_SGG",wUtil.isNullOb(mapMetaInfo.get("HOLE_SPOT_SGG"))); + model.addAttribute("L_DIS", mapDis.get("L_DIS")); + + return "/web/input/meta_info"; + } else { // 지반정보등록 (신규) int count = 0; diff --git a/src/main/java/geoinfo/regi/projectList/ProjectListController.java b/src/main/java/geoinfo/regi/projectList/ProjectListController.java index 0b6fca0b..18a385a9 100644 --- a/src/main/java/geoinfo/regi/projectList/ProjectListController.java +++ b/src/main/java/geoinfo/regi/projectList/ProjectListController.java @@ -9,7 +9,9 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import org.json.simple.JSONArray; import org.json.simple.JSONObject; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.MediaType; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; @@ -21,6 +23,8 @@ import org.springframework.web.servlet.ModelAndView; import org.springframework.web.util.UrlPathHelper; import egovframework.rte.psl.dataaccess.util.EgovMap; +import geoinfo.drilling.input.service.DrillingInputService; +import geoinfo.drilling.inquiry.service.DrillingInquiryService; import geoinfo.regi.header.service.HeaderService; import geoinfo.regi.projectList.service.ProjectListService; import geoinfo.regi.status.service.RegiPageService; @@ -39,6 +43,13 @@ public class ProjectListController { @Resource(name = "headerService") private HeaderService headerService; + @Autowired + private DrillingInquiryService drillingInquiryService; + + @Autowired + private DrillingInputService drillingInputService; + + //프로젝트명 중복여부를 체크한다. @ResponseBody @RequestMapping(value = "/project-duplicate-check", method = RequestMethod.GET, produces = "application/json; charset=UTF-8") @@ -81,7 +92,7 @@ public class ProjectListController { jsonObject.put("resultCode", "The name already exists."); jsonObject.put("message", "해당 사업명이 이미 있습니다. 다른 사업명으로 입력해 주세요. code 2"); } - } else if( 0 < arrConstNameByProjectNameFromTempConstructSiteInfo.size() ) { + } else if( false && 0 < arrConstNameByProjectNameFromTempConstructSiteInfo.size() ) { jsonObject.put("result", "false"); jsonObject.put("resultCode", "The name already exists."); jsonObject.put("message", "해당 사업명이 이미 있습니다. 다른 사업명으로 입력해 주세요. code 3"); @@ -115,27 +126,28 @@ public class ProjectListController { WebUtil wUtil = new WebUtil(); strUtil sUtil = new strUtil(); int affectRow = 0; - String rUrl = sUtil.checkNull(String.valueOf(params.get("rUrl"))); + String rUrl = sUtil.checkNull(String.valueOf(params.get("rUrl"))); //request - String oPROJECT_CODE = sUtil.checkNull(String.valueOf(params.get("PROJECT_CODE"))); - String oINPUT_COMPANY = sUtil.checkNull(String.valueOf(request.getParameter("INPUT_COMPANY"))); - String oDEPT = sUtil.checkNull(String.valueOf(request.getParameter("DEPT"))); - String oADMIN_NAME = sUtil.checkNull(String.valueOf(request.getParameter("ADMIN_NAME"))); - String oEMAIL = sUtil.checkNull(String.valueOf(request.getParameter("EMAIL"))); - String oTEL = sUtil.checkNull(String.valueOf(params.get("TEL"))); - String oPHONE = sUtil.checkNull(String.valueOf(params.get("PHONE"))); - String oSEARCHDATE = sUtil.checkNull(String.valueOf(params.get("SEARCHDATE"))); - String oINPUTDATE = wUtil.getToday(); - String oPROJECT_NAME = sUtil.checkNull(String.valueOf(request.getParameter("PROJECT_NAME"))); - String oHOLE_NUMBER = sUtil.checkNull(String.valueOf(params.get("HOLE_NUMBER"))); - String oHOLE_ADMIN_NAME= sUtil.checkNull(String.valueOf(request.getParameter("HOLE_ADMIN_NAME"))); - String oHOLE_COMPANY = sUtil.checkNull(String.valueOf(request.getParameter("HOLE_COMPANY"))); - String oHOLE_TYPE = "Boring"; - String oHOLE_SPOT_SD = sUtil.checkNull(String.valueOf(params.get("HOLE_SPOT_SD"))); - String oHOLE_SPOT_SGG = sUtil.checkNull(String.valueOf(params.get("HOLE_SPOT_SGG"))); - String oHOLE_SPOT = sUtil.checkNull(String.valueOf(request.getParameter("HOLE_SPOT"))); - String oREMARK = sUtil.checkNull(String.valueOf(request.getParameter("REMARK"))); - String oREPORT_TYPE=sUtil.checkNull(String.valueOf(params.get("REPORT_TYPE"))); + String oPROJECT_CODE = sUtil.checkNull(String.valueOf(params.get("PROJECT_CODE"))); + String oINPUT_COMPANY = sUtil.checkNull(String.valueOf(request.getParameter("INPUT_COMPANY"))); + String oDEPT = sUtil.checkNull(String.valueOf(request.getParameter("DEPT"))); + String oADMIN_NAME = sUtil.checkNull(String.valueOf(request.getParameter("ADMIN_NAME"))); + String oEMAIL = sUtil.checkNull(String.valueOf(request.getParameter("EMAIL"))); + String oTEL = sUtil.checkNull(String.valueOf(params.get("TEL"))); + String oPHONE = sUtil.checkNull(String.valueOf(params.get("PHONE"))); + String oSEARCHDATE = sUtil.checkNull(String.valueOf(params.get("SEARCHDATE"))); + String oINPUTDATE = wUtil.getToday(); + String oPROJECT_NAME = sUtil.checkNull(String.valueOf(request.getParameter("PROJECT_NAME"))); + String oHOLE_NUMBER = sUtil.checkNull(String.valueOf(params.get("HOLE_NUMBER"))); + String oHOLE_ADMIN_NAME = sUtil.checkNull(String.valueOf(request.getParameter("HOLE_ADMIN_NAME"))); + String oHOLE_COMPANY = sUtil.checkNull(String.valueOf(request.getParameter("HOLE_COMPANY"))); + String oHOLE_TYPE = "Boring"; + String oHOLE_SPOT_SD = sUtil.checkNull(String.valueOf(params.get("HOLE_SPOT_SD"))); + String oHOLE_SPOT_SGG = sUtil.checkNull(String.valueOf(params.get("HOLE_SPOT_SGG"))); + String oHOLE_SPOT = sUtil.checkNull(String.valueOf(request.getParameter("HOLE_SPOT"))); + String oREMARK = sUtil.checkNull(String.valueOf(request.getParameter("REMARK"))); + String oREPORT_TYPE =sUtil.checkNull(String.valueOf(params.get("REPORT_TYPE"))); + String oTEMP_CONSTRUCT_SITE_INFO_CID =sUtil.checkNull(String.valueOf(params.get("TEMP_CONSTRUCT_SITE_INFO-CID"))); // 발주기관에서 생성한 프로젝트 식별 번호. TEMP_CONSTRUCT_SITE_INFO 테이블의 cid 컬럼 값. if("".equals(oPROJECT_CODE)){ HashMap prjCd = new HashMap(); prjCd=masterService.getProjectCd(params); @@ -185,7 +197,7 @@ public class ProjectListController { model.addObject("result", "false"); model.addObject("message", "해당 사업명이 이미 있습니다. 다른 사업명으로 입력 해주세요."); model.setViewName("redirect:/index_db.do"); - return null; + return model; } affectRow = masterService.insertMeta(params); @@ -216,6 +228,15 @@ public class ProjectListController { params.put("USERID",request.getSession().getAttribute("USERID")); affectRow =masterService.updateMeta(params); } + + if( oTEMP_CONSTRUCT_SITE_INFO_CID != null ) { + + params.put("PROJECT_CODE", oPROJECT_CODE); + params.put("CID", oTEMP_CONSTRUCT_SITE_INFO_CID); + drillingInputService.updateProjectCode(request, params); + // TEMP_CONSTRUCT_SITE_INFO 테이블의 cid 해당하는 record의 PROJECT_CODE를 update한다. + } + model.addObject("result", "true"); model.addObject("oREPORT_TYPE", oREPORT_TYPE); model.addObject("affectRow", affectRow); @@ -226,306 +247,343 @@ public class ProjectListController { return model; } - // 지반정보등록 (관리자) - @RequestMapping(value = "/deleteAll.do") - public ModelAndView deleteAll(@RequestParam HashMap params, ModelAndView model ,HttpServletRequest request, HttpServletResponse response) throws Exception{ - strUtil sUtil = new strUtil(); - int affectRow = 0; - UrlPathHelper urlPathHelper = new UrlPathHelper(); - String topPath = urlPathHelper.getOriginatingRequestUri(request); - String PROJECT_CODE = sUtil.checkNull(String.valueOf(params.get("PROJECT_CODE"))); + // 지반정보등록 (관리자) + @RequestMapping(value = "/deleteAll.do") + public ModelAndView deleteAll(@RequestParam HashMap params, ModelAndView model ,HttpServletRequest request, HttpServletResponse response) throws Exception{ + strUtil sUtil = new strUtil(); + int affectRow = 0; + UrlPathHelper urlPathHelper = new UrlPathHelper(); + String topPath = urlPathHelper.getOriginatingRequestUri(request); + String PROJECT_CODE = sUtil.checkNull(String.valueOf(params.get("PROJECT_CODE"))); - // 2018-11-07 모의해킹 조치. 조현석 차장. - // 1. 프로젝트 코드 검사 유무 - if ( null != PROJECT_CODE && ! "".equals(PROJECT_CODE)) { - // 2. 관리자인지. - boolean ischk = false; - if ( request.getSession().getAttribute("CLS") != null && "9".equals(request.getSession().getAttribute("CLS") ) ) { - ischk = true; - } - if ( request.getSession().getAttribute("CLS") != null && "1".equals(request.getSession().getAttribute("CLS") ) ) { - // 기업회원일 경우 본인 프로젝트인지 확인. - String userId = (String) request.getSession().getAttribute("USERID"); - if ( userId != null && ! "".equals(userId)) { - HashMap projectMap = masterService.getInfo(params); - if ( projectMap != null && ! projectMap.isEmpty() ) { - String tmpID = (String) projectMap.get("USERID"); - System.out.println("userId - " + userId + " , tmpID = " + tmpID ); - // 프로젝트 생성 아이디가 같다면 삭제 권한 가능.. - if ( userId.equals( tmpID ) ) { - ischk = true; - } - } - } - //getInfo - } - - //3. 권한이 있는 경우에만 삭제가 가능하다. - if ( ischk ) { - String tableTemp[] = {"TEMP_META_INFO", "TEMP_PROJECT_INFO", "TEMP_TOPO_GEOLOGY", "TEMP_HEADER", "TEMP_HEADER_CORE", - "TEMP_SELECTCLASS_INFO", "TEMP_REFERENCE", "TEMP_LAYER_INFO", "TEMP_SPT", "TEMP_RQD", "TEMP_DSF", - "TEMP_FIELD_PRESSUREMETER", "TEMP_SLICKENSIDE_INFO", "TEMP_Q", "TEMP_RMR", "TEMP_FIELD_WATERPRESSURE", - "TEMP_WP_TEST", "TEMP_FIELD_PERMEABILITY", "TEMP_FIELDPER_SUB", "TEMP_FIELD_CONE_PENETRATION", - "TEMP_CONE_PENETRATION_IMAGES", "TEMP_SAMPLE_INFO", "TEMP_CLASSIFICATION", "TEMP_CONSOLIDATION_USUAL", - "TEMP_CONSOLIDATION", "TEMP_CBR_COMPAC", "TEMP_UNCONFINED_USUAL", "TEMP_TRIAXIAL_USUAL", "TEMP_TRIAXIAL_CU", - "TEMP_TRIAXIAL_UU", "TEMP_RESONANT_USUAL", "TEMP_RESONANT", "TEMP_REPEATED_TRIAXIAL_USUAL", - "TEMP_REPEATED_TRIAXIAL", "TEMP_ROCK_POINTLOAD", "TEMP_ROCK_JOINTSHEAR", "TEMP_ROCK_UNIAXIAL", - "TEMP_ROCK_TRIAXIAL", "TEMP_ROCK_RESONANT_USUAL", "TEMP_ROCK_RESONANT", "TEMP_ROCK_REPEATED_TRIAXIAL_U", - "TEMP_ROCK_REPEATED_TRIAXIAL", "TEMP_EXPERT_OPINION", "TEMP_RESISTIVITY_SURVEY", "TEMP_RESISTIVITY_SURVEY_SUB", - "TEMP_RESISTIVITY_SURVEY_FILE", "TEMP_REFRACTION_SURVEY", "TEMP_REFRACTION_SURVEY_SUB", - "TEMP_REFRACTION_SURVEY_FILE", "TEMP_BOREHOLE_WAVE", "TEMP_BOREHOLE_WAVE_PS", "TEMP_DOWNHOLE", - "TEMP_DOWNHOLE_PS", "TEMP_DENSITY", "TEMP_DENSITY_SUB"}; - params.put("PROJECT_CODE", PROJECT_CODE); - for(int i = 0; i params, ModelMap model,HttpServletRequest request, HttpServletResponse response)throws Exception { - strUtil sUtil = new strUtil(); + //3. 권한이 있는 경우에만 삭제가 가능하다. + if ( ischk ) { + String tableTemp[] = {"TEMP_META_INFO", "TEMP_PROJECT_INFO", "TEMP_TOPO_GEOLOGY", "TEMP_HEADER", "TEMP_HEADER_CORE", + "TEMP_SELECTCLASS_INFO", "TEMP_REFERENCE", "TEMP_LAYER_INFO", "TEMP_SPT", "TEMP_RQD", "TEMP_DSF", + "TEMP_FIELD_PRESSUREMETER", "TEMP_SLICKENSIDE_INFO", "TEMP_Q", "TEMP_RMR", "TEMP_FIELD_WATERPRESSURE", + "TEMP_WP_TEST", "TEMP_FIELD_PERMEABILITY", "TEMP_FIELDPER_SUB", "TEMP_FIELD_CONE_PENETRATION", + "TEMP_CONE_PENETRATION_IMAGES", "TEMP_SAMPLE_INFO", "TEMP_CLASSIFICATION", "TEMP_CONSOLIDATION_USUAL", + "TEMP_CONSOLIDATION", "TEMP_CBR_COMPAC", "TEMP_UNCONFINED_USUAL", "TEMP_TRIAXIAL_USUAL", "TEMP_TRIAXIAL_CU", + "TEMP_TRIAXIAL_UU", "TEMP_RESONANT_USUAL", "TEMP_RESONANT", "TEMP_REPEATED_TRIAXIAL_USUAL", + "TEMP_REPEATED_TRIAXIAL", "TEMP_ROCK_POINTLOAD", "TEMP_ROCK_JOINTSHEAR", "TEMP_ROCK_UNIAXIAL", + "TEMP_ROCK_TRIAXIAL", "TEMP_ROCK_RESONANT_USUAL", "TEMP_ROCK_RESONANT", "TEMP_ROCK_REPEATED_TRIAXIAL_U", + "TEMP_ROCK_REPEATED_TRIAXIAL", "TEMP_EXPERT_OPINION", "TEMP_RESISTIVITY_SURVEY", "TEMP_RESISTIVITY_SURVEY_SUB", + "TEMP_RESISTIVITY_SURVEY_FILE", "TEMP_REFRACTION_SURVEY", "TEMP_REFRACTION_SURVEY_SUB", + "TEMP_REFRACTION_SURVEY_FILE", "TEMP_BOREHOLE_WAVE", "TEMP_BOREHOLE_WAVE_PS", "TEMP_DOWNHOLE", + "TEMP_DOWNHOLE_PS", "TEMP_DENSITY", "TEMP_DENSITY_SUB"}; + params.put("PROJECT_CODE", PROJECT_CODE); + for(int i = 0; i params, ModelAndView model ,HttpServletRequest request, HttpServletResponse response) throws Exception{ - - request.setCharacterEncoding("euc-kr"); - String LoginUserId = String.valueOf(request.getSession().getAttribute("USERID")); - model.addObject("userId", LoginUserId); - strUtil sUtil = new strUtil(); - WebUtil wUtil = new WebUtil(); + // 수정요청 팝업(List) + @RequestMapping(value = "/index_db.do") + public String index_db(@RequestParam HashMap params, ModelMap model,HttpServletRequest request, HttpServletResponse response)throws Exception { + strUtil sUtil = new strUtil(); - //request - String p_code= sUtil.checkNull(String.valueOf(params.get("p_code"))); + String rUrl = sUtil.checkNull(String.valueOf(params.get("rUrl"))); + String oREPORT_TYPE = sUtil.checkNull(String.valueOf(params.get("oREPORT_TYPE"))); + String oPROJECT_CODE = sUtil.checkNull(String.valueOf(params.get("oPROJECT_CODE"))); - int count = 0; + if(rUrl.equals("")) { + rUrl = "/meta_info.do?REPORT_TYPE="+oREPORT_TYPE+"&PROJECT_CODE="+oPROJECT_CODE; + } + params.put("rUrl", rUrl); + model.addAttribute("test",params); + return "/web/index_db"; + } - ArrayList arrayMeta = new ArrayList(); - ArrayList arrayProject = new ArrayList(); - ArrayList arrayTopo = new ArrayList(); - ArrayList arrayHeader = new ArrayList(); - ArrayList arrayLayer = new ArrayList(); - ArrayList arraySpt = new ArrayList(); - ArrayList arrayRqd = new ArrayList(); - ArrayList arrayDsf = new ArrayList(); - ArrayList arrayMeter = new ArrayList(); - ArrayList arraySlick = new ArrayList(); - ArrayList arrayQ = new ArrayList(); - ArrayList arrayRmr = new ArrayList(); - ArrayList arrayWater = new ArrayList(); - ArrayList arrayPer = new ArrayList(); - ArrayList arrayCone = new ArrayList(); - ArrayList arraySample = new ArrayList(); - ArrayList arrayConsolidation = new ArrayList(); - ArrayList arrayResonant = new ArrayList(); - ArrayList arrayRT = new ArrayList(); - ArrayList arrayRockUniaxial = new ArrayList(); - ArrayList arrayRockTriaxial = new ArrayList(); - ArrayList arrayRockPointload = new ArrayList(); - ArrayList arrayRockJointshear = new ArrayList(); - ArrayList arrayRockResonant = new ArrayList(); - ArrayList arrayRockRT = new ArrayList(); - ArrayList arrayBorehole = new ArrayList(); - ArrayList arrayDownhole = new ArrayList(); - ArrayList arrayDensity = new ArrayList(); - ArrayList arrayResistivity = new ArrayList(); - ArrayList arrayRefraction = new ArrayList(); - ArrayList arrayExpert = new ArrayList(); - HashMap result = new HashMap(); + // 지반정보등록 (관리자 및 사용자) + @RequestMapping(value = "/checkList.do") + public ModelAndView checkList(@RequestParam HashMap params, ModelAndView model ,HttpServletRequest request, HttpServletResponse response) throws Exception{ + + request.setCharacterEncoding("euc-kr"); + String LoginUserId = String.valueOf(request.getSession().getAttribute("USERID")); + model.addObject("userId", LoginUserId); + strUtil sUtil = new strUtil(); + WebUtil wUtil = new WebUtil(); - params.put("PROJECT_CODE", p_code); + //request + String p_code= sUtil.checkNull(String.valueOf(params.get("p_code"))); - //프로젝트명, 측선수, 시추공수 - result = masterService.getInfo(params); - model.addObject("result", result); - //메타정보 - arrayMeta = masterService.getProjectMetaInfo(params); - model.addObject("arrayMeta", arrayMeta); - //프로젝트정보 - arrayProject = masterService.getProjectInfo(params); - model.addObject("arrayProject", arrayProject); + int count = 0; - //지형지질정보 - arrayTopo = masterService.getTopoGeology(params); - model.addObject("arrayTopo", arrayTopo); + ArrayList arrayMeta = new ArrayList(); + ArrayList arrayProject = new ArrayList(); + ArrayList arrayTopo = new ArrayList(); + ArrayList arrayHeader = new ArrayList(); + ArrayList arrayLayer = new ArrayList(); + ArrayList arraySpt = new ArrayList(); + ArrayList arrayRqd = new ArrayList(); + ArrayList arrayDsf = new ArrayList(); + ArrayList arrayMeter = new ArrayList(); + ArrayList arraySlick = new ArrayList(); + ArrayList arrayQ = new ArrayList(); + ArrayList arrayRmr = new ArrayList(); + ArrayList arrayWater = new ArrayList(); + ArrayList arrayPer = new ArrayList(); + ArrayList arrayCone = new ArrayList(); + ArrayList arraySample = new ArrayList(); + ArrayList arrayConsolidation = new ArrayList(); + ArrayList arrayResonant = new ArrayList(); + ArrayList arrayRT = new ArrayList(); + ArrayList arrayRockUniaxial = new ArrayList(); + ArrayList arrayRockTriaxial = new ArrayList(); + ArrayList arrayRockPointload = new ArrayList(); + ArrayList arrayRockJointshear = new ArrayList(); + ArrayList arrayRockResonant = new ArrayList(); + ArrayList arrayRockRT = new ArrayList(); + ArrayList arrayBorehole = new ArrayList(); + ArrayList arrayDownhole = new ArrayList(); + ArrayList arrayDensity = new ArrayList(); + ArrayList arrayResistivity = new ArrayList(); + ArrayList arrayRefraction = new ArrayList(); + ArrayList arrayExpert = new ArrayList(); + HashMap result = new HashMap(); - //시추공정보 - arrayHeader = masterService.getHeader(params); - model.addObject("arrayHeader", arrayHeader); + params.put("PROJECT_CODE", p_code); - //지층정보 - arrayLayer = masterService.getLayerInfo(params); - model.addObject("arrayLayer", arrayLayer); + //프로젝트명, 측선수, 시추공수 + result = masterService.getInfo(params); + model.addObject("result", result); + //메타정보 + arrayMeta = masterService.getProjectMetaInfo(params); + model.addObject("arrayMeta", arrayMeta); + //프로젝트정보 + arrayProject = masterService.getProjectInfo(params); + model.addObject("arrayProject", arrayProject); - //표준관입시험 - arraySpt = masterService.getSpt(params); - model.addObject("arraySpt", arraySpt); + //지형지질정보 + arrayTopo = masterService.getTopoGeology(params); + model.addObject("arrayTopo", arrayTopo); - //TCRRQD - arrayRqd = masterService.getRqd(params); - model.addObject("arrayRqd", arrayRqd); + //시추공정보 + arrayHeader = masterService.getHeader(params); + model.addObject("arrayHeader", arrayHeader); - //DSF - arrayDsf = masterService.getDsf(params); - model.addObject("arrayDsf", arrayDsf); + //지층정보 + arrayLayer = masterService.getLayerInfo(params); + model.addObject("arrayLayer", arrayLayer); - //공내재하 - arrayMeter = masterService.getFieldPressuremeter(params); - model.addObject("arrayMeter", arrayMeter); + //표준관입시험 + arraySpt = masterService.getSpt(params); + model.addObject("arraySpt", arraySpt); - //절리정보 - arraySlick = masterService.getSlickensideInfo(params); - model.addObject("arraySlick", arraySlick); + //TCRRQD + arrayRqd = masterService.getRqd(params); + model.addObject("arrayRqd", arrayRqd); - //Q - arrayQ = masterService.getQ(params); - model.addObject("arrayQ", arrayQ); + //DSF + arrayDsf = masterService.getDsf(params); + model.addObject("arrayDsf", arrayDsf); - //RMR - arrayRmr = masterService.getRmr(params); + //공내재하 + arrayMeter = masterService.getFieldPressuremeter(params); + model.addObject("arrayMeter", arrayMeter); - //현장수압 - arrayWater = masterService.getFieldWaterpressure(params); + //절리정보 + arraySlick = masterService.getSlickensideInfo(params); + model.addObject("arraySlick", arraySlick); - //현장투수 - arrayPer = masterService.getFieldPermeability(params); + //Q + arrayQ = masterService.getQ(params); + model.addObject("arrayQ", arrayQ); - //콘관입 - arrayCone = masterService.getConePenetration(params); + //RMR + arrayRmr = masterService.getRmr(params); - //기본물성시험 - arraySample = masterService.getSampleInfo(params); - model.addObject("arraySample", arraySample); + //현장수압 + arrayWater = masterService.getFieldWaterpressure(params); - //토사 - 압밀시험 - arrayConsolidation = masterService.getConsolidation(params); + //현장투수 + arrayPer = masterService.getFieldPermeability(params); - //토사 - 공진주 - arrayResonant = masterService.getResonant(params); + //콘관입 + arrayCone = masterService.getConePenetration(params); - //토사 - 반복삼축 - arrayRT = masterService.getRepeatedTriaxial(params); + //기본물성시험 + arraySample = masterService.getSampleInfo(params); + model.addObject("arraySample", arraySample); - //암석 - 일축압축 - arrayRockUniaxial = masterService.getRockUniaxial(params); + //토사 - 압밀시험 + arrayConsolidation = masterService.getConsolidation(params); - //암석 - 삼축압축 - arrayRockTriaxial = masterService.getRockTriaxial(params); + //토사 - 공진주 + arrayResonant = masterService.getResonant(params); - //암석 - 점하중 - arrayRockPointload = masterService.getRockPointload(params); + //토사 - 반복삼축 + arrayRT = masterService.getRepeatedTriaxial(params); - //암석 - 절리면전단 - arrayRockJointshear = masterService.getRockJointshear(params); + //암석 - 일축압축 + arrayRockUniaxial = masterService.getRockUniaxial(params); - //암석 - 공진주 - arrayRockResonant = masterService.getRockResonant(params); + //암석 - 삼축압축 + arrayRockTriaxial = masterService.getRockTriaxial(params); - //암석 - 반복삼축 - arrayRockRT = masterService.getRockRepeatedTriaxial(params); + //암석 - 점하중 + arrayRockPointload = masterService.getRockPointload(params); - //PS검층 - arrayBorehole = masterService.getBorehole(params); + //암석 - 절리면전단 + arrayRockJointshear = masterService.getRockJointshear(params); - //하향식 탄성파 - arrayDownhole = masterService.getDownhole(params); + //암석 - 공진주 + arrayRockResonant = masterService.getRockResonant(params); - //밀도검층 - arrayDensity = masterService.getDensity(params); + //암석 - 반복삼축 + arrayRockRT = masterService.getRockRepeatedTriaxial(params); - //전기비저항 - arrayResistivity = masterService.getResistivity(params); + //PS검층 + arrayBorehole = masterService.getBorehole(params); - //굴절법탄성파 - arrayRefraction = masterService.getRefraction(params); + //하향식 탄성파 + arrayDownhole = masterService.getDownhole(params); - //전문가의견 - arrayExpert = masterService.getExpertOpinion(params); + //밀도검층 + arrayDensity = masterService.getDensity(params); - EgovMap sampleInfoExYn = headerService.sampleInfoException(params); - sampleInfoExYn.put("sampleInfoException", (sampleInfoExYn.get("sampleInfoException") != null) ? sampleInfoExYn.get("sampleInfoException") : "N"); - model.addObject("sampleInfoExYn", sampleInfoExYn); - model.addObject("arrayExpert", arrayExpert); - model.setViewName("/web/project/checklist"); - return model; - } + //전기비저항 + arrayResistivity = masterService.getResistivity(params); - // 지반정보등록 (관리자) - @RequestMapping(value = "/checkListDb.do") - public ModelAndView checkListDb(@RequestParam HashMap params, ModelAndView model ,HttpServletRequest request, HttpServletResponse response) throws Exception{ - WebUtil wUtil = new WebUtil(); - strUtil sUtil = new strUtil(); - int affectRow = 0; + //굴절법탄성파 + arrayRefraction = masterService.getRefraction(params); - //request - String REPORT_TYPE = sUtil.checkNull(String.valueOf(params.get("REPORT_TYPE"))); - String PROJECT_CODE = sUtil.checkNull(String.valueOf(params.get("PROJECT_CODE"))); - String MODE = sUtil.checkNull(String.valueOf(params.get("MODE"))); + //전문가의견 + arrayExpert = masterService.getExpertOpinion(params); - //등록 - if("".equals(PROJECT_CODE)== false && "SUC".equals(MODE) == true){ + EgovMap sampleInfoExYn = headerService.sampleInfoException(params); + sampleInfoExYn.put("sampleInfoException", (sampleInfoExYn.get("sampleInfoException") != null) ? sampleInfoExYn.get("sampleInfoException") : "N"); + model.addObject("sampleInfoExYn", sampleInfoExYn); + model.addObject("arrayExpert", arrayExpert); + model.setViewName("/web/project/checklist"); + return model; + } - //UPDATE - params.put("temp", "up"); - params.put("STATE", "1"); - params.put("PROJECT_CODE", PROJECT_CODE); - affectRow = masterService.updateMeta(params); + // 지반정보등록 (관리자) + @RequestMapping(value = "/checkListDb.do") + public ModelAndView checkListDb(@RequestParam HashMap params, ModelAndView model ,HttpServletRequest request, HttpServletResponse response) throws Exception{ + WebUtil wUtil = new WebUtil(); + strUtil sUtil = new strUtil(); + int affectRow = 0; - //WEB_DATAINPUT에 DATA 저장. 검수준비중으로 insert + //request + String REPORT_TYPE = sUtil.checkNull(String.valueOf(params.get("REPORT_TYPE"))); + String PROJECT_CODE = sUtil.checkNull(String.valueOf(params.get("PROJECT_CODE"))); + String MODE = sUtil.checkNull(String.valueOf(params.get("MODE"))); - params.put("USERID",request.getSession().getAttribute("USERID")); - params.put("FILENAME",""); - affectRow = masterService.insertWebData(params); - } + //등록 + if("".equals(PROJECT_CODE)== false && "SUC".equals(MODE) == true){ + + //UPDATE + params.put("temp", "up"); + params.put("STATE", "1"); + params.put("PROJECT_CODE", PROJECT_CODE); + affectRow = masterService.updateMeta(params); + + //WEB_DATAINPUT에 DATA 저장. 검수준비중으로 insert + + params.put("USERID",request.getSession().getAttribute("USERID")); + params.put("FILENAME",""); + affectRow = masterService.insertWebData(params); + } - model.addObject("MODE", "SUC"); - model.addObject("affectRow", affectRow); - model.addObject("PROJECT_CODE", PROJECT_CODE); - model.setViewName("redirect:/checkListRDb.do"); - return model; - } + model.addObject("MODE", "SUC"); + model.addObject("affectRow", affectRow); + model.addObject("PROJECT_CODE", PROJECT_CODE); + model.setViewName("redirect:/checkListRDb.do"); + return model; + } + + // 수정요청 팝업(List) + @RequestMapping(value = "/checkListRDb.do") + public String checkListRDb(@RequestParam HashMap params, ModelMap model,HttpServletRequest request, HttpServletResponse response)throws Exception { + model.addAttribute("test",params); + return "/web/project/checklist_db"; + } + + + // 발주기관 프로젝트목록 가져오기 + @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 { + + 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이므로 반환 값은 필요 없습니다. + } - // 수정요청 팝업(List) - @RequestMapping(value = "/checkListRDb.do") - public String checkListRDb(@RequestParam HashMap params, ModelMap model,HttpServletRequest request, HttpServletResponse response)throws Exception { - model.addAttribute("test",params); - return "/web/project/checklist_db"; - } } diff --git a/src/main/resources/egovframework/sqlmap/mapper/drilling/home/DrillingHomeMapper.xml b/src/main/resources/egovframework/sqlmap/mapper/drilling/home/DrillingHomeMapper.xml index 72540bcd..2eb2028e 100644 --- a/src/main/resources/egovframework/sqlmap/mapper/drilling/home/DrillingHomeMapper.xml +++ b/src/main/resources/egovframework/sqlmap/mapper/drilling/home/DrillingHomeMapper.xml @@ -2,5 +2,31 @@ - + + + + + + \ No newline at end of file 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 880f14be..7ce4e70f 100644 --- a/src/main/resources/egovframework/sqlmap/mapper/drilling/input/DrillingInputMapper.xml +++ b/src/main/resources/egovframework/sqlmap/mapper/drilling/input/DrillingInputMapper.xml @@ -59,8 +59,7 @@ #{v_gs, mode=OUT, jdbcType=VARCHAR}, #{v_gf, mode=OUT, jdbcType=VARCHAR} ) } - - + + + + + + + + + + + + + + + \ 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 b25436d3..c57ebdbd 100644 --- a/src/main/resources/egovframework/sqlmap/mapper/drilling/inquiry/DrillingInquiryMapper.xml +++ b/src/main/resources/egovframework/sqlmap/mapper/drilling/inquiry/DrillingInquiryMapper.xml @@ -46,5 +46,53 @@ ) } + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/drilling/common/includeTopMenu.jsp b/src/main/webapp/WEB-INF/views/drilling/common/includeTopMenu.jsp index 05d578c0..a4bd6dd2 100644 --- a/src/main/webapp/WEB-INF/views/drilling/common/includeTopMenu.jsp +++ b/src/main/webapp/WEB-INF/views/drilling/common/includeTopMenu.jsp @@ -16,13 +16,20 @@ + " /> +
-

서울지방국토관리청

+ +

서울지방국토관리청

+
+ +

서울지방국토관리청

+
검색영역열기 @@ -457,7 +464,139 @@
- + +
  • + + 로그아웃 + + +
  • diff --git a/src/main/webapp/WEB-INF/views/drilling/home/drilling_index.jsp b/src/main/webapp/WEB-INF/views/drilling/home/drilling_index.jsp index 9cdd28fe..8d1e47d3 100644 --- a/src/main/webapp/WEB-INF/views/drilling/home/drilling_index.jsp +++ b/src/main/webapp/WEB-INF/views/drilling/home/drilling_index.jsp @@ -18,7 +18,7 @@ 서울지방국토관리청 영역
    -
    +
    @@ -32,7 +32,16 @@ 원주지방국토관리청에 오신것을 진심으로 환영합니다. WONJU REGIONAL OFFICE OF CONSTRUCTION MANAGEMENT
    -
    + + + <%--
    --%> +
    +
    + + <%-- masterCompanyCode가 '709'가 아닌 경우의 기본 처리 --%> +
    +
    +
    원주지방국토관리청에 오신것을 진심으로 환영합니다. WONJU REGIONAL OFFICE OF CONSTRUCTION MANAGEMENT @@ -43,8 +52,17 @@ 원주지방국토관리청에 오신것을 진심으로 환영합니다. WONJU REGIONAL OFFICE OF CONSTRUCTION MANAGEMENT
    - -
    + + + + <%--
    --%> +
    +
    + + <%-- masterCompanyCode가 '709'가 아닌 경우의 기본 처리 --%> +
    +
    +
    원주지방국토관리청에 오신것을 진심으로 환영합니다. WONJU REGIONAL OFFICE OF CONSTRUCTION MANAGEMENT diff --git a/src/main/webapp/WEB-INF/views/web/input/meta_info1.jsp b/src/main/webapp/WEB-INF/views/web/input/meta_info1.jsp index 692c7823..4f0edb42 100644 --- a/src/main/webapp/WEB-INF/views/web/input/meta_info1.jsp +++ b/src/main/webapp/WEB-INF/views/web/input/meta_info1.jsp @@ -68,6 +68,26 @@ to {bottom: 0; opacity: 0;} } + + #suggestionList { + border: 1px solid #ccc; + width: 300px; /* 입력창 너비에 맞춰 조절 */ + position_: absolute; + background-color: white; + display: none; + } + #suggestionList div { + padding: 5px; + cursor: pointer; + } + #suggestionList div:hover { + background-color: #f0f0f0; + } + #suggestionList div .organizational-structure { + color: red; + } + +