feat: 지도 급경사지 보이도록 기능 추가
parent
3ac28ed8a8
commit
757150db37
|
|
@ -8,6 +8,7 @@ import java.util.*;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
|
||||||
|
import org.hsqldb.result.Result;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
|
@ -30,12 +31,179 @@ public class WebConfirm
|
||||||
String user = EgovProperties.getProperty("Oracle.ID").trim();
|
String user = EgovProperties.getProperty("Oracle.ID").trim();
|
||||||
String pw = EgovProperties.getProperty("Oracle.Password").trim();
|
String pw = EgovProperties.getProperty("Oracle.Password").trim();
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TEMP_SPT 테이블의 표준관입시험 심도 중복을 검사합니다.
|
||||||
|
* 중복 건이 발견되면 에러 메시지를 포함한 Map을 반환합니다.
|
||||||
|
*
|
||||||
|
* @param request HttpServletRequest
|
||||||
|
* @param PROJECT_CODE 검사할 프로젝트 코드
|
||||||
|
* @return 유효성 검사 결과 (success: true/false, errorMessage: "...")
|
||||||
|
*/
|
||||||
|
private Map<String, Object> validationCheckTempSpt(HttpServletRequest request, final String PROJECT_CODE) {
|
||||||
|
Map<String, Object> result = new HashMap<>();
|
||||||
|
DatabaseQuery validationQuery = null;
|
||||||
|
ResultSet rs = null;
|
||||||
|
|
||||||
|
// 사용자가 요청한 중복 검사 SQL
|
||||||
|
final String validationSql = "SELECT " +
|
||||||
|
" HOLE_CODE, " +
|
||||||
|
" DEPTH_SPT, " +
|
||||||
|
" COUNT(1) AS \"COUNT\" " +
|
||||||
|
"FROM " +
|
||||||
|
" TEMP_SPT " +
|
||||||
|
"WHERE " +
|
||||||
|
" PROJECT_CODE = [PROJECT_CODE] " +
|
||||||
|
"GROUP BY " +
|
||||||
|
" HOLE_CODE, " +
|
||||||
|
" DEPTH_SPT " +
|
||||||
|
"HAVING " +
|
||||||
|
" 1 < COUNT(1)";
|
||||||
|
|
||||||
|
try {
|
||||||
|
validationQuery = new DatabaseQuery(validationSql);
|
||||||
|
validationQuery.setParam("PROJECT_CODE", PROJECT_CODE);
|
||||||
|
|
||||||
|
// 클래스 멤버 변수인 connection 사용
|
||||||
|
rs = validationQuery.execute(connection);
|
||||||
|
|
||||||
|
StringBuilder errorMessages = new StringBuilder();
|
||||||
|
|
||||||
|
// 발견된 모든 중복 건에 대한 에러 메시지를 생성
|
||||||
|
while (rs.next()) {
|
||||||
|
String holeCode = rs.getString("HOLE_CODE");
|
||||||
|
String depthSpt = rs.getString("DEPTH_SPT");
|
||||||
|
int count = rs.getInt("COUNT");
|
||||||
|
|
||||||
|
// 여러 건의 에러 메시지를 하나로 합침
|
||||||
|
errorMessages.append("- " + holeCode + " 시추공의 심도 " + depthSpt + "m가 " + count + "개 중복됨.\\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
// 중복(에러)이 발견되었는지 확인
|
||||||
|
if (errorMessages.length() > 0) {
|
||||||
|
result.put("success", false);
|
||||||
|
result.put("errorMessage", errorMessages.toString().trim());
|
||||||
|
} else {
|
||||||
|
// 중복 없음, 유효성 검사 통과
|
||||||
|
result.put("success", true);
|
||||||
|
result.put("errorMessage", "");
|
||||||
|
}
|
||||||
|
|
||||||
|
} catch (SQLException e) {
|
||||||
|
// SQL 실행 중 예외 발생
|
||||||
|
logger.error("SPT validation check error", e); // 클래스 멤버 logger 사용
|
||||||
|
result.put("success", false);
|
||||||
|
result.put("errorMessage", "표준관입시험 유효성 검사 중 데이터베이스 오류가 발생했습니다: " + e.getMessage());
|
||||||
|
} finally {
|
||||||
|
// 리소스 정리 (ConfirmProject의 finally 블록과 유사하게)
|
||||||
|
try {
|
||||||
|
if (rs != null) {
|
||||||
|
rs.close();
|
||||||
|
}
|
||||||
|
if (validationQuery != null) {
|
||||||
|
validationQuery.close();
|
||||||
|
}
|
||||||
|
} catch (SQLException sqle) {
|
||||||
|
logger.error("Error closing validation resources", sqle);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TEMP_FIELDPER_SUB 테이블의 현장투수시험 '경과시간(sec)' 중복을 검사합니다.
|
||||||
|
* 중복 건이 발견되면 에러 메시지를 포함한 Map을 반환합니다.
|
||||||
|
*
|
||||||
|
* @param request HttpServletRequest
|
||||||
|
* @param PROJECT_CODE 검사할 프로젝트 코드
|
||||||
|
* @return 유효성 검사 결과 (success: true/false, errorMessage: "...")
|
||||||
|
*/
|
||||||
|
private Map<String, Object> validationCheckTempFieldperSub(HttpServletRequest request, final String PROJECT_CODE) {
|
||||||
|
Map<String, Object> result = new HashMap<>();
|
||||||
|
DatabaseQuery validationQuery = null;
|
||||||
|
ResultSet rs = null;
|
||||||
|
|
||||||
|
// 사용자가 요청한 중복 검사 SQL
|
||||||
|
final String validationSql = "SELECT " +
|
||||||
|
" HOLE_CODE, " +
|
||||||
|
" FIELDPER_CODE, " +
|
||||||
|
" FIELDPER_SUB_TIME, " +
|
||||||
|
" COUNT(1) AS \"COUNT\" " +
|
||||||
|
"FROM " +
|
||||||
|
" TEMP_FIELDPER_SUB " +
|
||||||
|
"WHERE " +
|
||||||
|
" PROJECT_CODE = [PROJECT_CODE] " +
|
||||||
|
"GROUP BY " +
|
||||||
|
" HOLE_CODE, " +
|
||||||
|
" FIELDPER_CODE, " +
|
||||||
|
" FIELDPER_SUB_TIME " +
|
||||||
|
"HAVING " +
|
||||||
|
" 1 < COUNT(1)";
|
||||||
|
|
||||||
|
|
||||||
|
try {
|
||||||
|
validationQuery = new DatabaseQuery(validationSql);
|
||||||
|
validationQuery.setParam("PROJECT_CODE", PROJECT_CODE);
|
||||||
|
|
||||||
|
// 클래스 멤버 변수인 connection 사용
|
||||||
|
rs = validationQuery.execute(connection);
|
||||||
|
|
||||||
|
StringBuilder errorMessages = new StringBuilder();
|
||||||
|
|
||||||
|
// 발견된 모든 중복 건에 대한 에러 메시지를 생성
|
||||||
|
while (rs.next()) {
|
||||||
|
String holeCode = rs.getString("HOLE_CODE");
|
||||||
|
String fieldperCode = rs.getString("FIELDPER_CODE");
|
||||||
|
String fieldperSubTime = rs.getString("FIELDPER_SUB_TIME");
|
||||||
|
int count = rs.getInt("COUNT");
|
||||||
|
|
||||||
|
// 여러 건의 에러 메시지를 하나로 합침
|
||||||
|
errorMessages.append("- " + holeCode + " 시추공 시험코드[" + fieldperCode + "]의 시간간격(sec) " + fieldperSubTime + "sec가 " + count + "개 중복됨.\\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
// 중복(에러)이 발견되었는지 확인
|
||||||
|
if (errorMessages.length() > 0) {
|
||||||
|
result.put("success", false);
|
||||||
|
result.put("errorMessage", errorMessages.toString().trim());
|
||||||
|
} else {
|
||||||
|
// 중복 없음, 유효성 검사 통과
|
||||||
|
result.put("success", true);
|
||||||
|
result.put("errorMessage", "");
|
||||||
|
}
|
||||||
|
|
||||||
|
} catch (SQLException e) {
|
||||||
|
// SQL 실행 중 예외 발생
|
||||||
|
logger.error("SPT validation check error", e); // 클래스 멤버 logger 사용
|
||||||
|
result.put("success", false);
|
||||||
|
result.put("errorMessage", "현장투수시험 유효성 검사 중 데이터베이스 오류가 발생했습니다: " + e.getMessage());
|
||||||
|
} finally {
|
||||||
|
// 리소스 정리 (ConfirmProject의 finally 블록과 유사하게)
|
||||||
|
try {
|
||||||
|
if (rs != null) {
|
||||||
|
rs.close();
|
||||||
|
}
|
||||||
|
if (validationQuery != null) {
|
||||||
|
validationQuery.close();
|
||||||
|
}
|
||||||
|
} catch (SQLException sqle) {
|
||||||
|
logger.error("Error closing validation resources", sqle);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* public WebConfirm() { this.connection = null; this.connectionPool = null;
|
* public WebConfirm() { this.connection = null; this.connectionPool = null;
|
||||||
* this.query = null; this.resultSet = null; this.sql = ""; this.resultCnt = 0;
|
* this.query = null; this.resultSet = null; this.sql = ""; this.resultCnt = 0;
|
||||||
* this.resultBool = false; }
|
* this.resultBool = false; }
|
||||||
*/
|
*/
|
||||||
public boolean ConfirmProject(HttpServletRequest request, final String PROJECT_CODE) {
|
public boolean ConfirmProject(HttpServletRequest request, final String PROJECT_CODE) throws Exception {
|
||||||
|
|
||||||
|
|
||||||
if( url == null || url.isEmpty() || user == null || user.isEmpty() || pw == null || pw.isEmpty() ) {
|
if( url == null || url.isEmpty() || user == null || user.isEmpty() || pw == null || pw.isEmpty() ) {
|
||||||
|
|
@ -605,6 +773,40 @@ public class WebConfirm
|
||||||
"PROJECT_CODE:[" + PROJECT_CODE + "]\n" +
|
"PROJECT_CODE:[" + PROJECT_CODE + "]\n" +
|
||||||
"\n--------------------------------------------------------------\n"
|
"\n--------------------------------------------------------------\n"
|
||||||
);
|
);
|
||||||
|
|
||||||
|
// 표준관입시험 심도 중복체크
|
||||||
|
Map<String, Object> validationResult = validationCheckTempSpt(request, PROJECT_CODE);
|
||||||
|
|
||||||
|
// 유효성 검증에 실패하면(중복 발견), 오류 메시지를 포함한 예외를 발생시켜 롤백 처리
|
||||||
|
if (!(Boolean) validationResult.get("success")) {
|
||||||
|
String errorMessage = (String) validationResult.get("errorMessage");
|
||||||
|
logger.warn("SPT validation failed for PROJECT_CODE [{}]: {}", PROJECT_CODE, errorMessage);
|
||||||
|
|
||||||
|
// SQLException을 발생시켜 ConfirmProject의 catch 블록에서 롤백이 일어나도록 함
|
||||||
|
throw new SQLException("등록에 실패하였습니다.\\n\\n기본현장시험 정보 중 표준관입시험의 심도(m) 값이 중복되었습니다. 심도(m)는 중복 될 수 없습니다. 중복 제거 후 재시도바랍니다:\\n\\n" + errorMessage);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// 현장투수시험 심도 중복체크
|
||||||
|
Map<String, Object> validationResultTempFieldperSub = validationCheckTempFieldperSub(request, PROJECT_CODE);
|
||||||
|
|
||||||
|
// 유효성 검증에 실패하면(중복 발견), 오류 메시지를 포함한 예외를 발생시켜 롤백 처리
|
||||||
|
if (!(Boolean) validationResultTempFieldperSub.get("success")) {
|
||||||
|
String errorMessage = (String) validationResultTempFieldperSub.get("errorMessage");
|
||||||
|
logger.warn("SPT validation failed for PROJECT_CODE [{}]: {}", PROJECT_CODE, errorMessage);
|
||||||
|
|
||||||
|
// SQLException을 발생시켜 ConfirmProject의 catch 블록에서 롤백이 일어나도록 함
|
||||||
|
throw new SQLException("등록에 실패하였습니다.\\n\\n기본현장시험 정보 중 현장투수시험의 시간간격(sec) 값이 중복되었습니다. 시간간격(sec)은 중복 될 수 없습니다. 중복 제거 후 재시도바랍니다:\\n\\n" + errorMessage);
|
||||||
|
}
|
||||||
|
|
||||||
|
System.out.println(
|
||||||
|
"\n--------------------------------------------------------------\n" +
|
||||||
|
request.getRequestURI() + " " + " SPT validation check is done." +
|
||||||
|
"\n--------------------------------------------------------------\n" +
|
||||||
|
"PROJECT_CODE:[" + PROJECT_CODE + "]\n" +
|
||||||
|
"\n--------------------------------------------------------------\n"
|
||||||
|
);
|
||||||
|
|
||||||
sql = " \n INSERT INTO TBL_SPT(HOLE_CODE, DEPTH_SPT, SPT_N, SPT_DEPTH ) ";
|
sql = " \n INSERT INTO TBL_SPT(HOLE_CODE, DEPTH_SPT, SPT_N, SPT_DEPTH ) ";
|
||||||
sql += " \n SELECT HOLE_CODE, DEPTH_SPT, SPT_N, SPT_DEPTH FROM TEMP_SPT WHERE PROJECT_CODE = [PROJECT_CODE] ";
|
sql += " \n SELECT HOLE_CODE, DEPTH_SPT, SPT_N, SPT_DEPTH FROM TEMP_SPT WHERE PROJECT_CODE = [PROJECT_CODE] ";
|
||||||
|
|
@ -1616,6 +1818,7 @@ public class WebConfirm
|
||||||
}
|
}
|
||||||
catch (SQLException sqle) {
|
catch (SQLException sqle) {
|
||||||
System.out.println("e.getMessage() : " + sqle.getMessage());
|
System.out.println("e.getMessage() : " + sqle.getMessage());
|
||||||
|
throw sqle;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
|
|
@ -1632,7 +1835,9 @@ public class WebConfirm
|
||||||
}
|
}
|
||||||
catch (SQLException sqe) {
|
catch (SQLException sqe) {
|
||||||
System.out.println("e.getMessage() : " + sqe.getMessage());
|
System.out.println("e.getMessage() : " + sqe.getMessage());
|
||||||
|
throw sqe;
|
||||||
}
|
}
|
||||||
|
throw e;
|
||||||
}
|
}
|
||||||
catch (Exception e) {
|
catch (Exception e) {
|
||||||
|
|
||||||
|
|
@ -1643,6 +1848,7 @@ public class WebConfirm
|
||||||
}
|
}
|
||||||
catch (SQLException sqle) {
|
catch (SQLException sqle) {
|
||||||
System.out.println("e.getMessage() : " + sqle.getMessage());
|
System.out.println("e.getMessage() : " + sqle.getMessage());
|
||||||
|
throw sqle;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
|
|
@ -1659,7 +1865,9 @@ public class WebConfirm
|
||||||
}
|
}
|
||||||
catch (SQLException sqe) {
|
catch (SQLException sqe) {
|
||||||
System.out.println("e.getMessage() : " + sqe.getMessage());
|
System.out.println("e.getMessage() : " + sqe.getMessage());
|
||||||
|
throw sqe;
|
||||||
}
|
}
|
||||||
|
throw e;
|
||||||
}
|
}
|
||||||
finally {
|
finally {
|
||||||
try {
|
try {
|
||||||
|
|
|
||||||
|
|
@ -220,25 +220,12 @@ public class HoleCoordinateController {
|
||||||
String COORD_SYS = sUtil.checkNull(String.valueOf(params.get("COORD_SYS_" + i)));
|
String COORD_SYS = sUtil.checkNull(String.valueOf(params.get("COORD_SYS_" + i)));
|
||||||
String HOLE_OR_X = sUtil.checkNull(String.valueOf(params.get("HOLE_OR_X_" + i)));
|
String HOLE_OR_X = sUtil.checkNull(String.valueOf(params.get("HOLE_OR_X_" + i)));
|
||||||
String HOLE_OR_Y = sUtil.checkNull(String.valueOf(params.get("HOLE_OR_Y_" + i)));
|
String HOLE_OR_Y = sUtil.checkNull(String.valueOf(params.get("HOLE_OR_Y_" + i)));
|
||||||
// String HOLE_LOCATION_X = sUtil.checkNull(String.valueOf(params.get("HOLE_LOCATION_X_" + i)));
|
|
||||||
// String HOLE_LOCATION_Y = sUtil.checkNull(String.valueOf(params.get("HOLE_LOCATION_Y_" + i)));
|
|
||||||
// 경위도 -> GRS80 중부원점 20-60 좌표로 변환
|
|
||||||
// Map map = wUtil.setCoordinateChgXY(Double.parseDouble(HOLE_LOCATION_X), Double.parseDouble(HOLE_LOCATION_Y), "4326", "5186");
|
|
||||||
|
|
||||||
spParams.put("holeCode", HOLE_CODE);
|
spParams.put("holeCode", HOLE_CODE);
|
||||||
spParams.put("isOrgInclude", 0);
|
spParams.put("isOrgInclude", 1);
|
||||||
spParams.put("coordSys", Integer.parseInt(COORD_SYS));
|
spParams.put("coordSys", Integer.parseInt(COORD_SYS));
|
||||||
spParams.put("orgX", Double.parseDouble(HOLE_OR_X));
|
spParams.put("orgX", Double.parseDouble(HOLE_OR_X));
|
||||||
spParams.put("orgY", Double.parseDouble(HOLE_OR_Y));
|
spParams.put("orgY", Double.parseDouble(HOLE_OR_Y));
|
||||||
// params.put("HOLE_CODE", HOLE_CODE);
|
|
||||||
// params.put("HOLE_OR_X", HOLE_OR_X);
|
|
||||||
// params.put("HOLE_OR_Y", HOLE_OR_Y);
|
|
||||||
// params.put("HOLE_LOCATION_X", HOLE_LOCATION_X);
|
|
||||||
// params.put("HOLE_LOCATION_Y", HOLE_LOCATION_Y);
|
|
||||||
// params.put("tmX", map.get("X").toString());
|
|
||||||
// params.put("tmY", map.get("Y").toString());
|
|
||||||
// masterService.upCoord1(params);
|
|
||||||
// masterService.upCoord2(params);
|
|
||||||
masterService.changeCoordHole(request, response, spParams);
|
masterService.changeCoordHole(request, response, spParams);
|
||||||
}
|
}
|
||||||
model.setViewName("redirect:/holeCoord.do");
|
model.setViewName("redirect:/holeCoord.do");
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ import java.io.InputStream;
|
||||||
import java.io.OutputStream;
|
import java.io.OutputStream;
|
||||||
import java.net.MalformedURLException;
|
import java.net.MalformedURLException;
|
||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
|
import java.sql.SQLException;
|
||||||
import java.text.ParseException;
|
import java.text.ParseException;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
@ -715,10 +716,7 @@ public class RegiController {
|
||||||
WebConfirm confirm = new WebConfirm();
|
WebConfirm confirm = new WebConfirm();
|
||||||
boolean confirmYN = false;
|
boolean confirmYN = false;
|
||||||
|
|
||||||
// 시추, 물리 TEMP -> TBL로 변경
|
|
||||||
confirmYN = confirm.ConfirmProject(request, PROJECT_CODE);
|
confirmYN = confirm.ConfirmProject(request, PROJECT_CODE);
|
||||||
// ------------------------------------------------------- TBL이동
|
|
||||||
// End
|
|
||||||
|
|
||||||
System.out.println(
|
System.out.println(
|
||||||
"\n--------------------------------------------------------------\n" +
|
"\n--------------------------------------------------------------\n" +
|
||||||
|
|
@ -810,6 +808,7 @@ public class RegiController {
|
||||||
LOGGER.debug("error" + e);
|
LOGGER.debug("error" + e);
|
||||||
model.addAttribute("proce", e);
|
model.addAttribute("proce", e);
|
||||||
affectRow = 0;
|
affectRow = 0;
|
||||||
|
model.addAttribute("errorMessage", e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
model.addAttribute("projectCode", PROJECT_CODE);
|
model.addAttribute("projectCode", PROJECT_CODE);
|
||||||
|
|
|
||||||
|
|
@ -1,21 +1,26 @@
|
||||||
<%@ page language="java" contentType = "text/html; charset=utf-8"%>
|
<%@ page language="java" contentType = "text/html; charset=utf-8"%>
|
||||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||||
|
<%@ page isELIgnored="false" %>
|
||||||
<%
|
<%
|
||||||
|
|
||||||
%>
|
%>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript"></script>
|
||||||
|
|
||||||
|
|
||||||
</script>
|
|
||||||
<c:choose>
|
<c:choose>
|
||||||
<c:when test="${affectRow > '0'}">
|
<c:when test="${affectRow > 0}">
|
||||||
<script type="text/javascript">alert("저장되었습니다.");</script>
|
<script type="text/javascript">alert("저장되었습니다.");</script>
|
||||||
</c:when>
|
</c:when>
|
||||||
<c:otherwise>
|
<c:otherwise>
|
||||||
<script type="text/javascript">alert("오류입니다");</script>
|
<c:choose>
|
||||||
</c:otherwise>
|
<c:when test="${not empty errorMessage}">
|
||||||
</c:choose>
|
<script type="text/javascript">alert('<c:out value="${errorMessage}"/>');</script>
|
||||||
|
</c:when>
|
||||||
|
<c:otherwise>
|
||||||
|
<script type="text/javascript">alert("오류입니다");</script>
|
||||||
|
</c:otherwise>
|
||||||
|
</c:choose>
|
||||||
|
</c:otherwise>
|
||||||
|
</c:choose>
|
||||||
|
|
||||||
|
|
||||||
<c:choose>
|
<c:choose>
|
||||||
|
|
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 743 B After Width: | Height: | Size: 967 B |
|
|
@ -317,6 +317,8 @@ var VWORLD_URL = "https://xdworld.vworld.kr/2d/Base/service/${z}/${x}/${y}.png
|
||||||
// TBL_HEADER_HOLE 설정
|
// TBL_HEADER_HOLE 설정
|
||||||
// ------------------------------
|
// ------------------------------
|
||||||
var T_HOLE = "TBL_HEADER_HOLE";
|
var T_HOLE = "TBL_HEADER_HOLE";
|
||||||
|
var T_WEB_STEEP_SLOPE = "WEB_STEEP_SLOPE"; // 급경사지
|
||||||
|
|
||||||
var T_HOLE_M = "TBL_HEADER_HOLE_M";
|
var T_HOLE_M = "TBL_HEADER_HOLE_M";
|
||||||
var F_PROJECT_CODE = "PROJECT_CODE";
|
var F_PROJECT_CODE = "PROJECT_CODE";
|
||||||
var F_HOLE_CODE = "HOLE_CODE";
|
var F_HOLE_CODE = "HOLE_CODE";
|
||||||
|
|
@ -643,6 +645,31 @@ function initApp(param){
|
||||||
removeBackBufferDelay : 0
|
removeBackBufferDelay : 0
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
// 급경사지 레이어
|
||||||
|
STEEP_SLOPE_LAYER = new OpenLayers.Layer.WMS(
|
||||||
|
"WEB_STEEP_SLOPE",
|
||||||
|
O2MAP_URL,
|
||||||
|
{
|
||||||
|
isBaseLayer: false,
|
||||||
|
visibility: false,
|
||||||
|
layers : T_WEB_STEEP_SLOPE,
|
||||||
|
transparent : true,
|
||||||
|
format : "image/png",
|
||||||
|
crs : "EPSG:3857",
|
||||||
|
}, {
|
||||||
|
singleTile : false,
|
||||||
|
isBaseLayer : false,
|
||||||
|
visibility: getQueryString("masterCompanyCode") === null ? true : true,
|
||||||
|
transitionEffect: "resize",
|
||||||
|
buffer : 0,
|
||||||
|
removeBackBufferDelay : 0
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
STEEP_SLOPE_LAYER.setVisibility(false);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
if( getQueryString("masterCompanyCode") && true ) {
|
if( getQueryString("masterCompanyCode") && true ) {
|
||||||
HOLE_DRILLING = new OpenLayers.Layer.WMS(
|
HOLE_DRILLING = new OpenLayers.Layer.WMS(
|
||||||
|
|
@ -798,7 +825,10 @@ function initApp(param){
|
||||||
BASE_MAP.addLayer(HOLE_LAYER);
|
BASE_MAP.addLayer(HOLE_LAYER);
|
||||||
}*/
|
}*/
|
||||||
|
|
||||||
BASE_MAP.addLayer(HOLE_LAYER);
|
BASE_MAP.addLayer(HOLE_LAYER);
|
||||||
|
|
||||||
|
STEEP_SLOPE_LAYER.mergeNewParams({version : '1.3.0'});
|
||||||
|
BASE_MAP.addLayer(STEEP_SLOPE_LAYER);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -957,6 +987,9 @@ function initApp(param){
|
||||||
|
|
||||||
// 광산 레이어를 그 위(index 6)에 둡니다.
|
// 광산 레이어를 그 위(index 6)에 둡니다.
|
||||||
BASE_MAP.setLayerIndex(MINE_LAYER, 6);
|
BASE_MAP.setLayerIndex(MINE_LAYER, 6);
|
||||||
|
|
||||||
|
// 급경사지 레이어를 그 위(index 7)에 둡니다.
|
||||||
|
BASE_MAP.setLayerIndex(STEEP_SLOPE_LAYER, 7);
|
||||||
}
|
}
|
||||||
// ▲▲▲ 레이어 순서(Z-index) 조정 코드 ▲▲▲
|
// ▲▲▲ 레이어 순서(Z-index) 조정 코드 ▲▲▲
|
||||||
|
|
||||||
|
|
@ -1108,7 +1141,7 @@ function initApp(param){
|
||||||
crs: "EPSG:3857",
|
crs: "EPSG:3857",
|
||||||
infoFormat: "application/json",
|
infoFormat: "application/json",
|
||||||
//layers: [HOLE_LAYER,HOLE_LAYER_M],
|
//layers: [HOLE_LAYER,HOLE_LAYER_M],
|
||||||
layers: getQueryString("masterCompanyCode") === null ? [HOLE_LAYER] : [HOLE_LAYER],
|
layers: [HOLE_LAYER],
|
||||||
queryVisible: true,
|
queryVisible: true,
|
||||||
maxFeatures: 1
|
maxFeatures: 1
|
||||||
});
|
});
|
||||||
|
|
@ -5341,6 +5374,38 @@ function geologyWell() {
|
||||||
|
|
||||||
//급경사지 버튼 눌렀을 때 호출됨.
|
//급경사지 버튼 눌렀을 때 호출됨.
|
||||||
function geologySteepSlope() {
|
function geologySteepSlope() {
|
||||||
initControl(); // 다른 컨트롤 상태 초기화
|
initControl(); // 다른 컨트롤 상태 초기화
|
||||||
alert('급경사지 보기 기능이 곧 오픈됩니다.');
|
|
||||||
|
// STEEP_SLOPE_LAYER 가 정상적으로 생성되었는지 확인
|
||||||
|
if (!STEEP_SLOPE_LAYER) {
|
||||||
|
console.error("급경사지 레이어가 초기화되지 않았습니다.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 현재 레이어의 표시 상태를 가져옵니다.
|
||||||
|
var isVisible = STEEP_SLOPE_LAYER.getVisibility();
|
||||||
|
|
||||||
|
if (isVisible ) {
|
||||||
|
// 레이어가 현재 보이고 있다면, 숨깁니다.
|
||||||
|
STEEP_SLOPE_LAYER.setVisibility(false);
|
||||||
|
CTL_INFO.setText("급경사지 Off");
|
||||||
|
CTL_INFO.deactivate(); // 정보창도 비활성화
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
|
// 레이어를 보이게 설정하고 강제로 다시 그립니다.
|
||||||
|
STEEP_SLOPE_LAYER.setVisibility(true);
|
||||||
|
STEEP_SLOPE_LAYER.redraw(true);
|
||||||
|
|
||||||
|
// CTL_INFO의 infoDiv가 내부 요소를 absolute 포지셔닝할 수 있도록 'relative'로 설정
|
||||||
|
$(CTL_INFO.infoDiv).css("position", "relative");
|
||||||
|
|
||||||
|
// CTL_INFO 텍스트 설정 시 버튼 HTML을 함께 삽입
|
||||||
|
CTL_INFO.setText("급경사지 On");
|
||||||
|
CTL_INFO.activate();
|
||||||
|
$("#CTL_INFO").css("bottom", "65px");
|
||||||
|
$("#CTL_INFO").css("left", "20px");
|
||||||
|
alert('급경사지 정보는 빨간색 선으로 보여집니다.');
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
Loading…
Reference in New Issue