Compare commits

..

No commits in common. "27ae70e01358d05b62ab6025d3d3791dbd0b3145" and "bcbe7bcbd898d945587e841240951f248e010c10" have entirely different histories.

7 changed files with 17 additions and 196 deletions

View File

@ -16,11 +16,8 @@ import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;
import com.fasterxml.jackson.databind.ObjectMapper;
import comm.util.strUtil;
import egovframework.com.json.JSONObject;
import geoinfo.regi.common.service.CommonService;
import geoinfo.regi.holeCoordinate.service.HoleCoordinateService;
import geoinfo.regi.manageList.service.ManageListService;
import geoinfo.regi.status.service.RegiPageService;
@ -31,9 +28,6 @@ import ictway.comm.web.WebUtil;
@Controller
public class HoleCoordinateController {
@Resource(name = "commonService")
private CommonService commService;
@Resource(name = "holeCoordinateService")
private HoleCoordinateService masterService;
@ -152,7 +146,7 @@ public class HoleCoordinateController {
strUtil sUtil = new strUtil();
WebUtil wUtil = new WebUtil();
wUtil.topTabId = "manageCoordinate"; // 검수일때 tab 활성화 시켜주기 위해
ObjectMapper mapper = new ObjectMapper();
// request
String PROJECT_CODE = sUtil.checkNull(parseData.parseData(String.valueOf(params.get("PROJECT_CODE"))));
@ -160,8 +154,6 @@ public class HoleCoordinateController {
ArrayList arrayColumn = new ArrayList();
ArrayList arrayCommon = new ArrayList();
HashMap mapCommon = new HashMap();
HashMap mapCoor = new HashMap(); // 좌표계 selectBox
ArrayList arrayCoor = new ArrayList();
int count = 0;
@ -171,24 +163,10 @@ public class HoleCoordinateController {
params.put("PROJECT_CODE", PROJECT_CODE);
String pName = masterService.getCoordName(params);
ArrayList<?> result = masterService.getCoordList(params);
//**************************************좌표정보**************************************//
arrayCoor = commService.getCoordinateQuery();
// Array 로 받기
//SelectBox형태로 map으로 받기
mapCoor = wUtil.getCommCodeSel("COORDINATE_1,COORDINATE_3", arrayCoor,"");
String param = "onclick=\"fn_onSelChangeCoor(document.frmHeader.HOLE_COORDINATE_E, document.frmHeader.HOLE_COORDINATE, 'COORDINATE_1_COORDINATE_2', 'COORDINATE_3'); fn_CoorInputType();\" validNm=\"타원체\"";
wUtil.getCommCodeRad("COORDINATE_2",arrayCoor,mapCoor,param);
model.put("arrayCoor", arrayCoor); //타원체
model.put("mapCoor", mapCoor); // 좌표계
model.addAttribute("projectCode", PROJECT_CODE);
model.addAttribute("pName", pName);
model.addAttribute("result", result);
model.addAttribute("jsonResult", mapper.writeValueAsString(result));
return "/web/manage/hole_coord_modify";
};
@ -210,32 +188,24 @@ public class HoleCoordinateController {
// 좌표 수정 : MODIFY -- TEMP_HEADER, TBL_HEADER 수정.
//웹 취약점 때문에 수정
if (rowCnt > 0) {
HashMap<String, Object> spParams = new HashMap<>();
for (int i = 1; i < rowCnt + 1; i++) {
String HOLE_CODE = sUtil.checkNull(String.valueOf(params.get("HOLE_CODE_" + 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_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)));
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");
Map map = wUtil.setCoordinateChgXY(Double.parseDouble(HOLE_LOCATION_X), Double.parseDouble(HOLE_LOCATION_Y), "4326", "5186");
spParams.put("holeCode", HOLE_CODE);
spParams.put("isOrgInclude", 0);
spParams.put("coordSys", Integer.parseInt(COORD_SYS));
spParams.put("orgX", Double.parseDouble(HOLE_OR_X));
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);
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);
}
}

View File

@ -1,6 +1,5 @@
package geoinfo.regi.holeCoordinate.service;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@ -20,6 +19,5 @@ public interface HoleCoordinateMapper {
public void upCoord2(HashMap<String,Object> params) throws Exception;
public void upData1(HashMap<String,Object> params) throws Exception;
public void upData2(HashMap<String,Object> params) throws Exception;
public void callSpChangeCoordHole(HashMap<String, Object> params) throws SQLException;
}

View File

@ -4,9 +4,6 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import egovframework.rte.psl.dataaccess.util.EgovMap;
@ -21,5 +18,4 @@ public interface HoleCoordinateService {
public void upCoord2(HashMap<String,Object> params) throws Exception;
public void upData1(HashMap<String,Object> params) throws Exception;
public void upData2(HashMap<String,Object> params) throws Exception;
public HashMap<String, Object> changeCoordHole(HttpServletRequest request, HttpServletResponse response, HashMap<String, Object> params) throws Exception;
}

View File

@ -1,13 +1,10 @@
package geoinfo.regi.holeCoordinate.service.impl;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Service;
@ -59,20 +56,4 @@ public class HoleCoordinateServiceImpl implements HoleCoordinateService {
public void upData2(HashMap<String, Object> params) throws Exception {
holeCoordinateMapper.upData2(params);
}
@Override
public HashMap<String, Object> changeCoordHole(HttpServletRequest request, HttpServletResponse response, HashMap<String, Object> params) throws Exception {
if(request.getSession().getAttribute("USERNAME") == null){
throw new Exception( "로그인이 필요한 서비스 입니다." );
}
try {
holeCoordinateMapper.callSpChangeCoordHole(params);
return params;
} catch (SQLException e) {
throw new Exception( e.getMessage() );
}
}
}

View File

@ -187,7 +187,6 @@
, HOLE_OR_Y
, HOLE_LOCATION_X
, HOLE_LOCATION_Y
, HOLE_COORDINATE
FROM TEMP_HEADER
WHERE NVL(USE_YN,' ') <> 'N' AND PROJECT_CODE = #{PROJECT_CODE}
ORDER BY HOLE_CODE
@ -245,28 +244,6 @@
<select id="callSpChangeCoordHole" statementType="CALLABLE" parameterType="map">
<!--
함수 사용법 : EXEC SP_CHANGE_COORD_HOLE(시추공코드,옵션1,좌표계번호,x좌표,y좌표);
- 이 함수는 이미 등록되어 있습니다.
- 옵션1 : 1=원본값도 변경, 0=원본값은 유지(가급적 0번 옵션 사용하고, 확실하게 잘못된 경우만 1번 사용)
- 좌표계번호 : 주로 5186 사용(GIS 출력 좌표계)
예) EXEC SP_CHANGE_COORD_HOLE('F4444BH001',0,5184,213517.6,519082.97);
p_hole_code IN VARCHAR2,
p_is_org_include IN INT, 1:원본값도 변경(좌표계 포함), 0(또는 1외):원본값은 변경하지 않음
p_coord_sys IN INT,
p_org_x IN NUMBER,
p_org_y IN NUMBER
-->
CALL SP_CHANGE_COORD_HOLE(
#{holeCode, jdbcType=VARCHAR, mode=IN},
#{isOrgInclude, jdbcType=VARCHAR, mode=IN},
#{coordSys, jdbcType=VARCHAR, mode=IN},
#{orgX, jdbcType=VARCHAR, mode=IN},
#{orgY, jdbcType=VARCHAR, mode=IN}
)
</select>

View File

@ -6,47 +6,10 @@
<!--function 정의 -->
<script type="text/javascript">
window.onload = function() {
fn_onload()
}
//load
function fn_onload(){
// 좌표계등록
Proj4js.defs["EPSG:4004"] = "+proj=longlat +ellps=bessel +no_defs +type=crs";
Proj4js.defs["EPSG:5173"] = "+proj=tmerc +lat_0=38 +lon_0=125.002890277778 +k=1 +x_0=200000 +y_0=500000 +ellps=bessel +towgs84=-145.907,505.034,685.756,-1.162,2.347,1.592,6.342 +units=m +no_defs +type=crs";
Proj4js.defs["EPSG:5174"] = "+proj=tmerc +lat_0=38 +lon_0=127.002890277778 +k=1 +x_0=200000 +y_0=500000 +ellps=bessel +towgs84=-145.907,505.034,685.756,-1.162,2.347,1.592,6.342 +units=m +no_defs +type=crs";
Proj4js.defs["EPSG:5176"] = "+proj=tmerc +lat_0=38 +lon_0=129.002890277778 +k=1 +x_0=200000 +y_0=500000 +ellps=bessel +towgs84=-145.907,505.034,685.756,-1.162,2.347,1.592,6.342 +units=m +no_defs +type=crs";
Proj4js.defs["EPSG:5177"] = "+proj=tmerc +lat_0=38 +lon_0=131.002890277778 +k=1 +x_0=200000 +y_0=500000 +ellps=bessel +towgs84=-145.907,505.034,685.756,-1.162,2.347,1.592,6.342 +units=m +no_defs +type=crs";
Proj4js.defs["EPSG:4326"] = "+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs";
Proj4js.defs["EPSG:32651"] = "+proj=utm +zone=51 +datum=WGS84 +units=m +no_defs +type=crs";
Proj4js.defs["EPSG:32652"] = "+proj=utm +zone=52 +datum=WGS84 +units=m +no_defs +type=crs";
Proj4js.defs["EPSG:4019"] = "+proj=longlat +ellps=GRS80 +no_defs +type=crs";
Proj4js.defs["EPSG:5180"] = "+proj=tmerc +lat_0=38 +lon_0=125 +k=1 +x_0=200000 +y_0=500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs +type=crs";
Proj4js.defs["EPSG:5181"] = "+proj=tmerc +lat_0=38 +lon_0=127 +k=1 +x_0=200000 +y_0=500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs +type=crs";
Proj4js.defs["EPSG:5183"] = "+proj=tmerc +lat_0=38 +lon_0=129 +k=1 +x_0=200000 +y_0=500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs +type=crs";
Proj4js.defs["EPSG:5184"] = "+proj=tmerc +lat_0=38 +lon_0=131 +k=1 +x_0=200000 +y_0=500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs +type=crs";
Proj4js.defs["EPSG:5179"] = "+proj=tmerc +lat_0=38 +lon_0=127.5 +k=0.9996 +x_0=1000000 +y_0=2000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs +type=crs";
Proj4js.defs["EPSG:5185"] = "+proj=tmerc +lat_0=38 +lon_0=125 +k=1 +x_0=200000 +y_0=600000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs +type=crs";
Proj4js.defs["EPSG:5186"] = "+proj=tmerc +lat_0=38 +lon_0=127 +k=1 +x_0=200000 +y_0=600000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs +type=crs";
Proj4js.defs["EPSG:5187"] = "+proj=tmerc +lat_0=38 +lon_0=129 +k=1 +x_0=200000 +y_0=600000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs +type=crs";
Proj4js.defs["EPSG:5188"] = "+proj=tmerc +lat_0=38 +lon_0=131 +k=1 +x_0=200000 +y_0=600000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs +type=crs";
Proj4js.defs["EPSG:5190"] = "+proj=pipeline +step +proj=axisswap +order=2,1 +step +proj=unitconvert +xy_in=deg +xy_out=rad +step +inv +proj=longlat +ellps=bessel +pm=0.00289027777777778 +step +proj=push +v_3 +step +proj=cart +ellps=bessel +step +proj=molobadekas +x=-145.907 +y=505.034 +z=685.756 +rx=-1.162 +ry=2.347 +rz=1.592 +s=6.342 +px=-3159521.31 +py=4068151.32 +pz=3748113.85 +convention=coordinate_frame +step +inv +proj=cart +ellps=GRS80 +step +proj=pop +v_3 +step +proj=unitconvert +xy_in=rad +xy_out=deg +step +proj=axisswap +order=2,1";
Proj4js.defs["EPSG:5191"] = "+proj=pipeline +step +proj=axisswap +order=2,1 +step +proj=unitconvert +xy_in=deg +xy_out=rad +step +proj=push +v_3 +step +proj=cart +ellps=bessel +step +proj=molobadekas +x=-145.907 +y=505.034 +z=685.756 +rx=-1.162 +ry=2.347 +rz=1.592 +s=6.342 +px=-3159521.31 +py=4068151.32 +pz=3748113.85 +convention=coordinate_frame +step +inv +proj=cart +ellps=WGS84 +step +proj=pop +v_3 +step +proj=unitconvert +xy_in=rad +xy_out=deg +step +proj=axisswap +order=2,1";
Proj4js.defs["EPSG:5192"] = "+proj=pipeline +step +proj=axisswap +order=2,1 +step +proj=unitconvert +xy_in=deg +xy_out=rad +step +inv +proj=longlat +ellps=bessel +pm=0.00289027777777778 +step +proj=push +v_3 +step +proj=cart +ellps=bessel +step +proj=molobadekas +x=-145.907 +y=505.034 +z=685.756 +rx=-1.162 +ry=2.347 +rz=1.592 +s=6.342 +px=-3159521.31 +py=4068151.32 +pz=3748113.85 +convention=coordinate_frame +step +inv +proj=cart +ellps=WGS84 +step +proj=pop +v_3 +step +proj=unitconvert +xy_in=rad +xy_out=deg +step +proj=axisswap +order=2,1";
// 시추공 별 좌표계 번호 초기선택
var result = '${jsonResult}';
// .replace(/(\w+)=/g, '"$1":') // key= → "key":
// .replace(/, /g, ',') // 쉼표 공백 제거
// .replace(/([{,])(\w+)(?=[,}])/g, '$1"$2"'); // 값이 숫자가 아닌 경우 따옴표 추가;
var arr = eval(result);
arr.forEach(function(item, index){
var $row = $('form table > tbody > tr').eq(index); // 테이블 행 선택
$row.find('select[name*=COORD_SYS_]').val(item.holeCoordinate); // select 초기값 설정
$($row.find('select[name*=COORD_SYS_] > option[value="' + item.holeCoordinate + '"]')).attr("selected", "selected"); // select 초기값 설정
});
}
//삭제, 등록
@ -85,59 +48,6 @@ function fn_help_tour(){
}
/* 도움말 끝 */
function openMapPopParam(nBtn) {
console.log($(nBtn).parents("tr").index())
var HOLE_COORDINATE = $(nBtn).parents("tr").find('select[name*=COORD_SYS_] > option:selected').val();
var HOLE_LOCATION_X = $(nBtn).parents("tr").find('input[id*=HOLE_LOCATION_X_]').val();
var HOLE_LOCATION_Y = $(nBtn).parents("tr").find('input[id*=HOLE_LOCATION_Y_]').val();
var HOLE_OR_X = $(nBtn).parents("tr").find('input[id*=HOLE_OR_X_]').val();
var HOLE_OR_Y = $(nBtn).parents("tr").find('input[id*=HOLE_OR_Y_]').val();
// $('#HOLE_LOCATION_X').val(HOLE_LOCATION_X)
// $('#HOLE_LOCATION_Y').val(HOLE_LOCATION_Y)
var src = new Proj4js.Proj("EPSG:" + HOLE_COORDINATE); // 입력 좌표계
var dst = new Proj4js.Proj("EPSG:4326"); // 출력 좌표계 (WGS84)
var point = new Proj4js.Point(HOLE_OR_X, HOLE_OR_Y);
// 좌표 변환 수행
Proj4js.transform(src, dst, point);
$('#HOLE_COORDINATE').val(HOLE_COORDINATE)
$("#HOLE_LOCATION_X").val(point.x)
$("#HOLE_LOCATION_Y").val(point.y)
console.log("X: " + point.x + ", Y : " + point.y)
fn_MapPopup();
}
//지도 팝업
function fn_MapPopup(){
var x = $("#HOLE_LOCATION_X").val();
var y = $("#HOLE_LOCATION_Y").val();
//선택된 좌표기준
var coordinate_code = $("#HOLE_COORDINATE").val();
var coordi_code = "GRS80";
if(fn_isNull(coordinate_code) == ""){
alert("좌표기준을 선택하시기 바랍니다.");
$("#HOLE_COORDINATE").focus();
return false;
}else if(coordi_code == "Bessel"){
alert("지도선택 입력 시에는 좌표기준을 GRS80을 선택하시기 바랍니다.");
$("#HOLE_COORDINATE").focus();
return false;
}
window.open("/web/map/mapPop.do?x="+x+"&y="+y,"Calendar","width=800px, height=640px");
// 지도확인여부 체크
// fn_checkMapConfirm();
}
//지도확인여부 체그
function fn_checkMapConfirm() {
$('#MAP_CFRM_YN').val("Y");
}
</script>
<!-- header start-->
@ -177,9 +87,6 @@ function fn_checkMapConfirm() {
<!-- search start -->
<div class="contents">
<div class="table-scrollable content-info-table" data-target="project-info">
<input type="hidden" id="HOLE_COORDINATE" name="HOLE_COORDINATE" />
<input type="hidden" id="HOLE_LOCATION_X" name="HOLE_LOCATION_X" />
<input type="hidden" id="HOLE_LOCATION_Y" name="HOLE_LOCATION_Y" />
<table class="table table-bordered">
<colgroup>
<col style="width:160px;">
@ -227,20 +134,15 @@ function fn_checkMapConfirm() {
<tbody>
<c:forEach items="${result}" var="result" varStatus="status">
<tr>
<input type="hidden" id="HOLE_CODE_${status.count}" name="HOLE_CODE_${status.count}" value="${result.holeCode}" />
<input type="hidden" id="HOLE_LOCATION_X_${status.count}" name="HOLE_LOCATION_X_${status.count}" value="${result.holeLocationX}" />
<input type="hidden" id="HOLE_LOCATION_Y_${status.count}" name="HOLE_LOCATION_Y_${status.count}" value="${result.holeLocationY}" />
<td class="td-head">
${result.holeCode}
<input type="hidden" id="HOLE_CODE_${status.count}" name="HOLE_CODE_${status.count}" value="${result.holeCode}" />
</td>
<td class="td-head">
${result.holeName}
</td>
<td class="td-head">
<select name="COORD_SYS_${status.count}" id="COORD_SYS_${status.count}" style="width:200px;" class="selectbox" valid="notnull" validNm="타원체">
${mapCoor.COORDINATE_3}
</select>
<%-- <select name="COORD_SYS_${status.count}" >
<select name="language" >
<option value="32651">32651</option>
<option value="32652">32652</option>
<option value="4004">4004</option>
@ -262,7 +164,7 @@ function fn_checkMapConfirm() {
<option value="5190">5190</option>
<option value="5191">5191</option>
<option value="5192">5192</option>
</select> --%>
</select>
</td>
<td>
<input type="text" id="HOLE_OR_X_${status.count}" name="HOLE_OR_X_${status.count}" value="${result.holeOrX}" />
@ -271,7 +173,7 @@ function fn_checkMapConfirm() {
<input type="text" id="HOLE_OR_Y_${status.count}" name="HOLE_OR_Y_${status.count}" value="${result.holeOrY}" />
</td>
<td style="text-align: center;">
<button class="btn btn-primary" type="button" onclick="openMapPopParam(this)">지도</button>
<button class="btn btn-primary" type="button">지도</button>
</td>
</tr>
</c:forEach>

View File

@ -37,9 +37,6 @@
<script src="/com/plugins/iGuider/js/jquery.iGuider.js" type="text/javascript"></script>
<link href="/com/plugins/iGuider/themes/material/iGuider-theme-material.css" rel="stylesheet" type="text/css" />
<script src="/com/plugins/iGuider/themes/material/iGuider-theme-material.js" type="text/javascript"></script>
<!-- proj4js -->
<script type="text/javascript" src="/js/proj4js/proj4js-compressed.js"></script>
<!-- ==============================================================
기존 소스