diff --git a/.classpath b/.classpath index 9ca42e7..16fa6cf 100644 --- a/.classpath +++ b/.classpath @@ -33,5 +33,6 @@ + diff --git a/2_apply.bat b/2_apply.bat index 34d1800..0e79bd7 100644 --- a/2_apply.bat +++ b/2_apply.bat @@ -1,14 +1,22 @@ @echo off setlocal enabledelayedexpansion + set source_prefix=src\main\webapp\ set target_prefix=C:\Users\dbnt\eclipse-workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\geoinfo_admin\ set target_directory=C:\Users\dbnt\git\dbnt\geoinfo.or.kr\old-geoinfo-or-kr-admin\ -set source_file= -set target_file= +rem For 192.168.10.20 +hostname | find "DESKTOP-9C42CR8" > nul +if %errorlevel% == 0 ( + set target_prefix=D:\app_geoinfo\app\eclipse\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\old-geoinfo-or-kr-admin\ + set target_directory=D:\app_geoinfo\app\eclipse\workspace\old-geoinfo-or-kr-admin\ +) else ( + echo goodbye +) -for /f "delims=" %%i in (list.txt) do ( + +for /f "delims=" %%i in (admin_list.txt) do ( set line=%%i if "!line:~-5!" == ".java" ( diff --git a/list.txt b/admin_list.txt similarity index 76% rename from list.txt rename to admin_list.txt index e17e1c4..1b8295a 100644 --- a/list.txt +++ b/admin_list.txt @@ -1,4 +1,3 @@ -src\main\resources\egovframework\egovProps\globals.properties_thkim_disabled src\main\webapp\WEB-INF\config\springmvc\action-servlet.xml src\main\webapp\WEB-INF\views\admins\user\left.jsp src\main\webapp\images\renew\arrow-right.png @@ -17,4 +16,10 @@ src\main\resources\geoinfo\sqlmap\mappers\admins\user\HomeTrainingMapper.xml src\main\webapp\WEB-INF\views\admins\user\home-training-index.jsp src\main\webapp\WEB-INF\views\admins\user\home-training-approval-system.jsp src\main\webapp\WEB-INF\views\admins\user\visit-training-index.jsp -src\main\webapp\WEB-INF\views\admins\user\visit-training-approval-system.jsp \ No newline at end of file +src\main\webapp\WEB-INF\views\admins\user\visit-training-approval-system.jsp +src\main\java\geoinfo\util\MyUtil.java +src\main\webapp\WEB-INF\lib\json-simple-1.1.1.jar +src\main\java\geoinfo\admins\main\MainController.java +src\main\resources\geoinfo\sqlmap\mappers\admins\main\Login_SQL.xml +src\main\webapp\WEB-INF\views\admins\main\main.jsp +src\main\webapp\WEB-INF\views\admins\frame\mainframe.jsp diff --git a/old/GeneralUserMngController.class b/old/GeneralUserMngController.class new file mode 100644 index 0000000..99cfb80 Binary files /dev/null and b/old/GeneralUserMngController.class differ diff --git a/old/HomeTrainingMapper.class b/old/HomeTrainingMapper.class new file mode 100644 index 0000000..838099c Binary files /dev/null and b/old/HomeTrainingMapper.class differ diff --git a/old/HomeTrainingMapper.xml b/old/HomeTrainingMapper.xml new file mode 100644 index 0000000..44aa3c6 --- /dev/null +++ b/old/HomeTrainingMapper.xml @@ -0,0 +1,88 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/old/HomeTrainingService.class b/old/HomeTrainingService.class new file mode 100644 index 0000000..65f8743 Binary files /dev/null and b/old/HomeTrainingService.class differ diff --git a/old/HomeTrainingServiceImpl.class b/old/HomeTrainingServiceImpl.class new file mode 100644 index 0000000..3f5efc4 Binary files /dev/null and b/old/HomeTrainingServiceImpl.class differ diff --git a/old/Login_SQL.xml b/old/Login_SQL.xml new file mode 100644 index 0000000..eca19d6 --- /dev/null +++ b/old/Login_SQL.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/old/MainController.class b/old/MainController.class new file mode 100644 index 0000000..1e60865 Binary files /dev/null and b/old/MainController.class differ diff --git a/old/MyUtil.class b/old/MyUtil.class new file mode 100644 index 0000000..b7cc487 Binary files /dev/null and b/old/MyUtil.class differ diff --git a/old/action-servlet.xml b/old/action-servlet.xml new file mode 100644 index 0000000..9fe211d --- /dev/null +++ b/old/action-servlet.xml @@ -0,0 +1,88 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + geoinfo.**.service + + + + + + + + + + + + + + + + /WEB-INF/tiles/tiles-layout.xml + + + + + + \ No newline at end of file diff --git a/old/add.png b/old/add.png new file mode 100644 index 0000000..392fe0d Binary files /dev/null and b/old/add.png differ diff --git a/old/arrow-right.png b/old/arrow-right.png new file mode 100644 index 0000000..b887d35 Binary files /dev/null and b/old/arrow-right.png differ diff --git a/old/chevron.png b/old/chevron.png new file mode 100644 index 0000000..f80cedb Binary files /dev/null and b/old/chevron.png differ diff --git a/old/chevron.svg b/old/chevron.svg new file mode 100644 index 0000000..c1794ab --- /dev/null +++ b/old/chevron.svg @@ -0,0 +1,3 @@ + + + diff --git a/old/delete.png b/old/delete.png new file mode 100644 index 0000000..0b915d7 Binary files /dev/null and b/old/delete.png differ diff --git a/old/home-training-approval-system.jsp b/old/home-training-approval-system.jsp new file mode 100644 index 0000000..f1cad31 --- /dev/null +++ b/old/home-training-approval-system.jsp @@ -0,0 +1,23 @@ +<%@ 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="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> + + + + + + + + + + + + +

집합교육 - 집합교육 신청 승인

+
+
+ + diff --git a/old/home-training-index.jsp b/old/home-training-index.jsp new file mode 100644 index 0000000..1cce9ed --- /dev/null +++ b/old/home-training-index.jsp @@ -0,0 +1,540 @@ +<%@ 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="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> + + + + + + + + + + + + +

집합교육

+
+
+ + +
+ + + + + + + + + + + + + + + + + + + + + + + +
번호집합교육명교육일시교육장소접수기간신청
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
집합교육명교육일시교육장소접수기간신청
~
+ + + +
+

교육 대상자 명단

+ ⁕ 신청 집합교육명 : + + + + + + + + + + + + + + + + + + + + + + + + + +
신청자소속기관부서직급연락처이메일비고
+
+
+ + diff --git a/old/json-simple-1.1.1.jar b/old/json-simple-1.1.1.jar new file mode 100644 index 0000000..dfd5856 Binary files /dev/null and b/old/json-simple-1.1.1.jar differ diff --git a/old/left.jsp b/old/left.jsp new file mode 100644 index 0000000..8b61aab --- /dev/null +++ b/old/left.jsp @@ -0,0 +1,195 @@ +<%@ 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="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="fn" uri = "http://java.sun.com/jsp/jstl/functions" %> + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + +
+ + + + + + + + +
+ + + + + + + + +
+ + + + + + + + +
+ + + + + + + + +
+ + + + + + + + +
+ + + + + + + + +
+ +
+ +
+
+ + diff --git a/old/main.jsp b/old/main.jsp new file mode 100644 index 0000000..1cd36d5 --- /dev/null +++ b/old/main.jsp @@ -0,0 +1,173 @@ +<%@ 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="form" uri="http://www.springframework.org/tags/form" %> + + + +국토지반정보 포털 관리시스템 + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
+ + + +
+
+ + + + + + + +
+ +   + + + +
+
+ + + + +
+
+ + + + + + + + + + + + +<%-- + +
승인 대기
+
+ +
승인 대기 0건
+
+
--%> + + diff --git a/old/mainframe.jsp b/old/mainframe.jsp new file mode 100644 index 0000000..f966a6b --- /dev/null +++ b/old/mainframe.jsp @@ -0,0 +1,22 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> + + + + + + + + + + + + + + diff --git a/old/minus.png b/old/minus.png new file mode 100644 index 0000000..e9f5eff Binary files /dev/null and b/old/minus.png differ diff --git a/old/style.css b/old/style.css new file mode 100644 index 0000000..3be7f8f --- /dev/null +++ b/old/style.css @@ -0,0 +1,782 @@ +@charset "UTF-8"; +/* 기본 */ +img { + border: 0; +} + +body { + margin-left: 16; + margin-top: 20; + margin-right: 16; + margin-bottom: 0; + scrollbar-face-color: #FFFFFF; + scrollbar-shadow-color: #A0A0A0; + scrollbar-highlight-color: #FFFFFF; + scrollbar-3dlight-color: #A0A0A0; + scrollbar-darkshadow-color: #F6F6F6; + scrollbar-track-color: #F6F6F6; + scrollbar-arrow-color: #A0A0A0; +} + +/* 페이지 네비게이션 */ +.navi_cur { + font-family: "굴림체"; + font-size: 9pt; + color: #3F3F3F; + line-height: 150%; + font-weight: bold; +} + +a.navi:link { + font-family: "굴림체"; + font-size: 9pt; + color: #3F3F3F; + text-decoration: none; + line-height: 150%; +} + +a.navi:visited { + font-family: "굴림체"; + font-size: 9pt; + color: #3F3F3F; + text-decoration: none; + line-height: 150%; +} + +a.navi:hover { + font-family: "굴림체"; + font-size: 9pt; + color: #3F3F3F; + text-decoration: underline; + line-height: 150%; +} + +/* 목록 헤드와 내용 */ +.list_head { + font-size: 9pt; + font-family: 굴림체; + font-weight: bold; + line-height: 150%; + color: #B64E0F; +} + +.list_head2 { + font-size: 9pt; + font-family: 굴림체; + font-weight: bold; + line-height: 150%; + color: #1180B5; +} + +.list_head_noti { + font-size: 9pt; + font-family: 굴림체; + font-weight: bold; + line-height: 150%; + color: #B64E0F; +} + +.list_content { + font-size: 9pt; + font-family: 굴림체; + line-height: 150%; + color: #525252; +} + +/* search */ +.search { + font-size: 9pt; + color: #545454; +} + +.search1 { + font-size: 9pt; + color: #545454; +} + +.date_search { + font-size: 9pt; + font-weight: bold; + color: #545454; +} + +/* 폼 */ +Select { + font-size: 9pt; +} + +input { + font-size: 9pt; +} + +.write { + background-color: #FFFFFF; + border-color: #C5C5C5; + border-width: 1px; + border-style: solid; + font-size: 10pt; +} + +.input { + font-size: 9pt; + border: 1x solid #C8D0D5; + text-align: left; + color: #333333; +} + +.input1 { + font-size: 9pt; + border: 1x solid #8C8C8C; +} + +.input2 { + font-size: 9pt; + border: 1x solid #D1DEDE; + text-align: justify; + padding-right: 3px; + background-color: #F4F7F7; + height: 17px; + padding-left: 3px; +} + +.input3 { + font-size: 9pt; + border: 1x solid #8C8C8C; + text-align: center; + padding-top: 2px; +} + +Input.search { + background-color: #F9F9F9; + border-color: #C5C5C5; + border-width: 1px; + border-style: solid; + font-size: 10pt; +} + +/* 일반 */ +a:link { + font-family: "굴림체"; + font-size: 9pt; + color: #525252; + text-decoration: none; + line-height: 150%; +} + +a:visited { + font-family: "굴림체"; + font-size: 9pt; + color: #525252; + text-decoration: none; + line-height: 150%; +} + +a:hover { + font-family: "굴림체"; + font-size: 9pt; + color: #FF8000; + text-decoration: underline; + line-height: 150%; +} + +/* FAQ */ +.faq_q { + font-size: 9pt; + line-height: 150%; + color: #1F177C; + font-weight: bold; +} + +.faq_a { + font-size: 9pt; + line-height: 150%; + color: #1F177C; +} + +/* QnA */ +.qna_head { + font-size: 9pt; + font-family: 굴림체; + font-weight: bold; + line-height: 150%; + color: #939393; +} + +.qna_content { + font-size: 9pt; + font-family: 굴림체; + line-height: 150%; + color: #939393; + padding-left: 5px; + padding-right: 5px; +} + +.qna_contentH { + font-size: 9pt; + font-family: 굴림체; + line-height: 150%; + color: #939393; + padding: 5px; +} + +.qna_reply { + font-size: 9pt; + font-family: 굴림체; + line-height: 120%; + color: #3F83FF; + padding-left: 5px; + padding-right: 5px; +} + +.qna_reply_gray { + font-size: 9pt; + font-family: 굴림체; + line-height: 150%; + color: #939393; +} + +/* 팝업타이틀, 입력창(input, select) 추가 2017.08.01 */ +.pop_title { + height: 20px; + border-bottom: 1px solid #31b0e5; + background: url("../../images/admins/bullet03.png") 10px 10px no-repeat; + padding: 7px 0 7px 27px; + font-size: 14px; + font-family: 굴림체; + font-weight: bold; + line-height: 150%; + color: #1180B5; +} + +.input_txt { + padding: 3px; + border: 1px solid #ccc; + border-radius: 3px; + color: #666; + font-size: 12px; +} + +/* 2023.10.11 LHJ 게시판 제목에서 길이 초과된 뒷부분 생략 추가 */ +#Table_List { + table-layout: fixed; +} + +#Table_List td { + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; +} + +/* 2023.10.23 LHJ 팝업 미리보기 화면 추가 */ +.popup_noti { + width: 500px; + height: 600px; + display: flex; + flex-direction: column; + position: relative; +} + +.bg_noti:nth-child(1) { + flex-grow: 2.5; + background-color: #FFCCB3; +} + +.bg_noti:nth-child(2) { + flex-grow: 1.5; + background-color: #FFF2D0; +} + +.bg_noti:nth-child(3) { + flex-grow: 6; + background-color: #DCF1EA; +} + +.bg_white { + position: absolute; + top: 10%; + left: 7%; + right: 7%; + bottom: 5%; + background-color: white; + border: 1px solid black; +} + +.subject_noti { + position: absolute; + top: 10%; + left: 7%; + right: 7%; + font-family: "NanumGothicB"; + font-weight: bold; + font-size: 15pt; + overflow: hidden; + text-overflow: ellipsis; + display: -webkit-box; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; +} + +.contents_noti pre { + display: block; + padding: inherit; + margin: inherit; + font-size: inherit; + line-height: inherit; + color: inherit; + word-break: break-all; + word-wrap: break-word; + white-space: pre-wrap; + background-color: inherit; + border: inherit; + border-radius: inherit; + font-family: inherit; +} + +.contents_noti { + position: absolute; + top: 27%; + left: 7%; + right: 7%; + bottom: 5%; + font-family: "Nanum Gothic"; + font-size: 9pt; + overflow-y: auto; + text-overflow: ellipsis; + display: -webkit-box; + -webkit-line-clamp: 10; + -webkit-box-orient: vertical; +} + +.menu-item { + padding: 0px 5px; + width: 230px; + text-align: center; + margin-bottom: 9px; +} +.menu-item span { + box-sizing: border-box; + display: inline-block; + width: 220px; + padding: 5px 20px; + padding-left: 31px; + box-shadow: inset 2px 2px 6px #b7b7b7; + border-radius: 20px; + text-align: left; + background: #ffffff; + color: #888888; + font-size: 14px; + font-weight: 600; + margin-left: 4px; +} +.menu-item .sub-menu { + display: none; +} +.menu-item.active { + margin-bottom: 3px; +} +.menu-item.active span { + color: #2b85c6; +} +.menu-item.active .sub-menu { + display: block; + margin: 0px; + margin-top: 3px; + padding: 0px; + text-align: right; +} +.menu-item.active .sub-menu .sub-menu-item { + box-sizing: border-box; + display: inline-block; + width: 180px; + padding: 5px 20px; + padding-left: 31px; + box-shadow: inset 2px 2px 6px #b7b7b7; + border-radius: 20px; + text-align: left; + background: #ffffff; + color: #888888; + font-size: 14px; + font-weight: 600; + margin-left: 4px; + margin-right: 4px; + margin-bottom: 3px; + cursor: pointer; +} +.menu-item.active .sub-menu .sub-menu-item.active { + color: #2b85c6; +} + +.main-title { + font-size: 20px; +} + +.sub-title { + font-size: 20px; + color: #df8107; +} + +.home-trainning { + width: 100%; + max-width: 1600px; + position: relative; + /* 신청인정보 */ +} +.home-trainning th, +.home-trainning tr { + height: 36px; +} +.home-trainning .contentBtn { + display: flex; + gap: 10px; + justify-content: end; + margin: 10px 0; +} +.home-trainning button { + background-color: #007BFF; + color: #fff; + border-radius: 6px; + border: none; + padding: 5px 10px; +} +.home-trainning .Table_Main { + width: 100%; + max-width: 1600px; + border: 1px solid #e9e9e9; + text-align: center; +} +.home-trainning .Table_Main.course-list-table tbody tr { + cursor: pointer; +} +.home-trainning .Table_Main.course-list-table tbody tr:hover { + background: #f1f1f1; +} +.home-trainning .Table_Main.new-course-creation-table { + margin-bottom: 50px; +} +.home-trainning .Table_Main.new-course-creation-table .new-course-creation-tbody tr td input { + width: 100%; + height: 100%; + height: 35px; + border: none; + padding: 0px 5px; + font-size: 14px; +} +.home-trainning .Table_Main.new-course-creation-table .new-course-creation-tbody tr td input.reg-start-end-date { + width: 40%; + padding: 0px; +} +.home-trainning .Table_List { + background: #e9eff4; +} +.home-trainning .application { + width: 60px; + padding: 5px; + background: #E9F0F5; + border-radius: 6px; + border: none; + font-weight: 600; + font-size: 12px; +} +.home-trainning .applicationEnd { + color: red; +} +.home-trainning .home-visit-item { + display: none; +} +.home-trainning #UserDate { + margin: 25px 0; + display: none; +} +.home-trainning .DateTitle { + font-size: 18px; + font-weight: 700; + line-height: 18px; + display: inline-block; + margin-right: 20px; +} +.home-trainning .AddBtn { + display: block; + margin: 30px auto; + padding: 10px 20px; + background-color: #007BFF; + color: white; + border: none; + border-radius: 5px; + cursor: pointer; +} +.home-trainning button:hover { + background-color: #0056b3; +} +.home-trainning #ContentAdd { + display: none; +} +.home-trainning .DateTitle { + font-size: 18px; + font-weight: 700; + line-height: 18px; + display: inline-block; + margin-right: 20px; +} +.home-trainning .DateText { + font-size: 15px; + font-weight: 400; + line-height: 12px; + align-items: center; +} +.home-trainning .DateText .home-visit-item-training-name { + font-weight: 600; +} + +.visit-trainning { + /* 기본 레이아웃 설정 */ + /* 캘린더 CSS */ + /* Form css */ + /* 관리자용 css */ +} +.visit-trainning .page-content-wrapper { + display: inline-block; + width: auto; + margin: 0 auto; +} +.visit-trainning .page-sidebar-wrapper { + float: left; + width: 222px; + height: 1000px; +} +.visit-trainning .page-content { + width: 100%; +} +.visit-trainning .content-bg { + background-color: #e9eff4; + padding: 30px; +} +.visit-trainning .CalendarOverlay { + display: inline-flex; +} +.visit-trainning .Calendar { + padding: 30px; + background: white; + border-radius: 16px; + flex-direction: column; + justify-content: flex-start; + align-items: flex-start; + gap: 12px; + display: flex; +} +.visit-trainning .Header { + align-self: stretch; + justify-content: space-between; + align-items: center; + display: inline-flex; +} +.visit-trainning .yyyy-mm { + color: black; + font-size: 24px; + font-family: Inter; + font-weight: 900; + word-wrap: break-word; +} +.visit-trainning .Frame9 { + justify-content: flex-start; + align-items: flex-start; + gap: 12px; + display: flex; +} +.visit-trainning .Chevron { + padding: 8px; + justify-content: flex-start; + align-items: flex-start; + gap: 10px; + display: flex; +} +.visit-trainning .page-prev { + margin-top: 3px; + width: 26px; + height: 26px; + transform: rotate(90deg); +} +.visit-trainning .page-next { + margin-top: 3px; + width: 26px; + height: 26px; + transform: rotate(-90deg); +} +.visit-trainning .month { + margin: 0px auto; +} +.visit-trainning .month .Days { + flex-direction: column; + justify-content: flex-start; + align-items: center; + display: flex; +} +.visit-trainning .month .Row { + justify-content: flex-start; + align-items: center; + display: flex; +} +.visit-trainning .month .Cell { + display: flex; + justify-content: center; + align-items: center; + width: 64px; + height: 64px; + padding: 10px; + box-sizing: border-box; + padding: 20px; +} +.visit-trainning .month .Cell:hover { + background-color: #e9eff4; +} +.visit-trainning .month .Day { + display: flex; + justify-content: center; + align-items: center; + width: 64px; + height: 64px; + padding: 10px; + border: 1px solid #D5D4DF; + box-sizing: border-box; + padding: 20px; +} +.visit-trainning .month .Week { + width: 24px; + height: 24px; + text-align: center; + color: black; + font-size: 14px; + font-family: Inter; + font-weight: 600; + word-wrap: break-word; + border: 1px solid #fff; +} +.visit-trainning .month .Day { + border: 1px #D5D4DF solid; + display: flex; + justify-content: center; + align-items: center; + font-size: 14px; +} +.visit-trainning .month .inactive { + width: 64px; + height: 64 px; + text-align: center; + color: #A8A8A8; + font-size: 14px; + font-family: Inter; + font-weight: 400; + word-wrap: break-word; +} +.visit-trainning .month .Weekdays { + width: 24px; + height: 24px; + text-align: center; + color: black; + font-size: 14px; + font-family: Inter; + font-weight: 400; + word-wrap: break-word; +} +.visit-trainning .month .Su { + color: #FF6666; +} +.visit-trainning .month .Sa { + color: #3378C1; +} +.visit-trainning .month .today { + background-color: #45539d; + font-weight: bold; + color: #fff; + pointer-events: none; +} +.visit-trainning .Application { + width: 430px; + margin-top: 15px; + float: right; +} +.visit-trainning .InputBox { + width: 342px; + height: 34px; + background: white; + border-radius: 6px; + border: 1px solid rgba(66, 80, 102, 0.4); +} +.visit-trainning #Agency, .visit-trainning #Place { + width: 160px; +} +.visit-trainning #Name { + width: 91px; +} +.visit-trainning #Persons { + width: 79px; +} +.visit-trainning #Tel, .visit-trainning #Place { + margin-left: -13px; +} +.visit-trainning #Hope1, .visit-trainning #Hope2, .visit-trainning #Hope3 { + width: 342px; + margin-left: -20px; +} +.visit-trainning label { + margin: 0 25px 0 20px; + display: inline-block; + text-align: left; + line-height: 50px; + font-size: 14px; +} +.visit-trainning .possible { + width: 100px; + height: 32px; + padding: 5px; + background: #E9F0F5; + border-radius: 6px; + border: none; +} +.visit-trainning .impossibility { + width: 100px; + height: 32px; + padding: 5px; + background: #EAEAEA; + border-radius: 6px; + border: none; +} + +.visit-trainning-approval-system th, +.visit-trainning-approval-system tr { + height: 36px; +} +.visit-trainning-approval-system #Table_Main { + width: 1020px; + border: 1px solid #e9e9e9; + text-align: center; +} +.visit-trainning-approval-system .Table_List { + background: #e9eff4; +} +.visit-trainning-approval-system .caption { + font-size: 11px; + margin: 10px; +} +.visit-trainning-approval-system .HopeDay { + color: #2e5aac; + bordeR: 1px solid #89a7e0; + padding: 5px; + background: #fff; + border-radius: 2px; +} +.visit-trainning-approval-system .cancel { + border: 1px solid red; + color: red; + border-radius: 2px; + padding: 4px 8px; + background-color: #fff; +} +.visit-trainning-approval-system .HopeDay.clicked { + background-color: #89a7e0; + color: white; +} +.visit-trainning-approval-system .statusConfirmed { + color: #2e5aac; +} + +/*# sourceMappingURL=style.css.map */ diff --git a/old/style.css.map b/old/style.css.map new file mode 100644 index 0000000..53162a0 --- /dev/null +++ b/old/style.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["sass/style.scss"],"names":[],"mappings":";AAAA;AACA;EAAM;;;AACN;EAEC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;AACA;EAAY;EAAoB;EAAiB;EAAgB;EAAkB;;;AACnF;EAAc;EAAoB;EAAiB;EAAgB;EAAuB;;;AAC1F;EAAgB;EAAoB;EAAiB;EAAgB;EAAuB;;;AAC5F;EAAc;EAAoB;EAAiB;EAAgB;EAA4B;;;AAE/F;AACA;EAAe;EAAe;EAAkB;EAAkB;EAAkB;;;AACpF;EAAe;EAAe;EAAkB;EAAkB;EAAkB;;;AACpF;EAAkB;EAAe;EAAkB;EAAkB;EAAkB;;;AACvF;EAAiB;EAAe;EAAkB;EAAkB;;;AAEpE;AACA;EAAY;EAAe;;;AAC3B;EAAY;EAAe;;;AAC3B;EAAe;EAAe;EAAkB;;;AAEhD;AACA;EAAY;;;AACZ;EAAU;;;AACV;EAAY;EAA0B;EAAsB;EAAkB;EAAoB;;;AAClG;EAAW;EAAe;EAA0B;EAAkB;;;AACtE;EAAW;EAAe;;;AAC1B;EAAW;EAAe;EAAyB;EAAqB;EAAoB;EAA2B;EAAc;;;AACrI;EAAW;EAAe;EAAyB;EAAoB;;;AACvE;EAAe;EAA0B;EAAsB;EAAkB;EAAoB;;;AAErG;AACA;EAAU;EAAoB;EAAgB;EAAgB;EAAuB;;;AACrF;EAAY;EAAoB;EAAgB;EAAgB;EAAuB;;;AACvF;EAAW;EAAoB;EAAgB;EAAgB;EAA4B;;;AAE3F;AACA;EAAY;EAAe;EAAkB;EAAe;;;AAC5D;EAAW;EAAe;EAAkB;;;AAG5C;AACA;EAAc;EAAe;EAAkB;EAAkB;EAAkB;;;AACnF;EAAgB;EAAe;EAAkB;EAAkB;EAAe;EAAkB;;;AACpG;EAAiB;EAAe;EAAkB;EAAkB;EAAe;;;AACnF;EAAe;EAAe;EAAkB;EAAkB;EAAe;EAAkB;;;AACnG;EAAkB;EAAe;EAAkB;EAAkB;;;AAErE;AACA;EAAa;EAAa;EAAiC;EAAwE;EAAwB;EAAiB;EAAkB;EAAkB;EAAkB;;;AAClO;EAAY;EAAa;EAAuB;EAAmB;EAAY;;;AAE/E;AACA;EAAa;;;AACb;EAAgB;EAAyB;EAAqB;;;AAE9D;AACA;EACI;EACH;EACG;EACA;EACA;;;AAEJ;EACI;EACA;;;AAEJ;EACI;EACA;;;AAEJ;EACI;EACA;;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACC;EACA;EACA;EACA;EACA;;;AAEL;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;;AACA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;;AAEJ;EACI;;AACA;EACI;;AAEJ;EACI;EACA;EACA;EACA;EACA;;AACA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACI;;;AAOpB;EACI;;;AAEJ;EACI;EACA;;;AAGJ;EACI;EACA;EACA;AAwEA;;AAvEA;AAAA;EAEI;;AAEJ;EACI;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;;AAGQ;EACI;;AACA;EACI;;AAOhB;EACI;;AAIY;EACI;EACA;EACA;EACA;EACA;EACA;;AACA;EACI;EACA;;AAQ5B;EACI;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAEJ;EACI;;AAIJ;EACI;;AAEJ;EACI;EACA;;AAEJ;EACI;EACA;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;;AAEJ;EACI;;AAGJ;EACI;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;;AACA;EACI;;;AAMZ;AACI;AAmBA;AA8IA;AAsCA;;AAtMA;EACI;EACA;EACA;;AAEJ;EACI;EACA;EACA;;AAEJ;EACI;;AAEJ;EACI;EACA;;AAIJ;EACI;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;;AAEJ;EACK;EACA;EACA;EACA;EACA;;AAEL;EACI;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;;AAEJ;EACI;;AACA;EACI;EACA;EACA;EACA;;AAEJ;EACG;EACA;EACA;;AAEH;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEJ;EACI;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEJ;EACG;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEH;EACI;EACA;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEJ;EACI;;AAEJ;EACI;;AAEJ;EACI;EACA;EACA;EACA;;AAKR;EACI;EACA;EACA;;AAEJ;EACI;EACC;EACA;EACA;EACA;;AAEL;EACI;;AAEJ;EACI;;AAEJ;EACI;;AAEJ;EACI;;AAEJ;EACI;EACC;;AAGL;EACI;EACC;EACA;EACA;EACA;;AAKL;EACI;EACA;EACA;EACA;EACA;EACA;;AAEJ;EACK;EACD;EACA;EACA;EACA;EACA;;;AAMJ;AAAA;EAEI;;AAEJ;EACI;EACA;EACA;;AAEJ;EACI;;AAEJ;EACG;EACC;;AAIJ;EACI;EACA;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;;AAEJ;EACG","file":"style.css"} \ No newline at end of file diff --git a/old/visit-training-approval-system.jsp b/old/visit-training-approval-system.jsp new file mode 100644 index 0000000..e2afa19 --- /dev/null +++ b/old/visit-training-approval-system.jsp @@ -0,0 +1,120 @@ +<%@ 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="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> + + + + + + + + + + + + +

방문교육 - 방문교육 신청 승인

+ +
+

본 방문교육 신청 후 교육일정이 확정되기 전까지 변경 및 취소가 가능하며 일자 확정시 변경 및 취소는 불가하며, 확정일자를 클릭하여 공문 스캔본과 함께 신청서를 + 이메일(ryujisong@kict.re.kr)로 + 접수하셔야 합니다.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
번호현장명기관명신청자연락처이메일예상인원1차희망일2차희망일3차희망일상태
3용산구 재개발디비엔텍홍길동032-721-5678aaa@naver.com25명
2로봇타워 신축공사디비엔텍홍길동032-721-5678aaa@naver.com30명
1인천항만 부두 확장 공사디비엔텍홍길동032-721-5678aaa@naver.com40명
+
+ + diff --git a/old/visit-training-index.jsp b/old/visit-training-index.jsp new file mode 100644 index 0000000..1f1b83a --- /dev/null +++ b/old/visit-training-index.jsp @@ -0,0 +1,241 @@ +<%@ 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="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> + + + + + + + + + + + + +

방문교육 - 방문가능 일자 지정

+ +
+
+
+
+
+
+
+ +
+ + +
+
+
+
+ chevron-prev +
+
+
+ 2024.08 +
+
+
+ chevron-next +
+
+
+
+ + +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ + diff --git a/open_builded.bat b/open_builded.bat index b8a52e3..e32afe9 100644 --- a/open_builded.bat +++ b/open_builded.bat @@ -1 +1,10 @@ explorer C:\Users\dbnt\eclipse-workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\geoinfo_admin + + +rem For 192.168.10.20 +hostname | find "DESKTOP-9C42CR8" > nul +if %errorlevel% == 0 ( +explorer D:\app_geoinfo\app\eclipse\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\old-geoinfo-or-kr-admin +) else ( + echo goodbye +) diff --git a/open_css.bat b/open_css.bat new file mode 100644 index 0000000..b3ba9d3 --- /dev/null +++ b/open_css.bat @@ -0,0 +1 @@ +explorer src\main\webapp\css\admins\sass\ \ No newline at end of file diff --git a/src/main/java/geoinfo/admins/main/MainController.java b/src/main/java/geoinfo/admins/main/MainController.java index 0fe7c92..66caa3c 100644 --- a/src/main/java/geoinfo/admins/main/MainController.java +++ b/src/main/java/geoinfo/admins/main/MainController.java @@ -105,13 +105,13 @@ public class MainController { params.put("id", id); params.put("ipAdd", ipAdd); -/* - String strAccessAllows = - "[" + - "{\"ip\":\"218.49.16.78\", \"id\":\"admin_user\"}, " + +/* + String strAccessAllows = + "[" + + "{\"ip\":\"218.49.16.78\", \"id\":\"admin_user\"}, " + "{\"ip\":\"0:0:0:0:0:0:0:1\", \"id\":\"admin_user\"}, "+ - "{\"ip\":\"218.49.21.65\",\"id\":\"admin_user\"}, " + - "{\"ip\":\"218.49.21.65\",\"id\":\"sogone\"}, " + + "{\"ip\":\"218.49.21.65\",\"id\":\"admin_user\"}, " + + "{\"ip\":\"218.49.21.65\",\"id\":\"sogone\"}, " + "{\"ip\":\"218.232.234.161\",\"id\":\"admin_user\"} " + "]"; @@ -169,7 +169,7 @@ public class MainController { boolean isAuth = false; boolean encryptChange = true; boolean loginSuccess = false; - + String encryptChk = mainService.encryptChk(params); if (encryptChk == null || ("").equals(encryptChk)) { @@ -188,7 +188,10 @@ public class MainController { if( getMemberInfo != null && getMemberInfo.get("cls") != null) { System.out.println("mainService.getMemberInfo - 후:" + getMemberInfo.get("cls").toString() + "- IP:" + ipAdd); } else { - System.out.println("mainService.getMemberInfo - 후: getMemberInfo.get(\"cls\") is null - IP:" + ipAdd); + System.out.println("mainService.getMemberInfo - 후: getMemberInfo.get(\"cls\") is null - \n" + + "ID:[" + params.get("id") == null ? "null" : params.get("id") + "] " + "\n" + + "Password:[" + params.get("pw") == null ? "null" : params.get("pw") + "] " + "\n" + + "IP:" + ipAdd); } } else { System.out.println("mainService.getMemberInfo - 후: null - IP:" + ipAdd); @@ -201,12 +204,13 @@ public class MainController { if(ip.equals(ipAdd)) { isAuth = true; System.out.println("관리자 접속을 허용합니다:" + ipAdd); + break; } } - if(isAuth) { + if(isAuth) { loginSuccess = true; UserInfo.setSession(request, id.trim(), getMemberInfo.get("userName").toString(), "", "admin"); - + if (!encryptChange) { params.put("pw", admin_passwd); mainService.updateEncrypt(params); @@ -215,7 +219,7 @@ public class MainController { } } } - + System.out.println("관리자 isAuth:" + isAuth); System.out.println("관리자 loginSuccess:" + loginSuccess); diff --git a/src/main/java/geoinfo/admins/user/GeneralUserMngController.java b/src/main/java/geoinfo/admins/user/GeneralUserMngController.java index f8fab44..1f6a7d0 100644 --- a/src/main/java/geoinfo/admins/user/GeneralUserMngController.java +++ b/src/main/java/geoinfo/admins/user/GeneralUserMngController.java @@ -71,8 +71,8 @@ public class GeneralUserMngController { @Resource(name = "homeTrainingService") private HomeTrainingService homeTrainingService; - - + + private static final Logger LOGGER = Logger.getLogger(RefrncRoomController.class.getName()); // 운영서버 경로 @@ -628,7 +628,7 @@ public class GeneralUserMngController { model.addAttribute("jsonView", jsonMap); // JSON으로 리턴하기 위해서는 모델키를 'jsonView'로 지정해야함 return model; } - + /** * 집합교육 화면 * @param params @@ -648,7 +648,7 @@ public class GeneralUserMngController { model.addAttribute("params", params); return "admins/user/home-training-index"; } - + /** * 집합교육 추가 * @param request @@ -662,17 +662,17 @@ public class GeneralUserMngController { HttpServletRequest request, @RequestBody String strJSON, HttpServletResponse response) { - - + + JSONObject jsonResponse = new JSONObject(); - + System.out.println( "\n--------------------------------------------------------------\n" + request.getRequestURI() + " IN:" + "\n--------------------------------------------------------------\n" + "strJSON" + strJSON + "\n" + "\n--------------------------------------------------------------\n" - ); + ); JSONParser jsonParser = new JSONParser(); JSONArray jsonArr = null; boolean isFail = false; @@ -681,7 +681,7 @@ public class GeneralUserMngController { jsonArr = (JSONArray)jsonParser.parse(strJSON); for (Object obj : jsonArr) { JSONObject jsonObject = (JSONObject) obj; - + // JSONObject를 HashMap으로 변환 HashMap params = new HashMap<>(); for (Object key : jsonObject.keySet()) { @@ -695,7 +695,7 @@ public class GeneralUserMngController { String lpszRetMsg = MyUtil.getStringFromObject(hashMap.get("p_err_msg")); long lWvtRegId = MyUtil.getLongFromObject(hashMap.get("p_wvt_reg_id")); - + if( nRetCode == 100 ) { jsonResponse.put("resultCode", nRetCode); jsonResponse.put("result", "true"); @@ -706,15 +706,15 @@ public class GeneralUserMngController { "사업명: " + params.get("constName"); } jsonResponse.put("resultCode", nRetCode); - jsonResponse.put("result", "false"); + jsonResponse.put("result", "false"); jsonResponse.put("message", lpszRetMsg); - - isFail = true; + + isFail = true; failMsg = lpszRetMsg; break; } - - } catch (Exception e) { + + } catch (Exception e) { // TODO Auto-generated catch block String strTxt = "---------- BUG REPORTING START ----------" + "\n" + @@ -730,18 +730,18 @@ public class GeneralUserMngController { jsonResponse.put("message", e.getMessage()); } } - + } catch (org.json.simple.parser.ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } - + if( isFail ) { jsonResponse.put("resultCode", -2); jsonResponse.put("result", "false"); - jsonResponse.put("message", failMsg); + jsonResponse.put("message", failMsg); } - + System.out.println("\n--------------------------------------------------------------\n" + request.getRequestURI() + " OUT:" + "\n--------------------------------------------------------------\n" + @@ -750,17 +750,117 @@ public class GeneralUserMngController { return jsonResponse; } - + + /** + * 집합교육 수정 + * @param request + * @param strJSON + * @param response + * @return + */ + @RequestMapping(value = "admins/user/home-training-index/update.do", method = RequestMethod.POST) + @ResponseBody + public JSONObject updateHomeTraining( + HttpServletRequest request, + @RequestBody String strJSON, + HttpServletResponse response) { + + + JSONObject jsonResponse = new JSONObject(); + + System.out.println( + "\n--------------------------------------------------------------\n" + + request.getRequestURI() + " IN:" + + "\n--------------------------------------------------------------\n" + + "strJSON" + strJSON + "\n" + + "\n--------------------------------------------------------------\n" + ); + JSONParser jsonParser = new JSONParser(); + JSONArray jsonArr = null; + boolean isFail = false; + String failMsg = ""; + try { + jsonArr = (JSONArray)jsonParser.parse(strJSON); + for (Object obj : jsonArr) { + JSONObject jsonObject = (JSONObject) obj; + + // JSONObject를 HashMap으로 변환 + HashMap params = new HashMap<>(); + for (Object key : jsonObject.keySet()) { + String keyStr = (String) key; + Object value = jsonObject.get(keyStr); + params.put(keyStr, value); + } + try { + HashMap hashMap = homeTrainingService.updateHomeTraining(request, response, params); + int nRetCode = MyUtil.getIntegerFromObject(hashMap.get("p_result_code")); + String lpszRetMsg = MyUtil.getStringFromObject(hashMap.get("p_err_msg")); + + if( nRetCode == 100 ) { + jsonResponse.put("resultCode", nRetCode); + jsonResponse.put("result", "true"); + jsonResponse.put("message", "수정이 완료되었습니다."); + } else { + if( nRetCode == 11 ) { + lpszRetMsg += "\n" + + "사업명: " + params.get("constName"); + } + jsonResponse.put("resultCode", nRetCode); + jsonResponse.put("result", "false"); + jsonResponse.put("message", lpszRetMsg); + + isFail = true; + failMsg = lpszRetMsg; + break; + } + + } catch (Exception e) { + // TODO Auto-generated catch block + String strTxt = + "---------- BUG REPORTING START ----------" + "\n" + + "에러 문구:[" + request.getRequestURI() + " " + "]" + "\n" + + "strJSON:[\n" + strJSON + "\n]\n" + + "e.getMessage():[\n" + e.getMessage() + "\n]\n" + "\n" + + "new Date().toString():[" + new Date().toString() + "]\n" + "\n" + + "---------- BUG REPORTING END ----------" + "\n" + + ""; + System.out.println(strTxt); + jsonResponse.put("resultCode", -1); + jsonResponse.put("result", "false"); + jsonResponse.put("message", e.getMessage()); + } + } + + } catch (org.json.simple.parser.ParseException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + if( isFail ) { + jsonResponse.put("resultCode", -2); + jsonResponse.put("result", "false"); + jsonResponse.put("message", failMsg); + } + + System.out.println("\n--------------------------------------------------------------\n" + + request.getRequestURI() + " OUT:" + + "\n--------------------------------------------------------------\n" + + "jsonResponse.toJSONString():[" + jsonResponse.toJSONString() + "]\n" + + "\n--------------------------------------------------------------\n"); + + return jsonResponse; + } + @RequestMapping(value = "admins/user/home-training-index/list.do", method = RequestMethod.GET) @ResponseBody public JSONObject getHomeTraining( HttpServletRequest request, @RequestParam HashMap params, HttpServletResponse response) { - - + + JSONObject jsonResponse = new JSONObject(); - + System.out.println( "\n--------------------------------------------------------------\n" + request.getRequestURI() + " IN:" + @@ -768,15 +868,15 @@ public class GeneralUserMngController { "params.toString()" + params.toString() + "\n" + "\n--------------------------------------------------------------\n" ); - - + + try { homeTrainingService.getHomeTraining(request, response, jsonResponse, params); jsonResponse.put("resultCode", 100); jsonResponse.put("result", "true"); jsonResponse.put("message", "조회가 완료되었습니다."); - - } catch (Exception e) { + + } catch (Exception e) { // TODO Auto-generated catch block String strTxt = "---------- BUG REPORTING START ----------" + "\n" + @@ -786,19 +886,19 @@ public class GeneralUserMngController { "---------- BUG REPORTING END ----------" + "\n" + ""; System.out.println(strTxt); - + String eMsg = e.getMessage(); if( eMsg != null ) { if( eMsg.equals("로그인이 필요한 서비스입니다.") ) { jsonResponse.put("resultCode", 401); } } - + jsonResponse.put("resultCode", -1); jsonResponse.put("result", "false"); jsonResponse.put("message", e.getMessage()); } - + System.out.println( "\n--------------------------------------------------------------\n" + request.getRequestURI() + " OUT:" + @@ -809,7 +909,7 @@ public class GeneralUserMngController { return jsonResponse; } - + /** * 특정 집합교육에 참여한 사용자 목록을 조회한다. * @param request @@ -823,10 +923,10 @@ public class GeneralUserMngController { HttpServletRequest request, @RequestParam HashMap params, HttpServletResponse response) { - - + + JSONObject jsonResponse = new JSONObject(); - + System.out.println( "\n--------------------------------------------------------------\n" + request.getRequestURI() + " IN:" + @@ -834,15 +934,15 @@ public class GeneralUserMngController { "params.toString()" + params.toString() + "\n" + "\n--------------------------------------------------------------\n" ); - - + + try { homeTrainingService.getHomeTrainingItemList(request, response, jsonResponse, params); jsonResponse.put("resultCode", 100); jsonResponse.put("result", "true"); jsonResponse.put("message", "조회가 완료되었습니다."); - - } catch (Exception e) { + + } catch (Exception e) { // TODO Auto-generated catch block String strTxt = "---------- BUG REPORTING START ----------" + "\n" + @@ -856,7 +956,7 @@ public class GeneralUserMngController { jsonResponse.put("result", "false"); jsonResponse.put("message", e.getMessage()); } - + System.out.println( "\n--------------------------------------------------------------\n" + request.getRequestURI() + " OUT:" + @@ -867,18 +967,18 @@ public class GeneralUserMngController { return jsonResponse; } - - + + @RequestMapping(value = "admins/user/home-training-index/item/delete.do", method = RequestMethod.POST) @ResponseBody public JSONObject deleteHomeTrainingItem( HttpServletRequest request, @RequestBody String strJSON, HttpServletResponse response) { - - + + JSONObject jsonResponse = new JSONObject(); - + System.out.println( "\n--------------------------------------------------------------\n" + request.getRequestURI() + " IN:" + @@ -886,7 +986,7 @@ public class GeneralUserMngController { "strJSON" + strJSON + "\n" + "\n--------------------------------------------------------------\n" ); - + JSONParser jsonParser = new JSONParser(); JSONArray jsonArr = null; boolean isFail = false; @@ -895,7 +995,7 @@ public class GeneralUserMngController { jsonArr = (JSONArray)jsonParser.parse(strJSON); for (Object obj : jsonArr) { JSONObject jsonObject = (JSONObject) obj; - + // JSONObject를 HashMap으로 변환 HashMap params = new HashMap<>(); for (Object key : jsonObject.keySet()) { @@ -907,8 +1007,8 @@ public class GeneralUserMngController { HashMap hashMap = homeTrainingService.deleteHomeTrainingItem(request, response, params); int nRetCode = MyUtil.getIntegerFromObject(hashMap.get("p_result_code")); String lpszRetMsg = MyUtil.getStringFromObject(hashMap.get("p_err_msg")); - - + + if( nRetCode == 100 ) { jsonResponse.put("resultCode", nRetCode); jsonResponse.put("result", "true"); @@ -919,15 +1019,15 @@ public class GeneralUserMngController { "사업명: " + params.get("constName"); } jsonResponse.put("resultCode", nRetCode); - jsonResponse.put("result", "false"); + jsonResponse.put("result", "false"); jsonResponse.put("message", lpszRetMsg); - - isFail = true; + + isFail = true; failMsg = lpszRetMsg; break; } - - } catch (Exception e) { + + } catch (Exception e) { // TODO Auto-generated catch block String strTxt = "---------- BUG REPORTING START ----------" + "\n" + @@ -943,18 +1043,18 @@ public class GeneralUserMngController { jsonResponse.put("message", e.getMessage()); } } - + } catch (org.json.simple.parser.ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } - + if( isFail ) { jsonResponse.put("resultCode", -2); jsonResponse.put("result", "false"); - jsonResponse.put("message", failMsg); + jsonResponse.put("message", failMsg); } - + System.out.println("\n--------------------------------------------------------------\n" + request.getRequestURI() + " OUT:" + "\n--------------------------------------------------------------\n" + @@ -963,7 +1063,7 @@ public class GeneralUserMngController { return jsonResponse; } - + /** * 집합교육 승인 화면 * @param params @@ -983,7 +1083,7 @@ public class GeneralUserMngController { model.addAttribute("params", params); return "admins/user/home-training-approval-system"; } - + /** * 방문교육 달력 화면 * @param params @@ -1003,7 +1103,7 @@ public class GeneralUserMngController { model.addAttribute("params", params); return "admins/user/visit-training-index"; } - + /** * 방문교육 승인 화면 * @param params diff --git a/src/main/java/geoinfo/admins/user/service/HomeTrainingMapper.java b/src/main/java/geoinfo/admins/user/service/HomeTrainingMapper.java index 7f4a6b0..e4a3f3a 100644 --- a/src/main/java/geoinfo/admins/user/service/HomeTrainingMapper.java +++ b/src/main/java/geoinfo/admins/user/service/HomeTrainingMapper.java @@ -8,12 +8,13 @@ import egovframework.rte.psl.dataaccess.mapper.Mapper; import egovframework.rte.psl.dataaccess.util.EgovMap; @Mapper("homeTrainingMapper") -public interface HomeTrainingMapper { +public interface HomeTrainingMapper { public HashMap callSpAddHomeTrainingReg(HashMap params) throws SQLException; + public HashMap callSpUdtHomeTrainingReg(HashMap params) throws SQLException; public List callSpGetHomeTrainingReg(HashMap params) throws SQLException; public long callSpCntHomeTrainingReg(HashMap params) throws SQLException; public List callSpGetHomeTrainingReq(HashMap params) throws SQLException; public long callSpCntHomeTrainingReq(HashMap params) throws SQLException; public void callSpDelHomeTrainingReg(HashMap params) throws SQLException; - + } \ No newline at end of file diff --git a/src/main/java/geoinfo/admins/user/service/HomeTrainingService.java b/src/main/java/geoinfo/admins/user/service/HomeTrainingService.java index f2b96c5..81c843b 100644 --- a/src/main/java/geoinfo/admins/user/service/HomeTrainingService.java +++ b/src/main/java/geoinfo/admins/user/service/HomeTrainingService.java @@ -9,9 +9,10 @@ import org.json.simple.JSONObject; public interface HomeTrainingService { HashMap addHomeTraining(HttpServletRequest request, HttpServletResponse response, HashMap params) throws Exception; + HashMap updateHomeTraining(HttpServletRequest request, HttpServletResponse response, HashMap params) throws Exception; void getHomeTraining(HttpServletRequest request, HttpServletResponse response, JSONObject jsonResponse, HashMap params) throws Exception; void getHomeTrainingItemList(HttpServletRequest request, HttpServletResponse response, JSONObject jsonResponse, HashMap params) throws Exception; HashMap deleteHomeTrainingItem(HttpServletRequest request, HttpServletResponse response, HashMap params) throws Exception; - - + + } diff --git a/src/main/java/geoinfo/admins/user/service/impl/HomeTrainingServiceImpl.java b/src/main/java/geoinfo/admins/user/service/impl/HomeTrainingServiceImpl.java index ca8f65a..4a94633 100644 --- a/src/main/java/geoinfo/admins/user/service/impl/HomeTrainingServiceImpl.java +++ b/src/main/java/geoinfo/admins/user/service/impl/HomeTrainingServiceImpl.java @@ -28,15 +28,15 @@ import oracle.sql.TIMESTAMP; public class HomeTrainingServiceImpl implements HomeTrainingService { @Resource(name="homeTrainingMapper") - private HomeTrainingMapper homeTrainingMapper; + private HomeTrainingMapper homeTrainingMapper; @Override public HashMap addHomeTraining(HttpServletRequest request, HttpServletResponse response, HashMap params) throws Exception { - + if (!UserInfo.isValidSession(request, response, "admin")) { throw new Exception("로그인이 필요한 서비스입니다."); } - + System.out.println( "thkim test 5"); params.put("trainingAdmin", "류지송"); params.put("trainingTel", "031-995-0934"); @@ -48,26 +48,57 @@ public class HomeTrainingServiceImpl implements HomeTrainingService { LocalDateTime dateTime = LocalDateTime.parse(str, formatter); Timestamp timestamp = Timestamp.valueOf(dateTime); params.put("trainingDatetime", timestamp); - + try { homeTrainingMapper.callSpAddHomeTrainingReg(params); return params; } catch (SQLException e) { throw new Exception( e.getMessage() ); } - + } - - + @Override - public void getHomeTraining(HttpServletRequest request, HttpServletResponse response, JSONObject jsonResponse, HashMap params) throws Exception { - + public HashMap updateHomeTraining(HttpServletRequest request, HttpServletResponse response, HashMap params) throws Exception { + if (!UserInfo.isValidSession(request, response, "admin")) { throw new Exception("로그인이 필요한 서비스입니다."); } - + + params.put("trainingAdmin", "류지송"); + params.put("trainingTel", "031-995-0934"); String userId = (String)request.getSession().getAttribute("admin.userID"); - + params.put("userId", userId); + String str = MyUtil.getStringFromObject( params.get("trainingDatetime") ); + // DateTimeFormatter를 사용하여 문자열을 LocalDateTime으로 파싱합니다. + DateTimeFormatter formatter = DateTimeFormatter.ISO_LOCAL_DATE_TIME; + LocalDateTime dateTime = LocalDateTime.parse(str, formatter); + Timestamp timestamp = Timestamp.valueOf(dateTime); + params.put("trainingDatetime", timestamp); + + + params.put("wvtRegId", MyUtil.getLongFromObject( params.get("wvtRegId")) ); + + + try { + homeTrainingMapper.callSpUdtHomeTrainingReg(params); + return params; + } catch (SQLException e) { + throw new Exception( e.getMessage() ); + } + + } + + + @Override + public void getHomeTraining(HttpServletRequest request, HttpServletResponse response, JSONObject jsonResponse, HashMap params) throws Exception { + + if (!UserInfo.isValidSession(request, response, "admin")) { + throw new Exception("로그인이 필요한 서비스입니다."); + } + + String userId = (String)request.getSession().getAttribute("admin.userID"); + Enumeration enumeration = request.getSession().getAttributeNames(); // Enumeration을 사용하여 루프 돌기 @@ -75,7 +106,7 @@ public class HomeTrainingServiceImpl implements HomeTrainingService { String attributeName = enumeration.nextElement(); System.out.println(attributeName); } - + if ( userId == null ) { throw new Exception("로그인이 필요한 서비스입니다."); } @@ -88,10 +119,10 @@ public class HomeTrainingServiceImpl implements HomeTrainingService { params.put("stateCode", null); // 상태 코드 params.put("ncount", 100); // 페이지당 한번에 가져올 개수 params.put("npage", 0); // 페이지 번호 - + try { List list = homeTrainingMapper.callSpGetHomeTrainingReg(params); - + List dto = new ArrayList(); for( EgovMap item : list ) { if( item.get("crtDt") != null ) { @@ -102,10 +133,10 @@ public class HomeTrainingServiceImpl implements HomeTrainingService { TIMESTAMP oracleTimestampModDt = (TIMESTAMP) item.get("modDt"); item.put("modDt", new Timestamp(oracleTimestampModDt.timestampValue().getTime())); } - + dto.add(item); } - + jsonResponse.put("data", dto); long count = homeTrainingMapper.callSpCntHomeTrainingReg(params); jsonResponse.put("count", count); @@ -113,31 +144,31 @@ public class HomeTrainingServiceImpl implements HomeTrainingService { } catch (SQLException e) { throw new Exception( e.getMessage() ); } - + } - - + + @Override public void getHomeTrainingItemList(HttpServletRequest request, HttpServletResponse response, JSONObject jsonResponse, HashMap params) throws Exception { - + if (!UserInfo.isValidSession(request, response, "admin")) { throw new Exception("로그인이 필요한 서비스입니다."); } - + String userId = (String)request.getSession().getAttribute("admin.userID"); params.put("userId", userId); - + params.put("wvtId", null); params.put("companyName", null); params.put("reqName", null); - params.put("reqTel", null); + params.put("reqTel", null); params.put("stateCode", null); // 상태 코드 params.put("ncount", 100); // 페이지당 한번에 가져올 개수 params.put("npage", 0); // 페이지 번호 try { List list = homeTrainingMapper.callSpGetHomeTrainingReq(params); - + List dto = new ArrayList(); for( EgovMap item : list ) { @@ -152,7 +183,7 @@ public class HomeTrainingServiceImpl implements HomeTrainingService { dto.add(item); } - + jsonResponse.put("data", dto); long count = homeTrainingMapper.callSpCntHomeTrainingReq(params); jsonResponse.put("count", count); @@ -160,28 +191,28 @@ public class HomeTrainingServiceImpl implements HomeTrainingService { } catch (SQLException e) { throw new Exception( e.getMessage() ); } - + } @Override public HashMap deleteHomeTrainingItem(HttpServletRequest request, HttpServletResponse response, HashMap params) throws Exception { - + if (!UserInfo.isValidSession(request, response, "admin")) { throw new Exception("로그인이 필요한 서비스입니다."); } - + String userId = (String)request.getSession().getAttribute("admin.userID"); params.put("userId", userId); - + try { homeTrainingMapper.callSpDelHomeTrainingReg(params); return params; } catch (SQLException e) { throw new Exception( e.getMessage() ); } - + } } diff --git a/src/main/resources/geoinfo/sqlmap/mappers/admins/user/HomeTrainingMapper.xml b/src/main/resources/geoinfo/sqlmap/mappers/admins/user/HomeTrainingMapper.xml index 44aa3c6..5c04e78 100644 --- a/src/main/resources/geoinfo/sqlmap/mappers/admins/user/HomeTrainingMapper.xml +++ b/src/main/resources/geoinfo/sqlmap/mappers/admins/user/HomeTrainingMapper.xml @@ -3,12 +3,12 @@ - + - + - - @@ -502,13 +702,13 @@
- - + +

교육 대상자 명단

⁕ 신청 집합교육명 : - + @@ -534,7 +734,38 @@
-
+ +
+ +
diff --git a/src/main/webapp/css/admins/sass/style.scss b/src/main/webapp/css/admins/sass/style.scss index 40ac95f..ebb373c 100644 --- a/src/main/webapp/css/admins/sass/style.scss +++ b/src/main/webapp/css/admins/sass/style.scss @@ -599,4 +599,85 @@ a:hover {font-family: "굴림체"; font-size: 9pt; color: #FF8000; text-decora .statusConfirmed { color: #2e5aac; } -} \ No newline at end of file +} + +.my-modal { + display: none; + position: fixed; + z-index: 1; + left: 0; + top: 0; + width: 100%; + height: 100%; + overflow: auto; + background-color: rgba(0,0,0,0.4); + + .modal-content { + background-color: #fefefe; + margin: 15% auto; + padding: 20px; + border: 1px solid #888; + width: 40%; + position: relative; + .my-modal-close { + color: #aaa; + position: absolute; + right: 15px; + top: 0px; + font-size: 48px; + font-weight: bold; + &:hover, + &:focus { + color: black; + text-decoration: none; + cursor: pointer; + } + } + + .my-modal-modify-home-training-header { + text-align: center; + font-size: 28px; + margin-bottom: 18px; + font-weight: 500; + color: #333333; + } + + .my-modal-modify-home-training-body { + .input-item { + margin-bottom: 8px; + label { + display: inline-block; + width: 105px; + text-align: right; + font-size: 16px; + &::after { + content: ':'; + } + } + input { + display: inline-block; + width: 320px; + font-size: 14px; + padding: 5px 10px; + &.modify-reg-start-end-date { + width: 149px; + } + } + .my-modal-modify-button { + } + } + } + + .my-modal-modify-home-training-footer { + text-align: center; + margin-top: 20px; + .my-modal-modify-button { + width: auto; + padding: 5px 10px; + cursor: pointer; + } + } + } + + +} \ No newline at end of file diff --git a/src/main/webapp/css/admins/style.css b/src/main/webapp/css/admins/style.css index 3be7f8f..014b4b0 100644 --- a/src/main/webapp/css/admins/style.css +++ b/src/main/webapp/css/admins/style.css @@ -779,4 +779,74 @@ a:hover { color: #2e5aac; } +.my-modal { + display: none; + position: fixed; + z-index: 1; + left: 0; + top: 0; + width: 100%; + height: 100%; + overflow: auto; + background-color: rgba(0, 0, 0, 0.4); +} +.my-modal .modal-content { + background-color: #fefefe; + margin: 15% auto; + padding: 20px; + border: 1px solid #888; + width: 40%; + position: relative; +} +.my-modal .modal-content .my-modal-close { + color: #aaa; + position: absolute; + right: 15px; + top: 0px; + font-size: 48px; + font-weight: bold; +} +.my-modal .modal-content .my-modal-close:hover, .my-modal .modal-content .my-modal-close:focus { + color: black; + text-decoration: none; + cursor: pointer; +} +.my-modal .modal-content .my-modal-modify-home-training-header { + text-align: center; + font-size: 28px; + margin-bottom: 18px; + font-weight: 500; + color: #333333; +} +.my-modal .modal-content .my-modal-modify-home-training-body .input-item { + margin-bottom: 8px; +} +.my-modal .modal-content .my-modal-modify-home-training-body .input-item label { + display: inline-block; + width: 105px; + text-align: right; + font-size: 16px; +} +.my-modal .modal-content .my-modal-modify-home-training-body .input-item label::after { + content: ":"; +} +.my-modal .modal-content .my-modal-modify-home-training-body .input-item input { + display: inline-block; + width: 320px; + font-size: 14px; + padding: 5px 10px; +} +.my-modal .modal-content .my-modal-modify-home-training-body .input-item input.modify-reg-start-end-date { + width: 149px; +} +.my-modal .modal-content .my-modal-modify-home-training-footer { + text-align: center; + margin-top: 20px; +} +.my-modal .modal-content .my-modal-modify-home-training-footer .my-modal-modify-button { + width: auto; + padding: 5px 10px; + cursor: pointer; +} + /*# sourceMappingURL=style.css.map */ diff --git a/src/main/webapp/css/admins/style.css.map b/src/main/webapp/css/admins/style.css.map index 53162a0..0c664a8 100644 --- a/src/main/webapp/css/admins/style.css.map +++ b/src/main/webapp/css/admins/style.css.map @@ -1 +1 @@ -{"version":3,"sourceRoot":"","sources":["sass/style.scss"],"names":[],"mappings":";AAAA;AACA;EAAM;;;AACN;EAEC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;AACA;EAAY;EAAoB;EAAiB;EAAgB;EAAkB;;;AACnF;EAAc;EAAoB;EAAiB;EAAgB;EAAuB;;;AAC1F;EAAgB;EAAoB;EAAiB;EAAgB;EAAuB;;;AAC5F;EAAc;EAAoB;EAAiB;EAAgB;EAA4B;;;AAE/F;AACA;EAAe;EAAe;EAAkB;EAAkB;EAAkB;;;AACpF;EAAe;EAAe;EAAkB;EAAkB;EAAkB;;;AACpF;EAAkB;EAAe;EAAkB;EAAkB;EAAkB;;;AACvF;EAAiB;EAAe;EAAkB;EAAkB;;;AAEpE;AACA;EAAY;EAAe;;;AAC3B;EAAY;EAAe;;;AAC3B;EAAe;EAAe;EAAkB;;;AAEhD;AACA;EAAY;;;AACZ;EAAU;;;AACV;EAAY;EAA0B;EAAsB;EAAkB;EAAoB;;;AAClG;EAAW;EAAe;EAA0B;EAAkB;;;AACtE;EAAW;EAAe;;;AAC1B;EAAW;EAAe;EAAyB;EAAqB;EAAoB;EAA2B;EAAc;;;AACrI;EAAW;EAAe;EAAyB;EAAoB;;;AACvE;EAAe;EAA0B;EAAsB;EAAkB;EAAoB;;;AAErG;AACA;EAAU;EAAoB;EAAgB;EAAgB;EAAuB;;;AACrF;EAAY;EAAoB;EAAgB;EAAgB;EAAuB;;;AACvF;EAAW;EAAoB;EAAgB;EAAgB;EAA4B;;;AAE3F;AACA;EAAY;EAAe;EAAkB;EAAe;;;AAC5D;EAAW;EAAe;EAAkB;;;AAG5C;AACA;EAAc;EAAe;EAAkB;EAAkB;EAAkB;;;AACnF;EAAgB;EAAe;EAAkB;EAAkB;EAAe;EAAkB;;;AACpG;EAAiB;EAAe;EAAkB;EAAkB;EAAe;;;AACnF;EAAe;EAAe;EAAkB;EAAkB;EAAe;EAAkB;;;AACnG;EAAkB;EAAe;EAAkB;EAAkB;;;AAErE;AACA;EAAa;EAAa;EAAiC;EAAwE;EAAwB;EAAiB;EAAkB;EAAkB;EAAkB;;;AAClO;EAAY;EAAa;EAAuB;EAAmB;EAAY;;;AAE/E;AACA;EAAa;;;AACb;EAAgB;EAAyB;EAAqB;;;AAE9D;AACA;EACI;EACH;EACG;EACA;EACA;;;AAEJ;EACI;EACA;;;AAEJ;EACI;EACA;;;AAEJ;EACI;EACA;;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACC;EACA;EACA;EACA;EACA;;;AAEL;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;;AACA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;;AAEJ;EACI;;AACA;EACI;;AAEJ;EACI;EACA;EACA;EACA;EACA;;AACA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACI;;;AAOpB;EACI;;;AAEJ;EACI;EACA;;;AAGJ;EACI;EACA;EACA;AAwEA;;AAvEA;AAAA;EAEI;;AAEJ;EACI;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;;AAGQ;EACI;;AACA;EACI;;AAOhB;EACI;;AAIY;EACI;EACA;EACA;EACA;EACA;EACA;;AACA;EACI;EACA;;AAQ5B;EACI;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAEJ;EACI;;AAIJ;EACI;;AAEJ;EACI;EACA;;AAEJ;EACI;EACA;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;;AAEJ;EACI;;AAGJ;EACI;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;;AACA;EACI;;;AAMZ;AACI;AAmBA;AA8IA;AAsCA;;AAtMA;EACI;EACA;EACA;;AAEJ;EACI;EACA;EACA;;AAEJ;EACI;;AAEJ;EACI;EACA;;AAIJ;EACI;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;;AAEJ;EACK;EACA;EACA;EACA;EACA;;AAEL;EACI;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;;AAEJ;EACI;;AACA;EACI;EACA;EACA;EACA;;AAEJ;EACG;EACA;EACA;;AAEH;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEJ;EACI;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEJ;EACG;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEH;EACI;EACA;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEJ;EACI;;AAEJ;EACI;;AAEJ;EACI;EACA;EACA;EACA;;AAKR;EACI;EACA;EACA;;AAEJ;EACI;EACC;EACA;EACA;EACA;;AAEL;EACI;;AAEJ;EACI;;AAEJ;EACI;;AAEJ;EACI;;AAEJ;EACI;EACC;;AAGL;EACI;EACC;EACA;EACA;EACA;;AAKL;EACI;EACA;EACA;EACA;EACA;EACA;;AAEJ;EACK;EACD;EACA;EACA;EACA;EACA;;;AAMJ;AAAA;EAEI;;AAEJ;EACI;EACA;EACA;;AAEJ;EACI;;AAEJ;EACG;EACC;;AAIJ;EACI;EACA;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;;AAEJ;EACG","file":"style.css"} \ No newline at end of file +{"version":3,"sourceRoot":"","sources":["sass/style.scss"],"names":[],"mappings":";AAAA;AACA;EAAM;;;AACN;EAEC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;AACA;EAAY;EAAoB;EAAiB;EAAgB;EAAkB;;;AACnF;EAAc;EAAoB;EAAiB;EAAgB;EAAuB;;;AAC1F;EAAgB;EAAoB;EAAiB;EAAgB;EAAuB;;;AAC5F;EAAc;EAAoB;EAAiB;EAAgB;EAA4B;;;AAE/F;AACA;EAAe;EAAe;EAAkB;EAAkB;EAAkB;;;AACpF;EAAe;EAAe;EAAkB;EAAkB;EAAkB;;;AACpF;EAAkB;EAAe;EAAkB;EAAkB;EAAkB;;;AACvF;EAAiB;EAAe;EAAkB;EAAkB;;;AAEpE;AACA;EAAY;EAAe;;;AAC3B;EAAY;EAAe;;;AAC3B;EAAe;EAAe;EAAkB;;;AAEhD;AACA;EAAY;;;AACZ;EAAU;;;AACV;EAAY;EAA0B;EAAsB;EAAkB;EAAoB;;;AAClG;EAAW;EAAe;EAA0B;EAAkB;;;AACtE;EAAW;EAAe;;;AAC1B;EAAW;EAAe;EAAyB;EAAqB;EAAoB;EAA2B;EAAc;;;AACrI;EAAW;EAAe;EAAyB;EAAoB;;;AACvE;EAAe;EAA0B;EAAsB;EAAkB;EAAoB;;;AAErG;AACA;EAAU;EAAoB;EAAgB;EAAgB;EAAuB;;;AACrF;EAAY;EAAoB;EAAgB;EAAgB;EAAuB;;;AACvF;EAAW;EAAoB;EAAgB;EAAgB;EAA4B;;;AAE3F;AACA;EAAY;EAAe;EAAkB;EAAe;;;AAC5D;EAAW;EAAe;EAAkB;;;AAG5C;AACA;EAAc;EAAe;EAAkB;EAAkB;EAAkB;;;AACnF;EAAgB;EAAe;EAAkB;EAAkB;EAAe;EAAkB;;;AACpG;EAAiB;EAAe;EAAkB;EAAkB;EAAe;;;AACnF;EAAe;EAAe;EAAkB;EAAkB;EAAe;EAAkB;;;AACnG;EAAkB;EAAe;EAAkB;EAAkB;;;AAErE;AACA;EAAa;EAAa;EAAiC;EAAwE;EAAwB;EAAiB;EAAkB;EAAkB;EAAkB;;;AAClO;EAAY;EAAa;EAAuB;EAAmB;EAAY;;;AAE/E;AACA;EAAa;;;AACb;EAAgB;EAAyB;EAAqB;;;AAE9D;AACA;EACI;EACH;EACG;EACA;EACA;;;AAEJ;EACI;EACA;;;AAEJ;EACI;EACA;;;AAEJ;EACI;EACA;;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACC;EACA;EACA;EACA;EACA;;;AAEL;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;;AACA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;;AAEJ;EACI;;AACA;EACI;;AAEJ;EACI;EACA;EACA;EACA;EACA;;AACA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACI;;;AAOpB;EACI;;;AAEJ;EACI;EACA;;;AAGJ;EACI;EACA;EACA;AAwEA;;AAvEA;AAAA;EAEI;;AAEJ;EACI;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;;AAGQ;EACI;;AACA;EACI;;AAOhB;EACI;;AAIY;EACI;EACA;EACA;EACA;EACA;EACA;;AACA;EACI;EACA;;AAQ5B;EACI;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAEJ;EACI;;AAIJ;EACI;;AAEJ;EACI;EACA;;AAEJ;EACI;EACA;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;;AAEJ;EACI;;AAGJ;EACI;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;;AACA;EACI;;;AAMZ;AACI;AAmBA;AA8IA;AAsCA;;AAtMA;EACI;EACA;EACA;;AAEJ;EACI;EACA;EACA;;AAEJ;EACI;;AAEJ;EACI;EACA;;AAIJ;EACI;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;;AAEJ;EACK;EACA;EACA;EACA;EACA;;AAEL;EACI;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;;AAEJ;EACI;;AACA;EACI;EACA;EACA;EACA;;AAEJ;EACG;EACA;EACA;;AAEH;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEJ;EACI;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEJ;EACG;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEH;EACI;EACA;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEJ;EACI;;AAEJ;EACI;;AAEJ;EACI;EACA;EACA;EACA;;AAKR;EACI;EACA;EACA;;AAEJ;EACI;EACC;EACA;EACA;EACA;;AAEL;EACI;;AAEJ;EACI;;AAEJ;EACI;;AAEJ;EACI;;AAEJ;EACI;EACC;;AAGL;EACI;EACC;EACA;EACA;EACA;;AAKL;EACI;EACA;EACA;EACA;EACA;EACA;;AAEJ;EACK;EACD;EACA;EACA;EACA;EACA;;;AAMJ;AAAA;EAEI;;AAEJ;EACI;EACA;EACA;;AAEJ;EACI;;AAEJ;EACG;EACC;;AAIJ;EACI;EACA;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;;AAEJ;EACG;;;AAIP;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEC;EACD;EACA;EACA;EACA;EACA;EACA;;AACA;EACC;EACA;EACA;EACA;EACA;EACA;;AACA;EAEA;EACA;EACA;;AAID;EACC;EACA;EACA;EACA;EACA;;AAIA;EACC;;AACA;EACC;EACA;EACA;EACA;;AACA;EACC;;AAGF;EACC;EACA;EACA;EACA;;AACA;EACC;;AAQJ;EACC;EACA;;AACA;EACC;EACA;EACA","file":"style.css"} \ No newline at end of file