feat: 발주기관 통계 및 알림 내역 template추가
parent
2d6bfce180
commit
18eb6b9b91
|
|
@ -56,7 +56,7 @@ public class GeoinfoApiV1Controller {
|
||||||
public JSONObject handleApiService(
|
public JSONObject handleApiService(
|
||||||
@ApiParam(value = "URL 경로에 포함된 서비스 이름", required = true, example = "getProjectInfo") @PathVariable("spName") String spName,
|
@ApiParam(value = "URL 경로에 포함된 서비스 이름", required = true, example = "getProjectInfo") @PathVariable("spName") String spName,
|
||||||
HttpServletRequest request,
|
HttpServletRequest request,
|
||||||
@RequestParam HashMap<String, String> params,
|
@RequestParam HashMap<String, Object> params,
|
||||||
HttpServletResponse response) {
|
HttpServletResponse response) {
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -66,7 +66,7 @@ public class GeoinfoApiV1Controller {
|
||||||
|
|
||||||
// 2. HashMap을 사용하여 JSONObject 생성
|
// 2. HashMap을 사용하여 JSONObject 생성
|
||||||
JSONObject jsonObject = new JSONObject();
|
JSONObject jsonObject = new JSONObject();
|
||||||
for (HashMap.Entry<String, String> entry : params.entrySet()) {
|
for (HashMap.Entry<String, Object> entry : params.entrySet()) {
|
||||||
if ("".equals(entry.getValue())) {
|
if ("".equals(entry.getValue())) {
|
||||||
entry.setValue(null);
|
entry.setValue(null);
|
||||||
jsonObject.put(entry.getKey(), entry.getValue());
|
jsonObject.put(entry.getKey(), entry.getValue());
|
||||||
|
|
|
||||||
|
|
@ -7,10 +7,129 @@ import java.util.HashMap;
|
||||||
import egovframework.rte.psl.dataaccess.mapper.Mapper;
|
import egovframework.rte.psl.dataaccess.mapper.Mapper;
|
||||||
import egovframework.rte.psl.dataaccess.util.EgovMap;
|
import egovframework.rte.psl.dataaccess.util.EgovMap;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Geoinfo API v1 데이터처리를 위한 Mapper 인터페이스
|
||||||
|
* @author
|
||||||
|
* @since 2025.08.18
|
||||||
|
* @version 1.0
|
||||||
|
* @see
|
||||||
|
*
|
||||||
|
* <pre>
|
||||||
|
* << 개정이력(Modification Information) >>
|
||||||
|
*
|
||||||
|
* 수정일 수정자 수정내용
|
||||||
|
* ------- -------- ---------------------------
|
||||||
|
* 2025.08.18 김태호 최초 생성 및 전체 메서드 정의
|
||||||
|
*
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
@Mapper("geoinfoApiV1Mapper")
|
@Mapper("geoinfoApiV1Mapper")
|
||||||
public interface GeoinfoApiV1Mapper {
|
public interface GeoinfoApiV1Mapper {
|
||||||
public ArrayList<EgovMap> spGetTblProjectInfo(HashMap<String, String> params) throws SQLException;
|
|
||||||
|
// ==================================================================================================
|
||||||
|
// 프로젝트 정보 (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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -8,5 +8,5 @@ import org.json.simple.JSONObject;
|
||||||
|
|
||||||
|
|
||||||
public interface GeoinfoApiV1Service {
|
public interface GeoinfoApiV1Service {
|
||||||
int handleApiService(HttpServletRequest request, HashMap<String, String> params, String spName, JSONObject jsonResponse) throws Exception;
|
int handleApiService(HttpServletRequest request, HashMap<String, Object> params, String spName, JSONObject jsonResponse) throws Exception;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,24 +2,16 @@ package geoinfo.api.geoinfo.service.impl;
|
||||||
|
|
||||||
import geoinfo.api.geoinfo.service.GeoinfoApiV1Mapper;
|
import geoinfo.api.geoinfo.service.GeoinfoApiV1Mapper;
|
||||||
import geoinfo.api.geoinfo.service.GeoinfoApiV1Service;
|
import geoinfo.api.geoinfo.service.GeoinfoApiV1Service;
|
||||||
import geoinfo.drilling.input.service.DrillingInputMapper;
|
|
||||||
import geoinfo.drilling.input.service.DrillingInputService;
|
|
||||||
import geoinfo.drilling.inquiry.service.DrillingInquiryService;
|
|
||||||
import geoinfo.main.login.service.LoginMapper;
|
|
||||||
import geoinfo.util.MyUtil;
|
|
||||||
|
|
||||||
import java.sql.SQLException;
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
|
||||||
import org.json.simple.JSONArray;
|
|
||||||
import org.json.simple.JSONObject;
|
import org.json.simple.JSONObject;
|
||||||
import org.json.simple.parser.JSONParser;
|
import org.slf4j.Logger;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import egovframework.rte.psl.dataaccess.util.EgovMap;
|
import egovframework.rte.psl.dataaccess.util.EgovMap;
|
||||||
|
|
@ -27,48 +19,199 @@ import egovframework.rte.psl.dataaccess.util.EgovMap;
|
||||||
@Service("geoinfoApiV1Service")
|
@Service("geoinfoApiV1Service")
|
||||||
public class GeoinfoApiV1ServiceImpl implements GeoinfoApiV1Service {
|
public class GeoinfoApiV1ServiceImpl implements GeoinfoApiV1Service {
|
||||||
|
|
||||||
|
private static final Logger LOGGER = LoggerFactory.getLogger(GeoinfoApiV1ServiceImpl.class);
|
||||||
|
|
||||||
@Resource(name="geoinfoApiV1Mapper")
|
@Resource(name="geoinfoApiV1Mapper")
|
||||||
private GeoinfoApiV1Mapper geoinfoApiV1Mapper;
|
private GeoinfoApiV1Mapper geoinfoApiV1Mapper;
|
||||||
|
|
||||||
|
|
||||||
public int handleApiService(HttpServletRequest request, HashMap<String, String> params, String spName, JSONObject jsonResponse) throws Exception {
|
public int handleApiService(HttpServletRequest request, HashMap<String, Object> params, String spName, JSONObject jsonResponse) throws Exception {
|
||||||
|
|
||||||
//호출 프로시저 유효성 체크
|
//호출 프로시저 유효성 체크
|
||||||
spName = spName.trim();
|
spName = spName.trim();
|
||||||
|
|
||||||
|
|
||||||
// 서비스 이름에 따라 분기 처리
|
// 서비스 이름에 따라 분기 처리
|
||||||
HashMap<String, Object> resultMap = null;
|
|
||||||
int nRetCode = -1;
|
|
||||||
String lpszRetMsg = null;
|
|
||||||
if ("sp-get-tbl-project-info".equalsIgnoreCase(spName)) {
|
if ("sp-get-tbl-project-info".equalsIgnoreCase(spName)) {
|
||||||
ArrayList<EgovMap> hashMapList = geoinfoApiV1Mapper.spGetTblProjectInfo(params);
|
jsonResponse.put("data", geoinfoApiV1Mapper.spGetTblProjectInfo(params));
|
||||||
jsonResponse.put("data", hashMapList);
|
} else if ("sp-cnt-tbl-project-info".equalsIgnoreCase(spName)) {
|
||||||
|
jsonResponse.put("data", geoinfoApiV1Mapper.spCntTblProjectInfo(params));
|
||||||
//nRetCode = MyUtil.getIntegerFromObject(hashMap.get("v_RetCode"));
|
} else if ("sp-get-selectclass-info-p".equalsIgnoreCase(spName)) {
|
||||||
//lpszRetMsg = MyUtil.getStringFromObject(hashMap.get("v_RetMsg"));
|
jsonResponse.put("data", geoinfoApiV1Mapper.spGetSelectclassInfoP(params));
|
||||||
|
} else if ("sp-get-selectclass-info-ph".equalsIgnoreCase(spName)) {
|
||||||
} else if ("def".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 {
|
} else {
|
||||||
// 지원하지 않는 서비스명인 경우 오류 처리
|
// 지원하지 않는 서비스명인 경우 오류 처리
|
||||||
throw new Exception("Unsupported service name: " + spName);
|
throw new Exception("Unsupported service name: " + spName);
|
||||||
}
|
}
|
||||||
|
|
||||||
if( false ) {
|
// 성공 응답 기본값 설정
|
||||||
if( nRetCode == 100 ) {
|
jsonResponse.put("resultCode", 0);
|
||||||
jsonResponse.put("resultCode", nRetCode);
|
|
||||||
jsonResponse.put("result", "true");
|
jsonResponse.put("result", "true");
|
||||||
jsonResponse.put("message", "SUCCESS");
|
jsonResponse.put("message", "SUCCESS");
|
||||||
} else {
|
|
||||||
jsonResponse.put("resultCode", nRetCode);
|
|
||||||
jsonResponse.put("result", "false");
|
|
||||||
jsonResponse.put("message", lpszRetMsg);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
// 성공 코드 반환
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
return nRetCode;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,53 @@
|
||||||
|
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";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
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 {
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
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 {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,53 @@
|
||||||
|
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;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -3,10 +3,10 @@
|
||||||
|
|
||||||
<mapper namespace="geoinfo.api.geoinfo.service.GeoinfoApiV1Mapper">
|
<mapper namespace="geoinfo.api.geoinfo.service.GeoinfoApiV1Mapper">
|
||||||
|
|
||||||
<!--
|
<!-- ================================================================================================== -->
|
||||||
Oracle 테이블 반환 함수(SP_GET_TBL_PROJECT_INFO)를 호출하는 MyBatis 쿼리입니다.
|
<!-- 프로젝트 정보 (Project Info) -->
|
||||||
- id: 서비스 레이어에서 호출할 쿼리의 고유 식별자입니다.
|
<!-- ================================================================================================== -->
|
||||||
-->
|
|
||||||
<select id="spGetTblProjectInfo" parameterType="map" resultType="egovMap">
|
<select id="spGetTblProjectInfo" parameterType="map" resultType="egovMap">
|
||||||
SELECT * FROM TABLE(SP_GET_TBL_PROJECT_INFO(
|
SELECT * FROM TABLE(SP_GET_TBL_PROJECT_INFO(
|
||||||
#{prjCode, jdbcType=VARCHAR},
|
#{prjCode, jdbcType=VARCHAR},
|
||||||
|
|
@ -18,9 +18,6 @@
|
||||||
))
|
))
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<!--
|
|
||||||
Oracle 함수(SP_CNT_TBL_PROJECT_INFO)를 호출하여 조건에 맞는 프로젝트 정보의 총 개수를 반환합니다.
|
|
||||||
-->
|
|
||||||
<select id="spCntTblProjectInfo" parameterType="map" resultType="int">
|
<select id="spCntTblProjectInfo" parameterType="map" resultType="int">
|
||||||
SELECT SP_CNT_TBL_PROJECT_INFO(
|
SELECT SP_CNT_TBL_PROJECT_INFO(
|
||||||
#{prjCode, jdbcType=VARCHAR},
|
#{prjCode, jdbcType=VARCHAR},
|
||||||
|
|
@ -32,25 +29,548 @@
|
||||||
) FROM DUAL
|
) FROM DUAL
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<!--
|
|
||||||
Oracle 함수(SP_GET_ADDR_BY_ADDRCODE)를 호출하여 주소 코드를 전체 주소 문자열로 변환합니다.
|
|
||||||
-->
|
|
||||||
<select id="spGetAddrByAddrCode" parameterType="map" resultType="String">
|
|
||||||
SELECT SP_GET_ADDR_BY_ADDRCODE(
|
|
||||||
#{prjCode, jdbcType=VARCHAR},
|
|
||||||
#{addrCode, jdbcType=VARCHAR}
|
|
||||||
) FROM DUAL
|
|
||||||
</select>
|
|
||||||
|
|
||||||
|
|
||||||
<!--
|
|
||||||
Oracle 테이블 반환 함수(SP_GET_SELECTCLASS_INFO_P)를 호출하여 프로젝트와 관련된 각 테이블의 데이터 개수를 조회합니다.
|
|
||||||
- resultType: "egovMap"으로 설정하여 결과 행을 Map 객체로 받습니다.
|
|
||||||
-->
|
|
||||||
<select id="spGetSelectclassInfoP" parameterType="map" resultType="egovMap">
|
<select id="spGetSelectclassInfoP" parameterType="map" resultType="egovMap">
|
||||||
SELECT * FROM TABLE(SP_GET_SELECTCLASS_INFO_P(
|
SELECT * FROM TABLE(SP_GET_SELECTCLASS_INFO_P(
|
||||||
#{projCode, jdbcType=VARCHAR}
|
#{projCode, jdbcType=VARCHAR}
|
||||||
))
|
))
|
||||||
</select>
|
</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>
|
</mapper>
|
||||||
|
|
@ -0,0 +1,6 @@
|
||||||
|
<?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>
|
||||||
|
|
@ -178,6 +178,12 @@
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
<li class="">
|
||||||
|
<a href="/drilling/statistics.do">
|
||||||
|
통계
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
<li class="" style="display: none;">
|
<li class="" style="display: none;">
|
||||||
<a href="/drilling/input.do">
|
<a href="/drilling/input.do">
|
||||||
입력 하기
|
입력 하기
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,148 @@
|
||||||
|
<%@ 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" %>
|
||||||
|
|
@ -0,0 +1,401 @@
|
||||||
|
<%@ 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" %>
|
||||||
Loading…
Reference in New Issue