feat: 건설현장관리기능 연계 작업 중간 저장
parent
f34e18fba2
commit
5c18871ab9
30
list.txt
30
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
|
||||
|
||||
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
|
||||
|
|
|
|||
|
|
@ -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,11 +15,16 @@ 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")
|
||||
public String memberRegi(@RequestParam HashMap<String, Object> params, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
|
||||
|
|
@ -30,6 +37,14 @@ public class DrillingCommonController {
|
|||
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"));
|
||||
|
||||
return "/drilling/common/includeTopMenu";
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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<String, Object> 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<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) {
|
||||
// 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";
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ import egovframework.rte.psl.dataaccess.util.EgovMap;
|
|||
|
||||
@Mapper("drillingHomeMapper")
|
||||
public interface DrillingHomeMapper {
|
||||
|
||||
List<EgovMap> drillingMapSearchHole(String projectCode);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -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<EgovMap> drillingMapSearchHole(String projectCode);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -33,5 +33,10 @@ public class DrillingHomeServiceImpl implements DrillingHomeService {
|
|||
@Resource(name="drillingHomeMapper")
|
||||
private DrillingHomeMapper drillingHomeMapper;
|
||||
|
||||
@Override
|
||||
public List<EgovMap> drillingMapSearchHole(String projectCode) {
|
||||
return drillingHomeMapper.drillingMapSearchHole(projectCode);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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<String, Object> spGetMasterCompanyDistrictParams) 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;
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -11,4 +11,5 @@ public interface DrillingInputService {
|
|||
HashMap<String, Object> getOrganizationUserGlGmGsGfCodes(String userId) 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;
|
||||
HashMap<String, Object> updateProjectCode(HttpServletRequest request, HashMap<String, Object> params) throws Exception;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -120,4 +120,44 @@ 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() );
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ public interface DrillingInquiryMapper {
|
|||
public List<EgovMap> spGetTblCsiByKeyword(HashMap<String, Object> params) throws SQLException;
|
||||
public String spGetConstCompanyName(Long constCompanyCode) throws SQLException;
|
||||
public String spGetProjectMbr(HashMap<String, Object> params) throws SQLException;
|
||||
|
||||
public List<EgovMap> drillingInquiryAutocompleteList(HashMap<String, Object> params) throws SQLException;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -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<String, Object> params) 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;
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -294,4 +294,40 @@ public class DrillingInquiryServiceImpl implements DrillingInquiryService {
|
|||
}
|
||||
|
||||
|
||||
@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() );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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";
|
||||
|
|
|
|||
|
|
@ -165,8 +165,7 @@ public class ManageListController {
|
|||
model.addAttribute("L_DIS", mapDis.get("L_DIS"));
|
||||
|
||||
return "/web/input/meta_info";
|
||||
}
|
||||
else{
|
||||
} else {
|
||||
// 지반정보등록 (신규)
|
||||
int count = 0;
|
||||
|
||||
|
|
|
|||
|
|
@ -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");
|
||||
|
|
@ -136,6 +147,7 @@ public class ProjectListController {
|
|||
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);
|
||||
|
|
@ -527,5 +548,42 @@ public class ProjectListController {
|
|||
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이므로 반환 값은 필요 없습니다.
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -3,4 +3,30 @@
|
|||
|
||||
<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>
|
||||
|
|
@ -61,7 +61,6 @@
|
|||
) }
|
||||
</select>
|
||||
|
||||
|
||||
<select id="getDepartments" parameterType="map" resultType="egovMap">
|
||||
SELECT
|
||||
(SELECT tgd.GL_DISTRICT
|
||||
|
|
@ -79,6 +78,51 @@
|
|||
FROM DUAL
|
||||
</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>
|
||||
|
|
@ -46,5 +46,53 @@
|
|||
) }
|
||||
</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>
|
||||
|
|
@ -16,13 +16,20 @@
|
|||
<input type="hidden" id="gs-district" name="gs-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="master-company-code" name="master-company-code" value="<c:out value="${masterCompanyCode}"/>" />
|
||||
|
||||
|
||||
<!-- header -------------------------------------------->
|
||||
<header class="drilling-wrap-header">
|
||||
<div id="header_cont">
|
||||
<div class="wrap_header_top">
|
||||
<!-- 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 -->
|
||||
<div class="search_top_hd">
|
||||
<a href="javascript:void(0)" class="search_btn">검색영역열기</a>
|
||||
|
|
@ -455,6 +462,138 @@
|
|||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</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>
|
||||
|
|
|
|||
|
|
@ -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="서울지방국토관리청 영역" />
|
||||
<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>
|
||||
|
||||
|
|
@ -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" />
|
||||
<div class="region-item" id="region-item-03">
|
||||
<div class="region-logo" id="region-logo-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>
|
||||
|
||||
<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" />
|
||||
|
|
@ -44,7 +53,16 @@
|
|||
<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-logo" id="region-logo-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>
|
||||
|
||||
<img src="/com/img/drilling/maps/02.png" class="my-map rok region" alt="원주지방국토관리청에 오신것을 진심으로 환영합니다. WONJU REGIONAL OFFICE OF CONSTRUCTION MANAGEMENT" />
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
<script type="text/javaScript">
|
||||
|
||||
|
|
@ -312,6 +332,7 @@ window.onload = function() {
|
|||
});
|
||||
|
||||
var projectNameInput = document.getElementById("PROJECT_NAME");
|
||||
var suggestionListDiv = document.getElementById("suggestionList");
|
||||
projectNameInput.addEventListener('focusout', function() {
|
||||
var projectName = this.value;
|
||||
|
||||
|
|
@ -332,6 +353,11 @@ window.onload = function() {
|
|||
} else {
|
||||
return true;
|
||||
}
|
||||
|
||||
// 약간의 딜레이를 주어 suggestionItem의 onclick 이벤트가 먼저 발생하도록 처리
|
||||
setTimeout(function() {
|
||||
suggestionListDiv.style.display = "none";
|
||||
}, 100);
|
||||
},
|
||||
error: function(xhr, option, error){
|
||||
alert(xhr.status); //오류코드
|
||||
|
|
@ -340,6 +366,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 + " > " + matchingProjects[i].gmDistrict;
|
||||
}
|
||||
if( matchingProjects[i].gsDistrict !== null ) {
|
||||
organHierarchy = organHierarchy + " > " + 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">
|
||||
<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="TEMP_CONSTRUCT_SITE_INFO-CID" name="TEMP_CONSTRUCT_SITE_INFO-CID" />
|
||||
|
||||
|
||||
<table class="table table-bordered">
|
||||
<colgroup>
|
||||
|
|
@ -496,7 +620,10 @@ function fn_help_tour(){
|
|||
</tr>
|
||||
<tr>
|
||||
<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>
|
||||
<th class="td-head">총 시추공수</th>
|
||||
|
|
|
|||
|
|
@ -23,11 +23,12 @@ function onClickBtnViewOnMap() {
|
|||
const gs = document.getElementById('gs-district').value;
|
||||
const gf = document.getElementById('gf-district').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';
|
||||
sizeX=window.screen.width;
|
||||
|
|
@ -41,7 +42,7 @@ function openMap(userid,cls, gl = null, gm = null, gs = null, gf = null, lastTea
|
|||
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();
|
||||
}
|
||||
|
||||
|
|
|
|||
Binary file not shown.
|
After Width: | Height: | Size: 1.8 KiB |
|
|
@ -121,6 +121,8 @@ var HOLE_AREA; // 영역 선택
|
|||
var HOLE_DRAW; // 그리기 도구
|
||||
var HOLE_TOOLTIP; // 툴팁
|
||||
|
||||
var HOLE_DRILLING; // 발주기관 시추공
|
||||
|
||||
// ------------------------
|
||||
// 관정 관련
|
||||
// ------------------------
|
||||
|
|
@ -545,12 +547,39 @@ function initApp(param){
|
|||
BASE_MAP.addControl(CTL_MEASURE2.PATH);
|
||||
BASE_MAP.addControl(CTL_MEASURE.AREA);
|
||||
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.styleMap = new OpenLayers.StyleMap(getStyleSELECT());
|
||||
BASE_MAP.addLayer(HOLE_SELECT);
|
||||
|
||||
|
||||
|
||||
CTL_SELECT = new OpenLayers.Control.WMSGetFeatureInfo({
|
||||
url: O2MAP_URL,
|
||||
crs: "EPSG:3857",
|
||||
|
|
@ -854,6 +883,7 @@ function initApp(param){
|
|||
const gs = getQueryString("gs");
|
||||
const gf = getQueryString("gf");
|
||||
const lastTeamName = getQueryString("lastTeamName");
|
||||
const masterCompanyCode = getQueryString("masterCompanyCode");
|
||||
|
||||
const positionX = Number(getQueryString("positionX"));
|
||||
const positionY = Number(getQueryString("positionY"));
|
||||
|
|
@ -913,7 +943,7 @@ function initApp(param){
|
|||
const getGuList2Callback = function () {
|
||||
onSichAllCheck();
|
||||
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);
|
||||
} else if( gl === "재난관리책임기관" ) {
|
||||
|
|
@ -923,12 +953,12 @@ function initApp(param){
|
|||
if( gf === null || gf.trim() === "" ) {
|
||||
onSichAllCheck();
|
||||
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 {
|
||||
selectOptionByText(gf, document.getElementById("cmb_gungu_all"));
|
||||
onSichAllCheck();
|
||||
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);
|
||||
|
|
@ -940,7 +970,7 @@ function initApp(param){
|
|||
if( gs === null || gs.trim() === "" ) {
|
||||
onSichAllCheck();
|
||||
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 {
|
||||
selectOptionByText(gs, document.getElementById("cmb_gungu_all"));
|
||||
const getDongList2Callback = function () {
|
||||
|
|
@ -948,12 +978,12 @@ function initApp(param){
|
|||
onSichAllCheck();
|
||||
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
|
||||
BASE_MAP.zoomToExtent(move_bound, true);
|
||||
//BASE_MAP.zoomToExtent(move_bound, true);
|
||||
} else {
|
||||
selectOptionByText(gf, document.getElementById("cmb_dong_all"));
|
||||
onSichAllCheck();
|
||||
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);
|
||||
|
|
@ -963,6 +993,10 @@ function initApp(param){
|
|||
getGuList2(getGuList2Callback);
|
||||
}
|
||||
|
||||
if( masterCompanyCode ) {
|
||||
addDrillingHoles(masterCompanyCode);
|
||||
}
|
||||
|
||||
|
||||
|
||||
} else {
|
||||
|
|
@ -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(){
|
||||
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
// 한글인코딩
|
||||
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
|
||||
String reqUrl = "http://218.232.234.166/o2map/services/wms";
|
||||
|
|
|
|||
Loading…
Reference in New Issue