feat: 건설현장관리기능 연계 작업 중간 저장

main
thkim 2025-05-21 17:53:13 +09:00
parent f34e18fba2
commit 5c18871ab9
25 changed files with 1064 additions and 357 deletions

View File

@ -2,7 +2,33 @@ src\main\resources\egovframework\egovProps\globals.properties
#src\main\java\geoinfo\regi\manageList\ManageExcelUploadProc01Controller.java #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_step00.jsp
#src\main\webapp\WEB-INF\views\web\input\excel_step31.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
src\main\webapp\com\css\common.v2.0.css.map #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\input\meta_info1.jsp
src\main\webapp\WEB-INF\views\web\manage\list_reg.jsp 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

View File

@ -2,7 +2,9 @@ package geoinfo.drilling.common;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; 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.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
import geoinfo.main.login.service.LoginService;
@Controller @Controller
public class DrillingCommonController { public class DrillingCommonController {
private static final Logger LOGGER = LoggerFactory.getLogger(DrillingCommonController.class); private static final Logger LOGGER = LoggerFactory.getLogger(DrillingCommonController.class);
@Resource(name = "loginService")
private LoginService loginService;
@RequestMapping(value = "/drilling/common/includeTopMenu.do") @RequestMapping(value = "/drilling/common/includeTopMenu.do")
@ -30,6 +37,14 @@ public class DrillingCommonController {
model.put("cls", String.valueOf(request.getSession().getAttribute("CLS"))); model.put("cls", String.valueOf(request.getSession().getAttribute("CLS")));
model.put("companyName", request.getSession().getAttribute("COMPANYNAME")); model.put("companyName", request.getSession().getAttribute("COMPANYNAME"));
Map<String, Object> map = new HashMap<String, Object>();
map.put("userid", String.valueOf(request.getSession().getAttribute("USERID")));
Map<String, Object> result = loginService.selectWebMemberIn(map);
model.put("masterCompanyCode", result.get("master_company_code"));
return "/drilling/common/includeTopMenu"; return "/drilling/common/includeTopMenu";
} }
} }

View File

@ -45,6 +45,7 @@ import geoinfo.com.WebConfirm;
import geoinfo.drilling.home.service.DrillingHomeService; import geoinfo.drilling.home.service.DrillingHomeService;
import geoinfo.drilling.input.service.DrillingInputService; import geoinfo.drilling.input.service.DrillingInputService;
import geoinfo.drilling.inquiry.service.DrillingInquiryService; import geoinfo.drilling.inquiry.service.DrillingInquiryService;
import geoinfo.main.login.service.LoginService;
import geoinfo.map.mapControl.service.MapControlService; import geoinfo.map.mapControl.service.MapControlService;
import geoinfo.regi.selectClassInfo.service.SelectClassService; import geoinfo.regi.selectClassInfo.service.SelectClassService;
import geoinfo.regi.status.service.RegiPageService; import geoinfo.regi.status.service.RegiPageService;
@ -60,6 +61,9 @@ public class DrillingHomeController {
private static final Logger LOGGER = LoggerFactory.getLogger(DrillingHomeController.class); private static final Logger LOGGER = LoggerFactory.getLogger(DrillingHomeController.class);
@Resource(name = "loginService")
private LoginService loginService;
@Autowired @Autowired
DrillingHomeService drillingHomeService; DrillingHomeService drillingHomeService;
@ -83,6 +87,22 @@ public class DrillingHomeController {
try { try {
HashMap<String, Object> spGetProjectMbrParams = drillingInquiryService.spGetProjectMbr( request, params, userId ); HashMap<String, Object> spGetProjectMbrParams = drillingInquiryService.spGetProjectMbr( request, params, userId );
model.addAttribute("mbr", spGetProjectMbrParams); 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<String, Object> map = new HashMap<String, Object>();
map.put("userid", String.valueOf(request.getSession().getAttribute("USERID")));
Map<String, Object> result = loginService.selectWebMemberIn(map);
model.put("masterCompanyCode", result.get("master_company_code"));
} catch (Exception e) { } catch (Exception e) {
// TODO Auto-generated catch block // TODO Auto-generated catch block
String strTxt = String strTxt =
@ -98,4 +118,12 @@ public class DrillingHomeController {
return "/drilling/home/drilling_index"; 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";
}
} }

View File

@ -9,7 +9,7 @@ import egovframework.rte.psl.dataaccess.util.EgovMap;
@Mapper("drillingHomeMapper") @Mapper("drillingHomeMapper")
public interface DrillingHomeMapper { public interface DrillingHomeMapper {
List<EgovMap> drillingMapSearchHole(String projectCode);
} }

View File

@ -1,13 +1,16 @@
package geoinfo.drilling.home.service; package geoinfo.drilling.home.service;
import java.util.HashMap; import java.util.HashMap;
import java.util.List;
import java.util.Map; import java.util.Map;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import org.json.simple.JSONObject; import org.json.simple.JSONObject;
import egovframework.rte.psl.dataaccess.util.EgovMap;
public interface DrillingHomeService { public interface DrillingHomeService {
public List<EgovMap> drillingMapSearchHole(String projectCode);
} }

View File

@ -32,6 +32,11 @@ public class DrillingHomeServiceImpl implements DrillingHomeService {
@Resource(name="drillingHomeMapper") @Resource(name="drillingHomeMapper")
private DrillingHomeMapper drillingHomeMapper; private DrillingHomeMapper drillingHomeMapper;
@Override
public List<EgovMap> drillingMapSearchHole(String projectCode) {
return drillingHomeMapper.drillingMapSearchHole(projectCode);
}
} }

View File

@ -2,6 +2,7 @@ package geoinfo.drilling.input.service;
import java.sql.SQLException; import java.sql.SQLException;
import java.util.HashMap; import java.util.HashMap;
import java.util.List;
import egovframework.rte.psl.dataaccess.mapper.Mapper; import egovframework.rte.psl.dataaccess.mapper.Mapper;
import egovframework.rte.psl.dataaccess.util.EgovMap; import egovframework.rte.psl.dataaccess.util.EgovMap;
@ -15,6 +16,12 @@ public interface DrillingInputMapper {
public void spGetMasterCompanyDistrict(HashMap<String, Object> spGetMasterCompanyDistrictParams) throws SQLException; public void spGetMasterCompanyDistrict(HashMap<String, Object> spGetMasterCompanyDistrictParams) throws SQLException;
public EgovMap getDepartments(HashMap<String, Object> params) throws SQLException; public EgovMap getDepartments(HashMap<String, Object> params) throws SQLException;
public HashMap<String, Object> spUdtTblCsi(HashMap<String, Object> params) throws SQLException;
public List<EgovMap> sPGetTblCsiByCid(HashMap<String, Object> params) throws SQLException;
public EgovMap getItemByCid(HashMap<String, Object> params) throws SQLException;
public int updateProjectCode(HashMap<String, Object> params) throws SQLException;
} }

View File

@ -11,4 +11,5 @@ public interface DrillingInputService {
HashMap<String, Object> getOrganizationUserGlGmGsGfCodes(String userId) throws Exception; HashMap<String, Object> getOrganizationUserGlGmGsGfCodes(String userId) throws Exception;
HashMap<String, Object> drillingInputAdd(HttpServletRequest request, HashMap<String, Object> params) throws Exception; HashMap<String, Object> drillingInputAdd(HttpServletRequest request, HashMap<String, Object> params) throws Exception;
void getDepartments(HttpServletRequest request, HashMap<String, Object> params, JSONObject jsonResponse) throws Exception; void getDepartments(HttpServletRequest request, HashMap<String, Object> params, JSONObject jsonResponse) throws Exception;
HashMap<String, Object> updateProjectCode(HttpServletRequest request, HashMap<String, Object> params) throws Exception;
} }

View File

@ -119,5 +119,45 @@ public class DrillingInputServiceImpl implements DrillingInputService {
} }
} }
@Override
public HashMap<String, Object> updateProjectCode(HttpServletRequest request, HashMap<String, Object> params) throws Exception {
String userId = (String)request.getSession().getAttribute("USERID");
params.put("userId", userId);
try {
/*
List<EgovMap> sPGetTblCsiByCidParams = drillingInputMapper.sPGetTblCsiByCid( params );
if( sPGetTblCsiByCidParams.size() == 0 ) {
return params;
}
EgovMap tbl = sPGetTblCsiByCidParams.get(0);
*/
EgovMap tbl = drillingInputMapper.getItemByCid( params );
HashMap<String, Object> updateProjectCodeParams = new HashMap<String, Object>();
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() );
}
}
} }

View File

@ -14,7 +14,7 @@ public interface DrillingInquiryMapper {
public List<EgovMap> spGetTblCsiByKeyword(HashMap<String, Object> params) throws SQLException; public List<EgovMap> spGetTblCsiByKeyword(HashMap<String, Object> params) throws SQLException;
public String spGetConstCompanyName(Long constCompanyCode) throws SQLException; public String spGetConstCompanyName(Long constCompanyCode) throws SQLException;
public String spGetProjectMbr(HashMap<String, Object> params) throws SQLException; public String spGetProjectMbr(HashMap<String, Object> params) throws SQLException;
public List<EgovMap> drillingInquiryAutocompleteList(HashMap<String, Object> params) throws SQLException;
} }

View File

@ -1,15 +1,19 @@
package geoinfo.drilling.inquiry.service; package geoinfo.drilling.inquiry.service;
import java.util.HashMap; import java.util.HashMap;
import java.util.List;
import java.util.Map; import java.util.Map;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import org.json.simple.JSONObject; import org.json.simple.JSONObject;
import egovframework.rte.psl.dataaccess.util.EgovMap;
public interface DrillingInquiryService { public interface DrillingInquiryService {
JSONObject drillingInquiryList(HttpServletRequest request, HashMap<String, Object> params) throws Exception; JSONObject drillingInquiryList(HttpServletRequest request, HashMap<String, Object> params) throws Exception;
HashMap<String, Object> spGetProjectMbr(HttpServletRequest request, HashMap<String, Object> params, String userId) throws Exception; HashMap<String, Object> spGetProjectMbr(HttpServletRequest request, HashMap<String, Object> params, String userId) throws Exception;
List<EgovMap> drillingInquiryAutocompleteList(HttpServletRequest request, HashMap<String, Object> params) throws Exception;
} }

View File

@ -292,6 +292,42 @@ public class DrillingInquiryServiceImpl implements DrillingInquiryService {
return spGetProjectMbrParams; return spGetProjectMbrParams;
} }
@Override
public List<EgovMap> drillingInquiryAutocompleteList(HttpServletRequest request, HashMap<String, Object> params) throws Exception {
String userId = MyUtil.getStringFromObject( request.getSession().getAttribute("USERID") );
if( userId == null){
throw new Exception( "로그인이 필요한 서비스입니다." );
}
try {
try {
List<EgovMap> 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() );
}
}
} }

View File

@ -1076,6 +1076,11 @@ public class LoginController {
url = "home/main_sitemap.jsp"; url = "home/main_sitemap.jsp";
else else
url = "index.do?cntyn=0"; 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")) { // 관리자일경우 } else if (cls.equals("9")) { // 관리자일경우
if (location.equals("left")) if (location.equals("left"))
url = "left.do"; url = "left.do";

View File

@ -115,58 +115,57 @@ public class ManageListController {
String oPROJECT_CODE = sUtil.checkNull(parseData.parseData((String)params.get("PROJECT_CODE"))); // 프로젝트코드 String oPROJECT_CODE = sUtil.checkNull(parseData.parseData((String)params.get("PROJECT_CODE"))); // 프로젝트코드
String inputMode = ""; // 수정모드 String inputMode = ""; // 수정모드
if(!(null == oPROJECT_CODE || "" == oPROJECT_CODE)){ if(!(null == oPROJECT_CODE || "" == oPROJECT_CODE)){
int count = 0; int count = 0;
HashMap mapDis = new HashMap(); HashMap mapDis = new HashMap();
HashMap mapMetaInfo = new HashMap(); HashMap mapMetaInfo = new HashMap();
ArrayList arrayDis = new ArrayList(); ArrayList arrayDis = new ArrayList();
List<?> arrayMetaInfo = new ArrayList(); List<?> arrayMetaInfo = new ArrayList();
String strQuery = ""; String strQuery = "";
String inputdata = wUtil.getToday(); String inputdata = wUtil.getToday();
strQuery = wUtil.getDisQuery(); strQuery = wUtil.getDisQuery();
// Array 로 받기 // Array 로 받기
arrayDis = commonService.getDis(); arrayDis = commonService.getDis();
// arrayDis = wUtil.getDataArrayList(resultSet, rsmd, count); // arrayDis = wUtil.getDataArrayList(resultSet, rsmd, count);
// SelectBox형태로 map으로 받기 // SelectBox형태로 map으로 받기
mapDis = wUtil.getCommCodeSel("L_DIS,M_DIS", arrayDis, ""); mapDis = wUtil.getCommCodeSel("L_DIS,M_DIS", arrayDis, "");
// 수정모드 // 수정모드
arrayMetaInfo = commonService.getMetaInfo(params); arrayMetaInfo = commonService.getMetaInfo(params);
// Array 로 받기 // Array 로 받기
// MAP // MAP
if (arrayMetaInfo.isEmpty() == false) { if (arrayMetaInfo.isEmpty() == false) {
mapMetaInfo = (HashMap) arrayMetaInfo.get(0); mapMetaInfo = (HashMap) arrayMetaInfo.get(0);
// 입력날짜 // 입력날짜
inputdata = wUtil.isNullOb(mapMetaInfo.get("INPUTDATE"),wUtil.getToday()); inputdata = wUtil.isNullOb(mapMetaInfo.get("INPUTDATE"),wUtil.getToday());
} }
//프로젝트 정보 //프로젝트 정보
params.put("projectCode",oPROJECT_CODE); params.put("projectCode",oPROJECT_CODE);
EgovMap projectInfo = infoService.getProjectInfo(params); EgovMap projectInfo = infoService.getProjectInfo(params);
model.addAttribute("project", projectInfo); model.addAttribute("project", projectInfo);
model.addAttribute("arrayDis", arrayDis); model.addAttribute("arrayDis", arrayDis);
model.addAttribute("mapDis", mapDis); model.addAttribute("mapDis", mapDis);
model.addAttribute("arrayMetaInfo", arrayMetaInfo); model.addAttribute("arrayMetaInfo", arrayMetaInfo);
model.addAttribute("inputdata", inputdata); model.addAttribute("inputdata", inputdata);
model.addAttribute("holeSpotSd",wUtil.isNullOb(mapMetaInfo.get("HOLE_SPOT_SD"))); model.addAttribute("holeSpotSd",wUtil.isNullOb(mapMetaInfo.get("HOLE_SPOT_SD")));
model.addAttribute("mapMetaInfo", mapMetaInfo); model.addAttribute("mapMetaInfo", mapMetaInfo);
model.addAttribute("reportType", oREPORT_TYPE); model.addAttribute("reportType", oREPORT_TYPE);
model.addAttribute("projectCode", oPROJECT_CODE); model.addAttribute("projectCode", oPROJECT_CODE);
model.addAttribute("HOLE_SPOT_SD",wUtil.isNullOb((mapMetaInfo.get("HOLE_SPOT_SD")))); 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("HOLE_SPOT_SGG",wUtil.isNullOb(mapMetaInfo.get("HOLE_SPOT_SGG")));
model.addAttribute("L_DIS", mapDis.get("L_DIS")); model.addAttribute("L_DIS", mapDis.get("L_DIS"));
return "/web/input/meta_info"; return "/web/input/meta_info";
} } else {
else{
// 지반정보등록 (신규) // 지반정보등록 (신규)
int count = 0; int count = 0;

View File

@ -9,7 +9,9 @@ import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject; import org.json.simple.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType; import org.springframework.http.MediaType;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap; import org.springframework.ui.ModelMap;
@ -21,6 +23,8 @@ import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.util.UrlPathHelper; import org.springframework.web.util.UrlPathHelper;
import egovframework.rte.psl.dataaccess.util.EgovMap; 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.header.service.HeaderService;
import geoinfo.regi.projectList.service.ProjectListService; import geoinfo.regi.projectList.service.ProjectListService;
import geoinfo.regi.status.service.RegiPageService; import geoinfo.regi.status.service.RegiPageService;
@ -39,6 +43,13 @@ public class ProjectListController {
@Resource(name = "headerService") @Resource(name = "headerService")
private HeaderService headerService; private HeaderService headerService;
@Autowired
private DrillingInquiryService drillingInquiryService;
@Autowired
private DrillingInputService drillingInputService;
//프로젝트명 중복여부를 체크한다. //프로젝트명 중복여부를 체크한다.
@ResponseBody @ResponseBody
@RequestMapping(value = "/project-duplicate-check", method = RequestMethod.GET, produces = "application/json; charset=UTF-8") @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("resultCode", "The name already exists.");
jsonObject.put("message", "해당 사업명이 이미 있습니다. 다른 사업명으로 입력해 주세요. code 2"); jsonObject.put("message", "해당 사업명이 이미 있습니다. 다른 사업명으로 입력해 주세요. code 2");
} }
} else if( 0 < arrConstNameByProjectNameFromTempConstructSiteInfo.size() ) { } else if( false && 0 < arrConstNameByProjectNameFromTempConstructSiteInfo.size() ) {
jsonObject.put("result", "false"); jsonObject.put("result", "false");
jsonObject.put("resultCode", "The name already exists."); jsonObject.put("resultCode", "The name already exists.");
jsonObject.put("message", "해당 사업명이 이미 있습니다. 다른 사업명으로 입력해 주세요. code 3"); jsonObject.put("message", "해당 사업명이 이미 있습니다. 다른 사업명으로 입력해 주세요. code 3");
@ -115,27 +126,28 @@ public class ProjectListController {
WebUtil wUtil = new WebUtil(); WebUtil wUtil = new WebUtil();
strUtil sUtil = new strUtil(); strUtil sUtil = new strUtil();
int affectRow = 0; int affectRow = 0;
String rUrl = sUtil.checkNull(String.valueOf(params.get("rUrl"))); String rUrl = sUtil.checkNull(String.valueOf(params.get("rUrl")));
//request //request
String oPROJECT_CODE = sUtil.checkNull(String.valueOf(params.get("PROJECT_CODE"))); String oPROJECT_CODE = sUtil.checkNull(String.valueOf(params.get("PROJECT_CODE")));
String oINPUT_COMPANY = sUtil.checkNull(String.valueOf(request.getParameter("INPUT_COMPANY"))); String oINPUT_COMPANY = sUtil.checkNull(String.valueOf(request.getParameter("INPUT_COMPANY")));
String oDEPT = sUtil.checkNull(String.valueOf(request.getParameter("DEPT"))); String oDEPT = sUtil.checkNull(String.valueOf(request.getParameter("DEPT")));
String oADMIN_NAME = sUtil.checkNull(String.valueOf(request.getParameter("ADMIN_NAME"))); String oADMIN_NAME = sUtil.checkNull(String.valueOf(request.getParameter("ADMIN_NAME")));
String oEMAIL = sUtil.checkNull(String.valueOf(request.getParameter("EMAIL"))); String oEMAIL = sUtil.checkNull(String.valueOf(request.getParameter("EMAIL")));
String oTEL = sUtil.checkNull(String.valueOf(params.get("TEL"))); String oTEL = sUtil.checkNull(String.valueOf(params.get("TEL")));
String oPHONE = sUtil.checkNull(String.valueOf(params.get("PHONE"))); String oPHONE = sUtil.checkNull(String.valueOf(params.get("PHONE")));
String oSEARCHDATE = sUtil.checkNull(String.valueOf(params.get("SEARCHDATE"))); String oSEARCHDATE = sUtil.checkNull(String.valueOf(params.get("SEARCHDATE")));
String oINPUTDATE = wUtil.getToday(); String oINPUTDATE = wUtil.getToday();
String oPROJECT_NAME = sUtil.checkNull(String.valueOf(request.getParameter("PROJECT_NAME"))); String oPROJECT_NAME = sUtil.checkNull(String.valueOf(request.getParameter("PROJECT_NAME")));
String oHOLE_NUMBER = sUtil.checkNull(String.valueOf(params.get("HOLE_NUMBER"))); 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_ADMIN_NAME = sUtil.checkNull(String.valueOf(request.getParameter("HOLE_ADMIN_NAME")));
String oHOLE_COMPANY = sUtil.checkNull(String.valueOf(request.getParameter("HOLE_COMPANY"))); String oHOLE_COMPANY = sUtil.checkNull(String.valueOf(request.getParameter("HOLE_COMPANY")));
String oHOLE_TYPE = "Boring"; String oHOLE_TYPE = "Boring";
String oHOLE_SPOT_SD = sUtil.checkNull(String.valueOf(params.get("HOLE_SPOT_SD"))); 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_SGG = sUtil.checkNull(String.valueOf(params.get("HOLE_SPOT_SGG")));
String oHOLE_SPOT = sUtil.checkNull(String.valueOf(request.getParameter("HOLE_SPOT"))); String oHOLE_SPOT = sUtil.checkNull(String.valueOf(request.getParameter("HOLE_SPOT")));
String oREMARK = sUtil.checkNull(String.valueOf(request.getParameter("REMARK"))); String oREMARK = sUtil.checkNull(String.valueOf(request.getParameter("REMARK")));
String oREPORT_TYPE=sUtil.checkNull(String.valueOf(params.get("REPORT_TYPE"))); 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)){ if("".equals(oPROJECT_CODE)){
HashMap prjCd = new HashMap(); HashMap prjCd = new HashMap();
prjCd=masterService.getProjectCd(params); prjCd=masterService.getProjectCd(params);
@ -185,7 +197,7 @@ public class ProjectListController {
model.addObject("result", "false"); model.addObject("result", "false");
model.addObject("message", "해당 사업명이 이미 있습니다. 다른 사업명으로 입력 해주세요."); model.addObject("message", "해당 사업명이 이미 있습니다. 다른 사업명으로 입력 해주세요.");
model.setViewName("redirect:/index_db.do"); model.setViewName("redirect:/index_db.do");
return null; return model;
} }
affectRow = masterService.insertMeta(params); affectRow = masterService.insertMeta(params);
@ -216,6 +228,15 @@ public class ProjectListController {
params.put("USERID",request.getSession().getAttribute("USERID")); params.put("USERID",request.getSession().getAttribute("USERID"));
affectRow =masterService.updateMeta(params); 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("result", "true");
model.addObject("oREPORT_TYPE", oREPORT_TYPE); model.addObject("oREPORT_TYPE", oREPORT_TYPE);
model.addObject("affectRow", affectRow); model.addObject("affectRow", affectRow);
@ -226,306 +247,343 @@ public class ProjectListController {
return model; return model;
} }
// 지반정보등록 (관리자) // 지반정보등록 (관리자)
@RequestMapping(value = "/deleteAll.do") @RequestMapping(value = "/deleteAll.do")
public ModelAndView deleteAll(@RequestParam HashMap<String,Object> params, ModelAndView model ,HttpServletRequest request, HttpServletResponse response) throws Exception{ public ModelAndView deleteAll(@RequestParam HashMap<String,Object> params, ModelAndView model ,HttpServletRequest request, HttpServletResponse response) throws Exception{
strUtil sUtil = new strUtil(); strUtil sUtil = new strUtil();
int affectRow = 0; int affectRow = 0;
UrlPathHelper urlPathHelper = new UrlPathHelper(); UrlPathHelper urlPathHelper = new UrlPathHelper();
String topPath = urlPathHelper.getOriginatingRequestUri(request); String topPath = urlPathHelper.getOriginatingRequestUri(request);
String PROJECT_CODE = sUtil.checkNull(String.valueOf(params.get("PROJECT_CODE"))); String PROJECT_CODE = sUtil.checkNull(String.valueOf(params.get("PROJECT_CODE")));
// 2018-11-07 모의해킹 조치. 조현석 차장. // 2018-11-07 모의해킹 조치. 조현석 차장.
// 1. 프로젝트 코드 검사 유무 // 1. 프로젝트 코드 검사 유무
if ( null != PROJECT_CODE && ! "".equals(PROJECT_CODE)) { if ( null != PROJECT_CODE && ! "".equals(PROJECT_CODE)) {
// 2. 관리자인지. // 2. 관리자인지.
boolean ischk = false; boolean ischk = false;
if ( request.getSession().getAttribute("CLS") != null && "9".equals(request.getSession().getAttribute("CLS") ) ) { if ( request.getSession().getAttribute("CLS") != null && "9".equals(request.getSession().getAttribute("CLS") ) ) {
ischk = true; ischk = true;
} }
if ( request.getSession().getAttribute("CLS") != null && "1".equals(request.getSession().getAttribute("CLS") ) ) { if ( request.getSession().getAttribute("CLS") != null && "1".equals(request.getSession().getAttribute("CLS") ) ) {
// 기업회원일 경우 본인 프로젝트인지 확인. // 기업회원일 경우 본인 프로젝트인지 확인.
String userId = (String) request.getSession().getAttribute("USERID"); String userId = (String) request.getSession().getAttribute("USERID");
if ( userId != null && ! "".equals(userId)) { if ( userId != null && ! "".equals(userId)) {
HashMap projectMap = masterService.getInfo(params); HashMap projectMap = masterService.getInfo(params);
if ( projectMap != null && ! projectMap.isEmpty() ) { if ( projectMap != null && ! projectMap.isEmpty() ) {
String tmpID = (String) projectMap.get("USERID"); String tmpID = (String) projectMap.get("USERID");
System.out.println("userId - " + userId + " , tmpID = " + tmpID ); System.out.println("userId - " + userId + " , tmpID = " + tmpID );
// 프로젝트 생성 아이디가 같다면 삭제 권한 가능.. // 프로젝트 생성 아이디가 같다면 삭제 권한 가능..
if ( userId.equals( tmpID ) ) { if ( userId.equals( tmpID ) ) {
ischk = true; 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<tableTemp.length;i++){
params.put("tableName", tableTemp[i]);
affectRow += masterService.deleteProject(params);
}
affectRow += masterService.deleteWebData(params);
model.addObject("MODE", "DEL");
model.addObject("affectRow", affectRow);
model.addObject("PROJECT_CODE", PROJECT_CODE);
model.setViewName("redirect:/index_db.do");
} else {
model.addObject("MODE", "DEL");
model.addObject("affectRow", -1);
model.addObject("PROJECT_CODE", PROJECT_CODE);
model.setViewName("redirect:/index_db.do");
}
} else {
model.addObject("MODE", "DEL");
model.addObject("affectRow", 0);
model.addObject("PROJECT_CODE", null);
model.setViewName("redirect:/index_db.do");
}
return model;
} }
}
}
//getInfo
}
// 수정요청 팝업(List) //3. 권한이 있는 경우에만 삭제가 가능하다.
@RequestMapping(value = "/index_db.do") if ( ischk ) {
public String index_db(@RequestParam HashMap<String, Object> params, ModelMap model,HttpServletRequest request, HttpServletResponse response)throws Exception { String tableTemp[] = {"TEMP_META_INFO", "TEMP_PROJECT_INFO", "TEMP_TOPO_GEOLOGY", "TEMP_HEADER", "TEMP_HEADER_CORE",
strUtil sUtil = new strUtil(); "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<tableTemp.length;i++){
params.put("tableName", tableTemp[i]);
affectRow += masterService.deleteProject(params);
}
affectRow += masterService.deleteWebData(params);
model.addObject("MODE", "DEL");
model.addObject("affectRow", affectRow);
model.addObject("PROJECT_CODE", PROJECT_CODE);
model.setViewName("redirect:/index_db.do");
} else {
model.addObject("MODE", "DEL");
model.addObject("affectRow", -1);
model.addObject("PROJECT_CODE", PROJECT_CODE);
model.setViewName("redirect:/index_db.do");
}
String rUrl = sUtil.checkNull(String.valueOf(params.get("rUrl"))); } else {
String oREPORT_TYPE = sUtil.checkNull(String.valueOf(params.get("oREPORT_TYPE"))); model.addObject("MODE", "DEL");
String oPROJECT_CODE = sUtil.checkNull(String.valueOf(params.get("oPROJECT_CODE"))); model.addObject("affectRow", 0);
model.addObject("PROJECT_CODE", null);
model.setViewName("redirect:/index_db.do");
}
if(rUrl.equals("")) { return model;
rUrl = "/meta_info.do?REPORT_TYPE="+oREPORT_TYPE+"&PROJECT_CODE="+oPROJECT_CODE; }
}
params.put("rUrl", rUrl);
model.addAttribute("test",params);
return "/web/index_db";
}
// 지반정보등록 (관리자 및 사용자) // 수정요청 팝업(List)
@RequestMapping(value = "/checkList.do") @RequestMapping(value = "/index_db.do")
public ModelAndView checkList(@RequestParam HashMap<String,Object> params, ModelAndView model ,HttpServletRequest request, HttpServletResponse response) throws Exception{ public String index_db(@RequestParam HashMap<String, Object> params, ModelMap model,HttpServletRequest request, HttpServletResponse response)throws Exception {
strUtil sUtil = new strUtil();
request.setCharacterEncoding("euc-kr");
String LoginUserId = String.valueOf(request.getSession().getAttribute("USERID"));
model.addObject("userId", LoginUserId);
strUtil sUtil = new strUtil();
WebUtil wUtil = new WebUtil();
//request String rUrl = sUtil.checkNull(String.valueOf(params.get("rUrl")));
String p_code= sUtil.checkNull(String.valueOf(params.get("p_code"))); 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(); @RequestMapping(value = "/checkList.do")
ArrayList arrayTopo = new ArrayList(); public ModelAndView checkList(@RequestParam HashMap<String,Object> params, ModelAndView model ,HttpServletRequest request, HttpServletResponse response) throws Exception{
ArrayList arrayHeader = new ArrayList();
ArrayList arrayLayer = new ArrayList(); request.setCharacterEncoding("euc-kr");
ArrayList arraySpt = new ArrayList(); String LoginUserId = String.valueOf(request.getSession().getAttribute("USERID"));
ArrayList arrayRqd = new ArrayList(); model.addObject("userId", LoginUserId);
ArrayList arrayDsf = new ArrayList(); strUtil sUtil = new strUtil();
ArrayList arrayMeter = new ArrayList(); WebUtil wUtil = new WebUtil();
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();
params.put("PROJECT_CODE", p_code); //request
String p_code= sUtil.checkNull(String.valueOf(params.get("p_code")));
//프로젝트명, 측선수, 시추공수 int count = 0;
result = masterService.getInfo(params);
model.addObject("result", result);
//메타정보
arrayMeta = masterService.getProjectMetaInfo(params);
model.addObject("arrayMeta", arrayMeta);
//프로젝트정보
arrayProject = masterService.getProjectInfo(params);
model.addObject("arrayProject", arrayProject);
//지형지질정보 ArrayList arrayMeta = new ArrayList();
arrayTopo = masterService.getTopoGeology(params); ArrayList arrayProject = new ArrayList();
model.addObject("arrayTopo", arrayTopo); 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();
//시추공정보 params.put("PROJECT_CODE", p_code);
arrayHeader = masterService.getHeader(params);
model.addObject("arrayHeader", arrayHeader);
//지층정보 //프로젝트명, 측선수, 시추공수
arrayLayer = masterService.getLayerInfo(params); result = masterService.getInfo(params);
model.addObject("arrayLayer", arrayLayer); model.addObject("result", result);
//메타정보
arrayMeta = masterService.getProjectMetaInfo(params);
model.addObject("arrayMeta", arrayMeta);
//프로젝트정보
arrayProject = masterService.getProjectInfo(params);
model.addObject("arrayProject", arrayProject);
//표준관입시험 //지형지질정보
arraySpt = masterService.getSpt(params); arrayTopo = masterService.getTopoGeology(params);
model.addObject("arraySpt", arraySpt); model.addObject("arrayTopo", arrayTopo);
//TCRRQD //시추공정보
arrayRqd = masterService.getRqd(params); arrayHeader = masterService.getHeader(params);
model.addObject("arrayRqd", arrayRqd); model.addObject("arrayHeader", arrayHeader);
//DSF //지층정보
arrayDsf = masterService.getDsf(params); arrayLayer = masterService.getLayerInfo(params);
model.addObject("arrayDsf", arrayDsf); model.addObject("arrayLayer", arrayLayer);
//공내재하 //표준관입시험
arrayMeter = masterService.getFieldPressuremeter(params); arraySpt = masterService.getSpt(params);
model.addObject("arrayMeter", arrayMeter); model.addObject("arraySpt", arraySpt);
//절리정보 //TCRRQD
arraySlick = masterService.getSlickensideInfo(params); arrayRqd = masterService.getRqd(params);
model.addObject("arraySlick", arraySlick); model.addObject("arrayRqd", arrayRqd);
//Q //DSF
arrayQ = masterService.getQ(params); arrayDsf = masterService.getDsf(params);
model.addObject("arrayQ", arrayQ); 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);
//현장투수 //Q
arrayPer = masterService.getFieldPermeability(params); arrayQ = masterService.getQ(params);
model.addObject("arrayQ", arrayQ);
//콘관입 //RMR
arrayCone = masterService.getConePenetration(params); arrayRmr = masterService.getRmr(params);
//기본물성시험 //현장수압
arraySample = masterService.getSampleInfo(params); arrayWater = masterService.getFieldWaterpressure(params);
model.addObject("arraySample", arraySample);
//토사 - 압밀시험 //현장투수
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);
//전기비저항 //PS검층
arrayResistivity = masterService.getResistivity(params); 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"); arrayResistivity = masterService.getResistivity(params);
model.addObject("sampleInfoExYn", sampleInfoExYn);
model.addObject("arrayExpert", arrayExpert);
model.setViewName("/web/project/checklist");
return model;
}
// 지반정보등록 (관리자) //굴절법탄성파
@RequestMapping(value = "/checkListDb.do") arrayRefraction = masterService.getRefraction(params);
public ModelAndView checkListDb(@RequestParam HashMap<String,Object> params, ModelAndView model ,HttpServletRequest request, HttpServletResponse response) throws Exception{
WebUtil wUtil = new WebUtil();
strUtil sUtil = new strUtil();
int affectRow = 0;
//request //전문가의견
String REPORT_TYPE = sUtil.checkNull(String.valueOf(params.get("REPORT_TYPE"))); arrayExpert = masterService.getExpertOpinion(params);
String PROJECT_CODE = sUtil.checkNull(String.valueOf(params.get("PROJECT_CODE")));
String MODE = sUtil.checkNull(String.valueOf(params.get("MODE")));
//등록 EgovMap sampleInfoExYn = headerService.sampleInfoException(params);
if("".equals(PROJECT_CODE)== false && "SUC".equals(MODE) == true){ 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"); @RequestMapping(value = "/checkListDb.do")
params.put("STATE", "1"); public ModelAndView checkListDb(@RequestParam HashMap<String,Object> params, ModelAndView model ,HttpServletRequest request, HttpServletResponse response) throws Exception{
params.put("PROJECT_CODE", PROJECT_CODE); WebUtil wUtil = new WebUtil();
affectRow = masterService.updateMeta(params); 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",""); if("".equals(PROJECT_CODE)== false && "SUC".equals(MODE) == true){
affectRow = masterService.insertWebData(params);
} //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("MODE", "SUC");
model.addObject("affectRow", affectRow); model.addObject("affectRow", affectRow);
model.addObject("PROJECT_CODE", PROJECT_CODE); model.addObject("PROJECT_CODE", PROJECT_CODE);
model.setViewName("redirect:/checkListRDb.do"); model.setViewName("redirect:/checkListRDb.do");
return model; return model;
} }
// 수정요청 팝업(List)
@RequestMapping(value = "/checkListRDb.do")
public String checkListRDb(@RequestParam HashMap<String, Object> 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<String,Object> 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<String, Object> params, ModelMap model,HttpServletRequest request, HttpServletResponse response)throws Exception {
model.addAttribute("test",params);
return "/web/project/checklist_db";
}
} }

View File

@ -2,5 +2,31 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="geoinfo.drilling.home.service.DrillingHomeMapper"> <mapper namespace="geoinfo.drilling.home.service.DrillingHomeMapper">
<resultMap id="holeLocationResultMap" type="egovMap">
<id property="gid" column="GID" />
<result property="wkt" column="WKT" javaType="java.lang.String" />
</resultMap>
<select id="drillingMapSearchHole" parameterType="String" resultMap="holeLocationResultMap">
SELECT
HOLE.GID,
HOLE.HOLE_CODE AS CODE,
HOLE.THE_GEOM.GET_WKT() AS WKT
FROM TBL_HEADER_HOLE HOLE
WHERE HOLE.PROJECT_CODE IN (
SELECT TRIM(tpi.PROJECT_CODE)
FROM
TBL_PROJECT_INFO tpi
WHERE
tpi.PROJECT_MASTER_COMPANY_CODE IN
(
SELECT
tmc.COM_CODE
FROM
TBL_MASTER_COMPANY tmc
WHERE
tmc.COM_CODE IN (TRIM(#{value}))
)
)
</select>
</mapper> </mapper>

View File

@ -59,8 +59,7 @@
#{v_gs, mode=OUT, jdbcType=VARCHAR}, #{v_gs, mode=OUT, jdbcType=VARCHAR},
#{v_gf, mode=OUT, jdbcType=VARCHAR} #{v_gf, mode=OUT, jdbcType=VARCHAR}
) } ) }
</select> </select>
<select id="getDepartments" parameterType="map" resultType="egovMap"> <select id="getDepartments" parameterType="map" resultType="egovMap">
SELECT SELECT
@ -79,6 +78,51 @@
FROM DUAL FROM DUAL
</select> </select>
<resultMap id="spUdtTblCsiResult" type="java.util.HashMap">
<result property="resultCode" column="p_result_code" jdbcType="VARCHAR"/>
<result property="errMsg" column="p_err_msg" jdbcType="VARCHAR"/>
</resultMap>
<select id="spUdtTblCsi" parameterType="map" statementType="CALLABLE" resultMap="spUdtTblCsiResult">
{ CALL SP_UDT_TBL_CSI(
#{cid},
#{constName},
#{constStartDate},
#{constEndDate},
#{constStateCode},
#{masterCompanyOCode},
#{masterCompanyTwCode},
#{masterCompanyThCode},
#{masterCompanyName},
#{masterCompanyDept},
#{masterCompanyAdmin},
#{masterCompanyTel},
#{constCompanyCode},
#{constCompanyAdmin},
#{constCompanyTel},
#{userId},
#{v_RetCode, mode=OUT, jdbcType=INTEGER},
#{v_RetMsg, mode=OUT, jdbcType=VARCHAR}
) }
</select>
<select id="sPGetTblCsiByCid" parameterType="map" resultType="egovMap">
<![CDATA[
select * FROM TABLE(SP_GET_TBL_CSI_BY_CID(#{CID}))
]]>
</select>
<select id="getItemByCid" parameterType="map" resultType="egovMap">
<![CDATA[
SELECT * FROM TEMP_CONSTRUCT_SITE_INFO WHERE TRIM(CID) = #{CID}
]]>
</select>
<update id="updateProjectCode" parameterType="map">
<![CDATA[
UPDATE TEMP_CONSTRUCT_SITE_INFO SET PROJECT_CODE = #{PROJECT_CODE} WHERE TRIM(CID) = #{CID} AND PROJECT_CODE IS NULL
]]>
</update>
</mapper> </mapper>

View File

@ -46,5 +46,53 @@
) } ) }
</select> </select>
<select id="drillingInquiryAutocompleteList" parameterType="map" resultType="egovMap">
SELECT
tgld.GL_DISTRICT,
tgmd.GM_DISTRICT,
tgsd.GS_DISTRICT,
tcsi.CID,
tcsi.CONST_NAME
FROM
TEMP_CONSTRUCT_SITE_INFO tcsi
LEFT JOIN (
SELECT
*
FROM
tbl_gl_district
WHERE
use_yn = 'Y'
ORDER BY
gl_code
) tgld ON tcsi.MASTER_COMPANY_O_CODE = tgld.GL_CODE
LEFT JOIN (
SELECT
*
FROM
tbl_gm_district
WHERE
use_yn = 'Y'
ORDER BY
gm_code
) tgmd ON tcsi.MASTER_COMPANY_O_CODE = tgmd.GL_CODE AND tcsi.MASTER_COMPANY_TW_CODE = tgmd.GM_CODE
LEFT JOIN (
SELECT
*
FROM
tbl_gs_district
WHERE
use_yn = 'Y'
ORDER BY
gs_code
) tgsd ON
tcsi.MASTER_COMPANY_O_CODE = tgsd.GL_CODE AND
tcsi.MASTER_COMPANY_TW_CODE = tgsd.GM_CODE AND
tcsi.MASTER_COMPANY_TH_CODE = tgsd.GS_CODE
WHERE
tcsi.PROJECT_CODE IS NULL AND
tcsi.CONST_NAME LIKE '%' || #{projectName} || '%'
ORDER BY tcsi.CRT_DT DESC
</select>
</mapper> </mapper>

View File

@ -16,13 +16,20 @@
<input type="hidden" id="gs-district" name="gs-district" value="" /> <input type="hidden" id="gs-district" name="gs-district" value="" />
<input type="hidden" id="gf-district" name="gf-district" value="" /> <input type="hidden" id="gf-district" name="gf-district" value="" />
<input type="hidden" id="last-team-name" name="last-team-name" value="" /> <input type="hidden" id="last-team-name" name="last-team-name" value="" />
<input type="hidden" id="master-company-code" name="master-company-code" value="<c:out value="${masterCompanyCode}"/>" />
<!-- header --------------------------------------------> <!-- header -------------------------------------------->
<header class="drilling-wrap-header"> <header class="drilling-wrap-header">
<div id="header_cont"> <div id="header_cont">
<div class="wrap_header_top"> <div class="wrap_header_top">
<!-- logo --> <!-- logo -->
<h1 class="logo logo-01"><a href="/drilling/index.do">서울지방국토관리청</a></h1> <c:if test="${'025' == masterCompanyCode}">
<h1 class="logo logo-05"><a href="/drilling/index.do">서울지방국토관리청</a></h1>
</c:if>
<c:if test="${'709' == masterCompanyCode}">
<h1 class="logo logo-03"><a href="/drilling/index.do">서울지방국토관리청</a></h1>
</c:if>
<!-- //logo --> <!-- //logo -->
<div class="search_top_hd"> <div class="search_top_hd">
<a href="javascript:void(0)" class="search_btn">검색영역열기</a> <a href="javascript:void(0)" class="search_btn">검색영역열기</a>
@ -457,7 +464,139 @@
</ul> </ul>
</div> </div>
</li> </li>
<li class="">
<a href="/drilling/input.do">
로그아웃
</a>
<div class="depth2_box">
<ul class="depth2">
<li>
<a href="https://www.molit.go.kr/wrocm/USR/BORD0201/m_15958/BRD.jsp">
<i>공지사항</i>
</a>
</li>
<li>
<a href="https://www.molit.go.kr/wrocm/USR/BORD0201/m_15959/BRD.jsp">
<i>국토관리청공고</i>
</a>
</li>
<li>
<a href="https://www.molit.go.kr/wrocm/USR/phc040301_b/m_15961/lst.jsp" class="has_sub">
<i>사업·입찰안내</i>
</a>
<ul class="depth3">
<li>
<a href="https://www.molit.go.kr/wrocm/USR/phc040301_b/m_15961/lst.jsp">
<i>사업현황</i>
</a>
</li>
<li>
<a href="https://www.molit.go.kr/wrocm/USR/tender/m_15962/lst.jsp">
<i>입찰안내</i>
</a>
</li>
</ul>
</li>
<li>
<a href="https://www.molit.go.kr/wrocm/USR/BORD0201/m_21982/BRD.jsp">
<i>원주국토청 보도자료</i>
</a>
</li>
<li>
<a href="https://www.molit.go.kr/wrocm/USR/N0201/m_15955/lst.jsp">
<i>국토부 보도자료</i>
</a>
</li>
<li>
<a href="https://www.molit.go.kr/wrocm/USR/INSA/m_15972/lst.jsp" class="has_sub">
<i>인사/채용</i>
</a>
<ul class="depth3">
<li>
<a href="https://www.molit.go.kr/wrocm/USR/INSA/m_15972/lst.jsp">
<i>인사발령</i>
</a>
</li>
<li>
<a href="https://www.molit.go.kr/wrocm/USR/BORD0201/m_15974/BRD.jsp">
<i>직원채용정보</i>
</a>
</li>
</ul>
</li>
<li>
<a href="https://www.molit.go.kr/wrocm/USR/standard/m_34928/lst.jsp">
<i>사전규격공고</i>
</a>
</li>
<li>
<a href="https://www.molit.go.kr/wrocm/USR/ordinance/m_15983/lst.jsp" class="has_sub">
<i>법령자료</i>
</a>
<ul class="depth3">
<li>
<a href="https://www.molit.go.kr/wrocm/USR/ordinance/m_15983/lst.jsp">
<i>법률</i>
</a>
</li>
<li>
<a href="https://www.molit.go.kr/wrocm/USR/ordinance/m_15984/lst.jsp">
<i>대통령령</i>
</a>
</li>
<li>
<a href="https://www.molit.go.kr/wrocm/USR/ordinance/m_15985/lst.jsp">
<i>부령</i>
</a>
</li>
<li>
<a href="https://www.molit.go.kr/wrocm/USR/I0204/m_15986/lst.jsp">
<i>훈령/지침/고시</i>
</a>
</li>
<li>
<a href="https://www.molit.go.kr/wrocm/USR/law/m_22725/lst.jsp">
<i>입법예고</i>
</a>
</li>
</ul>
</li>
</ul>
</div>
</li>
</ul> </ul>
</nav> </nav>

View File

@ -18,7 +18,7 @@
<img src="/com/img/drilling/maps/01_active.svg" class="my-map rok region" id="my-map-rok-region-01" alt="서울지방국토관리청 영역"title="서울지방국토관리청 영역" /> <img src="/com/img/drilling/maps/01_active.svg" class="my-map rok region" id="my-map-rok-region-01" alt="서울지방국토관리청 영역"title="서울지방국토관리청 영역" />
<div class="region-item" id="region-item-01"> <div class="region-item" id="region-item-01">
<div class="region-alone active" id="region-alone-01" title="서울지방국토관리청 영역"></div> <div class="region-alone" id="region-alone-01" title="서울지방국토관리청 영역"></div>
<div class="region-logo" id="region-logo-01" title="서울지방국토관리청"></div> <div class="region-logo" id="region-logo-01" title="서울지방국토관리청"></div>
</div> </div>
@ -32,7 +32,16 @@
<img src="/com/img/drilling/maps/03_active.svg" class="my-map rok region" id="my-map-rok-region-03" alt="원주지방국토관리청에 오신것을 진심으로 환영합니다. WONJU REGIONAL OFFICE OF CONSTRUCTION MANAGEMENT" /> <img src="/com/img/drilling/maps/03_active.svg" class="my-map rok region" id="my-map-rok-region-03" alt="원주지방국토관리청에 오신것을 진심으로 환영합니다. WONJU REGIONAL OFFICE OF CONSTRUCTION MANAGEMENT" />
<div class="region-item" id="region-item-03"> <div class="region-item" id="region-item-03">
<div class="region-logo" id="region-logo-03" title="대전지방국토관리청"></div> <div class="region-logo" id="region-logo-03" title="대전지방국토관리청"></div>
<div class="region-alone" id="region-alone-03" title="대전지방국토관리청 영역"></div> <c:choose>
<c:when test="${'709' == masterCompanyCode}">
<%-- <div class="region-alone active" id="region-alone-03" title="대전지방국토관리청 영역"></div> --%>
<div class="region-alone" id="region-alone-03" title="대전지방국토관리청 영역"></div>
</c:when>
<c:otherwise>
<%-- masterCompanyCode가 '709'가 아닌 경우의 기본 처리 --%>
<div class="region-alone" id="region-alone-03" title="대전지방국토관리청 영역"></div>
</c:otherwise>
</c:choose>
</div> </div>
<img src="/com/img/drilling/maps/04_active.svg" class="my-map rok region" id="my-map-rok-region-04" alt="원주지방국토관리청에 오신것을 진심으로 환영합니다. WONJU REGIONAL OFFICE OF CONSTRUCTION MANAGEMENT" /> <img src="/com/img/drilling/maps/04_active.svg" class="my-map rok region" id="my-map-rok-region-04" alt="원주지방국토관리청에 오신것을 진심으로 환영합니다. WONJU REGIONAL OFFICE OF CONSTRUCTION MANAGEMENT" />
@ -43,8 +52,17 @@
<img src="/com/img/drilling/maps/05_active.svg" class="my-map rok region" id="my-map-rok-region-05" alt="원주지방국토관리청에 오신것을 진심으로 환영합니다. WONJU REGIONAL OFFICE OF CONSTRUCTION MANAGEMENT" /> <img src="/com/img/drilling/maps/05_active.svg" class="my-map rok region" id="my-map-rok-region-05" alt="원주지방국토관리청에 오신것을 진심으로 환영합니다. WONJU REGIONAL OFFICE OF CONSTRUCTION MANAGEMENT" />
<div class="region-item" id="region-item-05"> <div class="region-item" id="region-item-05">
<div class="region-logo" id="region-logo-05" title="부산지방국토관리청"></div> <div class="region-logo" id="region-logo-05" title="부산지방국토관리청"></div>
<div class="region-alone" id="region-alone-05" title="부산지방국토관리청 영역"></div> <c:choose>
<c:when test="${'025' == masterCompanyCode}">
<%-- <div class="region-alone active" id="region-alone-05" title="부산지방국토관리청 영역"></div> --%>
<div class="region-alone" id="region-alone-05" title="부산지방국토관리청 영역"></div>
</c:when>
<c:otherwise>
<%-- masterCompanyCode가 '709'가 아닌 경우의 기본 처리 --%>
<div class="region-alone" id="region-alone-05" title="부산지방국토관리청 영역"></div>
</c:otherwise>
</c:choose>
</div> </div>
<img src="/com/img/drilling/maps/02.png" class="my-map rok region" alt="원주지방국토관리청에 오신것을 진심으로 환영합니다. WONJU REGIONAL OFFICE OF CONSTRUCTION MANAGEMENT" /> <img src="/com/img/drilling/maps/02.png" class="my-map rok region" alt="원주지방국토관리청에 오신것을 진심으로 환영합니다. WONJU REGIONAL OFFICE OF CONSTRUCTION MANAGEMENT" />

View File

@ -68,6 +68,26 @@
to {bottom: 0; opacity: 0;} 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;
}
</style> </style>
<script type="text/javaScript"> <script type="text/javaScript">
@ -312,6 +332,7 @@ window.onload = function() {
}); });
var projectNameInput = document.getElementById("PROJECT_NAME"); var projectNameInput = document.getElementById("PROJECT_NAME");
var suggestionListDiv = document.getElementById("suggestionList");
projectNameInput.addEventListener('focusout', function() { projectNameInput.addEventListener('focusout', function() {
var projectName = this.value; var projectName = this.value;
@ -332,6 +353,11 @@ window.onload = function() {
} else { } else {
return true; return true;
} }
// 약간의 딜레이를 주어 suggestionItem의 onclick 이벤트가 먼저 발생하도록 처리
setTimeout(function() {
suggestionListDiv.style.display = "none";
}, 100);
}, },
error: function(xhr, option, error){ error: function(xhr, option, error){
alert(xhr.status); //오류코드 alert(xhr.status); //오류코드
@ -339,6 +365,102 @@ window.onload = function() {
} }
}); });
}); });
var preProjectList = [
"새로운 웹사이트 개발 프로젝트",
"새로운 나라만들기 프로젝트",
"모바일 앱 개편",
"데이터베이스 마이그레이션",
"클라우드 인프라 구축",
"인공지능 기반 서비스 개발",
"머신러닝 모델 학습",
"빅데이터 분석 플랫폼 구축",
"사이버 보안 강화 프로젝트",
"소프트웨어 품질 개선",
"사용자 인터페이스 디자인 개선"
];
projectNameInput.onkeyup = function() {
var projectName = this.value;
if (projectName.length > 0) {
$.ajax({
type : "GET",
data : {
projectName : projectName,
isProjectNameChecking : "true"
},
url : "/drilling-project-list.json",
dataType : "json",
success : function( json ) {
suggestionListDiv.innerHTML = ""; // 이전 목록 비우기
suggestionListDiv.style.display = "none";
var list = json.result.list;
var matchingProjects = [];
for (var i = 0; i < list.length; i++) {
matchingProjects.push(list[i]);
}
if (matchingProjects.length > 0) {
for (var i = 0; i < matchingProjects.length; i++) {
var suggestionItem = document.createElement("div");
var organHierarchy = " " + matchingProjects[i].glDistrict !== null ? matchingProjects[i].glDistrict : "";
if( matchingProjects[i].gmDistrict !== null ) {
organHierarchy = organHierarchy + " &gt; " + matchingProjects[i].gmDistrict;
}
if( matchingProjects[i].gsDistrict !== null ) {
organHierarchy = organHierarchy + " &gt; " + matchingProjects[i].gsDistrict;
}
suggestionItem.setAttribute('data-const-name', matchingProjects[i].constName);
suggestionItem.setAttribute('data-cid', matchingProjects[i].cid);
suggestionItem.innerHTML =
'<span>' + matchingProjects[i].constName + '</span><br />\n' +
'<span class="organizational-structure" data->' +
"발주처: " + organHierarchy
'</span>';
suggestionItem.onclick = function() {
projectNameInput.value = this.getAttribute('data-const-name');
document.getElementById("TEMP_CONSTRUCT_SITE_INFO-CID").value = this.getAttribute('data-cid');
suggestionListDiv.style.display = "none";
};
suggestionListDiv.appendChild(suggestionItem);
}
// suggestionListDiv 위치 설정
var rect = projectNameInput.getBoundingClientRect();
suggestionListDiv.style.position = 'absolute';
//suggestionListDiv.style.left = rect.left + 'px';
//suggestionListDiv.style.top = (rect.bottom + window.scrollY) + 'px';
//suggestionListDiv.style.float = 'left';
suggestionListDiv.style.width = rect.width + 'px';
suggestionListDiv.style.display = "block";
}
},
error: function(xhr, option, error){
alert(xhr.status); //오류코드
alert(error); //오류내용
}
});
}
};
// 사용자가 추천 목록 외부를 클릭하면 목록 숨기기 (선택적)
document.onclick = function(event) {
if (event.target !== projectNameInput && event.target !== suggestionListDiv && !suggestionListDiv.contains(event.target)) {
suggestionListDiv.style.display = "none";
}
};
}; };
@ -451,6 +573,8 @@ function fn_help_tour(){
<form name="frmMeta" id="frmMeta" action="/insertMeta.do" method="post"> <form name="frmMeta" id="frmMeta" action="/insertMeta.do" method="post">
<input type="hidden" id="REPORT_TYPE" name="REPORT_TYPE" value="CH" /> <input type="hidden" id="REPORT_TYPE" name="REPORT_TYPE" value="CH" />
<input type="hidden" id="PROJECT_CODE" name="PROJECT_CODE" value="${mapMetaInfo.PROJECT_CODE }" /> <input type="hidden" id="PROJECT_CODE" name="PROJECT_CODE" value="${mapMetaInfo.PROJECT_CODE }" />
<input type="hidden" id="TEMP_CONSTRUCT_SITE_INFO-CID" name="TEMP_CONSTRUCT_SITE_INFO-CID" />
<table class="table table-bordered"> <table class="table table-bordered">
<colgroup> <colgroup>
@ -496,7 +620,10 @@ function fn_help_tour(){
</tr> </tr>
<tr> <tr>
<th class="td-head">사업명</th> <th class="td-head">사업명</th>
<td colspan="3"><input id="PROJECT_NAME" name="PROJECT_NAME" maxlength="2000" type="text" value="${mapMetaInfo.PROJECT_NAME}" valid="notnull" validNm="사업명" /></td> <td colspan="3">
<input id="PROJECT_NAME" name="PROJECT_NAME" maxlength="2000" type="text" value="${mapMetaInfo.PROJECT_NAME}" valid="notnull" validNm="사업명" />
<div id="suggestionList"></div>
</td>
</tr> </tr>
<tr> <tr>
<th class="td-head">총 시추공수</th> <th class="td-head">총 시추공수</th>

View File

@ -23,11 +23,12 @@ function onClickBtnViewOnMap() {
const gs = document.getElementById('gs-district').value; const gs = document.getElementById('gs-district').value;
const gf = document.getElementById('gf-district').value; const gf = document.getElementById('gf-district').value;
const lastTeamName = document.getElementById('last-team-name').value; const lastTeamName = document.getElementById('last-team-name').value;
const masterCompanyCode = document.getElementById('master-company-code').value;
openMap('${sessionScope.USERID}','${cls}', gl, gm, gs, gf, lastTeamName, projectMasterCompanyName, maxX-minX, maxY-minY); openMap('${sessionScope.USERID}','${cls}', gl, gm, gs, gf, lastTeamName, projectMasterCompanyName, maxX-minX, maxY-minY, masterCompanyCode);
} }
function openMap(userid,cls, gl = null, gm = null, gs = null, gf = null, lastTeamName = null, projectMasterCompanyName = null, positionX= null, positionY= null) function openMap(userid,cls, gl = null, gm = null, gs = null, gf = null, lastTeamName = null, projectMasterCompanyName = null, positionX= null, positionY= null, masterCompanyCode=null)
{ {
win = 'map'; win = 'map';
sizeX=window.screen.width; sizeX=window.screen.width;
@ -41,7 +42,7 @@ function openMap(userid,cls, gl = null, gm = null, gs = null, gf = null, lastTea
userArea = "부산광역시"; 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"); var mapWin = window.open("/map/mapMain.do?userArea=" + encodeURIComponent(userArea) + "&gl=" + gl + "&gm=" + gm + "&gs=" + gs + "&gf=" + gf + "&lastTeamName=" + lastTeamName + "&masterCompanyCode=" + masterCompanyCode + "&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(); mapWin.focus();
} }

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@ -121,6 +121,8 @@ var HOLE_AREA; // 영역 선택
var HOLE_DRAW; // 그리기 도구 var HOLE_DRAW; // 그리기 도구
var HOLE_TOOLTIP; // 툴팁 var HOLE_TOOLTIP; // 툴팁
var HOLE_DRILLING; // 발주기관 시추공
// ------------------------ // ------------------------
// 관정 관련 // 관정 관련
// ------------------------ // ------------------------
@ -545,10 +547,37 @@ function initApp(param){
BASE_MAP.addControl(CTL_MEASURE2.PATH); BASE_MAP.addControl(CTL_MEASURE2.PATH);
BASE_MAP.addControl(CTL_MEASURE.AREA); BASE_MAP.addControl(CTL_MEASURE.AREA);
BASE_MAP.addControl(CTL_MEASURE5.PATH); BASE_MAP.addControl(CTL_MEASURE5.PATH);
HOLE_DRILLING = new OpenLayers.Layer.Vector("DRILLING");
// 새로운 스타일 객체 생성
var holeImageStyle = new OpenLayers.Style(
{
fontFamily : "맑은 고딕"
},
{
rules: [
new OpenLayers.Rule({
symbolizer: {
externalGraphic : "/images/map/drilling-pin-35-50.png",
graphicWidth : 35,
graphicHeight : 50,
graphicXOffset : -18,
graphicYOffset : -55
}
})
]
}
);
//스타일 적용
HOLE_DRILLING.styleMap = new OpenLayers.StyleMap(holeImageStyle);
BASE_MAP.addLayer(HOLE_DRILLING);
// 객체 선택 // 객체 선택
HOLE_SELECT = new OpenLayers.Layer.Vector("SELECT"); HOLE_SELECT = new OpenLayers.Layer.Vector("SELECT");
HOLE_SELECT.styleMap = new OpenLayers.StyleMap(getStyleSELECT()); HOLE_SELECT.styleMap = new OpenLayers.StyleMap(getStyleSELECT());
BASE_MAP.addLayer(HOLE_SELECT); BASE_MAP.addLayer(HOLE_SELECT);
CTL_SELECT = new OpenLayers.Control.WMSGetFeatureInfo({ CTL_SELECT = new OpenLayers.Control.WMSGetFeatureInfo({
@ -848,12 +877,13 @@ function initApp(param){
} }
}); });
const userArea = getQueryString("userArea"); const userArea = getQueryString("userArea");
const gl = getQueryString("gl"); const gl = getQueryString("gl");
const gm = getQueryString("gm"); const gm = getQueryString("gm");
const gs = getQueryString("gs"); const gs = getQueryString("gs");
const gf = getQueryString("gf"); const gf = getQueryString("gf");
const lastTeamName = getQueryString("lastTeamName"); const lastTeamName = getQueryString("lastTeamName");
const masterCompanyCode = getQueryString("masterCompanyCode");
const positionX = Number(getQueryString("positionX")); const positionX = Number(getQueryString("positionX"));
const positionY = Number(getQueryString("positionY")); const positionY = Number(getQueryString("positionY"));
@ -913,7 +943,7 @@ function initApp(param){
const getGuList2Callback = function () { const getGuList2Callback = function () {
onSichAllCheck(); onSichAllCheck();
const selectedXY = getMiddleXY(document.getElementById("cmb_sido_all").value); const selectedXY = getMiddleXY(document.getElementById("cmb_sido_all").value);
BASE_MAP.zoomToExtent(new OpenLayers.Bounds(selectedXY.minX, selectedXY.minY, selectedXY.maxX, selectedXY.maxY).transform('EPSG:5186', 'EPSG:3857'), true); //BASE_MAP.zoomToExtent(new OpenLayers.Bounds(selectedXY.minX, selectedXY.minY, selectedXY.maxX, selectedXY.maxY).transform('EPSG:5186', 'EPSG:3857'), true);
} }
getGuList2(getGuList2Callback); getGuList2(getGuList2Callback);
} else if( gl === "재난관리책임기관" ) { } else if( gl === "재난관리책임기관" ) {
@ -923,12 +953,12 @@ function initApp(param){
if( gf === null || gf.trim() === "" ) { if( gf === null || gf.trim() === "" ) {
onSichAllCheck(); onSichAllCheck();
const selectedXY = getMiddleXY(document.getElementById("cmb_sido_all").value); const selectedXY = getMiddleXY(document.getElementById("cmb_sido_all").value);
BASE_MAP.zoomToExtent(new OpenLayers.Bounds(selectedXY.minX, selectedXY.minY, selectedXY.maxX, selectedXY.maxY).transform('EPSG:5186', 'EPSG:3857'), true); //BASE_MAP.zoomToExtent(new OpenLayers.Bounds(selectedXY.minX, selectedXY.minY, selectedXY.maxX, selectedXY.maxY).transform('EPSG:5186', 'EPSG:3857'), true);
} else { } else {
selectOptionByText(gf, document.getElementById("cmb_gungu_all")); selectOptionByText(gf, document.getElementById("cmb_gungu_all"));
onSichAllCheck(); onSichAllCheck();
const selectedXY = getMiddleXY(document.getElementById("cmb_gungu_all").value); const selectedXY = getMiddleXY(document.getElementById("cmb_gungu_all").value);
BASE_MAP.zoomToExtent(new OpenLayers.Bounds(selectedXY.minX, selectedXY.minY, selectedXY.maxX, selectedXY.maxY).transform('EPSG:5186', 'EPSG:3857'), true); //BASE_MAP.zoomToExtent(new OpenLayers.Bounds(selectedXY.minX, selectedXY.minY, selectedXY.maxX, selectedXY.maxY).transform('EPSG:5186', 'EPSG:3857'), true);
} }
} }
getGuList2(getGuList2Callback); getGuList2(getGuList2Callback);
@ -940,7 +970,7 @@ function initApp(param){
if( gs === null || gs.trim() === "" ) { if( gs === null || gs.trim() === "" ) {
onSichAllCheck(); onSichAllCheck();
const selectedSidoXY = getMiddleXY(document.getElementById("cmb_sido_all").value); const selectedSidoXY = getMiddleXY(document.getElementById("cmb_sido_all").value);
BASE_MAP.zoomToExtent(new OpenLayers.Bounds(selectedSidoXY.minX, selectedSidoXY.minY, selectedSidoXY.maxX, selectedSidoXY.maxY).transform('EPSG:5186', 'EPSG:3857'), true); //BASE_MAP.zoomToExtent(new OpenLayers.Bounds(selectedSidoXY.minX, selectedSidoXY.minY, selectedSidoXY.maxX, selectedSidoXY.maxY).transform('EPSG:5186', 'EPSG:3857'), true);
} else { } else {
selectOptionByText(gs, document.getElementById("cmb_gungu_all")); selectOptionByText(gs, document.getElementById("cmb_gungu_all"));
const getDongList2Callback = function () { const getDongList2Callback = function () {
@ -948,12 +978,12 @@ function initApp(param){
onSichAllCheck(); onSichAllCheck();
const selectedGunguXY = getMiddleXY(document.getElementById("cmb_gungu_all").value); const selectedGunguXY = getMiddleXY(document.getElementById("cmb_gungu_all").value);
var move_bound = new OpenLayers.Bounds(selectedGunguXY.minX, selectedGunguXY.minY, selectedGunguXY.maxX, selectedGunguXY.maxY).transform('EPSG:5186', 'EPSG:3857'); //5174 var move_bound = new OpenLayers.Bounds(selectedGunguXY.minX, selectedGunguXY.minY, selectedGunguXY.maxX, selectedGunguXY.maxY).transform('EPSG:5186', 'EPSG:3857'); //5174
BASE_MAP.zoomToExtent(move_bound, true); //BASE_MAP.zoomToExtent(move_bound, true);
} else { } else {
selectOptionByText(gf, document.getElementById("cmb_dong_all")); selectOptionByText(gf, document.getElementById("cmb_dong_all"));
onSichAllCheck(); onSichAllCheck();
const selectedDongXY = getMiddleXY(document.getElementById("cmb_dong_all").value); const selectedDongXY = getMiddleXY(document.getElementById("cmb_dong_all").value);
BASE_MAP.zoomToExtent(new OpenLayers.Bounds(selectedDongXY.minX, selectedDongXY.minY, selectedDongXY.maxX, selectedDongXY.maxY).transform('EPSG:5186', 'EPSG:3857'), true); //BASE_MAP.zoomToExtent(new OpenLayers.Bounds(selectedDongXY.minX, selectedDongXY.minY, selectedDongXY.maxX, selectedDongXY.maxY).transform('EPSG:5186', 'EPSG:3857'), true);
} }
} }
getDongList2(getDongList2Callback); getDongList2(getDongList2Callback);
@ -963,6 +993,10 @@ function initApp(param){
getGuList2(getGuList2Callback); getGuList2(getGuList2Callback);
} }
if( masterCompanyCode ) {
addDrillingHoles(masterCompanyCode);
}
} else { } else {
@ -1555,7 +1589,7 @@ function addProjectHoles(projectCode) {
var feature = format.read(row.wkt); var feature = format.read(row.wkt);
feature.attributes.CODE = row.code; feature.attributes.CODE = row.code;
feature.geometry.transform('EPSG:5186', 'EPSG:3857'); feature.geometry.transform('EPSG:5186', 'EPSG:3857');
features.push(feature); features.push(feature);
} }
if(features.length > 0) { if(features.length > 0) {
@ -1565,6 +1599,49 @@ function addProjectHoles(projectCode) {
}); });
} }
function addDrillingHoles(companyCode) {
HOLE_DRILLING.removeAllFeatures();
HOLE_SELECT.removeAllFeatures();
HOLE_SELECT2.removeAllFeatures();
var bbox = {
minx: Infinity,
miny: Infinity,
maxx: -Infinity,
maxy: -Infinity
};
console.log("addProjectHoles projectCode ::: " + companyCode);
$.get("/drilling/map/searchHole.do", { projectCode : companyCode }).done(function(response) {
if(response && response.data) {
var format = new OpenLayers.Format.WKT();
var features = [];
for(var i=0, len=response.data.length; i < len; i++) {
var row = response.data[i];
var feature = format.read(row.wkt);
feature.attributes.CODE = row.code;
//feature.geometry.x의 최솟값 구한다.
bbox.minx = Math.min(bbox.minx, feature.geometry.x);
//feature.geometry.x의 최댓값 구한다.
bbox.maxx = Math.max(bbox.maxx, feature.geometry.x);
//feature.geometry.y의 최솟값 구한다.
bbox.miny = Math.min(bbox.miny, feature.geometry.y);
//feature.geometry.y의 최댓값 구한다.
bbox.maxy = Math.max(bbox.maxy, feature.geometry.y);
feature.geometry.transform('EPSG:5186', 'EPSG:3857');
features.push(feature);
}
if(features.length > 0) {
moveToExtent(bbox.minx, bbox.miny, bbox.maxx, bbox.maxy);
HOLE_DRILLING.addFeatures(features);
}
}
});
}
function getStyleSELECT(){ function getStyleSELECT(){

View File

@ -12,7 +12,7 @@
// 한글인코딩 // 한글인코딩
request.setCharacterEncoding("UTF-8"); request.setCharacterEncoding("UTF-8");
final String O2MAP_WMS_URL = EgovProperties.getProperty("O2MAP.wms.url").trim(); final String O2MAP_WMS_URL = EgovProperties.getProperty("O2MAP.wms.url") == null ? null : EgovProperties.getProperty("O2MAP.wms.url").trim();
// post, get에서 쓸 url // post, get에서 쓸 url
String reqUrl = "http://218.232.234.166/o2map/services/wms"; String reqUrl = "http://218.232.234.166/o2map/services/wms";