From 7b963c5f6dbbba0d4e329388c7a11ec68cd5e8e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=9C=A0=EC=A7=80=EC=9D=B8?= Date: Wed, 8 Apr 2026 17:38:34 +0900 Subject: [PATCH] =?UTF-8?q?=EA=B8=B0=EC=97=85=EC=82=AC=EC=9A=A9=EC=9E=90?= =?UTF-8?q?=20=EC=9E=85=EB=A0=A5=EC=8B=9C=EC=8A=A4=ED=85=9C:=20=EC=8B=9C?= =?UTF-8?q?=EC=B6=94=EA=B3=B5=EC=A0=95=EB=B3=B4=20>=20=EC=8B=9C=EC=B6=94?= =?UTF-8?q?=EB=B0=A9=ED=96=A5=EC=9D=98=20=EA=B0=81=EB=8F=84=EC=97=90=20'-'?= =?UTF-8?q?=EC=9E=85=EB=A0=A5=20=EC=A7=80=EC=9B=90(=EC=9B=B9,=20=EC=97=91?= =?UTF-8?q?=EC=85=80=EC=97=85=EB=A1=9C=EB=93=9C)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../geoinfo/regi/header/HeaderController.java | 6 ++- .../ManageExcelUploadProc03Controller.java | 6 ++- .../webapp/WEB-INF/views/web/input/header.jsp | 38 +++++++++++++++++-- 3 files changed, 45 insertions(+), 5 deletions(-) diff --git a/src/main/java/geoinfo/regi/header/HeaderController.java b/src/main/java/geoinfo/regi/header/HeaderController.java index 1d5e05d7..d0077456 100644 --- a/src/main/java/geoinfo/regi/header/HeaderController.java +++ b/src/main/java/geoinfo/regi/header/HeaderController.java @@ -639,7 +639,11 @@ public class HeaderController { String oHOLE_BORING_METHOD = sUtil.checkNull(String.valueOf(params.get("HOLE_BORING_METHOD"))); //시추방법 String oHOLE_BORING_MACHINE = sUtil.checkNull(String.valueOf(request.getParameter("HOLE_BORING_MACHINE"))); //시추장비 String oHOLE_LAYER_NUM = sUtil.checkNull(String.valueOf(params.get("HOLE_LAYER_NUM"))); //지층수 - String oBORING_DIRECTION = sUtil.checkNull(String.valueOf(params.get("BORING_DIRECTION_SEL")))+"|"+sUtil.checkNull(String.valueOf(request.getParameter("BORING_DIRECTION_INPUT"))); //시추방향 + String BORING_DIRECTIOIN_DEGREE = sUtil.checkNull(String.valueOf(request.getParameter("BORING_DIRECTION_INPUT"))); // 시추방향 각도(oBORING_DIRECTION 에 사용한다.) + if ("-".equals(BORING_DIRECTIOIN_DEGREE)) { + BORING_DIRECTIOIN_DEGREE = "-999"; + } + String oBORING_DIRECTION = sUtil.checkNull(String.valueOf(params.get("BORING_DIRECTION_SEL")))+"|"+BORING_DIRECTIOIN_DEGREE; //시추방향 String oHOLE_TYPE = "Boring"; //Boring String oHOLE_DB_INPUTCOMP = sUtil.checkNull(String.valueOf(params.get("HOLE_DB_INPUTCOMP"))); //입력기업 String oHOLE_DESC = sUtil.checkNull(String.valueOf(request.getParameter("HOLE_DESC"))); //기타 diff --git a/src/main/java/geoinfo/regi/manageList/ManageExcelUploadProc03Controller.java b/src/main/java/geoinfo/regi/manageList/ManageExcelUploadProc03Controller.java index 81cc8ef0..fd30706d 100644 --- a/src/main/java/geoinfo/regi/manageList/ManageExcelUploadProc03Controller.java +++ b/src/main/java/geoinfo/regi/manageList/ManageExcelUploadProc03Controller.java @@ -6880,7 +6880,11 @@ public class ManageExcelUploadProc03Controller { String _holeBoringMachine = excel1Wp.get("col2",17).trim(); //시추장비 String _holeLayerNum = excel1Wp.get("col2",15).trim(); //지층수 - String _boringDirection = excel1Wp.get("col2",19).trim()+"|"+excel1Wp.get("col7",19).trim(); //시추방향 + String boringDirectionDegree = excel1Wp.get("col7",19).trim(); //시추방향 각도(_boringDirection 에 사용한다.) + if ("-".equals(boringDirectionDegree)) { + boringDirectionDegree = "-999"; + } + String _boringDirection = excel1Wp.get("col2",19).trim()+"|"+boringDirectionDegree; //시추방향 System.out.println("시추방향 : " + excel1Wp.get("col2",19).trim()); String _holeType = "Boring"; //Boring diff --git a/src/main/webapp/WEB-INF/views/web/input/header.jsp b/src/main/webapp/WEB-INF/views/web/input/header.jsp index 22e18314..a8128ed0 100644 --- a/src/main/webapp/WEB-INF/views/web/input/header.jsp +++ b/src/main/webapp/WEB-INF/views/web/input/header.jsp @@ -623,12 +623,12 @@ window.onload = function() { //시추방향 if('${mapHeader.boringDirection}' != null && '${mapHeader.boringDirection}' != ''){ var boring = "${mapHeader.boringDirection}".split("|"); - + var boringDegree = boring[1] === '-999' ? '-' : boring[1]; var consFrmSel = document.getElementById("BORING_DIRECTION_SEL"); var consFrmInput = document.getElementById("BORING_DIRECTION_INPUT"); fn_SelectedData(consFrmSel,boring[0]); - consFrmInput.value = boring[1]; + consFrmInput.value = boringDegree; if (boring[0] === "-") { consFrmInput.disabled = true; @@ -637,7 +637,39 @@ window.onload = function() { consFrmInput.disabled = false; } } + + var input = document.getElementById('BORING_DIRECTION_INPUT'); + + // 1. 입력 제한 + input.addEventListener("input", function () { + let val = this.value; + if (!/^[-]?\d*\.?\d*$/.test(val)) { + this.value = val.slice(0, -1); + } + }); + + // 2. ↑ ↓ 키 + input.addEventListener("keydown", function (e) { + if (e.key === "ArrowUp" || e.key === "ArrowDown") { + e.preventDefault(); + + let val = this.value.trim(); + + if (val === "-" || val === "") { + val = 0; + } + + let num = parseFloat(val); + if (isNaN(num)) num = 0; + + if (e.key === "ArrowUp") num += 1; + else num -= 1; + + this.value = num; + } + }); + consFrmSel.addEventListener("change", function() { if (this.value === "-") { consFrmInput.disabled = true; @@ -1758,7 +1790,7 @@ function fn_HoleLoad(){ - ˚ + ˚