Compare commits

..

No commits in common. "697d9603f64caa02e48fcec8926f3a645bb91cab" and "7a00f55822b87f44aed0f1fd1d9ea465e8543e70" have entirely different histories.

52 changed files with 518 additions and 5561 deletions

1192
df

File diff suppressed because it is too large Load Diff

View File

@ -73,13 +73,6 @@
<dependencies>
<!-- Swagger API Annotation -->
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-annotations</artifactId>
<version>1.5.22</version>
</dependency>
<!-- SMS -->
<dependency>
<groupId>org.apache.ws.xmlrpc</groupId>

View File

@ -1,118 +0,0 @@
package geoinfo.api.geoinfo;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.RequiredArgsConstructor;
import java.util.Date;
import java.util.HashMap;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import geoinfo.api.geoinfo.service.GeoinfoApiV1Service;
import geoinfo.util.MyUtil;
@Controller
@RequiredArgsConstructor
@RequestMapping("/api/geoinfo/v1")
public class GeoinfoApiV1Controller {
private final Logger logger = LoggerFactory.getLogger(GeoinfoApiV1Controller.class);
@Autowired
GeoinfoApiV1Service geoinfoApiV1Service;
/**
* GeoInfo API .
* URL .
* @param serviceName URL (: abc, def)
* @param request HttpServletRequest
* @param strJSON JSON
* @param response HttpServletResponse
* @return JSONObject
*/
@ApiOperation(value = "GeoInfo API 서비스 통합 엔드포인트", notes = "URL 경로에 지정된 서비스명에 따라 적절한 비즈니스 로직을 동적으로 처리합니다.<br />" +
"- 요청 본문(body)에 JSON 형식의 파라미터를 전달해야 합니다.<br />" +
"- 예시 URL: /api/geoinfo/v1/getProjectInfo.do, /api/geoinfo/v1/getBoreholeInfo.do<br />" +
"- 변경자명 : 김종훈<br />" +
"- 변경일자 : 2025.08.14")
@RequestMapping(value = "/{spName}.do", method = RequestMethod.GET)
@ResponseBody
public JSONObject handleApiService(
@ApiParam(value = "URL 경로에 포함된 서비스 이름", required = true, example = "getProjectInfo") @PathVariable("spName") String spName,
HttpServletRequest request,
@RequestParam HashMap<String, Object> params,
HttpServletResponse response) {
JSONObject jsonResponse = new JSONObject();
// 2. HashMap을 사용하여 JSONObject 생성
JSONObject jsonObject = new JSONObject();
for (HashMap.Entry<String, Object> entry : params.entrySet()) {
if ("".equals(entry.getValue())) {
entry.setValue(null);
jsonObject.put(entry.getKey(), entry.getValue());
}
}
// 3. toJSONString() 메서드로 JSON 문자열 출력
String jsonString = jsonObject.toJSONString();
logger.info("\n--------------------------------------------------------------\n" +
request.getRequestURI() + " IN:" +
"\n--------------------------------------------------------------\n" +
"procedure Name: " + spName + "\n" +
"Request params: \n" + jsonString + "\n" +
"\n--------------------------------------------------------------\n"
);
JSONParser jsonParser = new JSONParser();
JSONArray jsonArr = null;
try {
geoinfoApiV1Service.handleApiService(request, params, spName, jsonResponse);
} catch (Exception e) {
// TODO Auto-generated catch block
String strTxt =
"---------- BUG REPORTING START ----------" + "\n" +
"에러 문구:[" + request.getRequestURI() + " " + "]" + "\n" +
"jsonString:[\n" + jsonString + "\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);
jsonResponse.put("resultCode", -1);
jsonResponse.put("result", "false");
jsonResponse.put("message", e.getMessage());
}
logger.info("\n--------------------------------------------------------------\n" +
request.getRequestURI() + " OUT:" +
"\n--------------------------------------------------------------\n" +
"Response JSON: [" + jsonResponse.toJSONString() + "]\n" +
"\n--------------------------------------------------------------\n");
return jsonResponse;
}
}

View File

@ -1,135 +0,0 @@
package geoinfo.api.geoinfo.service;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import egovframework.rte.psl.dataaccess.mapper.Mapper;
import egovframework.rte.psl.dataaccess.util.EgovMap;
/**
* Geoinfo API v1 Mapper
* @author
* @since 2025.08.18
* @version 1.0
* @see
*
* <pre>
* << (Modification Information) >>
*
*
* ------- -------- ---------------------------
* 2025.08.18
*
* </pre>
*/
@Mapper("geoinfoApiV1Mapper")
public interface GeoinfoApiV1Mapper {
// ==================================================================================================
// 프로젝트 정보 (Project Info)
// ==================================================================================================
public ArrayList<EgovMap> spGetTblProjectInfo(HashMap<String, Object> params) throws SQLException;
public int spCntTblProjectInfo(HashMap<String, Object> params) throws SQLException;
public ArrayList<EgovMap> spGetSelectclassInfoP(HashMap<String, Object> params) throws SQLException;
public ArrayList<EgovMap> spGetSelectclassInfoPh(HashMap<String, Object> params) throws SQLException;
public ArrayList<EgovMap> spGetTblTopoGeology(HashMap<String, Object> params) throws SQLException;
public int spCntTblTopoGeology(HashMap<String, Object> params) throws SQLException;
public ArrayList<EgovMap> spGetTblResistivitySurvey(HashMap<String, Object> params) throws SQLException;
public int spCntTblResistivitySurvey(HashMap<String, Object> params) throws SQLException;
public ArrayList<EgovMap> spGetTblRefractionSurvey(HashMap<String, Object> params) throws SQLException;
public int spCntTblRefractionSurvey(HashMap<String, Object> params) throws SQLException;
// ==================================================================================================
// 시추공 정보 (Borehole Info)
// ==================================================================================================
public ArrayList<EgovMap> spGetTblHeader(HashMap<String, Object> params) throws SQLException;
public int spCntTblHeader(HashMap<String, Object> params) throws SQLException;
public ArrayList<EgovMap> spGetSelectclassInfoH(HashMap<String, Object> params) throws SQLException;
// ==================================================================================================
// 시추공 부속 정보 (Borehole Appendix)
// ==================================================================================================
// 지층/시료 정보
public ArrayList<EgovMap> spGetTblLayerInfo(HashMap<String, Object> params) throws SQLException;
public int spCntTblLayerInfo(HashMap<String, Object> params) throws SQLException;
public ArrayList<EgovMap> spGetTblSampleInfo(HashMap<String, Object> params) throws SQLException;
public int spCntTblSampleInfo(HashMap<String, Object> params) throws SQLException;
// 현장 시험
public ArrayList<EgovMap> spGetTblSpt(HashMap<String, Object> params) throws SQLException;
public int spCntTblSpt(HashMap<String, Object> params) throws SQLException;
public ArrayList<EgovMap> spGetTblSlickensideInfo(HashMap<String, Object> params) throws SQLException;
public int spCntTblSlickensideInfo(HashMap<String, Object> params) throws SQLException;
public ArrayList<EgovMap> spGetTblRqd(HashMap<String, Object> params) throws SQLException;
public int spCntTblRqd(HashMap<String, Object> params) throws SQLException;
public ArrayList<EgovMap> spGetTblDsf(HashMap<String, Object> params) throws SQLException;
public int spCntTblDsf(HashMap<String, Object> params) throws SQLException;
public ArrayList<EgovMap> spGetTblRmr(HashMap<String, Object> params) throws SQLException;
public int spCntTblRmr(HashMap<String, Object> params) throws SQLException;
public ArrayList<EgovMap> spGetTblQ(HashMap<String, Object> params) throws SQLException;
public int spCntTblQ(HashMap<String, Object> params) throws SQLException;
public ArrayList<EgovMap> spGetTblFieldWaterpressure(HashMap<String, Object> params) throws SQLException;
public int spCntTblFieldWaterpressure(HashMap<String, Object> params) throws SQLException;
public ArrayList<EgovMap> spGetTblWpTest(HashMap<String, Object> params) throws SQLException;
public int spCntTblWpTest(HashMap<String, Object> params) throws SQLException;
public ArrayList<EgovMap> spGetTblFieldPermeability(HashMap<String, Object> params) throws SQLException;
public int spCntTblFieldPermeability(HashMap<String, Object> params) throws SQLException;
public ArrayList<EgovMap> spGetTblFieldperSub(HashMap<String, Object> params) throws SQLException;
public int spCntTblFieldperSub(HashMap<String, Object> params) throws SQLException;
public ArrayList<EgovMap> spGetTblFieldPressuremeter(HashMap<String, Object> params) throws SQLException;
public int spCntTblFieldPressuremeter(HashMap<String, Object> params) throws SQLException;
public ArrayList<EgovMap> spGetTblFieldConePenetra(HashMap<String, Object> params) throws SQLException;
public int spCntTblFieldConePenetra(HashMap<String, Object> params) throws SQLException;
public ArrayList<EgovMap> spGetTblBoreholeWave(HashMap<String, Object> params) throws SQLException;
public int spCntTblBoreholeWave(HashMap<String, Object> params) throws SQLException;
public ArrayList<EgovMap> spGetTblDownhole(HashMap<String, Object> params) throws SQLException;
public int spCntTblDownhole(HashMap<String, Object> params) throws SQLException;
public ArrayList<EgovMap> spGetTblDensity(HashMap<String, Object> params) throws SQLException;
public int spCntTblDensity(HashMap<String, Object> params) throws SQLException;
// 실내 시험
public ArrayList<EgovMap> spGetTblClassification(HashMap<String, Object> params) throws SQLException;
public int spCntTblClassification(HashMap<String, Object> params) throws SQLException;
public ArrayList<EgovMap> spGetTblCbrCompac(HashMap<String, Object> params) throws SQLException;
public int spCntTblCbrCompac(HashMap<String, Object> params) throws SQLException;
public ArrayList<EgovMap> spGetTblConsolidationUsual(HashMap<String, Object> params) throws SQLException;
public int spCntTblConsolidationUsual(HashMap<String, Object> params) throws SQLException;
public ArrayList<EgovMap> spGetTblConsolidation(HashMap<String, Object> params) throws SQLException;
public int spCntTblConsolidation(HashMap<String, Object> params) throws SQLException;
public ArrayList<EgovMap> spGetTblUnconfinedUsual(HashMap<String, Object> params) throws SQLException;
public int spCntTblUnconfinedUsual(HashMap<String, Object> params) throws SQLException;
public ArrayList<EgovMap> spGetTblTriaxialUsual(HashMap<String, Object> params) throws SQLException;
public int spCntTblTriaxialUsual(HashMap<String, Object> params) throws SQLException;
public ArrayList<EgovMap> spGetTblTriaxialCu(HashMap<String, Object> params) throws SQLException;
public int spCntTblTriaxialCu(HashMap<String, Object> params) throws SQLException;
public ArrayList<EgovMap> spGetTblTriaxialUu(HashMap<String, Object> params) throws SQLException;
public int spCntTblTriaxialUu(HashMap<String, Object> params) throws SQLException;
public ArrayList<EgovMap> spGetTblResonantUsual(HashMap<String, Object> params) throws SQLException;
public int spCntTblResonantUsual(HashMap<String, Object> params) throws SQLException;
public ArrayList<EgovMap> spGetTblResonant(HashMap<String, Object> params) throws SQLException;
public int spCntTblResonant(HashMap<String, Object> params) throws SQLException;
public ArrayList<EgovMap> spGetTblRepeatedTriaxialU(HashMap<String, Object> params) throws SQLException;
public int spCntTblRepeatedTriaxialU(HashMap<String, Object> params) throws SQLException;
public ArrayList<EgovMap> spGetTblRepeatedTriaxial(HashMap<String, Object> params) throws SQLException;
public int spCntTblRepeatedTriaxial(HashMap<String, Object> params) throws SQLException;
// 암석 시험
public ArrayList<EgovMap> spGetTblRockUniaxial(HashMap<String, Object> params) throws SQLException;
public int spCntTblRockUniaxial(HashMap<String, Object> params) throws SQLException;
public ArrayList<EgovMap> spGetTblRockTriaxial(HashMap<String, Object> params) throws SQLException;
public int spCntTblRockTriaxial(HashMap<String, Object> params) throws SQLException;
public ArrayList<EgovMap> spGetTblRockPointload(HashMap<String, Object> params) throws SQLException;
public int spCntTblRockPointload(HashMap<String, Object> params) throws SQLException;
public ArrayList<EgovMap> spGetTblRockJointshear(HashMap<String, Object> params) throws SQLException;
public int spCntTblRockJointshear(HashMap<String, Object> params) throws SQLException;
public ArrayList<EgovMap> spGetTblRockResonantUsual(HashMap<String, Object> params) throws SQLException;
public int spCntTblRockResonantUsual(HashMap<String, Object> params) throws SQLException;
public ArrayList<EgovMap> spGetTblRockReptTriU(HashMap<String, Object> params) throws SQLException;
public int spCntTblRockReptTriU(HashMap<String, Object> params) throws SQLException;
public ArrayList<EgovMap> spGetTblRockReptTri(HashMap<String, Object> params) throws SQLException;
public int spCntTblRockReptTri(HashMap<String, Object> params) throws SQLException;
}

View File

@ -1,12 +0,0 @@
package geoinfo.api.geoinfo.service;
import java.util.HashMap;
import javax.servlet.http.HttpServletRequest;
import org.json.simple.JSONObject;
public interface GeoinfoApiV1Service {
int handleApiService(HttpServletRequest request, HashMap<String, Object> params, String spName, JSONObject jsonResponse) throws Exception;
}

View File

@ -1,217 +0,0 @@
package geoinfo.api.geoinfo.service.impl;
import geoinfo.api.geoinfo.service.GeoinfoApiV1Mapper;
import geoinfo.api.geoinfo.service.GeoinfoApiV1Service;
import java.util.ArrayList;
import java.util.HashMap;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import org.json.simple.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;
import egovframework.rte.psl.dataaccess.util.EgovMap;
@Service("geoinfoApiV1Service")
public class GeoinfoApiV1ServiceImpl implements GeoinfoApiV1Service {
private static final Logger LOGGER = LoggerFactory.getLogger(GeoinfoApiV1ServiceImpl.class);
@Resource(name="geoinfoApiV1Mapper")
private GeoinfoApiV1Mapper geoinfoApiV1Mapper;
public int handleApiService(HttpServletRequest request, HashMap<String, Object> params, String spName, JSONObject jsonResponse) throws Exception {
//호출 프로시저 유효성 체크
spName = spName.trim();
// 서비스 이름에 따라 분기 처리
if ("sp-get-tbl-project-info".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spGetTblProjectInfo(params));
} else if ("sp-cnt-tbl-project-info".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spCntTblProjectInfo(params));
} else if ("sp-get-selectclass-info-p".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spGetSelectclassInfoP(params));
} else if ("sp-get-selectclass-info-ph".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spGetSelectclassInfoPh(params));
} else if ("sp-get-tbl-topo-geology".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spGetTblTopoGeology(params));
} else if ("sp-cnt-tbl-topo-geology".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spCntTblTopoGeology(params));
} else if ("sp-get-tbl-resistivity-survey".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spGetTblResistivitySurvey(params));
} else if ("sp-cnt-tbl-resistivity-survey".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spCntTblResistivitySurvey(params));
} else if ("sp-get-tbl-refraction-survey".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spGetTblRefractionSurvey(params));
} else if ("sp-cnt-tbl-refraction-survey".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spCntTblRefractionSurvey(params));
} else if ("sp-get-tbl-header".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spGetTblHeader(params));
} else if ("sp-cnt-tbl-header".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spCntTblHeader(params));
} else if ("sp-get-selectclass-info-h".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spGetSelectclassInfoH(params));
} else if ("sp-get-tbl-layer-info".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spGetTblLayerInfo(params));
} else if ("sp-cnt-tbl-layer-info".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spCntTblLayerInfo(params));
} else if ("sp-get-tbl-sample-info".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spGetTblSampleInfo(params));
} else if ("sp-cnt-tbl-sample-info".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spCntTblSampleInfo(params));
} else if ("sp-get-tbl-spt".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spGetTblSpt(params));
} else if ("sp-cnt-tbl-spt".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spCntTblSpt(params));
} else if ("sp-get-tbl-slickenside-info".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spGetTblSlickensideInfo(params));
} else if ("sp-cnt-tbl-slickenside-info".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spCntTblSlickensideInfo(params));
} else if ("sp-get-tbl-rqd".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spGetTblRqd(params));
} else if ("sp-cnt-tbl-rqd".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spCntTblRqd(params));
} else if ("sp-get-tbl-dsf".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spGetTblDsf(params));
} else if ("sp-cnt-tbl-dsf".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spCntTblDsf(params));
} else if ("sp-get-tbl-rmr".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spGetTblRmr(params));
} else if ("sp-cnt-tbl-rmr".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spCntTblRmr(params));
} else if ("sp-get-tbl-q".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spGetTblQ(params));
} else if ("sp-cnt-tbl-q".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spCntTblQ(params));
} else if ("sp-get-tbl-field-waterpressure".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spGetTblFieldWaterpressure(params));
} else if ("sp-cnt-tbl-field-waterpressure".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spCntTblFieldWaterpressure(params));
} else if ("sp-get-tbl-wp-test".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spGetTblWpTest(params));
} else if ("sp-cnt-tbl-wp-test".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spCntTblWpTest(params));
} else if ("sp-get-tbl-field-permeability".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spGetTblFieldPermeability(params));
} else if ("sp-cnt-tbl-field-permeability".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spCntTblFieldPermeability(params));
} else if ("sp-get-tbl-fieldper-sub".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spGetTblFieldperSub(params));
} else if ("sp-cnt-tbl-fieldper-sub".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spCntTblFieldperSub(params));
} else if ("sp-get-tbl-field-pressuremeter".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spGetTblFieldPressuremeter(params));
} else if ("sp-cnt-tbl-field-pressuremeter".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spCntTblFieldPressuremeter(params));
} else if ("sp-get-tbl-field-cone-penetra".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spGetTblFieldConePenetra(params));
} else if ("sp-cnt-tbl-field-cone-penetra".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spCntTblFieldConePenetra(params));
} else if ("sp-get-tbl-borehole-wave".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spGetTblBoreholeWave(params));
} else if ("sp-cnt-tbl-borehole-wave".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spCntTblBoreholeWave(params));
} else if ("sp-get-tbl-downhole".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spGetTblDownhole(params));
} else if ("sp-cnt-tbl-downhole".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spCntTblDownhole(params));
} else if ("sp-get-tbl-density".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spGetTblDensity(params));
} else if ("sp-cnt-tbl-density".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spCntTblDensity(params));
} else if ("sp-get-tbl-classification".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spGetTblClassification(params));
} else if ("sp-cnt-tbl-classification".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spCntTblClassification(params));
} else if ("sp-get-tbl-cbr-compac".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spGetTblCbrCompac(params));
} else if ("sp-cnt-tbl-cbr-compac".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spCntTblCbrCompac(params));
} else if ("sp-get-tbl-consolidation-usual".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spGetTblConsolidationUsual(params));
} else if ("sp-cnt-tbl-consolidation-usual".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spCntTblConsolidationUsual(params));
} else if ("sp-get-tbl-consolidation".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spGetTblConsolidation(params));
} else if ("sp-cnt-tbl-consolidation".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spCntTblConsolidation(params));
} else if ("sp-get-tbl-unconfined-usual".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spGetTblUnconfinedUsual(params));
} else if ("sp-cnt-tbl-unconfined-usual".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spCntTblUnconfinedUsual(params));
} else if ("sp-get-tbl-triaxial-usual".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spGetTblTriaxialUsual(params));
} else if ("sp-cnt-tbl-triaxial-usual".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spCntTblTriaxialUsual(params));
} else if ("sp-get-tbl-triaxial-cu".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spGetTblTriaxialCu(params));
} else if ("sp-cnt-tbl-triaxial-cu".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spCntTblTriaxialCu(params));
} else if ("sp-get-tbl-triaxial-uu".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spGetTblTriaxialUu(params));
} else if ("sp-cnt-tbl-triaxial-uu".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spCntTblTriaxialUu(params));
} else if ("sp-get-tbl-resonant-usual".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spGetTblResonantUsual(params));
} else if ("sp-cnt-tbl-resonant-usual".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spCntTblResonantUsual(params));
} else if ("sp-get-tbl-resonant".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spGetTblResonant(params));
} else if ("sp-cnt-tbl-resonant".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spCntTblResonant(params));
} else if ("sp-get-tbl-repeated-triaxial-u".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spGetTblRepeatedTriaxialU(params));
} else if ("sp-cnt-tbl-repeated-triaxial-u".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spCntTblRepeatedTriaxialU(params));
} else if ("sp-get-tbl-repeated-triaxial".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spGetTblRepeatedTriaxial(params));
} else if ("sp-cnt-tbl-repeated-triaxial".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spCntTblRepeatedTriaxial(params));
} else if ("sp-get-tbl-rock-uniaxial".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spGetTblRockUniaxial(params));
} else if ("sp-cnt-tbl-rock-uniaxial".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spCntTblRockUniaxial(params));
} else if ("sp-get-tbl-rock-triaxial".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spGetTblRockTriaxial(params));
} else if ("sp-cnt-tbl-rock-triaxial".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spCntTblRockTriaxial(params));
} else if ("sp-get-tbl-rock-pointload".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spGetTblRockPointload(params));
} else if ("sp-cnt-tbl-rock-pointload".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spCntTblRockPointload(params));
} else if ("sp-get-tbl-rock-jointshear".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spGetTblRockJointshear(params));
} else if ("sp-cnt-tbl-rock-jointshear".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spCntTblRockJointshear(params));
} else if ("sp-get-tbl-rock-resonant-usual".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spGetTblRockResonantUsual(params));
} else if ("sp-cnt-tbl-rock-resonant-usual".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spCntTblRockResonantUsual(params));
} else if ("sp-get-tbl-rock-rept-tri-u".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spGetTblRockReptTriU(params));
} else if ("sp-cnt-tbl-rock-rept-tri-u".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spCntTblRockReptTriU(params));
} else if ("sp-get-tbl-rock-rept-tri".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spGetTblRockReptTri(params));
} else if ("sp-cnt-tbl-rock-rept-tri".equalsIgnoreCase(spName)) {
jsonResponse.put("data", geoinfoApiV1Mapper.spCntTblRockReptTri(params));
} else {
// 지원하지 않는 서비스명인 경우 오류 처리
throw new Exception("Unsupported service name: " + spName);
}
// 성공 응답 기본값 설정
jsonResponse.put("resultCode", 0);
jsonResponse.put("result", "true");
jsonResponse.put("message", "SUCCESS");
// 성공 코드 반환
return 0;
}
}

View File

@ -106,7 +106,6 @@ public class DrillingInputServiceImpl implements DrillingInputService {
//String[] words = projectMasterCompanyName.split(" ");
//String lastWord = words[words.length - 1];
//spGetMasterCompanyDistrictParams.put("projectMasterCompanyName", lastWord);
projectMasterCompanyName = projectMasterCompanyName.trim();
spGetMasterCompanyDistrictParams.put("projectMasterCompanyName", projectMasterCompanyName);
drillingInputMapper.spGetMasterCompanyDistrict(spGetMasterCompanyDistrictParams);

View File

@ -1,28 +1,58 @@
package geoinfo.drilling.inquiry;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.UnsupportedEncodingException;
import java.net.MalformedURLException;
import java.net.URL;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.jfree.util.Log;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;
import egovframework.rte.psl.dataaccess.util.EgovMap;
import geoinfo.com.WebConfirm;
import geoinfo.drilling.input.service.DrillingInputService;
import geoinfo.drilling.inquiry.service.DrillingInquiryService;
import geoinfo.map.mapControl.service.MapControlService;
import geoinfo.regi.selectClassInfo.service.SelectClassService;
import geoinfo.regi.status.service.RegiPageService;
import geoinfo.regi.util.exportGeotechnicalPointShp2;
import geoinfo.util.MyUtil;
import ictway.comm.util.parseData;
import ictway.comm.util.strUtil;
import ictway.comm.web.WebUtil;
import ictway.whois.whoisSMS;
@Controller
public class DrillingInquiryController {

View File

@ -12,7 +12,6 @@ public interface DrillingInquiryMapper {
public Long sPCntTblCsiByKeyword(HashMap<String, Object> params) throws SQLException;
public List<EgovMap> spGetTblCsiByKeyword(HashMap<String, Object> params) throws SQLException;
public String getComCodes(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;

View File

@ -5,7 +5,6 @@ import geoinfo.drilling.input.service.DrillingInputService;
import geoinfo.drilling.inquiry.service.DrillingInquiryMapper;
import geoinfo.drilling.inquiry.service.DrillingInquiryService;
import geoinfo.main.login.service.LoginMapper;
import geoinfo.main.login.service.LoginService;
import geoinfo.util.MyUtil;
import java.sql.SQLException;
@ -14,7 +13,6 @@ import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
@ -41,10 +39,6 @@ public class DrillingInquiryServiceImpl implements DrillingInquiryService {
DrillingInputService drillingInputService;
@Resource(name = "loginService")
private LoginService loginService;
@Resource(name="loginMapper")
private LoginMapper loginMapper;
@ -76,26 +70,6 @@ public class DrillingInquiryServiceImpl implements DrillingInquiryService {
try {
try {
String keyName = "constName";
params.put(keyName, MyUtil.removeBlank( params.get(keyName) ));
keyName = "constCompanyAdmin";
params.put(keyName, MyUtil.removeBlank( params.get(keyName) ));
keyName = "constCompanyTel";
params.put(keyName, MyUtil.removeBlank( params.get(keyName) ));
keyName = "constCompanyName";
params.put(keyName, MyUtil.removeBlank( params.get(keyName) ));
keyName = "constComCodes";
if( params.get("constCompanyName") != null && !MyUtil.getStringFromObject(params.get("constCompanyName")).trim().isEmpty() ) {
params.put(keyName, drillingInquiryMapper.getComCodes(params));
} else {
params.put(keyName, null);
}
Long count = drillingInquiryMapper.sPCntTblCsiByKeyword(params);
List<EgovMap> datas = drillingInquiryMapper.spGetTblCsiByKeyword(params);
@ -351,30 +325,6 @@ public class DrillingInquiryServiceImpl implements DrillingInquiryService {
throw new Exception( "로그인이 필요한 서비스입니다." );
}
Map<String, Object> map = new HashMap<String, Object>();
map.put("userid", userId);
Map<String, Object> result = loginService.selectWebMemberIn(map);
int cls = MyUtil.getIntegerFromObject( result.get("cls") );
if( cls == 2 ) {
// 발주기관 계정으로 조회한 경우, 본인의 영역에 해당하는 프로젝트만 조회한다.
String masterCompanyCode = MyUtil.getStringFromObject( result.get("master_company_code") );
HashMap<String, Object> spGetMasterCompanyDistrictParams = drillingInputService.getOrganizationUserGlGmGsGfCodes(userId);
String glDistrict = MyUtil.getStringFromObject( spGetMasterCompanyDistrictParams.get("v_gl") );
String gmDistrict = MyUtil.getStringFromObject( spGetMasterCompanyDistrictParams.get("v_gm") );
String gsDistrict = MyUtil.getStringFromObject( spGetMasterCompanyDistrictParams.get("v_gs") );
params.put("glDistrict", glDistrict);
params.put("gmDistrict", gmDistrict);
params.put("gsDistrict", gsDistrict);
}
try {
try {

View File

@ -1,53 +0,0 @@
package geoinfo.drilling.statistics;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.json.simple.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;
import geoinfo.drilling.inquiry.service.DrillingInquiryService;
import geoinfo.util.MyUtil;
@Controller
public class DrillingStatisticsController {
private static final Logger LOGGER = LoggerFactory.getLogger(DrillingStatisticsController.class);
@Autowired
DrillingInquiryService drillingInquiryService;
@RequestMapping(value = "/drilling/statistics.do")
public String drillingStatistics(@RequestParam HashMap<String, Object> params, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
if(request.getSession().getAttribute("USERNAME") == null){
return "redirect:/index.do";
}
return "/drilling/statistics/drilling_statistics";
}
@RequestMapping(value = "/drilling/notice.do")
public String drillingNotice(@RequestParam HashMap<String, Object> params, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
if(request.getSession().getAttribute("USERNAME") == null){
return "redirect:/index.do";
}
return "/drilling/statistics/drilling_notice";
}
}

View File

@ -1,15 +0,0 @@
package geoinfo.drilling.statistics.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;
@Mapper("drillingStatisticsMapper")
public interface DrillingStatisticsMapper {
}

View File

@ -1,16 +0,0 @@
package geoinfo.drilling.statistics.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 DrillingStatisticsService {
}

View File

@ -1,53 +0,0 @@
package geoinfo.drilling.statistics.service.impl;
import geoinfo.drilling.input.service.DrillingInputMapper;
import geoinfo.drilling.input.service.DrillingInputService;
import geoinfo.drilling.inquiry.service.DrillingInquiryMapper;
import geoinfo.drilling.inquiry.service.DrillingInquiryService;
import geoinfo.drilling.statistics.service.DrillingStatisticsService;
import geoinfo.main.login.service.LoginMapper;
import geoinfo.main.login.service.LoginService;
import geoinfo.util.MyUtil;
import java.sql.SQLException;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import oracle.sql.TIMESTAMP;
import org.json.simple.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import egovframework.rte.psl.dataaccess.util.EgovMap;
@Service("drillingStatisticsService")
public class DrillingStatisticsServiceImpl implements DrillingStatisticsService {
@Resource(name="drillingInquiryMapper")
private DrillingInquiryMapper drillingInquiryMapper;
@Resource(name="drillingInputMapper")
private DrillingInputMapper drillingInputMapper;
@Autowired
DrillingInputService drillingInputService;
@Resource(name = "loginService")
private LoginService loginService;
@Resource(name="loginMapper")
private LoginMapper loginMapper;
}

View File

@ -63,11 +63,7 @@ public class CommunityController {
List<Map<String, Object>> row = communityService.selectRow(page);
mv.addObject("rows", row);
if( rowCount != null ) {
mv = GeoinfoCommon.setPage(Integer.parseInt(rowCount.get("lastpage").toString()) - 1, page, mv, "cmuboard");
} else {
mv = GeoinfoCommon.setPage(-1, page, mv, "cmuboard");
}
mv = GeoinfoCommon.setPage(Integer.parseInt(rowCount.get("lastpage").toString()) - 1, page, mv, "cmuboard");
return mv;
}

View File

@ -2894,12 +2894,10 @@ public class LoginController {
byte[] digest = md.digest();
String shaHex = "";
shaHex = DatatypeConverter.printHexBinary(digest);
String newPassHash = GeoinfoCommon.parseData(newPass);
newPassHash = ScriptUtil.getSha256(newPassHash, "UTF-8").substring(0, 20);
newPass = GeoinfoCommon.parseData(newPass);
newPass = ScriptUtil.getSha256(newPass, "UTF-8").substring(0, 20);
model.put("data", newPassHash);
model.put("original", newPass);
model.put("notice", "# sharp is not supported");
model.put("data", newPass);
return "jsonView";
}

View File

@ -691,7 +691,7 @@ public class MainController
startDate = (String)params.get("startDate");
}else {
startDate = Integer.toString(thisYear);
startDate = GeoinfoCommon.parseData(String.valueOf(params.get("startDate")));
startDate = "2014";
}
if(!"".equals(endDate) && endDate != null && !"null".equals(endDate) && !"undefined".equals(endDate)) {
@ -1286,7 +1286,7 @@ public class MainController
return mv;
}
// 개인정보처리방침(20250801)
// 개인정보처리방침
@RequestMapping(value = "personalinfo.do")
public ModelAndView personalinfo(Map<String, Object> map, HttpServletRequest request, HttpServletResponse response) throws Exception
{
@ -1295,15 +1295,6 @@ public class MainController
return mv;
}
// 개인정보처리방침 이전 방침(20240801)
@RequestMapping(value = "personalinfo_20240801.do")
public ModelAndView personalinfo_20240801(Map<String, Object> map, HttpServletRequest request, HttpServletResponse response) throws Exception
{
ModelAndView mv = new ModelAndView("home/personalinfo_20240801");
return mv;
}
// 개인정보처리방침 이전 방침(20230101)
@RequestMapping(value = "personalinfo_20230101.do")
public ModelAndView personalinfo_20230101(Map<String, Object> map, HttpServletRequest request, HttpServletResponse response) throws Exception

View File

@ -30,10 +30,8 @@ import org.apache.commons.io.FileUtils;
import org.apache.commons.io.FilenameUtils;
import org.apache.commons.io.IOUtils;
import org.jfree.util.Log;
import org.json.simple.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
@ -45,7 +43,6 @@ import org.springframework.web.servlet.ModelAndView;
import egovframework.com.cmm.service.EgovProperties;
import egovframework.rte.psl.dataaccess.util.EgovMap;
import geoinfo.api.geoinfo.service.GeoinfoApiV1Service;
import geoinfo.com.GeoInfoSessionMgrListener;
import geoinfo.com.GeoinfoCommon;
import geoinfo.com.MultiLoginPreventor;
@ -84,9 +81,6 @@ public class MapLeftController {
@Resource(name = "drillingHomeService")
private DrillingHomeService drillingHomeService;
@Autowired
private GeoinfoApiV1Service geoinfoApiV1Service;
private final static Logger logger = LoggerFactory.getLogger(GeoInfoSessionMgrListener.class);
@ -266,17 +260,6 @@ public class MapLeftController {
model.put("locationDataYn", locationDataYn);*/
model.put("userId", request.getSession().getAttribute("USERID"));
JSONObject jsonResponse = new JSONObject();
HashMap<String, Object> handleApiServiceParams = new HashMap<String, Object>();
handleApiServiceParams.put("holeCode", params.get("hcode"));
geoinfoApiV1Service.handleApiService(request, handleApiServiceParams, "sp-get-selectclass-info-h", jsonResponse);
ArrayList<HashMap<String, Object>> dataList = (ArrayList<HashMap<String, Object>>)jsonResponse.get("data");
if( dataList != null && 0 < dataList.size() ) {
model.put("data", dataList.get(0));
} else {
model.put("data", new HashMap<String, Object>());
}
return "jsonView";
}
@ -661,14 +644,21 @@ public class MapLeftController {
@RequestMapping(value = "/map/mapSichInformation.do")
public String mapSichInformation(ModelMap model, HttpServletRequest request, HttpServletResponse response, @RequestParam Map<String, Object> params) throws Exception {
/*List<EgovMap> result = mapControlService.selectSichInformation(params);*/
/*List<EgovMap> hole = mapLeftService.selectHeaderFromProjectCode(params);*/
params.put("pcodePer", params.get("pcode") +"%");
EgovMap bbox = mapLeftService.selectTblHeaderBBOX(params);
/*EgovMap project = mapLeftService.selectProjectInfo2(params);*/
logger.debug("-------------------동작확인1");
/*EgovMap locationDataYn = mapLeftService.getLoYn(params);*/
/*EgovMap project = mapLeftService.selectProjectInfo(params);*/
JSONObject jsonResponse = new JSONObject();
logger.debug("-------------------동작확인2");
/* List<EgovMap> projectYn = mapLeftService.selectTblProjectInformationYn(params);*/
logger.debug("-------------------동작확인3");
/*model.put("locationDataYn", locationDataYn);*/
HashMap<String, Object> handleApiServiceParams = new HashMap<String, Object>();
handleApiServiceParams.put("projCode", params.get("pcode"));
geoinfoApiV1Service.handleApiService(request, handleApiServiceParams, "sp-get-selectclass-info-p", jsonResponse);
EgovMap projectCount = mapLeftService.selectTblProjectCount(params);
@ -703,21 +693,24 @@ public class MapLeftController {
model.put("projectCount", projectCount);
model.put("data", jsonResponse.get("data"));
EgovMap project = mapLeftService.selectProjectInfo(params);
model.put("project", project);
// projectYn에 시추공 별 시험여부가 들어간다.
List<EgovMap> projectYn = mapLeftService.selectTblProjectInformationYn(params);
geoinfoApiV1Service.handleApiService(request, handleApiServiceParams, "sp-get-selectclass-info-ph", jsonResponse);
model.put("testCountsPerBorehole", jsonResponse.get("data"));
logger.debug("-------------------동작확인4");
logger.debug("-------------------동작확인5");
model.put("projectYn", projectYn);
model.put("userId", request.getSession().getAttribute("USERID"));
/*model.put("hole", hole);*/
model.put("bbox", bbox);
/*model.put("result", result);*/
/*model.put("projectYn", projectYn);*/
return "jsonView";
}
@ -924,47 +917,6 @@ public class MapLeftController {
return "map/left/include/mapSearchArea";
}
@RequestMapping(value = "/map/mapSearchDis.do")
public String mapSearchDist(ModelMap model, HttpServletRequest request, HttpServletResponse response, @RequestParam Map<String, Object> params) throws Exception {
params.put("viewPage", viewPage);
EgovMap result = mapLeftService.selectProjectListByDist( params );
if (params.get("page")!= null) {
pageIndex = Integer.parseInt(GeoinfoCommon.parseData(String.valueOf(params.get("page")))); // 현재페이지번호
} else {
pageIndex = 0;
}
int lastPage = Integer.parseInt(result.get("count").toString()) / viewPage;
// if (!lastPage) {
lastPageIndex = lastPage - 1;
pageIndex = (pageIndex > 0) ? pageIndex : 0;
lastPageIndex = (lastPageIndex > 0) ? lastPageIndex : 0;
pageIndex = (pageIndex > lastPageIndex) ? lastPageIndex : pageIndex;
// }
initPageIndex(pageIndex, lastPageIndex);
params.put("pageIndex", nowPage+1);
EgovMap rtn_result = mapLeftService.selectProjectListByDist( params );
model.addAttribute("result", rtn_result.get("datas"));
model.addAttribute("params", params);
model.addAttribute("startPage", startPage);
model.addAttribute("endPage", endPage);
model.addAttribute("nowPage", nowPage);
model.addAttribute("nextPage", next);
model.addAttribute("prePage", pre);
// 발주처 검색
return "map/left/include/mapSearchDist";
}
int pageIndex = 0; // 현재페이지번호
int lastPageIndex = 0; // 마지막페이지번호
int viewPage = Integer.parseInt(EgovProperties.getGeoinfoProperty("Globals.VIEWPAGE")) - 1; // 한번에

View File

@ -21,8 +21,6 @@ public interface MapLeftMapper {
EgovMap selectProjectInfo2(Map<String, Object> params) throws Exception;
EgovMap selectTempProjectInfo(Map<String, Object> params) throws Exception;
EgovMap selectGetHoleCodeInfo(Map<String, Object> params) throws Exception;
EgovMap selectGetHoleCodeDetailInfo(Map<String, Object> params) throws Exception;
@ -109,8 +107,4 @@ public interface MapLeftMapper {
EgovMap selectTblProjectCount(Map<String, Object> params) throws Exception;
Long sPCntTblCsiByKeyword(Map<String, Object> params) throws Exception;
List<EgovMap> spGetTblCsiByKeyword(Map<String, Object> params) throws Exception;
}

View File

@ -111,7 +111,5 @@ public interface MapLeftService {
EgovMap selectTblProjectCount(Map<String, Object> params) throws Exception;
EgovMap selectProjectListByDist(Map<String, Object> params) throws Exception;
}

View File

@ -5,7 +5,6 @@ import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.GregorianCalendar;
import java.util.HashMap;
import java.util.List;
@ -25,7 +24,6 @@ import org.springframework.web.multipart.MultipartRequest;
import egovframework.com.cmm.service.EgovProperties;
import egovframework.rte.psl.dataaccess.util.EgovMap;
import geoinfo.com.GeoinfoCommon;
import geoinfo.com.file.FileCmmn;
import geoinfo.map.left.service.MapLeftMapper;
import geoinfo.map.left.service.MapLeftService;
@ -61,12 +59,7 @@ public class MapLeftServiceImpl implements MapLeftService{
@Override
public EgovMap selectProjectInfo(Map<String, Object> params) throws Exception {
EgovMap resultMap = new EgovMap();
resultMap = mapLeftMapper.selectProjectInfo(params);
if (resultMap == null) {
resultMap = mapLeftMapper.selectTempProjectInfo(params);
}
return resultMap;
return mapLeftMapper.selectProjectInfo(params);
}
@Override
@ -523,31 +516,4 @@ public class MapLeftServiceImpl implements MapLeftService{
return mapLeftMapper.selectTblProjectCount(params);
}
@Override
public EgovMap selectProjectListByDist(Map<String, Object> params) throws Exception {
EgovMap resultMap = new EgovMap();
params.put("constTag", "P");
params.put("masterCompanyOCode", GeoinfoCommon.parseData(params.get("o").toString()));
params.put("masterCompanyTwCode", GeoinfoCommon.parseData(params.get("tw").toString()));
params.put("masterCompanyThCode", GeoinfoCommon.parseData(params.get("th").toString()));
params.put("masterCompanyName", "");
params.put("nPage", params.get("pageIndex"));
params.put("nCount", params.get("viewPage"));
Long count = mapLeftMapper.sPCntTblCsiByKeyword(params);
List<EgovMap> datas = mapLeftMapper.spGetTblCsiByKeyword(params);
if (datas.size() < 1) {
datas = new ArrayList<EgovMap>();
}
resultMap.put("count", count);
resultMap.put("datas", datas);
return resultMap;
}
}

View File

@ -907,18 +907,4 @@ public class MapContorlController {
return crosses % 2 > 0;
}
/**
* .
* @param params
* @param model
* @return
* @throws Exception
*/
@RequestMapping(value = "/map/hole-name-by-user.do", method = RequestMethod.GET)
public String holeNameByUser(@RequestParam Map<String, Object> params, ModelMap model) throws Exception {
model.put("data", mapControlService.holeNameByUser(params));
return "jsonView";
}
}

View File

@ -76,5 +76,4 @@ public interface MapControlMapper {
List<EgovMap> selectHeaderSichInformation(Map<String, Object> params) throws Exception;
List<EgovMap> holeNameByUser(Map<String, Object> params) throws Exception;
}

View File

@ -75,6 +75,4 @@ public interface MapControlService {
List<EgovMap> selectHeaderSichInformation(Map<String, Object> params) throws Exception;
List<EgovMap> holeNameByUser(Map<String, Object> params) throws Exception;
}

View File

@ -184,8 +184,5 @@ public class MapContorlServiceImpl implements MapControlService{
return mapControlMapper.selectHeaderSichInformation(params);
}
@Override
public List<EgovMap> holeNameByUser(Map<String, Object> params) throws Exception {
return mapControlMapper.holeNameByUser(params);
}
}

View File

@ -6,7 +6,6 @@ import geoinfo.com.GeoinfoCommon;
import geoinfo.map.projectSearch.service.MapProjectSearchService;
import java.net.URLDecoder;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
@ -39,7 +38,6 @@ public class MapProjectSearchController {
String dsf = GeoinfoCommon.parseData(String.valueOf(params.get("dsf")));//
String slickenside = GeoinfoCommon.parseData(String.valueOf(params.get("slickenside")));
String q = GeoinfoCommon.parseData(String.valueOf(params.get("q")));
String cone = GeoinfoCommon.parseData(String.valueOf(params.get("cone")));
String rmr = GeoinfoCommon.parseData(String.valueOf(params.get("rmr")));
String classification9 = GeoinfoCommon.parseData(String.valueOf(params.get("classification9")));
@ -63,7 +61,6 @@ public class MapProjectSearchController {
String rock_resonant_usual = GeoinfoCommon.parseData(String.valueOf(params.get("rock_resonant_usual")));
String density = GeoinfoCommon.parseData(String.valueOf(params.get("density")));
String ps = GeoinfoCommon.parseData(String.valueOf(params.get("ps")));
String downhole = GeoinfoCommon.parseData(String.valueOf(params.get("downhole")));
String refraction_survey = GeoinfoCommon.parseData(String.valueOf(params.get("refraction_survey")));
String resistivity_survey = GeoinfoCommon.parseData(String.valueOf(params.get("resistivity_survey")));
@ -95,11 +92,6 @@ public class MapProjectSearchController {
} else if (q.equals("on") || q.equals("1")) {
q = "1";
}
if (cone == null) {
cone = "0";
} else if (cone.equals("on") || cone.equals("1")) {
cone = "1";
}
if (rmr == null) {
rmr = "0";
} else if (rmr.equals("on") || rmr.equals("1")) {
@ -193,11 +185,6 @@ public class MapProjectSearchController {
else if ((density.equals("on")) || (density.equals("1"))) {
density = "1";
}
if (ps == null) {
ps = "0";
} else if ((ps.equals("on")) || (ps.equals("1"))) {
ps = "1";
}
if (downhole == null)
downhole = "0";
else if ((downhole.equals("on")) || (downhole.equals("1"))) {
@ -275,12 +262,7 @@ public class MapProjectSearchController {
params.put("firstRow", pageIndex * viewPage);
params.put("lastRow", (pageIndex + 1) * viewPage);
List<EgovMap> items = null;
if( lastPage == null) {
items = new ArrayList<EgovMap>();
} else {
items = mapProjectSearchService.selectItems(params);
}
List<EgovMap> items = mapProjectSearchService.selectItems(params);
Iterator<EgovMap> iter = items.iterator();
if (!userId.equals(particularId1) && !userId.equals("admin_user")) {

View File

@ -21,7 +21,6 @@ import com.clipsoft.clipreport.oof.OOFDocument;
import com.clipsoft.clipreport.oof.OOFFile;
import com.clipsoft.clipreport.server.service.ReportUtil;
import egovframework.com.cmm.service.EgovProperties;
import egovframework.rte.psl.dataaccess.util.EgovMap;
import geoinfo.regi.common.service.CommonService;
import geoinfo.regi.rock.service.RockService;
@ -43,8 +42,6 @@ public class CommonController {
@Resource(name = "rockService")
private RockService rockService;
public String filePath = EgovProperties.getProperty("Geoinfo.FilePath");
//지반정보등록 (관리자)
@RequestMapping(value="/provider_info.do")
public String manageRegi(@RequestParam HashMap<String,Object> params, ModelMap model,HttpServletRequest request, HttpServletResponse response) throws Exception{
@ -64,30 +61,6 @@ public class CommonController {
return "/web/common/provider_info";
}
private String getImagePath(String path, String imagePath) {
// 1. imagePath가 null인 경우 null을 반환합니다.
if (imagePath == null) {
return null;
}
File imageFile = new File(imagePath);
// 2. 파일이 존재하는지 확인합니다.
if (imageFile.exists()) {
// 2-1. 파일이 존재하지만 크기가 0바이트인 경우
if (imageFile.length() == 0) {
return path + "/web/images/no_image_zero_byte.png";
} else {
// 2-2. 파일이 정상적으로 존재하는 경우
return imagePath;
}
} else {
// 3. 파일이 존재하지 않는 경우
return path + "/web/images/no_image_not_found.png";
}
}
@RequestMapping(value="/com/includeFooterInput")
public String includeFooterInput(@RequestParam HashMap<String,Object> params, ModelMap model,HttpServletRequest request, HttpServletResponse response) throws Exception{
EgovMap providerUserId = masterService.selectTempManageState(params);
@ -274,8 +247,7 @@ public class CommonController {
if("noImage".equals(boreholeWaveImage[0]) || "noImage".equals(boreholeWaveImage[i])){
imagePath = Path + "/web/images/no_image.png";
}else{
imagePath = filePath + "web/CH/" + projectCode + "/" + boreholeWaveHolecode[i] + "/BOREHOLE_WAVE/" + boreholeWaveImage[i];
imagePath = getImagePath( Path, imagePath );
imagePath = Path + "/files/web/CH/" + projectCode + "/" + boreholeWaveHolecode[i] + "/BOREHOLE_WAVE/" + boreholeWaveImage[i];
}
OOFFile file4 = oof.addFile("reb.root", realPath+"web\\preview\\BOREHOLE_WAVE.reb");
@ -327,8 +299,7 @@ public class CommonController {
if("noImage".equals(densityImage[0]) || "noImage".equals(densityImage[i])){
imagePath = Path + "/web/images/no_image.png";
}else{
imagePath = filePath + "web/CH/" + projectCode + "/" + densityHolecode[i] + "/DENSITY/" + densityImage[i];
imagePath = getImagePath( Path, imagePath );
imagePath = Path + "/files/web/CH/" + projectCode + "/" + densityHolecode[i] + "/DENSITY/" + densityImage[i];
}
OOFFile file5 = oof.addFile("reb.root", realPath+"web\\preview\\DENSITY.reb");
@ -354,8 +325,7 @@ public class CommonController {
if("noImage".equals(downholeImage[0]) || "noImage".equals(downholeImage[i])){
imagePath = Path + "/web/images/no_image.png";
}else{
imagePath = filePath + "web/CH/" + projectCode + "/" + downholeHolecode[i] + "/DOWNHOLE/" + downholeImage[i];
imagePath = getImagePath( Path, imagePath );
imagePath = Path + "/files/web/CH/" + projectCode + "/" + downholeHolecode[i] + "/DOWNHOLE/" + downholeImage[i];
}
OOFFile file6 = oof.addFile("reb.root", realPath+"web\\preview\\DOWNHOLE.reb");
@ -411,8 +381,7 @@ public class CommonController {
if("noImage".equals(coneImage[0]) || "noImage".equals(coneImage[i])){
imagePath = Path + "/web/images/no_image.png";
}else{
imagePath = filePath + "web/CH/" + projectCode + "/" + coneHolecode[i] + "/CONE/" + coneImage[i];
imagePath = getImagePath( Path, imagePath );
imagePath = Path + "/files/web/CH/" + projectCode + "/" + coneHolecode[i] + "/CONE/" + coneImage[i];
}
OOFFile file29 = oof.addFile("reb.root", realPath+"web\\preview\\FIELD_CONE_PENETRATION.reb");
file29.addConnectionData("*", "oracle1");
@ -432,8 +401,7 @@ public class CommonController {
if("noImage".equals(cone_image) ){
imagePath = Path + "/web/images/no_image.png";
}else{
imagePath = filePath + "web/CH/" + projectCode + "/" + cone_holecode + "/CONE/" + cone_image;
imagePath = getImagePath( Path, imagePath );
imagePath = Path + "/files/web/CH/" + projectCode + "/" + cone_holecode + "/CONE/" + cone_image;
}
OOFFile file29 = oof.addFile("reb.root", realPath+"web\\preview\\FIELD_CONE_PENETRATION.reb");
file29.addConnectionData("*", "oracle1");
@ -458,8 +426,7 @@ public class CommonController {
if("noImage".equals(permeabilityImage[0]) || "noImage".equals(permeabilityImage[i])){
imagePath = Path + "/web/images/no_image.png";
}else{
imagePath = filePath + "web/CH/" + projectCode + "/" + permeabilityHolecode[i] + "/PERMEABILITY/" + permeabilityImage[i];
imagePath = getImagePath( Path, imagePath );
imagePath = Path + "/files/web/CH/" + projectCode + "/" + permeabilityHolecode[i] + "/PERMEABILITY/" + permeabilityImage[i];
}
OOFFile file8 = oof.addFile("reb.root", realPath+"web\\preview\\FIELD_PERMEABILITY.reb");
file8.addConnectionData("*", "oracle1");
@ -487,8 +454,7 @@ public class CommonController {
if("noImage".equals(permeabilityImage[i]) ||"null".equals(permeabilityImage[i])){
imagePath = Path + "/web/images/no_image.png";
}else{
imagePath = filePath + "web/CH/" + projectCode + "/" + permeabilityHolecode[i] + "/PERMEABILITY/" + permeabilityImage[i];
imagePath = getImagePath( Path, imagePath );
imagePath = Path + "/files/web/CH/" + projectCode + "/" + permeabilityHolecode[i] + "/PERMEABILITY/" + permeabilityImage[i];
}
OOFFile file30 = oof.addFile("reb.root", realPath+"web\\preview\\FIELD_PERMEABILITY.reb");
file30.addConnectionData("*", "oracle1");
@ -514,8 +480,7 @@ public class CommonController {
if("noImage".equals(pressuremeterImage[0]) || "noImage".equals(pressuremeterImage[i])){
imagePath = Path + "/web/images/no_image.png";
}else{
imagePath = filePath + "web/CH/" + projectCode + "/" + pressuremeterHolecode[i] + "/PRESSUREMETER/" + pressuremeterImage[i];
imagePath = getImagePath( Path, imagePath );
imagePath = Path + "/files/web/CH/" + projectCode + "/" + pressuremeterHolecode[i] + "/PRESSUREMETER/" + pressuremeterImage[i];
}
OOFFile file9 = oof.addFile("reb.root", realPath+"web\\preview\\FIELD_PRESSUREMETER.reb");
file9.addConnectionData("*", "oracle1");
@ -542,8 +507,7 @@ public class CommonController {
if("noImage".equals(waterpressureImage[0]) || "noImage".equals(waterpressureImage[i])){
imagePath = Path + "/web/images/no_image.png";
}else{
imagePath = filePath + "web/CH/" + projectCode + "/" + waterpressureHolecode[i] + "/WATERPRESSURE/" + waterpressureImage[i];
imagePath = getImagePath( Path, imagePath );
imagePath = Path + "/files/web/CH/" + projectCode + "/" + waterpressureHolecode[i] + "/WATERPRESSURE/" + waterpressureImage[i];
}
OOFFile file10 = oof.addFile("reb.root", realPath+"web\\preview\\FIELD_WATERPRESSURE.reb");
file10.addConnectionData("*", "oracle1");
@ -574,8 +538,7 @@ public class CommonController {
if("noImage".equals(waterpressureImage[i]) || "null".equals(waterpressureImage[i])){
imagePath = Path + "/web/images/no_image.png";
}else{
imagePath = filePath + "web/CH/" + projectCode + "/" + waterpressureHolecode[i] + "/WATERPRESSURE/" + waterpressureImage[i];
imagePath = getImagePath( Path, imagePath );
imagePath = Path + "/files/web/CH/" + projectCode + "/" + waterpressureHolecode[i] + "/WATERPRESSURE/" + waterpressureImage[i];
}
OOFFile file31 = oof.addFile("reb.root", realPath+"web\\preview\\FIELD_WATERPRESSURE.reb");
file31.addConnectionData("*", "oracle1");
@ -603,8 +566,7 @@ public class CommonController {
if("noImage".equals(rockRepeatTriImage[0]) || "noImage".equals(rockRepeatTriImage[i])){
imagePath1 = Path + "/web/images/no_image.png";
}else{
imagePath1 = filePath + "web/CH/" + projectCode + "/" + rockRepeatTriHolecode[i] + "/ROCK_REPEATED/" + rockRepeatTriImage[i];
imagePath1 = getImagePath( Path, imagePath1 );
imagePath1 = Path + "/files/web/CH/" + projectCode + "/" + rockRepeatTriHolecode[i] + "/ROCK_REPEATED/" + rockRepeatTriImage[i];
}
OOFFile file12 = oof.addFile("reb.root", realPath+"web\\preview\\REPEATED_U.reb");
file12.addConnectionData("*", "oracle1");
@ -634,8 +596,7 @@ public class CommonController {
if("noImage".equals(repeatTriImage[0]) || "noImage".equals(repeatTriImage[i])){
imagePath1 = Path + "/web/images/no_image.png";
}else{
imagePath1 = filePath + "web/CH/" + projectCode + "/" + repeatTriHolecode[i] + "/SAND_REPEATED/" + repeatTriImage[i];
imagePath1 = getImagePath( Path, imagePath1 );
imagePath1 = Path + "/files/web/CH/" + projectCode + "/" + repeatTriHolecode[i] + "/SAND_REPEATED/" + repeatTriImage[i];
}
OOFFile file13 = oof.addFile("reb.root", realPath+"web\\preview\\REPEATED.reb");
file13.addConnectionData("*", "oracle1");
@ -664,8 +625,7 @@ public class CommonController {
if("noImage".equals(resonantImage[0]) || "noImage".equals(resonantImage[i])){
imagePath1 = Path + "/web/images/no_image.png";
}else{
imagePath1 = filePath + "web/CH/" + projectCode + "/" + resonantHolecode[i] + "/SAND_RESONANT/" + resonantImage[i];
imagePath1 = getImagePath( Path, imagePath1 );
imagePath1 = Path + "/files/web/CH/" + projectCode + "/" + resonantHolecode[i] + "/SAND_RESONANT/" + resonantImage[i];
}
OOFFile file15 = oof.addFile("reb.root", realPath+"web\\preview\\RESONANT.reb");
file15.addConnectionData("*", "oracle1");
@ -693,8 +653,7 @@ public class CommonController {
if("noImage".equals(rockResonantImage[0]) || "noImage".equals(rockResonantImage[i])){
imagePath1 = Path + "/web/images/no_image.png";
}else{
imagePath1 = filePath + "web/CH/" + projectCode + "/" + rockResonantHolecode[i] + "/ROCK_RESONANT/" + rockResonantImage[i];
imagePath1 = getImagePath( Path, imagePath1 );
imagePath1 = Path + "/files/web/CH/" + projectCode + "/" + rockResonantHolecode[i] + "/ROCK_RESONANT/" + rockResonantImage[i];
}
OOFFile file16 = oof.addFile("reb.root", realPath+"web\\preview\\RESONANT_ROCK.reb");
file16.addConnectionData("*", "oracle1");
@ -727,8 +686,7 @@ public class CommonController {
if("noImage".equals(rockJointshearImage)){
imagePath1 = Path + "/web/images/no_image.png";
}else{
imagePath1 = filePath + "web/CH/" + projectCode + "/" + rockJointshearHolecode + "/ROCK_JOINTSHEAR/" + rockJointshearImage;
imagePath1 = getImagePath( Path, imagePath1 );
imagePath1 = Path + "/files/web/CH/" + projectCode + "/" + rockJointshearHolecode + "/ROCK_JOINTSHEAR/" + rockJointshearImage;
}
OOFFile file17 = oof.addFile("reb.root", realPath+"web\\preview\\ROCK_JOINTSHEAR.reb");
file17.addConnectionData("*", "oracle1");
@ -780,8 +738,7 @@ public class CommonController {
if("noImage".equals(rockPointloadImage) ){
imagePath1 = Path + "/web/images/no_image.png";
}else{
imagePath1 = filePath + "web/CH/" + projectCode + "/" + rockPointloadHolecode + "/ROCK_POINTLOAD/" + rockPointloadImage;
imagePath1 = getImagePath( Path, imagePath1 );
imagePath1 = Path + "/files/web/CH/" + projectCode + "/" + rockPointloadHolecode + "/ROCK_POINTLOAD/" + rockPointloadImage;
}
OOFFile file18 = oof.addFile("reb.root", realPath+"web\\preview\\ROCK_POINTLOAD.reb");
file18.addConnectionData("*", "oracle1");
@ -826,8 +783,7 @@ public class CommonController {
if("noImage".equals((String)rockTri.get(0).get("graphImage")) || "noImage".equals(rockTriImage)){
imagePath1 = Path + "/web/images/no_image.png";
}else{
imagePath1 = filePath + "web/CH/" + projectCode + "/" + rockTriHolecode + "/ROCK_TRIAXIAL/" + rockTriImage;
imagePath1 = getImagePath( Path, imagePath1 );
imagePath1 = Path + "/files/web/CH/" + projectCode + "/" + rockTriHolecode + "/ROCK_TRIAXIAL/" + rockTriImage;
}
OOFFile file19 = oof.addFile("reb.root", realPath+"web\\preview\\ROCK_TRIAXIAL.reb");
file19.addConnectionData("*", "oracle1");
@ -883,14 +839,12 @@ public class CommonController {
if("noImage".equals(rockUni_image1)){
imagePath1 = Path + "/web/images/no_image.png";
}else{
imagePath1 = filePath + "web/CH/" + projectCode + "/" + rockUni_holecode + "/ROCK_UNIAXIAL/" + rockUni_image1;
imagePath1 = getImagePath( Path, imagePath1 );
imagePath1 = Path + "/files/web/CH/" + projectCode + "/" + rockUni_holecode + "/ROCK_UNIAXIAL/" + rockUni_image1;
}
if("noImage".equals(rockUni_image2) ){
imagePath2 = Path + "/web/images/no_image.png";
}else{
imagePath2 = filePath + "web/CH/" + projectCode + "/" + rockUni_holecode + "/ROCK_UNIAXIAL/" +rockUni_image2;
imagePath2 = getImagePath( Path, imagePath2 );
imagePath2 = Path + "/files/web/CH/" + projectCode + "/" + rockUni_holecode + "/ROCK_UNIAXIAL/" +rockUni_image2;
}
OOFFile file20 = oof.addFile("reb.root", realPath+"web\\preview\\ROCK_UNIAXIAL.reb");
@ -933,14 +887,12 @@ public class CommonController {
if("noImage".equals(cbrCompacImage1[0]) || "noImage".equals(cbrCompacImage1[i])){
imagePath1 = Path + "/web/images/no_image.png";
}else{
imagePath1 = filePath + "web/CH/" + projectCode + "/" + cbrCompacHolecode[i] + "/SAND_CBR/" + cbrCompacImage1[i];
imagePath1 = getImagePath( Path, imagePath1 );
imagePath1 = Path + "/files/web/CH/" + projectCode + "/" + cbrCompacHolecode[i] + "/SAND_CBR/" + cbrCompacImage1[i];
}
if("noImage".equals(cbrCompacImage2[0]) || "noImage".equals(cbrCompacImage2[i])){
imagePath2 = Path + "/web/images/no_image.png";
}else{
imagePath2 = filePath + "web/CH/" + projectCode + "/" + cbrCompacHolecode[i] + "/SAND_CBR/" + cbrCompacImage2[i];
imagePath2 = getImagePath( Path, imagePath1 );
imagePath2 = Path + "/files/web/CH/" + projectCode + "/" + cbrCompacHolecode[i] + "/SAND_CBR/" + cbrCompacImage2[i];
}
OOFFile file21 = oof.addFile("reb.root", realPath+"web\\preview\\SOIL_CBR.reb");
file21.addConnectionData("*", "oracle1");
@ -989,8 +941,7 @@ public class CommonController {
if("noImage".equals(classificationImage[0]) || "noImage".equals(classificationImage[i])){
imagePath1 = Path + "/web/images/no_image.png";
}else{
imagePath1 = filePath + "web/CH/" + projectCode + "/" + classificationHolecode[i] + "/SAND_CLASSIFICATION/" + classificationImage[i];
imagePath1 = getImagePath( Path, imagePath1 );
imagePath1 = Path + "/files/web/CH/" + projectCode + "/" + classificationHolecode[i] + "/SAND_CLASSIFICATION/" + classificationImage[i];
}
OOFFile file22 = oof.addFile("reb.root", realPath+"web\\preview\\SOIL_CLASSIFICATION.reb");
file22.addConnectionData("*", "oracle1");
@ -1044,8 +995,7 @@ public class CommonController {
if("noImage".equals(classificationImage2[0]) || "noImage".equals(classificationImage2[i])){
imagePath1 = Path + "/web/images/no_image.png";
}else{
imagePath1 = filePath + "web/CH/" + projectCode + "/" + classificationHolecode2[i] + "/SAND_CLASSIFICATION/" + classificationImage2[i];
imagePath1 = getImagePath( Path, imagePath1 );
imagePath1 = Path + "/files/web/CH/" + projectCode + "/" + classificationHolecode2[i] + "/SAND_CLASSIFICATION/" + classificationImage2[i];
}
OOFFile file30 = oof.addFile("reb.root", realPath+"web\\preview\\SOIL_CLASSIFICATION.reb");
file30.addConnectionData("*", "oracle1");
@ -1072,8 +1022,7 @@ public class CommonController {
if("noImage".equals(consolidationImage[0]) || "noImage".equals(consolidationImage[i])){
imagePath1 = Path + "/web/images/no_image.png";
}else{
imagePath1 = filePath + "web/CH/" + projectCode + "/" + consolidationHolecode[i] + "/SAND_CONSOLIDATION/" + consolidationImage[i];
imagePath1 = getImagePath( Path, imagePath1 );
imagePath1 = Path + "/files/web/CH/" + projectCode + "/" + consolidationHolecode[i] + "/SAND_CONSOLIDATION/" + consolidationImage[i];
}
OOFFile file23 = oof.addFile("reb.root", realPath+"web\\preview\\SOIL_CONSOLIDATION.reb");
@ -1115,14 +1064,12 @@ public class CommonController {
if("noImage".equals(triCuImage1[0]) || "noImage".equals(triCuImage1[0])){
imagePath1 = Path + "/web/images/no_image.png";
}else{
imagePath1 = filePath + "web/CH/" + projectCode + "/" + holeCode + "/SAND_TRIAXIAL/" + triCuImage1[0];
imagePath1 = getImagePath( Path, imagePath1 );
imagePath1 = Path + "/files/web/CH/" + projectCode + "/" + holeCode + "/SAND_TRIAXIAL/" + triCuImage1[0];
}
if("noImage".equals(triCuImage2[0]) || "noImage".equals(triCuImage2[0])){
imagePath2 = Path + "/web/images/no_image.png";
}else{
imagePath2 = filePath + "web/CH/" + projectCode + "/" + holeCode + "/SAND_TRIAXIAL/" + triCuImage2[0];
imagePath2 = getImagePath( Path, imagePath2 );
imagePath2 = Path + "/files/web/CH/" + projectCode + "/" + holeCode + "/SAND_TRIAXIAL/" + triCuImage2[0];
}
OOFFile file23 = oof.addFile("reb.root", realPath+"web\\preview\\SOIL_TRIAXIAL_CU.reb");
file23.addConnectionData("*", "oracle1");
@ -1191,14 +1138,12 @@ public class CommonController {
if("noImage".equals(triUuImage1[0]) || "noImage".equals(triUuImage1[0])){
imagePath1 = Path + "/web/images/no_image.png";
}else{
imagePath1 = filePath + "web/CH/" + projectCode + "/" + holeCode + "/SAND_TRIAXIAL/" + triUuImage1[0];
imagePath1 = getImagePath( Path, imagePath1 );
imagePath1 = Path + "/files/web/CH/" + projectCode + "/" + holeCode + "/SAND_TRIAXIAL/" + triUuImage1[0];
}
if("noImage".equals(triUuImage2[0]) || "noImage".equals(triUuImage2[0])){
imagePath2 = Path + "/web/images/no_image.png";
}else{
imagePath2 = filePath + "web/CH/" + projectCode + "/" + holeCode + "/SAND_TRIAXIAL/" + triUuImage2[0];
imagePath2 = getImagePath( Path, imagePath2 );
imagePath2 = Path + "/files/web/CH/" + projectCode + "/" + holeCode + "/SAND_TRIAXIAL/" + triUuImage2[0];
}
OOFFile file24 = oof.addFile("reb.root", realPath+"web\\preview\\SOIL_TRIAXIAL_UU.reb");
file24.addConnectionData("*", "oracle1");
@ -1252,8 +1197,7 @@ public class CommonController {
if("noImage".equals(unconfineImage[0]) || "noImage".equals(unconfineImage[i])){
imagePath1 = Path + "/web/images/no_image.png";
}else{
imagePath1 = filePath + "web/CH/" + projectCode + "/" + unconfineHolecode[i] + "/SAND_UNCONFINED/" + unconfineImage[i];
imagePath1 = getImagePath( Path, imagePath1 );
imagePath1 = Path + "/files/web/CH/" + projectCode + "/" + unconfineHolecode[i] + "/SAND_UNCONFINED/" + unconfineImage[i];
}
OOFFile file25 = oof.addFile("reb.root", realPath+"web\\preview\\SOIL_UNCONFINED.reb");
@ -1264,6 +1208,10 @@ public class CommonController {
file25.addField("sample_code", unconfineSamplecode[i]);
file25.addField("image1", imagePath1);
params.put("TEST_INFO_CODE", "SAND_UNCONFINED_USUAL");
params.put("HOLE_CODE", unconfineHolecode[i]);
// 단위중량의 단위를 구한다.
params.put("INI_UNIT", "kN/㎥");
params.put("ITEM_INFO_CODE", "UNCONF_UNDISTURB_RT");
@ -1365,8 +1313,7 @@ public class CommonController {
if("noImage".equals(densityImage[0]) || "noImage".equals(densityImage[i])){
imagePath = Path + "/web/images/no_image.png";
}else{
imagePath = filePath + "web/CH/" + projectCode + "/" + densityHolecode[i] + "/DENSITY/" + densityImage[i];
imagePath = getImagePath( Path, imagePath );
imagePath = Path + "/files/web/CH/" + projectCode + "/" + densityHolecode[i] + "/DENSITY/" + densityImage[i];
}
OOFFile file33 = oof.addFile("reb.root", realPath+"web\\service\\DENSITY.reb");
@ -1393,8 +1340,7 @@ public class CommonController {
if("noImage".equals(downholeImage[0]) || "noImage".equals(downholeImage[i])){
imagePath = Path + "/web/images/no_image.png";
}else{
imagePath = filePath + "web/CH/" + projectCode + "/" + downholeHolecode[i] + "/DOWNHOLE/" + downholeImage[i];
imagePath = getImagePath( Path, imagePath );
imagePath = Path + "/files/web/CH/" + projectCode + "/" + downholeHolecode[i] + "/DOWNHOLE/" + downholeImage[i];
}
OOFFile file34 = oof.addFile("reb.root", realPath+"web\\service\\DOWNHOLE.reb");
@ -1440,8 +1386,7 @@ public class CommonController {
if("noImage".equals(boreholeWaveImage[0]) || "noImage".equals(boreholeWaveImage[i])){
imagePath = Path + "/web/images/no_image.png";
}else{
imagePath = filePath + "web/CH/" + projectCode + "/" + boreholeWaveHolecode[i] + "/BOREHOLE_WAVE/" + boreholeWaveImage[i];
imagePath = getImagePath( Path, imagePath );
imagePath = Path + "/files/web/CH/" + projectCode + "/" + boreholeWaveHolecode[i] + "/BOREHOLE_WAVE/" + boreholeWaveImage[i];
}
OOFFile file35 = oof.addFile("reb.root", realPath+"web\\service\\BOREHOLE_WAVE.reb");
@ -1504,8 +1449,7 @@ public class CommonController {
if("noImage".equals(rockRepeatTriImage[0]) || "noImage".equals(rockRepeatTriImage[i])){
imagePath1 = Path + "/web/images/no_image.png";
}else{
imagePath1 = filePath + "web/CH/" + projectCode + "/" + rockRepeatTriHolecode[i] + "/ROCK_REPEATED/" + rockRepeatTriImage[i];
imagePath1 = getImagePath( Path, imagePath1 );
imagePath1 = Path + "/files/web/CH/" + projectCode + "/" + rockRepeatTriHolecode[i] + "/ROCK_REPEATED/" + rockRepeatTriImage[i];
}
OOFFile file36 = oof.addFile("reb.root", realPath+"web\\service\\REPEATED_U.reb");
file36.addConnectionData("*", "oracle1");
@ -1537,8 +1481,7 @@ public class CommonController {
if("noImage".equals(rockRepeatTriImage[0]) || "noImage".equals(rockRepeatTriImage[i])){
imagePath1 = Path + "/web/images/no_image.png";
}else{
imagePath1 = filePath + "web/CH/" + projectCode + "/" + rockRepeatTriHolecode[i] + "/ROCK_REPEATED/" + rockRepeatTriImage[i];
imagePath1 = getImagePath( Path, imagePath1 );
imagePath1 = Path + "/files/web/CH/" + projectCode + "/" + rockRepeatTriHolecode[i] + "/ROCK_REPEATED/" + rockRepeatTriImage[i];
}
OOFFile file72 = oof.addFile("reb.root", realPath+"web\\service\\REPEATED_U.reb");
file72.addConnectionData("*", "oracle1");
@ -1594,8 +1537,7 @@ public class CommonController {
if("noImage".equals(rockResonantImage[0]) || "noImage".equals(rockResonantImage[i])){
imagePath1 = Path + "/web/images/no_image.png";
}else{
imagePath1 = filePath + "web/CH/" + projectCode + "/" + rockResonantHolecode[i] + "/ROCK_RESONANT/" + rockResonantImage[i];
imagePath1 = getImagePath( Path, imagePath1 );
imagePath1 = Path + "/files/web/CH/" + projectCode + "/" + rockResonantHolecode[i] + "/ROCK_RESONANT/" + rockResonantImage[i];
}
OOFFile file37 = oof.addFile("reb.root", realPath+"web\\service\\RESONANT_ROCK.reb");
file37.addConnectionData("*", "oracle1");
@ -1668,8 +1610,7 @@ public class CommonController {
if("noImage".equals(rockResonantImage[0]) || "noImage".equals(rockResonantImage[i])){
imagePath1 = Path + "/web/images/no_image.png";
}else{
imagePath1 = filePath + "web/CH/" + projectCode + "/" + rockResonantHolecode[i] + "/ROCK_RESONANT/" + rockResonantImage[i];
imagePath1 = getImagePath( Path, imagePath1 );
imagePath1 = Path + "/files/web/CH/" + projectCode + "/" + rockResonantHolecode[i] + "/ROCK_RESONANT/" + rockResonantImage[i];
}
OOFFile file71 = oof.addFile("reb.root", realPath+"web\\service\\RESONANT_ROCK.reb");
file71.addConnectionData("*", "oracle1");
@ -1740,8 +1681,7 @@ public class CommonController {
if("noImage".equals(rockJointshearImage[0]) || "noImage".equals(rockJointshearImage[i])){
imagePath1 = Path + "/web/images/no_image.png";
}else{
imagePath1 = filePath + "web/CH/" + projectCode + "/" + rockJointshearHolecode[i] + "/ROCK_JOINTSHEAR/" + rockJointshearImage[i];
imagePath1 = getImagePath( Path, imagePath1 );
imagePath1 = Path + "/files/web/CH/" + projectCode + "/" + rockJointshearHolecode[i] + "/ROCK_JOINTSHEAR/" + rockJointshearImage[i];
}
OOFFile file39 = oof.addFile("reb.root", realPath+"web\\service\\ROCK_JOINTSHEAR.reb");
file39.addConnectionData("*", "oracle1");
@ -1820,8 +1760,7 @@ public class CommonController {
if("noImage".equals(rockJointshearImage[0]) || "noImage".equals(rockJointshearImage[i])){
imagePath1 = Path + "/web/images/no_image.png";
}else{
imagePath1 = filePath + "web/CH/" + projectCode + "/" + rockJointshearHolecode[i] + "/ROCK_JOINTSHEAR/" + rockJointshearImage[i];
imagePath1 = getImagePath( Path, imagePath1 );
imagePath1 = Path + "/files/web/CH/" + projectCode + "/" + rockJointshearHolecode[i] + "/ROCK_JOINTSHEAR/" + rockJointshearImage[i];
}
OOFFile file70 = oof.addFile("reb.root", realPath+"web\\service\\ROCK_JOINTSHEAR.reb");
file70.addConnectionData("*", "oracle1");
@ -1898,8 +1837,7 @@ public class CommonController {
if("noImage".equals(rockPointloadImage[0]) || "noImage".equals(rockPointloadImage[i])){
imagePath1 = Path + "/web/images/no_image.png";
}else{
imagePath1 = filePath + "web/CH/" + projectCode + "/" + rockPointloadHolecode[i] + "/ROCK_POINTLOAD/" + rockPointloadImage[i];
imagePath1 = getImagePath( Path, imagePath1 );
imagePath1 = Path + "/files/web/CH/" + projectCode + "/" + rockPointloadHolecode[i] + "/ROCK_POINTLOAD/" + rockPointloadImage[i];
}
OOFFile file40 = oof.addFile("reb.root", realPath+"web\\service\\ROCK_POINTLOAD.reb");
file40.addConnectionData("*", "oracle1");
@ -1962,8 +1900,7 @@ public class CommonController {
if("noImage".equals(rockPointloadImage[0]) || "noImage".equals(rockPointloadImage[i])){
imagePath1 = Path + "/web/images/no_image.png";
}else{
imagePath1 = filePath + "web/CH/" + projectCode + "/" + rockPointloadHolecode[i] + "/ROCK_POINTLOAD/" + rockPointloadImage[i];
imagePath1 = getImagePath( Path, imagePath1 );
imagePath1 = Path + "/files/web/CH/" + projectCode + "/" + rockPointloadHolecode[i] + "/ROCK_POINTLOAD/" + rockPointloadImage[i];
}
OOFFile file69 = oof.addFile("reb.root", realPath+"web\\service\\ROCK_POINTLOAD.reb");
file69.addConnectionData("*", "oracle1");
@ -2036,8 +1973,7 @@ public class CommonController {
if("noImage".equals(rockTriImage[0]) || "noImage".equals(rockTriImage[i])){
imagePath1 = Path + "/web/images/no_image.png";
}else{
imagePath1 = filePath + "web/CH/" + projectCode + "/" + rockTriHolecode[i] + "/ROCK_TRIAXIAL/" + rockTriImage[i];
imagePath1 = getImagePath( Path, imagePath1 );
imagePath1 = Path + "/files/web/CH/" + projectCode + "/" + rockTriHolecode[i] + "/ROCK_TRIAXIAL/" + rockTriImage[i];
}
OOFFile file41 = oof.addFile("reb.root", realPath+"web\\service\\ROCK_TRIAXIAL.reb");
file41.addConnectionData("*", "oracle1");
@ -2114,8 +2050,7 @@ public class CommonController {
if("noImage".equals(rockTriImage[0]) || "noImage".equals(rockTriImage[i])){
imagePath1 = Path + "/web/images/no_image.png";
}else{
imagePath1 = filePath + "web/CH/" + projectCode + "/" + rockTriHolecode[i] + "/ROCK_TRIAXIAL/" + rockTriImage[i];
imagePath1 = getImagePath( Path, imagePath1 );
imagePath1 = Path + "/files/web/CH/" + projectCode + "/" + rockTriHolecode[i] + "/ROCK_TRIAXIAL/" + rockTriImage[i];
}
OOFFile file68 = oof.addFile("reb.root", realPath+"web\\service\\ROCK_TRIAXIAL.reb");
file68.addConnectionData("*", "oracle1");
@ -2187,14 +2122,12 @@ public class CommonController {
if("noImage".equals(rockUniImage1[0]) || "noImage".equals(rockUniImage1[i])){
imagePath1 = Path + "/web/images/no_image.png";
}else{
imagePath1 = filePath + "web/CH/" + projectCode + "/" + rockUniHolecode[i] + "/ROCK_UNIAXIAL/" + rockUniImage1[i];
imagePath1 = getImagePath( Path, imagePath1 );
imagePath1 = Path + "/files/web/CH/" + projectCode + "/" + rockUniHolecode[i] + "/ROCK_UNIAXIAL/" + rockUniImage1[i];
}
if("noImage".equals(rockUniImage2[0]) || "noImage".equals(rockUniImage2[i])){
imagePath2 = Path + "/web/images/no_image.png";
}else{
imagePath2 = filePath + "web/CH/" + projectCode + "/" + rockUniHolecode[i] + "/ROCK_UNIAXIAL/" + rockUniImage2[i];
imagePath2 = getImagePath( Path, imagePath2 );
imagePath2 = Path + "/files/web/CH/" + projectCode + "/" + rockUniHolecode[i] + "/ROCK_UNIAXIAL/" + rockUniImage2[i];
}
OOFFile file42 = oof.addFile("reb.root", realPath+"web\\service\\ROCK_UNIAXIAL.reb");
file42.addConnectionData("*", "oracle1");
@ -2253,14 +2186,12 @@ public class CommonController {
if("noImage".equals(rockUniImage1[0]) || "noImage".equals(rockUniImage1[i])){
imagePath1 = Path + "/web/images/no_image.png";
}else{
imagePath1 = filePath + "web/CH/" + projectCode + "/" + rockUniHolecode[i] + "/ROCK_UNIAXIAL/" + rockUniImage1[i];
imagePath1 = getImagePath( Path, imagePath1 );
imagePath1 = Path + "/files/web/CH/" + projectCode + "/" + rockUniHolecode[i] + "/ROCK_UNIAXIAL/" + rockUniImage1[i];
}
if("noImage".equals(rockUniImage2[0]) || "noImage".equals(rockUniImage2[i])){
imagePath2 = Path + "/web/images/no_image.png";
}else{
imagePath2 = filePath + "web/CH/" + projectCode + "/" + rockUniHolecode[i] + "/ROCK_UNIAXIAL/" + rockUniImage2[i];
imagePath2 = getImagePath( Path, imagePath2 );
imagePath2 = Path + "/files/web/CH/" + projectCode + "/" + rockUniHolecode[i] + "/ROCK_UNIAXIAL/" + rockUniImage2[i];
}
OOFFile file67 = oof.addFile("reb.root", realPath+"web\\service\\ROCK_UNIAXIAL.reb");
file67.addConnectionData("*", "oracle1");
@ -2320,8 +2251,7 @@ public class CommonController {
if("noImage".equals(repeatTriImage[0]) || "noImage".equals(repeatTriImage[i])){
imagePath1 = Path + "/web/images/no_image.png";
}else{
imagePath1 = filePath + "web/CH/" + projectCode + "/" + repeatTriHolecode[i] + "/SAND_REPEATED/" + repeatTriImage[i];
imagePath1 = getImagePath( Path, imagePath1 );
imagePath1 = Path + "/files/web/CH/" + projectCode + "/" + repeatTriHolecode[i] + "/SAND_REPEATED/" + repeatTriImage[i];
}
OOFFile file43 = oof.addFile("reb.root", realPath+"web\\service\\REPEATED.reb");
file43.addConnectionData("*", "oracle1");
@ -2395,8 +2325,7 @@ public class CommonController {
if("noImage".equals(repeatTriImage[0]) || "noImage".equals(repeatTriImage[i])){
imagePath1 = Path + "/web/images/no_image.png";
}else{
imagePath1 = filePath + "web/CH/" + projectCode + "/" + repeatTriHolecode[i] + "/SAND_REPEATED/" + repeatTriImage[i];
imagePath1 = getImagePath( Path, imagePath1 );
imagePath1 = Path + "/files/web/CH/" + projectCode + "/" + repeatTriHolecode[i] + "/SAND_REPEATED/" + repeatTriImage[i];
}
OOFFile file66 = oof.addFile("reb.root", realPath+"web\\service\\REPEATED.reb");
file66.addConnectionData("*", "oracle1");
@ -2449,8 +2378,7 @@ public class CommonController {
if("noImage".equals(resonantImage[0]) || "noImage".equals(resonantImage[i])){
imagePath1 = Path + "/web/images/no_image.png";
}else{
imagePath1 = filePath + "web/CH/" + projectCode + "/" + resonantHolecode[i] + "/SAND_RESONANT/" + resonantImage[i];
imagePath1 = getImagePath( Path, imagePath1 );
imagePath1 = Path + "/files/web/CH/" + projectCode + "/" + resonantHolecode[i] + "/SAND_RESONANT/" + resonantImage[i];
}
OOFFile file44 = oof.addFile("reb.root", realPath+"web\\service\\RESONANT.reb");
file44.addConnectionData("*", "oracle1");
@ -2512,8 +2440,7 @@ public class CommonController {
if("noImage".equals(resonantImage[0]) || "noImage".equals(resonantImage[i])){
imagePath1 = Path + "/web/images/no_image.png";
}else{
imagePath1 = filePath + "web/CH/" + projectCode + "/" + resonantHolecode[i] + "/SAND_RESONANT/" + resonantImage[i];
imagePath1 = getImagePath( Path, imagePath1 );
imagePath1 = Path + "/files/web/CH/" + projectCode + "/" + resonantHolecode[i] + "/SAND_RESONANT/" + resonantImage[i];
}
OOFFile file65 = oof.addFile("reb.root", realPath+"web\\service\\RESONANT.reb");
file65.addConnectionData("*", "oracle1");
@ -2522,10 +2449,7 @@ public class CommonController {
file65.addField("rc_seq", resonantCode[i]);
file65.addField("image1", imagePath1);
for(int k =0; k <HoleCodeUnit.length; k++ ) {
if( HoleCodeUnit.length -1 < i ) {
break;
}
for(int k =0; k <HoleCodeUnit.length; k++ ){
if(HoleCodeUnit[k].equals(HoleCodeUnit[i])){
if(ItemInfoCode[k].equals("RC_DENSITY_IN_SITU")){
@ -2594,14 +2518,12 @@ public class CommonController {
if("noImage".equals(triUuImage1[0]) || "noImage".equals(triUuImage1[i])){
imagePath1 = Path + "/web/images/no_image.png";
}else{
imagePath1 = filePath + "web/CH/" + projectCode + "/" + holeCode + "/SAND_TRIAXIAL/" + triUuImage1[i];
imagePath1 = getImagePath( Path, imagePath1 );
imagePath1 = Path + "/files/web/CH/" + projectCode + "/" + holeCode + "/SAND_TRIAXIAL/" + triUuImage1[i];
}
if("noImage".equals(triUuImage2[0]) || "noImage".equals(triUuImage2[i])){
imagePath2 = Path + "/web/images/no_image.png";
}else{
imagePath2 = filePath + "web/CH/" + projectCode + "/" + holeCode + "/SAND_TRIAXIAL/" + triUuImage2[i];
imagePath2 = getImagePath( Path, imagePath2 );
imagePath2 = Path + "/files/web/CH/" + projectCode + "/" + holeCode + "/SAND_TRIAXIAL/" + triUuImage2[i];
}
OOFFile file45 = oof.addFile("reb.root", realPath+"web\\service\\SOIL_TRIAXIAL_UU.reb");
file45.addConnectionData("*", "oracle1");
@ -2680,14 +2602,12 @@ public class CommonController {
if("noImage".equals(triUuImage1[0]) || "noImage".equals(triUuImage1[i])){
imagePath1 = Path + "/web/images/no_image.png";
}else{
imagePath1 = filePath + "web/CH/" + projectCode + "/" + holeCode + "/SAND_TRIAXIAL/" + triUuImage1[i];
imagePath1 = getImagePath( Path, imagePath1 );
imagePath1 = Path + "/files/web/CH/" + projectCode + "/" + holeCode + "/SAND_TRIAXIAL/" + triUuImage1[i];
}
if("noImage".equals(triUuImage2[0]) || "noImage".equals(triUuImage2[i])){
imagePath2 = Path + "/web/images/no_image.png";
}else{
imagePath2 = filePath + "web/CH/" + projectCode + "/" + holeCode + "/SAND_TRIAXIAL/" + triUuImage2[i];
imagePath2 = getImagePath( Path, imagePath2 );
imagePath2 = Path + "/files/web/CH/" + projectCode + "/" + holeCode + "/SAND_TRIAXIAL/" + triUuImage2[i];
}
OOFFile file64 = oof.addFile("reb.root", realPath+"web\\service\\SOIL_TRIAXIAL_UU.reb");
file64.addConnectionData("*", "oracle1");
@ -2767,14 +2687,12 @@ public class CommonController {
if("noImage".equals(triCuImage1[0]) || "noImage".equals(triCuImage1[i])){
imagePath1 = Path + "/web/images/no_image.png";
}else{
imagePath1 = filePath + "web/CH/" + projectCode + "/" + holeCode + "/SAND_TRIAXIAL/" + triCuImage1[i];
imagePath1 = getImagePath( Path, imagePath1 );
imagePath1 = Path + "/files/web/CH/" + projectCode + "/" + holeCode + "/SAND_TRIAXIAL/" + triCuImage1[i];
}
if("noImage".equals(triCuImage2[0]) || "noImage".equals(triCuImage2[i])){
imagePath2 = Path + "/web/images/no_image.png";
}else{
imagePath2 = filePath + "web/CH/" + projectCode + "/" + holeCode + "/SAND_TRIAXIAL/" + triCuImage2[i];
imagePath2 = getImagePath( Path, imagePath2 );
imagePath2 = Path + "/files/web/CH/" + projectCode + "/" + holeCode + "/SAND_TRIAXIAL/" + triCuImage2[i];
}
OOFFile file46 = oof.addFile("reb.root", realPath+"web\\service\\SOIL_TRIAXIAL_CU.reb");
file46.addConnectionData("*", "oracle1");
@ -2854,14 +2772,12 @@ public class CommonController {
if("noImage".equals(triCuImage1[0]) || "noImage".equals(triCuImage1[i])){
imagePath1 = Path + "/web/images/no_image.png";
}else{
imagePath1 = filePath + "web/CH/" + projectCode + "/" + holeCode + "/SAND_TRIAXIAL/" + triCuImage1[i];
imagePath1 = getImagePath( Path, imagePath1 );
imagePath1 = Path + "/files/web/CH/" + projectCode + "/" + holeCode + "/SAND_TRIAXIAL/" + triCuImage1[i];
}
if("noImage".equals(triCuImage2[0]) || "noImage".equals(triCuImage2[i])){
imagePath2 = Path + "/web/images/no_image.png";
}else{
imagePath2 = filePath + "web/CH/" + projectCode + "/" + holeCode + "/SAND_TRIAXIAL/" + triCuImage2[i];
imagePath2 = getImagePath( Path, imagePath2 );
imagePath2 = Path + "/files/web/CH/" + projectCode + "/" + holeCode + "/SAND_TRIAXIAL/" + triCuImage2[i];
}
OOFFile file63 = oof.addFile("reb.root", realPath+"web\\service\\SOIL_TRIAXIAL_CU.reb");
file63.addConnectionData("*", "oracle1");
@ -2942,8 +2858,7 @@ public class CommonController {
if("noImage".equals(unconfineImage[0]) || "noImage".equals(unconfineImage[i])){
imagePath1 = Path + "/web/images/no_image.png";
}else{
imagePath1 = filePath + "web/CH/" + projectCode + "/" + unconfineHolecode[i] + "/SAND_UNCONFINED/" + unconfineImage[i];
imagePath1 = getImagePath( Path, imagePath1 );
imagePath1 = Path + "/files/web/CH/" + projectCode + "/" + unconfineHolecode[i] + "/SAND_UNCONFINED/" + unconfineImage[i];
}
OOFFile file47 = oof.addFile("reb.root", realPath+"web\\service\\SOIL_UNCONFINED.reb");
@ -3019,8 +2934,7 @@ public class CommonController {
if("noImage".equals(unconfineImage[0]) || "noImage".equals(unconfineImage[i])){
imagePath1 = Path + "/web/images/no_image.png";
}else{
imagePath1 = filePath + "web/CH/" + projectCode + "/" + unconfineHolecode[i] + "/SAND_UNCONFINED/" + unconfineImage[i];
imagePath1 = getImagePath( Path, imagePath1 );
imagePath1 = Path + "/files/web/CH/" + projectCode + "/" + unconfineHolecode[i] + "/SAND_UNCONFINED/" + unconfineImage[i];
}
OOFFile file62 = oof.addFile("reb.root", realPath+"web\\service\\SOIL_UNCONFINED.reb");
@ -3097,8 +3011,7 @@ public class CommonController {
if("noImage".equals(consolidationImage[0]) || "noImage".equals(consolidationImage[i])){
imagePath1 = Path + "/web/images/no_image.png";
}else{
imagePath1 = filePath + "web/CH/" + projectCode + "/" + consolidationHolecode[i] + "/SAND_CONSOLIDATION/" + consolidationImage[i];
imagePath1 = getImagePath( Path, imagePath1 );
imagePath1 = Path + "/files/web/CH/" + projectCode + "/" + consolidationHolecode[i] + "/SAND_CONSOLIDATION/" + consolidationImage[i];
}
OOFFile file48 = oof.addFile("reb.root", realPath+"web\\service\\SOIL_CONSOLIDATION.reb");
@ -3171,8 +3084,7 @@ public class CommonController {
if("noImage".equals(consolidationImage[0]) || "noImage".equals(consolidationImage[i])){
imagePath1 = Path + "/web/images/no_image.png";
}else{
imagePath1 = filePath + "web/CH/" + projectCode + "/" + consolidationHolecode[i] + "/SAND_CONSOLIDATION/" + consolidationImage[i];
imagePath1 = getImagePath( Path, imagePath1 );
imagePath1 = Path + "/files/web/CH/" + projectCode + "/" + consolidationHolecode[i] + "/SAND_CONSOLIDATION/" + consolidationImage[i];
}
OOFFile file60 = oof.addFile("reb.root", realPath+"web\\service\\SOIL_CONSOLIDATION.reb");
@ -3247,14 +3159,12 @@ public class CommonController {
if("noImage".equals(cbrCompacImage1[0]) || "noImage".equals(cbrCompacImage1[i])){
imagePath1 = Path + "/web/images/no_image.png";
}else{
imagePath1 = filePath + "web/CH/" + projectCode + "/" + cbrCompacHolecode[i] + "/SAND_CBR/" + cbrCompacImage1[i];
imagePath1 = getImagePath( Path, imagePath1 );
imagePath1 = Path + "/files/web/CH/" + projectCode + "/" + cbrCompacHolecode[i] + "/SAND_CBR/" + cbrCompacImage1[i];
}
if("noImage".equals(cbrCompacImage2[0]) || "noImage".equals(cbrCompacImage2[i])){
imagePath2 = Path + "/web/images/no_image.png";
}else{
imagePath2 = filePath + "web/CH/" + projectCode + "/" + cbrCompacHolecode[i] + "/SAND_CBR/" + cbrCompacImage2[i];
imagePath2 = getImagePath( Path, imagePath2 );
imagePath2 = Path + "/files/web/CH/" + projectCode + "/" + cbrCompacHolecode[i] + "/SAND_CBR/" + cbrCompacImage2[i];
}
OOFFile file49 = oof.addFile("reb.root", realPath+"web\\service\\SOIL_CBR.reb");
file49.addConnectionData("*", "oracle1");
@ -3319,14 +3229,12 @@ public class CommonController {
if("noImage".equals(cbrCompacImage1[0]) || "noImage".equals(cbrCompacImage1[i])){
imagePath1 = Path + "/web/images/no_image.png";
}else{
imagePath1 = filePath + "web/CH/" + projectCode + "/" + cbrCompacHolecode[i] + "/SAND_CBR/" + cbrCompacImage1[i];
imagePath1 = getImagePath( Path, imagePath1 );
imagePath1 = Path + "/files/web/CH/" + projectCode + "/" + cbrCompacHolecode[i] + "/SAND_CBR/" + cbrCompacImage1[i];
}
if("noImage".equals(cbrCompacImage2[0]) || "noImage".equals(cbrCompacImage2[i])){
imagePath2 = Path + "/web/images/no_image.png";
}else{
imagePath2 = filePath + "web/CH/" + projectCode + "/" + cbrCompacHolecode[i] + "/SAND_CBR/" + cbrCompacImage2[i];
imagePath2 = getImagePath( Path, imagePath2 );
imagePath2 = Path + "/files/web/CH/" + projectCode + "/" + cbrCompacHolecode[i] + "/SAND_CBR/" + cbrCompacImage2[i];
}
OOFFile file61 = oof.addFile("reb.root", realPath+"web\\service\\SOIL_CBR.reb");
file61.addConnectionData("*", "oracle1");
@ -3384,8 +3292,7 @@ public class CommonController {
if("noImage".equals(classificationImage2[0]) || "noImage".equals(classificationImage2[i])){
imagePath1 = Path + "/web/images/no_image.png";
}else{
imagePath1 = filePath + "web/CH/" + projectCode + "/" + classificationHolecode2[i] + "/SAND_CLASSIFICATION/" + classificationImage2[i];
imagePath1 = getImagePath( Path, imagePath1 );
imagePath1 = Path + "/files/web/CH/" + projectCode + "/" + classificationHolecode2[i] + "/SAND_CLASSIFICATION/" + classificationImage2[i];
}
OOFFile file50 = oof.addFile("reb.root", realPath+"web\\service\\SOIL_CLASSIFICATION.reb");
file50.addConnectionData("*", "oracle1");
@ -3431,8 +3338,7 @@ public class CommonController {
if("noImage".equals(classificationImage2[0]) || "noImage".equals(classificationImage2[i])){
imagePath1 = Path + "/web/images/no_image.png";
}else{
imagePath1 = filePath + "web/CH/" + projectCode + "/" + classificationHolecode2[i] + "/SAND_CLASSIFICATION/" + classificationImage2[i];
imagePath1 = getImagePath( Path, imagePath1 );
imagePath1 = Path + "/files/web/CH/" + projectCode + "/" + classificationHolecode2[i] + "/SAND_CLASSIFICATION/" + classificationImage2[i];
}
OOFFile file59 = oof.addFile("reb.root", realPath+"web\\service\\SOIL_CLASSIFICATION.reb");
file59.addConnectionData("*", "oracle1");
@ -3487,8 +3393,7 @@ public class CommonController {
if("noImage".equals(coneImage[0]) || "noImage".equals(coneImage[i])){
imagePath = Path + "/web/images/no_image.png";
}else{
imagePath = filePath + "web/CH/" + projectCode + "/" + coneHolecode[i] + "/CONE/" + coneImage[i];
imagePath = getImagePath( Path, imagePath );
imagePath = Path + "/files/web/CH/" + projectCode + "/" + coneHolecode[i] + "/CONE/" + coneImage[i];
}
OOFFile file52 = oof.addFile("reb.root", realPath+"web\\service\\FIELD_CONE_PENETRATION.reb");
file52.addConnectionData("*", "oracle1");
@ -3555,8 +3460,7 @@ public class CommonController {
if("noImage".equals(coneImage[0]) || "noImage".equals(coneImage[i])){
imagePath = Path + "/web/images/no_image.png";
}else{
imagePath = filePath + "web/CH/" + projectCode + "/" + coneHolecode[i] + "/CONE/" + coneImage[i];
imagePath = getImagePath( Path, imagePath );
imagePath = Path + "/files/web/CH/" + projectCode + "/" + coneHolecode[i] + "/CONE/" + coneImage[i];
}
OOFFile file58 = oof.addFile("reb.root", realPath+"web\\service\\FIELD_CONE_PENETRATION.reb");
file58.addConnectionData("*", "oracle1");
@ -3624,8 +3528,7 @@ public class CommonController {
if("noImage".equals(permeabilityImage[0]) || "noImage".equals(permeabilityImage[i])){
imagePath = Path + "/web/images/no_image.png";
}else{
imagePath = filePath + "web/CH/" + projectCode + "/" + permeabilityHolecode[i] + "/PERMEABILITY/" + permeabilityImage[i];
imagePath = getImagePath( Path, imagePath );
imagePath = Path + "/files/web/CH/" + projectCode + "/" + permeabilityHolecode[i] + "/PERMEABILITY/" + permeabilityImage[i];
}
OOFFile file53 = oof.addFile("reb.root", realPath+"web\\service\\FIELD_PERMEABILITY.reb");
file53.addConnectionData("*", "oracle1");
@ -3676,8 +3579,7 @@ public class CommonController {
if("noImage".equals(permeabilityImage[0]) || "noImage".equals(permeabilityImage[i])){
imagePath = Path + "/web/images/no_image.png";
}else{
imagePath = filePath + "web/CH/" + projectCode + "/" + permeabilityHolecode[i] + "/PERMEABILITY/" + permeabilityImage[i];
imagePath = getImagePath( Path, imagePath );
imagePath = Path + "/files/web/CH/" + projectCode + "/" + permeabilityHolecode[i] + "/PERMEABILITY/" + permeabilityImage[i];
}
OOFFile file56 = oof.addFile("reb.root", realPath+"web\\service\\FIELD_PERMEABILITY.reb");
file56.addConnectionData("*", "oracle1");
@ -3708,8 +3610,7 @@ public class CommonController {
if("noImage".equals(waterpressureImage[0]) || "noImage".equals(waterpressureImage[i])){
imagePath = Path + "/web/images/no_image.png";
}else{
imagePath = filePath + "web/CH/" + projectCode + "/" + waterpressureHolecode[i] + "/WATERPRESSURE/" + waterpressureImage[i];
imagePath = getImagePath( Path, imagePath );
imagePath = Path + "/files/web/CH/" + projectCode + "/" + waterpressureHolecode[i] + "/WATERPRESSURE/" + waterpressureImage[i];
}
OOFFile file54 = oof.addFile("reb.root", realPath+"web\\service\\FIELD_WATERPRESSURE.reb");
file54.addConnectionData("*", "oracle1");
@ -3742,8 +3643,7 @@ public class CommonController {
if("noImage".equals(waterpressureImage[0]) || "noImage".equals(waterpressureImage[i])){
imagePath = Path + "/web/images/no_image.png";
}else{
imagePath = filePath + "web/CH/" + projectCode + "/" + waterpressureHolecode[i] + "/WATERPRESSURE/" + waterpressureImage[i];
imagePath = getImagePath( Path, imagePath );
imagePath = Path + "/files/web/CH/" + projectCode + "/" + waterpressureHolecode[i] + "/WATERPRESSURE/" + waterpressureImage[i];
}
OOFFile file57 = oof.addFile("reb.root", realPath+"web\\service\\FIELD_WATERPRESSURE.reb");
file57.addConnectionData("*", "oracle1");
@ -3755,135 +3655,6 @@ public class CommonController {
}
//검색유통 공내재하시험
if(tblTestInfoCode.equals("TBL_FIELD_PRESSUREMETER")) {
EgovMap pressuremeter = masterService.getPressuremeter(params);
String pressuremeter_holecode = (String)pressuremeter.get("holeCode");
String pressuremeter_code = (String)pressuremeter.get("fieldprescode");
String pressuremeter_image = (String)pressuremeter.get("graphImage");
String pressuremeterHolecode[] = pressuremeter_holecode.split(",");
String pressuremeterCode[] = pressuremeter_code.split(",");
String pressuremeterImage[] = pressuremeter_image.split(",");
int pressuremeterCnt = pressuremeterHolecode.length;
for(int i=0; i<pressuremeterCnt; i++){
if( !pressuremeterHolecode[i].equals(holeCode.trim()) ) {
// 해당 시추공만 처리한다.
continue;
}
if("noImage".equals(pressuremeterImage[0]) || "noImage".equals(pressuremeterImage[i])){
imagePath = Path + "/web/images/no_image.png";
}else{
imagePath = filePath + "web/CH/" + projectCode + "/" + pressuremeterHolecode[i] + "/PRESSUREMETER/" + pressuremeterImage[i];
imagePath = getImagePath( Path, imagePath );
}
OOFFile file9 = oof.addFile("reb.root", realPath+"web\\service\\FIELD_PRESSUREMETER.reb");
file9.addConnectionData("*", "oracle1");
file9.addField("project_code", projectCode);
file9.addField("hole_code", pressuremeterHolecode[i]);
file9.addField("fieldpres_code", pressuremeterCode[i]);
file9.addField("image1", imagePath);
}
}
//검색유통 굴절법 탄성파
if(tblTestInfoCode.equals("TBL_REFRACTION_SURVEY")) {
EgovMap refraction = masterService.getRefractionSurvey(params);
String refraction_line ="";
String refraction_image1="";
String refraction_image2="";
refraction_line = String.valueOf(refraction.get("lineNumber"));
refraction_image1 =(String)refraction.get("graphImage1");
refraction_image2 =(String)refraction.get("graphImage2");
String refractionLine[] = refraction_line.split(",");
String refractionImage1[] = refraction_image1.split(",");
String refractionImage2[] = refraction_image2.split(",");
int refractionCnt = refractionLine.length;
int refractionImageCnt1 = refractionImage1.length;
int refractionImageCnt2 = refractionImage2.length;
oof = OOFDocument.newOOF();
oof.addConnectionData("*", "oracle1");
OOFFile file = oof.addFile("reb.root", realPath+"web\\service\\REFRACTION_SURVEY.reb");;
for(int i=0; i<refractionCnt; i++){
if("noImage".equals(refractionImage1[0]) || "noImage".equals(refractionImage1[i])){
imagePath1 = Path + "/web/images/no_image.png";
}else{
imagePath1 = filePath + "web/CH/" + projectCode + "/REFRACTION/" + refractionImage1[i];
imagePath1 = getImagePath( Path, imagePath1 );
}
if("noImage".equals(refractionImage2[0]) || "noImage".equals(refractionImage2[i])){
imagePath2 = Path + "/web/images/no_image.png";
}else{
imagePath2 = filePath + "web/CH/" + projectCode + "/REFRACTION/" + refractionImage2[i];
imagePath2 = getImagePath( Path, imagePath2 );
}
file.addField("project_code", projectCode);
file.addField("line_number", refractionLine[i]);
file.addField("image1", imagePath1);
file.addField("image2", imagePath2);
}
}
//검색유통 전기비저항탐사정보
if(tblTestInfoCode.equals("TBL_RESISTIVITY_SURVEY")) {
EgovMap resistivity = masterService.getResistivitySurvey(params);
String resistivity_line = String.valueOf(resistivity.get("lineNumber"));
String resistivity_image1 = (String)resistivity.get("graphImage1");
String resistivity_image2 = (String)resistivity.get("graphImage2");
String resistivityLine[] = resistivity_line.split(",");
String resistivityImage1[] = resistivity_image1.split(",");
String resistivityImage2[] = resistivity_image2.split(",");
int resistivityCnt = resistivityLine.length;
int resistivityImageCnt1 = resistivityImage1.length;
int resistivityImageCnt2 = resistivityImage2.length;
oof = OOFDocument.newOOF();
oof.addConnectionData("*", "oracle1");
OOFFile file = oof.addFile("reb.root", realPath+"web\\service\\RESISTIVITY_SURVEY.reb");;
for(int i=0; i<resistivityCnt; i++){
if("noImage".equals(resistivityImage1[0]) || "noImage".equals(resistivityImage1[i])){
imagePath1 = Path + "/web/images/no_image.png";
}else{
imagePath1 = filePath + "web/CH/" + projectCode + "/RESISTIVITY/" + resistivityImage1[i];
imagePath1 = getImagePath( Path, imagePath1 );
}
if("noImage".equals(resistivityImage2[0]) || "noImage".equals(resistivityImage2[i])){
imagePath2 = Path + "/web/images/no_image.png";
}else{
imagePath2 = filePath + "web/CH/" + projectCode + "/RESISTIVITY/" + resistivityImage2[i];
imagePath2 = getImagePath( Path, imagePath2 );
}
file.addField("project_code", projectCode);
file.addField("line_number", resistivityLine[i]);
file.addField("image1", imagePath1);
file.addField("image2", imagePath2);
}
}
//검색유통 주상도 표준관입 + TCR/RQD주상도
if(tblTestInfoCode.equals("TBL_HOLE")) {
/* List<EgovMap> result = regiService.getHoleCode(params);

View File

@ -92,7 +92,7 @@ public class ProjectListController {
jsonObject.put("resultCode", "The name already exists.");
jsonObject.put("message", "해당 사업명이 이미 있습니다. 다른 사업명으로 입력해 주세요. code 2");
}
} else if( false && 0 < arrConstNameByProjectNameFromTempConstructSiteInfo.size() ) {
} else if( 0 < arrConstNameByProjectNameFromTempConstructSiteInfo.size() ) {
jsonObject.put("result", "false");
jsonObject.put("resultCode", "The name already exists.");
jsonObject.put("message", "해당 사업명이 이미 있습니다. 다른 사업명으로 입력해 주세요. code 3");

View File

@ -444,8 +444,6 @@ public final class MyUtil {
return ((Long) obj).intValue();
} else if (obj instanceof Double) {
return ((Long)Math.round((Double)obj)).intValue();
} else if (obj instanceof BigDecimal) {
return ((BigDecimal)obj).intValue();
}
return null;
@ -849,29 +847,5 @@ public final class MyUtil {
return params;
}
/**
* return
* @param target
* @return
* @throws Exception
*/
public static String removeBlank( Object target ) throws Exception {
String str = getStringFromObject( target );
if( str != null ) {
str = str.replaceAll("\\s", "");
}
return str;
}
public static String removeBlank( String target ) throws Exception {
return removeBlank( (Object) target );
}
}

View File

@ -1,576 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="geoinfo.api.geoinfo.service.GeoinfoApiV1Mapper">
<!-- ================================================================================================== -->
<!-- 프로젝트 정보 (Project Info) -->
<!-- ================================================================================================== -->
<select id="spGetTblProjectInfo" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_PROJECT_INFO(
#{prjCode, jdbcType=VARCHAR},
#{prjName, jdbcType=VARCHAR},
#{mastCompany, jdbcType=VARCHAR},
#{addr, jdbcType=VARCHAR},
#{startDate, jdbcType=VARCHAR},
#{endDate, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblProjectInfo" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_PROJECT_INFO(
#{prjCode, jdbcType=VARCHAR},
#{prjName, jdbcType=VARCHAR},
#{mastCompany, jdbcType=VARCHAR},
#{addr, jdbcType=VARCHAR},
#{startDate, jdbcType=VARCHAR},
#{endDate, jdbcType=VARCHAR}
) FROM DUAL
</select>
<select id="spGetSelectclassInfoP" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_SELECTCLASS_INFO_P(
#{projCode, jdbcType=VARCHAR}
))
</select>
<select id="spGetSelectclassInfoPh" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_SELECTCLASS_INFO_PH(
#{projCode, jdbcType=VARCHAR}
))
</select>
<select id="spGetTblTopoGeology" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_TOPO_GEOLOGY(
#{projCode, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblTopoGeology" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_TOPO_GEOLOGY(
#{projCode, jdbcType=VARCHAR}
) FROM DUAL
</select>
<select id="spGetTblResistivitySurvey" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_RESISTIVITY_SURVEY(
#{projCode, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblResistivitySurvey" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_RESISTIVITY_SURVEY(
#{projCode, jdbcType=VARCHAR}
) FROM DUAL
</select>
<select id="spGetTblRefractionSurvey" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_REFRACTION_SURVEY(
#{projCode, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblRefractionSurvey" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_REFRACTION_SURVEY(
#{projCode, jdbcType=VARCHAR}
) FROM DUAL
</select>
<!-- ================================================================================================== -->
<!-- 시추공 정보 (Borehole Info) -->
<!-- ================================================================================================== -->
<select id="spGetTblHeader" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_HEADER(
#{prjCode, jdbcType=VARCHAR},
#{holeCode, jdbcType=VARCHAR},
#{holeName, jdbcType=VARCHAR},
#{addr, jdbcType=VARCHAR},
#{minX, jdbcType=DECIMAL},
#{minY, jdbcType=DECIMAL},
#{maxX, jdbcType=DECIMAL},
#{maxY, jdbcType=DECIMAL},
#{startDate, jdbcType=VARCHAR},
#{endDate, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblHeader" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_HEADER(
#{prjCode, jdbcType=VARCHAR},
#{holeCode, jdbcType=VARCHAR},
#{holeName, jdbcType=VARCHAR},
#{addr, jdbcType=VARCHAR},
#{minX, jdbcType=DECIMAL},
#{minY, jdbcType=DECIMAL},
#{maxX, jdbcType=DECIMAL},
#{maxY, jdbcType=DECIMAL},
#{startDate, jdbcType=VARCHAR},
#{endDate, jdbcType=VARCHAR}
) FROM DUAL
</select>
<select id="spGetSelectclassInfoH" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_SELECTCLASS_INFO_H(
#{holeCode, jdbcType=VARCHAR}
))
</select>
<!-- ================================================================================================== -->
<!-- 시추공 부속 정보 (Borehole Appendix) -->
<!-- ================================================================================================== -->
<!-- 지층/시료 정보 -->
<select id="spGetTblLayerInfo" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_LAYER_INFO(
#{holeCode, jdbcType=VARCHAR},
#{layerCode, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblLayerInfo" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_LAYER_INFO(
#{holeCode, jdbcType=VARCHAR},
#{layerCode, jdbcType=VARCHAR}
) FROM DUAL
</select>
<select id="spGetTblSampleInfo" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_SAMPLE_INFO(
#{holeCode, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblSampleInfo" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_SAMPLE_INFO(
#{holeCode, jdbcType=VARCHAR}
) FROM DUAL
</select>
<!-- 현장 시험 -->
<select id="spGetTblSpt" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_SPT(
#{holeCode, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblSpt" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_SPT(
#{holeCode, jdbcType=VARCHAR}
) FROM DUAL
</select>
<select id="spGetTblSlickensideInfo" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_SLICKENSIDE_INFO(
#{holeCode, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblSlickensideInfo" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_SLICKENSIDE_INFO(
#{holeCode, jdbcType=VARCHAR}
) FROM DUAL
</select>
<select id="spGetTblRqd" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_RQD(
#{holeCode, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblRqd" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_RQD(
#{holeCode, jdbcType=VARCHAR}
) FROM DUAL
</select>
<select id="spGetTblDsf" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_DSF(
#{holeCode, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblDsf" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_DSF(
#{holeCode, jdbcType=VARCHAR}
) FROM DUAL
</select>
<select id="spGetTblRmr" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_RMR(
#{holeCode, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblRmr" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_RMR(
#{holeCode, jdbcType=VARCHAR}
) FROM DUAL
</select>
<select id="spGetTblQ" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_Q(
#{holeCode, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblQ" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_Q(
#{holeCode, jdbcType=VARCHAR}
) FROM DUAL
</select>
<select id="spGetTblFieldWaterpressure" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_FIELD_WATERPRESSURE(
#{holeCode, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblFieldWaterpressure" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_FIELD_WATERPRESSURE(
#{holeCode, jdbcType=VARCHAR}
) FROM DUAL
</select>
<select id="spGetTblWpTest" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_WP_TEST(
#{holeCode, jdbcType=VARCHAR},
#{wpCode, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblWpTest" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_WP_TEST(
#{holeCode, jdbcType=VARCHAR},
#{wpCode, jdbcType=VARCHAR}
) FROM DUAL
</select>
<select id="spGetTblFieldPermeability" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_FIELD_PERMEABILITY(
#{holeCode, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblFieldPermeability" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_FIELD_PERMEABILITY(
#{holeCode, jdbcType=VARCHAR}
) FROM DUAL
</select>
<select id="spGetTblFieldperSub" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_FIELDPER_SUB(
#{holeCode, jdbcType=VARCHAR},
#{fielderCode, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblFieldperSub" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_FIELDPER_SUB(
#{holeCode, jdbcType=VARCHAR},
#{fielderCode, jdbcType=VARCHAR}
) FROM DUAL
</select>
<select id="spGetTblFieldPressuremeter" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_FIELD_PRESSUREMETER(
#{holeCode, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblFieldPressuremeter" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_FIELD_PRESSUREMETER(
#{holeCode, jdbcType=VARCHAR}
) FROM DUAL
</select>
<select id="spGetTblFieldConePenetra" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_FIELD_CONE_PENETRA(
#{holeCode, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblFieldConePenetra" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_FIELD_CONE_PENETRA(
#{holeCode, jdbcType=VARCHAR}
) FROM DUAL
</select>
<select id="spGetTblBoreholeWave" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_BOREHOLE_WAVE(
#{holeCode, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblBoreholeWave" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_BOREHOLE_WAVE(
#{holeCode, jdbcType=VARCHAR}
) FROM DUAL
</select>
<select id="spGetTblDownhole" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_DOWNHOLE(
#{holeCode, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblDownhole" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_DOWNHOLE(
#{holeCode, jdbcType=VARCHAR}
) FROM DUAL
</select>
<select id="spGetTblDensity" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_DENSITY(
#{holeCode, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblDensity" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_DENSITY(
#{holeCode, jdbcType=VARCHAR}
) FROM DUAL
</select>
<!-- 실내 시험 -->
<select id="spGetTblClassification" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_CLASSIFICATION(
#{holeCode, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblClassification" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_CLASSIFICATION(
#{holeCode, jdbcType=VARCHAR}
) FROM DUAL
</select>
<select id="spGetTblCbrCompac" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_CBR_COMPAC(
#{holeCode, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblCbrCompac" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_CBR_COMPAC(
#{holeCode, jdbcType=VARCHAR}
) FROM DUAL
</select>
<select id="spGetTblConsolidationUsual" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_CONSOLIDATION_USUAL(
#{holeCode, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblConsolidationUsual" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_CONSOLIDATION_USUAL(
#{holeCode, jdbcType=VARCHAR}
) FROM DUAL
</select>
<select id="spGetTblConsolidation" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_CONSOLIDATION(
#{holeCode, jdbcType=VARCHAR},
#{sampleCode, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblConsolidation" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_CONSOLIDATION(
#{holeCode, jdbcType=VARCHAR},
#{sampleCode, jdbcType=VARCHAR}
) FROM DUAL
</select>
<select id="spGetTblUnconfinedUsual" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_UNCONFINED_USUAL(
#{holeCode, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblUnconfinedUsual" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_UNCONFINED_USUAL(
#{holeCode, jdbcType=VARCHAR}
) FROM DUAL
</select>
<select id="spGetTblTriaxialUsual" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_TRIAXIAL_USUAL(
#{holeCode, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblTriaxialUsual" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_TRIAXIAL_USUAL(
#{holeCode, jdbcType=VARCHAR}
) FROM DUAL
</select>
<select id="spGetTblTriaxialCu" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_TRIAXIAL_CU(
#{holeCode, jdbcType=VARCHAR},
#{sampleCode, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblTriaxialCu" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_TRIAXIAL_CU(
#{holeCode, jdbcType=VARCHAR},
#{sampleCode, jdbcType=VARCHAR}
) FROM DUAL
</select>
<select id="spGetTblTriaxialUu" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_TRIAXIAL_UU(
#{holeCode, jdbcType=VARCHAR},
#{sampleCode, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblTriaxialUu" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_TRIAXIAL_UU(
#{holeCode, jdbcType=VARCHAR},
#{sampleCode, jdbcType=VARCHAR}
) FROM DUAL
</select>
<select id="spGetTblResonantUsual" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_RESONANT_USUAL(
#{holeCode, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblResonantUsual" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_RESONANT_USUAL(
#{holeCode, jdbcType=VARCHAR}
) FROM DUAL
</select>
<select id="spGetTblResonant" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_RESONANT(
#{holeCode, jdbcType=VARCHAR},
#{sampleCode, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblResonant" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_RESONANT(
#{holeCode, jdbcType=VARCHAR},
#{sampleCode, jdbcType=VARCHAR}
) FROM DUAL
</select>
<select id="spGetTblRepeatedTriaxialU" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_REPEATED_TRIAXIAL_U(
#{holeCode, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblRepeatedTriaxialU" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_REPEATED_TRIAXIAL_U(
#{holeCode, jdbcType=VARCHAR}
) FROM DUAL
</select>
<select id="spGetTblRepeatedTriaxial" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_REPEATED_TRIAXIAL(
#{holeCode, jdbcType=VARCHAR},
#{sampleCode, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblRepeatedTriaxial" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_REPEATED_TRIAXIAL(
#{holeCode, jdbcType=VARCHAR},
#{sampleCode, jdbcType=VARCHAR}
) FROM DUAL
</select>
<!-- 암석 시험 -->
<select id="spGetTblRockUniaxial" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_ROCK_UNIAXIAL(
#{holeCode, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblRockUniaxial" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_ROCK_UNIAXIAL(
#{holeCode, jdbcType=VARCHAR}
) FROM DUAL
</select>
<select id="spGetTblRockTriaxial" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_ROCK_TRIAXIAL(
#{holeCode, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblRockTriaxial" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_ROCK_TRIAXIAL(
#{holeCode, jdbcType=VARCHAR}
) FROM DUAL
</select>
<select id="spGetTblRockPointload" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_ROCK_POINTLOAD(
#{holeCode, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblRockPointload" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_ROCK_POINTLOAD(
#{holeCode, jdbcType=VARCHAR}
) FROM DUAL
</select>
<select id="spGetTblRockJointshear" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_ROCK_JOINTSHEAR(
#{holeCode, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblRockJointshear" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_ROCK_JOINTSHEAR(
#{holeCode, jdbcType=VARCHAR}
) FROM DUAL
</select>
<select id="spGetTblRockResonantUsual" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_ROCK_RESONANT_USUAL(
#{holeCode, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblRockResonantUsual" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_ROCK_RESONANT_USUAL(
#{holeCode, jdbcType=VARCHAR}
) FROM DUAL
</select>
<select id="spGetTblRockReptTriU" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_ROCK_REPT_TRI_U(
#{holeCode, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblRockReptTriU" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_ROCK_REPT_TRI_U(
#{holeCode, jdbcType=VARCHAR}
) FROM DUAL
</select>
<select id="spGetTblRockReptTri" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_ROCK_REPT_TRI(
#{holeCode, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblRockReptTri" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_ROCK_REPT_TRI(
#{holeCode, jdbcType=VARCHAR}
) FROM DUAL
</select>
</mapper>

View File

@ -16,7 +16,6 @@
#{masterCompanyThCode, jdbcType=VARCHAR},
#{masterCompanyName, jdbcType=VARCHAR},
#{constCompanyName, jdbcType=VARCHAR},
#{constComCodes, jdbcType=VARCHAR},
#{constCompanyAdmin, jdbcType=VARCHAR},
#{constCompanyTel, jdbcType=VARCHAR},
NULL
@ -25,33 +24,12 @@
<select id="spGetTblCsiByKeyword" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_CSI_BY_KEYWORD(
#{constTag, jdbcType=VARCHAR},
#{constName, jdbcType=VARCHAR},
#{constStartDate, jdbcType=VARCHAR},
#{constEndDate, jdbcType=VARCHAR},
#{constStateCode, jdbcType=VARCHAR},
#{masterCompanyOCode, jdbcType=VARCHAR},
#{masterCompanyTwCode, jdbcType=VARCHAR},
#{masterCompanyThCode, jdbcType=VARCHAR},
#{masterCompanyName, jdbcType=VARCHAR},
#{constCompanyName, jdbcType=VARCHAR},
#{constComCodes, jdbcType=VARCHAR},
#{constCompanyAdmin, jdbcType=VARCHAR},
#{constCompanyTel, jdbcType=VARCHAR},
NULL,
#{constTag, jdbcType=VARCHAR},#{constName, jdbcType=VARCHAR},#{constStartDate, jdbcType=VARCHAR},#{constEndDate, jdbcType=VARCHAR},#{constStateCode, jdbcType=VARCHAR},
#{masterCompanyOCode, jdbcType=VARCHAR},#{masterCompanyTwCode, jdbcType=VARCHAR},#{masterCompanyThCode, jdbcType=VARCHAR}, #{masterCompanyName, jdbcType=VARCHAR},
#{constCompanyName, jdbcType=VARCHAR},#{constCompanyAdmin, jdbcType=VARCHAR},#{constCompanyTel, jdbcType=VARCHAR},NULL,
2,2,#{nCount},#{nPage}))
</select>
<select id="getComCodes" parameterType="map" resultType="String">
SELECT
LISTAGG(COM_CODE, ',') WITHIN GROUP (
ORDER BY COM_CODE) AS COM_CODES
FROM
TBL_CONST_COMPANY
WHERE
REPLACE(COM_NAME, ' ', '') LIKE '%' || #{constCompanyName} || '%'
</select>
<select id="spGetConstCompanyName" parameterType="Long" resultType="String">
SELECT SP_GET_CONST_COMPANY_NAME(#{constCompanyCode}) FROM DUAL
</select>
@ -74,8 +52,7 @@
tgmd.GM_DISTRICT,
tgsd.GS_DISTRICT,
tcsi.CID,
tcsi.CONST_NAME,
tcsi.CONST_START_DATE
tcsi.CONST_NAME
FROM
TEMP_CONSTRUCT_SITE_INFO tcsi
LEFT JOIN (
@ -114,15 +91,6 @@
WHERE
tcsi.PROJECT_CODE IS NULL AND
tcsi.CONST_NAME LIKE '%' || #{projectName} || '%'
<if test="glDistrict != null">
<![CDATA[ AND tgld.GL_CODE = #{glDistrict} ]]>
</if>
<if test="gmDistrict != null">
<![CDATA[ AND tgmd.GM_CODE = #{gmDistrict} ]]>
</if>
<if test="gsDistrict != null">
<![CDATA[ AND tgsd.GS_CODE = #{gsDistrict} ]]>
</if>
ORDER BY tcsi.CRT_DT DESC
</select>

View File

@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="geoinfo.drilling.statistics.service.DrillingStatisticsMapper">
</mapper>

View File

@ -184,15 +184,9 @@
FROM VI_DBINFO_DATE
WHERE 1=1
]]>
<!-- <if test = "startDate != '0000' and startDate != null"> -->
<!-- <![CDATA[ AND (SUBSTR(TO_CHAR(START_DATE),0,4) >= #{startDate} AND SUBSTR(TO_CHAR(END_DATE),0,4) <= #{endDate}) ]]> -->
<!-- </if> -->
<if test = "startDate != null and startDate != '' and startDate != 'null'">
AND (SUBSTR(TO_CHAR(START_DATE),0,4) <![CDATA[>=]]> #{startDate})
</if>
<if test = "endDate != null and endDate != '' and endDate != 'null'">
AND (SUBSTR(TO_CHAR(END_DATE),0,4) <![CDATA[<=]]> #{endDate})
</if>
<if test = "startDate != '0000' and startDate != null">
<![CDATA[ AND (SUBSTR(TO_CHAR(START_DATE),0,4) >= #{startDate} AND SUBSTR(TO_CHAR(END_DATE),0,4) <= #{endDate}) ]]>
</if>
<if test = "searchKey != null">
<![CDATA[ AND REPLACE(PNAME, ' ', '') LIKE '%' || #{searchKey} || '%' ]]>
</if>

View File

@ -152,17 +152,17 @@
]]>
</select>
<select id="selectSearchPass" resultType="org.apache.commons.collections.map.CaseInsensitiveMap">
<![CDATA[
SELECT CLS, USER_NAME, USERID, PASSWD, TO_CHAR(DATETIME,'YYYY-MM-DD') DATETIME, CERTIFICATION_YN
FROM WEB_MEMBER_IN
WHERE
TRIM(USERID) = TRIM(#{userId}) AND
TRIM(USER_NAME) = TRIM(#{name}) AND
TRIM(CLS) = TRIM(#{cls}) AND
TRIM(EMAIL) = TRIM(#{email})
]]>
</select>
<select id="selectSearchPass" resultType="org.apache.commons.collections.map.CaseInsensitiveMap">
<![CDATA[
SELECT CLS, USER_NAME, USERID, PASSWD, TO_CHAR(DATETIME,'YYYY-MM-DD') DATETIME, CERTIFICATION_YN
FROM WEB_MEMBER_IN
WHERE
TRIM(USERID) = TRIM(#{userId}) AND
TRIM(USER_NAME) = TRIM(#{name}) AND
TRIM(CLS) = TRIM(#{cls}) AND
TRIM(EMAIL) = TRIM(#{email})
]]>
</select>
<update id="updateSearchPassch">
<![CDATA[

View File

@ -803,14 +803,4 @@
]]>
</select>
<select id="holeNameByUser" parameterType="map" resultType="egovMap">
<![CDATA[
select th.HOLE_NAME
from TBL_HEADER th
WHERE th.HOLE_CODE = #{CODE}
]]>
</select>
</mapper>

View File

@ -339,24 +339,6 @@
]]>
</select>
<select id="selectTempProjectInfo" parameterType="map" resultType="egovMap">
<![CDATA[
SELECT
PROJECT_CODE,
PROJECT_NAME,
(SELECT CLASS_DETAIL_NAME FROM TBL_CLASS_DETAIL WHERE CLASS_DETAIL_CODE = A.CLASS_CODE) CLASS_NAME,
PROJECT_START_DATE,
PROJECT_END_DATE,
PROJECT_GOAL AS PRO_GOAL,
(SELECT MAX(LINE_NUMBER) FROM TBL_REFRACTION_SURVEY_SUB WHERE PROJECT_CODE=#{pcode}) AS REFRACTION_COUNT,
(SELECT MAX(LINE_NUMBER) FROM TBL_RESISTIVITY_SURVEY_SUB WHERE PROJECT_CODE=#{pcode}) AS RESISTIVITY_COUNT
FROM
TEMP_PROJECT_INFO A
WHERE
NVL(A.USE_YN,' ') <> 'N' AND TRIM(PROJECT_CODE) = #{pcode}
]]>
</select>
<select id="selectGetHoleCodeInfo" parameterType="map" resultType="egovMap">
<![CDATA[
SELECT B.*,
@ -1451,32 +1433,4 @@
</select>
<select id="sPCntTblCsiByKeyword" parameterType="map" resultType="long">
SELECT SP_CNT_TBL_CSI_BY_KEYWORD(
#{constTag, jdbcType=VARCHAR},
#{constName, jdbcType=VARCHAR},
#{constStartDate, jdbcType=VARCHAR},
#{constEndDate, jdbcType=VARCHAR},
#{constStateCode, jdbcType=VARCHAR},
#{masterCompanyOCode, jdbcType=VARCHAR},
#{masterCompanyTwCode, jdbcType=VARCHAR},
#{masterCompanyThCode, jdbcType=VARCHAR},
#{masterCompanyName, jdbcType=VARCHAR},
#{constCompanyName, jdbcType=VARCHAR},
#{constCompanyAdmin, jdbcType=VARCHAR},
#{constCompanyTel, jdbcType=VARCHAR},
NULL
) FROM DUAL
</select>
<select id="spGetTblCsiByKeyword" parameterType="map" resultType="egovMap">
SELECT const_name AS project_name,
project_code,
project_hole_number AS hole_cnt
FROM TABLE(SP_GET_TBL_CSI_BY_KEYWORD(
#{constTag, jdbcType=VARCHAR},#{constName, jdbcType=VARCHAR},#{constStartDate, jdbcType=VARCHAR},#{constEndDate, jdbcType=VARCHAR},#{constStateCode, jdbcType=VARCHAR},
#{masterCompanyOCode, jdbcType=VARCHAR},#{masterCompanyTwCode, jdbcType=VARCHAR},#{masterCompanyThCode, jdbcType=VARCHAR}, #{masterCompanyName, jdbcType=VARCHAR},
#{constCompanyName, jdbcType=VARCHAR},#{constCompanyAdmin, jdbcType=VARCHAR},#{constCompanyTel, jdbcType=VARCHAR},NULL,
2,2,#{nCount},#{nPage}))
</select>
</mapper>

View File

@ -87,12 +87,12 @@
<!-- 현장수압시험 -->
<if test="waterpressure == 'on'">
AND EXISTS (SELECT 1 FROM TBL_FIELD_WATERPRESSURE C WHERE B.HOLE_CODE = C.HOLE_CODE )
AND EXISTS (SELECT 1 FROM TBL_FIELD_PERMEABILITY C WHERE B.HOLE_CODE = C.HOLE_CODE )
</if>
<!-- 현장투수시험 -->
<if test="permeability == 'on'">
AND EXISTS (SELECT 1 FROM TBL_FIELD_PERMEABILITY C WHERE B.HOLE_CODE = C.HOLE_CODE )
AND EXISTS (SELECT 1 FROM TBL_FIELD_WATERPRESSURE C WHERE B.HOLE_CODE = C.HOLE_CODE )
</if>
<!-- 점하중 -->
@ -276,13 +276,13 @@
<!-- 현장수압시험 -->
<if test="waterpressure == 'on'">
UNION ALL
SELECT DISTINCT HOLE_CODE FROM TBL_FIELD_WATERPRESSURE
SELECT DISTINCT HOLE_CODE FROM TBL_FIELD_PERMEABILITY
</if>
<!-- 현장투수시험 -->
<if test="permeability == 'on'">
UNION ALL
SELECT DISTINCT HOLE_CODE FROM TBL_FIELD_PERMEABILITY
SELECT DISTINCT HOLE_CODE FROM TBL_FIELD_WATERPRESSURE
</if>
<!-- 점하중 -->
@ -496,12 +496,12 @@
<!-- 현장수압시험 -->
<if test="waterpressure == 'on'">
AND EXISTS (SELECT 1 FROM TBL_FIELD_WATERPRESSURE C WHERE B.HOLE_CODE = C.HOLE_CODE )
AND EXISTS (SELECT 1 FROM TBL_FIELD_PERMEABILITY C WHERE B.HOLE_CODE = C.HOLE_CODE )
</if>
<!-- 현장투수시험 -->
<if test="permeability == 'on'">
AND EXISTS (SELECT 1 FROM TBL_FIELD_PERMEABILITY C WHERE B.HOLE_CODE = C.HOLE_CODE )
AND EXISTS (SELECT 1 FROM TBL_FIELD_WATERPRESSURE C WHERE B.HOLE_CODE = C.HOLE_CODE )
</if>
<!-- 점하중 -->
@ -685,13 +685,13 @@
<!-- 현장수압시험 -->
<if test="waterpressure == 'on'">
UNION ALL
SELECT DISTINCT HOLE_CODE FROM TBL_FIELD_WATERPRESSURE
SELECT DISTINCT HOLE_CODE FROM TBL_FIELD_PERMEABILITY
</if>
<!-- 현장투수시험 -->
<if test="permeability == 'on'">
UNION ALL
SELECT DISTINCT HOLE_CODE FROM TBL_FIELD_PERMEABILITY
SELECT DISTINCT HOLE_CODE FROM TBL_FIELD_WATERPRESSURE
</if>
<!-- 점하중 -->

View File

@ -24,14 +24,8 @@ $(function(){
endDate = endDate.replaceAll("&", "&amp;amp;");
endDate = endDate.replaceAll("\"", "&amp;quot;");
%>
<%-- document.getElementById('startDate').value = <%=("null".equals(startDate))?"2020":startDate%>; --%>
<%-- document.getElementById('endDate').value = <%=("null".equals(endDate))?"":endDate%>; --%>
<% if (!"null".equals(startDate)) {%>
document.getElementById('startDate').value = "<%=startDate%>";
<% }%>
<% if (!"null".equals(endDate)) {%>
document.getElementById('endDate').value = "<%=endDate%>";
<% }%>
document.getElementById('startDate').value = <%=("null".equals(startDate))?"2020":startDate%>;
document.getElementById('endDate').value = <%=("null".equals(endDate))?"":endDate%>;
});
function enterkey() {
if (window.event.keyCode == 13) {
@ -67,27 +61,15 @@ $(function(){
<div class="f-left">
기간 :
<select id="startDate" name="startDate" style="width: 160px;" validNm="시작연도" onChange="fn_onSelectStartYear()">
<c:forEach items="${year}" var="item" varStatus="status">
<c:choose>
<c:when test="${status.first}">
<%-- <c:if test="${startDate eq 'null'}"> --%>
<option value="0000" selected>전체</option>
<%-- </c:if> --%>
<%-- <c:if test="${startDate ne 'null'}"> --%>
<option value="${item.year}">${item.year}</option>
<%-- </c:if> --%>
</c:when>
<c:otherwise>
<option value="${item.year}">${item.year}</option>
</c:otherwise>
</c:choose>
<c:forEach items="${year}" var="item">
<option value="${item.year}" selected>${item.year}</option>
</c:forEach>
</select>
~
<select id="endDate" name="endDate" style="width: 160px;" validNm="종료연도" onChange="fn_onSelectEndYear()">
<option value="">전체</option>
<option selected>선택</option>
<c:forEach items="${year}" var="item">
<option value="${item.year}">${item.year}</option>
<option value="${item.year}" selected>${item.year}</option>
</c:forEach>
</select>
</div>

View File

@ -178,12 +178,6 @@
</a>
</li>
<li class="">
<a href="/drilling/statistics.do">
통계
</a>
</li>
<li class="" style="display: none;">
<a href="/drilling/input.do">
입력 하기

View File

@ -34,101 +34,6 @@ if (request.getSession().getAttribute("CLS") == null || "2".equals(request.getSe
<c:import url="/drilling/common/includeTopMenu.do" charEncoding="UTF-8" />
<!-- header end-->
<style>
@keyframes shake {
0% { transform: translateX(0); }
10% { transform: translateX(-5px); }
20% { transform: translateX(5px); }
30% { transform: translateX(-5px); }
40% { transform: translateX(5px); }
50% { transform: translateX(-5px); }
60% { transform: translateX(5px); }
70% { transform: translateX(-5px); }
80% { transform: translateX(5px); }
90% { transform: translateX(-5px); }
100% { transform: translateX(0); }
}
.shake-animation {
animation: shake 0.6s;
}
/* The snackbar - position it at the bottom and in the middle of the screen */
#snackbar {
visibility: hidden; /* Hidden by default. Visible on click */
min-width: 250px; /* Set a default minimum width */
margin-left: -125px; /* Divide value of min-width by 2 */
background-color: #000000; /* Black background color */
color: #ff0000; /* White text color */
text-align: center; /* Centered text */
border-radius: 2px; /* Rounded borders */
padding: 16px; /* Padding */
position: fixed; /* Sit on top of the screen */
z-index: 1; /* Add a z-index if needed */
left: 50%; /* Center the snackbar */
bottom: 80px; /* 30px from the bottom */
font-weight: 500;
}
/* Show the snackbar when clicking on a button (class added with JavaScript) */
#snackbar.show {
visibility: visible; /* Show the snackbar */
/* Add animation: Take 0.5 seconds to fade in and out the snackbar.
However, delay the fade out process for 2.5 seconds */
-webkit-animation: fadein 0.5s, fadeout 0.5s 2.5s;
animation: fadein 0.5s, fadeout 0.5s 2.5s;
}
/* Animations to fade the snackbar in and out */
@-webkit-keyframes fadein {
from {bottom: 0; opacity: 0;}
to {bottom: 80px; opacity: 1;}
}
@keyframes fadein {
from {bottom: 0; opacity: 0;}
to {bottom: 80px; opacity: 1;}
}
@-webkit-keyframes fadeout {
from {bottom: 80px; opacity: 1;}
to {bottom: 0; opacity: 0;}
}
@keyframes fadeout {
from {bottom: 80px; opacity: 1;}
to {bottom: 0; opacity: 0;}
}
#suggestionList {
border: 1px solid #ccc;
width: 300px; /* 입력창 너비에 맞춰 조절 */
position_: absolute;
background-color: white;
display: none;
left: 91px;
top: 54px;
z-index: 3;
}
#suggestionList div {
padding: 5px;
cursor: pointer;
}
#suggestionList div:hover {
background-color: #f0f0f0;
}
#suggestionList div .organizational-structure {
color: red;
}
#const-state-code {
width: 160px;
}
</style>
<!-- javascript start-->
<script type="text/javascript">
@ -213,9 +118,10 @@ if (request.getSession().getAttribute("CLS") == null || "2".equals(request.getSe
let lastIndicator = Math.ceil(nPage / nCount) * 10; // 현재 페이지의 마지막 페이지인디케이터 번호
let totalIndicator = Math.ceil(obj.count / nCount); // 총 페이지인디케이터 번호
let pagingEleHTML = "<ul>"
if (!((firstIndicator - 1) < 1)) {
pagingEleHTML = pagingEleHTML + '<li data-npage="' + (firstIndicator - 1) + '" class="page-button"><a href="#"><img src="/com/img/common/icon/ico_chevron.svg" alt="Chevron-prev" class="page-prev"></a></li>';
}
if (!(firstIndicator-1) < 1) {
pagingEleHTML += `<li data-npage="` + (firstIndicator-1) +`" class="page-button"><a href="#"><img src="/com/img/common/icon/ico_chevron.svg" alt="Chevron-prev" class="page-prev"></a></li>
`;
}
for( let i = firstIndicator; i<lastIndicator+1; i++ ) {
if (i <= totalIndicator) {
@ -311,99 +217,9 @@ if (request.getSession().getAttribute("CLS") == null || "2".equals(request.getSe
}
});
var projectNameInput = document.getElementById('const-name');
var suggestionListDiv = document.getElementById("suggestionList");
projectNameInput.onkeyup = function() {
var projectName = String(this.value).trim();
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);
// 검색어를 굵게 표시
              var constName = matchingProjects[i].constName;
              var projectName = String(projectNameInput.value).trim();
              // 정규식으로 검색어를 찾고, 대소문자 구분 없이 처리
              var regex = new RegExp(projectName, "gi");
              var boldConstName = constName.replace(regex, '<b>' + projectName + '</b>');
suggestionItem.innerHTML = 
              '<span>' + boldConstName + '</span><br />\n' +
              '<span class="organizational-structure" data->' +
              "발주처: " + organHierarchy
              '</span>';
suggestionItem.onclick = function() {
projectNameInput.value = this.getAttribute('data-const-name');
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";
}
};
});
</script>
<!-- javascript end-->
@ -444,20 +260,10 @@ if (request.getSession().getAttribute("CLS") == null || "2".equals(request.getSe
<label class="input-label-display">검색</label>
<input type="hidden" id="const-tag" name="const-tag" value="C" >
<input type="search" id="const-name" name="const-name" class="input" placeholder="프로젝트명" title="" value="">
<div id="suggestionList"></div>
<input type="date" id="const-start-date" name="const-start-date" >
<span>~</span>
<input type="date" id="const-end-date" name="const-end-date" >
<input type="hidden" >
<select id="const-state-code" name="const-state-code">
<option value="" selected="selected">전체</option>
<option value="1">미입력</option>
<option value="2">입력 중</option>
<option value="3">검수 준비 대기중</option>
<option value="4">검수 중</option>
<option value="6">수정 요청</option>
<option value="7">등록 완료</option>
</select>
<input type="hidden" id="const-state-code" name="const-end-date">
</form>
<form class="form-inline-row">
<input type="text" id="company-dept" name="company-dept" class="input input-1" placeholder="담당부서,건설사명" title="" value="">

View File

@ -1,148 +0,0 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%
if (request.getSession().getAttribute("USERID") == null) {
%>
<script>alert('로그인후 이용하실 수 있습니다.');window.location.href='/index.do';</script>
<%
return;
}
%>
<%
if (request.getSession().getAttribute("CLS") == null || "2".equals(request.getSession().getAttribute("CLS") ) == false ) {
%>
<script>alert('발주 기관 회원만 이용가능합니다.');window.location.href='/index.do';</script>
<%
return;
}
%>
<%@ include file="/include/inc_head_2021_new.jsp" %>
<!-- header start-->
<c:import url="/drilling/common/includeTopMenu.do" charEncoding="UTF-8" />
<!-- Tailwind CSS CDN -->
<script src="https://cdn.tailwindcss.com"></script>
<!-- Google Fonts: Inter -->
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Noto+Sans+KR:wght@400;500;700&display=swap" rel="stylesheet">
<!-- header end-->
<style>
/* Minimal styles needed for this page */
</style>
<!-- javascript start-->
<script type="text/javascript">
</script>
<!-- javascript end-->
<!-- 페이지 컨테이너 시작 -->
<section class="drilling-page-container">
<div class="page-content-wrapper drilling inquiry">
<!-- 서브메뉴 시작 -->
<div class="page-sidebar-wrapper">
<div class="page-sidebar">
<div class="treeview-project-name">
<p class="project-title">알림</p>
<p class="project-value"><a href="/drilling/statistics.do">통계</a></p>
<p class="project-value value-is-active">알림 내역</p>
</div>
</div>
</div>
<!-- 서브메뉴 끝 -->
<!-- 콘텐츠 시작 -->
<div class="page-content">
<div class="page-content-inner">
<!-- 카테고리 시작 -->
<div class="category-wrapper">
<ul class="page-category">
<li class="category-item"></li>
<li class="category-item">알림 내역</li>
</ul>
<a href="#" class="btn btn-help">도움말</a>
</div>
<!-- 카테고리 끝 -->
<h1 class="page-title-1depth">알림 내역</h1>
<!-- 내용 시작 -->
<div class="content-wrapper">
<!-- Main Content -->
<main class="w-full">
<div class="bg-white p-6 rounded-lg shadow-md">
<div class="border-b pb-4 mb-4">
<h3 class="font-semibold text-gray-800 text-4xl">건설현장 프로젝트 상태 변경 이력</h3>
</div>
<div class="space-y-6">
<!-- Notification Item 1 -->
<div class="flex items-start p-4 bg-gray-50 rounded-lg">
<div class="bg-green-500 text-white rounded-full h-10 w-10 flex-shrink-0 flex items-center justify-center mr-4">
<svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"></path></svg>
</div>
<div class="flex-grow">
<p class="text-3xl font-medium text-gray-800">'충북선 달천 충주간' 프로젝트</p>
<p class="text-2xl text-gray-600">상태가 <span class="font-semibold text-yellow-600">검수중</span>에서 <span class="font-semibold text-green-600">검수 완료</span>로 변경되었습니다.</p>
</div>
<div class="text-right text-gray-500 text-xl">
<p>2025-08-27</p>
<p>14:30</p>
</div>
</div>
<!-- Notification Item 2 -->
<div class="flex items-start p-4 bg-gray-50 rounded-lg">
<div class="bg-blue-500 text-white rounded-full h-10 w-10 flex-shrink-0 flex items-center justify-center mr-4">
<svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path></svg>
</div>
<div class="flex-grow">
<p class="text-3xl font-medium text-gray-800">'제3연륙교 건설 공사' 프로젝트</p>
<p class="text-2xl text-gray-600">상태가 <span class="font-semibold text-green-600">검수 완료</span>에서 <span class="font-semibold text-blue-600">수정 요청</span>으로 변경되었습니다.</p>
</div>
<div class="text-right text-gray-500 text-xl">
<p>2025-08-26</p>
<p>11:15</p>
</div>
</div>
<!-- Notification Item 3 -->
<div class="flex items-start p-4 bg-gray-50 rounded-lg">
<div class="bg-yellow-500 text-white rounded-full h-10 w-10 flex-shrink-0 flex items-center justify-center mr-4">
<svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"></path></svg>
</div>
<div class="flex-grow">
<p class="text-3xl font-medium text-gray-800">'수도권 제2순환고속도로' 프로젝트</p>
<p class="text-2xl text-gray-600">상태가 <span class="font-semibold text-gray-600">미입력</span>에서 <span class="font-semibold text-yellow-600">검수중</span>으로 변경되었습니다.</p>
</div>
<div class="text-right text-gray-500 text-xl">
<p>2025-08-25</p>
<p>09:05</p>
</div>
</div>
</div>
</div>
</main>
</div>
<!-- 내용 끝 -->
</div>
</div>
<!-- 콘텐츠 끝 -->
</div>
</section>
<!-- 페이지 컨테이너 끝 -->
<div id="calenderDiv" class="trViewOff" style="position:absolute;"></div>
<%@ include file="/include/inc_footer_2021_new.jsp" %>

View File

@ -1,401 +0,0 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%
if (request.getSession().getAttribute("USERID") == null) {
%>
<script>alert('로그인후 이용하실 수 있습니다.');window.location.href='/index.do';</script>
<%
return;
}
%>
<%
if (request.getSession().getAttribute("CLS") == null || "2".equals(request.getSession().getAttribute("CLS") ) == false ) {
%>
<script>alert('발주 기관 회원만 이용가능합니다.');window.location.href='/index.do';</script>
<%
return;
}
%>
<%@ include file="/include/inc_head_2021_new.jsp" %>
<!-- header start-->
<c:import url="/drilling/common/includeTopMenu.do" charEncoding="UTF-8" />
<!-- Tailwind CSS CDN -->
<script src="https://cdn.tailwindcss.com"></script>
<!-- Chart.js CDN for creating charts -->
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
<!-- Google Fonts: Inter -->
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Noto+Sans+KR:wght@400;500;700&display=swap" rel="stylesheet">
<!-- header end-->
<style>
@keyframes shake {
0% { transform: translateX(0); }
10% { transform: translateX(-5px); }
20% { transform: translateX(5px); }
30% { transform: translateX(-5px); }
40% { transform: translateX(5px); }
50% { transform: translateX(-5px); }
60% { transform: translateX(5px); }
70% { transform: translateX(-5px); }
80% { transform: translateX(5px); }
90% { transform: translateX(-5px); }
100% { transform: translateX(0); }
}
.shake-animation {
animation: shake 0.6s;
}
/* The snackbar - position it at the bottom and in the middle of the screen */
#snackbar {
visibility: hidden; /* Hidden by default. Visible on click */
min-width: 250px; /* Set a default minimum width */
margin-left: -125px; /* Divide value of min-width by 2 */
background-color: #000000; /* Black background color */
color: #ff0000; /* White text color */
text-align: center; /* Centered text */
border-radius: 2px; /* Rounded borders */
padding: 16px; /* Padding */
position: fixed; /* Sit on top of the screen */
z-index: 1; /* Add a z-index if needed */
left: 50%; /* Center the snackbar */
bottom: 80px; /* 30px from the bottom */
font-weight: 500;
}
/* Show the snackbar when clicking on a button (class added with JavaScript) */
#snackbar.show {
visibility: visible; /* Show the snackbar */
/* Add animation: Take 0.5 seconds to fade in and out the snackbar.
However, delay the fade out process for 2.5 seconds */
-webkit-animation: fadein 0.5s, fadeout 0.5s 2.5s;
animation: fadein 0.5s, fadeout 0.5s 2.5s;
}
/* Animations to fade the snackbar in and out */
@-webkit-keyframes fadein {
from {bottom: 0; opacity: 0;}
to {bottom: 80px; opacity: 1;}
}
@keyframes fadein {
from {bottom: 0; opacity: 0;}
to {bottom: 80px; opacity: 1;}
}
@-webkit-keyframes fadeout {
from {bottom: 80px; opacity: 1;}
to {bottom: 0; opacity: 0;}
}
@keyframes fadeout {
from {bottom: 80px; opacity: 1;}
to {bottom: 0; opacity: 0;}
}
#suggestionList {
border: 1px solid #ccc;
width: 300px; /* 입력창 너비에 맞춰 조절 */
position_: absolute;
background-color: white;
display: none;
left: 91px;
top: 54px;
z-index: 3;
}
#suggestionList div {
padding: 5px;
cursor: pointer;
}
#suggestionList div:hover {
background-color: #f0f0f0;
}
#suggestionList div .organizational-structure {
color: red;
}
#const-state-code {
width: 160px;
}
</style>
<!-- javascript start-->
<script type="text/javascript">
</script>
<!-- javascript end-->
<!-- 페이지 컨테이너 시작 -->
<section class="drilling-page-container">
<div class="page-content-wrapper drilling inquiry">
<!-- 서브메뉴 시작 -->
<div class="page-sidebar-wrapper">
<div class="page-sidebar">
<div class="treeview-project-name">
<p class="project-title">통계</p>
<p class="project-value value-is-active">통계</p>
<p class="project-value"><a href="/drilling/notice.do">알림 내역</a></p>
</div>
</div>
</div>
<!-- 서브메뉴 끝 -->
<!-- 콘텐츠 시작 -->
<div class="page-content">
<div class="page-content-inner">
<!-- 카테고리 시작 -->
<div class="category-wrapper">
<ul class="page-category">
<li class="category-item"></li>
<li class="category-item">통계</li>
</ul>
<a href="#" class="btn btn-help">도움말</a>
</div>
<!-- 카테고리 끝 -->
<h1 class="page-title-1depth">통계</h1>
<!-- 내용 시작 -->
<div class="content-wrapper">
<!-- Main Content -->
<main class="flex flex-col lg:flex-row gap-4">
<!-- Right Sidebar -->
<aside class="w-full flex flex-col gap-4">
<!-- Wrapper div for side-by-side layout on large screens -->
<div class="flex flex-col lg:flex-row gap-4">
<!-- Project Status Chart -->
<div class="w-full lg:w-1/2 bg-white p-4 rounded-lg shadow-md">
<h3 class="font-semibold text-gray-800 mb-2 text-4xl">건설현장 프로젝트 입력상태 별 그래프</h3>
<div class="w-full h-[28rem] flex justify-center items-center">
<canvas id="projectStatusChart"></canvas>
</div>
</div>
<!-- Notifications -->
<div class="w-full lg:w-1/2 bg-white p-4 rounded-lg shadow-md flex flex-col">
<div class="flex justify-between items-center mb-2">
<h3 class="font-semibold text-gray-800 text-4xl">알림 내역</h3>
<a href="../drilling/notice.do" class="text-3xl text-blue-600 hover:underline">모두 보기</a>
</div>
<div class="space-y-3 flex-grow">
<div class="flex items-start p-2 bg-blue-50 rounded-lg">
<div class="bg-blue-500 text-white rounded-full h-8 w-8 flex-shrink-0 flex items-center justify-center mr-3">
<svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path></svg>
</div>
<div>
<p class="text-3xl font-medium text-gray-800">수정 요청</p>
<p class="text-2xl text-gray-600">'제3연륙교 건설 공사' 프로젝트의 시추정보 수정이 필요합니다.</p>
</div>
</div>
<div class="flex items-start p-2 rounded-lg">
<div class="bg-green-500 text-white rounded-full h-8 w-8 flex-shrink-0 flex items-center justify-center mr-3">
<svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"></path></svg>
</div>
<div>
<p class="text-3xl font-medium text-gray-800">검수 완료</p>
<p class="text-2xl text-gray-600">'충북선 달천 충주간' 프로젝트가 검수 완료되었습니다.</p>
</div>
</div>
</div>
</div>
</div>
<!-- Report Download Section -->
<div class="bg-white p-4 rounded-lg shadow-md">
<h3 class="font-semibold text-gray-800 mb-2 text-4xl">통계 보고서 다운로드</h3>
<p class="text-2xl text-gray-600 mb-4">발주기관 통계 기능을 보고서 형태로 다운로드 받을 수 있습니다.</p>
<!-- MODIFIED: Changed grid to 3 columns to allow for different chart widths -->
<div class="grid grid-cols-1 md:grid-cols-3 gap-4 mb-4">
<!-- MODIFIED: Set column span to 1 -->
<div class="md:col-span-1 flex flex-col items-center">
<h4 class="text-2xl font-medium text-center text-gray-700 mb-2">위험도 현황</h4>
<div class="relative h-96 w-96">
<canvas id="riskChart"></canvas>
</div>
</div>
<!-- MODIFIED: Set column span to 2 to make it twice as wide -->
<div class="md:col-span-2 flex flex-col items-center">
<h4 class="text-2xl font-medium text-center text-gray-700 mb-2">프로젝트 재정 현황</h4>
<!-- MODIFIED: Changed width to w-full to fill the new column span -->
<div class="relative h-96 w-full">
<canvas id="financialChart"></canvas>
</div>
</div>
</div>
<!-- MODIFIED: Wrapped button in a flex container to center it and reduced its width -->
<div class="flex justify-center">
<!-- MODIFIED: Reduced width from md:w-1/4 to md:w-[15%] (40% reduction) -->
<button class="w-full md:w-[15%] bg-red-500 hover:bg-red-600 text-white font-bold py-2 px-4 rounded-lg flex items-center justify-center transition duration-300 text-3xl">
<svg class="w-5 h-5 mr-2" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4"></path></svg>
PDF로 내보내기
</button>
</div>
</div>
</aside>
</main>
<script>
// Chart.js initialization
document.addEventListener('DOMContentLoaded', () => {
// 1. Project Status Pie Chart
const ctxProjectStatus = document.getElementById('projectStatusChart').getContext('2d');
new Chart(ctxProjectStatus, {
type: 'pie',
data: {
labels: ['등록완료', '미입력', '검수중', '수정요청'],
datasets: [{
label: '프로젝트 상태',
data: [34, 32, 18, 16],
backgroundColor: [
'rgba(239, 68, 68, 0.8)', // Red
'rgba(245, 158, 11, 0.8)', // Amber
'rgba(16, 185, 129, 0.8)', // Emerald
'rgba(59, 130, 246, 0.8)' // Blue
],
borderColor: [
'rgba(239, 68, 68, 1)',
'rgba(245, 158, 11, 1)',
'rgba(16, 185, 129, 1)',
'rgba(59, 130, 246, 1)'
],
borderWidth: 1
}]
},
options: {
responsive: true,
maintainAspectRatio: false,
plugins: {
legend: {
position: 'top',
},
tooltip: {
callbacks: {
label: function(context) {
let label = context.label || '';
if (label) {
label += ': ';
}
if (context.parsed !== null) {
label += context.parsed + '%';
}
return label;
}
}
}
}
}
});
// 2. Risk Status Donut Chart
const ctxRisk = document.getElementById('riskChart').getContext('2d');
new Chart(ctxRisk, {
type: 'doughnut',
data: {
labels: ['낮은 위험', '중간 위험', '높은 위험'],
datasets: [{
data: [41, 22, 37],
backgroundColor: [
'rgba(34, 197, 94, 0.8)', // Green
'rgba(245, 158, 11, 0.8)', // Amber
'rgba(239, 68, 68, 0.8)' // Red
],
borderColor: [
'rgba(34, 197, 94, 1)',
'rgba(245, 158, 11, 1)',
'rgba(239, 68, 68, 1)'
],
borderWidth: 1
}]
},
options: {
responsive: true,
maintainAspectRatio: true,
plugins: {
legend: {
position: 'bottom',
labels: {
boxWidth: 12
}
}
}
}
});
// 3. Financial Status Bar Chart
const ctxFinancial = document.getElementById('financialChart').getContext('2d');
new Chart(ctxFinancial, {
type: 'bar',
data: {
labels: ['프로젝트 A', '프로젝트 B', '프로젝트 C', '프로젝트 D'],
datasets: [{
label: '예산',
data: [65, 59, 80, 81],
backgroundColor: 'rgba(59, 130, 246, 0.7)',
borderColor: 'rgba(59, 130, 246, 1)',
borderWidth: 1
}, {
label: '실제 비용',
data: [45, 49, 60, 70],
backgroundColor: 'rgba(239, 68, 68, 0.7)',
borderColor: 'rgba(239, 68, 68, 1)',
borderWidth: 1
},{
label: '예상 비용',
data: [75, 69, 90, 91],
backgroundColor: 'rgba(16, 185, 129, 0.7)',
borderColor: 'rgba(16, 185, 129, 1)',
borderWidth: 1
}]
},
options: {
responsive: true,
maintainAspectRatio: false,
scales: {
y: {
beginAtZero: true,
ticks: {
callback: function(value) {
return value + '억';
}
}
}
},
plugins: {
legend: {
display: false
}
}
}
});
});
</script>
</div>
<!-- 내용 끝 -->
</div>
</div>
<!-- 콘텐츠 끝 -->
</div>
</section>
<!-- 페이지 컨테이너 끝 -->
<div id="calenderDiv" class="trViewOff" style="position:absolute;"></div>
<%@ include file="/include/inc_footer_2021_new.jsp" %>

View File

@ -32,13 +32,6 @@
var personalinfo_old = window.open("personalinfo_20240625.do", "personalinfo_20240625", "title=no,toolbar=no,scrollbars=yes,width=800,height=800,left=50,top=50");
personalinfo_old.focus();
}
function personalinfo_20240801() {
var personalinfo_old = window.open("personalinfo_20240801.do", "personalinfo_20240801", "title=no,toolbar=no,scrollbars=yes,width=800,height=800,left=50,top=50");
personalinfo_old.focus();
}
</script>
<style>
.emphasis {
@ -637,10 +630,10 @@
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">국토교통부/공간정보진흥과</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 119px; height: 20px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">유병순</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">김춘호</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 168px; height: 20px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">044-201-4864</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">044-201-3474</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
</tr>
<tr>
@ -710,13 +703,13 @@
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">국토교통부/공간정보진흥과</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 55px; height: 38px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">유병순</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">김춘호</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 103px; height: 38px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">044-201-4864</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">044-201-3474</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 152px; height: 38px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">leader@korea.kr</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">kch1995@korea.kr</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
</tr>
<tr>
@ -761,7 +754,7 @@
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; font-weight: bold; line-height: 180%; border-width: 0px;">제13조. 개인정보처리방침 변경</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">- 이 개인정보처리방침은 2025. 8. 1부터 적용됩니다.</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">- 이 개인정보처리방침은 2024. 1. 1부터 적용됩니다.</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">- 이전의 개인정보처리방침은 아래에서 확인할 수 있습니다.</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
@ -786,33 +779,16 @@
</tr>
<tr>
<td valign="middle" style="overflow: hidden; width: 142px; height: 46px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">2025.8.1.~현재</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">2023.8.1.~현재</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 135px; height: 46px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">개인정보 보호담당자 변경</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 146px; height: 46px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">개인정보 보호담당자<br />(김춘호) </span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">개인정보 보호담당자(진광호) </span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 127px; height: 46px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">개인정보보호담당자<br />(유병순)&nbsp;</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 123px; height: 46px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
</tr>
<tr>
<td valign="middle" style="overflow: hidden; width: 142px; height: 46px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">2023.8.1.~2025.07.31</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 135px; height: 46px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">개인정보 보호담당자 변경</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 146px; height: 46px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">개인정보 보호담당자<br />(진광호) </span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 127px; height: 46px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">개인정보보호담당자<br />(김춘호)&nbsp;</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">개인정보보호담당자(김춘호)&nbsp;</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 123px; height: 46px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
@ -826,10 +802,10 @@
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">개인정보 보호책임자 및 보호담당자 변경</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 146px; height: 89px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">개인정보보호책임자<br />(오성익),<br />개인정보보호담당자<br />(김현주) </span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">개인정보보호책임자(오성익), 개인정보보호담당자(김현주) </span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 127px; height: 89px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">개인정보보호책임자<br />(김유진),<br />개인정보보호담당자<br />(진광호) </span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">개인정보보호책임자(김유진), 개인정보보호담당자(진광호) </span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 123px; height: 89px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;">

View File

@ -1,863 +0,0 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<!-- 센터소개 개요 -->
<html>
<head>
<%@ include file="include/header_iframe.jsp" %>
<script>
function personalinfo_20190606() {
var personalinfo_old = window.open("personalinfo_20190606.do", "personalinfo_20190606", "title=no,toolbar=no,scrollbars=yes,width=800,height=800,left=50,top=50");
personalinfo_old.focus();
}
function personalinfo_20200506() {
var personalinfo_old = window.open("personalinfo_20200506.do", "personalinfo_20200506", "title=no,toolbar=no,scrollbars=yes,width=800,height=800,left=50,top=50");
personalinfo_old.focus();
}
function personalinfo_20210531() {
var personalinfo_old = window.open("personalinfo_20210531.do", "personalinfo_20210531", "title=no,toolbar=no,scrollbars=yes,width=800,height=800,left=50,top=50");
personalinfo_old.focus();
}
function personalinfo_20220831() {
var personalinfo_old = window.open("personalinfo_20220831.do", "personalinfo_20220831", "title=no,toolbar=no,scrollbars=yes,width=800,height=800,left=50,top=50");
personalinfo_old.focus();
}
function personalinfo_20230101() {
var personalinfo_old = window.open("personalinfo_20230101.do", "personalinfo_20230101", "title=no,toolbar=no,scrollbars=yes,width=800,height=800,left=50,top=50");
personalinfo_old.focus();
}
function personalinfo_20240625() {
var personalinfo_old = window.open("personalinfo_20240625.do", "personalinfo_20240625", "title=no,toolbar=no,scrollbars=yes,width=800,height=800,left=50,top=50");
personalinfo_old.focus();
}
</script>
<style>
.emphasis {
font-size: 16px;
color: #3389ff;
text-decoration: underline;
}
</style>
</head>
<body class="iframe-body popup-body">
<div class="content-wrapper">
<h2 class="page-title-2depth marT0"><span>국토지반정보 포털시스템 개인정보처리방침</span></h2>
<div class="usage-guidelines-box">
<span class="pattern-top-L"></span>
<span class="pattern-top-R"></span>
<span class="pattern-bottom-L"></span>
<span class="pattern-bottom-R"></span>
<div class="contents-row">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td style="color:#6082bd; font-weight:bold; letter-spacing:-1px;">
<p>국토지반정보 통합DB센터가 운영하는 &lt;국토지반정보 포털시스템&gt;은(는) 「개인정보 보호법」 제30조에 따라 정보주체의 개인정보 및 권익을 보호하고 개인정보 처리에 대한 절차 안내 및 고충처리를 원활하게 처리할 수 있도록 다음과 같은 개인정보 처리 방침을 수립ㆍ운영하고 있습니다.</p>
<p>&lt;국토지반정보 포털시스템&gt;은(는) 이러한 법령의 규정에 따라 수집·보유 및 처리하는 개인정보를 공공업무의 적절한 수행과 이용자의 권익을 보호하기 위해 적법하고 적정하게 취급할 것입니다. 또한, &lt;국토지반정보 포털시스템&gt;은(는) 관련 법령에서 규정한 바에 따라 보유하고 있는 개인정보에 대한 열람, 정정·삭제, 처리정지 요구 등 이용자의 권익을 존중하며, 이용자는 이러한 법령상 권익의 침해 등에 대하여 행정심판법에서 정하는 바에 따라 행정심판을 청구할 수 있습니다.</p>
</td>
</tr>
<tr>
<td height="18"></td>
</tr>
<tr>
<td style="color:#6082bd; font-weight:bold; letter-spacing:-1px;">
<p class="HStyle0" style="text-align: center; line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; font-weight: bold; line-height: 180%; border-width: 0px;">국토지반정보 포털시스템 개인정보처리방침</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">국토지반정보 통합DB센터가 운영하는 &lt;국토지반정보 포털시스템&gt;템에서 취급하는 「개인정보 보호법」제30조에 따라 정보주체의 개인정보 및 권익을 보호하고 개인정보 처리에 대한 절차 안내 및 고충처리를 원활하게 처리할 수 있도록 다음과 같은 개인정보 처리 방침을 수립ㆍ운영하고 있습니다.</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">주요 개인정보 처리 표시(라벨링)</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="line-height: 180%; border-width: 0px;">
</p><table cellspacing="0" cellpadding="0" style="border-collapse: collapse; border: 0px none; table-layout: fixed;">
<tbody><tr>
<td valign="middle" style="overflow: hidden; width: 111px; height: 108px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;"><img src="/com/img/main/personalinfo/01_personal_information.jpg?v=20250617_094801" alt="그림입니다.
원본 그림의 이름: 1.개인정보.jpg
원본 그림의 크기: 가로 304pixel, 세로 286pixel" width="97px" height="92px" vspace="0" hspace="0" border="0"></span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 111px; height: 108px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;"><img src="/com/img/main/personalinfo/03_purpose_of_personal_information_processing.jpg?v=20250617_094801" alt="그림입니다.
원본 그림의 이름: 3.개인정보의처리목적.jpg
원본 그림의 크기: 가로 298pixel, 세로 303pixel" width="97px" height="99px" vspace="0" hspace="0" border="0"></span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 111px; height: 108px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;"><img src="/com/img/main/personalinfo/06_personal_information_retention_period.jpg?v=20250617_094801" alt="그림입니다.
원본 그림의 이름: 6.개인정보보유기간.jpg
원본 그림의 크기: 가로 306pixel, 세로 328pixel" width="97px" height="104px" vspace="0" hspace="0" border="0"></span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 111px; height: 108px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;"><img src="/com/img/main/personalinfo/02_personal_information_items.jpg?v=20250617_094801" alt="그림입니다.
원본 그림의 이름: 2.개인정보의 처리항목.jpg
원본 그림의 크기: 가로 314pixel, 세로 314pixel" width="97px" height="97px" vspace="0" hspace="0" border="0"></span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 111px; height: 108px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;"><img src="/com/img/main/personalinfo/05_consignment_of_personal_information_processing.jpg?v=20250617_094801" alt="그림입니다.
원본 그림의 이름: 5.개인정보처리위탁.jpg
원본 그림의 크기: 가로 303pixel, 세로 315pixel" width="97px" height="101px" vspace="0" hspace="0" border="0"></span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 111px; height: 108px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;"><img src="/com/img/main/personalinfo/12_department_handling_complaints.jpg?v=20250617_094801" alt="그림입니다.
원본 그림의 이름: 12.고충사항처리부서.jpg
원본 그림의 크기: 가로 266pixel, 세로 261pixel" width="97px" height="95px" vspace="0" hspace="0" border="0"></span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
</tr>
<tr>
<td valign="middle" style="overflow: hidden; width: 111px; height: 81px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">일반 개인정보 수집</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 111px; height: 81px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">개인정보의 처리 목적</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 111px; height: 81px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">개인정보의 보유기간</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 111px; height: 81px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">개인정보 처리항목</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 111px; height: 81px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">개인정보 처리 위탁</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 111px; height: 81px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">고충처리부서</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
</tr>
</tbody></table><p></p>
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">&lt;국토지반정보 포털시스템&gt;은 이러한 법령의 규정에 따라 수집·보유 및 처리하는 개인정보를 공공업무의 적절한 수행과 이용자의 권익을 보호하기 위해 적법하고 적정하게 취급할 것입니다. 또한, &lt;국토지반정보 포털시스템&gt;은 관련 법령에서 규정한 바에 따라 보유하고 있는 개인정보에 대한 열람, 정정·삭제, 처리정지 요구 등 이용자의 권익을 존중하며, 이용자는 이러한 법령상 권익의 침해 등에 대하여 행정심판법에서 정하는 바에 따라 행정심판을 청구할 수 있습니다.</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; font-weight: bold; line-height: 180%; border-width: 0px;">&lt;목차&gt;</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="line-height: 180%; border-width: 0px;">
</p><table cellspacing="0" cellpadding="0" style="border-collapse: collapse; border: 0px none; table-layout: fixed;">
<tbody><tr>
<td valign="middle" style="overflow: hidden; width: 66px; height: 72px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0"><span style="position: relative; border-width: 0px;"><img src="/com/img/main/personalinfo/03_purpose_of_personal_information_processing.jpg?v=20250617_094801" alt="그림입니다.
원본 그림의 이름: 3.개인정보의처리목적.jpg
원본 그림의 크기: 가로 298pixel, 세로 303pixel" width="53px" height="54px" vspace="0" hspace="0" border="0"></span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 259px; height: 72px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">제1조 개인정보의 처리 목적</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 70px; height: 72px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0"><span style="position: relative; border-width: 0px;"><img src="/com/img/main/personalinfo/07_destruction_of_personal_information.jpg?v=20250617_094801" alt="그림입니다.
원본 그림의 이름: 7.개인정보의파기.jpg
원본 그림의 크기: 가로 307pixel, 세로 319pixel" width="53px" height="55px" vspace="0" hspace="0" border="0"></span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 278px; height: 72px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">제7조 개인정보 파기 절차 및 방법</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
</tr>
<tr>
<td valign="middle" style="overflow: hidden; width: 66px; height: 72px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0"><span style="position: relative; border-width: 0px;"><img src="/com/img/main/personalinfo/06_personal_information_retention_period.jpg?v=20250617_094801" alt="그림입니다.
원본 그림의 이름: 6.개인정보보유기간.jpg
원본 그림의 크기: 가로 306pixel, 세로 328pixel" width="53px" height="56px" vspace="0" hspace="0" border="0"></span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 259px; height: 72px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">제2조 개인정보 처리 및 보유기간</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 70px; height: 72px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0"><span style="position: relative; border-width: 0px;"><img src="/com/img/main/personalinfo/09_security_measures.jpg?v=20250617_094801" alt="그림입니다.
원본 그림의 이름: 9.안전성확보조치사항.jpg
원본 그림의 크기: 가로 283pixel, 세로 270pixel" width="56px" height="54px" vspace="0" hspace="0" border="0"></span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 278px; height: 72px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">제8조 개인정보 안전성 확보 조치</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
</tr>
<tr>
<td valign="middle" style="overflow: hidden; width: 66px; height: 72px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0"><span style="position: relative; border-width: 0px;"><img src="/com/img/main/personalinfo/02_personal_information_items.jpg?v=20250617_094801" alt="그림입니다.
원본 그림의 이름: 2.개인정보의 처리항목.jpg
원본 그림의 크기: 가로 314pixel, 세로 314pixel" width="53px" height="53px" vspace="0" hspace="0" border="0"></span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 259px; height: 72px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">제3조 처리하는 개인정보 항목</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 70px; height: 72px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0"><span style="position: relative; border-width: 0px;"><img src="/com/img/main/personalinfo/11_appointment_and_status_of_personal_information_protection_manager.jpg?v=20250617_094801" alt="그림입니다.
원본 그림의 이름: 11.개인정보보호책임자 지정 및 현황.jpg
원본 그림의 크기: 가로 261pixel, 세로 258pixel" width="56px" height="56px" vspace="0" hspace="0" border="0"></span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 278px; height: 72px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">제9조. 개인정보보호 (분야별)책임자 및 담당자 연락처</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
</tr>
<tr>
<td valign="middle" style="overflow: hidden; width: 66px; height: 72px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0"><span style="position: relative; border-width: 0px;"><img src="/com/img/main/personalinfo/04_provision_of_personal_information_to_third_parties.jpg?v=20250617_094801" alt="그림입니다.
원본 그림의 이름: 4.제공개인정보3자제공.jpg
원본 그림의 크기: 가로 302pixel, 세로 298pixel" width="53px" height="52px" vspace="0" hspace="0" border="0"></span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 259px; height: 72px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">제4조 개인정보 제3자 제공에 관한 사항</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 70px; height: 72px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0"><span style="position: relative; border-width: 0px;"><img src="/com/img/main/personalinfo/13_how_to_request_access_to_personal_information.jpg?v=20250617_094801" alt="그림입니다.
원본 그림의 이름: 13.개인정보열람청구방법.jpg
원본 그림의 크기: 가로 253pixel, 세로 254pixel" width="56px" height="57px" vspace="0" hspace="0" border="0"></span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 278px; height: 72px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">제10조 개인정보 열람청구</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
</tr>
<tr>
<td valign="middle" style="overflow: hidden; width: 66px; height: 72px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0"><span style="position: relative; border-width: 0px;"><img src="/com/img/main/personalinfo/05_consignment_of_personal_information_processing.jpg?v=20250617_094801" alt="그림입니다.
원본 그림의 이름: 5.개인정보처리위탁.jpg
원본 그림의 크기: 가로 303pixel, 세로 315pixel" width="53px" height="55px" vspace="0" hspace="0" border="0"></span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 259px; height: 72px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">제5조 개인정보처리 위탁에 관한 사항</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 70px; height: 72px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0"><span style="position: relative; border-width: 0px;"><img src="/com/img/main/personalinfo/13_how_to_request_access_to_personal_information.jpg?v=20250617_094801" alt="그림입니다.
원본 그림의 이름: 13.권익침해방지기관안내.jpg
원본 그림의 크기: 가로 255pixel, 세로 256pixel" width="56px" height="57px" vspace="0" hspace="0" border="0"></span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 278px; height: 72px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">제11조 권익침해 구제방법</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
</tr>
<tr>
<td valign="middle" style="overflow: hidden; width: 66px; height: 72px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0"><span style="position: relative; border-width: 0px;"><img src="/com/img/main/personalinfo/08_rights_of_the_data_subject.jpg?v=20250617_094801" alt="그림입니다.
원본 그림의 이름: 8.정보주체의권리.jpg
원본 그림의 크기: 가로 285pixel, 세로 273pixel" width="53px" height="50px" vspace="0" hspace="0" border="0"></span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 259px; height: 72px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">제6조 정보주체 권리의무 및 그 행사방법에 관한 사항</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 70px; height: 72px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0"><span style="position: relative; border-width: 0px;"><img src="/com/img/main/personalinfo/10_changes_to_the_privacy_policy.jpg?v=20250617_094801" alt="그림입니다.
원본 그림의 이름: 10.처리방침의변경.jpg
원본 그림의 크기: 가로 281pixel, 세로 265pixel" width="56px" height="53px" vspace="0" hspace="0" border="0"></span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 278px; height: 72px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">제12조. 개인정보처리방침 변경</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
</tr>
</tbody></table><p></p>
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; font-weight: bold; line-height: 180%; border-width: 0px;">제1조 개인정보의 처리 목적</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">① &lt;국토지반정보 포털시스템&gt;에서는 다음과 같은 목적으로 개인정보를 처리하고 있습니다.</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">&nbsp;&nbsp;가. 회원가입 및 서비스 제공</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="margin-left: 37.2pt; text-indent: -37.2pt; line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">&nbsp;&nbsp;&nbsp;&nbsp;- 국토지반정보 포털시스템에서 제공하는 서비스 및 콘텐츠 등 회원제 서비스 이용에 따른 실명인증을 목적으로 개인정보를 수집하고 있습니다.</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">&nbsp;&nbsp;나. 민원업무 처리</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="margin-left: 42.5pt; text-indent: -42.5pt; line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- </span><span style="position: relative; font-size: 12pt; letter-spacing: -0.04em; line-height: 180%; border-width: 0px;">개인정보 열람 및 정정삭제, 개인정보 처리정지 요구 및 유출사고 신고, 개인정보 침해 </span><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">사실 신고 접수처리, 스팸민원고충처리, 해킹신고, 민원사항 확인, 사실조사를 위한 연락 통보, 처리결과 통보 등 민원업무 처리를 목적으로 개인정보를 처리합니다.</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">&nbsp;&nbsp;다. 데이터의 유효성 검증</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="margin-left: 42pt; text-indent: -42pt; line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- </span><span style="position: relative; font-size: 12pt; letter-spacing: -0.03em; line-height: 180%; border-width: 0px;">사용자가 입력한 데이터의 유효성 검증 및 보완 요청을 위한 연락 통지 등을 목적으로 </span><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">개인정보를 처리합니다.</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="line-height: 180%; border-width: 0px;">
</p><table cellspacing="0" cellpadding="0" style="border-collapse: collapse; border: 0px none; table-layout: fixed;">
<tbody><tr>
<td valign="middle" style="overflow: hidden; width: 44px; height: 17px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">순번</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 210px; height: 17px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">시스템명</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 135px; height: 17px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">개인정보파일명</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 101px; height: 17px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">운영근거</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 184px; height: 17px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">처리 목적</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
</tr>
<tr>
<td valign="middle" style="overflow: hidden; width: 44px; height: 38px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">1</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 210px; height: 38px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">국토지반정보 포털시스템</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 135px; height: 38px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">개인이용자 정보</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 101px; height: 38px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">정보주체 동의</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 184px; height: 38px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: left; border-width: 0px;"><span style="position: relative; border-width: 0px;">- 검색/유통시스템 및 게시판 이용</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="text-align: left; border-width: 0px;"><span style="position: relative; border-width: 0px;">- 민원업무처리</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
</tr>
<tr>
<td valign="middle" style="overflow: hidden; width: 44px; height: 60px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">2</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 210px; height: 60px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">국토지반정보 포털시스템</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 135px; height: 60px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">기업이용자 정보</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 101px; height: 60px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">정보주체 동의</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 184px; height: 60px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: left; border-width: 0px;"><span style="position: relative; border-width: 0px;">- 입력시스템 이용</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="text-align: left; border-width: 0px;"><span style="position: relative; border-width: 0px;">- 데이터 유효성 검증 및 보완요청</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="text-align: left; border-width: 0px;"><span style="position: relative; border-width: 0px;">- 민원업무처리</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
</tr>
</tbody></table><p></p>
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="margin-left: 18.8pt; text-indent: -18.8pt; line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">② 각 개인정보파일 목적에 따라 최소한의 개인정보를 수집하고 있으며, 처리 목적이 변경될 시 「개인정보 보호법」제18조에 따라 별도의 동의를 받는 등 필요한 조치를 이행할 예정입니다.</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; font-weight: bold; line-height: 180%; border-width: 0px;">제2조 개인정보 처리 및 보유기간</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="margin-left: 18.5pt; text-indent: -18.5pt; line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">① &lt;국토지반정보 포털시스템&gt;</span><span style="position: relative; font-size: 12pt; letter-spacing: -0.02em; line-height: 180%; border-width: 0px;">에서 처리하는 개인정보는 「개인정보 보호법」 및 관련법령에서 </span><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">정하는 보유기간 또는 정보주체로부터 개인정보를 수집 시 동의 받는 보관ㆍ이용기간 내에서 개인정보를 처리 및 보관 하고 있습니다.</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="margin-left: 18.5pt; text-indent: -18.5pt; line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">② &lt;국토지반정보 포털시스템&gt;은 다음과 같은 개인정보 항목을 처리하고 있습니다.</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="margin-left: 18.5pt; text-indent: -18.5pt; line-height: 180%; border-width: 0px;">
</p><table cellspacing="0" cellpadding="0" style="border-collapse: collapse; border: 0px none; table-layout: fixed;">
<tbody><tr>
<td valign="middle" style="overflow: hidden; width: 44px; height: 17px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">순번</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 146px; height: 17px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">시스템명</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 119px; height: 17px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">개인정보파일명</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 363px; height: 17px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">처리항목</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
</tr>
<tr>
<td valign="middle" style="overflow: hidden; width: 44px; height: 81px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">1</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 146px; height: 81px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">국토지반정보 포털시스템</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 119px; height: 81px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">개인이용자 정보</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 363px; height: 81px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="margin-left: 30.8pt; text-align: left; text-indent: -30.8pt; border-width: 0px;"><span class="emphasis">(필수) 성명, 아이디, 비밀번호, 이메일, 전화번호, 업종, DI</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="margin-left: 30.8pt; text-align: left; text-indent: -30.8pt; border-width: 0px;"><span>(선택) 회사명/학교명, 부서명, 주소</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
</tr>
<tr>
<td valign="middle" style="overflow: hidden; width: 44px; height: 81px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">2</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 146px; height: 81px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">국토지반정보 포털시스템</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 119px; height: 81px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">기업이용자 정보</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 363px; height: 81px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="margin-left: 30.8pt; text-align: left; text-indent: -30.8pt; border-width: 0px;"><span class="emphasis">(필수) 성명, 아이디, 비밀번호, 이메일, 전화번호, 업종, DI, 사업자등록번호, 회사명, 대표자명, 설립일자, 부서명</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="margin-left: 30.8pt; text-align: left; text-indent: -30.8pt; border-width: 0px;"><span>(선택) 주소</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
</tr>
</tbody></table><p></p>
<p class="HStyle0" style="margin-left: 18.5pt; text-indent: -18.5pt; line-height: 180%; border-width: 0px;"><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="margin-left: 18.5pt; text-indent: -18.5pt; line-height: 180%; border-width: 0px;"><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; font-weight: bold; line-height: 180%; border-width: 0px;">제3조 처리하는 개인정보 항목</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">&lt;국토지반정보 포털시스템&gt;에서 처리하는 개인정보별 보유기간은 다음과 같습니다.</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="margin-left: 18.5pt; text-indent: -18.5pt; line-height: 180%; border-width: 0px;">
</p><table cellspacing="0" cellpadding="0" style="border-collapse: collapse; border: 0px none; table-layout: fixed;">
<tbody><tr>
<td valign="middle" style="overflow: hidden; width: 44px; height: 25px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">순번</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 210px; height: 25px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">시스템명</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 135px; height: 25px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">개인정보파일명</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 101px; height: 25px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">운영근거</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 184px; height: 25px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">보유기간</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
</tr>
<tr>
<td valign="middle" style="overflow: hidden; width: 44px; height: 35px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">1</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 210px; height: 35px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">국토지반정보 포털시스템</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 135px; height: 35px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">개인이용자 정보</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 101px; height: 35px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">정보주체 동의</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 184px; height: 35px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span class="emphasis">회원 탈퇴 시 까지</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
</tr>
<tr>
<td valign="middle" style="overflow: hidden; width: 44px; height: 35px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">2</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 210px; height: 35px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">국토지반정보 포털시스템</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 135px; height: 35px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">기업이용자 정보</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 101px; height: 35px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">정보주체 동의</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 184px; height: 35px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span class="emphasis">회원 탈퇴 시 까지</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
</tr>
</tbody></table><p></p>
<p class="HStyle0" style="margin-left: 18.5pt; text-indent: -18.5pt; line-height: 180%; border-width: 0px;"><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; font-weight: bold; line-height: 180%; border-width: 0px;">제4조 개인정보 제3자 제공에 관한 사항</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="margin-left: 18.3pt; text-indent: -18.3pt; line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">① &lt;국토지반정보 포털시스템&gt;는 정보주체의 동의, 법률의 특별한 규정 등 「개인정보 보호법」 제17조 및 제18조에 해당하는 경우에만 개인정보를 제3자에게 제공합니다.</span></p>
<br />
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; font-weight: bold; line-height: 180%; border-width: 0px;">제5조 개인정보처리 위탁에 관한 사항</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="margin-left: 18.3pt; text-indent: -18.3pt; line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">① &lt;국토지반정보 포털시스템&gt;은 원활한 서비스를 위하여 다음과 같이 개인정보 처리업무를 위탁하고 있습니다.</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="line-height: 180%; border-width: 0px;">
</p><table cellspacing="0" cellpadding="0" style="border-collapse: collapse; border: 0px none; table-layout: fixed;">
<tbody><tr>
<td valign="middle" style="overflow: hidden; width: 44px; height: 38px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">순번</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 157px; height: 38px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">시스템명</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td colspan="2" valign="middle" style="overflow: hidden; width: 157px; height: 38px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">위탁받는자</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td colspan="3" valign="middle" style="overflow: hidden; width: 157px; height: 38px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">개인정보처리 위탁업무내용</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 157px; height: 38px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">위탁기간</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
</tr>
<tr>
<td valign="middle" style="overflow: hidden; width: 44px; height: 38px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">1</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 157px; height: 38px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">국토지반정보시스템</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">(www.geoinfo.or.kr)</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td colspan="2" valign="middle" style="overflow: hidden; width: 157px; height: 38px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">한국건설기술연구원</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td colspan="3" valign="middle" style="overflow: hidden; width: 157px; height: 38px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">국토지반정보 포털시스템 서비스</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 157px; height: 38px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span class="emphasis">계약종료시까지</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
</tr>
</tbody></table><p></p>
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="margin-left: 19.5pt; text-indent: -19.5pt; line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">② &lt;국토지반정보 포털시스템&gt;은 위탁 계약 체결 시, 「개인정보 보호법」 제26조에 따라 위탁 업무 수행 목적 외 개인정보 처리금지, 기술적·관리적 보호조치, 재위탁 제한, 수탁자에 대한 관리·감독, 손해배상 등 책임에 관한 사항을 계약서 등 문서에 명시하고, 수탁자가 개인정보를 안전하게 처리하는지를 감독하고 있습니다.</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="margin-left: 19.5pt; text-indent: -19.5pt; line-height: 180%; border-width: 0px;"><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="margin-left: 19.5pt; text-indent: -19.5pt; line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; font-weight: bold; line-height: 180%; border-width: 0px;">제6조 정보주체 권리의무 및 그 행사방법에 관한 사항</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="margin-left: 18.3pt; text-indent: -18.3pt; line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">① 정보주체는 언제든 &lt;국토지반정보 포털시스템&gt;에 대해 다음과 같은 권리를 행사할 수 있습니다.</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">가. 개인정보 열람요구</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">나. 오류 등이 있을 경우 정정 요구</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">다. 삭제 및 처리정정 요구</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">라. 개인정보 수집 및 이용 동의에 대한 거부</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="margin-left: 18.3pt; text-indent: -18.3pt; line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">② 제1항에 따른 권리 행사는 &lt;국토지반정보 포털시스템&gt;에 대해 「개인정보보호법」시행령 제41조 제1항에 따라 서면, 전자우편, 모사전송(FAX) 등을 통하여 하실 수 있으며 &lt;국토지반정보 포털시스템&gt; 운영 및 관리부서 또는 개인정보책임자는 이에 대해 지체 없이 조치하겠습니다.</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="margin-left: 18.3pt; text-indent: -18.3pt; line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">③ 제1항에 따른 권리 행사는 정보주체의 법정대리인이나 위임을 받은 자 등 대리인을 통하여 하실 수 있습니다. 이 경우 개인정보보호법 시행규칙(개인정보 처리 방법에 관한 고시) 별지 제11호 서식에 따른 위임장을 제출하셔야 합니다.</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="margin-left: 18.3pt; text-indent: -18.3pt; line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">④ 개인정보 열람 및 처리정지 요구는「개인정보 보호법」제35조 제4항, 제37조 제2항에 의하여 정보주체의 권리가 제한될 수 있습니다.</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p>
<a href="https://www.privacy.go.kr/" target="_blank" style=" color: #1030ff; font-size: 20px; line-height: 35px; padding-left: 3px; text-decoration: underline;">개인정보확인하기</a>
<br />
</p>
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; font-weight: bold; line-height: 180%; border-width: 0px;">제7조 개인정보 파기 절차 및 방법</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="margin-left: 18pt; text-indent: -18pt; line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">① </span><span style="position: relative; font-size: 12pt; letter-spacing: -0.03em; line-height: 180%; border-width: 0px;">&lt;국토지반정보 포털시스템&gt;은 원칙적으로 개인정보 처리목적이 달성된 경우에는 지체 없이 </span><span style="position: relative; font-size: 12pt; letter-spacing: -0.1em; line-height: 180%; border-width: 0px;">해당 개인정보를 파기하며 파기의 절차, 기한 및 방법은 「개인정보 보호법」제21조를 준수합니다.</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">&nbsp;&nbsp;가. 파기절차</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="margin-left: 42pt; text-indent: -42pt; line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- (개인정보의 파기) 정보주체의 요청(회원탈퇴)시 파기합니다.</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="margin-left: 42.9pt; text-indent: -42.9pt; line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- (개인정보파일의 파기) 개인정보파일의 처리 목적 달성, 해당 서비스의 폐지, 사업의 종료 등 그 개인정보파일이 불필요하게 될 경우 개인정보 처리가 불필요한 것으로 확인한 날로부터 지체 없이 그 개인정보를 파기합니다.</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">&nbsp;&nbsp;나. 파기방법</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="margin-left: 42.4pt; text-indent: -42.4pt; line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- (전자적 형태) 재생할 수 없는 기술적 방법을 사용하여 파기합니다.</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="margin-left: 42.4pt; text-indent: -42.4pt; line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- (종이 문서) 분쇄기로 파기하거나 소각을 통해 파기합니다.</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; font-weight: bold; line-height: 180%; border-width: 0px;">제8조 개인정보 안전성 확보 조치</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="margin-left: 19pt; text-indent: -19pt; line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">① </span><span style="position: relative; font-size: 12pt; letter-spacing: -0.07em; line-height: 180%; border-width: 0px;">&lt;국토지반정보 포털시스템&gt;</span><span style="position: relative; font-size: 12pt; letter-spacing: -0.04em; line-height: 180%; border-width: 0px;">은 </span><span style="position: relative; font-size: 12pt; letter-spacing: -0.14em; line-height: 180%; border-width: 0px;">「개인정보 보호법」</span><span style="position: relative; font-size: 12pt; letter-spacing: -0.04em; line-height: 180%; border-width: 0px;"> 제29조에 따라 다음과 같이 안전성 확보에 </span><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">필요한 기술적, 관리적 및 물리적 조치를 하고 있습니다.</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">&nbsp;&nbsp;가. 개인정보 취급 직원의 최소화 및 교육</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="margin-left: 42pt; text-indent: -42pt; line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- 개인정보를 취급하는 직원은 반드시 필요한 인원에 한하여 지정·관리하고 있으며 취급직원을 대상으로 안전한 관리를 위한 교육을 실시하고 있습니다.</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">&nbsp;&nbsp;나. 개인정보에 대한 접근 제한</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="margin-left: 42pt; text-indent: -42pt; line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- 개인정보를 처리하는 데이터베이스시스템에 대한 접근권한의 부여·변경·말소를 통하여 개인정보에 대한 접근통제를 위한 필요한 조치를 하고 있으며 침입차단시스템을 이용하여 외부로부터의 무단 접근을 통제하고 있습니다.</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">&nbsp;&nbsp;다. 접속기록의 보관 및 위변조 방지</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="margin-left: 42.2pt; text-indent: -42.2pt; line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- </span><span style="position: relative; font-size: 12pt; letter-spacing: -0.03em; line-height: 180%; border-width: 0px;">개인정보처리시스템에 접속한 기록을 최소 1년 이상 보관, 관리하고 있으며, 접속 기록이 </span><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">위변조 및 도난, 분실되지 않도록 보안기능을 사용하고 있습니다.</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">&nbsp;&nbsp;라. 개인정보의 암호화</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="margin-left: 42.5pt; text-indent: -42.5pt; line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- </span><span style="position: relative; font-size: 12pt; letter-spacing: -0.08em; line-height: 180%; border-width: 0px;">개인정보는 암호화 등을 통해 안전하게 저장 및 관리되고 있습니다. 또한 중요한 데이터는 </span><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">저장 및 전송 시 암호화하여 사용하는 등의 별도 보안기능을 사용하고 있습니다.</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">&nbsp;&nbsp;마. 보안프로그램 설치 및 주기적 점검·갱신</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="margin-left: 42.5pt; text-indent: -42.5pt; line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- </span><span style="position: relative; font-size: 12pt; letter-spacing: -0.02em; line-height: 180%; border-width: 0px;">해킹이나 컴퓨터 바이러스 등에 의한 개인정보 유출 및 훼손을 막기 위하여 보안프로</span><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">그램을 설치하고 주기적으로 갱신·점검하고 있습니다.</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">&nbsp;&nbsp;바. 비인가자에 대한 출입 통제</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="margin-left: 42pt; text-indent: -42pt; line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- 개인정보를 보관하고 있는 물리적 보관 장소를 별도로 두고 이에 대한 출입통제 절차를 수립, 운영하고 있습니다.</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">&nbsp;&nbsp;사. 정기적인 자체 점검 실시</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="margin-left: 42pt; text-indent: -42pt; line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- 개인정보 처리 관련 안전성 확보를 위해 정기적으로 소속·산하기관을 포함하여 개인정보 보호관리 점검을 실시하고 있습니다.</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">&nbsp;&nbsp;아. 내부관리계획의 수립 및 시행</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="margin-left: 42pt; text-indent: -42pt; line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- 개인정보의 안전한 처리를 위하여 내부관리계획을 수립하고 시행하고 있습니다.</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; font-weight: bold; line-height: 180%; border-width: 0px;">제9조. 개인정보보호 (분야별)책임자 및 담당자 연락처</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="margin-left: 19pt; text-indent: -19pt; line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">① </span><span style="position: relative; font-size: 12pt; letter-spacing: -0.07em; line-height: 180%; border-width: 0px;">&lt;국토지반정보 포털시스템&gt;</span><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">은 개인정보 처리에 관한 업무를 총괄해서 책임지고, 개인정보 처리와 관련한 정보주체의 불만처리 및 피해구제 등을 위하여 아래와 같이 개인정보 보호책임자를 지정하고 있습니다.</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="margin-left: 19pt; text-indent: -19pt; line-height: 180%; border-width: 0px;">
</p><table cellspacing="0" cellpadding="0" style="border-collapse: collapse; border: 0px none; table-layout: fixed;">
<tbody><tr>
<td valign="middle" style="overflow: hidden; width: 195px; height: 17px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">구분</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 191px; height: 17px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">기관/부서</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 119px; height: 17px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">성명</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 168px; height: 17px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">연락처</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
</tr>
<tr>
<td valign="middle" style="overflow: hidden; width: 195px; height: 20px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">개인정보보호책임자</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 191px; height: 20px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">국토교통부/공간정보진흥과</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 119px; height: 20px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">김유진</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 168px; height: 20px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">044-201-3469</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
</tr>
<tr>
<td valign="middle" style="overflow: hidden; width: 195px; height: 20px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">개인정보보호담당자(처리자)</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 191px; height: 20px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">국토교통부/공간정보진흥과</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 119px; height: 20px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">김춘호</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 168px; height: 20px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">044-201-3474</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
</tr>
<tr>
<td valign="middle" style="overflow: hidden; width: 195px; height: 38px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">국토지반정보 포털시스템 개인정보 취급자</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 191px; height: 38px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">한국건설기술연구원</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 119px; height: 38px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">장용구</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 168px; height: 38px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">031-910-0327</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
</tr>
</tbody></table><p></p>
<p class="HStyle0" style="margin-left: 19pt; text-indent: -19pt; line-height: 180%; border-width: 0px;"><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; font-weight: bold; line-height: 180%; border-width: 0px;">제10조 개인정보 열람청구</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="margin-left: 19pt; text-indent: -19pt; line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">① </span><span style="position: relative; font-size: 12pt; letter-spacing: -0.07em; line-height: 180%; border-width: 0px;">정</span><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">보주체는 개인정보 보호법 제35조에 따른 개인정보의 열람 청구를 아래의 부서에 할 수 있습니다. </span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="line-height: 180%; border-width: 0px;">
</p><table cellspacing="0" cellpadding="0" style="border-collapse: collapse; border: 0px none; table-layout: fixed;">
<tbody><tr>
<td valign="middle" style="overflow: hidden; width: 183px; height: 17px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">구분</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 180px; height: 17px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">기관/부서</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 55px; height: 17px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">성명</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 103px; height: 17px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">연락처</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 152px; height: 17px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">이메일</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
</tr>
<tr>
<td valign="middle" style="overflow: hidden; width: 183px; height: 38px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">개인정보보호책임자</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 180px; height: 38px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">국토교통부/공간정보진흥과</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 55px; height: 38px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">김유진</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 103px; height: 38px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">044-201-3469</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 152px; height: 38px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">yjkim123@korea.kr</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
</tr>
<tr>
<td valign="middle" style="overflow: hidden; width: 183px; height: 38px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">개인정보보호담당자(처리자)</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 180px; height: 38px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">국토교통부/공간정보진흥과</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 55px; height: 38px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">김춘호</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 103px; height: 38px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">044-201-3474</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 152px; height: 38px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">kch1995@korea.kr</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
</tr>
<tr>
<td valign="middle" style="overflow: hidden; width: 183px; height: 38px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">국토지반정보 포털시스템 개인정보 취급자</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 180px; height: 38px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">한국건설기술연구원</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 55px; height: 38px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">장용구</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 103px; height: 38px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">031-910-0327</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 152px; height: 38px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">wkddydrn@kict.re.kr</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
</tr>
</tbody></table><p></p>
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; font-weight: bold; line-height: 180%; border-width: 0px;">제11조 권익침해 구제방법</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="margin-left: 18.5pt; text-indent: -18.5pt; line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">① </span><span style="position: relative; font-size: 12pt; letter-spacing: -0.04em; line-height: 180%; border-width: 0px;">정보주체는 개인정보 침해로 인한 구제를 받기 위하여 개인정보분쟁조정위원회, 한국인터넷</span><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">진흥원 개인정보 침해 신고센터 등에 분쟁 해결이나 상담 등을 신청할 수 있습니다. 이 밖에 기타 개인정보 침해의 신고, 상담에 대하여는 아래의 기관에 문의하시기 바랍니다.</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">1. 개인정보분쟁조정위원회 : (국번없이) 1833-6972 (www.kopico.go.kr)</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">2. 개인정보침해신고센터 : (국번없이) 118 (privacy.kisa.or.kr)</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">3. 대검찰청 : (국번없이) 1301 (www.spo.go.kr)</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">4. 경찰청 : (국번없이) 182 (ecrm.cyber.go.kr)</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="margin-left: 12pt; text-indent: -12pt; line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">②「개인정보 보호법」 제35조(개인정보의 열람), 제36조(개인정보의 정정·삭제), 제37조 (개인정보의 처리정지 등)의 규정에 의한 요구에 대 하여 공공기관의 장이 행한 처분 또는 부작위로 인하여 권리 또는 이익의 침해를 받은 자는 행정심판법이 정하는 바에 따라 행정심판을 청구할 수 있습니다.</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">※ 중앙행정심판위원회 : (국번없이) 110 (www.simpan.go.kr)</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; font-weight: bold; line-height: 180%; border-width: 0px;">제13조. 개인정보처리방침 변경</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">- 이 개인정보처리방침은 2024. 1. 1부터 적용됩니다.</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span style="position: relative; font-size: 12pt; line-height: 180%; border-width: 0px;">- 이전의 개인정보처리방침은 아래에서 확인할 수 있습니다.</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="line-height: 180%; border-width: 0px;">
</p><table cellspacing="0" cellpadding="0" style="border-collapse: collapse; border: 0px none; table-layout: fixed;">
<tbody><tr>
<td valign="middle" style="overflow: hidden; width: 142px; height: 17px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">적용기간</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 135px; height: 17px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">변경사항</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 146px; height: 17px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">변경전</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 127px; height: 17px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">변경후</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 123px; height: 17px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">전문보기</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
</tr>
<tr>
<td valign="middle" style="overflow: hidden; width: 142px; height: 46px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">2023.8.1.~현재</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 135px; height: 46px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">개인정보 보호담당자 변경</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 146px; height: 46px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">개인정보 보호담당자(진광호) </span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 127px; height: 46px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">개인정보보호담당자(김춘호)&nbsp;</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 123px; height: 46px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
</tr>
<tr>
<td valign="middle" style="overflow: hidden; width: 142px; height: 89px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">2023.1.1.~2024.7.31</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 135px; height: 89px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">개인정보 보호책임자 및 보호담당자 변경</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 146px; height: 89px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">개인정보보호책임자(오성익), 개인정보보호담당자(김현주) </span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 127px; height: 89px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">개인정보보호책임자(김유진), 개인정보보호담당자(진광호) </span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 123px; height: 89px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;">
<span style="position: relative; border-width: 0px;">
<a href="#" onClick="javascript:personalinfo_20230101()">&lt;2019. 6. 7 2023. 12. 31 적용 지침 (클릭)&gt;</a>
</span>
<span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span>
</p>
</td>
</tr>
<tr>
<td valign="middle" style="overflow: hidden; width: 142px; height: 67px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span style="position: relative; border-width: 0px;">2019.6.6. 이전내용</span><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 135px; height: 67px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 146px; height: 67px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 127px; height: 67px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;"><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
<td valign="middle" style="overflow: hidden; width: 123px; height: 67px; border-width: 0.8pt; border-style: solid; border-color: rgb(0, 0, 0); padding: 1.4pt 5.1pt;">
<p class="HStyle0" style="text-align: center; border-width: 0px;">
<span style="position: relative; border-width: 0px;">
<a href="#" onClick="javascript:personalinfo_20190606()">&nbsp;&lt;2002. 1. 1 2019. 6. 6 적용 지침 (클릭)&gt;</a>
</span>
<span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span>
</p>
</td>
</tr>
</tbody></table><p></p>
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
<p class="HStyle0" style="line-height: 180%; border-width: 0px;"><span class="hnc_page_break" style="word-spacing: -0.5em; border-width: 0px;">&nbsp;</span></p>
</td>
</tr>
</table>
</div>
</div>
</div>
</body>
</html>

View File

@ -156,8 +156,8 @@ function LoadingShow() {
<li><a href="javascript:showJusangdo();"
class="map-top-btn map-btn-icon-column">시추<br />주상도
</a></li>
<li><a href="javascript:showSichuInfoDetail(true);"
class="map-top-btn map-btn-icon-info">사업정보<br />보기
<li><a href="javascript:showSichuInfoDetail();"
class="map-top-btn map-btn-icon-info">정보<br />보기
</a></li>
<li><a href="javascript:showSichuInfo2();"
class="map-top-btn map-btn-icon-info">개별정보<br />보기
@ -442,16 +442,14 @@ function LoadingShow() {
<table class="table table-bordered">
<colgroup>
<col width="auto">
<col width="10%">
<col width="10%">
<%-- <col width="10%"> --%>
<col width="10%">
<col width="10%">
<col width="10%">
<col width="10%">
<col width="10%">
<col width="10%">
<col width="10%">
<col width="11%">
<col width="11%">
<col width="11%">
<col width="11%">
<col width="11%">
<col width="11%">
<col width="11%">
<col width="11%">
</colgroup>
<thead>
<tr>
@ -459,13 +457,11 @@ function LoadingShow() {
<th scope="col">굴진심도</th>
<th scope="col">표고</th>
<th scope="col">지하수위</th>
<!-- <th scope="col">기본<br>현장시험</th> -->
<th scope="col">시료 정보</th>
<th scope="col">실내<br>토사시험</th>
<th scope="col">실내<br>암석시험</th>
<th scope="col">현장시험</th>
<th scope="col">동적시험</th>
<th scope="col">물리탐사</th>
<th scope="col">기본<br>현장시험</th>
<th scope="col">기본<br>물성시험</th>
<th scope="col">토사시험</th>
<th scope="col">암석시험</th>
<th scope="col">물리검층</th>
</tr>
</thead>
<tbody id="sichProjectInfo"> <!-- id="sichProjectInfo" -->
@ -474,8 +470,6 @@ function LoadingShow() {
<td class="t-center"></td>
<td class="t-center"></td>
<td class="t-center"></td>
<!-- <td class="t-center"></td> -->
<td class="t-center"></td>
<td class="t-center"></td>
<td class="t-center"></td>
<td class="t-center"></td>
@ -496,9 +490,6 @@ function LoadingShow() {
<script>
var popup1 = $("#popup_type_1");
const regexDoubleQutor = /"/g;
//const regexBraces = /\{/g;
popup1.kendoWindow({
animation: false,
width: 900,
@ -512,25 +503,7 @@ function LoadingShow() {
title: "사업별 시추공 상세정보"
});
function goOneHoleInfo(element, holeCode, matchingBorehole) {
matchingBorehole = matchingBorehole.replace(/\|\^\|/g, "\"");
//matchingBorehole = JSON.parse(matchingBorehole);
var selectSichSize = HOLE_SELECT.features.length;
var holeCodeArray = HOLE_SELECT.features;
for( i=0; i<holeCodeArray.length; i++ ) {
if( String(holeCodeArray[i].attributes.CODE) === String(holeCode) ) {
selectOneSich(holeCode, matchingBorehole);
if( popupData1 ) {
popupData1.close();
}
break;
}
}
}
function popupDataOpen(projectCode,totalCount,isShowPopup) {
function popupDataOpen(projectCode,totalCount){
/* var params = "projectCode="+"B7328"+"&pcode="+"B7328"; */
openWaitWin();
var params = "projectCode="+projectCode+"&pcode="+projectCode;
@ -549,16 +522,16 @@ function LoadingShow() {
$("#sichProjectCode3").html(data.project.projectCode);
$("#sichMetaData").html('<img src="/body/map/download/image/btns_metadata.gif" width="15" height="15" onClick="javascript:openMetadata(\''+data.project.projectCode+'\')" style="cursor: pointer;">');
$("#sichMetaData2").html('<img src="/body/map/download/image/btns_metadata.gif" width="15" height="15" onClick="javascript:openMetadata(\''+data.project.projectCode+'\')" style="cursor: pointer;">');
if(data.project.resistivityCount == null || data.project.resistivityCount == ''){
$("#resistivityCount").html('<a href="#" onclick="previewClipReport(\'TBL_RESISTIVITY_SURVEY\',\''+data.project.projectCode+'\',\'\')">' + '0' + '</a>');
if(data.project.resistivityCount == null || data.project.resistivityCount == ''){
$("#resistivityCount").html('0');
}else{
$("#resistivityCount").html('<a href="#" onclick="previewClipReport(\'TBL_RESISTIVITY_SURVEY\',\''+data.project.projectCode+'\',\'\')">' + data.project.resistivityCount + '</a>');
$("#resistivityCount").html(data.project.resistivityCount);
}
if(data.project.refractionCount == null || data.project.refractionCount == ''){
$("#refractionCount").html('<a href="#" onclick="previewClipReport(\'TBL_REFRACTION_SURVEY\',\''+data.project.projectCode+'\',\'\')">' + '0' + '</a>');
$("#refractionCount").html('0');
}else{
$("#refractionCount").html('<a href="#" onclick="previewClipReport(\'TBL_REFRACTION_SURVEY\',\''+data.project.projectCode+'\',\'\')">' + data.project.refractionCount + '</a>');
$("#refractionCount").html(data.project.refractionCount);
}
@ -770,13 +743,7 @@ function LoadingShow() {
var text = "";
for(var i=0; i<data.projectYn.length; i++){
// <- 여기에 동일한 holeCode값을 찾는 로직을 구현합니다.
var matchingBorehole = data.testCountsPerBorehole.find(function(borehole) {
return borehole.holeCode === data.projectYn[i].holeCode;
});
text += '<tr onclick="goOneHoleInfo(this, \'' + data.projectYn[i].holeCode + '\', \'' + JSON.stringify(matchingBorehole).replace(regexDoubleQutor, "|^|") + '\')">';
text += '<tr>';
text += '<td class="t-center">'+data.projectYn[i].holeName+'</td>';
text += data.projectYn[i].depth != null ? '<td class="t-center">'+data.projectYn[i].depth+'</td>' : '<td class="t-right"></td>';
@ -790,89 +757,37 @@ function LoadingShow() {
if( (data.projectYn[i].spt == 'Y')||(data.projectYn[i].tcrrqd == 'Y') ||(data.projectYn[i].dsf == 'Y') ||(data.projectYn[i].pressuremeter == 'Y')
||(data.projectYn[i].slickenside == 'Y') ||(data.projectYn[i].q == 'Y') ||(data.projectYn[i].rmr == 'Y') ||(data.projectYn[i].waterpressure == 'Y')
||(data.projectYn[i].permeablity == 'Y')||(data.projectYn[i].conePenetration == 'Y')){
// text += '<td class="t-center">V</td>'; //기본현장
text += '<td class="t-center">V</td>'; //기본현장
}else{
// text += '<td class="t-center">V</td>'; //기본현장
text += '<td class="t-center"></td>';
}
if((data.projectYn[i].sampleInfo == 'Y') ){
text += '<td class="t-center">V</td>'; //기본물성
}else{
text += '<td class="t-center"></td>';
}
if((data.projectYn[i].classification == 'Y') ||(data.projectYn[i].cbrCompac == 'Y') || (data.projectYn[i].consolidation == 'Y') || (data.projectYn[i].unconfinedUsual == 'Y')
||(data.projectYn[i].triaxialUsualCu == 'Y')||(data.projectYn[i].triaxialUsualUu == 'Y')||(data.projectYn[i].resonant == 'Y')||(data.projectYn[i].repeated == 'Y')){
text += '<td class="t-center">V</td>'; //토사
}else{
text += '<td class="t-center"></td>';
}
if (matchingBorehole) {
// Number(null) is 0.
// 시료정보( 기본물성 )
if(0 < matchingBorehole.sampleInfo ){
text += '<td class="t-center">V</td>';
}else{
text += '<td class="t-center"></td>';
}
// 실내 토사시험
if(0 < (
Number(matchingBorehole.sandClassification)+
Number(matchingBorehole.sandCbr)+
Number(matchingBorehole.sandConsolidation)+
Number(matchingBorehole.sandUnconfinedUsual)+
Number(matchingBorehole.sandTriaxialUu)+
Number(matchingBorehole.sandTriaxialCu)
)){
text += '<td class="t-center">V</td>';
}else{
text += '<td class="t-center"></td>';
}
// 실내 암석시험
if(0 < (
Number(matchingBorehole.rockUniaxial)+
Number(matchingBorehole.rockTriaxial)+
Number(matchingBorehole.rockPointload)+
Number(matchingBorehole.rockJointshear)
)){
text += '<td class="t-center">V</td>';
}else{
text += '<td class="t-center"></td>';
}
// 현장시험
if(0 < (
Number(matchingBorehole.fieldPressuremeter)+
Number(matchingBorehole.fieldPermeablity)+
Number(matchingBorehole.fieldWaterpressure)+
Number(matchingBorehole.fieldConePenetration)
)){
text += '<td class="t-center">V</td>';
}else{
text += '<td class="t-center"></td>';
}
// 동적시험
if(0 < (
Number(matchingBorehole.sandResonant)+
Number(matchingBorehole.rockResonant)+
Number(matchingBorehole.sandRepeatedTriaxial)+
Number(matchingBorehole.rockRepeatedTriaxial)
)){
text += '<td class="t-center">V</td>';
}else{
text += '<td class="t-center"></td>';
}
// 물리탐사
if(0 < (
Number(matchingBorehole.boreholeWave)+
Number(matchingBorehole.downhole)+
Number(matchingBorehole.density)
)){
text += '<td class="t-center">V</td>';
}else{
text += '<td class="t-center"></td>';
}
}
if((data.projectYn[i].rockUniaxial == 'Y') ||(data.projectYn[i].rockTriaxial == 'Y') || (data.projectYn[i].rockPointload == 'Y') || (data.projectYn[i].rockJointshear == 'Y')
||(data.projectYn[i].rockResonant == 'Y')||(data.projectYn[i].rockRepeated == 'Y')){
text += '<td class="t-center">V</td>'; //암석
}else{
text += '<td class="t-center"></td>';
}
if((data.projectYn[i].boreholeWave == 'Y') ||(data.projectYn[i].downhole == 'Y') || (data.projectYn[i].density == 'Y')){
text += '<td class="t-center">V</td>'; //물리
}else{
text += '<td class="t-center"></td>';
}
text += '</tr>';
}
@ -880,24 +795,7 @@ function LoadingShow() {
$("#sichProjectInfo").html(text);//9개
if(data.bbox != null){
var offsetX = (data.bbox.maxx - data.bbox.minx);
var offsetY = (data.bbox.maxy - data.bbox.miny);
var offsetRatio = 0.3;
if( 10000 < offsetX ) {
offsetRatio = 0.25;
}
offsetX = offsetX * offsetRatio;
offsetY = offsetY * offsetRatio;
var minX = data.bbox.minx-offsetX;
var minY = data.bbox.miny-offsetY;
var maxX = data.bbox.maxx+offsetX;
var maxY = data.bbox.maxy+offsetY;
moveToExtent(minX, minY, maxX, maxY);
moveToExtent(data.bbox.minx, data.bbox.miny, data.bbox.maxx, data.bbox.maxy);
}
addProjectHoles(data.project.projectCode);
$("#mask").hide();
@ -911,10 +809,7 @@ function LoadingShow() {
/* popupDataOpen2(projectCode,totalCount); */
$(".k-edit-form-container").css("width", "100%");
$(".contents-row .table-scrollable").css("overflow-x", "hidden");
if( isShowPopup ) {
popupData1.open(); // 검색된 사업명 클릭시에는 시추공 선택만.
}
popupData1.open();
popupData1.center();
$("#mask").hide();

View File

@ -171,43 +171,41 @@ function downloadNew(mId, fName) {
</table></td>
<script>
document.addEventListener('DOMContentLoaded', function() {
var openerCalled = false;
var checkOpenerInterval; // To store the interval ID
document.addEventListener('DOMContentLoaded', function() {
var openerCalled = false;
var checkOpenerInterval; // To store the interval ID
function tryCallingOpenerFunctions() {
if (opener.BASE_MAP.getZoom() == 7) { // 전국표시 지도가 떴을때 (확대레벨이 전국표시일 때) zoom 시킨다
if (typeof opener.parent.parent.moveToExtent === "function") {
// alert("1111"); // Uncomment for debugging
opener.parent.parent.moveToExtent("${bbox.minx}", "${bbox.miny}", "${bbox.maxx}", "${bbox.maxy}");
opener.parent.parent.addProjectHoles("${project.projectCode}");
openerCalled = true; // Set flag to true
} else if (typeof opener.opener.moveToExtent === "function") {
// alert("2222"); // Uncomment for debugging
opener.opener.moveToExtent("${bbox.minx}", "${bbox.miny}", "${bbox.maxx}", "${bbox.maxy}");
opener.opener.addProjectHoles("${project.projectCode}");
openerCalled = true; // Set flag to true
}
function tryCallingOpenerFunctions() {
if (typeof opener.parent.parent.moveToExtent === "function") {
// alert("1111"); // Uncomment for debugging
opener.parent.parent.moveToExtent("${bbox.minx}", "${bbox.miny}", "${bbox.maxx}", "${bbox.maxy}");
opener.parent.parent.addProjectHoles("${project.projectCode}");
openerCalled = true; // Set flag to true
} else if (typeof opener.opener.moveToExtent === "function") {
// alert("2222"); // Uncomment for debugging
opener.opener.moveToExtent("${bbox.minx}", "${bbox.miny}", "${bbox.maxx}", "${bbox.maxy}");
opener.opener.addProjectHoles("${project.projectCode}");
openerCalled = true; // Set flag to true
}
// If either condition was met, stop the timer
if (openerCalled) {
clearInterval(checkOpenerInterval); // Stop the interval
// console.log("Opener functions called and timer stopped."); // Uncomment for debugging
}
}
}
// If either condition was met, stop the timer
if (openerCalled) {
clearInterval(checkOpenerInterval); // Stop the interval
// console.log("Opener functions called and timer stopped."); // Uncomment for debugging
}
}
// Start checking every 100 milliseconds (adjust as needed)
checkOpenerInterval = setInterval(tryCallingOpenerFunctions, 100);
// Start checking every 100 milliseconds (adjust as needed)
checkOpenerInterval = setInterval(tryCallingOpenerFunctions, 100);
// Optional: Add a timeout to stop checking after a certain period to prevent infinite loops
setTimeout(function() {
if (!openerCalled) {
clearInterval(checkOpenerInterval);
// console.warn("Opener functions could not be called within the timeout period."); // Uncomment for debugging
}
}, 200); // Stop after 5 seconds (5000 milliseconds)
});
// Optional: Add a timeout to stop checking after a certain period to prevent infinite loops
setTimeout(function() {
if (!openerCalled) {
clearInterval(checkOpenerInterval);
// console.warn("Opener functions could not be called within the timeout period."); // Uncomment for debugging
}
}, 200); // Stop after 5 seconds (5000 milliseconds)
});
</script>
</tr>
</table> <!--END:내용 -->

View File

@ -348,6 +348,7 @@ window.onload = function() {
resultData = json.result;
if(resultData == "false"){
shakeAndHighlight(projectNameInput, json.message);
//projectNameInput.value = '';
return false;
} else {
return true;
@ -366,76 +367,91 @@ window.onload = function() {
});
projectNameInput.onkeyup = function() {
var preProjectList = [
"새로운 웹사이트 개발 프로젝트",
"새로운 나라만들기 프로젝트",
"모바일 앱 개편",
"데이터베이스 마이그레이션",
"클라우드 인프라 구축",
"인공지능 기반 서비스 개발",
"머신러닝 모델 학습",
"빅데이터 분석 플랫폼 구축",
"사이버 보안 강화 프로젝트",
"소프트웨어 품질 개선",
"사용자 인터페이스 디자인 개선"
];
var projectName = String(this.value).trim();
projectNameInput.onkeyup = function() {
if (projectName.length > 0) {
var projectName = this.value;
$.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");
if (projectName.length > 0) {
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;
}
$.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");
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>';
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.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";
};
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>';
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";
}
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";
};
},
error: function(xhr, option, error){
alert(xhr.status); //오류코드
alert(error); //오류내용
}
});
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); //오류내용
}
});
};
}
};

View File

@ -343,7 +343,7 @@ function holeCodeSqureCheck(){
data : params,
success : function(data){
AreaHcode = "";
if(false && data.count > 300){
if(data.count > 300){
closeWaitWin();
$("#mask").hide()
HOLE_SELECT.removeAllFeatures();
@ -356,9 +356,9 @@ function holeCodeSqureCheck(){
CTL_MODIFY.deactivate();
CTL_MODIFY.activate();
CTL_INFO.deactivate();
console.log("시추공은 300개까지 선택할 수 있습니다.3");
alert("시추공은 300개까지 선택할 수 있습니다.");
CTL_AREA.activate();
}else if(false && data.data.length > 300){
}else if(data.data.length > 300){
closeWaitWin();
$("#mask").hide()
HOLE_SELECT.removeAllFeatures();
@ -371,9 +371,9 @@ function holeCodeSqureCheck(){
CTL_MODIFY.deactivate();
CTL_MODIFY.activate();
CTL_INFO.deactivate();
alert("시추공은 300개까지 선택할 수 있습니다.4");
alert("시추공은 300개까지 선택할 수 있습니다.");
CTL_AREA.activate();
} else if(data.data) {
}else if(data.data){
var format = new OpenLayers.Format.WKT();
var features = [];
for(var i=0, len=data.data.length; i < len; i++) {
@ -392,19 +392,6 @@ function holeCodeSqureCheck(){
if(features.length > 0) {
HOLE_SELECT.addFeatures(features);
}
} else {
var currentZoomLevel = BASE_MAP.getZoom();
if( currentZoomLevel < 8) {
alert("지도 선택 범위가 전국이 보일정도로 너무 넓습니다. 지도를 많이 확대해주세요");
} else if( currentZoomLevel < 11) {
alert("지도 선택 범위가 넓습니다. 지도를 하나의 읍/면/동이 꽉 찰 때까지 확대해주세요.");
} else if( currentZoomLevel < 12) {
alert("지도 선택 범위가 넓습니다. 지도를 확대를 더 확대해주세요.");
} else if( currentZoomLevel < 13) {
alert("지도 선택 범위가 너무 넓습니다.");
} else {
alert("선택영역 좁혀주세요.");
}
}
},
@ -414,23 +401,6 @@ function holeCodeSqureCheck(){
complete: function(){
closeWaitWin()
$("#mask").hide()
clearTextLabels();
for (var i=0; i < HOLE_SELECT.features.length; i++){
addHoleNames(HOLE_SELECT.features[i]);
}
//선택된 영역을 제거한다.
CTL_AREA.deactivate();
if (HOLE_AREA.features.length > 0 && HOLE_AREA.features[0]) {
HOLE_AREA.features[0].style = null;
}
var transparentStyle = new OpenLayers.Style({
strokeOpacity: 0.0,
fillOpacity: 0.0
});
HOLE_AREA.styleMap = new OpenLayers.StyleMap(transparentStyle);
HOLE_AREA.redraw();
CTL_AREA.activate();
}
});

View File

@ -80,7 +80,7 @@ function showSichuInfo() {
//정보보기 누를 때, 사업별 시추공 상세정보가 나타나도록 한다.
function showSichuInfoDetail(isShowPopup) {
function showSichuInfoDetail() {
var sichuInfo = getSelectAreaInfo2();
if (sichuInfo == null || sichuInfo == undefined) {
@ -99,6 +99,7 @@ function showSichuInfoDetail(isShowPopup) {
}
const arrSichuInfoComma = String(sichuInfo).split(',');
const regex = /([a-zA-Z]+\d+).*/;
let foundProjectCode = null;
@ -116,7 +117,7 @@ function showSichuInfoDetail(isShowPopup) {
if( isMultipleProject ) {
alert('가장 마지막에 선택된 하나의 프로젝트만 조회됩니다.');
}
popupDataOpen(foundProjectCode, null, isShowPopup);
popupDataOpen(foundProjectCode);
}
return;
}

View File

@ -186364,128 +186364,6 @@ var 부산광역시 = [
[400175.744178534,312101.356864329]
];
//커스텀 DragPopup 컨트롤 정의
OpenLayers.Control.DragPopup = OpenLayers.Class(OpenLayers.Control, {
popup: null,
isDragging: false,
startPixel: null,
popupStartPos: null,
// document에 등록/해제할 이벤트 핸들러를 저장하기 위한 속성
boundMouseMove: null,
boundMouseUp: null,
initialize: function(popup, options) {
OpenLayers.Control.prototype.initialize.apply(this, [options]);
this.popup = popup;
},
// 컨트롤을 완전히 제거할 때 호출되어 안전하게 정리합니다.
destroy: function() {
this.deactivate(); // 이벤트 리스너 등을 먼저 비활성화합니다.
OpenLayers.Control.prototype.destroy.apply(this, arguments); // 부모 클래스의 destroy를 호출합니다.
this.popup = null; // 팝업 참조를 제거합니다.
},
// 컨트롤이 활성화될 때 팝업 div에 mousedown 이벤트를 연결합니다.
activate: function() {
if (OpenLayers.Control.prototype.activate.apply(this, arguments) && this.popup && this.popup.div) {
this.events = new OpenLayers.Events(this, this.popup.div, null, true);
this.events.on({
"mousedown": this.onMouseDown,
scope: this
});
return true;
}
return false;
},
// 컨트롤이 비활성화될 때 이벤트를 제거합니다.
deactivate: function() {
if (this.isDragging) {
this.onMouseUp(null);
}
if (this.events) {
this.events.destroy();
this.events = null;
}
if( 0 < OpenLayers.Control.prototype.deactivate.length ) {
return OpenLayers.Control.prototype.deactivate.apply(this, arguments);
}
return false;
},
onMouseDown: function(evt) {
var target = evt.target || evt.srcElement;
// 닫기 버튼 또는 팝업 내부의 상호작용 가능한 요소(input, button 등)를 클릭한 경우는 드래그를 시작하지 않습니다.
if (target.className.indexOf('olPopupCloseBox') > -1 || ['INPUT', 'BUTTON', 'A', 'TEXTAREA', 'SELECT'].indexOf(target.tagName) !== -1) {
return;
}
this.isDragging = true;
// 표준 clientX/Y를 사용하여 시작 좌표를 기록합니다.
this.startPixel = { x: evt.clientX, y: evt.clientY };
this.popupStartPos = {
x: parseInt(this.popup.div.style.left) || 0,
y: parseInt(this.popup.div.style.top) || 0
};
// document에 이벤트 리스너를 등록합니다.
// 변경점: useCapture 인자를 true로 설정하여 '캡처링' 단계에서 이벤트를 감지합니다.
// 이렇게 하면 팝업 내부의 다른 요소(예: <a> 태그)가 mouseup 이벤트의 전파를 중단(stopPropagation)시켜도
// document 레벨에서 이벤트를 먼저 감지하여 드래그를 정상적으로 종료할 수 있습니다.
this.boundMouseMove = this.onMouseMove.bind(this);
this.boundMouseUp = this.onMouseUp.bind(this);
OpenLayers.Event.observe(document, "mousemove", this.boundMouseMove, true);
OpenLayers.Event.observe(document, "mouseup", this.boundMouseUp, true);
this.map.div.style.cursor = "move";
OpenLayers.Event.stop(evt); // 이벤트 전파 중단으로 텍스트 선택 등 부수 효과 방지
},
// 마우스를 움직일 때
onMouseMove: function(evt) {
if (this.isDragging) {
// 표준 clientX/Y를 사용하여 현재 좌표를 가져옵니다.
var currentPixel = { x: evt.clientX, y: evt.clientY };
var deltaX = currentPixel.x - this.startPixel.x;
var deltaY = currentPixel.y - this.startPixel.y;
this.popup.div.style.left = (this.popupStartPos.x + deltaX) + "px";
this.popup.div.style.top = (this.popupStartPos.y + deltaY) + "px";
OpenLayers.Event.stop(evt);
}
},
// 마우스 버튼을 뗐을 때
onMouseUp: function(evt) {
if (this.isDragging) {
this.isDragging = false;
// 변경점: document에 '캡처링' 단계로 등록했던 이벤트 리스너를 제거합니다.
OpenLayers.Event.stopObserving(document, "mousemove", this.boundMouseMove, true);
OpenLayers.Event.stopObserving(document, "mouseup", this.boundMouseUp, true);
this.boundMouseMove = null;
this.boundMouseUp = null;
this.map.div.style.cursor = "";
if (evt) {
OpenLayers.Event.stop(evt);
}
}
},
CLASS_NAME: "OpenLayers.Control.DragPopup"
});
//---------여기 시작 코드
@ -186691,7 +186569,6 @@ var CTL_INFO;
var CTL_TOOLTIP;
var POPUP_TOOLTIP;
var TEXT_LABEL_LAYER;
var POLYGON_TYPE;
@ -187035,29 +186912,6 @@ function initApp(param){
}*/
BASE_MAP.addLayer(HOLE_LAYER);
var textStyle = new OpenLayers.Style({
// feature의 'attributes' 객체에 있는 속성들을 참조하여 스타일을 동적으로 적용합니다.
label: "${label}",
fontColor: "${fontColor}",
fontSize: "${fontSize}",
fontWeight: "${fontWeight}",
fontFamily: "${fontFamily}",
labelAlign: "${labelAlign}",
labelYOffset: "${labelYOffset}",
labelOutlineColor: "${labelOutlineColor}",
labelOutlineWidth: "${labelOutlineWidth}",
// 점 아이콘은 표시하지 않습니다.
pointRadius: 0,
fillOpacity: 0
});
TEXT_LABEL_LAYER = new OpenLayers.Layer.Vector("Text Labels", {
styleMap: new OpenLayers.StyleMap({'default': textStyle})
});
BASE_MAP.addLayer(TEXT_LABEL_LAYER);
// ---------------------
// 컨트롤 생성
// ---------------------
@ -187444,62 +187298,6 @@ function initApp(param){
BASE_MAP.addControl(CTL_INFO);
CTL_INFO.deactivate();
// 도움말
CTL_HELP = new OpenLayers.Control();
OpenLayers.Util.extend(CTL_HELP, {
id : "CTL_HELP",
infoDiv: null,
getText: function(){
return this.infoDiv.innerHTML;
},
setText: function(txt){
this.infoDiv.innerHTML = txt;
},
draw: function () {
OpenLayers.Control.prototype.draw.apply(this, arguments);
this.infoDiv = document.createElement('div');
this.infoDiv.style.border = 'thin solid #333333';
this.infoDiv.style.position = 'absolute';
this.infoDiv.style.overflow = 'hidden';
this.infoDiv.style.left = 170 + "px";
this.infoDiv.style.top = String(10) + "px";
this.infoDiv.style.width = 680 + "px";
this.infoDiv.style.height = 35*1 + "px";
this.infoDiv.style.padding = 5 + "px";
this.infoDiv.style.backgroundColor = "rgba(0,0,0,0.6)";
this.infoDiv.style.fontWeight = "100";
this.infoDiv.style.color = "#ffffff";
this.infoDiv.style.textAlign = "center";
this.infoDiv.style.display = "block";
this.div.appendChild(this.infoDiv);
return this.div;
},
activate : function() {
this.infoDiv.style.display = "block";
return OpenLayers.Control.prototype.activate.apply(this,arguments);
},
deactivate: function() {
this.infoDiv.style.display = "none";
return OpenLayers.Control.prototype.deactivate.apply(this,arguments);
}
});
BASE_MAP.addControl(CTL_HELP);
CTL_HELP.setText("Shift키를 누른 상태로 영역 드래그 시 확대됨 | 마우스 왼쪽 더블클릭 확대 / 오른쪽 더블클릭 축소");
CTL_HELP.activate();
$("#CTL_HELP").css("bottom","65px");
$("#CTL_HELP").css("left","20px");
// ---------------------
// 지도 초기화
@ -187857,22 +187655,6 @@ function initApp(param){
});
// 지도의 줌 액션이 끝날 때마다 이 함수가 실행됩니다.
BASE_MAP.events.register("zoomend", BASE_MAP, function() {
// 1. 현재 지도의 줌 레벨을 가져옵니다.
var currentZoom = BASE_MAP.getZoom();
// 2. 줌 레벨이 특정값 이상인지 확인합니다.
if (currentZoom >= 14) {
// 특정값 이상이면 TEXT_LABEL_LAYER를 보이게 합니다.
TEXT_LABEL_LAYER.setVisibility(true);
} else {
// 특정값 미만이면 TEXT_LABEL_LAYER를 숨깁니다.
TEXT_LABEL_LAYER.setVisibility(false);
}
});
/*CTL_AREA_CIRCLE2.drawFeature2(evt);*/
/*console.log(BASE_MAP.getScale);*/
@ -188898,59 +188680,12 @@ function addTooltip(feature) {
}
function removeTooltip() {
// 드래그 컨트롤이 존재하면 먼저 destroy 합니다.
if (dragControl) {
dragControl.destroy();
        dragControl = null;
    }
// 팝업이 존재하면 destroy 합니다.
if(POPUP_TOOLTIP) {
POPUP_TOOLTIP.destroy();
if(POPUP_TOOLTIP) {
BASE_MAP.removePopup(POPUP_TOOLTIP);
POPUP_TOOLTIP = null;
}
}
// 사용자에 의해 입력된 시추공 명 텍스트 라벨을 모두 지우는 함수 ---
function clearTextLabels() {
if (TEXT_LABEL_LAYER) {
TEXT_LABEL_LAYER.removeAllFeatures();
}
}
function addHoleNames(feature) {
$.get("/map/hole-name-by-user.do", feature.attributes).done(function(response) {
if (response && response.data && response.data.length > 0) {
var lon = feature.geometry.x;
var lat = feature.geometry.y;
var point = new OpenLayers.Geometry.Point(lon, lat);
// 이 속성들은 레이어의 StyleMap에서 참조하여 사용됩니다.
var featureAttributes = {
label: response.data[0].holeName, // 표시할 텍스트
fontColor: "#b1cf42", // 글자색
fontSize: "20px", // 글자 크기
fontWeight: "bold", // 글자 굵기
labelAlign: "cb", // 라벨 정렬 (cm = center-middle)
labelOutlineColor: "#52770a", // 테두리 색상
labelOutlineWidth: 3, // 테두리 두께
labelYOffset: 25, // 포인트로부터 10px 위로 더 밀어냅니다.
// pointSymbolizer를 'none'으로 설정하여 점 아이콘은 숨깁니다.
pointRadius: 0,
fillOpacity: 0
};
// ----------------------------------------------------------------
// --- 변경점: 피처 생성 시 geometry와 attributes를 전달합니다. ---
var textFeature = new OpenLayers.Feature.Vector(point, featureAttributes);
// 미리 생성된 단일 텍스트 레이어에 피처를 추가합니다.
TEXT_LABEL_LAYER.addFeatures([textFeature]);
}
});
}
//----------------------------
//함수 : 영역 선택 기능 관리
//----------------------------
@ -188998,7 +188733,6 @@ function getSelectAreaInfo2(){
if (HOLE_AREA.features.length == 0 && (CTL_AREA_CIRCLE2.handler.feature == undefined || CTL_AREA_CIRCLE2.handler.feature == null )){
return;
}
var bounds = null;
if(($('input[name=areaRadio]:checked').val() == '1' && HOLE_AREA.features[0] !=undefined)||$('input[name=areaRadio]:checked').val() == '2' ){
CTL_AREA_CIRCLE2.handler.feature = HOLE_AREA.features[0];
@ -189006,9 +188740,6 @@ function getSelectAreaInfo2(){
}else if($('input[name=areaRadio]:checked').val() == '1' && HOLE_AREA.features[0] == undefined){
bounds = CTL_AREA_CIRCLE2.handler.feature.geometry.getBounds().transform("EPSG:3857", "EPSG:5186");
}
if( bounds == null ) {
initControl();
}
var strArray = bounds.toString().split( "," );
var circleX = (parseFloat(strArray[0],10)+parseFloat(strArray[2],10))/2;
var circleY = (parseFloat(strArray[1],10)+parseFloat(strArray[3],10))/2;
@ -189070,7 +188801,6 @@ function onSelectHole(){
function offSelectHole(){
HOLE_SELECT.removeAllFeatures();
HOLE_SELECT2.removeAllFeatures();
clearTextLabels();
initControl();
}
@ -189090,6 +188820,7 @@ function getSelectHoleInfo(){
function addHole(evt){
if (evt.text.length > 50) {
var values = JSON.parse(evt.text);
@ -189106,8 +188837,6 @@ function addHole(evt){
);
HOLE_SELECT.addFeatures([hole]);
hole.attributes.holeCode = hole.attributes.CODE;
addHoleNames(hole);
}
}
@ -189176,9 +188905,6 @@ function addProject(evt) {
function addProjectHoles(projectCode) {
HOLE_SELECT.removeAllFeatures();
HOLE_SELECT2.removeAllFeatures();
removeTooltip(); // 기존 메인 팝업 제거
clearTextLabels();
console.log("addProjectHoles projectCode ::: " + projectCode);
$.get("/map/searchHoleByProjectCode.do", { projectCode : projectCode }).done(function(response) {
console.log("get projectCode ::: " + projectCode);
@ -189191,10 +188917,6 @@ function addProjectHoles(projectCode) {
feature.attributes.CODE = row.code;
feature.geometry.transform('EPSG:5186', 'EPSG:3857');
features.push(feature);
feature.attributes.holeCode = feature.attributes.CODE;
addHoleNames(feature);
}
if(features.length > 0) {
@ -190061,7 +189783,6 @@ function initControl(){
CTL_MODIFY.deactivate();
CTL_MODIFY.activate();
CTL_INFO.deactivate();
clearTextLabels();
for(var i = 0; i < parent.BASE_MAP.layers.length; i ++){
if(parent.BASE_MAP.layers[i].name == 'Jihaanjeon'){
@ -190916,7 +190637,6 @@ function selectHjdCde(feature){
}
}
var dragControl; // 드래그 컨트롤을 담을 변수 추가
function selectOneSich(hcode){
//HOLE_SELECT.features
@ -190937,280 +190657,208 @@ function selectOneSich(hcode){
var result =data;
var tagStr = "";
tagStr +=  '<div style="overflow:auto;height:280px;">';
tagStr +=  '<div style="background-color: #004e99;color: white;font-size: 18px;font-weight: bold;margin-bottom: 10px;"> 시추공 정보 </div>'
tagStr +=  '<table class="table table-bordered" width="100%" border="0" cellpadding="4" cellspacing="1">';
tagStr +=  '<colgroup>';
tagStr +=  '<col style="width:100px;">';
tagStr +=  '<col style="width:180px;">';
tagStr +=  '<col style="width:100px;">';
tagStr +=  '<col style="width:180px;">';
tagStr +=  '</colgroup>';
tagStr +=  '<tbody>';
tagStr +=  '<tr>';
tagStr +=  '<td bgcolor="F7F7F7"><strong>프로젝트정보</strong></td>';
tagStr +=  '<td bgcolor="#FFFFFF" colspan="3">'+data.project.projectName+'</td>';
tagStr +=  '</tr>';
tagStr +=  '<tr>';
tagStr +=  '<td bgcolor="F7F7F7"><strong>시추공명</strong></td>';
tagStr +=  '<td bgcolor="#FFFFFF">'+data.mapHeader.holeName+'</td>';
tagStr +=  '<td bgcolor="F7F7F7"><strong>시추공코드</strong></td>';
tagStr +=  '<td bgcolor="#FFFFFF">'+data.mapHeader.holeCode+'</td>';
tagStr +=  '</tr>';
tagStr +=  '<tr>';
tagStr +=  '<td bgcolor="F7F7F7"><strong>시추공종류</strong></td>';
tagStr +=  '<td bgcolor="#FFFFFF">Boring</td>';
tagStr +=  '<td bgcolor="F7F7F7"><strong>굴진심도</strong></td>';
tagStr +=  '<td bgcolor="#FFFFFF">'+data.mapHeader.holeTotalDepth+'</td>';
tagStr +=  '</tr>';
tagStr += '<div style="overflow:auto;height:280px;">';
tagStr += '<div style="background-color: #004e99;color: white;font-size: 18px;font-weight: bold;margin-bottom: 10px;"> 시추공 정보 </div>'
tagStr += '<table class="table table-bordered" width="100%" border="0" cellpadding="4" cellspacing="1">';
tagStr += '<colgroup>';
tagStr += '<col style="width:100px;">';
tagStr += '<col style="width:180px;">';
tagStr += '<col style="width:100px;">';
tagStr += '<col style="width:180px;">';
tagStr += '</colgroup>';
tagStr += '<tbody>';
tagStr +=  '<tr>';
tagStr +=  '<td bgcolor="F7F7F7"><strong>표고</strong></td>';
tagStr +=  '<td bgcolor="#FFFFFF">'+data.mapHeader.holeEl+'</td>';
tagStr +=  '<td bgcolor="F7F7F7"><strong>지하수위</strong></td>';
tagStr +=  '<td bgcolor="#FFFFFF">'+data.mapHeader.holeWl+'</td>';
tagStr +=  '</tr>';
tagStr += '<tr>';
tagStr += '<td bgcolor="F7F7F7"><strong>프로젝트정보</strong></td>';
tagStr += '<td bgcolor="#FFFFFF" colspan="3">'+data.project.projectName+'</td>';
tagStr += '</tr>';
tagStr +=  '</tbody>';
tagStr +=  '</table>';
tagStr +=  '<div style="background-color: #004e99;color: white;font-size: 18px;font-weight: bold;margin-top: 10px;margin-bottom: 10px;"> 등록된 시험 정보 </div>'
tagStr += '<tr>';
tagStr += '<td bgcolor="F7F7F7"><strong>시추공명</strong></td>';
tagStr += '<td bgcolor="#FFFFFF">'+data.mapHeader.holeName+'</td>';
tagStr += '<td bgcolor="F7F7F7"><strong>시추공코드</strong></td>';
tagStr += '<td bgcolor="#FFFFFF">'+data.mapHeader.holeCode+'</td>';
tagStr += '</tr>';
tagStr += '<tr>';
tagStr += '<td bgcolor="F7F7F7"><strong>시추공종류</strong></td>';
tagStr += '<td bgcolor="#FFFFFF">Boring</td>';
tagStr += '<td bgcolor="F7F7F7"><strong>굴진심도</strong></td>';
tagStr += '<td bgcolor="#FFFFFF">'+data.mapHeader.holeTotalDepth+'</td>';
tagStr += '</tr>';
tagStr += '<tr>';
tagStr += '<td bgcolor="F7F7F7"><strong>표고</strong></td>';
tagStr += '<td bgcolor="#FFFFFF">'+data.mapHeader.holeEl+'</td>';
tagStr += '<td bgcolor="F7F7F7"><strong>지하수위</strong></td>';
tagStr += '<td bgcolor="#FFFFFF">'+data.mapHeader.holeWl+'</td>';
tagStr += '</tr>';
/* tagStr += '<tr>';
tagStr += '<td class="td-head">시추공종류</td>';
tagStr += '<td class="t-center">Boring</td>';
tagStr += '</tr>';
tagStr += '<tr>';
tagStr += '<td class="td-head">굴진심도</td>';
tagStr += '<td class="t-center"> -'+ data.mapHeader.holeEl +'</td>';
tagStr += '</tr>';*/
tagStr += '</tbody>';
tagStr += '</table>';
tagStr += '<div style="background-color: #004e99;color: white;font-size: 18px;font-weight: bold;margin-top: 10px;margin-bottom: 10px;"> 등록된 시험 정보 </div>'
tagStr += '<table class="table table-bordered" width="100%" border="0" cellpadding="3" cellspacing="1">';
tagStr +=  '<colgroup>';
tagStr +=  '<col style="width:200px;">';
tagStr +=  '<col style="width:200px;">';
tagStr +=  '<col style="width:160px;">';
tagStr +=  '</colgroup>';
tagStr +=  '<tbody>';
var rowspan = 0;
var textCount = 0;
tagStr += '<colgroup>';
tagStr += '<col style="width:200px;">';
tagStr += '<col style="width:200px;">';
tagStr += '<col style="width:160px;">';
tagStr += '</colgroup>';
tagStr += '<tbody>';
// 3. 시료 정보
rowspan = 1;
textCount = 0;
tagStr += tableRowOneSich("시료 정보","시료 정보","TBL_SAMPLE_INFO",data.project.projectCode,data.hCode,rowspan,textCount, 0 < Number(data.data.sampleInfo) ? 'Y' : 'N')
textCount ++;
// 4. 실내토사시험
rowspan = 6; //시험이 총 6개
textCount = 0;
tagStr += tableRowOneSich("실내토사시험","토사 입도분석시험","TBL_CLASSIFICATION2",data.project.projectCode,data.hCode,rowspan,textCount, 0 < Number(data.data.sandClassification) ? 'Y' : 'N')
textCount ++;
tagStr += tableRowOneSich("실내토사시험","토사 CBR 시험","TBL_CBR2",data.project.projectCode,data.hCode,rowspan,textCount, 0 < Number(data.data.sandCbr) ? 'Y' : 'N')
textCount ++;
tagStr += tableRowOneSich("실내토사시험","토사 압밀시험 ","TBL_CONSOLIDATION2",data.project.projectCode,data.hCode,rowspan,textCount, 0 < Number(data.data.sandConsolidation) ? 'Y' : 'N')
textCount ++;
tagStr += tableRowOneSich("실내토사시험","토사 일축압축시험","TBL_UNCONFINED2",data.project.projectCode,data.hCode,rowspan,textCount, 0 < Number(data.data.sandUnconfinedUsual) ? 'Y' : 'N')
textCount ++;
tagStr += tableRowOneSich("실내토사시험","토사 삼축압축시험 UU","TBL_TRIUU2",data.project.projectCode,data.hCode,rowspan,textCount, 0 < Number(data.data.sandTriaxialUu) ? 'Y' : 'N')
textCount ++;
tagStr += tableRowOneSich("실내토사시험","토사 삼축압축시험 CU","TBL_TRICU2",data.project.projectCode,data.hCode,rowspan,textCount, 0 < Number(data.data.sandTriaxialCu) ? 'Y' : 'N')
textCount ++;
// 5. 실내암석시험
rowspan = 4;
textCount = 0;
tagStr += tableRowOneSich("실내암석시험","암석 일축압축시험","TBL_ROCK_UNIAXIAL2",data.project.projectCode,data.hCode,rowspan,textCount, 0 < Number(data.data.rockUniaxial) ? 'Y' : 'N');
textCount ++;
tagStr += tableRowOneSich("실내암석시험","암석 삼축압축시험 ","TBL_ROCK_TRIAXIAL2",data.project.projectCode,data.hCode,rowspan,textCount, 0 < Number(data.data.rockTriaxial) ? 'Y' : 'N');
textCount ++;
tagStr += tableRowOneSich("실내암석시험","암석 점하중강도시험","TBL_ROCK_POINTLOAD2",data.project.projectCode,data.hCode,rowspan,textCount, 0 < Number(data.data.rockPointload) ? 'Y' : 'N');
textCount ++;
tagStr += tableRowOneSich("실내암석시험","암석 절리면전단시험","TBL_ROCK_JOINTSHEAR2",data.project.projectCode,data.hCode,rowspan,textCount, 0 < Number(data.data.rockJointshear) ? 'Y' : 'N');
textCount ++;
// 6. 현장시험
rowspan = 4;
textCount = 0;
tagStr += tableRowOneSich("현장시험","공내재하시험","TBL_FIELD_PRESSUREMETER",data.project.projectCode,data.hCode,rowspan,textCount, 0 < Number(data.data.fieldPressuremeter) ? 'Y' : 'N');
textCount ++;
tagStr += tableRowOneSich("현장시험","현장투수시험","TBL_FIELD_PERMEABILITY2",data.project.projectCode,data.hCode,rowspan,textCount, 0 < Number(data.data.fieldPermeablity) ? 'Y' : 'N');
textCount ++;
tagStr += tableRowOneSich("현장시험","수압시험","TBL_FIELD_WATERPRESSURE2",data.project.projectCode,data.hCode,rowspan,textCount, 0 < Number(data.data.fieldWaterpressure) ? 'Y' : 'N');
textCount ++;
tagStr += tableRowOneSich("현장시험","콘관입시험","TBL_FIELD_CONE_PENETRATION2",data.project.projectCode,data.hCode,rowspan,textCount, 0 < Number(data.data.fieldConePenetration) ? 'Y' : 'N');
textCount ++;
// 7. 동적시험
rowspan = 4;
textCount = 0;
tagStr += tableRowOneSich("동적시험","토사 공진주시험","TBL_RESONANT2",data.project.projectCode,data.hCode,rowspan,textCount, 0 < Number(data.data.sandResonant) ? 'Y' : 'N');
textCount ++;
tagStr += tableRowOneSich("동적시험","암석 공진주시험","TBL_ROCK_RESONANT_USUAL2",data.project.projectCode,data.hCode,rowspan,textCount, 0 < Number(data.data.rockResonant) ? 'Y' : 'N');
textCount ++;
tagStr += tableRowOneSich("동적시험","토사 반복삼축압축시험","TBL_REPEATED_TRIAXIAL2",data.project.projectCode,data.hCode,rowspan,textCount, 0 < Number(data.data.sandRepeatedTriaxial) ? 'Y' : 'N');
textCount ++;
tagStr += tableRowOneSich("동적시험","암석 반복삼축압축시험","TBL_ROCK_REPEATED_TRIAXIAL_USUAL2",data.project.projectCode,data.hCode,rowspan,textCount, 0 < Number(data.data.rockRepeatedTriaxial) ? 'Y' : 'N');
textCount ++;
// 8. 물리탐사
rowspan = 3;
textCount = 0;
tagStr += tableRowOneSich("물리탐사","PS 검층 정보","TBL_BOREHOLE_WAVE",data.project.projectCode,data.hCode,rowspan,textCount, 0 < Number(data.data.boreholeWave) ? 'Y' : 'N');
textCount ++;
tagStr += tableRowOneSich("물리탐사","하향식 탄성파","TBL_DOWNHOLE",data.project.projectCode,data.hCode,rowspan,textCount, 0 < Number(data.data.downhole) ? 'Y' : 'N');
textCount ++;
tagStr += tableRowOneSich("물리탐사","밀도검층정보","TBL_DENSITY",data.project.projectCode,data.hCode,rowspan,textCount, 0 < Number(data.data.density) ? 'Y' : 'N');
textCount ++;
/*
//기본
rowspan = 0;
rowspan = true || data.projectYn.waterpressure == 'Y' ? rowspan +1 : rowspan;
rowspan = true || data.projectYn.permeability == 'Y' ? rowspan +1 : rowspan;
rowspan = true || data.projectYn.pressuremeter == 'Y' ? rowspan +1 : rowspan;
rowspan = true || data.projectYn.conePenetration == 'Y' ? rowspan +1 : rowspan;
var rowspan = 0;
rowspan = data.projectYn.waterpressure == 'Y' ? rowspan +1 : rowspan;
rowspan = data.projectYn.permeability == 'Y' ? rowspan +1 : rowspan;
rowspan = data.projectYn.conePenetration == 'Y' ? rowspan +1 : rowspan;
textCount = 0;
if( true || data.projectYn.waterpressure == 'Y'){
tagStr += tableRowOneSich("기본현장시험","현장수압시험","TBL_FIELD_WATERPRESSURE2",data.project.projectCode,data.hCode,rowspan,textCount, data.projectYn.waterpressure)
var textCount = 0;
if( data.projectYn.waterpressure == 'Y'){
tagStr += tableRowOneSich("기본현장시험","현장수압시험","TBL_FIELD_WATERPRESSURE2",data.project.projectCode,data.hCode,rowspan,textCount)
textCount ++;
}
if( true || data.projectYn.permeability == 'Y'){
tagStr += tableRowOneSich("기본현장시험","현장투수시험","TBL_FIELD_PERMEABILITY2",data.project.projectCode,data.hCode,rowspan,textCount, data.projectYn.permeability)
if( data.projectYn.permeability == 'Y'){
tagStr += tableRowOneSich("기본현장시험","현장투수시험","TBL_FIELD_PERMEABILITY2",data.project.projectCode,data.hCode,rowspan,textCount)
textCount ++;
}
if( true || data.projectYn.pressuremeter == 'Y'){
tagStr += tableRowOneSich("기본현장시험","공내재하시험","TBL_FIELD_PRESSUREMETER",data.project.projectCode,data.hCode,rowspan,textCount, data.projectYn.pressuremeter)
textCount ++;
}
if( true || data.projectYn.conePenetration == 'Y'){
tagStr += tableRowOneSich("기본현장시험","콘관입시험","TBL_FIELD_CONE_PENETRATION2",data.project.projectCode,data.hCode,rowspan,textCount, data.projectYn.conePenetration)
if( data.projectYn.conePenetration == 'Y'){
tagStr += tableRowOneSich("기본현장시험","콘관입시험","TBL_FIELD_CONE_PENETRATION2",data.project.projectCode,data.hCode,rowspan,textCount)
textCount ++;
}
//물성
rowspan = 0;
textCount = 0;
rowspan = true || data.projectYn.sampleInfo == 'Y' ? rowspan +1 : rowspan;
if( true || data.projectYn.sampleInfo == 'Y'){
tagStr += tableRowOneSich("기본물성시험","기본물성시험","TBL_SAMPLE_INFO",data.project.projectCode,data.hCode,rowspan,textCount, data.projectYn.sampleInfo)
rowspan = data.projectYn.sampleInfo == 'Y' ? rowspan +1 : rowspan;
if( data.projectYn.conePenetration == 'Y'){
tagStr += tableRowOneSich("기본물성시험","기본물성시험","TBL_SAMPLE_INFO",data.project.projectCode,data.hCode,rowspan,textCount)
textCount ++;
}
//토사
rowspan = 0;
textCount = 0;
rowspan = true || data.projectYn.classification == 'Y' ? rowspan +1 : rowspan;
rowspan = true || data.projectYn.cbrCompac == 'Y' ? rowspan +1 : rowspan;
rowspan = true || data.projectYn.consolidation == 'Y' ? rowspan +1 : rowspan;
rowspan = true || data.projectYn.unconfinedUsual == 'Y' ? rowspan +1 : rowspan;
rowspan = true || data.projectYn.triaxialUsualCu == 'Y' ? rowspan +1 : rowspan;
rowspan = true || data.projectYn.triaxialUsualUu == 'Y' ? rowspan +1 : rowspan;
rowspan = true || data.projectYn.rockResonant == 'Y' ? rowspan +1 : rowspan;
rowspan = true || data.projectYn.rockRepeated == 'Y' ? rowspan +1 : rowspan;
rowspan = data.projectYn.classification == 'Y' ? rowspan +1 : rowspan;
rowspan = data.projectYn.cbrCompac == 'Y' ? rowspan +1 : rowspan;
rowspan = data.projectYn.consolidation == 'Y' ? rowspan +1 : rowspan;
rowspan = data.projectYn.unconfinedUsual == 'Y' ? rowspan +1 : rowspan;
rowspan = data.projectYn.triaxialUsualCu == 'Y' ? rowspan +1 : rowspan;
rowspan = data.projectYn.triaxialUsualUu == 'Y' ? rowspan +1 : rowspan;
rowspan = data.projectYn.rockResonant == 'Y' ? rowspan +1 : rowspan;
rowspan = data.projectYn.rockRepeated == 'Y' ? rowspan +1 : rowspan;
if( true || data.projectYn.classification == 'Y'){
tagStr += tableRowOneSich("토사시험","입도분석","TBL_CLASSIFICATION2",data.project.projectCode,data.hCode,rowspan,textCount, data.projectYn.classification)
if( data.projectYn.classification == 'Y'){
tagStr += tableRowOneSich("토사시험","입도분석","TBL_CLASSIFICATION2",data.project.projectCode,data.hCode,rowspan,textCount)
textCount ++;
}
if( true || data.projectYn.cbrCompac == 'Y'){
tagStr += tableRowOneSich("토사시험","CBR","TBL_CBR2",data.project.projectCode,data.hCode,rowspan,textCount, data.projectYn.cbrCompac)
if( data.projectYn.cbrCompac == 'Y'){
tagStr += tableRowOneSich("토사시험","CBR","TBL_CBR2",data.project.projectCode,data.hCode,rowspan,textCount)
textCount ++;
}
if( true || data.projectYn.consolidation == 'Y'){
tagStr += tableRowOneSich("토사시험","압밀시험","TBL_CONSOLIDATION2",data.project.projectCode,data.hCode,rowspan,textCount, data.projectYn.consolidation)
if( data.projectYn.consolidation == 'Y'){
tagStr += tableRowOneSich("토사시험","압밀시험","TBL_CONSOLIDATION2",data.project.projectCode,data.hCode,rowspan,textCount)
textCount ++;
}
if( true || data.projectYn.unconfinedUsual == 'Y'){
tagStr += tableRowOneSich("토사시험","일축압축","TBL_UNCONFINED2",data.project.projectCode,data.hCode,rowspan,textCount, data.projectYn.unconfinedUsual)
if( data.projectYn.unconfinedUsual == 'Y'){
tagStr += tableRowOneSich("토사시험","일축압축","TBL_UNCONFINED2",data.project.projectCode,data.hCode,rowspan,textCount)
textCount ++;
}
if( true || data.projectYn.triaxialUsualCu == 'Y'){
tagStr += tableRowOneSich("토사시험","삼축압축_CU","TBL_TRICU2",data.project.projectCode,data.hCode,rowspan,textCount, data.projectYn.triaxialUsualCu)
if( data.projectYn.triaxialUsualCu == 'Y'){
tagStr += tableRowOneSich("토사시험","삼축압축_CU","TBL_TRICU2",data.project.projectCode,data.hCode,rowspan,textCount)
textCount ++;
}
if( true || data.projectYn.triaxialUsualUu == 'Y'){
tagStr += tableRowOneSich("토사시험","삼축압축_UU","TBL_TRIUU2",data.project.projectCode,data.hCode,rowspan,textCount, data.projectYn.triaxialUsualUu)
if( data.projectYn.triaxialUsualUu == 'Y'){
tagStr += tableRowOneSich("토사시험","삼축압축_UU","TBL_TRIUU2",data.project.projectCode,data.hCode,rowspan,textCount)
textCount ++;
}
if( true || data.projectYn.rockResonant == 'Y'){
tagStr += tableRowOneSich("토사시험","공진주","TBL_RESONANT2",data.project.projectCode,data.hCode,rowspan,textCount, data.projectYn.rockResonant)
if( data.projectYn.rockResonant == 'Y'){
tagStr += tableRowOneSich("토사시험","공진주","TBL_RESONANT2",data.project.projectCode,data.hCode,rowspan,textCount)
textCount ++;
}
if( true || data.projectYn.rockRepeated == 'Y'){
tagStr += tableRowOneSich("토사시험","반복삼축","TBL_REPEATED_TRIAXIAL2",data.project.projectCode,data.hCode,rowspan,textCount, data.projectYn.rockRepeated)
if( data.projectYn.rockRepeated == 'Y'){
tagStr += tableRowOneSich("토사시험","반복삼축","TBL_REPEATED_TRIAXIAL2",data.project.projectCode,data.hCode,rowspan,textCount)
textCount ++;
}
//암석
rowspan = 0;
textCount = 0;
rowspan = true || data.projectYn.rockUniaxial == 'Y' ? rowspan +1 : rowspan;
rowspan = true || data.projectYn.rockTriaxial == 'Y' ? rowspan +1 : rowspan;
rowspan = true || data.projectYn.rockPointload == 'Y' ? rowspan +1 : rowspan;
rowspan = true || data.projectYn.rockJointshear == 'Y' ? rowspan +1 : rowspan;
rowspan = true || data.projectYn.resonant == 'Y' ? rowspan +1 : rowspan;
rowspan = true || data.projectYn.repeated == 'Y' ? rowspan +1 : rowspan;
rowspan = data.projectYn.rockUniaxial == 'Y' ? rowspan +1 : rowspan;
rowspan = data.projectYn.rockTriaxial == 'Y' ? rowspan +1 : rowspan;
rowspan = data.projectYn.rockPointload == 'Y' ? rowspan +1 : rowspan;
rowspan = data.projectYn.rockJointshear == 'Y' ? rowspan +1 : rowspan;
rowspan = data.projectYn.resonant == 'Y' ? rowspan +1 : rowspan;
rowspan = data.projectYn.repeated == 'Y' ? rowspan +1 : rowspan;
if( true || data.projectYn.rockUniaxial == 'Y'){
tagStr += tableRowOneSich("암석시험","일축압축","TBL_ROCK_UNIAXIAL2",data.project.projectCode,data.hCode,rowspan,textCount, data.projectYn.rockUniaxial)
if( data.projectYn.rockUniaxial == 'Y'){
tagStr += tableRowOneSich("암석시험","일축압축","TBL_ROCK_UNIAXIAL2",data.project.projectCode,data.hCode,rowspan,textCount)
textCount ++;
}
if( true || data.projectYn.rockTriaxial == 'Y'){
tagStr += tableRowOneSich("암석시험","삼축압축","TBL_ROCK_TRIAXIAL2",data.project.projectCode,data.hCode,rowspan,textCount, data.projectYn.rockTriaxial)
if( data.projectYn.rockTriaxial == 'Y'){
tagStr += tableRowOneSich("암석시험","삼축압축","TBL_ROCK_TRIAXIAL2",data.project.projectCode,data.hCode,rowspan,textCount)
textCount ++;
}
if( true || data.projectYn.rockPointload == 'Y'){
tagStr += tableRowOneSich("암석시험","점하중","TBL_ROCK_POINTLOAD2",data.project.projectCode,data.hCode,rowspan,textCount, data.projectYn.rockPointload)
if( data.projectYn.rockPointload == 'Y'){
tagStr += tableRowOneSich("암석시험","점하중","TBL_ROCK_POINTLOAD2",data.project.projectCode,data.hCode,rowspan,textCount)
textCount ++;
}
if( true || data.projectYn.rockJointshear == 'Y'){
tagStr += tableRowOneSich("암석시험","절리면전단","TBL_ROCK_JOINTSHEAR2",data.project.projectCode,data.hCode,rowspan,textCount, data.projectYn.rockJointshear)
if( data.projectYn.rockJointshear == 'Y'){
tagStr += tableRowOneSich("암석시험","절리면전단","TBL_ROCK_JOINTSHEAR2",data.project.projectCode,data.hCode,rowspan,textCount)
textCount ++;
}
if( true || data.projectYn.resonant == 'Y'){
tagStr += tableRowOneSich("암석시험","공진주","TBL_ROCK_RESONANT_USUAL2",data.project.projectCode,data.hCode,rowspan,textCount, data.projectYn.resonant)
if( data.projectYn.resonant == 'Y'){
tagStr += tableRowOneSich("암석시험","공진주","TBL_ROCK_RESONANT_USUAL2",data.project.projectCode,data.hCode,rowspan,textCount)
textCount ++;
}
if( true || data.projectYn.repeated == 'Y'){
tagStr += tableRowOneSich("암석시험","반복삼축","TBL_ROCK_REPEATED_TRIAXIAL_USUAL2",data.project.projectCode,data.hCode,rowspan,textCount, data.projectYn.repeated)
if( data.projectYn.repeated == 'Y'){
tagStr += tableRowOneSich("암석시험","반복삼축","TBL_ROCK_REPEATED_TRIAXIAL_USUAL2",data.project.projectCode,data.hCode,rowspan,textCount)
textCount ++;
}
//물리
rowspan = 0;
textCount = 0;
rowspan = true || data.projectYn.boreholeWave == 'Y' ? rowspan +1 : rowspan;
rowspan = true || data.projectYn.downhole == 'Y' ? rowspan +1 : rowspan;
rowspan = true || data.projectYn.density == 'Y' ? rowspan +1 : rowspan;
rowspan = data.projectYn.boreholeWave == 'Y' ? rowspan +1 : rowspan;
rowspan = data.projectYn.downhole == 'Y' ? rowspan +1 : rowspan;
rowspan = data.projectYn.density == 'Y' ? rowspan +1 : rowspan;
if( true || data.projectYn.boreholeWave == 'Y'){
tagStr += tableRowOneSich("물리검층","PS검층","TBL_BOREHOLE_WAVE",data.project.projectCode,data.hCode,rowspan,textCount, data.projectYn.boreholeWave)
if( data.projectYn.boreholeWave == 'Y'){
tagStr += tableRowOneSich("물리검층","PS검층","TBL_BOREHOLE_WAVE",data.project.projectCode,data.hCode,rowspan,textCount)
textCount ++;
}
if( true || data.projectYn.downhole == 'Y'){
tagStr += tableRowOneSich("물리검층","하향식탄성파","TBL_DOWNHOLE",data.project.projectCode,data.hCode,rowspan,textCount, data.projectYn.downhole)
if( data.projectYn.downhole == 'Y'){
tagStr += tableRowOneSich("물리검층","하향식탄성파","TBL_DOWNHOLE",data.project.projectCode,data.hCode,rowspan,textCount)
textCount ++;
}
if( true || data.projectYn.density == 'Y'){
tagStr += tableRowOneSich("물리검층","밀도검층","TBL_DENSITY",data.project.projectCode,data.hCode,rowspan,textCount, data.projectYn.density)
if( data.projectYn.density == 'Y'){
tagStr += tableRowOneSich("물리검층","밀도검층","TBL_DENSITY",data.project.projectCode,data.hCode,rowspan,textCount)
textCount ++;
}
*/
tagStr += '</tbody>';
tagStr += '</table>';
tagStr +=  '</div>';
tagStr += '</div>';
POPUP_TOOLTIP = new OpenLayers.Popup.FramedCloud("JibanTooltip", feature.geometry.getBounds().getCenterLonLat(),
            null, tagStr, null, true, removeTooltip);
// 2. 위에서 정의한 DragPopup 컨트롤을 생성합니다.
    dragControl = new OpenLayers.Control.DragPopup(POPUP_TOOLTIP);
    
    BASE_MAP.addControl(dragControl);
    dragControl.activate();
   
null, tagStr, null, true, removeTooltip);
BASE_MAP.addPopup(POPUP_TOOLTIP);
$("#JibanTooltip_close").css("top",$("#JibanTooltip_FrameDecorationDiv_0").css("top"));
$("#JibanTooltip_close").css("right","28px");
@ -191231,16 +190879,13 @@ function selectOneSich(hcode){
}
function tableRowOneSich(rowText,tdText,exam,projectCode,hCode,rowspan,textCount, projectYn) {
function tableRowOneSich(rowText,tdText,exam,projectCode,hCode,rowspan,textCount){
var text = "";
text +='<tr align="center" bgcolor="#FFFFFF">';
text += textCount == 0 ? '<td align="center" bgcolor="F7F7F7" rowspan='+rowspan+'><strong>'+rowText+'</strong></td>' : '';
text += '<td align="center" bgcolor="F7F7F7">'+tdText+'</td>';
text += projectYn !== 'Y' ?
'<td align="center" bgcolor="#FFFFFF" style="color: #ababab;">없음</td>'
:
'<td align="center" bgcolor="#FFFFFF"><a href=# onclick="previewClipReport(\''+exam+'\',\''+projectCode+'\',\''+hCode+'\')">보기' + '</a></td>';
text += '<td align="center" bgcolor="#FFFFFF"><a href=# onclick="previewClipReport(\''+exam+'\',\''+projectCode+'\',\''+hCode+'\')">미리보기</a></td>';
text +="</tr>";
return text;
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB