개발환경구축
parent
334666fafd
commit
6bf77aeb0e
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
activeProfiles=
|
||||
eclipse.preferences.version=1
|
||||
resolveWorkspaceProjects=true
|
||||
version=1
|
||||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -0,0 +1 @@
|
|||
org.eclipse.wst.jsdt.launching.baseBrowserLibrary
|
||||
|
|
@ -0,0 +1 @@
|
|||
Window
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
disabled=06target
|
||||
eclipse.preferences.version=1
|
||||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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;
|
||||
|
||||
}
|
||||
|
|
@ -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();
|
||||
|
||||
}
|
||||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
@ -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();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
@ -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";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -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";
|
||||
}
|
||||
}
|
||||
|
|
@ -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";
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -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);
|
||||
}
|
||||
|
|
@ -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);
|
||||
}
|
||||
|
|
@ -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();
|
||||
}
|
||||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
@ -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();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
package com.mca.map.vo;
|
||||
|
||||
import com.mca.cmmn.vo.BaseSearchVO;
|
||||
|
||||
public class FieldDataSearchVO extends BaseSearchVO{
|
||||
|
||||
}
|
||||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -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("/");
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -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);
|
||||
|
||||
}
|
||||
|
|
@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
@ -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);
|
||||
}
|
||||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
@ -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> ";
|
||||
previousPageLabel = "<a href=\"#\" onclick=\"{0}({1}); return false;\">" + "<image src='" + servletContext.getContextPath() + "/images/egovframework/cmmn/btn_page_pre1.gif' border=0/></a> ";
|
||||
currentPageLabel = "<strong>{0}</strong> ";
|
||||
otherPageLabel = "<a href=\"#\" onclick=\"{0}({1}); return false;\">{2}</a> ";
|
||||
nextPageLabel = "<a href=\"#\" onclick=\"{0}({1}); return false;\">" + "<image src='" + servletContext.getContextPath() + "/images/egovframework/cmmn/btn_page_next1.gif' border=0/></a> ";
|
||||
lastPageLabel = "<a href=\"#\" onclick=\"{0}({1}); return false;\">" + "<image src='" + servletContext.getContextPath() + "/images/egovframework/cmmn/btn_page_next10.gif' border=0/></a> ";
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setServletContext(ServletContext servletContext) {
|
||||
this.servletContext = servletContext;
|
||||
initVariables();
|
||||
}
|
||||
}
|
||||
|
|
@ -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.
|
||||
|
|
@ -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.
|
||||
|
|
@ -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.
|
||||
|
|
@ -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
|
||||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
Manifest-Version: 1.0
|
||||
Class-Path:
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
|
|
@ -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
|
|
@ -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>
|
||||
|
|
@ -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"> </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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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"> </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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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"/>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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
Loading…
Reference in New Issue