개발환경구축

master
강석 최 2022-02-15 16:38:58 +09:00
parent 334666fafd
commit 6bf77aeb0e
471 changed files with 48327 additions and 0 deletions

55
.classpath Normal file
View File

@ -0,0 +1,55 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" output="target/classes" path="src/main/java">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="src" output="target/test-classes" path="src/test/java">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
<attribute name="test" value="true"/>
</attributes>
</classpathentry>
<classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources">
<attributes>
<attribute name="maven.pomderived" value="true"/>
<attribute name="test" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="src" path="target/generated-sources/annotations">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
<attribute name="ignore_optional_problems" value="true"/>
<attribute name="m2e-apt" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="src" output="target/test-classes" path="target/generated-test-sources/test-annotations">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
<attribute name="ignore_optional_problems" value="true"/>
<attribute name="m2e-apt" value="true"/>
<attribute name="test" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="output" path="target/classes"/>
</classpath>

60
.project Normal file
View File

@ -0,0 +1,60 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>MCA</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.wst.common.project.facet.core.builder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.wst.validation.validationbuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.springframework.ide.eclipse.core.springbuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.springframework.ide.eclipse.boot.validation.springbootbuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.m2e.core.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
<nature>org.eclipse.m2e.core.maven2Nature</nature>
<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.springframework.ide.eclipse.core.springnature</nature>
<nature>egovframework.dev.imp.ide.natures.egovnature</nature>
<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
</natures>
<filteredResources>
<filter>
<id>1644803890467</id>
<name></name>
<type>30</type>
<matcher>
<id>org.eclipse.core.resources.regexFilterMatcher</id>
<arguments>node_modules|.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__</arguments>
</matcher>
</filter>
</filteredResources>
</projectDescription>

12
.settings/.jsdtscope Normal file
View File

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry excluding="**/bower_components/*|**/node_modules/*|**/*.min.js" kind="src" path="src/main/webapp"/>
<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.JRE_CONTAINER"/>
<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.WebProject">
<attributes>
<attribute name="hide" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.baseBrowserLibrary"/>
<classpathentry kind="output" path=""/>
</classpath>

View File

@ -0,0 +1,5 @@
eclipse.preferences.version=1
encoding//src/main/java=UTF-8
encoding//src/main/webapp/WEB-INF/jsp/include/header.jsp=UTF-8
encoding//src/main/webapp/WEB-INF/jsp/mapUseSetting.jsp=UTF-8
encoding//src/test/java=UTF-8

View File

@ -0,0 +1,12 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore
org.eclipse.jdt.core.compiler.processAnnotations=enabled
org.eclipse.jdt.core.compiler.release=disabled
org.eclipse.jdt.core.compiler.source=1.8

View File

@ -0,0 +1,4 @@
activeProfiles=
eclipse.preferences.version=1
resolveWorkspaceProjects=true
version=1

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0">
<wb-module deploy-name="MBCA-1.0.0">
<wb-resource deploy-path="/" source-path="/target/m2e-wtp/web-resources"/>
<wb-resource deploy-path="/" source-path="/src/main/webapp" tag="defaultRootSource"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
<property name="java-output-path" value="/MBCA/target/classes"/>
<property name="context-root" value="MBCA"/>
</wb-module>
</project-modules>

View File

@ -0,0 +1,12 @@
<root>
<facet id="jst.jsf">
<node name="libprov">
<attribute name="provider-id" value="jsf-no-op-library-provider"/>
</node>
</facet>
<facet id="jst.jaxrs">
<node name="libprov">
<attribute name="provider-id" value="jaxrs-no-op-library-provider"/>
</node>
</facet>
</root>

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
<fixed facet="wst.jsdt.web"/>
<installed facet="java" version="1.8"/>
<installed facet="jst.web" version="2.5"/>
<installed facet="jst.jsf" version="2.2"/>
<installed facet="jst.jaxrs" version="2.0"/>
<installed facet="wst.jsdt.web" version="1.0"/>
</faceted-project>

View File

@ -0,0 +1 @@
org.eclipse.wst.jsdt.launching.baseBrowserLibrary

View File

@ -0,0 +1 @@
Window

View File

@ -0,0 +1,2 @@
disabled=06target
eclipse.preferences.version=1

23
.springBeans Normal file
View File

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<beansProjectDescription>
<version>1</version>
<pluginVersion><![CDATA[3.9.12.202003180620-RELEASE]]></pluginVersion>
<configSuffixes>
<configSuffix><![CDATA[xml]]></configSuffix>
</configSuffixes>
<enableImports><![CDATA[false]]></enableImports>
<configs>
</configs>
<autoconfigs>
<config>src/main/resources/egovframework/spring/context-idgen.xml</config>
<config>src/main/resources/egovframework/spring/context-sqlMap.xml</config>
<config>src/main/resources/egovframework/spring/context-transaction.xml</config>
<config>src/main/resources/egovframework/spring/context-mapper.xml</config>
<config>src/main/resources/egovframework/spring/context-common.xml</config>
<config>src/main/resources/egovframework/spring/context-properties.xml</config>
<config>src/main/resources/egovframework/spring/context-datasource.xml</config>
<config>src/main/resources/egovframework/spring/context-validator.xml</config>
</autoconfigs>
<configSets>
</configSets>
</beansProjectDescription>

373
pom.xml Normal file
View File

@ -0,0 +1,373 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>MBCA</groupId>
<artifactId>MBCA</artifactId>
<packaging>war</packaging>
<version>1.0.0</version>
<name>sample</name>
<url>http://www.egovframe.go.kr</url>
<licenses>
<license>
<name>The Apache Software License, Version 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
</license>
</licenses>
<properties>
<spring.maven.artifact.version>4.3.22.RELEASE</spring.maven.artifact.version>
<egovframework.rte.version>3.9.0</egovframework.rte.version>
<spring.security.version>5.0.6.RELEASE</spring.security.version>
<org.apache.tiles.version>3.0.5</org.apache.tiles.version>
</properties>
<repositories>
<repository>
<id>mvn2s</id>
<url>https://repo1.maven.org/maven2/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
<repository>
<id>egovframe</id>
<url>http://maven.egovframe.kr:8080/maven/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>egovframe2</id>
<url>http://www.egovframe.go.kr/maven/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>egovframework.rte</groupId>
<artifactId>egovframework.rte.fdl.security</artifactId>
<version>${egovframework.rte.version}</version>
</dependency>
<!-- 표준프레임워크 실행환경 -->
<dependency>
<groupId>egovframework.rte</groupId>
<artifactId>egovframework.rte.ptl.mvc</artifactId>
<version>${egovframework.rte.version}</version>
<exclusions>
<exclusion>
<artifactId>commons-logging</artifactId>
<groupId>commons-logging</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>egovframework.rte</groupId>
<artifactId>egovframework.rte.psl.dataaccess</artifactId>
<version>${egovframework.rte.version}</version>
</dependency>
<dependency>
<groupId>egovframework.rte</groupId>
<artifactId>egovframework.rte.fdl.idgnr</artifactId>
<version>${egovframework.rte.version}</version>
</dependency>
<dependency>
<groupId>egovframework.rte</groupId>
<artifactId>egovframework.rte.fdl.property</artifactId>
<version>${egovframework.rte.version}</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<scope>provided</scope>
<version>2.5</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>1.1.2</version>
</dependency>
<dependency>
<groupId>org.antlr</groupId>
<artifactId>antlr</artifactId>
<version>3.5</version>
</dependency>
<dependency>
<groupId>org.hsqldb</groupId>
<artifactId>hsqldb</artifactId>
<version>2.3.2</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.11</version>
</dependency>
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.4</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.20</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.json/json -->
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20210307</version>
</dependency>
<dependency>
<groupId>net.sf.json-lib</groupId>
<artifactId>json-lib</artifactId>
<version>2.4</version>
<classifier>jdk15</classifier>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.13</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.9.9</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.9</version>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.5</version>
</dependency>
<!-- tiles -->
<dependency>
<groupId>org.apache.tiles</groupId>
<artifactId>tiles-extras</artifactId>
<version>${org.apache.tiles.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tiles</groupId>
<artifactId>tiles-jsp</artifactId>
<version>${org.apache.tiles.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tiles</groupId>
<artifactId>tiles-servlet</artifactId>
<version>${org.apache.tiles.version}</version>
</dependency>
<!-- /tiles -->
<!-- GPKI인증서 로그인처리 라이브러리 -->
<!-- mysql이나 oracle DB 사용시 아래 설정 추가 <dependency> <groupId>com.googlecode.log4jdbc</groupId>
<artifactId>log4jdbc</artifactId> <version>1.2</version> <exclusions> <exclusion>
<artifactId>slf4j-api</artifactId> <groupId>org.slf4j</groupId> </exclusion>
</exclusions> </dependency> <dependency> <groupId>ojdbc</groupId> <artifactId>ojdbc</artifactId>
<version>14</version> <scope>system</scope> <systemPath>${basedir}/src/main/webapp/WEB-INF/lib/ojdbc-14.jar</systemPath>
</dependency> -->
</dependencies>
<build>
<defaultGoal>install</defaultGoal>
<directory>${basedir}/target</directory>
<finalName>${artifactId}-${version}</finalName>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<port>80</port>
<path>/</path>
<systemProperties>
<JAVA_OPTS>-Xms256m -Xmx768m -XX:MaxPermSize=256m</JAVA_OPTS>
</systemProperties>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>hibernate3-maven-plugin</artifactId>
<version>2.1</version>
<configuration>
<components>
<component>
<name>hbm2ddl</name>
<implementation>annotationconfiguration</implementation>
</component>
</components>
</configuration>
<dependencies>
<dependency>
<groupId>org.hsqldb</groupId>
<artifactId>hsqldb</artifactId>
<version>2.3.2</version>
</dependency>
</dependencies>
</plugin>
<!-- EMMA -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>emma-maven-plugin</artifactId>
<version>1.0-alpha-3</version>
</plugin>
<!-- PMD manven plugin -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<version>3.1</version>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<!-- EMMA -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skipTests>true</skipTests>
<forkMode>once</forkMode>
<reportFormat>xml</reportFormat>
<excludes>
<exclude>**/Abstract*.java</exclude>
<exclude>**/*Suite.java</exclude>
</excludes>
<includes>
<include>**/*Test.java</include>
</includes>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>emma-maven-plugin</artifactId>
<inherited>true</inherited>
</plugin>
<!-- JavaDoc -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.9.1</version>
</plugin>
</plugins>
</build>
<reporting>
<outputDirectory>${basedir}/target/site</outputDirectory>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>2.7</version>
<reportSets>
<reportSet>
<id>sunlink</id>
<reports>
<report>javadoc</report>
</reports>
<inherited>true</inherited>
<configuration>
<links>
<link>http://docs.oracle.com/javase/6/docs/api/</link>
</links>
</configuration>
</reportSet>
</reportSets>
</plugin>
<!-- JUnit Test Results & EMMA Coverage Reporting -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>emma-maven-plugin</artifactId>
<inherited>true</inherited>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>surefire-report-maven-plugin</artifactId>
<inherited>true</inherited>
<reportSets>
<reportSet>
<reports>
<report>report-only</report>
</reports>
</reportSet>
</reportSets>
</plugin>
<!-- Generating JavaDoc Report -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<minmemory>128m</minmemory>
<maxmemory>512m</maxmemory>
<encoding>${encoding}</encoding>
<docencoding>${encoding}</docencoding>
<charset>${encoding}</charset>
</configuration>
</plugin>
<!-- Generating Java Source in HTML -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jxr-plugin</artifactId>
<configuration>
<inputEncoding>${encoding}</inputEncoding>
<outputEncoding>${encoding}</outputEncoding>
<linkJavadoc>true</linkJavadoc>
<javadocDir>apidocs</javadocDir>
</configuration>
</plugin>
</plugins>
</reporting>
</project>

View File

@ -0,0 +1,25 @@
package com.mca.cmmn.mapper;
import java.util.List;
import com.mca.cmmn.vo.AreaCodeVO;
import egovframework.rte.psl.dataaccess.mapper.Mapper;
@Mapper("areaCodeMapper")
public interface AreaCodeMapper {
/**
*
*
* @param searchVO ,
* @return
* @throws Exception
*/
public List<?> selectCity() throws Exception;
public List<?> selectCounty(AreaCodeVO areaCodeVO) throws Exception;
public String selectAreaName(String places) throws Exception;
}

View File

@ -0,0 +1,16 @@
package com.mca.cmmn.mapper;
import java.util.List;
import com.mca.cmmn.vo.LayersVO;
import egovframework.rte.psl.dataaccess.mapper.Mapper;
@Mapper("layersMapper")
public interface LayersMapper {
public LayersVO selectFacility(String layer);
public List<LayersVO> selectLayers();
}

View File

@ -0,0 +1,48 @@
package com.mca.cmmn.service;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import com.mca.cmmn.mapper.AreaCodeMapper;
import com.mca.cmmn.vo.AreaCodeVO;
@Service("areaCodeService")
public class AreaCodeService {
@Resource(name="areaCodeMapper")
AreaCodeMapper areaCodeMapper;
public List<?> selectCity() throws Exception {
// TODO Auto-generated method stub
return areaCodeMapper.selectCity();
}
public List<?> selectCounty(String code, String area) throws Exception {
// TODO Auto-generated method stub
code = code + "___";
AreaCodeVO areaCodeVO = new AreaCodeVO();
areaCodeVO.setCode(code);
return areaCodeMapper.selectCounty(areaCodeVO);
}
public String selectAreaName(String code) throws Exception{
// TODO Auto-generated method stub
String areaName = null;
if(code.length() == 5){
areaName = areaCodeMapper.selectAreaName(code.substring(0, 2));
areaName = areaName + " " + areaCodeMapper.selectAreaName(code);
}else if(code.length() == 8){
areaName = areaCodeMapper.selectAreaName(code.substring(0, 2));
areaName = areaName + " " + areaCodeMapper.selectAreaName(code.substring(0, 5));
areaName = areaName + " " + areaCodeMapper.selectAreaName(code);
}else {
areaName = areaCodeMapper.selectAreaName(code);
}
return areaName;
}
}

View File

@ -0,0 +1,27 @@
package com.mca.cmmn.service;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import com.mca.cmmn.mapper.LayersMapper;
import com.mca.cmmn.vo.LayersVO;
@Service("layersService")
public class LayersService {
@Resource(name="layersMapper")
LayersMapper layersMapper;
public LayersVO selectFacility(String layer) {
return layersMapper.selectFacility(layer);
}
public List<LayersVO> selectLayers() {
// TODO Auto-generated method stub
return layersMapper.selectLayers();
}
}

View File

@ -0,0 +1,26 @@
package com.mca.cmmn.vo;
public class AreaCodeVO {
String code;
String area;
String tile_id;
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getArea() {
return area;
}
public void setArea(String area) {
this.area = area;
}
public String getTile_id() {
return tile_id;
}
public void setTile_id(String tile_id) {
this.tile_id = tile_id;
}
}

View File

@ -0,0 +1,108 @@
package com.mca.cmmn.vo;
public class BaseSearchVO {
/**
* serialVersion UID
*/
private static final long serialVersionUID = -858838578081269359L;
/** 검색조건 */
private String searchCondition = "";
/** 검색Keyword */
private String searchKeyword = "";
/** 검색사용여부 */
private String searchUseYn = "";
/** 현재페이지 */
private int pageIndex = 1;
/** 페이지갯수 */
private int pageUnit = 10;
/** 페이지사이즈 */
private int pageSize = 10;
/** firstIndex */
private int firstIndex = 1;
/** lastIndex */
private int lastIndex = 1;
/** recordCountPerPage */
private int recordCountPerPage = 10;
public String getSearchCondition() {
return searchCondition;
}
public void setSearchCondition(String searchCondition) {
this.searchCondition = searchCondition;
}
public String getSearchKeyword() {
return searchKeyword;
}
public void setSearchKeyword(String searchKeyword) {
this.searchKeyword = searchKeyword;
}
public String getSearchUseYn() {
return searchUseYn;
}
public void setSearchUseYn(String searchUseYn) {
this.searchUseYn = searchUseYn;
}
public int getPageIndex() {
return pageIndex;
}
public void setPageIndex(int pageIndex) {
this.pageIndex = pageIndex;
}
public int getPageUnit() {
return pageUnit;
}
public void setPageUnit(int pageUnit) {
this.pageUnit = pageUnit;
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public int getFirstIndex() {
return firstIndex;
}
public void setFirstIndex(int firstIndex) {
this.firstIndex = firstIndex;
}
public int getLastIndex() {
return lastIndex;
}
public void setLastIndex(int lastIndex) {
this.lastIndex = lastIndex;
}
public int getRecordCountPerPage() {
return recordCountPerPage;
}
public void setRecordCountPerPage(int recordCountPerPage) {
this.recordCountPerPage = recordCountPerPage;
}
}

View File

@ -0,0 +1,26 @@
package com.mca.cmmn.vo;
public class LayersVO {
private String layer;
private String name;
private String code;
public String getLayer() {
return layer;
}
public void setLayer(String layer) {
this.layer = layer;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
}

View File

@ -0,0 +1,400 @@
package com.mca.cmmn.web;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import com.mca.cmmn.service.AreaCodeService;
import com.mca.cmmn.service.LayersService;
import com.mca.cmmn.vo.LayersVO;
import com.mca.map.service.FieldDataService;
import com.mca.map.service.UseHistoryService;
import com.mca.map.service.UseRequestService;
import com.mca.map.vo.FieldDataSearchVO;
import com.mca.map.vo.FieldDataVO;
import com.mca.map.vo.UseHistorySearchVO;
import com.mca.map.vo.UseRequestSearchVO;
import com.mca.map.vo.UseRequestVO;
import com.mca.sec.UserUtil;
import com.mca.sec.vo.LoginUserVO;
import com.mca.user.service.UserService;
import com.mca.user.vo.UserSearchVO;
import com.mca.user.vo.UserVO;
import egovframework.rte.fdl.property.EgovPropertyService;
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
@Controller
@RequestMapping("/admin")
public class AdminController {
/**
* properties .
**/
@Resource(name="propertiesService")
private EgovPropertyService propertiesService;
@Resource(name="useRequestService")
private UseRequestService useRequestService;
@Resource(name="useHistoryService")
private UseHistoryService useHistoryService;
@Resource(name="areaCodeService")
private AreaCodeService areaCodeService;
@Resource(name="layersService")
private LayersService layersService;
@Resource(name="userService")
private UserService userService;
@Resource(name="fieldDataService")
private FieldDataService fieldDataService;
/**
* .
*
* @param useRequestSearchVO ,
* @param model
* @return
* @throws
*/
@RequestMapping("/request")
public String reqList(@ModelAttribute("UseRequestSearchVO") UseRequestSearchVO useRequestSearchVO, Model model) throws Exception {
try {
useRequestSearchVO.setPageUnit(propertiesService.getInt("pageUnit"));
useRequestSearchVO.setPageSize(propertiesService.getInt("pageSize"));
PaginationInfo paginationInfo = new PaginationInfo();
paginationInfo.setCurrentPageNo(useRequestSearchVO.getPageIndex());
paginationInfo.setRecordCountPerPage(useRequestSearchVO.getPageUnit());
paginationInfo.setPageSize(useRequestSearchVO.getPageSize());
useRequestSearchVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
useRequestSearchVO.setLastIndex(paginationInfo.getLastRecordIndex());
useRequestSearchVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
List<?> userList = useRequestService.selectUseRequestList(useRequestSearchVO);
int count = useRequestService.selectUseRequestCnt(useRequestSearchVO);
int statusCnt = useRequestService.selectUseRequeststatusCnt();
paginationInfo.setTotalRecordCount(count);
model.addAttribute("paginationInfo", paginationInfo);
model.addAttribute("useRequestList", userList);
model.addAttribute("useRequestSearchVO", useRequestSearchVO);
model.addAttribute("count", count);
model.addAttribute("statusCnt", statusCnt);
return "admin/request";
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
return "error/EgovServerError";
}
}
/**
* .
*
* @param idx Primary Key
* @param model
* @return
* @throws Exception
*/
@RequestMapping("/request/{idx}")
public String reqDetail(@PathVariable int idx, Model model) throws Exception{
try {
LoginUserVO loginUserVO = UserUtil.getMemberInfo();
UseRequestVO useRequestVO = useRequestService.selectUseRequest(idx);
useRequestVO = useRequestService.selectUseRequest(idx);
UserVO userVO = userService.selectUserInfo(useRequestVO.getUserid());
String layers[] = useRequestVO.getLayers().split(",");
String places[] = useRequestVO.getPlaces().split(",");
ArrayList<String> selectArea = new ArrayList<String>();
for(int i=0;i<places.length;i++) {
selectArea.add(areaCodeService.selectAreaName(places[i]));
}
List <LayersVO> layersVO = layersService.selectLayers();
model.addAttribute("loginUserVO", loginUserVO);
model.addAttribute("userVO", userVO);
model.addAttribute("useRequestVO", useRequestVO);
model.addAttribute("selectArea", selectArea);
model.addAttribute("layers", layers);
model.addAttribute("layersVO", layersVO);
return "admin/requestView";
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
return "error/EgovServerError";
}
}
/**
* .
*
* @param useHistorySearchVO ,
* @param model
* @return
* @throws
*/
@RequestMapping("/history")
public String history(@ModelAttribute("UseHistorySearchVO") UseHistorySearchVO useHistorySearchVO, Model model) throws Exception {
try {
useHistorySearchVO.setPageUnit(propertiesService.getInt("pageUnit"));
useHistorySearchVO.setPageSize(propertiesService.getInt("pageSize"));
PaginationInfo paginationInfo = new PaginationInfo();
paginationInfo.setCurrentPageNo(useHistorySearchVO.getPageIndex());
paginationInfo.setRecordCountPerPage(useHistorySearchVO.getPageUnit());
paginationInfo.setPageSize(useHistorySearchVO.getPageSize());
useHistorySearchVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
useHistorySearchVO.setLastIndex(paginationInfo.getLastRecordIndex());
useHistorySearchVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
List<?> useHistoryList = useHistoryService.selectUseHistoryList(useHistorySearchVO);
int count = useHistoryService.selectUseHistoryCnt(useHistorySearchVO);
paginationInfo.setTotalRecordCount(count);
model.addAttribute("paginationInfo", paginationInfo);
model.addAttribute("useHistoryList", useHistoryList);
model.addAttribute("useHistorySearchVO", useHistorySearchVO);
model.addAttribute("count", count);
return "admin/history";
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
return "error/EgovServerError";
}
}
/**
* / .
*
* @param useRequestVO VO
* @param model
* @return
* @throws
*/
@RequestMapping("/updateReqConfirm")
public String updateReqConfirm(@ModelAttribute("useRequestVO") UseRequestVO useRequestVO, Model model) throws Exception {
try {
useRequestService.updateReqConfirm(useRequestVO);
String resultMsg;
if(useRequestVO.getStatus().equals("0")) {
resultMsg = "지도사용요청 승인 처리가 되었습니다.";
}else {
resultMsg = "지도사용요청 거절 처리가 되었습니다.";
}
model.addAttribute("url", "/admin/request");
model.addAttribute("resultMsg", resultMsg);
return "/redirect";
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
return "error/EgovServerError";
}
}
/**
* .
*
* @param userSearchVO VO
* @param model
* @return
* @throws
*/
@RequestMapping("/userInfo")
public String userInfo(@ModelAttribute("UserSearchVO") UserSearchVO userSearchVO, Model model) throws Exception {
try {
userSearchVO.setPageUnit(propertiesService.getInt("pageUnit"));
userSearchVO.setPageSize(propertiesService.getInt("pageSize"));
PaginationInfo paginationInfo = new PaginationInfo();
paginationInfo.setCurrentPageNo(userSearchVO.getPageIndex());
paginationInfo.setRecordCountPerPage(userSearchVO.getPageUnit());
paginationInfo.setPageSize(userSearchVO.getPageSize());
userSearchVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
userSearchVO.setLastIndex(paginationInfo.getLastRecordIndex());
userSearchVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
List<?> userList = userService.selectUserList(userSearchVO);
int count = userService.selectUserCount(userSearchVO);
int standByCount = userService.selectUserStandByCount();
paginationInfo.setTotalRecordCount(count);
model.addAttribute("paginationInfo", paginationInfo);
model.addAttribute("userList", userList);
model.addAttribute("userSearchVO", userSearchVO);
model.addAttribute("count", count);
model.addAttribute("standByCount", standByCount);
return "admin/userInfo";
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
return "error/EgovServerError";
}
}
/**
* .
*
* @param userid ID
* @param model
* @return
* @throws
*/
@RequestMapping("/userInfo/{userid}")
public String userInfoView(@PathVariable String userid, Model model) throws Exception {
try {
UserVO userVO = userService.selectUserInfo(userid);
model.addAttribute("userVO", userVO);
return "admin/userInfoView";
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
return "error/EgovServerError";
}
}
/**
* .
*
* @param req Request
* @param model
* @param userVO VO
* @return
* @throws
*/
@RequestMapping("/userUpdate")
public String userUpdate(HttpServletRequest req, Model model, UserVO userVO) throws Exception {
try {
userService.updateUser(userVO);
model.addAttribute("url", "/admin/userInfo");
model.addAttribute("resultMsg", "수정되었습니다.");
return "/redirect";
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
return "error/EgovServerError";
}
}
/**
* / .
*
* @param userVO VO
* @param model
* @return
* @throws
*/
@RequestMapping("/userSign")
public String userSign(@ModelAttribute("userVO") UserVO userVO, Model model) throws Exception {
try {
String resultMsg = null;
if(userVO.getAuth() == 2) {
userService.updateUserSign(userVO.getUserid());
resultMsg = "승인 처리 되었습니다.";
}else {
userService.updateUserDelete(userVO.getUserid());
resultMsg = "삭제 처리 되었습니다.";
}
model.addAttribute("url", "/admin/userInfo?auth=99");
model.addAttribute("resultMsg", resultMsg);
return "/redirect";
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
return "error/EgovServerError";
}
}
/**
* .
*
* @param fieldDataSearchVO VO
* @param model
* @return
* @throws
*/
@RequestMapping("/fieldData")
public String fieldData(@ModelAttribute("FieldDataSearchVO") FieldDataSearchVO fieldDataSearchVO, Model model) throws Exception {
try {
fieldDataSearchVO.setPageUnit(propertiesService.getInt("pageUnit"));
fieldDataSearchVO.setPageSize(propertiesService.getInt("pageSize"));
PaginationInfo paginationInfo = new PaginationInfo();
paginationInfo.setCurrentPageNo(fieldDataSearchVO.getPageIndex());
paginationInfo.setRecordCountPerPage(fieldDataSearchVO.getPageUnit());
paginationInfo.setPageSize(fieldDataSearchVO.getPageSize());
fieldDataSearchVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
fieldDataSearchVO.setLastIndex(paginationInfo.getLastRecordIndex());
fieldDataSearchVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
List<?> fieldDataList = fieldDataService.selectFieldDataList(fieldDataSearchVO);
int count = fieldDataService.selectFieldDataCnt(fieldDataSearchVO);
paginationInfo.setTotalRecordCount(count);
model.addAttribute("fieldDataList", fieldDataList);
model.addAttribute("paginationInfo", paginationInfo);
model.addAttribute("fieldDataSearchVO", fieldDataSearchVO);
model.addAttribute("count", count);
return "admin/fieldData";
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
return "error/EgovServerError";
}
}
/**
* .
*
* @param id id
* @param model
* @return
* @throws
*/
@RequestMapping("/fieldData/{id}")
public String fieldData(@PathVariable String id, Model model) throws Exception {
try {
FieldDataVO fieldDataVO = fieldDataService.selectFieldData(id);
UserVO userVO = userService.selectUserInfo(fieldDataVO.getUserid());
model.addAttribute("fieldDataVO", fieldDataVO);
model.addAttribute("userVO", userVO);
return "admin/fieldView";
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
return "error/EgovServerError";
}
}
}

View File

@ -0,0 +1,175 @@
package com.mca.cmmn.web;
import java.util.List;
import javax.annotation.Resource;
import javax.servlet.http.HttpSession;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import com.mca.cmmn.service.AreaCodeService;
import com.mca.user.service.UserService;
import com.mca.user.vo.UserVO;
import egovframework.rte.fdl.property.EgovPropertyService;
@Controller
public class CommonController {
/**
* properties .
**/
@Resource(name="propertiesService")
private EgovPropertyService propertiesService;
@Resource(name="userService")
private UserService userService;
@Resource(name="areaCodeService")
private AreaCodeService areaCodeService;
/**
* .
*
* @param error
* @param fail
* @return
* @throws Exception
*/
@RequestMapping(value="/login")
public String login(String error, String fail, Model model) throws Exception{
try {
if(error != null) {
model.addAttribute("errMsg", "접속자 정보를 찾을 수 없습니다.");
}
if(fail != null) {
model.addAttribute("errMsg", "승인 처리중입니다.");
}
return "login";
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
return "error/EgovServerError";
}
}
/**
*
*
* @param session
* @param model
* @return
* @throws Exception
*/
@RequestMapping(value="/logout")
public String logout(HttpSession session, Model model) throws Exception {
try {
session.removeAttribute("id");
session.removeAttribute("admin");
model.addAttribute("url", "/");
model.addAttribute("resultMsg", "로그아웃 되었습니다.");
return "/redirect";
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
return "error/EgovServerError";
}
}
/**
* .
* @return
* @throws Exception
*/
@RequestMapping(value="/join")
public String join() throws Exception {
try {
return "join";
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
return "error/EgovServerError";
}
}
/**
* .
* @param checkId
* @return ,
* @throws Exception
*/
@RequestMapping(value="/userIdCheck")
@ResponseBody
public String checkId(@RequestParam("checkId")String checkId) throws Exception {
try {
int cnt = userService.selectUserIdCheck(checkId);
if(cnt > 0) {
return "duplicate";
}else {
return "ok";
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
return "error/EgovServerError";
}
}
/**
* .
* @param userVO VO
* @param model
* @return
* @throws Exception
*/
@RequestMapping(value="/insertUser")
public String userInsert(@ModelAttribute("userVO") UserVO userVO, Model model) throws Exception {
try {
int result = userService.insertUser(userVO);
if(result == 0) {
model.addAttribute("url", "/");
model.addAttribute("resultMsg", "회원가입이 완료 되었습니다. 승인을 기다려주세요.");
return "/redirect";
}else {
model.addAttribute("resultMsg", "오류가 발생하였습니다.");
return "/join";
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
return "error/EgovServerError";
}
}
/**
* .
* @param code
* @param area
* @return
* @throws Exception
*/
@RequestMapping(value="/selectAreaList")
@ResponseBody
public List<?> selectAreaList(@RequestParam("code")String code, @RequestParam("area")String area) throws Exception {
List<?> countyList = areaCodeService.selectCounty(code, area);
return countyList;
}
/**
* .
*
* @return
* @exception Exception
*/
@RequestMapping("/error/EgovAccessDenied")
public String accessDenied() throws Exception {
return "error/EgovAccessDenied";
}
}

View File

@ -0,0 +1,264 @@
package com.mca.cmmn.web;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import com.mca.cmmn.service.AreaCodeService;
import com.mca.cmmn.service.LayersService;
import com.mca.cmmn.vo.LayersVO;
import com.mca.map.service.UseRequestService;
import com.mca.map.vo.UseRequestSearchVO;
import com.mca.map.vo.UseRequestVO;
import com.mca.sec.UserUtil;
import com.mca.sec.vo.LoginUserVO;
import com.mca.user.service.UserService;
import com.mca.user.vo.UserVO;
import egovframework.rte.fdl.property.EgovPropertyService;
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
@Controller
@RequestMapping("/map")
public class MapController {
private static final Logger logger = LoggerFactory.getLogger(MapController.class);
/**
* properties .
**/
@Resource(name="propertiesService")
private EgovPropertyService propertiesService;
@Resource(name="useRequestService")
private UseRequestService useRequestService;
@Resource(name="areaCodeService")
private AreaCodeService areaCodeService;
@Resource(name="layersService")
private LayersService layersService;
@Resource(name="userService")
private UserService userService;
/**
* .
*
* @param useRequestSearchVO ,
* @param request Request
* @param model
* @return
* @throws
*/
@RequestMapping("/request")
public String reqList(@ModelAttribute("UseRequestSearchVO") UseRequestSearchVO useRequestSearchVO, HttpServletRequest req, Model model) throws Exception {
LoginUserVO user = (LoginUserVO) req.getSession().getAttribute("userVO");
useRequestSearchVO.setPageUnit(propertiesService.getInt("pageUnit"));
useRequestSearchVO.setPageSize(propertiesService.getInt("pageSize"));
useRequestSearchVO.setUserid(user.getUserid());
PaginationInfo paginationInfo = new PaginationInfo();
paginationInfo.setCurrentPageNo(useRequestSearchVO.getPageIndex());
paginationInfo.setRecordCountPerPage(useRequestSearchVO.getPageUnit());
paginationInfo.setPageSize(useRequestSearchVO.getPageSize());
useRequestSearchVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
useRequestSearchVO.setLastIndex(paginationInfo.getLastRecordIndex());
useRequestSearchVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
List<?> useRequestList = useRequestService.selectUseRequestList(useRequestSearchVO);
int count = useRequestService.selectUseRequestCnt(useRequestSearchVO);
paginationInfo.setTotalRecordCount(count);
model.addAttribute("paginationInfo", paginationInfo);
model.addAttribute("useRequestList", useRequestList);
model.addAttribute("useRequestSearchVO", useRequestSearchVO);
model.addAttribute("count", count);
return "map/request";
}
/**
* .
*
* @param idx Primary Key
* @param model
* @return
* @throws Exception
*/
@RequestMapping("/request/{idx}")
public String reqDetail(@PathVariable int idx, Model model) throws Exception {
try {
List<?> cityList = areaCodeService.selectCity();
UseRequestVO useRequestVO = useRequestService.selectUseRequest(idx);
if(UserUtil.isEqualMember(useRequestVO.getUserid())) {
String layers[] = useRequestVO.getLayers().split(",");
String places[] = useRequestVO.getPlaces().split(",");
List<Object> selectArea = new ArrayList<Object>();
for(int i=0;i<places.length;i++) {
HashMap<String, String> map = new HashMap<String, String>();
map.put("name", areaCodeService.selectAreaName(places[i]));
map.put("code", places[i]);
selectArea.add(map);
}
List <LayersVO> layersVO = layersService.selectLayers();
model.addAttribute("useRequestVO", useRequestVO);
model.addAttribute("selectArea", selectArea);
model.addAttribute("cityList", cityList);
model.addAttribute("layers", layers);
model.addAttribute("layersVO", layersVO);
return "map/requestView";
}else {
model.addAttribute("url", "/map/request");
model.addAttribute("resultMsg", "권한이 없습니다.");
return "/redirect";
}
} catch (Exception e) {
e.printStackTrace();
return "error/EgovServerError";
}
}
/**
* .
*
* @param useRequestVO VO
* @param req request
* @param model
* @return
* @throws Exception
*/
@RequestMapping(value="/insertReq")
public String insertReq(@ModelAttribute("useRequestVO") UseRequestVO useRequestVO, HttpServletRequest req, Model model) throws Exception {
LoginUserVO user = (LoginUserVO) req.getSession().getAttribute("userVO");
useRequestVO.setUserid(user.getUserid());
useRequestService.insertReq(useRequestVO);
model.addAttribute("url", "/map/request");
model.addAttribute("resultMsg", "지도사용요청 신청이 완료되었습니다. 승인을 기다려주세요.");
return "/redirect";
}
/**
* .
*
* @param useRequestVO VO
* @param model
* @return
* @throws Exception
*/
@RequestMapping(value="/updateReq" )
public String updateReq(@ModelAttribute("useRequestVO") UseRequestVO useRequestVO, Model model) throws Exception {
useRequestService.updateReq(useRequestVO);
model.addAttribute("url", "/map/request");
model.addAttribute("resultMsg", "지도사용요청 수정이 완료되었습니다. 승인을 기다려주세요.");
return "/redirect";
}
/**
* .
*
* @param useRequestVO VO
* @param model
* @return
* @throws Exception
*/
@RequestMapping(value="/deleteReq" )
public String deleteReq(@ModelAttribute("useRequestVO") UseRequestVO useRequestVO, Model model) throws Exception {
useRequestService.deleteReq(useRequestVO.getIdx());
model.addAttribute("url", "/map/reqList");
model.addAttribute("resultMsg", "지도사용요청이 취소되었습니다..");
return "/redirect";
}
/**
* .
*
* @param model
* @return
* @throws Exception
*/
@RequestMapping(value="/reqWrite")
public String reqWrite(Model model) throws Exception {
try {
List<?> cityList = areaCodeService.selectCity();
List <LayersVO> layersVO = layersService.selectLayers();
model.addAttribute("layersVO", layersVO);
model.addAttribute("cityList", cityList);
return "map/requestWrite";
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
return "map/requestWrite";
}
}
/**
* .
*
* @param model
* @param req Request
* @return
* @throws Exception
*/
@RequestMapping("/userInfo")
public String userInfo(HttpServletRequest req, Model model) throws Exception {
LoginUserVO loginUserVO = (LoginUserVO) req.getSession().getAttribute("userVO");
UserVO userVO = userService.selectUserInfo(loginUserVO.getUserid());
model.addAttribute("userVO", userVO);
return "map/userInfo";
}
/**
* .
*
* @param req Request
* @param model
* @param userVO VO
* @return
* @throws Exception
*/
@RequestMapping("/userUpdate")
public String userUpdate(HttpServletRequest req, Model model, UserVO userVO) throws Exception {
userService.updateUser(userVO);
model.addAttribute("url", "/map/userInfo");
model.addAttribute("resultMsg", "수정되었습니다.");
return "/redirect";
}
}

View File

@ -0,0 +1,18 @@
package com.mca.map.mapper;
import java.util.List;
import com.mca.map.vo.FieldDataSearchVO;
import com.mca.map.vo.FieldDataVO;
import egovframework.rte.psl.dataaccess.mapper.Mapper;
@Mapper("fieldDataMapper")
public interface FieldDataMapper {
List<?> selectFieldDataList(FieldDataSearchVO fieldDataSearchVO);
int selectFieldDataCnt(FieldDataSearchVO fieldDataSearchVO);
FieldDataVO selectFieldData(String id);
}

View File

@ -0,0 +1,15 @@
package com.mca.map.mapper;
import java.util.List;
import com.mca.map.vo.UseHistorySearchVO;
import egovframework.rte.psl.dataaccess.mapper.Mapper;
@Mapper("useHistoryMapper")
public interface UseHistoryMapper {
List<?> selectUseHistoryList(UseHistorySearchVO useHistorySearchVO);
int selectUseHistoryCnt(UseHistorySearchVO useHistorySearchVO);
}

View File

@ -0,0 +1,29 @@
package com.mca.map.mapper;
import java.util.List;
import com.mca.map.vo.UseRequestSearchVO;
import com.mca.map.vo.UseRequestVO;
import egovframework.rte.psl.dataaccess.mapper.Mapper;
@Mapper("useReqeustMapper")
public interface UseReqeustMapper {
public int selectUseRequestCnt(UseRequestSearchVO useRequestSearchVO);
public List<?> selectUseRequestList(UseRequestSearchVO useRequestSearchVO);
public void insertReq(UseRequestVO useRequestVO);
public UseRequestVO selectUseRequest(int idx);
public void updateReq(UseRequestVO useRequestVO);
public void deleteReq(int idx);
public void updateReqConfirm(UseRequestVO useRequestVO);
public int selectUseRequeststatusCnt();
}

View File

@ -0,0 +1,34 @@
package com.mca.map.service;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import com.mca.map.mapper.FieldDataMapper;
import com.mca.map.vo.FieldDataSearchVO;
import com.mca.map.vo.FieldDataVO;
@Service("fieldDataService")
public class FieldDataService {
@Resource(name="fieldDataMapper")
FieldDataMapper fieldDataMapper;
public List<?> selectFieldDataList(FieldDataSearchVO fieldDataSearchVO) {
// TODO Auto-generated method stub
return fieldDataMapper.selectFieldDataList(fieldDataSearchVO);
}
public int selectFieldDataCnt(FieldDataSearchVO fieldDataSearchVO) {
// TODO Auto-generated method stub
return fieldDataMapper.selectFieldDataCnt(fieldDataSearchVO);
}
public FieldDataVO selectFieldData(String id) {
// TODO Auto-generated method stub
return fieldDataMapper.selectFieldData(id);
}
}

View File

@ -0,0 +1,27 @@
package com.mca.map.service;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import com.mca.map.mapper.UseHistoryMapper;
import com.mca.map.vo.UseHistorySearchVO;
@Service("useHistoryService")
public class UseHistoryService {
@Resource(name="useHistoryMapper")
UseHistoryMapper useHistoryMapper;
public int selectUseHistoryCnt(UseHistorySearchVO useHistorySearchVO) {
// TODO Auto-generated method stub
return useHistoryMapper.selectUseHistoryCnt(useHistorySearchVO);
}
public List<?> selectUseHistoryList(UseHistorySearchVO useHistorySearchVO) {
// TODO Auto-generated method stub
return useHistoryMapper.selectUseHistoryList(useHistorySearchVO);
}
}

View File

@ -0,0 +1,63 @@
package com.mca.map.service;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import com.mca.map.mapper.UseReqeustMapper;
import com.mca.map.vo.UseRequestSearchVO;
import com.mca.map.vo.UseRequestVO;
@Service("useRequestService")
public class UseRequestService {
@Resource(name="useReqeustMapper")
UseReqeustMapper useReqeustMapper;
public List<?> selectUseRequestList(UseRequestSearchVO useRequestSearchVO) {
// TODO Auto-generated method stub
return useReqeustMapper.selectUseRequestList(useRequestSearchVO);
}
public int selectUseRequestCnt(UseRequestSearchVO useRequestSearchVO) {
// TODO Auto-generated method stub
return useReqeustMapper.selectUseRequestCnt(useRequestSearchVO);
}
public void insertReq(UseRequestVO useRequestVO) {
// TODO Auto-generated method stub
useReqeustMapper.insertReq(useRequestVO);
}
public UseRequestVO selectUseRequest(int idx) {
// TODO Auto-generated method stub
return useReqeustMapper.selectUseRequest(idx);
}
public void updateReq(UseRequestVO useRequestVO) {
// TODO Auto-generated method stub
useReqeustMapper.updateReq(useRequestVO);
}
public void deleteReq(int idx) {
// TODO Auto-generated method stub
useReqeustMapper.deleteReq(idx);
}
public void updateReqConfirm(UseRequestVO useRequestVO) {
// TODO Auto-generated method stub
useReqeustMapper.updateReqConfirm(useRequestVO);
}
public int selectUseRequeststatusCnt() {
// TODO Auto-generated method stub
return useReqeustMapper.selectUseRequeststatusCnt();
}
}

View File

@ -0,0 +1,7 @@
package com.mca.map.vo;
import com.mca.cmmn.vo.BaseSearchVO;
public class FieldDataSearchVO extends BaseSearchVO{
}

View File

@ -0,0 +1,85 @@
package com.mca.map.vo;
import com.mca.user.vo.UserVO;
public class FieldDataVO {
private String id;
private String userid;
private String save_date;
private String data_path;
private String layer_id;
private String field_data;
private String region;
private String description;
private String status;
private String err_note;
private UserVO userVO;
public UserVO getUserVO() {
return userVO;
}
public void setUserVO(UserVO userVO) {
this.userVO = userVO;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getUserid() {
return userid;
}
public void setUserid(String userid) {
this.userid = userid;
}
public String getSave_date() {
return save_date;
}
public void setSave_date(String save_date) {
this.save_date = save_date;
}
public String getData_path() {
return data_path;
}
public void setData_path(String data_path) {
this.data_path = data_path;
}
public String getLayer_id() {
return layer_id;
}
public void setLayer_id(String layer_id) {
this.layer_id = layer_id;
}
public String getField_data() {
return field_data;
}
public void setField_data(String field_data) {
this.field_data = field_data;
}
public String getRegion() {
return region;
}
public void setRegion(String region) {
this.region = region;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getErr_note() {
return err_note;
}
public void setErr_note(String err_note) {
this.err_note = err_note;
}
}

View File

@ -0,0 +1,29 @@
package com.mca.map.vo;
import com.mca.cmmn.vo.BaseSearchVO;
public class UseHistorySearchVO extends BaseSearchVO{
private String userid;
private String company;
private String area;
public String getUserid() {
return userid;
}
public void setUserid(String userid) {
this.userid = userid;
}
public String getCompany() {
return company;
}
public void setCompany(String company) {
this.company = company;
}
public String getArea() {
return area;
}
public void setArea(String area) {
this.area = area;
}
}

View File

@ -0,0 +1,50 @@
package com.mca.map.vo;
public class UseHistoryVO {
private String logDate;
private String reqArea;
// private String content;
private String userid;
private String name;
private String company;
public String getLogDate() {
return logDate;
}
public void setLogDate(String logDate) {
this.logDate = logDate;
}
public String getReqArea() {
return reqArea;
}
public void setReqArea(String reqArea) {
this.reqArea = reqArea;
}
public String getUserid() {
return userid;
}
public void setUserid(String userid) {
this.userid = userid;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getCompany() {
return company;
}
public void setCompany(String company) {
this.company = company;
}
}

View File

@ -0,0 +1,36 @@
package com.mca.map.vo;
import com.mca.cmmn.vo.BaseSearchVO;
public class UseRequestSearchVO extends BaseSearchVO{
private String userid;
private String company;
private String area;
private String status;
public String getUserid() {
return userid;
}
public void setUserid(String userid) {
this.userid = userid;
}
public String getCompany() {
return company;
}
public void setCompany(String company) {
this.company = company;
}
public String getArea() {
return area;
}
public void setArea(String area) {
this.area = area;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
}

View File

@ -0,0 +1,113 @@
package com.mca.map.vo;
public class UseRequestVO {
private int idx;
private String title;
private String status;
private String s_date;
private String e_date;
private String r_date;
private String places;
private String layers;
private String tile_id;
private String userid;
private String user_msg;
private String admin_id;
private String admin_msg;
private String name;
private String company;
public int getIdx() {
return idx;
}
public void setIdx(int idx) {
this.idx = idx;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getS_date() {
return s_date;
}
public void setS_date(String s_date) {
this.s_date = s_date;
}
public String getE_date() {
return e_date;
}
public void setE_date(String e_date) {
this.e_date = e_date;
}
public String getR_date() {
return r_date;
}
public void setR_date(String r_date) {
this.r_date = r_date;
}
public String getPlaces() {
return places;
}
public void setPlaces(String places) {
this.places = places;
}
public String getLayers() {
return layers;
}
public void setLayers(String layers) {
this.layers = layers;
}
public String getTile_id() {
return tile_id;
}
public void setTile_id(String tile_id) {
this.tile_id = tile_id;
}
public String getUserid() {
return userid;
}
public void setUserid(String userid) {
this.userid = userid;
}
public String getUser_msg() {
return user_msg;
}
public void setUser_msg(String user_msg) {
this.user_msg = user_msg;
}
public String getAdmin_id() {
return admin_id;
}
public void setAdmin_id(String admin_id) {
this.admin_id = admin_id;
}
public String getAdmin_msg() {
return admin_msg;
}
public void setAdmin_msg(String admin_msg) {
this.admin_msg = admin_msg;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getCompany() {
return company;
}
public void setCompany(String company) {
this.company = company;
}
}

View File

@ -0,0 +1,47 @@
package com.mca.sec;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.springframework.security.core.Authentication;
import org.springframework.security.web.authentication.AuthenticationSuccessHandler;
import com.mca.sec.vo.LoginUserVO;
import com.mca.sec.UserUtil;
public class LoginSuccessHandler implements AuthenticationSuccessHandler{
private String roleName;
@Override
public void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse response,
Authentication authentication) throws IOException, ServletException {
// TODO Auto-generated method stub
LoginUserVO user = UserUtil.getMemberInfo();
HttpSession session = request.getSession();
session.setAttribute("userVO", user);
LoginSuccessHandler loginSuccessHandler = new LoginSuccessHandler();
authentication.getAuthorities().forEach(authority ->{
loginSuccessHandler.roleName = authority.getAuthority();
});
if(loginSuccessHandler.roleName.equals("ROLE_USER")) {
response.sendRedirect("/map/request");
return;
}else if(loginSuccessHandler.roleName.equals("ROLE_ADMIN")) {
response.sendRedirect("/admin/request");
return;
}else if(loginSuccessHandler.roleName.equals("ROLE_DISABLE")) {
response.sendRedirect("/login?fail");
return;
}
response.sendRedirect("/");
}
}

View File

@ -0,0 +1,25 @@
package com.mca.sec;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.security.core.Authentication;
import org.springframework.security.web.authentication.logout.SimpleUrlLogoutSuccessHandler;
public class LogoutSuccessHandler extends SimpleUrlLogoutSuccessHandler{
private String successUrl = "/";
public void setSuccessUrl(String successUrl){
this.successUrl = successUrl;
}
public void onLogoutSuccess(HttpServletRequest request, HttpServletResponse response, Authentication authentication) throws IOException, ServletException {
setDefaultTargetUrl(successUrl);
super.onLogoutSuccess(request, response, authentication);
}
}

View File

@ -0,0 +1,31 @@
package com.mca.sec;
import com.mca.sec.vo.LoginUserVO;
import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper;
public class UserUtil {
/**
* . null .
* @return loginUserVO
*/
public static LoginUserVO getMemberInfo() {
return (LoginUserVO) EgovUserDetailsHelper.getAuthenticatedUser();
}
/**
* .
* @return boolean
*/
public static boolean isEqualMember(String target) {
LoginUserVO member = getMemberInfo();
if (getMemberInfo() != null) {
if(member.getUserid().equals(target)){
return true;
} else{
return false;
}
} else {
return false;
}
}
}

View File

@ -0,0 +1,15 @@
package com.mca.sec.mapper;
import com.mca.sec.vo.LoginUserVO;
import com.mca.sec.vo.SecurityRolesVO;
import egovframework.rte.psl.dataaccess.mapper.Mapper;
@Mapper("securityMapper")
public interface SecurityMapper {
public LoginUserVO getUser(String userid);
public SecurityRolesVO getAuthoritiesUser(int auth);
}

View File

@ -0,0 +1,44 @@
package com.mca.sec.service;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.security.core.userdetails.UserDetailsService;
import org.springframework.security.core.userdetails.UsernameNotFoundException;
import com.mca.sec.mapper.SecurityMapper;
import com.mca.sec.vo.LoginUserVO;
import egovframework.rte.fdl.security.userdetails.EgovUserDetails;
public class SecurityService implements UserDetailsService{
@Resource(name = "securityMapper")
SecurityMapper securityMapper;
@Override
public UserDetails loadUserByUsername(String userid) throws UsernameNotFoundException {
// TODO Auto-generated method stub
LoginUserVO member = securityMapper.getUser(userid);
List<GrantedAuthority> authorities = new ArrayList<GrantedAuthority>();
if (member != null) {
authorities.add(securityMapper.getAuthoritiesUser(member.getAuth()));
} else {
throw new UsernameNotFoundException("접속자 정보를 찾을 수 없습니다.");
}
if (authorities.size() == 0) {
throw new UsernameNotFoundException("User " + member.getUserid()+ " has no GrantedAuthority");
}
return new EgovUserDetails(member.getUserid(), member.getPassword(), true, true, true, true, authorities, member);
}
}

View File

@ -0,0 +1,76 @@
package com.mca.sec.vo;
public class LoginUserVO {
private String userid;
private String password;
private String name;
private String company;
private String email;
private String phonenum;
private String regdate;
private int auth;
private String code;
private String description;
public String getUserid() {
return userid;
}
public void setUserid(String userid) {
this.userid = userid;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getCompany() {
return company;
}
public void setCompany(String company) {
this.company = company;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getPhonenum() {
return phonenum;
}
public void setPhonenum(String phonenum) {
this.phonenum = phonenum;
}
public String getRegdate() {
return regdate;
}
public void setRegdate(String regdate) {
this.regdate = regdate;
}
public int getAuth() {
return auth;
}
public void setAuth(int auth) {
this.auth = auth;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
}

View File

@ -0,0 +1,28 @@
package com.mca.sec.vo;
import org.springframework.security.core.GrantedAuthority;
public class SecurityRolesVO implements GrantedAuthority {
/**
*
*/
private static final long serialVersionUID = 1L;
private int auth;
private String authority;
public int getAuth() {
return auth;
}
public void setAuth(int auth) {
this.auth = auth;
}
public String getAuthority() {
return authority;
}
public void setAuthority(String authority) {
this.authority = authority;
}
}

View File

@ -0,0 +1,30 @@
package com.mca.user.mapper;
import java.util.List;
import com.mca.user.vo.UserSearchVO;
import com.mca.user.vo.UserVO;
import egovframework.rte.psl.dataaccess.mapper.Mapper;
@Mapper("userMapper")
public interface UserMapper {
public int selectUserIdCheck(String checkId);
public void insertUser(UserVO userVO);
public UserVO selectUserInfo(String userid);
public List<?> selectUserList(UserSearchVO userSearchVO);
public int selectUserCount(UserSearchVO userSearchVO);
public int selectUserStandByCount();
public void updateUserSign(String userid);
public void updateUserDelete(String userid);
public void updateUser(UserVO userVO);
}

View File

@ -0,0 +1,81 @@
package com.mca.user.service;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.stereotype.Service;
import com.mca.user.mapper.UserMapper;
import com.mca.user.vo.UserSearchVO;
import com.mca.user.vo.UserVO;
@Service("userService")
public class UserService {
@Resource(name="userMapper")
UserMapper userMapper;
public int selectUserIdCheck(String checkId) {
return userMapper.selectUserIdCheck(checkId);
}
public int insertUser(UserVO userVO) {
// TODO Auto-generated method stub
try {
/* bcrypt 사용 고려 */
//BCryptPasswordEncoder bcryptPasswordEncoder = new BCryptPasswordEncoder(10);
//userVO.setPassword(bcryptPasswordEncoder.encode(userVO.getPassword()));
userMapper.insertUser(userVO);
return 0;
}catch (Exception e) {
return -1;
}
}
public UserVO selectUserInfo(String userid) {
// TODO Auto-generated method stub
return userMapper.selectUserInfo(userid);
}
public List<?> selectUserList(UserSearchVO userSearchVO) {
// TODO Auto-generated method stub
return userMapper.selectUserList(userSearchVO);
}
public int selectUserCount(UserSearchVO userSearchVO) {
// TODO Auto-generated method stub
return userMapper.selectUserCount(userSearchVO);
}
public int selectUserStandByCount() {
// TODO Auto-generated method stub
return userMapper.selectUserStandByCount();
}
public void updateUserSign(String userid) {
// TODO Auto-generated method stub
userMapper.updateUserSign(userid);
}
public void updateUserDelete(String userid) {
// TODO Auto-generated method stub
userMapper.updateUserDelete(userid);
}
public void updateUser(UserVO userVO) {
// TODO Auto-generated method stub
if(userVO.getPassword() != null && !userVO.getPassword().equals("")) {
/* bcrypt 사용 고려 */
//BCryptPasswordEncoder bcryptPasswordEncoder = new BCryptPasswordEncoder(10);
//userVO.setPassword(bcryptPasswordEncoder.encode(userVO.getPassword()));
}
userMapper.updateUser(userVO);
}
}

View File

@ -0,0 +1,44 @@
package com.mca.user.vo;
import com.mca.cmmn.vo.BaseSearchVO;
public class UserSearchVO extends BaseSearchVO{
private String userid;
private String name;
private String company;
private String phonenum;
private String auth;
public String getUserid() {
return userid;
}
public void setUserid(String userid) {
this.userid = userid;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getCompany() {
return company;
}
public void setCompany(String company) {
this.company = company;
}
public String getPhonenum() {
return phonenum;
}
public void setPhonenum(String phonenum) {
this.phonenum = phonenum;
}
public String getAuth() {
return auth;
}
public void setAuth(String auth) {
this.auth = auth;
}
}

View File

@ -0,0 +1,76 @@
package com.mca.user.vo;
public class UserVO {
private String userid;
private String password;
private String name;
private String company;
private String email;
private String phonenum;
private String regdate;
private int auth;
private String code;
private String description;
public String getUserid() {
return userid;
}
public void setUserid(String userid) {
this.userid = userid;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getCompany() {
return company;
}
public void setCompany(String company) {
this.company = company;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getPhonenum() {
return phonenum;
}
public void setPhonenum(String phonenum) {
this.phonenum = phonenum;
}
public String getRegdate() {
return regdate;
}
public void setRegdate(String regdate) {
this.regdate = regdate;
}
public int getAuth() {
return auth;
}
public void setAuth(int auth) {
this.auth = auth;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
}

View File

@ -0,0 +1,68 @@
/*
* Copyright 2008-2009 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.mca.util;
import egovframework.rte.ptl.mvc.tags.ui.pagination.AbstractPaginationRenderer;
import javax.servlet.ServletContext;
import org.springframework.web.context.ServletContextAware;
/**
* @Class Name : ImagePaginationRenderer.java
* @Description : ImagePaginationRenderer Class
* @Modification Information
* @
* @
* @ --------- --------- -------------------------------
* @ 2009.03.16
*
* @author
* @since 2009. 03.16
* @version 1.0
* @see
*
* Copyright (C) by MOPAS All right reserved.
*/
public class ImgPaginationRenderer extends AbstractPaginationRenderer implements ServletContextAware{
private ServletContext servletContext;
public ImgPaginationRenderer() {
// no-op
}
/**
* PaginationRenderer
*
* @see
*/
public void initVariables() {
firstPageLabel = "<a href=\"#\" onclick=\"{0}({1}); return false;\">" + "<image src='" + servletContext.getContextPath() + "/images/egovframework/cmmn/btn_page_pre10.gif' border=0/></a>&#160;";
previousPageLabel = "<a href=\"#\" onclick=\"{0}({1}); return false;\">" + "<image src='" + servletContext.getContextPath() + "/images/egovframework/cmmn/btn_page_pre1.gif' border=0/></a>&#160;";
currentPageLabel = "<strong>{0}</strong>&#160;";
otherPageLabel = "<a href=\"#\" onclick=\"{0}({1}); return false;\">{2}</a>&#160;";
nextPageLabel = "<a href=\"#\" onclick=\"{0}({1}); return false;\">" + "<image src='" + servletContext.getContextPath() + "/images/egovframework/cmmn/btn_page_next1.gif' border=0/></a>&#160;";
lastPageLabel = "<a href=\"#\" onclick=\"{0}({1}); return false;\">" + "<image src='" + servletContext.getContextPath() + "/images/egovframework/cmmn/btn_page_next10.gif' border=0/></a>&#160;";
}
@Override
public void setServletContext(ServletContext servletContext) {
this.servletContext = servletContext;
initVariables();
}
}

View File

@ -0,0 +1,45 @@
#UI resource#
list.sample=List Sample
button.search=\uac80\uc0c9
button.list=\ubaa9\ub85d
button.modify=\uc218\uc815
button.create=\ub4f1\ub85d
button.reset=\uc7ac\uc124\uc815
button.delete=\uc0ad\uc81c
search.choose=\uac80\uc0c9\uc5b4 \uc120\ud0dd
search.keyword=\uac80\uc0c9\uc5b4 \uc785\ub825
search.name=\uc774\ub984
search.id=ID
title.sample.id=\uce74\ud14c\uace0\ub9acID
title.sample.name=\uce74\ud14c\uace0\ub9ac\uba85
title.sample.useYn=\uc0ac\uc6a9\uc5ec\ubd80
title.sample.description=\uc124\uba85
title.sample.regUser=\ub4f1\ub85d\uc790
title.sample=\uae30\ubcf8 \uac8c\uc2dc\ud310 \ubaa9\ub85d
# image name #
image.search=btn_form_search.gif
image.errorBg=error
# -- validator errors -- #
fail.common.msg=\uc5d0\ub7ec\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4!
fail.common.sql=sql \uc5d0\ub7ec\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4! error code: {0}, error msg: {1}
info.nodata.msg=\ud574\ub2f9 \ub370\uc774\ud130\uac00 \uc5c6\uc2b5\ub2c8\ub2e4.
errors.prefix=<div class="error">
errors.suffix=</div><br/>
errors.required={0} \uc740 \ud544\uc218 \uc785\ub825\uac12\uc785\ub2c8\ub2e4.
errors.minlength={0} \uc740 {1}\uc790 \uc774\uc0c1 \uc785\ub825\ud574\uc57c \ud569\ub2c8\ub2e4.
errors.maxlength={0} \uc740 {1}\uc790 \uc774\uc0c1 \uc785\ub825\ud560\uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
errors.invalid={0} \uc740 \uc720\ud6a8\ud558\uc9c0 \uc54a\uc740 \uac12\uc785\ub2c8\ub2e4.
errors.byte={0} \uc740 byte \ud0c0\uc785\uc774\uc5b4\uc57c \ud569\ub2c8\ub2e4.
errors.short={0} \uc740 short \ud0c0\uc785\uc774\uc5b4\uc57c \ud569\ub2c8\ub2e4.
errors.integer={0} \uc740 integer \ud0c0\uc785\uc774\uc5b4\uc57c \ud569\ub2c8\ub2e4.
errors.long={0} \uc740 long \ud0c0\uc785\uc774\uc5b4\uc57c \ud569\ub2c8\ub2e4.
errors.float={0} \uc740 float \ud0c0\uc785\uc774\uc5b4\uc57c \ud569\ub2c8\ub2e4.
errors.double={0} \uc740 double \ud0c0\uc785\uc774\uc5b4\uc57c \ud569\ub2c8\ub2e4.
errors.date={0} \uc740 \ub0a0\uc9dc \uc720\ud615\uc774 \uc544\ub2d9\ub2c8\ub2e4.
errors.range={0} \uc740 {1} \uacfc {2} \uc0ac\uc774\uc758 \uac12\uc774\uc5b4\uc57c \ud569\ub2c8\ub2e4.
errors.creditcard={0} \uc740 \uc720\ud6a8\ud558\uc9c0 \uc54a\uc740 \uc2e0\uc6a9\uce74\ub4dc \ubc88\ud638\uc785\ub2c8\ub2e4.
errors.email={0} \uc740 \uc720\ud6a8\ud558\uc9c0 \uc54a\uc740 \uc774\uba54\uc77c \uc8fc\uc18c\uc785\ub2c8\ub2e4.
errors.ihidnum=\uc720\ud6a8\ud558\uc9c0 \uc54a\uc740 \uc8fc\ubbfc\ub4f1\ub85d\ubc88\ud638\uc785\ub2c8\ub2e4.
errors.korean={0}\uc740 \ud55c\uae00\uc744 \uc785\ub825\ud558\uc154\uc57c \ud569\ub2c8\ub2e4.

View File

@ -0,0 +1,46 @@
#UI resource#
list.sample=List Sample
button.search=Search
button.list=List
button.modify=Modify
button.create=Create
button.reset=Reset
button.delete=Delete
button.create=create
search.choose=Select Choose
search.keyword=Search
search.name=name
search.id=ID
title.sample.id=Category ID
title.sample.name=Category Name
title.sample.useYn=useYn
title.sample.description=Description
title.sample.regUser=User Name
title.sample=Default BBS List
# image name #
image.search=btn_form_search_en.gif
image.errorBg=error_en
# -- validator errors -- #
fail.common.msg=error ocurred!
fail.common.sql=sql error ocurred! error code: {0}, error msg: {1}
info.nodata.msg=no data found.
errors.prefix=<div class="error">
errors.suffix=</div><br/>
errors.required={0} is required.
errors.minlength={0} can not be less than {1} characters.
errors.maxlength={0} can not be greater than {1} characters.
errors.invalid={0} is invalid.
errors.byte={0} must be a byte.
errors.short={0} must be a short.
errors.integer={0} must be an integer.
errors.long={0} must be a long.
errors.float={0} must be a float.
errors.double={0} must be a double.
errors.date={0} is not a date.
errors.range={0} is not in the range {1} through {2}.
errors.creditcard={0} is an invalid credit card number.
errors.email={0} is an invalid e-mail address.
errors.ihidnum=An invalid Social Security Number.
errors.korean={0} must be a Korean.

View File

@ -0,0 +1,45 @@
#UI resource#
list.sample=List Sample
button.search=\uac80\uc0c9
button.list=\ubaa9\ub85d
button.modify=\uc218\uc815
button.create=\ub4f1\ub85d
button.reset=\uc7ac\uc124\uc815
button.delete=\uc0ad\uc81c
search.choose=\uac80\uc0c9\uc5b4 \uc120\ud0dd
search.keyword=\uac80\uc0c9\uc5b4 \uc785\ub825
search.name=\uc774\ub984
search.id=ID
title.sample.id=\uce74\ud14c\uace0\ub9acID
title.sample.name=\uce74\ud14c\uace0\ub9ac\uba85
title.sample.useYn=\uc0ac\uc6a9\uc5ec\ubd80
title.sample.description=\uc124\uba85
title.sample.regUser=\ub4f1\ub85d\uc790
title.sample=\uae30\ubcf8 \uac8c\uc2dc\ud310 \ubaa9\ub85d
# image name #
image.search=btn_form_search.gif
image.errorBg=error
# -- validator errors -- #
fail.common.msg=\uc5d0\ub7ec\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4!
fail.common.sql=sql \uc5d0\ub7ec\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4! error code: {0}, error msg: {1}
info.nodata.msg=\ud574\ub2f9 \ub370\uc774\ud130\uac00 \uc5c6\uc2b5\ub2c8\ub2e4.
errors.prefix=<div class="error">
errors.suffix=</div><br/>
errors.required={0} \uc740 \ud544\uc218 \uc785\ub825\uac12\uc785\ub2c8\ub2e4.
errors.minlength={0} \uc740 {1}\uc790 \uc774\uc0c1 \uc785\ub825\ud574\uc57c \ud569\ub2c8\ub2e4.
errors.maxlength={0} \uc740 {1}\uc790 \uc774\uc0c1 \uc785\ub825\ud560\uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
errors.invalid={0} \uc740 \uc720\ud6a8\ud558\uc9c0 \uc54a\uc740 \uac12\uc785\ub2c8\ub2e4.
errors.byte={0} \uc740 byte \ud0c0\uc785\uc774\uc5b4\uc57c \ud569\ub2c8\ub2e4.
errors.short={0} \uc740 short \ud0c0\uc785\uc774\uc5b4\uc57c \ud569\ub2c8\ub2e4.
errors.integer={0} \uc740 integer \ud0c0\uc785\uc774\uc5b4\uc57c \ud569\ub2c8\ub2e4.
errors.long={0} \uc740 long \ud0c0\uc785\uc774\uc5b4\uc57c \ud569\ub2c8\ub2e4.
errors.float={0} \uc740 float \ud0c0\uc785\uc774\uc5b4\uc57c \ud569\ub2c8\ub2e4.
errors.double={0} \uc740 double \ud0c0\uc785\uc774\uc5b4\uc57c \ud569\ub2c8\ub2e4.
errors.date={0} \uc740 \ub0a0\uc9dc \uc720\ud615\uc774 \uc544\ub2d9\ub2c8\ub2e4.
errors.range={0} \uc740 {1} \uacfc {2} \uc0ac\uc774\uc758 \uac12\uc774\uc5b4\uc57c \ud569\ub2c8\ub2e4.
errors.creditcard={0} \uc740 \uc720\ud6a8\ud558\uc9c0 \uc54a\uc740 \uc2e0\uc6a9\uce74\ub4dc \ubc88\ud638\uc785\ub2c8\ub2e4.
errors.email={0} \uc740 \uc720\ud6a8\ud558\uc9c0 \uc54a\uc740 \uc774\uba54\uc77c \uc8fc\uc18c\uc785\ub2c8\ub2e4.
errors.ihidnum=\uc720\ud6a8\ud558\uc9c0 \uc54a\uc740 \uc8fc\ubbfc\ub4f1\ub85d\ubc88\ud638\uc785\ub2c8\ub2e4.
errors.korean={0}\uc740 \ud55c\uae00\uc744 \uc785\ub825\ud558\uc154\uc57c \ud569\ub2c8\ub2e4.

View File

@ -0,0 +1,26 @@
#-----------------------------------------------------------------------
#
# globals.properties : \uc2dc\uc2a4\ud15c
#
#-----------------------------------------------------------------------
# 1. key = value \uad6c\uc870\uc785\ub2c8\ub2e4.
# 2. key\uac12\uc740 \uacf5\ubc31\ubb38\uc790\ub97c \ud3ec\ud568\ubd88\uac00, value\uac12\uc740 \uacf5\ubc31\ubb38\uc790\ub97c \uac00\ub2a5
# 3. key\uac12\uc73c\ub85c \ud55c\uae00\uc744 \uc0ac\uc6a9\ubd88\uac00, value\uac12\uc740 \ud55c\uae00\uc0ac\uc6a9\uc774 \uac00\ub2a5
# 4. \uc904\uc744 \ubc14\uafc0 \ud544\uc694\uac00 \uc788\uc73c\uba74 '\'\ub97c \ub77c\uc778\uc758 \ub05d\uc5d0 \ucd94\uac00(\ub9cc\uc57d '\'\ubb38\uc790\ub97c \uc0ac\uc6a9\ud574\uc57c \ud558\ub294 \uacbd\uc6b0\ub294 '\\'\ub97c \uc0ac\uc6a9)
# 5. Windows\uc5d0\uc11c\uc758 \ub514\ub809\ud1a0\ub9ac \ud45c\uc2dc : '\\' or '/' ('\' \uc0ac\uc6a9\ud558\uba74 \uc548\ub428)
# 6. Unix\uc5d0\uc11c\uc758 \ub514\ub809\ud1a0\ub9ac \ud45c\uc2dc : '/'
# 7. \uc8fc\uc11d\ubb38 \ucc98\ub9ac\ub294 #\uc0ac\uc6a9
# 8. value\uac12 \ub4a4\uc5d0 \uc2a4\ud398\uc774\uc2a4\uac00 \uc874\uc7ac\ud558\ub294 \uacbd\uc6b0 \uc11c\ube14\ub9bf\uc5d0\uc11c \ucc38\uc870\ud560\ub54c\ub294 \uc5d0\ub7ec\ubc1c\uc0dd\ud560 \uc218 \uc788\uc73c\ubbc0\ub85c trim()\ud558\uac70\ub098 \ub9c8\uc9c0\ub9c9 \uacf5\ubc31\uc5c6\uc774 properties \uac12\uc744 \uc124\uc815\ud560\uac83
#-----------------------------------------------------------------------
#File path
Global.fileStorePath = C:/MCA/upload/
#TEST DB
Global.datasource.driverClassName=com.mysql.cj.jdbc.Driver
Global.datasource.url=jdbc:mysql://106.247.244.146:57306/gg_mobile_220214?useSSL=false&serverTimezone=UTC
Global.datasource.username=root
Global.datasource.password=dbnt0928
#FieldVerify URL
Field.verifyPath = localhost:8080/UFQM/iface

View File

@ -0,0 +1,78 @@
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd">
<!-- component-scan 설정-->
<context:component-scan base-package="com">
<context:include-filter type="annotation" expression="org.springframework.stereotype.Repository"/>
<context:include-filter type="annotation" expression="org.springframework.stereotype.Service"/>
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
</context:component-scan>
<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="basenames">
<list>
<value>classpath:/egovframework/message/message-common</value>
<value>classpath:/egovframework/rte/fdl/idgnr/messages/idgnr</value>
<value>classpath:/egovframework/rte/fdl/property/messages/properties</value>
<value>classpath:property/globals</value>
</list>
</property>
<property name="cacheSeconds">
<value>60</value>
</property>
</bean>
<bean id="leaveaTrace" class="egovframework.rte.fdl.cmmn.trace.LeaveaTrace">
<property name="traceHandlerServices">
<list>
<ref bean="traceHandlerService" />
</list>
</property>
</bean>
<bean id="traceHandlerService" class="egovframework.rte.fdl.cmmn.trace.manager.DefaultTraceHandleManager">
<property name="reqExpMatcher">
<ref bean="antPathMater" />
</property>
<property name="patterns">
<list>
<value>*</value>
</list>
</property>
<property name="handlers">
<list>
<ref bean="defaultTraceHandler" />
</list>
</property>
</bean>
<bean class="org.springframework.http.converter.StringHttpMessageConverter" >
<property name="supportedMediaTypes">
<list>
<value>text/plain;charset=UTF-8</value>
<value>text/html;charset=UTF-8</value>
<value>application/json;charset=UTF-8</value>
</list>
</property>
</bean>
<bean class="org.springframework.web.servlet.view.json.MappingJackson2JsonView" id="jsonView"/>
<bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>text/plain;charset=UTF-8</value>
<value>text/html;charset=UTF-8</value>
<value>application/json;charset=UTF-8</value>
</list>
</property>
</bean>
<bean id="antPathMater" class="org.springframework.util.AntPathMatcher" />
<bean id="defaultTraceHandler" class="egovframework.rte.fdl.cmmn.trace.handler.DefaultTraceHandler" />
</beans>

View File

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:jdbc="http://www.springframework.org/schema/jdbc"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-4.0.xsd">
<!-- Mysql -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${Global.datasource.driverClassName}"/>
<property name="url" value="${Global.datasource.url}" />
<property name="username" value="${Global.datasource.username}"/>
<property name="password" value="${Global.datasource.password}"/>
</bean>
</beans>

View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd">
<bean name="egovIdGnrService" class="egovframework.rte.fdl.idgnr.impl.EgovTableIdGnrServiceImpl" destroy-method="destroy">
<property name="dataSource" ref="dataSource" />
<property name="strategy" ref="mixPrefixSample" />
<property name="blockSize" value="10"/>
<property name="table" value="IDS"/>
<property name="tableName" value="SAMPLE"/>
</bean>
<bean name="mixPrefixSample" class="egovframework.rte.fdl.idgnr.impl.strategy.EgovIdGnrStrategyImpl">
<property name="prefix" value="SAMPLE-" />
<property name="cipers" value="5" />
<property name="fillChar" value="0" />
</bean>
</beans>

View File

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd">
<!-- SqlSession setup for MyBatis Database Layer -->
<bean id="sqlSession" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="configLocation" value="classpath:/egovframework/sqlmap/sql-mapper-config.xml" />
<property name="mapperLocations" value="classpath:/egovframework/sqlmap/mappers/**/*.xml" />
</bean>
<bean class="egovframework.rte.psl.dataaccess.mapper.MapperConfigurer">
<property name="basePackage" value="com.mca.*.mapper" />
</bean>
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath:/egovframework/property/globals.properties</value>
</list>
</property>
</bean>
</beans>

View File

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd">
<bean name="propertiesService" class="egovframework.rte.fdl.property.impl.EgovPropertyServiceImpl" destroy-method="destroy">
<property name="properties">
<map>
<entry key="pageUnit" value="10"/>
<entry key="pageSize" value="10"/>
</map>
</property>
</bean>
</beans>

View File

@ -0,0 +1,59 @@
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:security="http://www.springframework.org/schema/security"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-4.2.xsd">
<!-- 중복 로그인 방지 -->
<!-- <bean id="concurrencyFilter" class="org.springframework.security.web.session.ConcurrentSessionFilter">
<constructor-arg ref="sessionRegistry" />
<constructor-arg value="/login.do" />
</bean> -->
<bean id="securityService" class="com.mca.sec.service.SecurityService"></bean>
<bean id="loginSuccessHandler" class="com.mca.sec.LoginSuccessHandler"></bean>
<bean id="bcryptPasswordEncoder" class="org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder"></bean>
<!-- AuthenticationProvider -->
<security:http auto-config="true" use-expressions="true">
<!-- Filter 제외 URL -->
<security:intercept-url pattern="/css/**" access="permitAll" />
<security:intercept-url pattern="/images/**" access="permitAll" />
<security:intercept-url pattern="/storage/**" access="permitAll" />
<security:intercept-url pattern="/js/**" access="permitAll" />
<!-- 인증 -->
<security:intercept-url pattern="/map/**" access="hasRole('ROLE_USER')" />
<security:intercept-url pattern="/admin/**" access="hasRole('ROLE_ADMIN')" />
<!-- Login 처리 -->
<security:form-login
login-processing-url="/j_spring_security_check"
login-page="/login"
authentication-success-handler-ref="loginSuccessHandler" />
<!-- Logout처리 -->
<security:logout
logout-url="/j_spring_security_logout"
invalidate-session="true"
success-handler-ref="logoutsuccessHandler" />
<!-- 접근 권한 에러 URL -->
<security:access-denied-handler error-page="/error/EgovAccessDenied"/>
</security:http>
<!-- Logout Success Handler -->
<bean id="logoutsuccessHandler" class="com.mca.sec.LogoutSuccessHandler">
<property name="successUrl" value="/login"></property>
</bean>
<!-- bcrypt 사용 고려 -->
<security:authentication-manager>
<security:authentication-provider user-service-ref="securityService">
<!-- <security:password-encoder ref="bcryptPasswordEncoder" /> -->
</security:authentication-provider>
</security:authentication-manager>
</beans>

View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd">
<!-- SqlMap setup for iBATIS Database Layer -->
<!-- <bean id="sqlMapClient" class="egovframework.rte.psl.orm.ibatis.SqlMapClientFactoryBean">
<property name="configLocation" value="classpath:/egovframework/sqlmap/example/sql-map-config.xml"/>
<property name="dataSource" ref="dataSource"/>
</bean> -->
</beans>

View File

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd">
<bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"/>
</bean>
<tx:advice id="txAdvice" transaction-manager="txManager">
<tx:attributes>
<tx:method name="*" rollback-for="Exception"/>
</tx:attributes>
</tx:advice>
<aop:config>
<aop:pointcut id="requiredTx" expression="execution(* egovframework.example.sample..impl.*Impl.*(..))"/>
<aop:advisor advice-ref="txAdvice" pointcut-ref="requiredTx" />
</aop:config>
</beans>

View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd">
<bean id="beanValidator" class="org.springmodules.validation.commons.DefaultBeanValidator">
<property name="validatorFactory" ref="validatorFactory"/>
</bean>
<bean id="validatorFactory" class="org.springmodules.validation.commons.DefaultValidatorFactory">
<property name="validationConfigLocations">
<list>
<value>/WEB-INF/config/egovframework/validator/validator-rules.xml</value>
<value>/WEB-INF/config/egovframework/validator/validator.xml</value>
</list>
</property>
</bean>
</beans>

View File

@ -0,0 +1,40 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mca.cmmn.mapper.AreaCodeMapper">
<select id="selectCity" resultType="areaCodeVO">
SELECT
code,
area
FROM
t_area_code
WHERE
code like '__'
ORDER BY code ASC
</select>
<select id="selectCounty" resultType="areaCodeVO">
SELECT
code,
area
FROM
t_area_code
WHERE
code LIKE '${code}'
ORDER BY code ASC
</select>
<select id="selectAreaName" parameterType="String" resultType="String">
SELECT
area
FROM
t_area_code
WHERE
code = #{code}
</select>
</mapper>

View File

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mca.cmmn.mapper.LayersMapper">
<select id="selectFacility" parameterType="String" resultType="layersVO" >
SELECT
*
FROM
t_layers
WHERE
layer = #{layer}
</select>
<select id="selectLayers" resultType="layersVO" >
SELECT
*
FROM
t_layers
ORDER BY NAME ASC
</select>
</mapper>

View File

@ -0,0 +1,66 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mca.map.mapper.FieldDataMapper">
<resultMap id="fieldDataMap" type="fieldDataVO">
<result column="id" property="id" />
<result column="userid" property="userid" />
<result column="save_date" property="save_date" />
<result column="data_path" property="data_path" />
<result column="layer_id" property="layer_id" />
<result column="field_data" property="field_data" />
<result column="region" property="region" />
<result column="description" property="description" />
<result column="status" property="status" />
<result column="err_note" property="err_note" />
<collection property="userVO" resultMap="userVO"></collection>
</resultMap>
<resultMap id="userVO" type="userVO">
<result column="userid" property="userid" />
<result column="name" property="name" />
<result column="company" property="company" />
<result column="email" property="email" />
<result column="phonenum" property="phonenum" />
</resultMap>
<select id="selectFieldDataList" parameterType="fieldDataSearchVO" resultMap="fieldDataMap" >
SELECT
a.id,
b.name,
b.company,
a.save_date,
a.region,
a.status
FROM
map_field_data a LEFT JOIN t_user b ON a.userid=b.userid
WHERE 1=1
ORDER BY id DESC
LIMIT #{recordCountPerPage} OFFSET #{firstIndex}
</select>
<select id="selectFieldDataCnt" resultType="int">
SELECT
COUNT(*)
FROM
map_field_data
WHERE 1 = 1
</select>
<select id="selectFieldData" parameterType="String" resultType="fieldDataVO">
SELECT
id,
userid,
save_date,
data_path,
layer_id,
field_data,
region,
description,
status,
err_note
FROM
map_field_data
WHERE id = #{id}
</select>
</mapper>

View File

@ -0,0 +1,54 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mca.map.mapper.UseHistoryMapper">
<!--해당 회원의 전체 요청 리스트 가져오기-->
<select id="selectUseHistoryList" parameterType="useHistorySearchVO" resultType="useHistoryVO" >
SELECT
log_date AS logDate,
req_area AS reqArea,
-- content,
a.userid,
b.name,
b.company
FROM
map_use_history a JOIN t_user b ON a.userid=b.userid
WHERE 1 = 1
<if test='searchKeyword != null and searchKeyword != ""'>
<choose>
<when test='searchCondition eq "all"'>
AND (content LIKE CONCAT('%',#{searchKeyword},'%')
OR b.name LIKE CONCAT('%',#{searchKeyword},'%')
OR b.company LIKE CONCAT('%',#{searchKeyword},'%')
OR a.area LIKE CONCAT('%',#{searchKeyword},'%'))
</when>
<otherwise>
AND ${searchCondition} LIKE CONCAT('%',#{searchKeyword},'%')
</otherwise>
</choose>
</if>
ORDER BY log_date DESC
LIMIT #{recordCountPerPage} OFFSET #{firstIndex}
</select>
<select id="selectUseHistoryCnt" resultType="int" >
SELECT
COUNT(*)
FROM
map_use_history a JOIN t_user b ON a.userid=b.userid
WHERE 1 = 1
<if test='searchKeyword != null and searchKeyword != ""'>
<choose>
<when test='searchCondition eq "all"'>
AND (content LIKE CONCAT('%',#{searchKeyword},'%')
OR b.name LIKE CONCAT('%',#{searchKeyword},'%')
OR b.company LIKE CONCAT('%',#{searchKeyword},'%'))
OR a.area LIKE CONCAT('%',#{searchKeyword},'%'))
</when>
<otherwise>
AND ${searchCondition} LIKE CONCAT('%',#{searchKeyword},'%')
</otherwise>
</choose>
</if>
</select>
</mapper>

View File

@ -0,0 +1,139 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mca.map.mapper.UseReqeustMapper">
<select id="selectUseRequestList" parameterType="useRequestSearchVO" resultType="useRequestVO" >
SELECT
idx,
title,
a.userid,
b.name,
b.company,
status,
s_date,
e_date,
r_date,
places,
layers,
tile_id,
user_msg,
admin_msg
FROM map_use_request a LEFT JOIN t_user b ON a.userid=b.userid
WHERE 1 = 1
<if test='userid != null and userid != ""'>
AND a.userid = #{userid}
</if>
<if test='status != null and status != ""'>
AND status = #{status}
</if>
<if test='searchKeyword != null and searchKeyword != ""'>
<choose>
<when test='searchCondition eq "all"'>
AND (title LIKE CONCAT('%',#{searchKeyword},'%')
OR b.name LIKE CONCAT('%',#{searchKeyword},'%')
OR b.company LIKE CONCAT('%',#{searchKeyword},'%'))
</when>
<otherwise>
AND ${searchCondition} LIKE CONCAT('%',#{searchKeyword},'%')
</otherwise>
</choose>
</if>
ORDER BY idx DESC
LIMIT #{recordCountPerPage} OFFSET #{firstIndex}
</select>
<select id="selectUseRequestCnt" parameterType="useRequestSearchVO" resultType="int" >
SELECT
COUNT(*)
FROM map_use_request a LEFT JOIN t_user b ON a.userid=b.userid
WHERE 1 = 1
<if test='userid != null and userid != ""'>
AND a.userid = #{userid}
</if>
<if test='status != null and status != ""'>
AND status = #{status}
</if>
<if test='searchKeyword != null and searchKeyword != ""'>
<choose>
<when test='searchCondition eq "all"'>
AND (title LIKE CONCAT('%',#{searchKeyword},'%')
OR b.name LIKE CONCAT('%',#{searchKeyword},'%')
OR b.company LIKE CONCAT('%',#{searchKeyword},'%'))
</when>
<otherwise>
AND ${searchCondition} LIKE CONCAT('%',#{searchKeyword},'%')
</otherwise>
</choose>
</if>
</select>
<select id="selectUseRequest" parameterType="int" resultType="useRequestVO" >
SELECT
*
FROM
map_use_request
WHERE
idx = #{idx}
</select>
<select id="selectUseRequeststatusCnt" resultType="int" >
SELECT
COUNT(*)
FROM
map_use_request
WHERE
status = 99
</select>
<insert id="insertReq" parameterType="useRequestVO">
INSERT INTO map_use_request
(
title,
s_date,
e_date,
r_date,
places,
layers,
userid,
user_msg
)
value
(
#{title},
#{s_date},
#{e_date},
NOW(),
#{places},
#{layers},
#{userid},
#{user_msg}
);
</insert>
<update id="updateReq" parameterType="useRequestVO">
UPDATE map_use_request SET
title = #{title},
s_date = #{s_date},
e_date = #{e_date},
r_date = now(),
places = #{places},
layers = #{layers},
user_msg = #{user_msg}
WHERE
idx = #{idx}
</update>
<update id="updateReqConfirm" parameterType="useRequestVO">
UPDATE map_use_request SET
status = #{status},
admin_id = #{admin_id},
admin_msg = #{admin_msg}
WHERE
idx = #{idx}
</update>
<delete id="deleteReq" parameterType="useRequestVO">
DELETE FROM map_use_request WHERE idx = #{idx}
</delete>
</mapper>

View File

@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mca.sec.mapper.SecurityMapper">
<select id="getUser" parameterType="String" resultType="loginUserVO" >
SELECT
USERID,
PASSWORD,
NAME,
COMPANY,
EMAIL,
PHONENUM,
REGDATE,
AUTH
FROM
T_USER
WHERE
USERID= #{id}
</select>
<select id="getAuthoritiesUser" parameterType="int" resultType="securityRolesVO" >
SELECT
AUTH,
CODE as AUTHORITY
FROM
T_USER_AUTH
WHERE
AUTH = #{auth}
</select>
</mapper>

View File

@ -0,0 +1,143 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mca.user.mapper.UserMapper">
<select id="selectUserList" parameterType="userSearchVO" resultType="userVO" >
SELECT
userid,
name,
company,
email,
phonenum,
regdate,
auth
FROM t_user
WHERE 1 = 1
<choose>
<when test='auth != null and auth != ""'>
AND auth = #{auth}
</when>
<otherwise>
AND auth != 99
</otherwise>
</choose>
<if test='searchKeyword != null and searchKeyword != ""'>
<choose>
<when test='searchCondition eq "all"'>
AND (name LIKE CONCAT('%',#{searchKeyword},'%')
OR company LIKE CONCAT('%',#{searchKeyword},'%')
OR email LIKE CONCAT('%',#{searchKeyword},'%')
OR phonenum LIKE CONCAT('%',#{searchKeyword},'%'))
</when>
<otherwise>
AND ${searchCondition} LIKE CONCAT('%',#{searchKeyword},'%')
</otherwise>
</choose>
</if>
ORDER BY regdate DESC
LIMIT #{recordCountPerPage} OFFSET #{firstIndex}
</select>
<select id="selectUserCount" parameterType="useRequestSearchVO" resultType="int" >
SELECT
COUNT(*)
FROM t_user
WHERE 1 = 1
<if test='auth != null and auth != ""'>
AND auth = #{auth}
</if>
<if test='searchKeyword != null and searchKeyword != ""'>
<choose>
<when test='searchCondition eq "all"'>
AND (name LIKE CONCAT('%',#{searchKeyword},'%')
OR company LIKE CONCAT('%',#{searchKeyword},'%')
OR email LIKE CONCAT('%',#{searchKeyword},'%')
OR phonenum LIKE CONCAT('%',#{searchKeyword},'%'))
</when>
<otherwise>
AND ${searchCondition} LIKE CONCAT('%',#{searchKeyword},'%')
</otherwise>
</choose>
</if>
</select>
<select id="selectUserStandByCount" resultType="int" >
SELECT
COUNT(*)
FROM
t_user
WHERE
auth = 99
</select>
<!-- 아이디 중복체크 -->
<select id="selectUserIdCheck" parameterType="String" resultType="int" >
SELECT
COUNT(userid)
FROM
T_USER
WHERE
userid = #{checkId}
</select>
<insert id="insertUser" parameterType="userVO">
INSERT INTO T_USER(
userid,
password,
name,
company,
email,
phonenum,
regdate,
auth
)
VALUES(
#{userid},
#{password},
#{name},
#{company},
#{email},
#{phonenum},
NOW(),
99
)
</insert>
<select id="selectUserInfo" resultType="userVO" parameterType="String">
SELECT
*
FROM
t_user
WHERE
userid = #{userid}
</select>
<update id="updateUserSign" parameterType="String">
UPDATE t_user SET
auth = 2
WHERE userid = #{userid}
</update>
<delete id="updateUserDelete" parameterType="String">
DELETE FROM
t_user
WHERE
userid = #{userid}
</delete>
<update id="updateUser" parameterType="userVO">
UPDATE t_user SET
<if test='password != null and password != ""'>
password = #{password},
</if>
<if test='auth != null and auth != ""'>
auth = #{auth},
</if>
name = #{name},
company = #{company},
email = #{email},
phonenum = #{phonenum}
WHERE userid = #{userid}
</update>
</mapper>

View File

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<typeAliases>
<!-- <typeAlias alias="searchVO" type="egovframework.example.sample.service.SampleDefaultVO"/> -->
<typeAlias alias="baseSearchVO" type="com.mca.cmmn.vo.BaseSearchVO" />
<typeAlias alias="layersVO" type="com.mca.cmmn.vo.LayersVO" />
<typeAlias alias="areaCodeVO" type="com.mca.cmmn.vo.AreaCodeVO" />
<typeAlias alias="useRequestVO" type="com.mca.map.vo.UseRequestVO"/>
<typeAlias alias="useRequestSearchVO" type="com.mca.map.vo.UseRequestSearchVO" />
<typeAlias alias="useHistoryVO" type="com.mca.map.vo.UseHistoryVO"/>
<typeAlias alias="useHistorySearchVO" type="com.mca.map.vo.UseHistorySearchVO" />
<typeAlias alias="fieldDataVO" type="com.mca.map.vo.FieldDataVO"/>
<typeAlias alias="fieldDataSearchVO" type="com.mca.map.vo.FieldDataSearchVO" />
<typeAlias alias="securityRolesVO" type="com.mca.sec.vo.SecurityRolesVO" />
<typeAlias alias="loginUserVO" type="com.mca.sec.vo.LoginUserVO" />
<typeAlias alias="userVO" type="com.mca.user.vo.UserVO"/>
<typeAlias alias="userSearchVO" type="com.mca.user.vo.UserSearchVO"/>
</typeAliases>
</configuration>

View File

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
<Appenders>
<Console name="console" target="SYSTEM_OUT">
<PatternLayout pattern="%d %5p [%c] %m%n" />
</Console>
</Appenders>
<Loggers>
<Logger name="java.sql" level="INFO" additivity="false">
<AppenderRef ref="console" />
</Logger>
<Logger name="egovframework" level="INFO" additivity="false">
<AppenderRef ref="console" />
</Logger>
<!-- log SQL with timing information, post execution -->
<Logger name="jdbc.sqltiming" level="INFO" additivity="false">
<AppenderRef ref="console" />
</Logger>
<Logger name="org.springframework" level="INFO" additivity="false">
<AppenderRef ref="console" />
</Logger>
<Root level="debug">
<AppenderRef ref="console" />
</Root>
</Loggers>
</Configuration>

View File

@ -0,0 +1,18 @@
#-----------------------------------------------------------------------
#
# globals.properties : \uc2dc\uc2a4\ud15c
#
#-----------------------------------------------------------------------
# 1. key = value \uad6c\uc870\uc785\ub2c8\ub2e4.
# 2. key\uac12\uc740 \uacf5\ubc31\ubb38\uc790\ub97c \ud3ec\ud568\ubd88\uac00, value\uac12\uc740 \uacf5\ubc31\ubb38\uc790\ub97c \uac00\ub2a5
# 3. key\uac12\uc73c\ub85c \ud55c\uae00\uc744 \uc0ac\uc6a9\ubd88\uac00, value\uac12\uc740 \ud55c\uae00\uc0ac\uc6a9\uc774 \uac00\ub2a5
# 4. \uc904\uc744 \ubc14\uafc0 \ud544\uc694\uac00 \uc788\uc73c\uba74 '\'\ub97c \ub77c\uc778\uc758 \ub05d\uc5d0 \ucd94\uac00(\ub9cc\uc57d '\'\ubb38\uc790\ub97c \uc0ac\uc6a9\ud574\uc57c \ud558\ub294 \uacbd\uc6b0\ub294 '\\'\ub97c \uc0ac\uc6a9)
# 5. Windows\uc5d0\uc11c\uc758 \ub514\ub809\ud1a0\ub9ac \ud45c\uc2dc : '\\' or '/' ('\' \uc0ac\uc6a9\ud558\uba74 \uc548\ub428)
# 6. Unix\uc5d0\uc11c\uc758 \ub514\ub809\ud1a0\ub9ac \ud45c\uc2dc : '/'
# 7. \uc8fc\uc11d\ubb38 \ucc98\ub9ac\ub294 #\uc0ac\uc6a9
# 8. value\uac12 \ub4a4\uc5d0 \uc2a4\ud398\uc774\uc2a4\uac00 \uc874\uc7ac\ud558\ub294 \uacbd\uc6b0 \uc11c\ube14\ub9bf\uc5d0\uc11c \ucc38\uc870\ud560\ub54c\ub294 \uc5d0\ub7ec\ubc1c\uc0dd\ud560 \uc218 \uc788\uc73c\ubbc0\ub85c trim()\ud558\uac70\ub098 \ub9c8\uc9c0\ub9c9 \uacf5\ubc31\uc5c6\uc774 properties \uac12\uc744 \uc124\uc815\ud560\uac83
#-----------------------------------------------------------------------
#FieldVerify URL
Field.verifyPath = localhost:8080/UFQM/iface

View File

@ -0,0 +1,3 @@
Manifest-Version: 1.0
Class-Path:

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,96 @@
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.3.xsd">
<context:component-scan base-package="com">
<context:include-filter type="annotation" expression="org.springframework.stereotype.Controller" />
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Service" />
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Repository" />
</context:component-scan>
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping" p:order="0" />
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
<property name="messageConverters">
<list>
<bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter" />
<bean class="org.springframework.http.converter.xml.Jaxb2RootElementHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>*/*;charset=UTF-8</value>
</list>
</property>
</bean>
</list>
</property>
</bean>
<bean class="org.springframework.web.servlet.view.UrlBasedViewResolver"
p:order="1"
p:viewClass="org.springframework.web.servlet.view.JstlView"
p:prefix="/WEB-INF/jsp/" p:suffix=".jsp" />
<!-- For Pagination Tag -->
<bean id="imageRenderer"
class="com.mca.util.ImgPaginationRenderer" />
<bean id="paginationManager"
class="egovframework.rte.ptl.mvc.tags.ui.pagination.DefaultPaginationManager">
<property name="rendererType">
<map>
<entry key="image" value-ref="imageRenderer" />
</map>
</property>
</bean>
<!-- /For Pagination Tag -->
<mvc:view-controller path="/cmmn/validator.do" view-name="cmmn/validator" />
<bean
class="org.springframework.web.servlet.view.json.MappingJackson2JsonView"
id="jsonView" />
<bean
class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>text/plain;charset=UTF-8</value>
<value>text/html;charset=UTF-8</value>
<value>application/json;charset=UTF-8</value>
</list>
</property>
</bean>
<!--
<mvc:annotation-driven/>
-->
<mvc:annotation-driven content-negotiation-manager="contentNegotiationManager" />
<bean id="contentNegotiationManager" class="org.springframework.web.accept.ContentNegotiationManagerFactoryBean">
<property name="favorPathExtension" value="false" />
<property name="favorParameter" value="true" />
<property name="mediaTypes">
<value>
json=application/json
xml=application/xml
</value>
</property>
</bean>
<mvc:resources mapping="/css/**" location="/css/" />
<mvc:resources mapping="/html/**" location="/html/" />
<mvc:resources mapping="/images/**" location="/images/" />
<mvc:resources mapping="/js/**" location="/js/" />
<mvc:resources mapping="/fonts/**" location="/fonts/" />
</beans>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE form-validation PUBLIC
"-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1//EN"
"http://jakarta.apache.org/commons/dtds/validator_1_1.dtd">
<form-validation>
<formset>
<form name="sampleVO">
<field property="name" depends="required">
<arg0 key="title.sample.name" />
</field>
<field property="description" depends="required">
<arg0 key="title.sample.description" />
</field>
<field property="regUser" depends="required">
<arg0 key="title.sample.regUser" />
</field>
</form>
</formset>
</form-validation>

View File

@ -0,0 +1,102 @@
<%@ 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"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>모바일센터 관리시스템</title>
<script src="<c:out value="/js/jquery-3.5.1.min.js" />"></script>
<script src="<c:out value="/js/bootstrap.min.js" />"></script>
<link href="<c:out value="/css/normalize.css" />" rel="stylesheet">
<link href="<c:out value="/css/bootstrap.min.css" />" rel="stylesheet">
<link href="<c:out value="/css/style.css" />" rel="stylesheet">
<style>
.searchList > li{
display: inline;
}
</style>
</head>
<script>
function fn_link_page(pageNo) {
document.searchForm.pageIndex.value = pageNo;
document.searchForm.action = "<c:url value='/admin/fieldData' />";
document.searchForm.submit();
}
</script>
<body>
<%@ include file="../include/header.jsp"%>
<section class="section">
<div class="section_title">
<!-- <p>현장 지원 시스템</p> -->
</div>
<div class="section_content">
<form:form commandName="fieldDataSearchVO" name="searchForm" action="/admin/fieldData" method="get">
<div class="search_div">
<div class="search_menu">&nbsp;</div>
<div class="search_keyword">
<select class="form-control search_selectbox" name="searchCondition">
<option <c:if test="${fieldDataSearchVO.searchCondition eq 'all'}"><c:out value="selected" /></c:if> value="all">통합검색</option>
<option <c:if test="${fieldDataSearchVO.searchCondition eq 'content'}"><c:out value="selected" /></c:if> value="content">작업내용</option>
<option <c:if test="${fieldDataSearchVO.searchCondition eq 'name'}"><c:out value="selected" /></c:if> value="name">이름</option>
<option <c:if test="${fieldDataSearchVO.searchCondition eq 'company'}"><c:out value="selected" /></c:if> value="company">소속</option>
<option <c:if test="${fieldDataSearchVO.searchCondition eq 'area'}"><c:out value="selected" /></c:if> value="area">위치</option>
</select>
<input type="text" class="form-control search_inputbox" name="searchKeyword" value="<c:out value="${fieldDataSearchVO.searchKeyword}" />" />
<input class="btn btn-default" type="submit" value="검색" />
</div>
</div>
<table class="list-table">
<thead>
<tr><th colspan="6">현장수집 데이터</th></tr>
<tr>
<th>Data ID</th>
<th>지역</th>
<th>소속</th>
<th>담당자</th>
<th>수집날짜</th>
<th>상태</th>
</tr>
</thead>
<tbody>
<c:if test="${count >= 1}">
<c:forEach var="item" items="${fieldDataList}">
<tr>
<td><a href="/admin/fieldData/${item.id}"><c:out value="${item.id}" /></a></td>
<td><a href="/admin/fieldData/${item.id}"><c:out value="${item.region}" /></a></td>
<td><c:out value="${item.userVO.company}" /></td>
<td><c:out value="${item.userVO.name}" /></td>
<td class="td_date"><c:out value="${item.save_date}" /></td>
<td>
<c:choose>
<c:when test="${item.status eq '0'}"><span class="label label-warning">수집</span> </c:when>
<c:when test="${item.status eq '1'}"><span class="label label-danger">검증실패</span> </c:when>
<c:when test="${item.status eq '2'}"><span class="label label-primary">검증</span> </c:when>
<c:when test="${item.status eq '3'}"><span class="label label-danger">반영실패</span> </c:when>
<c:when test="${item.status eq '4'}"><span class="label label-success">반영</span> </c:when>
</c:choose>
</td>
</tr>
</c:forEach>
</c:if>
<c:if test="${count == 0}">
<tr><td colspan="4">요청한 목록이 없습니다.</td></tr>
</c:if>
</tbody>
</table>
<div id="paging" style="width: 100%;">
<ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="fn_link_page" />
<form:hidden path="pageIndex" />
</div>
</form:form>
</div>
</section>
</body>
</html>

View File

@ -0,0 +1,341 @@
<%@ 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"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>모바일센터 관리시스템</title>
<script src="<c:out value="/js/jquery-3.5.1.min.js" />"></script>
<script src="<c:out value="/js/bootstrap.min.js" />"></script>
<script src="<c:out value="/js/openlayers/ol.js" />"></script>
<script src="<c:out value="/js/openlayers/proj4.js" />"></script>
<link href="<c:out value="/css/normalize.css" />" rel="stylesheet">
<link href="<c:out value="/css/bootstrap.min.css" />" rel="stylesheet">
<link href="<c:out value="/css/style.css" />" rel="stylesheet">
<link href="<c:out value="/css/openlayers/ol.css" />" rel="stylesheet">
</head>
<body>
<%@ include file="../include/header.jsp"%>
<section class="section">
<div class="section_title">
<!-- <p>현장 지원 시스템</p> -->
</div>
<div class="section_content">
<table class="detail_table">
<thead>
<tr>
<th colspan="6">담당자</th>
</tr>
</thead>
<tbody>
<tr>
<th>소속</th>
<td class="text-center"><c:out value='${userVO.company}' /></td>
<th>담당자</th>
<td class="text-center"><c:out value='${userVO.name}' /></td>
<th>연락처</th>
<td class="text-center"><c:out value='${userVO.phonenum}' /></td>
</tr>
</tbody>
</table>
<table class="detail_table">
<thead>
<tr>
<th colspan="4">지도정보</th>
</tr>
</thead>
<tbody>
<tr>
<th>레이어 ID</th>
<td class="text-center"><c:out value="${fieldDataVO.layer_id}" /></td>
<th>수집일</th>
<td class="text-center"><c:out value="${fieldDataVO.save_date}" /></td>
</tr>
<tr>
<th>지역</th>
<td class="text-center"><c:out value="${fieldDataVO.region}" /></td>
<th>상태</th>
<td class="text-center">
<c:choose>
<c:when test="${fieldDataVO.status eq '0'}">
<span class="label label-warning">수집</span>
</c:when>
<c:when test="${fieldDataVO.status eq '1'}">
<span class="label label-danger">검증실패</span>
</c:when>
<c:when test="${fieldDataVO.status eq '2'}">
<span class="label label-success">검증성공</span>
</c:when>
<c:when test="${fieldDataVO.status eq '3'}">
<span class="label label-danger">반영실패</span>
</c:when>
<c:when test="${fieldDataVO.status eq '4'}">
<span class="label label-success">반영</span>
</c:when>
</c:choose>
</td>
</tr>
<tr>
<th>설명</th>
<td></td>
<th>오류내용</th>
<td></td>
</tr>
</tbody>
</table>
<div class="field_data_content">
<div class="mapWrap">
<div class="map-title">측량데이터</div>
<div class="map" id="map"></div>
</div>
<div class="fieldDataDiv">
<table class="fieldDataTable" id="fieldDataTable">
<thead>
<tr>
<th colspan="4">속성정보</th>
</tr>
</thead>
<tbody id="fieldDataBody">
</tbody>
</table>
</div>
<ul id="fieldDataPaging" class="fieldDataPaging"></ul>
</div>
<div class="section_btn">
<p class="search_p1">
<input class="btn btn-primary" type="button" value="목록" onclick="location.href='/admin/fieldData'" />
</p>
<p class="search_p2">
<input class="btn btn-primary" type="button" value="표준DB변환 및 검증" onclick="fieldVerify();" />
<input class="btn btn-primary" type="button" value="반영" onclick="fieldReflect();" />
</p>
</div>
</div>
</section>
</body>
<script>
function fieldVerify(){
alert('준비중');
}
function fieldReflect(){
alert('준비중');
}
$(function() {
drawingObj();
makePropPaging();
makePropTable();
});
var field_data = JSON.parse('${fieldDataVO.field_data}');
var wkt = null;
proj4.defs('EPSG:5186', '+proj=tmerc +lat_0=38 +lon_0=127 +k=1 +x_0=200000 +y_0=600000 +ellps=GRS80 +units=m +no_defs');
var baseMap = new ol.layer.Tile({
title : 'vworldMap',
visible : true,
type : 'base',
source : new ol.source.XYZ({
url : 'http://api.vworld.kr/req/wmts/1.0.0/5616CAD1-5D79-3EE3-87D5-878A4AD0F91F/Base/{z}/{y}/{x}.png'
})
});
var view = new ol.View({
center : ol.proj.transform([ 203766.984, 541132.2 ], 'EPSG:5186', 'EPSG:3857'),
zoom : 18, // 초기화면 zoom level
minZoom : 1, // 최소 zoom level
maxZoom : 19, // 최대 zoom level
});
var map = new ol.Map({
layers : [ baseMap ],
logo : false, //우측하단 로고 제거
target : 'map',
loadTilesWhileAnimating : true,
view : view
});
var format = new ol.format.WKT();
var objVectorSource = new ol.source.Vector({});
var objVectorLayer = new ol.layer.Vector({
source : objVectorSource,
style : objStyle
});
var cursorStyle = "";
var selected = null;
map.on("pointermove", function(e) {
if (selected !== null) {
selected.setStyle(undefined);
selected = null;
}
var newStyle = this.hasFeatureAtPixel(e.pixel) ? "pointer" : "";
newStyle !== cursorStyle && $(this.getTargetElement()).css("cursor", cursorStyle = newStyle);
map.forEachFeatureAtPixel(e.pixel, function(f) {
selected = f;
f.setStyle(highlightStyle);
return true;
});
});
var highlightStyle = new ol.style.Style({
stroke : new ol.style.Stroke({
color : '#3399CC',
width : 8,
}),
});
// feature click evt
map.on('click', function(event) {
map.forEachFeatureAtPixel(event.pixel, function(feature, layer) {
var idx = feature.get("idx");
makePropTable(idx);
})
});
function objStyle(feature, resolution) {
var selected = feature.get('selected');
var style = null;
if (selected) {
style = new ol.style.Style({
stroke : new ol.style.Stroke({
color : '#f00',
width : 5
})
});
} else {
style = new ol.style.Style({
stroke : new ol.style.Stroke({
color : '#52b4e7',
width : 5
})
});
}
return style;
}
function resetObjStyle() {
var feature = getObjFeatureBySelected();
if (feature) {
feature.set("selected", false);
}
}
function makePropTable(idx) {
if (idx == null)
idx = 0;
$("#fieldDataBody > tr").remove();
var num = 0;
var tags = "";
for(var i in field_data[idx].prop) {
num++;
if(num % 2 == 0){
tags += "<th>" + i + "</th><td>" + field_data[idx].prop[i] + "</td></tr>";
}else{
tags += "<tr><th>" + i + "</th><td>" + field_data[idx].prop[i] + "</td>";
}
}
$("#fieldDataBody").append(tags);
nowPagingOn(idx);
resetObjStyle();
//중심좌표 구하기?
//var aa = feature.getGeometry().v;
//var oo = ol.extent.getCenter(aa);
var center = field_data[idx].center;
var feature = getObjFeatureByIdx(idx);
moveCenter(center);
if (feature) {
feature.set("selected", true);
}
}
function nowPagingOn(idx){
$(".paging_li").removeClass("fieldPagingOn")
$("#paging_li"+idx).attr("class", "fieldPagingOn paging_li");
}
function makePropPaging() {
var pagingNumber = 0;
for (var idx in field_data) {
pagingNumber++;
$("#fieldDataPaging").append('<li class="paging_li" id="paging_li'+idx+'" onclick="makePropTable(' + idx + ')">' + pagingNumber+ '</li>');
}
}
function drawingObj() {
objVectorSource.clear();
var objFeatures = [];
for (var idx in field_data) {
var objFeature = format.readFeature(field_data[idx].WKT, {
dataProjection : 'EPSG:5186',
featureProjection : 'EPSG:3857'
});
objFeature.setProperties({
"idx" : idx,
"selected" : false
});
objFeatures.push(objFeature);
}
objVectorSource.addFeatures(objFeatures);
map.addLayer(objVectorLayer);
}
function moveCenter(center) {
var coordinates = ol.proj.transform(center, 'EPSG:5186', 'EPSG:3857');
map.getView().setCenter(coordinates);
}
function getObjFeatureBySelected() {
var features = objVectorSource.getFeatures();
var feature = null;
for (var i = 0, size = features.length; i < size; i++) {
if (features[i].get('selected') == true) {
feature = features[i];
break;
}
}
return feature;
}
function getObjFeatureByIdx(idx) {
var features = objVectorSource.getFeatures();
var feature = null;
for (var i = 0, size = features.length; i < size; i++) {
if (features[i].get('idx') == idx) {
feature = features[i];
break;
}
}
return feature;
}
</script>
</html>

View File

@ -0,0 +1,85 @@
<%@ 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"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>모바일센터 관리시스템</title>
<script src="<c:out value="/js/jquery-3.5.1.min.js" />"></script>
<script src="<c:out value="/js/bootstrap.min.js" />"></script>
<link href="<c:out value="/css/normalize.css" />" rel="stylesheet">
<link href="<c:out value="/css/bootstrap.min.css" />" rel="stylesheet">
<link href="<c:out value="/css/style.css" />" rel="stylesheet">
</head>
<body>
<%@ include file="../include/header.jsp"%>
<section class="section">
<div class="section_title">
<!-- <p>현장 지원 시스템</p> -->
</div>
<div class="section_content">
<form:form commandName="UseHistorySearchVO" name="searchForm" action="/admin/history" method="get">
<div class="search_div">
<div class="search_menu">&nbsp;</div>
<div class="search_keyword">
<select class="form-control search_selectbox" name="searchCondition">
<option <c:if test="${UseHistorySearchVO.searchCondition eq 'all'}"><c:out value="selected" /></c:if> value="all">통합검색</option>
<option <c:if test="${UseHistorySearchVO.searchCondition eq 'content'}"><c:out value="selected" /></c:if> value="content">작업내용</option>
<option <c:if test="${UseHistorySearchVO.searchCondition eq 'name'}"><c:out value="selected" /></c:if> value="name">이름</option>
<option <c:if test="${UseHistorySearchVO.searchCondition eq 'company'}"><c:out value="selected" /></c:if> value="company">소속</option>
<option <c:if test="${UseHistorySearchVO.searchCondition eq 'area'}"><c:out value="selected" /></c:if> value="area">위치</option>
</select>
<input type="text" class="form-control search_inputbox" name="searchKeyword" value="<c:out value='${UseHistorySearchVO.searchKeyword}' />" />
<input class="btn btn-default" type="submit" value="검색" />
</div>
</div>
<table class="list-table">
<thead>
<tr><th colspan="5">지도사용 이력</th></tr>
<tr>
<th>위치</th>
<th>작업내용</th>
<th>소속</th>
<th>담당자</th>
<th>날짜</th>
</tr>
</thead>
<tbody>
<c:if test="${count >= 1}">
<c:forEach var="item" items="${useHistoryList}">
<tr>
<td><c:out value="${item.reqArea}" /></td>
<td><%--<c:out value="${item.content}" />--%></td>
<td><c:out value="${item.company}" /></td>
<td><c:out value="${item.name}" /></td>
<td class="td_date"><c:out value="${item.logDate}" /></td>
</tr>
</c:forEach>
</c:if>
<c:if test="${count == 0}">
<tr><td colspan="5">요청한 목록이 없습니다.</td></tr>
</c:if>
</tbody>
</table>
<div id="paging" style="width: 100%;">
<ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="fn_link_page" />
<form:hidden path="pageIndex" />
</div>
</form:form>
</div>
</section>
</body>
</html>

View File

@ -0,0 +1,106 @@
<%@ 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"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>모바일센터 관리시스템</title>
<script src="<c:out value="/js/jquery-3.5.1.min.js" />"></script>
<script src="<c:out value="/js/bootstrap.min.js" />"></script>
<link href="<c:out value="/css/normalize.css" />" rel="stylesheet">
<link href="<c:out value="/css/bootstrap.min.css" />" rel="stylesheet">
<link href="<c:out value="/css/style.css" />" rel="stylesheet">
</head>
<script>
function fn_link_page(pageNo) {
document.searchForm.pageIndex.value = pageNo;
document.searchForm.action = "<c:url value='/admin/request' />";
document.searchForm.submit();
}
</script>
<body>
<%@ include file="../include/header.jsp"%>
<section class="section">
<div class="section_title">
<!-- <p>현장 지원 시스템</p> -->
</div>
<div class="section_content">
<form:form commandName="useRequestSearchVO" name="searchForm" action="/admin/request" method="get">
<input type="hidden" name="status" value="<c:out value="${useRequestSearchVO.status}" />" />
<div class="search_div">
<div class="search_menu">
<ul class="nav nav-pills" role="tablist">
<li role="presentation" <c:if test="${empty useRequestSearchVO.status}">class="active"</c:if>><a href="/admin/request">전체</a></li>
<li role="presentation" <c:if test="${useRequestSearchVO.status eq '0'}">class="active"</c:if>><a href="/admin/request?status=0">승인</a></li>
<li role="presentation" <c:if test="${useRequestSearchVO.status eq '-1'}">class="active"</c:if>><a href="/admin/request?status=-1">반려</a></li>
<li role="presentation" <c:if test="${useRequestSearchVO.status eq '99'}">class="active"</c:if>><a href="/admin/request?status=99">승인대기<span class="badge"><c:out value="${statusCnt}" /></span></a></li>
</ul>
</div>
<div class="search_keyword">
<select class="form-control search_selectbox" name="searchCondition">
<option <c:if test="${useRequestSearchVO.searchCondition eq 'all'}"><c:out value="selected" /></c:if> value="all">통합검색</option>
<option <c:if test="${useRequestSearchVO.searchCondition eq 'title'}"><c:out value="selected" /></c:if> value="title">작업명</option>
<option <c:if test="${useRequestSearchVO.searchCondition eq 'name'}"><c:out value="selected" /></c:if> value="name">이름</option>
<option <c:if test="${useRequestSearchVO.searchCondition eq 'company'}"><c:out value="selected" /></c:if> value="company">소속</option>
</select>
<input type="text" class="form-control search_inputbox" name="searchKeyword" value="<c:out value='${useRequestSearchVO.searchKeyword}' />" />
<input class="btn btn-default" type="submit" value="검색" />
</div>
</div>
<table class="list-table">
<thead>
<tr><th colspan="6">지도사용 요청</th></tr>
<tr>
<th>번호</th>
<th>작업명</th>
<th>소속</th>
<th>담당자</th>
<th>날짜</th>
<th>상태</th>
</tr>
</thead>
<tbody>
<c:if test="${count >= 1}">
<c:forEach var="item" items="${useRequestList}" varStatus="idx">
<tr>
<td><c:out value="${item.idx}" /></td>
<td class="title-td"><a href="/admin/request/<c:out value='${item.idx}' />"><c:out value="${item.title}" /></a></td>
<td><c:out value="${item.company}" /></td>
<td><c:out value="${item.name}" /></td>
<td class="td_date"><c:out value="${item.r_date}" /></td>
<td>
<c:choose>
<c:when test="${item.status eq '99'}"><span class="label label-warning"><c:out value='승인대기' /></span></c:when>
<c:when test="${item.status eq '0'}"><span class="label label-success"><c:out value='승인' /></span></c:when>
<c:when test="${item.status eq '-1'}"><span class="label label-default"><c:out value='반려' /></span></c:when>
</c:choose>
</td>
</tr>
</c:forEach>
</c:if>
<c:if test="${count == 0}">
<tr><td colspan="6">요청한 목록이 없습니다.</td></tr>
</c:if>
</tbody>
</table>
<div id="paging" style="width: 100%;">
<ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="fn_link_page" />
<form:hidden path="pageIndex" />
</div>
</form:form>
</div>
</section>
</body>
</html>

View File

@ -0,0 +1,215 @@
<%@ 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"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>모바일센터 관리시스템</title>
<script src="<c:out value="/js/jquery-3.5.1.min.js" />"></script>
<script src="<c:out value="/js/bootstrap.min.js" />"></script>
<link href="<c:out value="/css/normalize.css" />" rel="stylesheet">
<link href="<c:out value="/css/bootstrap.min.css" />" rel="stylesheet">
<link href="<c:out value="/css/style.css" />" rel="stylesheet">
</head>
<body>
<%@ include file="../include/header.jsp"%>
<section class="section">
<form:form commandName="useRequestVO" name="frm" method="POST" action="/admin/updateReqConfirm" id="updateFrm">
<input type="hidden" name="idx" value="<c:out value='${useRequestVO.idx}' />" />
<input type="hidden" name="admin_id" value="<c:out value='${loginUserVO.userid}' />" />
<div class="section_title">
<!-- <p>현장 지원 시스템</p> -->
</div>
<div class="section_content">
<input type="hidden" id="layers" name="layers"/>
<input type="hidden" id="places" name="places"/>
<table class="detail_table">
<thead>
<tr><th colspan="8">담당자</th></tr>
</thead>
<tbody>
<tr>
<th>소속</th>
<td class="text-center"><c:out value='${userVO.company}' /></td>
<th>담당자</th>
<td class="text-center"><c:out value='${userVO.name}' /></td>
<th>연락처</th>
<td class="text-center"><c:out value='${userVO.phonenum}' /></td>
<th>상태</th>
<td class="text-center">
<c:choose>
<c:when test="${useRequestVO.status eq '99'}"><span class="label label-warning"><c:out value='승인대기' /></span></c:when>
<c:when test="${useRequestVO.status eq '0'}"><span class="label label-success"><c:out value='승인' /></span></c:when>
<c:when test="${useRequestVO.status eq '-1'}"><span class="label label-default"><c:out value='반려' /></span></c:when>
</c:choose>
</td>
</tr>
</tbody>
</table>
<table class="detail_table">
<thead>
<tr><th colspan="5">지도 사용 요청</th></tr>
</thead>
<tbody>
<tr>
<th colspan="2">작업명</th>
<td><c:out value='${useRequestVO.title}' /></td>
</tr>
<tr>
<th colspan="2">기간</th>
<td><c:out value='${useRequestVO.s_date}' /> ~ <c:out value='${useRequestVO.e_date}' /></td>
</tr>
<tr>
<th colspan="2">장소</th>
<td id="area_select_td">
<c:forEach var="item" items="${selectArea}" varStatus="status">
<div id="addedBlock<c:out value='${status.index}' />">
<c:out value='' />${item}
</div>
</c:forEach>
</td>
</tr>
<tr>
<th style="width:7%;" rowspan="3">레이어</th>
<th><label>지하시설물</label></th>
<td>
<div class="facility">
<c:forEach var="item" items="${layersVO}" varStatus="status">
<c:if test="${item.code eq 'facility'}">
<c:set var="faciltySize" value="${faciltySize+1}" />
<label class="layer-label">
<input type="checkbox" name="${item.code}" id="${item.code}" disabled="disabled" value="${item.layer}"
<c:forEach var="item2" items="${layers}" varStatus="status2">
<c:if test="${item.layer eq item2}">
<c:out value='checked' />
</c:if>
</c:forEach>
/> <c:out value='${item.name}' />
</label>
</c:if>
</c:forEach>
</div>
</td>
</tr>
<tr>
<th><label>지하구조물</label></th>
<td>
<div class="structure">
<c:forEach var="item" items="${layersVO}" varStatus="status">
<c:if test="${item.code eq 'structure'}">
<label class="layer-label"><input type="checkbox" name="${item.code}" id="${item.code}" disabled="disabled" value="${item.layer}"
<c:forEach var="item2" items="${layers}" varStatus="status2">
<c:if test="${item.layer eq item2}">
<c:out value='checked' />
</c:if>
</c:forEach>
/> <c:out value='${item.name}' />
</label>
</c:if>
</c:forEach>
</div>
</td>
</tr>
<tr>
<th><label>지반</label></th>
<td>
<div class="ground">
<c:forEach var="item" items="${layersVO}" varStatus="status">
<c:if test="${item.code eq 'ground'}">
<label class="layer-label"><input type="checkbox" name="${item.code}" id="${item.code}" disabled="disabled" value="${item.layer}"
<c:forEach var="item2" items="${layers}" varStatus="status2">
<c:if test="${item.layer eq item2}">
checked
</c:if>
</c:forEach>
/> <c:out value='${item.name}' />
</label>
</c:if>
</c:forEach>
</div>
</td>
</tr>
<tr>
<th colspan="2">요청 내용</th>
<td><c:out value='${useRequestVO.user_msg}' /></td>
</tr>
</tbody>
</table>
<c:choose>
<c:when test="${useRequestVO.status eq '99'}">
<table class="detail_table">
<tbody>
<tr>
<th>전달 메세지</th>
<td>
<textarea class="form-control" rows="3" style="resize:none;" name="admin_msg"></textarea>
</td>
</tr>
</tbody>
</table>
<input type="hidden" name="status" id="status" />
<div class="section_btn">
<p class="search_p1">
<input class="btn btn-primary" type="button" value="목록" onclick="location.href='/admin/request'" />
</p>
<p class="search_p2">
<input class="btn btn-primary" type="button" value="거절" onclick="confirmReqBtn('-1'); return false;" />
<input class="btn btn-primary" type="button" value="승인" onclick="confirmReqBtn('0'); return false;" />
</p>
</div>
</c:when>
<c:otherwise>
<table class="detail_table">
<tbody>
<tr>
<th>전달 메세지</th>
<td><c:out value='${useRequestVO.admin_msg}' /></td>
</tr>
</tbody>
</table>
<div class="section_btn">
<p class="search_p1">
<input class="btn btn-primary" type="button" value="목록" onclick="location.href='/admin/request'" />
</p>
</div>
</c:otherwise>
</c:choose>
</div>
</form:form>
</section>
<script type="text/javascript">
function confirmReqBtn(val){
$("#status").val(val);
var msg;
if(val == 0){
msg = "승인";
}else{
msg = "거절";
}
if(confirm("지도사용요청을 "+msg+" 하시겠습니까?")){
$("#updateFrm").submit();
}else{
return false;
}
}
</script>
</body>
</html>

View File

@ -0,0 +1,146 @@
<%@ 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"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>모바일센터 관리시스템</title>
<script src="<c:out value="/js/jquery-3.5.1.min.js" />"></script>
<script src="<c:out value="/js/bootstrap.min.js" />"></script>
<link href="<c:out value="/css/normalize.css" />" rel="stylesheet">
<link href="<c:out value="/css/bootstrap.min.css" />" rel="stylesheet">
<link href="<c:out value="/css/style.css" />" rel="stylesheet">
<style>
.searchList > li{
display: inline;
}
</style>
</head>
<script>
function fn_link_page(pageNo) {
document.searchForm.pageIndex.value = pageNo;
document.searchForm.action = "<c:url value='/admin/userInfo' />";
document.searchForm.submit();
}
</script>
<body>
<%@ include file="../include/header.jsp"%>
<section class="section">
<div class="section_title">
<!-- <p>현장 지원 시스템</p> -->
</div>
<div class="section_content">
<form:form commandName="userSearchVO" name="searchForm" action="/admin/userInfo" method="get">
<div class="search_div">
<div class="search_menu">
<ul class="nav nav-pills" role="tablist">
<li role="presentation" <c:if test="${userSearchVO.auth eq '99'}">class="active"</c:if>><a href="/admin/userInfo?auth=99">승인대기<span class="badge"><c:out value='${standByCount}' /></span></a></li>
<li role="presentation" <c:if test="${empty userSearchVO.auth}">class="active"</c:if>><a href="/admin/userInfo">회원 관리</a></li>
</ul>
<input type="hidden" name="auth" value="${userSearchVO.auth}" />
</div>
<div class="search_keyword">
<select class="form-control search_selectbox" name="searchCondition">
<option <c:if test="${userSearchVO.searchCondition eq 'all'}">selected</c:if> value="all">통합검색</option>
<option <c:if test="${userSearchVO.searchCondition eq 'name'}">selected</c:if> value="name">이름</option>
<option <c:if test="${userSearchVO.searchCondition eq 'company'}">selected</c:if> value="company">소속</option>
<option <c:if test="${userSearchVO.searchCondition eq 'email'}">selected</c:if> value="email">이메일</option>
<option <c:if test="${userSearchVO.searchCondition eq 'phonenum'}">selected</c:if> value="phonenum">전화번호</option>
</select>
<input type="text" class="form-control search_inputbox" name="searchKeyword" value="${userSearchVO.searchKeyword}" />
<input class="btn btn-default" type="submit" value="검색" />
</div>
</div>
<table class="list-table">
<thead>
<tr><th colspan="7">회원 관리</th></tr>
<tr>
<th>아이디</th>
<th>이름</th>
<th>소속</th>
<th>전화번호</th>
<th>이메일</th>
<th>가입일</th>
<c:choose>
<c:when test="${userSearchVO.auth eq '99'}">
<th>상태</th>
</c:when>
<c:otherwise>
<th>권한</th>
</c:otherwise>
</c:choose>
</tr>
</thead>
<tbody>
<c:if test="${count >= 1}">
<c:forEach var="item" items="${userList}" varStatus="idx">
<tr>
<td><a href="/admin/userInfo/<c:out value='${item.userid}' />"><c:out value='${item.userid}' /></a></td>
<td><a href="/admin/userInfo/<c:out value='${item.userid}' />"><c:out value='${item.name}' /></a></td>
<td><a href="/admin/userInfo/<c:out value='${item.userid}' />"><c:out value='${item.company}' /></a></td>
<td><a href="/admin/userInfo/<c:out value='${item.userid}' />"><c:out value='${item.phonenum}' /></a></td>
<td><a href="/admin/userInfo/<c:out value='${item.userid}' />"><c:out value='${item.email}' /></a></td>
<td class="td_date"><c:out value='${item.regdate}' /></a></td>
<td>
<c:choose>
<c:when test="${item.auth eq '1'}">관리자</c:when>
<c:when test="${item.auth eq '2'}">사용자</c:when>
<c:when test="${item.auth eq '99'}">
<input type="button" class="btn btn-default" value="승인" onclick="confirmBtn('${item.userid}','2'); return false;" />
<input type="button" class="btn btn-default" value="삭제" onclick="confirmBtn('${item.userid}','-1'); return false;" />
</c:when>
</c:choose>
</td>
</tr>
</c:forEach>
</c:if>
<c:if test="${count == 0}">
<tr><td colspan="7">요청한 목록이 없습니다.</td></tr>
</c:if>
</tbody>
</table>
<div id="paging" style="width: 100%;">
<ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="fn_link_page" />
<form:hidden path="pageIndex" />
</div>
</form:form>
<form:form commandName="userVO" id="updateFrm" method="post" action="/admin/userSign">
<input type="hidden" id="userid" name="userid" />
<input type="hidden" id="auth" name="auth" />
</form:form>
</div>
</section>
<script type="text/javascript">
function confirmBtn(userid, auth){
$("#userid").val(userid);
$("#auth").val(auth);
var msg;
if(auth == 2){
msg = "승인";
}else{
msg = "삭제";
}
if(confirm(msg+" 처리 하시겠습니까?")){
$("#updateFrm").submit();
}else{
return false;
}
}
</script>
</body>
</html>

View File

@ -0,0 +1,165 @@
<%@ 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"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>모바일센터 관리시스템</title>
<script src="<c:out value="/js/jquery-3.5.1.min.js" />"></script>
<script src="<c:out value="/js/bootstrap.min.js" />"></script>
<link href="<c:out value="/css/normalize.css" />" rel="stylesheet">
<link href="<c:out value="/css/bootstrap.min.css" />" rel="stylesheet">
<link href="<c:out value="/css/style.css" />" rel="stylesheet">
</head>
<body>
<%@ include file="../include/header.jsp"%>
<section class="section">
<div class="section_content">
<form:form commandName="userVO" name="updateForm" id="updateForm" action="/admin/userUpdate" method="post">
<input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}" />
<input type="hidden" name="userid" value="${userVO.userid}" />
<div class="join_top">
<h2><span class="glyphicon glyphicon-edit"></span> 회원 정보 수정</h2>
</div>
<table class="join_table">
<tbody>
<tr>
<th>아이디</th>
<td>${userVO.userid}</td>
</tr>
<tr>
<th>비밀번호</th>
<td>
<p><label><input type="checkbox" id="changePw" /> 비밀번호 변경</<label></p>
<input type="password" class="form-control" id="password" name="password" value="" disabled="true" />
</td>
</tr>
<tr>
<th>비밀번호 확인</th>
<td><input type="password" class="form-control" id="passwordCheck" name="passwordCheck" value="" disabled="true" />
</td>
</tr>
<tr>
<th>이름</th>
<td><input type="text" class="form-control" name="name" id="name" value="${userVO.name}" /></td>
</tr>
<tr>
<th>소속기관</th>
<td><input type="text" class="form-control" name="company" id="company" value="${userVO.company}" /></td>
</tr>
<tr>
<th>연락처</th>
<td><input type="text" class="form-control" name="phonenum" id="phonenum" value="${userVO.phonenum}"/></td>
</tr>
<tr>
<th>이메일</th>
<td>
<div>
<input type="text" class="form-control" name="email" id="email" value="${userVO.email}" />
</div>
</td>
</tr>
<c:if test="${userVO.auth ne '99'}">
<tr>
<th>권한</th>
<td>
<label class="auth-label">
<input type="radio" name="auth" value="2"
<c:if test="${userVO.auth eq '2'}">checked</c:if>
/> 사용자
</label>
<label class="auth-label">
<input type="radio" name="auth" value="1"
<c:if test="${userVO.auth eq '1'}">checked</c:if>
/> 관리자
</label>
</td>
</tr>
</c:if>
</tbody>
</table>
<div class="join_top" style="margin-top:20px;">
<p class="search_p1">
<input class="btn btn-primary" type="button" value="목록" onclick="history.go(-1)" />
</p>
<p class="search_p2">
<c:choose>
<c:when test="${userVO.auth eq '99'}">
<input type="button" class="btn btn-primary" value="승인" onclick="confirmBtn('${item.userid}','2'); return false;" />
<input type="button" class="btn btn-primary" value="삭제" onclick="confirmBtn('${item.userid}','-1'); return false;" />
</c:when>
<c:otherwise>
<input class="btn btn-primary" type="button" value="수정" onclick="update();" />
</c:otherwise>
</c:choose>
</p>
</div>
</form:form>
</div>
</section>
<script type="text/javascript">
$(function(){
$("#changePw").click(function(){
if($(this).is(":checked")){
$("#password").attr("disabled", false);
$("#passwordCheck").attr("disabled", false);
}else{
$("#password").attr("disabled", true);
$("#passwordCheck").attr("disabled", true);
}
});
});
function update() {
var changePw = $("#changePw").is(":checked");
var pw1 = $('#password').val();
var pw2 = $('#passwordCheck').val();
var name = $('#name').val();
var company = $('#company').val();
var tell = $('#phonenum').val();
var email_1 = $('#email').val();
if (changePw && pw1 == "") {
alert('비밀번호를 입력해주세요');
$('#password').focus();
return;
} else if (changePw && pw2 == "") {
alert('비밀번호를 입력해주세요');
$('#passwordCheck').focus();
return;
} else if (changePw && (pw1 != pw2)) {
alert('비밀번호가 일치하지 않습니다.');
$('#pass').focus();
return;
} else if (name == "") {
alert('이름을 입력해주세요');
$('#name').focus();
return;
} else if (company == "") {
alert('소속기관을 입력해주세요');
$('#company').focus();
return;
} else if (tell == "") {
alert('연락처를 입력해주세요');
$('#phone_num').focus();
return;
} else if (email_1 == "") {
alert('이메일을 입력해주세요');
$('#email').focus();
return;
} else {
$("#updateForm").submit();
}
}
</script>
</body>
</html>

View File

@ -0,0 +1,13 @@
<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Error</title>
</head>
<body>
<spring:message code='fail.common.sql' />
</body>
</html>

View File

@ -0,0 +1,13 @@
<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Error</title>
</head>
<body>
<spring:message code='fail.common.msg' />
</body>
</html>

View File

@ -0,0 +1,13 @@
<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Error</title>
</head>
<body>
<spring:message code='fail.common.msg' />
</body>
</html>

View File

@ -0,0 +1,13 @@
<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Error</title>
</head>
<body>
<spring:message code='fail.common.msg' />
</body>
</html>

View File

@ -0,0 +1,3 @@
<%@ page language="java" contentType="javascript/x-javascript" %>
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
<validator:javascript dynamicJavascript="false" staticJavascript="true"/>

View File

@ -0,0 +1,67 @@
<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib uri="http://www.springframework.org/security/tags" prefix="sec" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" >
<meta http-equiv="content-language" content="ko">
<title>Error</title>
<script src="<c:out value="/js/jquery-3.5.1.min.js" />"></script>
<script src="<c:out value="/js/bootstrap.min.js" />"></script>
<link href="<c:out value="/css/normalize.css" />" rel="stylesheet">
<link href="<c:out value="/css/bootstrap.min.css" />" rel="stylesheet">
<link href="<c:out value="/css/style.css" />" rel="stylesheet">
<link type="text/css" rel="stylesheet" href="<c:url value='/css/egov.css'/>" >
</head>
<style>
.errorWrap{
border: 8px solid #094e84;
width:600px;
text-align: left;
position: absolute;
left: 50%;
top: 30%;
transform: translate(-50%, -50%);
}
.errorTable{
margin: 0 auto;
margin-bottom: 20px;
}
.errorTable > tbody > tr > td{
padding:10px;
}
.errorBtn{
width:200px;
margin: 0 auto;
margin-bottom: 20px;
}
</style>
<body style="text-align: center; margin: 0 auto; display: inline; padding-top: 100px;">
<div class="errorWrap">
<img src="<c:url value='/images/error/er_logo.jpg'/>" width="379" height="57" alt="" />
<table class="errorTable">
<tbody>
<tr>
<td><img src="<c:url value='/images/error/danger.jpg'/>" width="74" height="74" alt="" /></td>
<td style="width:300px;">Access Denied</td>
</tr>
</tbody>
</table>
<p class="errorBtn text-center">
<sec:authorize access="hasRole('ROLE_USER')">
<button type="button" class="btn btn-default btn-block" onclick="history.go(-1)">Go Back</button>
</sec:authorize>
<sec:authorize access="hasRole('ROLE_ADMIN')">
<button type="button" class="btn btn-default btn-block" onclick="history.go(-1)'">Go Back</button>
</sec:authorize>
</p>
</div>
</body>
</html>

View File

@ -0,0 +1,62 @@
<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib uri="http://www.springframework.org/security/tags" prefix="sec" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" >
<meta http-equiv="content-language" content="ko">
<title>Error</title>
<script src="<c:out value="/js/jquery-3.5.1.min.js" />"></script>
<script src="<c:out value="/js/bootstrap.min.js" />"></script>
<link href="<c:out value="/css/normalize.css" />" rel="stylesheet">
<link href="<c:out value="/css/bootstrap.min.css" />" rel="stylesheet">
<link href="<c:out value="/css/style.css" />" rel="stylesheet">
<link type="text/css" rel="stylesheet" href="<c:url value='/css/egov.css'/>" >
</head>
<style>
.errorWrap{
border: 8px solid #094e84;
width:600px;
text-align: left;
position: absolute;
left: 50%;
top: 30%;
transform: translate(-50%, -50%);
}
.errorTable{
margin: 0 auto;
margin-bottom: 20px;
}
.errorTable > tbody > tr > td{
padding:10px;
}
.errorBtn{
width:200px;
margin: 0 auto;
margin-bottom: 20px;
}
</style>
<body style="text-align: center; margin: 0 auto; display: inline; padding-top: 100px;">
<div class="errorWrap">
<img src="<c:url value='/images/error/er_logo.jpg'/>" width="379" height="57" alt="" />
<table class="errorTable">
<tbody>
<tr>
<td><img src="<c:url value='/images/error/danger.jpg'/>" width="74" height="74" alt="" /></td>
<td style="width:300px;">404 not found</td>
</tr>
</tbody>
</table>
<p class="errorBtn text-center">
<button type="button" class="btn btn-default btn-block" onclick="history.go(-1)">Go Back</button>
</p>
</div>
</body>
</html>

View File

@ -0,0 +1,62 @@
<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib uri="http://www.springframework.org/security/tags" prefix="sec" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" >
<meta http-equiv="content-language" content="ko">
<title>Error</title>
<script src="<c:out value="/js/jquery-3.5.1.min.js" />"></script>
<script src="<c:out value="/js/bootstrap.min.js" />"></script>
<link href="<c:out value="/css/normalize.css" />" rel="stylesheet">
<link href="<c:out value="/css/bootstrap.min.css" />" rel="stylesheet">
<link href="<c:out value="/css/style.css" />" rel="stylesheet">
<link type="text/css" rel="stylesheet" href="<c:url value='/css/egov.css'/>" >
</head>
<style>
.errorWrap{
border: 8px solid #094e84;
width:600px;
text-align: left;
position: absolute;
left: 50%;
top: 30%;
transform: translate(-50%, -50%);
}
.errorTable{
margin: 0 auto;
margin-bottom: 20px;
}
.errorTable > tbody > tr > td{
padding:10px;
}
.errorBtn{
width:200px;
margin: 0 auto;
margin-bottom: 20px;
}
</style>
<body style="text-align: center; margin: 0 auto; display: inline; padding-top: 100px;">
<div class="errorWrap">
<img src="<c:url value='/images/error/er_logo.jpg'/>" width="379" height="57" alt="" />
<table class="errorTable">
<tbody>
<tr>
<td><img src="<c:url value='/images/error/danger.jpg'/>" width="74" height="74" alt="" /></td>
<td style="width:300px;">500 Internal Server error</td>
</tr>
</tbody>
</table>
<p class="errorBtn text-center">
<button type="button" class="btn btn-default btn-block" onclick="history.go(-1)">Go Back</button>
</p>
</div>
</body>
</html>

View File

@ -0,0 +1,62 @@
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ taglib uri="http://www.springframework.org/security/tags" prefix="sec" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<c:set var="thisURL" value="${requestScope['javax.servlet.forward.request_uri']}" />
<form id="logout" action="/j_spring_security_logout" method="POST">
<input name="${_csrf.parameterName}" type="hidden" value="${_csrf.token}"/>
</form>
<sec:authorize access="hasRole('ROLE_USER')">
<header class="header">
<div class="header_title">
<a href="/map/request">모바일센터 관리시스템</a>
</div>
<div class="header_info">
<a href="<c:url value="/logout"/>">
<span class="glyphicon glyphicon-log-out" style="color:#fff"></span> 로그아웃
</a>
</div>
</header>
<nav class="common_nav">
<div class="header_menu">
<ul>
<li <c:if test="${thisURL eq '/map/request'}">class="thisOn"</c:if> onclick="location.href='/map/request'">지도사용 요청</li>
<li <c:if test="${thisURL eq '/map/userInfo'}">class="thisOn"</c:if> onclick="location.href='/map/userInfo'">회원정보수정</li>
</ul>
</div>
</nav>
</sec:authorize>
<sec:authorize access="hasRole('ROLE_ADMIN')">
<header class="header">
<div class="header_title">
<a href="/admin/request">모바일센터 관리시스템</a>
</div>
<div class="header_info">
<a href="<c:url value="/logout"/>">
<span class="glyphicon glyphicon-log-out" style="color:#fff"></span> 로그아웃
</a>
</div>
</header>
<nav class="common_nav">
<div class="header_menu">
<ul>
<li <c:if test="${fn:contains(thisURL, '/request')}">class="thisOn"</c:if> onclick="location.href='/admin/request'">지도사용 요청</li>
<li <c:if test="${fn:contains(thisURL, '/history')}">class="thisOn"</c:if> onclick="location.href='/admin/history'">지도사용 이력</li>
<li <c:if test="${fn:contains(thisURL, '/fieldData')}">class="thisOn"</c:if> onclick="location.href='/admin/fieldData'">현장수집 데이터</li>
<li <c:if test="${fn:contains(thisURL, '/userInfo')}">class="thisOn"</c:if> onclick="location.href='/admin/userInfo?auth=99'">회원 관리</li>
</ul>
</div>
</nav>
</sec:authorize>

View File

@ -0,0 +1,168 @@
<%@ 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"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>모바일센터 관리시스템</title>
<script src="<c:out value="/js/jquery-3.5.1.min.js" />"></script>
<script src="<c:out value="/js/bootstrap.min.js" />"></script>
<link href="<c:out value="/css/normalize.css" />" rel="stylesheet">
<link href="<c:out value="/css/bootstrap.min.css" />" rel="stylesheet">
<link href="<c:out value="/css/style.css" />" rel="stylesheet">
</head>
<body>
<header class="header">
<div class="header_title"><a href="/">모바일센터 관리시스템</a></div>
<div class="header_menu"></div>
</header>
<section class="join_section">
<div class="join_top">
<h2>
<span class="glyphicon glyphicon-edit"></span> 회원 정보 입력
</h2>
</div>
<form:form commandName="userVO" name="insertFrm" action="/insertUser" id="insertFrm" autocomplete="off" method="post">
<table class="join_table">
<tbody>
<tr>
<th>아이디</th>
<td>
<input type="text" class="form-control" name="userid" id="id" />
<span id="idMsg"></span>
</td>
</tr>
<tr>
<th>비밀번호</th>
<td><input type="password" class="form-control" id="password"name="password" value="" /></td>
</tr>
<tr>
<th>비밀번호 확인</th>
<td><input type="password" class="form-control" id="passwordCheck" name="passwordCheck" value="" /></td>
</tr>
<tr>
<th>이름</th>
<td><input type="text" class="form-control" name="name" id="name" /></td>
</tr>
<tr>
<th>소속기관</th>
<td><input type="text" class="form-control" name="company" id="company" /></td>
</tr>
<tr>
<th>연락처</th>
<td><input type="text" class="form-control" name="phonenum" id="phonenum" /></td>
</tr>
<tr>
<th>이메일</th>
<td>
<div>
<input type="text" class="form-control" name="email" id="email" />
</div>
</td>
</tr>
</tbody>
</table>
<div class="join_bottom" style="padding-top: 10px">
<p>※ 회원 가입을 요청한 후에 승인을 기다려주세요.</p>
<p class="join_bottom_p"><input class="btn_join big on" type="submit" value="가입신청" onclick="join(); return false;" /></p>
</div>
</form:form>
<script type="text/javascript">
var token = $("meta[name='_csrf']").attr("content");
var header = $("meta[name='_csrf_header']").attr("content");
var checkId = false;
var getId= RegExp(/^[a-zA-Z0-9]{5,12}$/);
var getMail = RegExp(/^[A-Za-z0-9_\.\-]+@[A-Za-z0-9\-]+\.[A-Za-z0-9\-]+/);
$(document).ready(function(){
$("#id").focusout(function(){
var id = $(this).val();
if (id == "" || id == undefined || id == null) {
$("#idMsg").text("아이디를 입력해주세요.");
checkId = false;
return false;
} else if(!getId.test(id)){
$("#idMsg").text("5~20자의 영문 소문자, 숫자만 사용 가능합니다.");
checkId = false;
return false;
}else {
$.ajax({
url : "/userIdCheck",
type : "GET",
data : {
"checkId" : id
},
success : function(data) {
if (data == "duplicate") {
$("#idMsg").text("이미 존재하는 아이디 입니다.");
checkId = false;
} else if (data == "ok") {
$("#idMsg").text("사용 가능한 아이디 입니다.");
checkId = true;
}
},
error : function(request, status, error) {
alert("접속 실패 관리자에게 문의해주세요.");
}
});
}
});
});
function join() {
var pw1 = $('#password').val();
var pw2 = $('#passwordCheck').val();
var name = $('#name').val();
var company = $('#company').val();
var tell = $('#phonenum').val();
var email_1 = $('#email').val();
if (!checkId) {
alert('아이디를 확인해주세요.');
$('#id').focus();
} else if (pw1 == "") {
alert('비밀번호를 입력해주세요');
$('#password').focus();
return;
} else if (pw2 == "") {
alert('비밀번호를 입력해주세요');
$('#passCheck').focus();
return;
} else if (pw1 != pw2) {
alert('비밀번호가 일치하지 않습니다.');
$('#pass').focus();
return;
} else if (name == "") {
alert('이름을 입력해주세요');
$('#name').focus();
return;
} else if (company == "") {
alert('소속기관을 입력해주세요');
$('#company').focus();
return;
} else if (tell == "") {
alert('연락처를 입력해주세요');
$('#phone_num').focus();
return;
} else if (email_1 == "") {
alert('이메일을 입력해주세요');
$('#email').focus();
return;
} else {
$("#insertFrm").submit();
}
}
</script>
</section>
</body>
</html>

View File

@ -0,0 +1,64 @@
<%@ 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"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<title>모바일센터 관리시스템</title>
<script src="<c:out value="/js/jquery-3.5.1.min.js" />"></script>
<script src="<c:out value="/js/bootstrap.min.js" />"></script>
<link href="<c:out value="/css/normalize.css" />" rel="stylesheet">
<link href="<c:out value="/css/bootstrap.min.css" />" rel="stylesheet">
<link href="<c:out value="/css/style.css" />" rel="stylesheet">
</head>
<body>
<header class="header">
<div class="header_title"><a href="/">모바일센터 관리시스템</a></div>
<div class="header_menu"></div>
</header>
<section class="section">
<div class="loginWrap">
<div class="loginBox">
<form method="POST" action="/j_spring_security_check">
<input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}" />
<input type=hidden name=login_error value="${login_error}" />
<p class="login_text">
<input type="text" class="form-control" name="username" id="user_id" value="" placeholder="사용자 ID" />
</p>
<p class="login_text">
<input type="password" class="form-control" name="password" id="user_pw" value="" placeholder="비밀번호" />
</p>
<p class="login_btn">
<input type="image" src="images/login_.png" />
</p>
<div class="parent">
<div class="find">
<span class="glyphicon glyphicon-info-sign"></span>
<a href="#">아이디/비밀번호 찾기</a>
</div>
<div class="join">
<span class="glyphicon glyphicon-user"></span>
<a href="<c:url value=" /join" />">회원가입</a>
</div>
</div>
</form>
</div>
</div>
</section>
</body>
<script type="text/javascript">
$(document).ready(function(){
var errMsg = "${errMsg}";
if (errMsg) {
alert(errMsg);
}
});
</script>
</html>

View File

@ -0,0 +1,132 @@
<%@ 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"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<!DOCTYPE html>
<html lang="ko">
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>모바일센터 관리시스템</title>
<script src="<c:out value="/js/jquery-3.5.1.min.js" />"></script>
<script src="<c:out value="/js/bootstrap.min.js" />"></script>
<link href="<c:out value="/css/normalize.css" />" rel="stylesheet">
<link href="<c:out value="/css/bootstrap.min.css" />" rel="stylesheet">
<link href="<c:out value="/css/style.css" />" rel="stylesheet">
</head>
<body>
<%@ include file="../include/header.jsp"%>
<section class="section">
<div class="section_title">
<!-- <p>현장 지원 시스템</p> -->
</div>
<div class="section_content">
<form:form commandName="useRequestSearchVO" id="searchForm" name="searchForm" method="get" >
<input type="hidden" name="id" />
<table class="list-table">
<thead>
<tr><th colspan="4">지도 사용 요청 목록</th></tr>
<tr>
<th>번호</th>
<th>작업명</th>
<th>날짜</th>
<th>상태</th>
</tr>
</thead>
<tbody>
<c:if test="${count >= 1}">
<c:forEach var="item" items="${useRequestList}" varStatus="idx">
<tr>
<td>${idx.count}</td>
<td class="title-td" style="width:70%;"><a href="/map/request/<c:out value='${item.idx}' />">${item.title}</a></td>
<td class="td_date">${item.r_date}</td>
<td>
<c:choose>
<c:when test="${item.status eq '99'}"><span class="label label-warning"><c:out value='승인대기' /></span></c:when>
<c:when test="${item.status eq '0'}"><span class="label label-success"><c:out value='승인' /></span></c:when>
<c:when test="${item.status eq '-1'}"><span class="label label-default"><c:out value='반려' /></span></c:when>
</c:choose>
</td>
</tr>
</c:forEach>
</c:if>
<c:if test="${count == 0}">
<tr><td colspan="4">요청한 목록이 없습니다.</td></tr>
</c:if>
</tbody>
</table>
<div class="div_write"">
<p>
<input class="btn btn-primary" type="button" value="작성" onclick="location.href='/map/reqWrite'" />
</p>
</div>
<div id="paging" style="width: 100%;">
<ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="fn_link_page" />
<form:hidden path="pageIndex" />
</div>
</form:form>
</div>
<div class="section_btn">
<!-- <p><input class="btn" type="button" value="관리" onclick="location.href='fieldDetail.html'" /></p> -->
</div>
</section>
</body>
<script type="text/javascript">
var start = "${b_start}";
var end = "${b_end}";
var now = "${current_page}";
$(function(){
viewPaging();
$(".r_date").each(function(){
var r_date = $(this).text();
var nowDate = new Date();
var r_date = new Date(r_date);
var getDay = getFormatDate(r_date);
var nowDay = getFormatDate(nowDate);
if(getDay === nowDay){
$(this).html(getFormatTime(r_date));
}else{
$(this).html(getDay);
}
});
});
/* 날짜포맷 yyyy-MM-dd 변환 */
function getFormatDate(date){
var year = date.getFullYear();
var month = (1 + date.getMonth());
month = month >= 10 ? month : '0' + month;
var day = date.getDate();
day = day >= 10 ? day : '0' + day;
return year + '-' + month + '-' + day;
}
function getFormatTime(date){
var hours = date.getHours();
var minutes = date.getMinutes();
return hours + ':' + minutes;
}
function viewPaging(){
for (step = start; step < end; step++) {
if(step == now){
$("#paging").append("<strong>"+step+"</strong>");
}else{
$("#paging").append("<a href='userPermissionList.do?&page="+ step +"'>"+step+"</a>");
}
}
}
function fn_link_page(pageNo) {
document.searchForm.pageIndex.value = pageNo;
document.searchForm.action = "<c:url value='/map/request' />";
document.searchForm.submit();
}
</script>
</html>

View File

@ -0,0 +1,577 @@
<%@ 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"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>모바일센터 관리시스템</title>
<script src="<c:out value="/js/jquery-3.5.1.min.js" />"></script>
<script src="<c:out value="/js/jquery-ui.min.js" />"></script>
<script src="<c:out value="/js/bootstrap.min.js" />"></script>
<link href="<c:out value="/css/normalize.css" />" rel="stylesheet">
<link href="<c:out value="/css/bootstrap.min.css" />" rel="stylesheet">
<link href="<c:out value="/css/jquery-ui.min.css" />" rel="stylesheet">
<link href="<c:out value="/css/style.css" />" rel="stylesheet">
</head>
<body>
<%@ include file="../include/header.jsp"%>
<section class="section">
<form:form commandName="useRequestVO" name="frm" method="POST" action="/map/updateReq" id="updateFrm">
<input type="hidden" name="idx" value="${useRequestVO.idx}" />
<div class="section_title">
<!-- <p>현장 지원 시스템</p> -->
</div>
<div class="section_content">
<input type="hidden" id="layers" name="layers" />
<input type="hidden" id="places" name="places" />
<c:choose>
<c:when test="${useRequestVO.status eq '99' }">
<table class="detail_table">
<thead>
<tr>
<th colspan="5" style="text-align: center;">지도 사용 요청</th>
</tr>
</thead>
<tbody>
<tr>
<th colspan="2">작업명</th>
<td><input type="text" class="form-control" id="title" name="title" value="${useRequestVO.title}" /></td>
</tr>
<tr>
<th colspan="2">기간</th>
<td>
<input type="text" class="form-control input-datepicker" id="startDate" name="s_date" onchange="dateChange('start');" readonly value="${useRequestVO.s_date}"> ~
<input type="text" class="form-control input-datepicker" id="endDate" name="e_date" onchange="dateChange('end');" readonly value="${useRequestVO.e_date}">
</td>
</tr>
<tr>
<th colspan="2">장소</th>
<td id="area_select_td">
<div>
<select class="form-control input-area-select" id="city" name="city" onchange="changeAreaList(this.value, this.name)">
<option value="0">::시/도::</option>
<c:forEach var="item" items="${cityList}" varStatus="status">
<option value="${item.code}">
<c:out value="${item.area}" />
</option>
</c:forEach>
</select>
<select class="form-control input-area-select" id="county" name="county" onchange="changeAreaList(this.value, this.name);">
<option value="0">::선택::</option>
</select>
<select class="form-control input-area-select" id="town" name="town">
<option value="0">::선택::</option>
</select>
<span class="glyphicon glyphicon-plus point-cursor" onclick="addAreaBtn();"></span>
</div>
<div id="addedArea" class="addedArea">
<c:forEach var="item" items="${selectArea}" varStatus="status">
<span id="addedAreaWrap${status.index}" class="addedAreaWrap">
<c:out value="${item.name}" />
<span class="glyphicon glyphicon-remove point-cursor" onclick="removeAreaBtn(${status.index});"></span>
<input type="hidden" name="selectArea" value="${item.code}" />
</span>
</c:forEach>
</div>
</td>
</tr>
<tr>
<th style="width:7%;" rowspan="3">레이어</th>
<th><label>지하시설물</label></th>
<td>
<c:forEach var="item" items="${layersVO}" varStatus="status">
<c:if test="${item.code eq 'facility'}">
<c:set var="faciltySize" value="${faciltySize+1}" />
<label class="layer-label"><input type="checkbox" name="${item.code}" id="${item.code}" value="${item.layer}" <c:forEach var="item2" items="${layers}" varStatus="status2">
<c:if test="${item.layer eq item2}">
checked
</c:if>
</c:forEach>
/>${item.name}
</label>
</c:if>
</c:forEach>
</td>
</tr>
<tr>
<th><label>지하구조물</label></th>
<td>
<c:forEach var="item" items="${layersVO}" varStatus="status">
<c:if test="${item.code eq 'structure'}">
<label class="layer-label"><input type="checkbox" name="${item.code}" id="${item.code}" value="${item.layer}" <c:forEach var="item2" items="${layers}" varStatus="status2">
<c:if test="${item.layer eq item2}">
checked
</c:if>
</c:forEach>
/>${item.name}</label>
</c:if>
</c:forEach>
</td>
</tr>
<tr>
<th><label>지반</label></th>
<td>
<c:forEach var="item" items="${layersVO}" varStatus="status">
<c:if test="${item.code eq 'ground'}">
<label class="layer-label"><input type="checkbox" name="${item.code}" id="${item.code}" value="${item.layer}" <c:forEach var="item2" items="${layers}" varStatus="status2">
<c:if test="${item.layer eq item2}">
checked
</c:if>
</c:forEach>
/>${item.name}</label>
</c:if>
</c:forEach>
</td>
</tr>
<tr>
<th colspan="2">요청 내용</th>
<td><textarea class="form-control" rows="3" style="resize:none;" name="user_msg">${useRequestVO.user_msg}</textarea></td>
</tr>
</tbody>
</table>
<div class="section_btn">
<p class="search_p1">
<input class="btn btn-primary" type="button" value="목록" onclick="location.href='/map/request'" />
</p>
<p class="search_p2">
<input class="btn btn-primary" type="button" value="취소" onclick="deleteReqBtn(); return false;" />
<input class="btn btn-primary" type="button" value="수정" onclick="updateReqBtn(); return false;" />
</p>
</div>
</c:when>
<c:otherwise>
<table class="detail_table">
<thead>
<tr>
<th colspan="4" style="text-align: center;">지도 사용 요청</th>
</tr>
</thead>
<tbody>
<tr>
<th>작업명</th>
<td class="title-td">${useRequestVO.title}</td>
<th style="width:40px;">상태</th>
<td class="text-center" style="width:40px;">
<c:if test="${useRequestVO.status ne '99' }">
<c:choose>
<c:when test="${useRequestVO.status eq '0' }"><span class="label label-success">
<c:out value='사용중' /></span></c:when>
<c:otherwise><span class="label label-danger">
<c:out value='사용불가' /></span></c:otherwise>
</c:choose>
</c:if>
</td>
</tr>
<tr>
<th>기간</th>
<td colspan="3">${useRequestVO.s_date} ~ ${useRequestVO.e_date}</td>
</tr>
<tr>
<th>장소</td>
<td colspan="3">
<c:forEach var="item" items="${selectArea}" varStatus="status">
<div id="addedBlock${status.index}">
${item.name}
</div>
</c:forEach>
</td>
</tr>
<tr>
<th rowspan="3">레이어</th>
<td colspan="3">
<label>지하시설물</label>
<div class="setting_content2" class="facility">
<c:forEach var="item" items="${layersVO}" varStatus="status">
<c:if test="${item.code eq 'facility'}">
<c:set var="faciltySize" value="${faciltySize+1}" />
<label>
<input type="checkbox" name="${item.code}" id="${item.code}" disabled="disabled" value="${item.layer}" <c:forEach var="item2" items="${layers}" varStatus="status2">
<c:if test="${item.layer eq item2}">
checked
</c:if>
</c:forEach>
/>${item.name}
</label>
</c:if>
</c:forEach>
</div>
</td>
</tr>
<tr>
<td colspan="3">
<label>지하구조물</label>
<div class="setting_content2" class="structure">
<c:forEach var="item" items="${layersVO}" varStatus="status">
<c:if test="${item.code eq 'structure'}">
<label><input type="checkbox" name="${item.code}" id="${item.code}" disabled="disabled" value="${item.layer}" <c:forEach var="item2" items="${layers}" varStatus="status2">
<c:if test="${item.layer eq item2}">
checked
</c:if>
</c:forEach>
/>${item.name}</label>
</c:if>
</c:forEach>
</div>
</td>
</tr>
<tr>
<td colspan="3">
<label>지반</label>
<div class="setting_content2" class="ground">
<c:forEach var="item" items="${layersVO}" varStatus="status">
<c:if test="${item.code eq 'ground'}">
<label><input type="checkbox" name="${item.code}" id="${item.code}" disabled="disabled" value="${item.layer}" <c:forEach var="item2" items="${layers}" varStatus="status2">
<c:if test="${item.layer eq item2}">
checked
</c:if>
</c:forEach>
/>${item.name}</label>
</c:if>
</c:forEach>
</div>
</td>
</tr>
<tr>
<th>요청 내용</th>
<td colspan="3">${useRequestVO.user_msg}</td>
</tr>
<tr>
<th>전달 메세지</th>
<td colspan="3">${useRequestVO.admin_msg}</td>
</tr>
</tbody>
</table>
<div class="section_btn">
<p class="search_p1">
<input class="btn btn-primary" type="button" value="목록" onclick="location.href='/map/request'" />
</p>
</div>
</c:otherwise>
</c:choose>
</div>
</form:form>
</section>
<script type="text/javascript">
var areaAddCount = ${selectArea.size()};
/*
* 지역 추가
*/
function addAreaBtn(){
var addedAreaWrapCnt = $(".addedAreaWrap").length;
if(addedAreaWrapCnt < 3){
if($("#city").val() != "0"){
areaAddCount++;
var selectAreaCode = null;
var selectAreaName = null;
if($("#town").val() == "0"){
selectArea = $("#county").val();
selectAreaName = $("#city option:selected").text() +" "+ $("#county option:selected").text();
if($("#county").val() == "0"){
selectArea = $("#city").val();
selectAreaName = $("#city option:selected").text();
}
}else{
selectArea = $("#town").val();
selectAreaName = $("#city option:selected").text()+" "+$("#county option:selected").text()+" "+$("#town option:selected").text();
}
var overLapArea = false;
$("input[name=selectArea]").each(function(){
if($(this).val() == selectArea){
overLapArea = true;
}
});
if(overLapArea){
alert('이미 등록된 장소 입니다.');
return false;
}else{
var tag = '';
tag += '<span id="addedAreaWrap'+areaAddCount+'" class="addedAreaWrap">';
tag += selectAreaName;
tag += '<span class="glyphicon glyphicon-remove point-cursor" onclick="removeAreaBtn('+areaAddCount+');"></span>';
tag += '<input type="hidden" name="selectArea" value="'+selectArea+'" />';
tag += '</span>';
$("#addedArea").append(tag);
}
}else{
alert('지역을 선택해주세요.');
}
}else{
alert('더 이상 추가 하실 수 없습니다.');
}
}
/*
* 지역 삭제
* removeNum : 삭제할 태그 번호
*/
function removeAreaBtn(removeNum){
$("#addedAreaWrap"+removeNum).remove();
}
function resetSelectBox(area){
var baseOption = "<option value='0'>::전체::</option>";
if(area == "county"){
$("#town").empty();
$("#town").append(baseOption);
}else if(area == "city"){
$("#county").empty();
$("#town").empty();
$("#county").append(baseOption);
$("#town").append(baseOption);
}
}
/*
* 지역 변경
*/
function changeAreaList(code, area){
var target = null
if(area == "city"){
target = $("#county");
}else{
target = $("#town");
}
resetSelectBox(area);
if(code != 0){
$.ajax({
url : "<c:url value='/selectAreaList' />",
type : "GET",
dataType : "json",
data:{
"code" : code,
"area" : area
},
success : function(data){
if(data){
if(area == "city"){
for(var idx in data){
target.append("<option value='"+data[idx].code+"'>"+data[idx].area+"</option>");
}
}else{
for(var idx in data){
target.append("<option value='"+data[idx].code+"'>"+data[idx].area+"</option>");
}
}
}
}
});
}
}
/*
* 날짜 변경
* state : 시작 또는 종료
*/
function dateChange(state){
var startDate = $("#startDate").val();
var endDate = $("#endDate").val();
if(endDate != "" && startDate > endDate){
if(state == "start"){
$("#endDate").val(startDate);
}else{
$("#startDate").val(endDate);
}
}
}
/*
* 지역 유효성 검사
*/
function areaCheck(){
var selectArr = [];
$("input[name=selectArea]").each(function(){
selectArr.push($(this).val());
});
$("#places").val(selectArr);
if($("#places").val() == ""){
return false;
}else{
return true;
}
}
/*
* 레이어 유효성 검사
*/
function layersCheck(){
var checkArr = []; // 배열 초기화
$('input:checkbox[name="facility"]:checked').each(function(index, item) {
checkArr.push($(item).val());
});
$('input:checkbox[name="structure"]:checked').each(function(index, item) {
checkArr.push($(item).val());
});
$('input:checkbox[name="ground"]:checked').each(function(index, item) {
checkArr.push($(item).val());
});
$('#layers').val(checkArr);
if($('#layers').val() == ""){
return false;
}else{
return true;
}
}
function updateReqBtn(){
if($("#title").val() == ""){
alert('작업명을 입력해주세요.');
$("#title").focus();
return;
}else if($("#startDate").val() == ""){
alert('시작 기간을 입력해주세요.');
$("#startDate").focus();
return;
}else if($("#endDate").val() == ""){
alert('종료 기간을 입력해주세요.');
$("#endDate").focus();
return;
}else if(!areaCheck()){
alert('지역을 추가해주세요.');
return;
}else if(!layersCheck()){
alert('레이어를 선택해주세요.');
return;
}else{
$("#updateFrm").submit();
}
}
function deleteReqBtn(){
if(confirm('지도사용요청을 취소하시겠습니까?')){
$("#updateFrm").attr("action", "/map/deleteReq");
$("#updateFrm").submit();
}
}
$(function(){
$("#startDate").datepicker({
dateFormat: 'yy-mm-dd',
prevText: '이전 달',
nextText: '다음 달',
monthNames: ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월'],
monthNamesShort: ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월'],
dayNames: ['일', '월', '화', '수', '목', '금', '토'],
dayNamesShort: ['일', '월', '화', '수', '목', '금', '토'],
dayNamesMin: ['일', '월', '화', '수', '목', '금', '토'],
showMonthAfterYear: true,
yearSuffix: '년'
});
$("#endDate").datepicker({
dateFormat: 'yy-mm-dd',
prevText: '이전 달',
nextText: '다음 달',
monthNames: ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월'],
monthNamesShort: ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월'],
dayNames: ['일', '월', '화', '수', '목', '금', '토'],
dayNamesShort: ['일', '월', '화', '수', '목', '금', '토'],
dayNamesMin: ['일', '월', '화', '수', '목', '금', '토'],
showMonthAfterYear: true,
yearSuffix: '년'
});
$("input[name=facility]").each(function(){
if(this.checked){
$("#facility_all").prop("checked", true);
}else{
$("#facility_all").prop("checked", false);
return false;
}
});
$("input[name=structure]").each(function(){
if(this.checked){
$("#structure_all").prop("checked", true);
}else{
$("#structure_all").prop("checked", false);
return false;
}
});
$("input[name=ground]").each(function(){
if(this.checked){
$("#ground_all").prop("checked", true);
}else{
$("#ground_all").prop("checked", false);
return false;
}
});
//전체선택 체크박스 클릭
$("input[type=checkbox]").click(function() {
var id = this.id;
if(id.indexOf("facility") != -1){
if(id == "facility_all"){
if($("#facility_all").prop("checked")) {
$("input[name=facility]").prop("checked", true);
} else {
$("input[name=facility]").prop("checked", false);
}
}else{
$("#facility_all").prop("checked", false);
if($(this).prop("checked")) {
$(this).prop("checked", true);
}else{
$(this).prop("checked", false);
}
}
}else if(id.indexOf("structure") != -1){
if(id == "structure_all"){
if($("#structure_all").prop("checked")) {
$("input[name=structure]").prop("checked", true);
} else {
$("input[name=structure]").prop("checked", false);
}
}else{
$("#structure_all").prop("checked", false);
if($(this).prop("checked")) {
$(this).prop("checked", true);
}else{
$(this).prop("checked", false);
}
}
}else if(id.indexOf("ground") != -1){
if(id == "ground_all"){
if($("#ground_all").prop("checked")) {
$("input[name=ground]").prop("checked", true);
} else {
$("input[name=ground]").prop("checked", false);
}
}else{
$("#ground_all").prop("checked", false);
if($(this).prop("checked")) {
$(this).prop("checked", true);
}else{
$(this).prop("checked", false);
}
}
}
});
});
</script>
</body>
</html>

View File

@ -0,0 +1,397 @@
<%@ 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"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>모바일센터 관리시스템</title>
<script src="<c:out value="/js/jquery-3.5.1.min.js" />"></script>
<script src="<c:out value="/js/jquery-ui.min.js" />"></script>
<script src="<c:out value="/js/bootstrap.min.js" />"></script>
<link href="<c:out value="/css/normalize.css" />" rel="stylesheet">
<link href="<c:out value="/css/bootstrap.min.css" />" rel="stylesheet">
<link href="<c:out value="/css/jquery-ui.min.css" />" rel="stylesheet">
<link href="<c:out value="/css/style.css" />" rel="stylesheet">
</head>
<body>
<%@ include file="../include/header.jsp"%>
<section class="section">
<form:form commandName="useRequestVO" name="frm" method="POST" action="/map/insertReq" id="insertFrm">
<input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}" />
<div class="section_title">
<!-- <p>현장 지원 시스템</p> -->
</div>
<div class="section_content">
<input type="hidden" id="layers" name="layers"/>
<input type="hidden" id="places" name="places"/>
<table class="detail_table">
<thead>
<tr><th colspan="5" style="text-align: center;">지도 사용 요청</th></tr>
</thead>
<tbody>
<tr>
<th colspan="2">작업명</th>
<td><input type="text" class="form-control" id="title" name="title" autocomplete="off"/></td>
</tr>
<tr>
<th colspan="2">기간</th>
<td>
<input type="text" class="form-control input-datepicker" readonly id="startDate" name= "s_date" onchange="dateChange('start');"> ~
<input type="text" class="form-control input-datepicker" readonly id="endDate" name="e_date" onchange="dateChange('end');">
</td>
</tr>
<tr>
<th colspan="2">장소</th>
<td id="area_select_td">
<div>
<select id="city" name="city" onchange="changeAreaList(this.value, this.name)" class="form-control input-area-select">
<option value="0">::시/도::</option>
<c:forEach var="item" items="${cityList}" varStatus="status">
<option value="${item.code}"><c:out value="${item.area}"/></option>
</c:forEach>
</select>
<select id="county" name="county" onchange="changeAreaList(this.value, this.name);" class="form-control input-area-select">
<option value="0">::선택::</option>
</select>
<select id="town" name="town" class="form-control input-area-select">
<option value="0">::선택::</option>
</select>
<span class="glyphicon glyphicon-plus point-cursor" onclick="addAreaBtn();"></span>
</div>
<div id="addedArea" class="addedArea">
</div>
</td>
</tr>
<tr>
<th rowspan="3">레이어</th>
<th><label>지하시설물</label></th>
<td>
<c:forEach var="item" items="${layersVO}" varStatus="status">
<c:if test="${item.code eq 'facility'}">
<label class="layer-label"><input type="checkbox" name="${item.code}" id="${item.code}" value="${item.layer}"/> ${item.name} </label>
</c:if>
</c:forEach>
</td>
</tr>
<tr>
<th><label>지하구조물</label></th>
<td>
<c:forEach var="item" items="${layersVO}" varStatus="status">
<c:if test="${item.code eq 'structure'}">
<label class="layer-label"><input type="checkbox" name="${item.code}" id="${item.code}" value="${item.layer}"/> ${item.name} </label>
</c:if>
</c:forEach>
</td>
</tr>
<tr>
<th><label>지반</label></th>
<td>
<c:forEach var="item" items="${layersVO}" varStatus="status">
<c:if test="${item.code eq 'ground'}">
<label class="layer-label"><input type="checkbox" name="${item.code}" id="${item.code}" value="${item.layer}"/> ${item.name} </label>
</c:if>
</c:forEach>
</td>
</tr>
<tr>
<th colspan="2">요청 내용</th>
<td><textarea class="form-control" rows="3" style="resize:none;" name=user_msg></textarea></td>
</tr>
</tbody>
</table>
<div class="section_btn">
<p class="search_p1">
<input class="btn btn-primary" type="button" value="목록" onclick="location.href='/map/request'" />
</p>
<p class="search_p2">
<input class="btn btn-primary" type="button" value="요청" onclick="insertReqBtn(); return false;" />
</p>
</div>
</div>
</form:form>
</section>
<script type="text/javascript">
var areaAddCount = 0;
/*
* 지역 추가
*/
function addAreaBtn(){
var addedAreaWrapCnt = $(".addedAreaWrap").length;
if(addedAreaWrapCnt < 3){
if($("#city").val() != "0"){
areaAddCount++;
var selectAreaCode = null;
var selectAreaName = null;
if($("#town").val() == "0"){
selectArea = $("#county").val();
selectAreaName = $("#city option:selected").text() +" "+ $("#county option:selected").text();
if($("#county").val() == "0"){
selectArea = $("#city").val();
selectAreaName = $("#city option:selected").text();
}
}else{
selectArea = $("#town").val();
selectAreaName = $("#city option:selected").text()+" "+$("#county option:selected").text()+" "+$("#town option:selected").text();
}
var overLapArea = false;
$("input[name=selectArea]").each(function(){
if($(this).val() == selectArea){
overLapArea = true;
}
});
if(overLapArea){
alert('이미 등록된 장소 입니다.');
return false;
}else{
var tag = '';
tag += '<span id="addedAreaWrap'+areaAddCount+'" class="addedAreaWrap">';
tag += selectAreaName;
tag += '<span class="glyphicon glyphicon-remove point-cursor" onclick="removeAreaBtn('+areaAddCount+');"></span>';
tag += '<input type="hidden" name="selectArea" value="'+selectArea+'" />';
tag += '</span>';
$("#addedArea").append(tag);
}
}else{
alert('지역을 선택해주세요.');
}
}else{
alert('더 이상 추가 하실 수 없습니다.');
}
}
/*
* 지역 변경
*/
function changeAreaList(code, area){
var target = null
if(area == "city"){
target = $("#county");
}else{
target = $("#town");
}
resetSelectBox(area);
if(code != 0){
$.ajax({
url : "<c:url value='/selectAreaList' />",
type : "GET",
dataType : "json",
data:{
"code" : code,
"area" : area
},
success : function(data){
if(data){
if(area == "city"){
for(var idx in data){
target.append("<option value='"+data[idx].code+"'>"+data[idx].area+"</option>");
}
}else{
for(var idx in data){
target.append("<option value='"+data[idx].code+"'>"+data[idx].area+"</option>");
}
}
}
}
});
}
}
/*
* 지역 삭제
* removeNum : 삭제할 태그 번호
*/
function removeAreaBtn(removeNum){
$("#addedAreaWrap"+removeNum).remove();
}
function resetSelectBox(area){
var baseOption = "<option value='0'>::전체::</option>";
if(area == "county"){
$("#town").empty();
$("#town").append(baseOption);
}else if(area == "city"){
$("#county").empty();
$("#town").empty();
$("#county").append(baseOption);
$("#town").append(baseOption);
}
}
/*
* 날짜 변경
* state : 시작 또는 종료
*/
function dateChange(state){
var startDate = $("#startDate").val();
var endDate = $("#endDate").val();
if(endDate != "" && startDate > endDate){
if(state == "start"){
$("#endDate").val(startDate);
}else{
$("#startDate").val(endDate);
}
}
}
/*
* 지역 유효성 검사
*/
function areaCheck(){
var selectArr = [];
$("input[name=selectArea]").each(function(){
selectArr.push($(this).val());
});
$("#places").val(selectArr);
if($("#places").val() == ""){
return false;
}else{
return true;
}
}
/*
* 레이어 유효성 검사
*/
function layersCheck(){
var checkArr = []; // 배열 초기화
$('input:checkbox[name="facility"]:checked').each(function(index, item) {
checkArr.push($(item).val());
});
$('input:checkbox[name="structure"]:checked').each(function(index, item) {
checkArr.push($(item).val());
});
$('input:checkbox[name="ground"]:checked').each(function(index, item) {
checkArr.push($(item).val());
});
$('#layers').val(checkArr);
if($('#layers').val() == ""){
return false;
}else{
return true;
}
}
function insertReqBtn(){
if($("#title").val() == ""){
alert('작업명을 입력해주세요.');
$("#title").focus();
return;
}else if($("#startDate").val() == ""){
alert('시작 기간을 입력해주세요.');
$("#startDate").focus();
return;
}else if($("#endDate").val() == ""){
alert('종료 기간을 입력해주세요.');
$("#endDate").focus();
return;
}else if(!areaCheck()){
alert('지역을 추가해주세요.');
return;
}else if(!layersCheck()){
alert('레이어를 선택해주세요.');
return;
}else{
$("#insertFrm").submit();
}
}
$(function(){
$("#startDate").datepicker({
dateFormat: 'yy-mm-dd',
monthNames: ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월'],
monthNamesShort: ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월'],
dayNames: ['일', '월', '화', '수', '목', '금', '토'],
dayNamesShort: ['일', '월', '화', '수', '목', '금', '토'],
dayNamesMin: ['일', '월', '화', '수', '목', '금', '토'],
yearSuffix: '년',
showMonthAfterYear:true,
changeYear : true,
changeMonth : true
});
$("#endDate").datepicker({
dateFormat: 'yy-mm-dd',
monthNames: ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월'],
monthNamesShort: ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월'],
dayNames: ['일', '월', '화', '수', '목', '금', '토'],
dayNamesShort: ['일', '월', '화', '수', '목', '금', '토'],
dayNamesMin: ['일', '월', '화', '수', '목', '금', '토'],
yearSuffix: '년',
showMonthAfterYear:true,
changeYear : true,
changeMonth : true
});
//전체선택 체크박스 클릭
$("input[type=checkbox]").click(function() {
var id = this.id;
if(id.indexOf("facility") != -1){
if(id == "facility_all"){
if($("#facility_all").prop("checked")) {
$("input[name=facility]").prop("checked", true);
} else {
$("input[name=facility]").prop("checked", false);
}
}else{
$("#facility_all").prop("checked", false);
if($(this).prop("checked")) {
$(this).prop("checked", true);
}else{
$(this).prop("checked", false);
}
}
}else if(id.indexOf("structure") != -1){
if(id == "structure_all"){
if($("#structure_all").prop("checked")) {
$("input[name=structure]").prop("checked", true);
} else {
$("input[name=structure]").prop("checked", false);
}
}else{
$("#structure_all").prop("checked", false);
if($(this).prop("checked")) {
$(this).prop("checked", true);
}else{
$(this).prop("checked", false);
}
}
}else if(id.indexOf("ground") != -1){
if(id == "ground_all"){
if($("#ground_all").prop("checked")) {
$("input[name=ground]").prop("checked", true);
} else {
$("input[name=ground]").prop("checked", false);
}
}else{
$("#ground_all").prop("checked", false);
if($(this).prop("checked")) {
$(this).prop("checked", true);
}else{
$(this).prop("checked", false);
}
}
}
});
});
</script>
</body>
</html>

View File

@ -0,0 +1,135 @@
<%@ 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"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>모바일센터 관리시스템</title>
<script src="<c:out value="/js/jquery-3.5.1.min.js" />"></script>
<script src="<c:out value="/js/bootstrap.min.js" />"></script>
<link href="<c:out value="/css/normalize.css" />" rel="stylesheet">
<link href="<c:out value="/css/bootstrap.min.css" />" rel="stylesheet">
<link href="<c:out value="/css/style.css" />" rel="stylesheet">
</head>
<body>
<%@ include file="../include/header.jsp"%>
<section class="section">
<form:form commandName="userVO" name="updateForm" action="/map/userUpdate" id="updateForm" method="post">
<input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}" />
<input type="hidden" name="userid" value="${userVO.userid}" />
<div class="section_content">
<div class="join_top">
<h2><span class="glyphicon glyphicon-edit"></span> 회원 정보 수정</h2>
</div>
<table class="join_table">
<tbody>
<tr>
<th>아이디</th>
<td>${userVO.userid}</td>
</tr>
<tr>
<th>비밀번호</th>
<td>
<p><label><input type="checkbox" id="changePw" /> 비밀번호 변경</<label></p>
<input type="password" class="form-control" id="password" name="password" value="" disabled="true" />
</td>
</tr>
<tr>
<th>비밀번호 확인</th>
<td><input type="password" class="form-control" id="passwordCheck" name="passwordCheck" value="" disabled="true" />
</td>
</tr>
<tr>
<th>이름</th>
<td><input type="text" class="form-control" name="name" id="name" value="${userVO.name}" /></td>
</tr>
<tr>
<th>소속기관</th>
<td><input type="text" class="form-control" name="company" id="company" value="${userVO.company}" /></td>
</tr>
<tr>
<th>연락처</th>
<td><input type="text" class="form-control" name="phonenum" id="phonenum" value="${userVO.phonenum}"/></td>
</tr>
<tr>
<th>이메일</th>
<td>
<div>
<input type="text" class="form-control" name="email" id="email" value="${userVO.email}" />
</div>
</td>
</tr>
</tbody>
</table>
<div class="join_top" style="margin-top:20px;">
<p class="search_p2">
<input class="btn btn-primary" type="button" value="수정" onclick="update();" />
</p>
</div>
</div>
</form:form>
</section>
<script>
$(function(){
$("#changePw").click(function(){
if($(this).is(":checked")){
$("#password").attr("disabled", false);
$("#passwordCheck").attr("disabled", false);
}else{
$("#password").attr("disabled", true);
$("#passwordCheck").attr("disabled", true);
}
});
});
function update() {
var changePw = $("#changePw").is(":checked");
var pw1 = $('#password').val();
var pw2 = $('#passwordCheck').val();
var name = $('#name').val();
var company = $('#company').val();
var tell = $('#phonenum').val();
var email_1 = $('#email').val();
if (changePw && pw1 == "") {
alert('비밀번호를 입력해주세요');
$('#password').focus();
return;
} else if (changePw && pw2 == "") {
alert('비밀번호를 입력해주세요');
$('#passwordCheck').focus();
return;
} else if (changePw && (pw1 != pw2)) {
alert('비밀번호가 일치하지 않습니다.');
$('#pass').focus();
return;
} else if (name == "") {
alert('이름을 입력해주세요');
$('#name').focus();
return;
} else if (company == "") {
alert('소속기관을 입력해주세요');
$('#company').focus();
return;
} else if (tell == "") {
alert('연락처를 입력해주세요');
$('#phone_num').focus();
return;
} else if (email_1 == "") {
alert('이메일을 입력해주세요');
$('#email').focus();
return;
} else {
$("#updateForm").submit();
}
}
</script>
</body>
</html>

View File

@ -0,0 +1,16 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
<title>모바일센터 관리시스템</title>
</head>
<body>
<script>
var resultMessage = '${resultMsg}';
if(resultMessage){
alert(resultMessage);
}
location.href='${url}';
</script>
</body>
</html>

View File

@ -0,0 +1,99 @@
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID" version="2.5">
<display-name>egov.sample</display-name>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:egovframework/spring/context-*.xml</param-value>
</context-param>
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/config/egovframework/springmvc/dispatcher-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
<filter-name>HTMLTagFilter</filter-name>
<filter-class>egovframework.rte.ptl.mvc.filter.HTMLTagFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>HTMLTagFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<session-config>
<session-timeout>60</session-timeout>
</session-config>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<login-config>
<auth-method>BASIC</auth-method>
</login-config>
<error-page>
<exception-type>java.lang.Throwable</exception-type>
<location>/WEB-INF/jsp/error/EgovServerError.jsp</location>
</error-page>
<error-page>
<error-code>404</error-code>
<location>/WEB-INF/jsp/error/EgovNotFound.jsp</location>
</error-page>
<error-page>
<error-code>500</error-code>
<location>/WEB-INF/jsp/error/EgovServerError.jsp</location>
</error-page>
</web-app>

Some files were not shown because too many files have changed in this diff Show More