diff --git a/Copying b/Copying new file mode 100644 index 00000000..7ec2c2b9 --- /dev/null +++ b/Copying @@ -0,0 +1 @@ + - to "C:\Users\dbnt\eclipse-workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\geoinfo_eGov_work\WEB-INF\views\drilling\statistics\drilling_statistics.jsp" diff --git a/SUCCESS b/SUCCESS new file mode 100644 index 00000000..e3d49c45 --- /dev/null +++ b/SUCCESS @@ -0,0 +1 @@ + - diff --git a/pom.xml b/pom.xml index 33ed0de5..864c4a73 100644 --- a/pom.xml +++ b/pom.xml @@ -455,13 +455,6 @@ commons-lang3 3.12.0 - - - - com.oracle.database.jdbc - ojdbc8 - 23.2.0.0 - diff --git a/src/main/java/geoinfo/com/WebConfirm.java b/src/main/java/geoinfo/com/WebConfirm.java index fad8c596..0ad4308a 100644 --- a/src/main/java/geoinfo/com/WebConfirm.java +++ b/src/main/java/geoinfo/com/WebConfirm.java @@ -1720,7 +1720,8 @@ public class WebConfirm com_code = isnull(resultSet.getString("COM_CODE")); } else { - sql = "SELECT MAX(TO_NUMBER(COM_CODE))+1 AS MAX_CODE FROM " + tbl_name; + sql = "SELECT MAX(TO_NUMBER(COM_CODE))+1 AS MAX_CODE FROM " + tbl_name + " " + + "WHERE REGEXP_LIKE(COM_CODE, '^[0-9]+$')"; query = new DatabaseQuery(sql); resultSet = query.execute(connection); if (resultSet.next()) { diff --git a/src/main/java/geoinfo/drilling/input/service/DrillingInputMapper.java b/src/main/java/geoinfo/drilling/input/service/DrillingInputMapper.java index bc6d0ef7..e47b33aa 100644 --- a/src/main/java/geoinfo/drilling/input/service/DrillingInputMapper.java +++ b/src/main/java/geoinfo/drilling/input/service/DrillingInputMapper.java @@ -23,6 +23,14 @@ public interface DrillingInputMapper { public int updateProjectCodeAndProjectStateCodeByCid(HashMap params) throws SQLException; public int updateProjectCodeAndProjectStateCodeByProjectCode(HashMap params) throws SQLException; + + /** + * 건설현장 정보 상태 변경 이력을 등록합니다. + * @param params + * @return + * @throws SQLException + */ + public int insertConstructSiteHist(HashMap params) throws SQLException; } diff --git a/src/main/java/geoinfo/drilling/input/service/impl/DrillingInputServiceImpl.java b/src/main/java/geoinfo/drilling/input/service/impl/DrillingInputServiceImpl.java index 0fda949b..cae37cbf 100644 --- a/src/main/java/geoinfo/drilling/input/service/impl/DrillingInputServiceImpl.java +++ b/src/main/java/geoinfo/drilling/input/service/impl/DrillingInputServiceImpl.java @@ -137,14 +137,6 @@ public class DrillingInputServiceImpl implements DrillingInputService { params.put("userId", userId); try { - /* - List sPGetTblCsiByCidParams = drillingInputMapper.sPGetTblCsiByCid( params ); - - if( sPGetTblCsiByCidParams.size() == 0 ) { - return params; - } - EgovMap tbl = sPGetTblCsiByCidParams.get(0); - */ EgovMap tbl = drillingInputMapper.getItemByCid( params ); if( tbl != null ) { @@ -161,7 +153,22 @@ public class DrillingInputServiceImpl implements DrillingInputService { throw new Exception( "해당 프로젝트는 이미 다른 프로젝트와 연결되어 있습니다." ); } } - + + if (nResult > 0) { // 업데이트가 성공했을 경우에만 이력 기록 + HashMap histParams = new HashMap(); + + // 이전 상태값 (EgovMap은 보통 camelCase로 키를 반환합니다) + Object preStateCode = tbl.get("projectStateCode"); + + histParams.put("CID", params.get("CID")); + histParams.put("PROJECT_CODE", params.get("PROJECT_CODE")); + histParams.put("PRE_PROJECT_STATE_CODE", preStateCode != null ? preStateCode.toString() : null); // 이전 상태 + histParams.put("PROJECT_STATE_CODE", params.get("PROJECT_STATE_CODE")); // 현재 변경된 상태 + histParams.put("MOD_REASON", "지반정보 등록 프로젝트 연결"); // 변경 사유 (필요에 따라 파라미터로 받아서 설정 가능) + histParams.put("userId", userId); + + drillingInputMapper.insertConstructSiteHist(histParams); + } } return params; } catch (SQLException e) { diff --git a/src/main/java/geoinfo/drilling/statistics/DrillingStatisticsController.java b/src/main/java/geoinfo/drilling/statistics/DrillingStatisticsController.java index aac91080..d595ed98 100644 --- a/src/main/java/geoinfo/drilling/statistics/DrillingStatisticsController.java +++ b/src/main/java/geoinfo/drilling/statistics/DrillingStatisticsController.java @@ -22,6 +22,7 @@ import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.servlet.ModelAndView; import geoinfo.drilling.inquiry.service.DrillingInquiryService; +import geoinfo.drilling.statistics.service.DrillingStatisticsService; import geoinfo.util.MyUtil; @Controller @@ -31,6 +32,9 @@ public class DrillingStatisticsController { @Autowired DrillingInquiryService drillingInquiryService; + + @Autowired + DrillingStatisticsService drillingStatisticsService; @RequestMapping(value = "/drilling/statistics.do") public String drillingStatistics(@RequestParam HashMap params, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception { @@ -50,4 +54,37 @@ public class DrillingStatisticsController { return "/drilling/statistics/drilling_notice"; } + + @RequestMapping(value = "/drilling/statistics/hist-list.do", method = RequestMethod.GET, produces = { "application/json; charset=utf-8" }) + @ResponseBody + public ResponseEntity drillingStatisticsHistList ( + HttpServletRequest request, + @RequestParam HashMap params, + HttpServletResponse response + ) { + JSONObject jSONOResponse = null; + try { + jSONOResponse = drillingStatisticsService.getConstructSiteHistList(request, params); + jSONOResponse.put("resultCode", 200); + jSONOResponse.put("resultMessage", "OK"); + + } catch (Exception e) { + jSONOResponse = new JSONObject(); + jSONOResponse.put("resultCode", -1); + jSONOResponse.put("resultMessage", e.getMessage()); + LOGGER.error("drillingStatisticsHistList Error: ", e); + } + + response.setStatus(HttpServletResponse.SC_OK); + response.setCharacterEncoding("UTF-8"); + response.setHeader("Content-Type", "application/json; charset=utf-8"); + + try { + response.getWriter().print(jSONOResponse); + } catch (IOException e) { + LOGGER.error("Response Write Error: ", e); + } + + return null; + } } diff --git a/src/main/java/geoinfo/drilling/statistics/service/DrillingStatisticsMapper.java b/src/main/java/geoinfo/drilling/statistics/service/DrillingStatisticsMapper.java index 0c28e9bb..e2434fdd 100644 --- a/src/main/java/geoinfo/drilling/statistics/service/DrillingStatisticsMapper.java +++ b/src/main/java/geoinfo/drilling/statistics/service/DrillingStatisticsMapper.java @@ -8,8 +8,7 @@ import egovframework.rte.psl.dataaccess.mapper.Mapper; import egovframework.rte.psl.dataaccess.util.EgovMap; @Mapper("drillingStatisticsMapper") -public interface DrillingStatisticsMapper { -} - - - +public interface DrillingStatisticsMapper { + public List selectConstructSiteHistList(HashMap params) throws SQLException; + public Long selectConstructSiteHistListCnt(HashMap params) throws SQLException; +} \ No newline at end of file diff --git a/src/main/java/geoinfo/drilling/statistics/service/DrillingStatisticsService.java b/src/main/java/geoinfo/drilling/statistics/service/DrillingStatisticsService.java index 37bf4970..e11edcfd 100644 --- a/src/main/java/geoinfo/drilling/statistics/service/DrillingStatisticsService.java +++ b/src/main/java/geoinfo/drilling/statistics/service/DrillingStatisticsService.java @@ -12,5 +12,5 @@ import egovframework.rte.psl.dataaccess.util.EgovMap; public interface DrillingStatisticsService { - + public JSONObject getConstructSiteHistList(HttpServletRequest request, HashMap params) throws Exception; } diff --git a/src/main/java/geoinfo/drilling/statistics/service/impl/DrillingStatisticsServiceImpl.java b/src/main/java/geoinfo/drilling/statistics/service/impl/DrillingStatisticsServiceImpl.java index eceb5008..506034bd 100644 --- a/src/main/java/geoinfo/drilling/statistics/service/impl/DrillingStatisticsServiceImpl.java +++ b/src/main/java/geoinfo/drilling/statistics/service/impl/DrillingStatisticsServiceImpl.java @@ -4,6 +4,7 @@ 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.DrillingStatisticsMapper; import geoinfo.drilling.statistics.service.DrillingStatisticsService; import geoinfo.main.login.service.LoginMapper; import geoinfo.main.login.service.LoginService; @@ -32,12 +33,16 @@ import egovframework.rte.psl.dataaccess.util.EgovMap; public class DrillingStatisticsServiceImpl implements DrillingStatisticsService { + @Resource(name="drillingInquiryMapper") private DrillingInquiryMapper drillingInquiryMapper; @Resource(name="drillingInputMapper") private DrillingInputMapper drillingInputMapper; + @Resource(name="drillingStatisticsMapper") + private DrillingStatisticsMapper drillingStatisticsMapper; + @Autowired DrillingInputService drillingInputService; @@ -50,4 +55,45 @@ public class DrillingStatisticsServiceImpl implements DrillingStatisticsService private LoginMapper loginMapper; + @Override + public JSONObject getConstructSiteHistList(HttpServletRequest request, HashMap params) + throws Exception { + // TODO Auto-generated method stub + JSONObject jsonResponse = new JSONObject(); + String userId = MyUtil.getStringFromObject(request.getSession().getAttribute("USERID")); + + if (userId == null) { + throw new Exception("로그인이 필요한 서비스입니다."); + } + + // 1. 현재 로그인한 사용자의 지역(영역) 코드 조회 + HashMap userAreaCodes = drillingInputService.getOrganizationUserGlGmGsGfCodes(userId); + + params.put("masterCompanyOCode", MyUtil.getStringFromObject(userAreaCodes.get("v_gl"))); + params.put("masterCompanyTwCode", MyUtil.getStringFromObject(userAreaCodes.get("v_gm"))); + params.put("masterCompanyThCode", MyUtil.getStringFromObject(userAreaCodes.get("v_gs"))); + + // 2. 페이징 처리를 위한 파라미터 설정 + int page = params.get("page") == null ? 1 : Integer.parseInt(params.get("page").toString()); + int rows = params.get("rows") == null ? 10 : Integer.parseInt(params.get("rows").toString()); + params.put("firstIndex", (page - 1) * rows + 1); + params.put("lastIndex", page * rows); + + try { + // 3. 총 카운트 및 목록 조회 + Long count = drillingStatisticsMapper.selectConstructSiteHistListCnt(params); + List datas = drillingStatisticsMapper.selectConstructSiteHistList(params); + + jsonResponse.put("count", count); + jsonResponse.put("datas", datas); + + return jsonResponse; + + } catch (SQLException e) { + System.out.println("Error at getConstructSiteHistList: " + e.getMessage()); + throw new Exception("이력 조회 중 오류가 발생하였습니다."); + } + } + + } diff --git a/src/main/java/geoinfo/main/main/MainController.java b/src/main/java/geoinfo/main/main/MainController.java index a0d0c10d..1b190b71 100644 --- a/src/main/java/geoinfo/main/main/MainController.java +++ b/src/main/java/geoinfo/main/main/MainController.java @@ -5,6 +5,7 @@ import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import java.io.PrintWriter; +import java.io.UnsupportedEncodingException; import java.net.InetAddress; import java.net.MalformedURLException; import java.net.URLEncoder; @@ -178,6 +179,8 @@ public class MainController ModelAndView mv = new ModelAndView(); String src = request.getParameter("src"); + + int nCls = MyUtil.getIntegerFromObject(request.getSession().getAttribute("CLS")); if( src != null && src.toLowerCase().equals("drilling") ) { mv.addObject("isFromDrillingSystem", true); @@ -206,8 +209,7 @@ public class MainController } else { mv.addObject("isLogin", true); - - if ("admin_user".equals(request.getSession().getAttribute("USERID").toString()) == true) { + if ("admin_user".equals(request.getSession().getAttribute("USERID").toString()) == true || nCls == 65535) { EgovMap regiCount = commonService.getRegiCountAdmin(); mv.addObject("WAIT_CNT", regiCount.get("waitCnt")); mv.addObject("CONFIRM_CNT", regiCount.get("confirmCnt")); @@ -2213,7 +2215,8 @@ public class MainController response.setContentType("application/octet-stream"); response.setContentLength(fileByte.length); - response.setHeader("Content-Disposition", "attachment; fileName=\"" + URLEncoder.encode(filenameDn, "utf-8") + "\";"); + String headerFilename = getContentDispositionHeader( request, filenameDn); + response.setHeader("Content-Disposition", headerFilename); response.setHeader("Content-Transfer-Encoding", "binary"); response.getOutputStream().write(fileByte); @@ -2223,6 +2226,7 @@ public class MainController else { mv.addObject("msg", ""); + response.setContentType("text/html; charset=utf-8"); response.setCharacterEncoding("utf-8"); PrintWriter writer = response.getWriter(); writer.println(" <% @@ -15,9 +12,7 @@ if (request.getSession().getAttribute("USERID") == null) { } %> <% - if (request.getSession().getAttribute("CLS") == null || "2".equals(request.getSession().getAttribute("CLS") ) == false ) { - %> <% @@ -25,24 +20,15 @@ if (request.getSession().getAttribute("CLS") == null || "2".equals(request.getSe } %> - - <%@ include file="/include/inc_head_2021_new.jsp" %> - - - - - - - - - - + + + + + - - - - - -
-
@@ -158,12 +120,8 @@ if (request.getSession().getAttribute("CLS") == null || "2".equals(request.getSe
- - -
-
  • @@ -171,231 +129,261 @@ if (request.getSession().getAttribute("CLS") == null || "2".equals(request.getSe
도움말
-

통계

-
- -
- - -
+
+

통계 보고서 다운로드

+

발주기관 통계 기능을 보고서 형태로 다운로드 받을 수 있습니다.

+ +
+
+

위험도 현황

+
+ +
+
+
+

프로젝트 재정 현황

+
+ +
+
+
+
+ +
+
+ + - + }); + // 3. Financial Status Bar Chart + var 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 } } + } + }); + }); + +
- -
- - +
- -
-<%@ include file="/include/inc_footer_2021_new.jsp" %> + + +<%@ include file="/include/inc_footer_2021_new.jsp" %> \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/home/include/header.jsp b/src/main/webapp/WEB-INF/views/home/include/header.jsp index c52528c8..845e4ea3 100644 --- a/src/main/webapp/WEB-INF/views/home/include/header.jsp +++ b/src/main/webapp/WEB-INF/views/home/include/header.jsp @@ -16,6 +16,9 @@ src="${pageContext.request.contextPath}/js/home/index.js"> + + + + +" /> @@ -127,6 +129,8 @@ function LoadingShow() { " /> + +
@@ -254,6 +258,22 @@ function LoadingShow() { + + +
+
레이어
+ +
+ diff --git a/src/main/webapp/WEB-INF/views/map/mapControl/cartlistInfo.jsp b/src/main/webapp/WEB-INF/views/map/mapControl/cartlistInfo.jsp index 6abb976d..b5516a85 100644 --- a/src/main/webapp/WEB-INF/views/map/mapControl/cartlistInfo.jsp +++ b/src/main/webapp/WEB-INF/views/map/mapControl/cartlistInfo.jsp @@ -8,6 +8,7 @@ + @@ -290,8 +291,11 @@ - - + diff --git a/src/main/webapp/WEB-INF/views/web/include/includeTopInput.jsp b/src/main/webapp/WEB-INF/views/web/include/includeTopInput.jsp index dc691335..5cc6bd03 100644 --- a/src/main/webapp/WEB-INF/views/web/include/includeTopInput.jsp +++ b/src/main/webapp/WEB-INF/views/web/include/includeTopInput.jsp @@ -93,17 +93,22 @@ - + - + - + + + diff --git a/src/main/webapp/WEB-INF/views/web/input/basic/labInfoFieldPermeability.jsp b/src/main/webapp/WEB-INF/views/web/input/basic/labInfoFieldPermeability.jsp index ff5224c8..dd2a54ec 100644 --- a/src/main/webapp/WEB-INF/views/web/input/basic/labInfoFieldPermeability.jsp +++ b/src/main/webapp/WEB-INF/views/web/input/basic/labInfoFieldPermeability.jsp @@ -232,6 +232,9 @@ function fn_isNumeric(fieldData, fieldName, msgTest) { function fn_validateLength(fieldData, fieldName, msgTest, intLength, decimalLength) { for (let i = 0; i < fieldData.length; i++) { let value = fieldData[i][fieldName]; + if( value === -999 ) { + continue; + } let parts = value.toString().split("."); if (parts[0].length > intLength || (parts[1] && parts[1].length > decimalLength)) { alert(msgTest + "의 값은 정수 : " + intLength + "자리, 소수점 이하 : " + decimalLength + "자리까지 입력할 수 있습니다."); @@ -241,14 +244,43 @@ function fn_validateLength(fieldData, fieldName, msgTest, intLength, decimalLeng return true; } +function changeHyphenToMinus999Main(data) { + for( idx in data ) { + // -(hyphen) 허용한 것을 -999로 변환한다. + var targetItemKey = 'fieldperAvgPermeability'; + data[idx][targetItemKey] = changeHyphenToMinus999(data[idx][targetItemKey]); + } + + return data; +} + +function changeHyphenToMinus999Sub(data) { + for( idx in data ) { + // -(hyphen) 허용한 것을 -999로 변환한다. + var targetItemKey = 'fieldperSubTotalHead'; + data[idx][targetItemKey] = changeHyphenToMinus999(data[idx][targetItemKey]); + + targetItemKey = 'fieldperSubPermeability'; + data[idx][targetItemKey] = changeHyphenToMinus999(data[idx][targetItemKey]); + } + + return data; +} + +function changeHyphenToMinus999(data) { + if( data === '-' ) { + data = -999; + } + return data; +} + //Data 저장. function fn_save(rUrl) { - //240103 임효주 - 현장투수시험 (평균)투수계수의 type 에러 예방. 해당 값이 숫자 또는 공백인지 확인 let fieldData1 = kendoJQuery("#kictGrid1").data("kendoGrid")._data; let fieldName1 = "fieldperAvgPermeability"; // 수정됨 let msgTest1 = "평균투수계수"; - + fieldData1 = changeHyphenToMinus999Main(fieldData1); if (!fn_isNumeric(fieldData1, fieldName1, msgTest1)) { return false; } @@ -256,7 +288,7 @@ function fn_save(rUrl) { let fieldData2 = kendoJQuery("#kictGrid2").data("kendoGrid")._data; let fieldName2 = "fieldperSubPermeability"; // 수정됨 let msgTest2 = "투수계수"; - + fieldData2 = changeHyphenToMinus999Sub(fieldData2); if (!fn_isNumeric(fieldData2, fieldName2, msgTest2)) { return false; } @@ -339,9 +371,11 @@ function fn_save(rUrl) { if(fn_saveNumberCheckKendo("ROW", dataSource2, grid2, "gridCheck2", 0, rowInfo2, rowInfoItem2) == false)return false; //data1 + data1 = changeHyphenToMinus999Main(data1); var kendoData1 = fn_kendoAllDataXml02(grid1, kendoColCount1, kendoRowCount1, 0, data1); //data2 + data2 = changeHyphenToMinus999Sub(data2); var kendoData2 = fn_kendoAllDataXml02(grid2, kendoColCount2, kendoRowCount2, 0, data2); // ----------------------- kendoGrid XML 구조저장 끝 ----------------------- @@ -887,7 +921,20 @@ function fn_grid_refresh(){ }, { field: "fieldperCasingDia", title: "케이싱지름(cm)", editor: chooseEditor, width:120, attributes: { style:"text-align: right" }, template: "
#= (fieldperCasingDia == null) ? '0' : fieldperCasingDia #
" }, { field: "fieldperCasingHeight", title: "케이싱길이(m)", editor: chooseEditor, width:120, attributes: { style:"text-align: right" }, template: "
#= (fieldperCasingHeight == null) ? '0' : fieldperCasingHeight #
" }, - { field: "fieldperAvgPermeability", title: "평균투수계수
(cm/sec)", editor: chooseTest, width:120, attributes: { style:"text-align: right" }, template: "
#= (fieldperAvgPermeability == null) ? '0' : fieldperAvgPermeability #
" }, + { field: "fieldperAvgPermeability", title: "평균투수계수
(cm/sec)", editor: chooseTest, width:120, attributes: { style:"text-align: right" }, + template: function(data) { + //"
#= (fieldperAvgPermeability == null) ? '0' : fieldperAvgPermeability #
" + if( data.fieldperAvgPermeability === "") { + data.fieldperAvgPermeability = "0"; + } else if( data.fieldperAvgPermeability === null) { + data.fieldperAvgPermeability = "0"; + } else if( data.fieldperAvgPermeability === "-999") { + data.fieldperAvgPermeability = "-"; + } + var url = "
" + data.fieldperAvgPermeability + "
"; + return url; + } + }, { field: "fieldperInspectedBy", title: "조사자", width:150, attributes: { style:"text-align: left" }, template: "
#= (fieldperInspectedBy == null) ? '-' : fieldperInspectedBy #
" }, { field: "fieldperCheckedBy", title: "검수자", width:150, attributes: { style:"text-align: left" }, template: "
#= (fieldperCheckedBy == null) ? '-' : fieldperCheckedBy #
" }, { field: "fieldperRemark", title: "비고", width:120, attributes: { style:"text-align: left" }, template: "
#= (fieldperRemark == null) ? '-' : fieldperRemark #
" }, @@ -962,7 +1009,7 @@ function fn_grid_refresh(){ oldFieldperCode: { type: "string" }, fieldperOrder: { type: "number", editable: false }, fieldperSubTime: { type: "number" }, - fieldperSubTotalHead: { type: "number" }, + fieldperSubTotalHead: { type: "string" }, fieldperSubFallingHead: { type: "number" }, fieldperSubWaterLoose: { type: "number" }, fieldperSubQuantity: { type: "number" }, @@ -977,11 +1024,37 @@ function fn_grid_refresh(){ columns: [ { field: "fieldperOrder", title: "시험
순서", width:60, attributes: { style:"text-align: center" } }, { field: "fieldperSubTime", title: "시간(sec)
(값 중복 허용 안 함)", editor: chooseEditor, attributes: { style:"text-align: right" }, template: "
#= (fieldperSubTime == null) ? '0' : fieldperSubTime #
" }, - { field: "fieldperSubTotalHead", title: "총수두(cm)", editor: chooseEditor, attributes: { style:"text-align: right" }, template: "
#= (fieldperSubTotalHead == null) ? '0' : fieldperSubTotalHead #
" }, + { field: "fieldperSubTotalHead", title: "총수두(cm)", editor: chooseEditorAllowHyphen, attributes: { style:"text-align: right" }, + template: function(data) { + //"
#= (fieldperSubTotalHead == null) ? '0' : fieldperSubTotalHead #
" + if( data.fieldperSubTotalHead === "") { + data.fieldperSubTotalHead = "0"; + } else if( data.fieldperSubTotalHead === null) { + data.fieldperSubTotalHead = "0"; + } else if( data.fieldperSubTotalHead === "-999") { + data.fieldperSubTotalHead = "-"; + } + var url = "
" + data.fieldperSubTotalHead + "
"; + return url; + } + }, { field: "fieldperSubFallingHead", title: "수두차(cm)", editor: chooseEditor, attributes: { style:"text-align: right" }, template: "
#= (fieldperSubFallingHead == null) ? '0' : fieldperSubFallingHead #
" }, { field: "fieldperSubWaterLoose", title: "유출수량(㎤)", editor: chooseEditor, attributes: { style:"text-align: right" }, template: "
#= (fieldperSubWaterLoose == null) ? '0' : fieldperSubWaterLoose #
" }, { field: "fieldperSubQuantity", title: "수량(㎤)", editor: chooseEditor, attributes: { style:"text-align: right" }, template: "
#= (fieldperSubQuantity == null) ? '0' : fieldperSubQuantity #
" }, - { field: "fieldperSubPermeability", title: "투수계수(K,cm/sec)", editor: chooseTest, attributes: { style:"text-align: right" }, template: "
#= (fieldperSubPermeability == null) ? '0' : fieldperSubPermeability #
" }, + { field: "fieldperSubPermeability", title: "투수계수(K,cm/sec)", editor: chooseTest, attributes: { style:"text-align: right" }, + template: function(data) { + //"
#= (fieldperSubPermeability == null) ? '0' : fieldperSubPermeability #
" + if( data.fieldperSubPermeability === "") { + data.fieldperSubPermeability = "0"; + } else if( data.fieldperSubPermeability === null) { + data.fieldperSubPermeability = "0"; + } else if( data.fieldperSubPermeability === "-999") { + data.fieldperSubPermeability = "-"; + } + var url = "
" + data.fieldperSubPermeability + "
"; + return url; + } + }, { field: "seq", hidden: true }, { field: "newFieldperCode", hidden: true }, { field: "oldFieldperCode", hidden: true }, @@ -1040,6 +1113,14 @@ function fn_grid_refresh(){ break; } } + + function chooseEditorAllowHyphen(container, options) { + switch (options.model.COLUMN) { + default: + numericEditorAllowHyphen(container, options); + break; + } + } function chooseTest(container, options) { diff --git a/src/main/webapp/WEB-INF/views/web/manage/hole_coord_modify.jsp b/src/main/webapp/WEB-INF/views/web/manage/hole_coord_modify.jsp index 69327a43..46daf7ac 100644 --- a/src/main/webapp/WEB-INF/views/web/manage/hole_coord_modify.jsp +++ b/src/main/webapp/WEB-INF/views/web/manage/hole_coord_modify.jsp @@ -125,10 +125,10 @@ function fn_help_tour(){
- - - - + + + + @@ -141,17 +141,39 @@ function fn_help_tour(){ + - - diff --git a/src/main/webapp/WEB-INF/views/web/manage/list_reg.jsp b/src/main/webapp/WEB-INF/views/web/manage/list_reg.jsp index df6579f2..54b028a9 100644 --- a/src/main/webapp/WEB-INF/views/web/manage/list_reg.jsp +++ b/src/main/webapp/WEB-INF/views/web/manage/list_reg.jsp @@ -8,13 +8,6 @@ + + + + + + +
+ +
+ + + + + + +
+ +
+ + +
+
    +
  • +
  • 프로젝트명 수정 목록
  • +
+ 도움말 +
+ + + +

프로젝트명 수정 목록

+ + +
+ + +
+ + + + + + + <%@ include file="/include/inc_kendoUI_2019.jsp" %> +
+ + +
+ + +
+ + +
+ +
+ + +
+ +
+ + + +<%@ include file="/include/inc_footer_2021_new.jsp" %> + + +
+
+ diff --git a/src/main/webapp/WEB-INF/views/web/manage/re_name_modify.jsp b/src/main/webapp/WEB-INF/views/web/manage/re_name_modify.jsp new file mode 100644 index 00000000..2e6075d3 --- /dev/null +++ b/src/main/webapp/WEB-INF/views/web/manage/re_name_modify.jsp @@ -0,0 +1,150 @@ +<%@ 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"%> + +<%@ include file="/include/inc_head_2021_new.jsp" %> + + + + + + + + + +
+ +
+ + + + + + +
+ +
+ + +
+
    +
  • +
  • 프로젝트명 수정
  • +
+ 도움말 +
+ + + +

프로젝트명 수정

+ + +
+ + +
+
+
+ + +
시추공 고유번호 시추공명원좌표_X원좌표_Y경도위도좌표계번호원좌표_X(E)원좌표_Y(N)지도
${result.holeName} + + - - - + +
+ + + + + + + + + + +
프로젝트 명${pName}
+ + +
+
+ +
+
+ +
+ + + +
+ + + + + + + + + + + + + + +
변경할 프로젝트명
+ +
+
+
+ + + + + + + + + + + + + +
+ + + +<%@ include file="/include/inc_footer_2021_new.jsp" %> + + +
diff --git a/src/main/webapp/WEB-INF/views/web/map/mapTop.jsp b/src/main/webapp/WEB-INF/views/web/map/mapTop.jsp index bd6cbfe1..59379f4f 100644 --- a/src/main/webapp/WEB-INF/views/web/map/mapTop.jsp +++ b/src/main/webapp/WEB-INF/views/web/map/mapTop.jsp @@ -8,6 +8,8 @@ + + 지도„ diff --git a/src/main/webapp/WEB-INF/web.xml b/src/main/webapp/WEB-INF/web.xml index 47836ef5..c818bcdf 100644 --- a/src/main/webapp/WEB-INF/web.xml +++ b/src/main/webapp/WEB-INF/web.xml @@ -16,6 +16,7 @@ encodingFilter *.do *.json + /video/stream/* @@ -72,8 +73,12 @@ action - *.json + *.json + + action + /video/stream/* + ImageServlet net.sf.jasperreports.j2ee.servlets.ImageServlet diff --git a/src/main/webapp/body/map/download/image/btn_delete_all.gif b/src/main/webapp/body/map/download/image/btn_delete_all.gif new file mode 100644 index 00000000..e0e24458 Binary files /dev/null and b/src/main/webapp/body/map/download/image/btn_delete_all.gif differ diff --git a/src/main/webapp/com/css/map-service.css b/src/main/webapp/com/css/map-service.css index ecfdf199..73a36035 100644 --- a/src/main/webapp/com/css/map-service.css +++ b/src/main/webapp/com/css/map-service.css @@ -863,6 +863,13 @@ header .global-link-wrapper { background: url(../img/map-service/icon/ico_map_right_control_19.png) no-repeat 50% 50%; } +.map-right-btn-group > li .map-right-btn.map-btn-icon-geology::before { + background: url(../img/map-service/icon/ico_map_right_control_geology.png) no-repeat 50% 50%; +} +.map-right-btn-group > li .map-right-btn.map-btn-icon-mine::before { + background: url(../img/map-service/icon/ico_map_right_control_mine.png) no-repeat 50% 50%; +} + /* 지도구분 탭 시작 */ diff --git a/src/main/webapp/com/img/map-service/icon/ico_map_right_control_geology.png b/src/main/webapp/com/img/map-service/icon/ico_map_right_control_geology.png new file mode 100644 index 00000000..b4099984 Binary files /dev/null and b/src/main/webapp/com/img/map-service/icon/ico_map_right_control_geology.png differ diff --git a/src/main/webapp/com/img/map-service/icon/ico_map_right_control_mine.png b/src/main/webapp/com/img/map-service/icon/ico_map_right_control_mine.png new file mode 100644 index 00000000..03c50791 Binary files /dev/null and b/src/main/webapp/com/img/map-service/icon/ico_map_right_control_mine.png differ diff --git a/src/main/webapp/com/js/drilling/drilling-common.js b/src/main/webapp/com/js/drilling/drilling-common.js index 25cea9b4..6cf236e7 100644 --- a/src/main/webapp/com/js/drilling/drilling-common.js +++ b/src/main/webapp/com/js/drilling/drilling-common.js @@ -1,11 +1,3 @@ -let xhr; -if(window.XMLHttpRequest) { - xhr = new XMLHttpRequest(); -} else { - // IE5, IE6 일때 - xhr = new ActiveXObject("Microsoft.XMLHTTP"); -} - function onClickBtnViewOnMap() { const projectMasterCompanyName = '${mbr.projectMasterCompanyName}'; let projectCode = '${mbr.ProjectCode}'; diff --git a/src/main/webapp/include/inc_head_2021_new.jsp b/src/main/webapp/include/inc_head_2021_new.jsp index e8c27ceb..7dfbebbe 100644 --- a/src/main/webapp/include/inc_head_2021_new.jsp +++ b/src/main/webapp/include/inc_head_2021_new.jsp @@ -43,6 +43,7 @@ ============================================================== --> +