차적 테스트
parent
7202d2f78d
commit
f9009dbde2
@ -0,0 +1,316 @@
|
||||
#!/bin/sh
|
||||
# ----------------------------------------------------------------------------
|
||||
# Licensed to the Apache Software Foundation (ASF) under one
|
||||
# or more contributor license agreements. See the NOTICE file
|
||||
# distributed with this work for additional information
|
||||
# regarding copyright ownership. The ASF licenses this file
|
||||
# to you 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
|
||||
#
|
||||
# https://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.
|
||||
# ----------------------------------------------------------------------------
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
# Maven Start Up Batch script
|
||||
#
|
||||
# Required ENV vars:
|
||||
# ------------------
|
||||
# JAVA_HOME - location of a JDK home dir
|
||||
#
|
||||
# Optional ENV vars
|
||||
# -----------------
|
||||
# M2_HOME - location of maven2's installed home dir
|
||||
# MAVEN_OPTS - parameters passed to the Java VM when running Maven
|
||||
# e.g. to debug Maven itself, use
|
||||
# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
|
||||
# MAVEN_SKIP_RC - flag to disable loading of mavenrc files
|
||||
# ----------------------------------------------------------------------------
|
||||
|
||||
if [ -z "$MAVEN_SKIP_RC" ] ; then
|
||||
|
||||
if [ -f /usr/local/etc/mavenrc ] ; then
|
||||
. /usr/local/etc/mavenrc
|
||||
fi
|
||||
|
||||
if [ -f /etc/mavenrc ] ; then
|
||||
. /etc/mavenrc
|
||||
fi
|
||||
|
||||
if [ -f "$HOME/.mavenrc" ] ; then
|
||||
. "$HOME/.mavenrc"
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
# OS specific support. $var _must_ be set to either true or false.
|
||||
cygwin=false;
|
||||
darwin=false;
|
||||
mingw=false
|
||||
case "`uname`" in
|
||||
CYGWIN*) cygwin=true ;;
|
||||
MINGW*) mingw=true;;
|
||||
Darwin*) darwin=true
|
||||
# Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home
|
||||
# See https://developer.apple.com/library/mac/qa/qa1170/_index.html
|
||||
if [ -z "$JAVA_HOME" ]; then
|
||||
if [ -x "/usr/libexec/java_home" ]; then
|
||||
export JAVA_HOME="`/usr/libexec/java_home`"
|
||||
else
|
||||
export JAVA_HOME="/Library/Java/Home"
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ -z "$JAVA_HOME" ] ; then
|
||||
if [ -r /etc/gentoo-release ] ; then
|
||||
JAVA_HOME=`java-config --jre-home`
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -z "$M2_HOME" ] ; then
|
||||
## resolve links - $0 may be a link to maven's home
|
||||
PRG="$0"
|
||||
|
||||
# need this for relative symlinks
|
||||
while [ -h "$PRG" ] ; do
|
||||
ls=`ls -ld "$PRG"`
|
||||
link=`expr "$ls" : '.*-> \(.*\)$'`
|
||||
if expr "$link" : '/.*' > /dev/null; then
|
||||
PRG="$link"
|
||||
else
|
||||
PRG="`dirname "$PRG"`/$link"
|
||||
fi
|
||||
done
|
||||
|
||||
saveddir=`pwd`
|
||||
|
||||
M2_HOME=`dirname "$PRG"`/..
|
||||
|
||||
# make it fully qualified
|
||||
M2_HOME=`cd "$M2_HOME" && pwd`
|
||||
|
||||
cd "$saveddir"
|
||||
# echo Using m2 at $M2_HOME
|
||||
fi
|
||||
|
||||
# For Cygwin, ensure paths are in UNIX format before anything is touched
|
||||
if $cygwin ; then
|
||||
[ -n "$M2_HOME" ] &&
|
||||
M2_HOME=`cygpath --unix "$M2_HOME"`
|
||||
[ -n "$JAVA_HOME" ] &&
|
||||
JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
|
||||
[ -n "$CLASSPATH" ] &&
|
||||
CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
|
||||
fi
|
||||
|
||||
# For Mingw, ensure paths are in UNIX format before anything is touched
|
||||
if $mingw ; then
|
||||
[ -n "$M2_HOME" ] &&
|
||||
M2_HOME="`(cd "$M2_HOME"; pwd)`"
|
||||
[ -n "$JAVA_HOME" ] &&
|
||||
JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`"
|
||||
fi
|
||||
|
||||
if [ -z "$JAVA_HOME" ]; then
|
||||
javaExecutable="`which javac`"
|
||||
if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then
|
||||
# readlink(1) is not available as standard on Solaris 10.
|
||||
readLink=`which readlink`
|
||||
if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then
|
||||
if $darwin ; then
|
||||
javaHome="`dirname \"$javaExecutable\"`"
|
||||
javaExecutable="`cd \"$javaHome\" && pwd -P`/javac"
|
||||
else
|
||||
javaExecutable="`readlink -f \"$javaExecutable\"`"
|
||||
fi
|
||||
javaHome="`dirname \"$javaExecutable\"`"
|
||||
javaHome=`expr "$javaHome" : '\(.*\)/bin'`
|
||||
JAVA_HOME="$javaHome"
|
||||
export JAVA_HOME
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -z "$JAVACMD" ] ; then
|
||||
if [ -n "$JAVA_HOME" ] ; then
|
||||
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
|
||||
# IBM's JDK on AIX uses strange locations for the executables
|
||||
JAVACMD="$JAVA_HOME/jre/sh/java"
|
||||
else
|
||||
JAVACMD="$JAVA_HOME/bin/java"
|
||||
fi
|
||||
else
|
||||
JAVACMD="`\\unset -f command; \\command -v java`"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ ! -x "$JAVACMD" ] ; then
|
||||
echo "Error: JAVA_HOME is not defined correctly." >&2
|
||||
echo " We cannot execute $JAVACMD" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -z "$JAVA_HOME" ] ; then
|
||||
echo "Warning: JAVA_HOME environment variable is not set."
|
||||
fi
|
||||
|
||||
CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher
|
||||
|
||||
# traverses directory structure from process work directory to filesystem root
|
||||
# first directory with .mvn subdirectory is considered project base directory
|
||||
find_maven_basedir() {
|
||||
|
||||
if [ -z "$1" ]
|
||||
then
|
||||
echo "Path not specified to find_maven_basedir"
|
||||
return 1
|
||||
fi
|
||||
|
||||
basedir="$1"
|
||||
wdir="$1"
|
||||
while [ "$wdir" != '/' ] ; do
|
||||
if [ -d "$wdir"/.mvn ] ; then
|
||||
basedir=$wdir
|
||||
break
|
||||
fi
|
||||
# workaround for JBEAP-8937 (on Solaris 10/Sparc)
|
||||
if [ -d "${wdir}" ]; then
|
||||
wdir=`cd "$wdir/.."; pwd`
|
||||
fi
|
||||
# end of workaround
|
||||
done
|
||||
echo "${basedir}"
|
||||
}
|
||||
|
||||
# concatenates all lines of a file
|
||||
concat_lines() {
|
||||
if [ -f "$1" ]; then
|
||||
echo "$(tr -s '\n' ' ' < "$1")"
|
||||
fi
|
||||
}
|
||||
|
||||
BASE_DIR=`find_maven_basedir "$(pwd)"`
|
||||
if [ -z "$BASE_DIR" ]; then
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
##########################################################################################
|
||||
# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
|
||||
# This allows using the maven wrapper in projects that prohibit checking in binary data.
|
||||
##########################################################################################
|
||||
if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then
|
||||
if [ "$MVNW_VERBOSE" = true ]; then
|
||||
echo "Found .mvn/wrapper/maven-wrapper.jar"
|
||||
fi
|
||||
else
|
||||
if [ "$MVNW_VERBOSE" = true ]; then
|
||||
echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..."
|
||||
fi
|
||||
if [ -n "$MVNW_REPOURL" ]; then
|
||||
jarUrl="$MVNW_REPOURL/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar"
|
||||
else
|
||||
jarUrl="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar"
|
||||
fi
|
||||
while IFS="=" read key value; do
|
||||
case "$key" in (wrapperUrl) jarUrl="$value"; break ;;
|
||||
esac
|
||||
done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties"
|
||||
if [ "$MVNW_VERBOSE" = true ]; then
|
||||
echo "Downloading from: $jarUrl"
|
||||
fi
|
||||
wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar"
|
||||
if $cygwin; then
|
||||
wrapperJarPath=`cygpath --path --windows "$wrapperJarPath"`
|
||||
fi
|
||||
|
||||
if command -v wget > /dev/null; then
|
||||
if [ "$MVNW_VERBOSE" = true ]; then
|
||||
echo "Found wget ... using wget"
|
||||
fi
|
||||
if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
|
||||
wget "$jarUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath"
|
||||
else
|
||||
wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath"
|
||||
fi
|
||||
elif command -v curl > /dev/null; then
|
||||
if [ "$MVNW_VERBOSE" = true ]; then
|
||||
echo "Found curl ... using curl"
|
||||
fi
|
||||
if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
|
||||
curl -o "$wrapperJarPath" "$jarUrl" -f
|
||||
else
|
||||
curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f
|
||||
fi
|
||||
|
||||
else
|
||||
if [ "$MVNW_VERBOSE" = true ]; then
|
||||
echo "Falling back to using Java to download"
|
||||
fi
|
||||
javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java"
|
||||
# For Cygwin, switch paths to Windows format before running javac
|
||||
if $cygwin; then
|
||||
javaClass=`cygpath --path --windows "$javaClass"`
|
||||
fi
|
||||
if [ -e "$javaClass" ]; then
|
||||
if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then
|
||||
if [ "$MVNW_VERBOSE" = true ]; then
|
||||
echo " - Compiling MavenWrapperDownloader.java ..."
|
||||
fi
|
||||
# Compiling the Java class
|
||||
("$JAVA_HOME/bin/javac" "$javaClass")
|
||||
fi
|
||||
if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then
|
||||
# Running the downloader
|
||||
if [ "$MVNW_VERBOSE" = true ]; then
|
||||
echo " - Running MavenWrapperDownloader.java ..."
|
||||
fi
|
||||
("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR")
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
##########################################################################################
|
||||
# End of extension
|
||||
##########################################################################################
|
||||
|
||||
export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"}
|
||||
if [ "$MVNW_VERBOSE" = true ]; then
|
||||
echo $MAVEN_PROJECTBASEDIR
|
||||
fi
|
||||
MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS"
|
||||
|
||||
# For Cygwin, switch paths to Windows format before running java
|
||||
if $cygwin; then
|
||||
[ -n "$M2_HOME" ] &&
|
||||
M2_HOME=`cygpath --path --windows "$M2_HOME"`
|
||||
[ -n "$JAVA_HOME" ] &&
|
||||
JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"`
|
||||
[ -n "$CLASSPATH" ] &&
|
||||
CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
|
||||
[ -n "$MAVEN_PROJECTBASEDIR" ] &&
|
||||
MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"`
|
||||
fi
|
||||
|
||||
# Provide a "standardized" way to retrieve the CLI args that will
|
||||
# work with both Windows and non-Windows executions.
|
||||
MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@"
|
||||
export MAVEN_CMD_LINE_ARGS
|
||||
|
||||
WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
|
||||
|
||||
exec "$JAVACMD" \
|
||||
$MAVEN_OPTS \
|
||||
$MAVEN_DEBUG_OPTS \
|
||||
-classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \
|
||||
"-Dmaven.home=${M2_HOME}" \
|
||||
"-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \
|
||||
${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@"
|
@ -0,0 +1,188 @@
|
||||
@REM ----------------------------------------------------------------------------
|
||||
@REM Licensed to the Apache Software Foundation (ASF) under one
|
||||
@REM or more contributor license agreements. See the NOTICE file
|
||||
@REM distributed with this work for additional information
|
||||
@REM regarding copyright ownership. The ASF licenses this file
|
||||
@REM to you under the Apache License, Version 2.0 (the
|
||||
@REM "License"); you may not use this file except in compliance
|
||||
@REM with the License. You may obtain a copy of the License at
|
||||
@REM
|
||||
@REM https://www.apache.org/licenses/LICENSE-2.0
|
||||
@REM
|
||||
@REM Unless required by applicable law or agreed to in writing,
|
||||
@REM software distributed under the License is distributed on an
|
||||
@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
@REM KIND, either express or implied. See the License for the
|
||||
@REM specific language governing permissions and limitations
|
||||
@REM under the License.
|
||||
@REM ----------------------------------------------------------------------------
|
||||
|
||||
@REM ----------------------------------------------------------------------------
|
||||
@REM Maven Start Up Batch script
|
||||
@REM
|
||||
@REM Required ENV vars:
|
||||
@REM JAVA_HOME - location of a JDK home dir
|
||||
@REM
|
||||
@REM Optional ENV vars
|
||||
@REM M2_HOME - location of maven2's installed home dir
|
||||
@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands
|
||||
@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending
|
||||
@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven
|
||||
@REM e.g. to debug Maven itself, use
|
||||
@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
|
||||
@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files
|
||||
@REM ----------------------------------------------------------------------------
|
||||
|
||||
@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on'
|
||||
@echo off
|
||||
@REM set title of command window
|
||||
title %0
|
||||
@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on'
|
||||
@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO%
|
||||
|
||||
@REM set %HOME% to equivalent of $HOME
|
||||
if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%")
|
||||
|
||||
@REM Execute a user defined script before this one
|
||||
if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre
|
||||
@REM check for pre script, once with legacy .bat ending and once with .cmd ending
|
||||
if exist "%USERPROFILE%\mavenrc_pre.bat" call "%USERPROFILE%\mavenrc_pre.bat" %*
|
||||
if exist "%USERPROFILE%\mavenrc_pre.cmd" call "%USERPROFILE%\mavenrc_pre.cmd" %*
|
||||
:skipRcPre
|
||||
|
||||
@setlocal
|
||||
|
||||
set ERROR_CODE=0
|
||||
|
||||
@REM To isolate internal variables from possible post scripts, we use another setlocal
|
||||
@setlocal
|
||||
|
||||
@REM ==== START VALIDATION ====
|
||||
if not "%JAVA_HOME%" == "" goto OkJHome
|
||||
|
||||
echo.
|
||||
echo Error: JAVA_HOME not found in your environment. >&2
|
||||
echo Please set the JAVA_HOME variable in your environment to match the >&2
|
||||
echo location of your Java installation. >&2
|
||||
echo.
|
||||
goto error
|
||||
|
||||
:OkJHome
|
||||
if exist "%JAVA_HOME%\bin\java.exe" goto init
|
||||
|
||||
echo.
|
||||
echo Error: JAVA_HOME is set to an invalid directory. >&2
|
||||
echo JAVA_HOME = "%JAVA_HOME%" >&2
|
||||
echo Please set the JAVA_HOME variable in your environment to match the >&2
|
||||
echo location of your Java installation. >&2
|
||||
echo.
|
||||
goto error
|
||||
|
||||
@REM ==== END VALIDATION ====
|
||||
|
||||
:init
|
||||
|
||||
@REM Find the project base dir, i.e. the directory that contains the folder ".mvn".
|
||||
@REM Fallback to current working directory if not found.
|
||||
|
||||
set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR%
|
||||
IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir
|
||||
|
||||
set EXEC_DIR=%CD%
|
||||
set WDIR=%EXEC_DIR%
|
||||
:findBaseDir
|
||||
IF EXIST "%WDIR%"\.mvn goto baseDirFound
|
||||
cd ..
|
||||
IF "%WDIR%"=="%CD%" goto baseDirNotFound
|
||||
set WDIR=%CD%
|
||||
goto findBaseDir
|
||||
|
||||
:baseDirFound
|
||||
set MAVEN_PROJECTBASEDIR=%WDIR%
|
||||
cd "%EXEC_DIR%"
|
||||
goto endDetectBaseDir
|
||||
|
||||
:baseDirNotFound
|
||||
set MAVEN_PROJECTBASEDIR=%EXEC_DIR%
|
||||
cd "%EXEC_DIR%"
|
||||
|
||||
:endDetectBaseDir
|
||||
|
||||
IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig
|
||||
|
||||
@setlocal EnableExtensions EnableDelayedExpansion
|
||||
for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a
|
||||
@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS%
|
||||
|
||||
:endReadAdditionalConfig
|
||||
|
||||
SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe"
|
||||
set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar"
|
||||
set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
|
||||
|
||||
set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar"
|
||||
|
||||
FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO (
|
||||
IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B
|
||||
)
|
||||
|
||||
@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
|
||||
@REM This allows using the maven wrapper in projects that prohibit checking in binary data.
|
||||
if exist %WRAPPER_JAR% (
|
||||
if "%MVNW_VERBOSE%" == "true" (
|
||||
echo Found %WRAPPER_JAR%
|
||||
)
|
||||
) else (
|
||||
if not "%MVNW_REPOURL%" == "" (
|
||||
SET DOWNLOAD_URL="%MVNW_REPOURL%/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar"
|
||||
)
|
||||
if "%MVNW_VERBOSE%" == "true" (
|
||||
echo Couldn't find %WRAPPER_JAR%, downloading it ...
|
||||
echo Downloading from: %DOWNLOAD_URL%
|
||||
)
|
||||
|
||||
powershell -Command "&{"^
|
||||
"$webclient = new-object System.Net.WebClient;"^
|
||||
"if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^
|
||||
"$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^
|
||||
"}"^
|
||||
"[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^
|
||||
"}"
|
||||
if "%MVNW_VERBOSE%" == "true" (
|
||||
echo Finished downloading %WRAPPER_JAR%
|
||||
)
|
||||
)
|
||||
@REM End of extension
|
||||
|
||||
@REM Provide a "standardized" way to retrieve the CLI args that will
|
||||
@REM work with both Windows and non-Windows executions.
|
||||
set MAVEN_CMD_LINE_ARGS=%*
|
||||
|
||||
%MAVEN_JAVA_EXE% ^
|
||||
%JVM_CONFIG_MAVEN_PROPS% ^
|
||||
%MAVEN_OPTS% ^
|
||||
%MAVEN_DEBUG_OPTS% ^
|
||||
-classpath %WRAPPER_JAR% ^
|
||||
"-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" ^
|
||||
%WRAPPER_LAUNCHER% %MAVEN_CONFIG% %*
|
||||
if ERRORLEVEL 1 goto error
|
||||
goto end
|
||||
|
||||
:error
|
||||
set ERROR_CODE=1
|
||||
|
||||
:end
|
||||
@endlocal & set ERROR_CODE=%ERROR_CODE%
|
||||
|
||||
if not "%MAVEN_SKIP_RC%"=="" goto skipRcPost
|
||||
@REM check for post script, once with legacy .bat ending and once with .cmd ending
|
||||
if exist "%USERPROFILE%\mavenrc_post.bat" call "%USERPROFILE%\mavenrc_post.bat"
|
||||
if exist "%USERPROFILE%\mavenrc_post.cmd" call "%USERPROFILE%\mavenrc_post.cmd"
|
||||
:skipRcPost
|
||||
|
||||
@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on'
|
||||
if "%MAVEN_BATCH_PAUSE%"=="on" pause
|
||||
|
||||
if "%MAVEN_TERMINATE_CMD%"=="on" exit %ERROR_CODE%
|
||||
|
||||
cmd /C exit /B %ERROR_CODE%
|
@ -0,0 +1,102 @@
|
||||
<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<parent>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-parent</artifactId>
|
||||
<version>2.7.12</version>
|
||||
<relativePath/> <!-- lookup parent from repository -->
|
||||
</parent>
|
||||
|
||||
<groupId>testserver</groupId>
|
||||
<artifactId>ts</artifactId>
|
||||
<version>0.0.1-SNAPSHOT</version>
|
||||
<name>ts</name>
|
||||
<description>ts</description>
|
||||
<packaging>war</packaging>
|
||||
|
||||
<properties>
|
||||
<java.version>17</java.version>
|
||||
</properties>
|
||||
|
||||
<repositories>
|
||||
<repository>
|
||||
<id>maven-public</id>
|
||||
<url>https://nas.xit.co.kr:8888/repository/maven-public/</url>
|
||||
</repository>
|
||||
</repositories>
|
||||
|
||||
<dependencies>
|
||||
|
||||
<dependency>
|
||||
<groupId>cokr.xit.base</groupId>
|
||||
<artifactId>xit-base</artifactId>
|
||||
<version>23.04.01-SNAPSHOT</version>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>cokr.xit.base</groupId>
|
||||
<artifactId>xit-security</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>cokr.xit.boot</groupId>
|
||||
<artifactId>xit-foundation-starter</artifactId>
|
||||
<version>23.04.01-SNAPSHOT</version>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>cokr.xit.base</groupId>
|
||||
<artifactId>xit-security</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.mariadb.jdbc</groupId>
|
||||
<artifactId>mariadb-java-client</artifactId>
|
||||
<scope>runtime</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.apache.cxf</groupId>
|
||||
<artifactId>cxf-spring-boot-starter-jaxws</artifactId>
|
||||
<version>3.3.6</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.hibernate</groupId>
|
||||
<artifactId>hibernate-validator</artifactId>
|
||||
<version>6.1.5.Final</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>javax</groupId>
|
||||
<artifactId>javaee-api</artifactId>
|
||||
<version>8.0</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
|
||||
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-maven-plugin</artifactId>
|
||||
<configuration>
|
||||
<excludes>
|
||||
<exclude>
|
||||
<groupId>org.projectlombok</groupId>
|
||||
<artifactId>lombok</artifactId>
|
||||
</exclude>
|
||||
</excludes>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
</project>
|
@ -0,0 +1,116 @@
|
||||
package cokr.xit.base.boot;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import org.egovframe.rte.fdl.cmmn.trace.LeaveaTrace;
|
||||
import org.egovframe.rte.fdl.property.impl.EgovPropertyServiceImpl;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.ComponentScan;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.context.support.ReloadableResourceBundleMessageSource;
|
||||
import org.springframework.util.AntPathMatcher;
|
||||
import org.springframework.web.servlet.i18n.SessionLocaleResolver;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonParser.Feature;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
|
||||
import cokr.xit.foundation.boot.Yml;
|
||||
|
||||
/**전자정부 프레임웤과 xit foundation을 사용하는 애플리케이션의 공통 Bean들을 설정한다.
|
||||
* @author mjkhan
|
||||
*/
|
||||
@Configuration
|
||||
@ComponentScan(basePackages = "cokr.xit")
|
||||
public class CommonConfig2 {
|
||||
/**AntPathMatcher를 반환한다.
|
||||
* @return AntPathMatcher
|
||||
*/
|
||||
@Bean
|
||||
public AntPathMatcher antPathMatcher() {
|
||||
return new AntPathMatcher();
|
||||
}
|
||||
|
||||
/**ObjectMapper를 반환한다.
|
||||
* @return ObjectMapper
|
||||
*/
|
||||
@Bean
|
||||
public ObjectMapper objectMapper() {
|
||||
ObjectMapper bean = new ObjectMapper();
|
||||
bean.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"));
|
||||
bean.configure(Feature.ALLOW_COMMENTS, true);
|
||||
return bean;
|
||||
}
|
||||
|
||||
/**SessionLocaleResolver를 반환한다.
|
||||
* @return SessionLocaleResolver
|
||||
*/
|
||||
@Bean(name="localeResolver2")
|
||||
public SessionLocaleResolver localeResolver() {
|
||||
SessionLocaleResolver bean = new SessionLocaleResolver();
|
||||
bean.setDefaultLocale(Locale.getDefault());
|
||||
return bean;
|
||||
}
|
||||
|
||||
/**LeaveaTrace를 반환한다.
|
||||
* @return LeaveaTrace
|
||||
*/
|
||||
@Bean
|
||||
public LeaveaTrace leaveaTrace() {
|
||||
return new LeaveaTrace();
|
||||
}
|
||||
|
||||
private Yml yml = new Yml("application.yml", "application.yml");
|
||||
|
||||
/**application.yml의 설정 내용을 읽어 MessageSource Bean을 설정하여 반환한다.
|
||||
* <pre><code> messageSource:
|
||||
* basenames:
|
||||
* - classpath:message/message-common
|
||||
* - classpath:message/authentication-message
|
||||
* - classpath:org/egovframe/rte/fdl/property/messages/properties</code></pre>
|
||||
* @return ReloadableResourceBundleMessageSource
|
||||
*/
|
||||
@Bean
|
||||
public ReloadableResourceBundleMessageSource messageSource() {
|
||||
ReloadableResourceBundleMessageSource bean = new ReloadableResourceBundleMessageSource();
|
||||
bean.setDefaultEncoding("UTF-8");
|
||||
bean.setCacheSeconds(60);
|
||||
|
||||
List<String> basenames = yml.getValues("messageSource.basenames");
|
||||
if (!basenames.isEmpty())
|
||||
bean.setBasenames(basenames.toArray(new String[basenames.size()]));
|
||||
|
||||
return bean;
|
||||
}
|
||||
|
||||
/**application.yml의 설정 내용을 읽어 EgovPropertyServiceImpl Bean을 설정하여 반환한다.
|
||||
* <pre><code> propertyService:
|
||||
* properties: # 인라인 프로퍼티가 있을 경우
|
||||
* - property0: value0
|
||||
* - property1: value1
|
||||
* extFileName: #외부 프로퍼티 파일이 있을 경우
|
||||
* - encoding: UTF-8
|
||||
* filename: classpath*:properties/your-file-01.properties
|
||||
* - encoding: UTF-8
|
||||
* filename: classpath*:properties/your-file-02.properties</code></pre>
|
||||
* @return EgovPropertyServiceImpl
|
||||
*/
|
||||
@Bean
|
||||
public EgovPropertyServiceImpl propertyService() {
|
||||
EgovPropertyServiceImpl bean = new EgovPropertyServiceImpl();
|
||||
|
||||
Map<String, String> properties = yml.getMap("propertyService.properties");
|
||||
if (!properties.isEmpty())
|
||||
bean.setProperties(properties);
|
||||
|
||||
Set<?> filenames = yml.getMaps("propertyService.extFileName").stream().collect(Collectors.toSet());
|
||||
if (!filenames.isEmpty())
|
||||
bean.setExtFileName(filenames);
|
||||
|
||||
return bean;
|
||||
}
|
||||
}
|
@ -0,0 +1,110 @@
|
||||
package cokr.xit.base.boot;
|
||||
|
||||
import javax.sql.DataSource;
|
||||
|
||||
import org.egovframe.rte.psl.dataaccess.mapper.MapperConfigurer;
|
||||
import org.mybatis.spring.SqlSessionFactoryBean;
|
||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||
import org.springframework.boot.jdbc.DataSourceBuilder;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
|
||||
|
||||
import cokr.xit.foundation.Assert;
|
||||
|
||||
/**데이터베이스 접속 관련 설정
|
||||
* <ul><li>{@link #dataSource() 데이터소스} 설정</li>
|
||||
* <li>{@link #sqlSession() MyBatis} 접속 설정</li>
|
||||
* <li>{@link #mapperConfigurer() 매퍼} 설정</li>
|
||||
* </ul>
|
||||
* @author mjkhan
|
||||
*/
|
||||
@Configuration
|
||||
public class DatasourceConfig2 {
|
||||
private DataSource dataSource;
|
||||
|
||||
/**데이터소스 Bean을 반환한다. JDBC 접속은 application.yml 파일에 다음과 같이 설정한다.
|
||||
* <pre><code> spring:
|
||||
* datasource:
|
||||
* hikari:
|
||||
* driver-class-name: JDBC 드라이버 클래스 이름
|
||||
* jdbc-url: 데이터베이스 접속 URL
|
||||
* username: 데이터베이스 접속 아이디
|
||||
* password: 데이터베이스 접속 비밀번호</code></pre>
|
||||
* @return 데이터소스
|
||||
*/
|
||||
@Bean("dataSource")
|
||||
@ConfigurationProperties(prefix = "spring.datasource.hikari")
|
||||
public DataSource dataSource() {
|
||||
return dataSource != null ? dataSource : (dataSource = DataSourceBuilder.create().build());
|
||||
}
|
||||
|
||||
@Bean("externaldataSource")
|
||||
@ConfigurationProperties(prefix = "spring.externaldatasource.hikari")
|
||||
public DataSource externaldataSource() {
|
||||
return dataSource != null ? dataSource : (dataSource = DataSourceBuilder.create().build());
|
||||
}
|
||||
|
||||
/**SqlSessionFactoryBean을 반환한다.<br />
|
||||
* MyBatis의 설정 파일들은 다음 경로에 있어야 한다.
|
||||
* <ul><li>MyBatis 설정: classpath:sql/mybatis-config.xml</li>
|
||||
* <li>매퍼 xml: classpath:sql/mapper/**/*.xml</li>
|
||||
* </ul>
|
||||
* @return SqlSessionFactoryBean
|
||||
*/
|
||||
@Bean
|
||||
public SqlSessionFactoryBean sqlSession() {
|
||||
try {
|
||||
SqlSessionFactoryBean bean = new SqlSessionFactoryBean();
|
||||
bean.setDataSource(dataSource());
|
||||
|
||||
PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
|
||||
bean.setConfigLocation(resolver.getResource("classpath:sql/mybatis-config.xml"));
|
||||
bean.setMapperLocations(resolver.getResources("classpath:sql/mapper/**/*.xml"));
|
||||
return bean;
|
||||
} catch (Exception e) {
|
||||
throw Assert.runtimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Bean
|
||||
public SqlSessionFactoryBean externalSqlSession() {
|
||||
try {
|
||||
SqlSessionFactoryBean bean = new SqlSessionFactoryBean();
|
||||
bean.setDataSource(externaldataSource());
|
||||
|
||||
PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
|
||||
bean.setConfigLocation(resolver.getResource("classpath:sql/mybatis-config.xml"));
|
||||
bean.setMapperLocations(resolver.getResources("classpath:sql/externalmapper/**/*.xml"));
|
||||
return bean;
|
||||
} catch (Exception e) {
|
||||
throw Assert.runtimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**MapperConfigurer를 반환한다.<br />
|
||||
* base package는 cokr.xit로 설정한다.
|
||||
* @return MapperConfigurer
|
||||
*/
|
||||
@Bean
|
||||
public MapperConfigurer mapperConfigurer() {
|
||||
MapperConfigurer bean = new MapperConfigurer();
|
||||
|
||||
bean.setBasePackage("cokr.xit");
|
||||
bean.setSqlSessionFactoryBeanName("sqlSession");
|
||||
|
||||
return bean;
|
||||
}
|
||||
|
||||
@Bean
|
||||
public MapperConfigurer externalMapperConfigurer() {
|
||||
MapperConfigurer bean = new MapperConfigurer();
|
||||
|
||||
bean.setBasePackage("externalsystem.car");
|
||||
bean.setSqlSessionFactoryBeanName("externalSqlSession");
|
||||
|
||||
return bean;
|
||||
}
|
||||
}
|
@ -0,0 +1,94 @@
|
||||
package cokr.xit.base.boot;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.web.multipart.commons.CommonsMultipartResolver;
|
||||
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
|
||||
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
|
||||
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
|
||||
import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping;
|
||||
import org.springframework.web.servlet.view.json.MappingJackson2JsonView;
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
|
||||
import cokr.xit.foundation.boot.StaticResourceConfig;
|
||||
import cokr.xit.foundation.web.AccessInitializer;
|
||||
|
||||
@Configuration
|
||||
public class MvcConfig4 implements WebMvcConfigurer {
|
||||
protected static String[] URL_PATTERNS = {"/lvis/**/*"};
|
||||
@Resource(name = "staticResource")
|
||||
private StaticResourceConfig staticResource;
|
||||
|
||||
/**AccessInitializer를 반환한다.
|
||||
* @return AccessInitializer
|
||||
*/
|
||||
@Bean
|
||||
public AccessInitializer accessInitializer() {
|
||||
return new AccessInitializer();
|
||||
}
|
||||
|
||||
@Value("${spring.web.resources.static-locations}")
|
||||
private String staticLocations;
|
||||
|
||||
/**정적 파일 자원 접근에 대한 설정을 추가한다.
|
||||
* <ul><li>url: /resources/** </li>
|
||||
* <li>위치: /resources/</li>
|
||||
* </ul>
|
||||
*/
|
||||
@Override
|
||||
public void addResourceHandlers(ResourceHandlerRegistry registry) {
|
||||
staticResource.getMappings().forEach((k, v) ->
|
||||
registry
|
||||
.addResourceHandler(k)
|
||||
.addResourceLocations(v)
|
||||
);
|
||||
}
|
||||
|
||||
/**AccessInitializer를 interceptor로 추가한다.
|
||||
*/
|
||||
@Override
|
||||
public void addInterceptors(InterceptorRegistry registry) {
|
||||
registry.addInterceptor(accessInitializer()).addPathPatterns(URL_PATTERNS);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Autowired
|
||||
private ObjectMapper objectMapper;
|
||||
|
||||
/**MappingJackson2JsonView를 반환한다.
|
||||
* @return MappingJackson2JsonView
|
||||
*/
|
||||
@Bean
|
||||
public MappingJackson2JsonView jsonView() {
|
||||
MappingJackson2JsonView bean = new MappingJackson2JsonView();
|
||||
bean.setContentType("application/json;charset=UTF-8");
|
||||
bean.setObjectMapper(objectMapper);
|
||||
return bean;
|
||||
}
|
||||
|
||||
/**CommonsMultipartResolver를 반환한다.
|
||||
* @return CommonsMultipartResolver
|
||||
*/
|
||||
@Bean
|
||||
public CommonsMultipartResolver multipartResolver() {
|
||||
CommonsMultipartResolver bean = new CommonsMultipartResolver();
|
||||
int oneGB = 1_073_741_824; // 1GB=1,073,741,824 byte
|
||||
bean.setMaxUploadSize(oneGB);
|
||||
bean.setMaxInMemorySize(oneGB);
|
||||
return bean;
|
||||
}
|
||||
|
||||
/**RequestMappingHandlerMapping을 반환한다.
|
||||
* @return RequestMappingHandlerMapping
|
||||
*/
|
||||
@Bean
|
||||
public RequestMappingHandlerMapping requestHandlers() {
|
||||
return new RequestMappingHandlerMapping();
|
||||
}
|
||||
}
|
@ -0,0 +1,72 @@
|
||||
package cokr.xit.base.boot;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
import org.apache.catalina.Context;
|
||||
import org.apache.catalina.webresources.ExtractingRoot;
|
||||
import org.apache.cxf.transport.servlet.CXFServlet;
|
||||
import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
|
||||
import org.springframework.boot.web.server.WebServerFactoryCustomizer;
|
||||
import org.springframework.boot.web.servlet.FilterRegistrationBean;
|
||||
import org.springframework.boot.web.servlet.ServletRegistrationBean;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.web.filter.CharacterEncodingFilter;
|
||||
|
||||
import cokr.xit.foundation.boot.StaticResourceConfig;
|
||||
|
||||
@Configuration
|
||||
public class ServletConfig2 {
|
||||
protected static String[] URL_PATTERNS = {"/","*.do"};
|
||||
@Resource(name = "staticResource")
|
||||
private StaticResourceConfig staticResource;
|
||||
|
||||
/**CharacterEncodingFilter를 등록한다.
|
||||
* @return FilterRegistrationBean
|
||||
*/
|
||||
@Bean
|
||||
public FilterRegistrationBean<CharacterEncodingFilter> encodingFilter() {
|
||||
FilterRegistrationBean<CharacterEncodingFilter> registration = new FilterRegistrationBean<>();
|
||||
registration.setFilter(new CharacterEncodingFilter("utf-8"));
|
||||
registration.addUrlPatterns(URL_PATTERNS);
|
||||
registration.setOrder(-102);
|
||||
return registration;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* @Bean public ServletRegistrationBean<DefaultServlet> defaultServlet() {
|
||||
* String[] urls = staticResource.getURLs(entry ->
|
||||
* !entry.getValue().startsWith("file:")); for (int i = 0; i <urls.length; ++i)
|
||||
* urls[i] = urls[i].replace("/**", "/*");
|
||||
*
|
||||
* ServletRegistrationBean<DefaultServlet> bean = new ServletRegistrationBean<>(
|
||||
* new DefaultServlet(), urls ); bean.setLoadOnStartup(2);
|
||||
* bean.setInitParameters(Map.of( "debug", "0", "listings", "false" ));
|
||||
*
|
||||
* return bean; }
|
||||
*/
|
||||
@Bean
|
||||
public WebServerFactoryCustomizer<TomcatServletWebServerFactory> servletContainerCustomizer() {
|
||||
return (TomcatServletWebServerFactory container) -> {
|
||||
container.addContextCustomizers((Context context) -> {
|
||||
context.setResources(new ExtractingRoot());
|
||||
context.setReloadable(false);
|
||||
});
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@Bean
|
||||
public ServletRegistrationBean<CXFServlet> cxfServlet() {
|
||||
return new ServletRegistrationBean<>(new CXFServlet(), "/lvis/services/*");
|
||||
}
|
||||
/*
|
||||
* @Bean public DispatcherServlet dispatcherServlet() { DispatcherServlet
|
||||
* dispatcherServlet = new DispatcherServlet();
|
||||
* dispatcherServlet.setThreadContextInheritable(true);
|
||||
* dispatcherServlet.setThrowExceptionIfNoHandlerFound(true); return
|
||||
* dispatcherServlet; }
|
||||
*/
|
||||
}
|
@ -0,0 +1,79 @@
|
||||
package cokr.xit.base.boot;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.sql.DataSource;
|
||||
|
||||
import org.aspectj.lang.annotation.Aspect;
|
||||
import org.springframework.aop.Advisor;
|
||||
import org.springframework.aop.aspectj.AspectJExpressionPointcut;
|
||||
import org.springframework.aop.support.DefaultPointcutAdvisor;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.context.annotation.EnableAspectJAutoProxy;
|
||||
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
|
||||
import org.springframework.transaction.TransactionDefinition;
|
||||
import org.springframework.transaction.annotation.EnableTransactionManagement;
|
||||
import org.springframework.transaction.interceptor.NameMatchTransactionAttributeSource;
|
||||
import org.springframework.transaction.interceptor.RollbackRuleAttribute;
|
||||
import org.springframework.transaction.interceptor.RuleBasedTransactionAttribute;
|
||||
import org.springframework.transaction.interceptor.TransactionInterceptor;
|
||||
|
||||
/**트랜잭션 설정 클래스.
|
||||
* <p>트랜잭션의 적용 대상은 cokr.xit..service.bean..*ServiceBean 클래스의 메소드들이다.
|
||||
* @author mjkhan
|
||||
*/
|
||||
@Configuration
|
||||
@Aspect
|
||||
@EnableTransactionManagement
|
||||
@EnableAspectJAutoProxy(proxyTargetClass = true)
|
||||
public class TransactionConfig2 {
|
||||
@Resource(name = "dataSource")
|
||||
private DataSource dataSource;
|
||||
|
||||
@Bean
|
||||
public DataSourceTransactionManager txManager() {
|
||||
DataSourceTransactionManager bean = new DataSourceTransactionManager();
|
||||
bean.setDataSource(dataSource);
|
||||
return bean;
|
||||
}
|
||||
|
||||
@Bean
|
||||
public TransactionInterceptor txAdvice() {
|
||||
RuleBasedTransactionAttribute read = new RuleBasedTransactionAttribute(
|
||||
TransactionDefinition.PROPAGATION_REQUIRED,
|
||||
List.of(new RollbackRuleAttribute(Throwable.class))
|
||||
);
|
||||
read.setReadOnly(true);
|
||||
RuleBasedTransactionAttribute write = new RuleBasedTransactionAttribute(
|
||||
TransactionDefinition.PROPAGATION_REQUIRED,
|
||||
List.of(new RollbackRuleAttribute(Throwable.class))
|
||||
);
|
||||
|
||||
NameMatchTransactionAttributeSource txAttrSrc = new NameMatchTransactionAttributeSource();
|
||||
txAttrSrc.setNameMap(Map.of(
|
||||
"get*", read,
|
||||
"*", write
|
||||
));
|
||||
|
||||
TransactionInterceptor bean = new TransactionInterceptor();
|
||||
bean.setTransactionManager(txManager());
|
||||
bean.setTransactionAttributeSource(txAttrSrc);
|
||||
return bean;
|
||||
}
|
||||
|
||||
@Bean
|
||||
public Advisor txAdvisor() {
|
||||
String expression = "execution(* cokr.xit..service.bean.*ServiceBean.*(..))";
|
||||
AspectJExpressionPointcut requiredTx = new AspectJExpressionPointcut();
|
||||
requiredTx.setExpression(expression);
|
||||
|
||||
DefaultPointcutAdvisor bean = new DefaultPointcutAdvisor();
|
||||
bean.setPointcut(requiredTx);
|
||||
bean.setAdvice(txAdvice());
|
||||
|
||||
return bean;
|
||||
}
|
||||
}
|
@ -0,0 +1,46 @@
|
||||
/**
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you 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 cokr.xit.base.boot;
|
||||
|
||||
import javax.xml.ws.Endpoint;
|
||||
|
||||
import org.apache.cxf.Bus;
|
||||
import org.apache.cxf.jaxws.EndpointImpl;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
import externalsystem.car.service.impl.CarRegBasicInfoImpl;
|
||||
|
||||
|
||||
@Configuration
|
||||
public class WebServiceConfig {
|
||||
|
||||
@Autowired
|
||||
private Bus bus;
|
||||
|
||||
|
||||
@Bean
|
||||
public Endpoint endpoint() {
|
||||
EndpointImpl endpoint = new EndpointImpl(bus, new CarRegBasicInfoImpl());
|
||||
|
||||
endpoint.publish("/WsFrontController");
|
||||
return endpoint;
|
||||
}
|
||||
}
|
@ -0,0 +1,19 @@
|
||||
package cokr.xit.base.boot;
|
||||
|
||||
import org.springframework.boot.autoconfigure.ImportAutoConfiguration;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.test.context.ContextConfiguration;
|
||||
|
||||
|
||||
@SpringBootApplication
|
||||
@ImportAutoConfiguration({
|
||||
WebServiceConfig.class,
|
||||
CommonConfig2.class,
|
||||
DatasourceConfig2.class,
|
||||
TransactionConfig2.class,
|
||||
ServletConfig2.class
|
||||
})
|
||||
@ContextConfiguration("classpath:spring/context-*.xml")
|
||||
public class XitBaseApplication2 {
|
||||
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
package externalsystem.car.dao;
|
||||
|
||||
import org.egovframe.rte.psl.dataaccess.mapper.Mapper;
|
||||
|
||||
import cokr.xit.foundation.component.AbstractMapper;
|
||||
import cokr.xit.foundation.data.DataObject;
|
||||
|
||||
@Mapper("carMapper")
|
||||
public interface CarMapper extends AbstractMapper {
|
||||
DataObject selectCar(String vhrno);
|
||||
}
|
@ -0,0 +1,106 @@
|
||||
/**
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you 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 externalsystem.car.service.impl;
|
||||
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
import cokr.xit.foundation.data.DataObject;
|
||||
import externalsystem.car.dao.CarMapper;
|
||||
import testserver.wsdlserver.lvisserver.CarRegBasicInfo;
|
||||
import testserver.wsdlserver.lvisserver.FindRegBasicParameter;
|
||||
import testserver.wsdlserver.lvisserver.FindRegBasicReturn;
|
||||
import testserver.wsdlserver.lvisserver.FindRegBasicReturnEaiResponseRsRecord;
|
||||
import testserver.wsdlserver.lvisserver.FindRegBasicTestParameter;
|
||||
import testserver.wsdlserver.lvisserver.FindRegBasicTestReturn;
|
||||
import testserver.wsdlserver.lvisserver.FindVhrnoBasicInfoCopertnOwnerParameter;
|
||||
import testserver.wsdlserver.lvisserver.FindVhrnoBasicInfoCopertnOwnerReturn;
|
||||
import testserver.wsdlserver.lvisserver.ResultMessage;
|
||||
import testserver.wsdlserver.lvisserver.WsRequestContext;
|
||||
|
||||
@javax.jws.WebService(name = "CarRegBasicInfo",
|
||||
targetNamespace = "componentNs:carregbasicinfo.reg.service.lvis/service.reg.CarRegBasicInfo",
|
||||
endpointInterface = "testserver.wsdlserver.lvisserver.CarRegBasicInfo",
|
||||
wsdlLocation = "/resources/lvis_service.wsdl"
|
||||
)
|
||||
public class CarRegBasicInfoImpl implements CarRegBasicInfo {
|
||||
|
||||
@Resource(name = "carMapper")
|
||||
private CarMapper carMapper;
|
||||
|
||||
private static final Logger LOG = Logger.getLogger(CarRegBasicInfoImpl.class.getName());
|
||||
|
||||
@Override
|
||||
public FindRegBasicReturn findRegBasic(FindRegBasicParameter findRegBasicParameter,
|
||||
WsRequestContext requestContext) {
|
||||
|
||||
FindRegBasicReturn r = new FindRegBasicReturn();
|
||||
|
||||
ResultMessage rm = new ResultMessage();
|
||||
rm.setResult("OK");
|
||||
rm.setMessageId("MSG50000");
|
||||
r.setResultMessage(rm);
|
||||
|
||||
FindRegBasicReturnEaiResponseRsRecord frbrerr = new FindRegBasicReturnEaiResponseRsRecord();
|
||||
|
||||
String vhrno = findRegBasicParameter.getEaiRequestRs().get(0).getVHRNO();
|
||||
|
||||
DataObject carInfo = carMapper.selectCar(vhrno);
|
||||
if(carInfo != null) {
|
||||
frbrerr.setPROCESSIMPRTYRESNCODE("00");
|
||||
|
||||
frbrerr.setVHRNO(carInfo.string("VHRNO"));
|
||||
frbrerr.setMBERSECODE(carInfo.string("MBER_SE_CODE"));
|
||||
frbrerr.setMBERNM(carInfo.string("MBER_NM"));
|
||||
frbrerr.setMBERSENO(carInfo.string("MBER_SE_NO"));
|
||||
frbrerr.setUSESTRNGHLDROADNMCODE(carInfo.string("USE_STRNGHLD_ROAD_NM_CODE"));
|
||||
frbrerr.setUSESTRNGHLDBULDMAINNO(carInfo.string("USE_STRNGHLD_BULD_MAIN_NO"));
|
||||
frbrerr.setUSESTRNGHLDBULDSUBNO(carInfo.string("USE_STRNGHLD_BULD_SUB_NO"));
|
||||
frbrerr.setUSESTRNGHLDADRESNM(carInfo.string("USE_STRNGHLD_ADRES_NM"));
|
||||
frbrerr.setUSGSRHLDUNDGRNDBULDSECODE(carInfo.string("USGSRHLD_UNDGRND_BULD_SE_CODE"));
|
||||
frbrerr.setCNM(carInfo.string("CNM"));
|
||||
frbrerr.setCOLORNM(carInfo.string("COLOR_NM"));
|
||||
frbrerr.setVHCTYASORTCODE(carInfo.string("VHCTY_ASORT_CODE"));
|
||||
frbrerr.setMXMMLDG(carInfo.string("MXMM_LDG"));
|
||||
frbrerr.setVIN(carInfo.string("VIN"));
|
||||
frbrerr.setERSRREGISTDE(carInfo.string("ERSR_REGIST_DE"));
|
||||
}
|
||||
r.getEaiResponseRs().add(frbrerr);
|
||||
return r;
|
||||
}
|
||||
|
||||
@Override
|
||||
public FindRegBasicTestReturn findRegBasicTest(FindRegBasicTestParameter findRegBasicTestParameter,
|
||||
WsRequestContext requestContext) {
|
||||
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public FindVhrnoBasicInfoCopertnOwnerReturn findVhrnoBasicInfoCopertnOwner(
|
||||
FindVhrnoBasicInfoCopertnOwnerParameter findVhrnoBasicInfoCopertnOwnerParameter,
|
||||
WsRequestContext requestContext) {
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,14 @@
|
||||
package testserver;
|
||||
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.context.annotation.ImportResource;
|
||||
|
||||
import cokr.xit.base.boot.XitBaseApplication2;
|
||||
|
||||
@ImportResource("classpath:spring/context-*.xml")
|
||||
public class TsApplication extends XitBaseApplication2 {
|
||||
|
||||
public static void main(String[] args) {
|
||||
SpringApplication.run(TsApplication.class, args);
|
||||
}
|
||||
}
|
@ -0,0 +1,56 @@
|
||||
package testserver.wsdlserver.lvisserver;
|
||||
|
||||
import javax.jws.WebMethod;
|
||||
import javax.jws.WebParam;
|
||||
import javax.jws.WebResult;
|
||||
import javax.jws.WebService;
|
||||
import javax.xml.bind.annotation.XmlSeeAlso;
|
||||
import javax.xml.ws.RequestWrapper;
|
||||
import javax.xml.ws.ResponseWrapper;
|
||||
|
||||
/**
|
||||
* This class was generated by Apache CXF 3.6.2
|
||||
* 2023-10-05T13:03:18.702+09:00
|
||||
* Generated source version: 3.6.2
|
||||
*
|
||||
*/
|
||||
@WebService(name = "CarRegBasicInfo", targetNamespace = "componentNs:carregbasicinfo.reg.service.lvis/service.reg.CarRegBasicInfo")
|
||||
@XmlSeeAlso({ObjectFactory.class})
|
||||
public interface CarRegBasicInfo {
|
||||
|
||||
@WebMethod
|
||||
@RequestWrapper(localName = "findRegBasic", targetNamespace = "componentNs:carregbasicinfo.reg.service.lvis/service.reg.CarRegBasicInfo", className = "testserver.wsdlserver.lvisserver.FindRegBasic")
|
||||
@ResponseWrapper(localName = "findRegBasicResponseType", targetNamespace = "componentNs:carregbasicinfo.reg.service.lvis/service.reg.CarRegBasicInfo", className = "testserver.wsdlserver.lvisserver.FindRegBasicResponseType")
|
||||
@WebResult(name = "findRegBasicReturn", targetNamespace = "componentNs:carregbasicinfo.reg.service.lvis/service.reg.CarRegBasicInfo")
|
||||
public testserver.wsdlserver.lvisserver.FindRegBasicReturn findRegBasic(
|
||||
|
||||
@WebParam(name = "findRegBasicParameter", targetNamespace = "componentNs:carregbasicinfo.reg.service.lvis/service.reg.CarRegBasicInfo")
|
||||
testserver.wsdlserver.lvisserver.FindRegBasicParameter findRegBasicParameter,
|
||||
@WebParam(name = "requestContext", targetNamespace = "componentNs:carregbasicinfo.reg.service.lvis/service.reg.CarRegBasicInfo")
|
||||
testserver.wsdlserver.lvisserver.WsRequestContext requestContext
|
||||
);
|
||||
|
||||
@WebMethod
|
||||
@RequestWrapper(localName = "findRegBasicTest", targetNamespace = "componentNs:carregbasicinfo.reg.service.lvis/service.reg.CarRegBasicInfo", className = "testserver.wsdlserver.lvisserver.FindRegBasicTest")
|
||||
@ResponseWrapper(localName = "findRegBasicTestResponseType", targetNamespace = "componentNs:carregbasicinfo.reg.service.lvis/service.reg.CarRegBasicInfo", className = "testserver.wsdlserver.lvisserver.FindRegBasicTestResponseType")
|
||||
@WebResult(name = "findRegBasicTestReturn", targetNamespace = "componentNs:carregbasicinfo.reg.service.lvis/service.reg.CarRegBasicInfo")
|
||||
public testserver.wsdlserver.lvisserver.FindRegBasicTestReturn findRegBasicTest(
|
||||
|
||||
@WebParam(name = "findRegBasicTestParameter", targetNamespace = "componentNs:carregbasicinfo.reg.service.lvis/service.reg.CarRegBasicInfo")
|
||||
testserver.wsdlserver.lvisserver.FindRegBasicTestParameter findRegBasicTestParameter,
|
||||
@WebParam(name = "requestContext", targetNamespace = "componentNs:carregbasicinfo.reg.service.lvis/service.reg.CarRegBasicInfo")
|
||||
testserver.wsdlserver.lvisserver.WsRequestContext requestContext
|
||||
);
|
||||
|
||||
@WebMethod
|
||||
@RequestWrapper(localName = "findVhrnoBasicInfoCopertnOwner", targetNamespace = "componentNs:carregbasicinfo.reg.service.lvis/service.reg.CarRegBasicInfo", className = "testserver.wsdlserver.lvisserver.FindVhrnoBasicInfoCopertnOwner")
|
||||
@ResponseWrapper(localName = "findVhrnoBasicInfoCopertnOwnerResponseType", targetNamespace = "componentNs:carregbasicinfo.reg.service.lvis/service.reg.CarRegBasicInfo", className = "testserver.wsdlserver.lvisserver.FindVhrnoBasicInfoCopertnOwnerResponseType")
|
||||
@WebResult(name = "findVhrnoBasicInfoCopertnOwnerReturn", targetNamespace = "componentNs:carregbasicinfo.reg.service.lvis/service.reg.CarRegBasicInfo")
|
||||
public testserver.wsdlserver.lvisserver.FindVhrnoBasicInfoCopertnOwnerReturn findVhrnoBasicInfoCopertnOwner(
|
||||
|
||||
@WebParam(name = "findVhrnoBasicInfoCopertnOwnerParameter", targetNamespace = "componentNs:carregbasicinfo.reg.service.lvis/service.reg.CarRegBasicInfo")
|
||||
testserver.wsdlserver.lvisserver.FindVhrnoBasicInfoCopertnOwnerParameter findVhrnoBasicInfoCopertnOwnerParameter,
|
||||
@WebParam(name = "requestContext", targetNamespace = "componentNs:carregbasicinfo.reg.service.lvis/service.reg.CarRegBasicInfo")
|
||||
testserver.wsdlserver.lvisserver.WsRequestContext requestContext
|
||||
);
|
||||
}
|
@ -0,0 +1,92 @@
|
||||
|
||||
package testserver.wsdlserver.lvisserver;
|
||||
|
||||
import javax.xml.bind.annotation.XmlAccessType;
|
||||
import javax.xml.bind.annotation.XmlAccessorType;
|
||||
import javax.xml.bind.annotation.XmlElement;
|
||||
import javax.xml.bind.annotation.XmlRootElement;
|
||||
import javax.xml.bind.annotation.XmlType;
|
||||
|
||||
|
||||
/**
|
||||
* <p>anonymous complex type에 대한 Java 클래스입니다.
|
||||
*
|
||||
* <p>다음 스키마 단편이 이 클래스에 포함되는 필요한 콘텐츠를 지정합니다.
|
||||
*
|
||||
* <pre>
|
||||
* <complexType>
|
||||
* <complexContent>
|
||||
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
|
||||
* <sequence>
|
||||
* <element name="findRegBasicParameter" type="{componentNs:carregbasicinfo.reg.service.lvis/service.reg.CarRegBasicInfo}findRegBasicParameter"/>
|
||||
* <element name="requestContext" type="{types.common}WsRequestContext"/>
|
||||
* </sequence>
|
||||
* </restriction>
|
||||
* </complexContent>
|
||||
* </complexType>
|
||||
* </pre>
|
||||
*
|
||||
*
|
||||
*/
|
||||
@XmlAccessorType(XmlAccessType.FIELD)
|
||||
@XmlType(name = "", propOrder = {
|
||||
"findRegBasicParameter",
|
||||
"requestContext"
|
||||
})
|
||||
@XmlRootElement(name = "findRegBasic")
|
||||
public class FindRegBasic {
|
||||
|
||||
@XmlElement(required = true)
|
||||
protected FindRegBasicParameter findRegBasicParameter;
|
||||
@XmlElement(required = true)
|
||||
protected WsRequestContext requestContext;
|
||||
|
||||
/**
|
||||
* findRegBasicParameter 속성의 값을 가져옵니다.
|
||||
*
|
||||
* @return
|
||||
* possible object is
|
||||
* {@link FindRegBasicParameter }
|
||||
*
|
||||
*/
|
||||
public FindRegBasicParameter getFindRegBasicParameter() {
|
||||
return findRegBasicParameter;
|
||||
}
|
||||
|
||||
/**
|
||||
* findRegBasicParameter 속성의 값을 설정합니다.
|
||||
*
|
||||
* @param value
|
||||
* allowed object is
|
||||
* {@link FindRegBasicParameter }
|
||||
*
|
||||
*/
|
||||
public void setFindRegBasicParameter(FindRegBasicParameter value) {
|
||||
this.findRegBasicParameter = value;
|
||||
}
|
||||
|
||||
/**
|
||||
* requestContext 속성의 값을 가져옵니다.
|
||||
*
|
||||
* @return
|
||||
* possible object is
|
||||
* {@link WsRequestContext }
|
||||
*
|
||||
*/
|
||||
public WsRequestContext getRequestContext() {
|
||||
return requestContext;
|
||||
}
|
||||
|
||||
/**
|
||||
* requestContext 속성의 값을 설정합니다.
|
||||
*
|
||||
* @param value
|
||||
* allowed object is
|
||||
* {@link WsRequestContext }
|
||||
*
|
||||
*/
|
||||
public void setRequestContext(WsRequestContext value) {
|
||||
this.requestContext = value;
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,69 @@
|
||||
|
||||
package testserver.wsdlserver.lvisserver;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import javax.xml.bind.annotation.XmlAccessType;
|
||||
import javax.xml.bind.annotation.XmlAccessorType;
|
||||
import javax.xml.bind.annotation.XmlElement;
|
||||
import javax.xml.bind.annotation.XmlType;
|
||||
|
||||
|
||||
/**
|
||||
* <p>findRegBasicParameter complex type에 대한 Java 클래스입니다.
|
||||
*
|
||||
* <p>다음 스키마 단편이 이 클래스에 포함되는 필요한 콘텐츠를 지정합니다.
|
||||
*
|
||||
* <pre>
|
||||
* <complexType name="findRegBasicParameter">
|
||||
* <complexContent>
|
||||
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
|
||||
* <sequence>
|
||||
* <element name="eaiRequest_rs" type="{componentNs:carregbasicinfo.reg.service.lvis/service.reg.CarRegBasicInfo}findRegBasicParameterEaiRequest_rsRecord" maxOccurs="unbounded" minOccurs="0"/>
|
||||
* </sequence>
|
||||
* </restriction>
|
||||
* </complexContent>
|
||||
* </complexType>
|
||||
* </pre>
|
||||
*
|
||||
*
|
||||
*/
|
||||
@XmlAccessorType(XmlAccessType.FIELD)
|
||||
@XmlType(name = "findRegBasicParameter", propOrder = {
|
||||
"eaiRequestRs"
|
||||
})
|
||||
public class FindRegBasicParameter {
|
||||
|
||||
@XmlElement(name = "eaiRequest_rs")
|
||||
protected List<FindRegBasicParameterEaiRequestRsRecord> eaiRequestRs;
|
||||
|
||||
/**
|
||||
* Gets the value of the eaiRequestRs property.
|
||||
*
|
||||
* <p>
|
||||
* This accessor method returns a reference to the live list,
|
||||
* not a snapshot. Therefore any modification you make to the
|
||||
* returned list will be present inside the JAXB object.
|
||||
* This is why there is not a <CODE>set</CODE> method for the eaiRequestRs property.
|
||||
*
|
||||
* <p>
|
||||
* For example, to add a new item, do as follows:
|
||||
* <pre>
|
||||
* getEaiRequestRs().add(newItem);
|
||||
* </pre>
|
||||
*
|
||||
*
|
||||
* <p>
|
||||
* Objects of the following type(s) are allowed in the list
|
||||
* {@link FindRegBasicParameterEaiRequestRsRecord }
|
||||
*
|
||||
*
|
||||
*/
|
||||
public List<FindRegBasicParameterEaiRequestRsRecord> getEaiRequestRs() {
|
||||
if (eaiRequestRs == null) {
|
||||
eaiRequestRs = new ArrayList<FindRegBasicParameterEaiRequestRsRecord>();
|
||||
}
|
||||
return this.eaiRequestRs;
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,209 @@
|
||||
|
||||
package testserver.wsdlserver.lvisserver;
|
||||
|
||||
import javax.xml.bind.annotation.XmlAccessType;
|
||||
import javax.xml.bind.annotation.XmlAccessorType;
|
||||
import javax.xml.bind.annotation.XmlElement;
|
||||
import javax.xml.bind.annotation.XmlType;
|
||||
|
||||
|
||||
/**
|
||||
* <p>findRegBasicParameterEaiRequest_rsRecord complex type에 대한 Java 클래스입니다.
|
||||
*
|
||||
* <p>다음 스키마 단편이 이 클래스에 포함되는 필요한 콘텐츠를 지정합니다.
|
||||
*
|
||||
* <pre>
|
||||
* <complexType name="findRegBasicParameterEaiRequest_rsRecord">
|
||||
* <complexContent>
|
||||
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
|
||||
* <sequence>
|
||||
* <element name="LEVY_STDDE">
|
||||
* <simpleType>
|
||||
* <restriction base="{http://www.w3.org/2001/XMLSchema}string">
|
||||
* <minLength value="0"/>
|
||||
* <maxLength value="128"/>
|
||||
* </restriction>
|
||||
* </simpleType>
|
||||
* </element>
|
||||
* <element name="INQIRE_SE_CODE">
|
||||
* <simpleType>
|
||||
* <restriction base="{http://www.w3.org/2001/XMLSchema}string">
|
||||
* <minLength value="0"/>
|
||||
* <maxLength value="128"/>
|
||||
* </restriction>
|
||||
* </simpleType>
|
||||
* </element>
|
||||
* <element name="VHRNO">
|
||||
* <simpleType>
|
||||
* <restriction base="{http://www.w3.org/2001/XMLSchema}string">
|
||||
* <minLength value="0"/>
|
||||
* <maxLength value="128"/>
|
||||
* </restriction>
|
||||
* </simpleType>
|
||||
* </element>
|
||||
* <element name="VIN">
|
||||
* <simpleType>
|
||||
* <restriction base="{http://www.w3.org/2001/XMLSchema}string">
|
||||
* <minLength value="0"/>
|
||||
* <maxLength value="128"/>
|
||||
* </restriction>
|
||||
* </simpleType>
|
||||
* </element>
|
||||
* <element name="OWNER_MBER_NO">
|
||||
* <simpleType>
|
||||
* <restriction base="{http://www.w3.org/2001/XMLSchema}string">
|
||||
* <minLength value="0"/>
|
||||
* <maxLength value="128"/>
|
||||
* </restriction>
|
||||
* </simpleType>
|
||||
* </element>
|
||||
* </sequence>
|
||||
* </restriction>
|
||||
* </complexContent>
|
||||
* </complexType>
|
||||
* </pre>
|
||||
*
|
||||
*
|
||||
*/
|
||||
@XmlAccessorType(XmlAccessType.FIELD)
|
||||
@XmlType(name = "findRegBasicParameterEaiRequest_rsRecord", propOrder = {
|
||||
"levystdde",
|
||||
"inqiresecode",
|
||||
"vhrno",
|
||||
"vin",
|
||||
"ownermberno"
|
||||
})
|
||||
public class FindRegBasicParameterEaiRequestRsRecord {
|
||||
|
||||
@XmlElement(name = "LEVY_STDDE", required = true, nillable = true)
|
||||
protected String levystdde;
|
||||
@XmlElement(name = "INQIRE_SE_CODE", required = true, nillable = true)
|
||||
protected String inqiresecode;
|
||||
@XmlElement(name = "VHRNO", required = true, nillable = true)
|
||||
protected String vhrno;
|
||||
@XmlElement(name = "VIN", required = true, nillable = true)
|
||||
protected String vin;
|
||||
@XmlElement(name = "OWNER_MBER_NO", required = true, nillable = true)
|
||||
protected String ownermberno;
|
||||
|
||||
/**
|
||||
* levystdde 속성의 값을 가져옵니다.
|
||||
*
|
||||
* @return
|
||||
* possible object is
|
||||
* {@link String }
|
||||
*
|
||||
*/
|
||||
public String getLEVYSTDDE() {
|
||||
return levystdde;
|
||||
}
|
||||
|
||||
/**
|
||||
* levystdde 속성의 값을 설정합니다.
|
||||
*
|
||||
* @param value
|
||||
* allowed object is
|
||||
* {@link String }
|
||||
*
|
||||
*/
|
||||
public void setLEVYSTDDE(String value) {
|
||||
this.levystdde = value;
|
||||
}
|
||||
|
||||
/**
|
||||
* inqiresecode 속성의 값을 가져옵니다.
|
||||
*
|
||||
* @return
|
||||
* possible object is
|
||||
* {@link String }
|
||||
*
|
||||
*/
|
||||
public String getINQIRESECODE() {
|
||||
return inqiresecode;
|
||||
}
|
||||
|
||||
/**
|
||||
* inqiresecode 속성의 값을 설정합니다.
|
||||
*
|
||||
* @param value
|
||||
* allowed object is
|
||||
* {@link String }
|
||||
*
|
||||
*/
|
||||
public void setINQIRESECODE(String value) {
|
||||
this.inqiresecode = value;
|
||||
}
|
||||
|
||||
/**
|
||||
* vhrno 속성의 값을 가져옵니다.
|
||||
*
|
||||
* @return
|
||||
* possible object is
|
||||
* {@link String }
|
||||
*
|
||||
*/
|
||||
public String getVHRNO() {
|
||||
return vhrno;
|
||||
}
|
||||
|
||||
/**
|
||||
* vhrno 속성의 값을 설정합니다.
|
||||
*
|
||||
* @param value
|
||||
* allowed object is
|
||||
* {@link String }
|
||||
*
|
||||
*/
|
||||
public void setVHRNO(String value) {
|
||||
this.vhrno = value;
|
||||
}
|
||||
|
||||
/**
|
||||
* vin 속성의 값을 가져옵니다.
|
||||
*
|
||||
* @return
|
||||
* possible object is
|
||||
* {@link String }
|
||||
*
|
||||
*/
|
||||
public String getVIN() {
|
||||
return vin;
|
||||
}
|
||||
|
||||
/**
|
||||
* vin 속성의 값을 설정합니다.
|
||||
*
|
||||
* @param value
|
||||
* allowed object is
|
||||
* {@link String }
|
||||
*
|
||||
*/
|
||||
public void setVIN(String value) {
|
||||
this.vin = value;
|
||||
}
|
||||
|
||||
/**
|
||||
* ownermberno 속성의 값을 가져옵니다.
|
||||
*
|
||||
* @return
|
||||
* possible object is
|
||||
* {@link String }
|
||||
*
|
||||
*/
|
||||
public String getOWNERMBERNO() {
|
||||
return ownermberno;
|
||||
}
|
||||
|
||||
/**
|
||||
* ownermberno 속성의 값을 설정합니다.
|
||||
*
|
||||
* @param value
|
||||
* allowed object is
|
||||
* {@link String }
|
||||
*
|
||||
*/
|
||||
public void setOWNERMBERNO(String value) {
|
||||
this.ownermberno = value;
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,64 @@
|
||||
|
||||
package testserver.wsdlserver.lvisserver;
|
||||
|
||||
import javax.xml.bind.annotation.XmlAccessType;
|
||||
import javax.xml.bind.annotation.XmlAccessorType;
|
||||
import javax.xml.bind.annotation.XmlElement;
|
||||
import javax.xml.bind.annotation.XmlRootElement;
|
||||
import javax.xml.bind.annotation.XmlType;
|
||||
|
||||
|
||||
/**
|
||||
* <p>anonymous complex type에 대한 Java 클래스입니다.
|
||||
*
|
||||
* <p>다음 스키마 단편이 이 클래스에 포함되는 필요한 콘텐츠를 지정합니다.
|
||||
*
|
||||
* <pre>
|
||||
* <complexType>
|
||||
* <complexContent>
|
||||
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
|
||||
* <sequence>
|
||||
* <element name="findRegBasicReturn" type="{componentNs:carregbasicinfo.reg.service.lvis/service.reg.CarRegBasicInfo}findRegBasicReturn"/>
|
||||
* </sequence>
|
||||
* </restriction>
|
||||
* </complexContent>
|
||||
* </complexType>
|
||||
* </pre>
|
||||
*
|
||||
*
|
||||
*/
|
||||
@XmlAccessorType(XmlAccessType.FIELD)
|
||||
@XmlType(name = "", propOrder = {
|
||||
"findRegBasicReturn"
|
||||
})
|
||||
@XmlRootElement(name = "findRegBasicResponseType")
|
||||
public class FindRegBasicResponseType {
|
||||
|
||||
@XmlElement(required = true)
|
||||
protected FindRegBasicReturn findRegBasicReturn;
|
||||
|
||||
/**
|
||||
* findRegBasicReturn 속성의 값을 가져옵니다.
|
||||
*
|
||||
* @return
|
||||
* possible object is
|
||||
* {@link FindRegBasicReturn }
|
||||
*
|
||||
*/
|
||||
public FindRegBasicReturn getFindRegBasicReturn() {
|
||||
return findRegBasicReturn;
|
||||
}
|
||||
|
||||
/**
|
||||
* findRegBasicReturn 속성의 값을 설정합니다.
|
||||
*
|
||||
* @param value
|
||||
* allowed object is
|
||||
* {@link FindRegBasicReturn }
|
||||
*
|
||||
*/
|
||||
public void setFindRegBasicReturn(FindRegBasicReturn value) {
|
||||
this.findRegBasicReturn = value;
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,97 @@
|
||||
|
||||
package testserver.wsdlserver.lvisserver;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import javax.xml.bind.annotation.XmlAccessType;
|
||||
import javax.xml.bind.annotation.XmlAccessorType;
|
||||
import javax.xml.bind.annotation.XmlElement;
|
||||
import javax.xml.bind.annotation.XmlType;
|
||||
|
||||
|
||||
/**
|
||||
* <p>findRegBasicReturn complex type에 대한 Java 클래스입니다.
|
||||
*
|
||||
* <p>다음 스키마 단편이 이 클래스에 포함되는 필요한 콘텐츠를 지정합니다.
|
||||
*
|
||||
* <pre>
|
||||
* <complexType name="findRegBasicReturn">
|
||||
* <complexContent>
|
||||
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
|
||||
* <sequence>
|
||||
* <element name="eaiResponse_rs" type="{componentNs:carregbasicinfo.reg.service.lvis/service.reg.CarRegBasicInfo}findRegBasicReturnEaiResponse_rsRecord" maxOccurs="unbounded" minOccurs="0"/>
|
||||
* <element name="resultMessage" type="{types.common}ResultMessage"/>
|
||||
* </sequence>
|
||||
* </restriction>
|
||||
* </complexContent>
|
||||
* </complexType>
|
||||
* </pre>
|
||||
*
|
||||
*
|
||||
*/
|
||||
@XmlAccessorType(XmlAccessType.FIELD)
|
||||
@XmlType(name = "findRegBasicReturn", propOrder = {
|
||||
"eaiResponseRs",
|
||||
"resultMessage"
|
||||
})
|
||||
public class FindRegBasicReturn {
|
||||
|
||||
@XmlElement(name = "eaiResponse_rs")
|
||||
protected List<FindRegBasicReturnEaiResponseRsRecord> eaiResponseRs;
|
||||
@XmlElement(required = true)
|
||||
protected ResultMessage resultMessage;
|
||||
|
||||
/**
|
||||
* Gets the value of the eaiResponseRs property.
|
||||
*
|
||||
* <p>
|
||||
* This accessor method returns a reference to the live list,
|
||||
* not a snapshot. Therefore any modification you make to the
|
||||
* returned list will be present inside the JAXB object.
|
||||
* This is why there is not a <CODE>set</CODE> method for the eaiResponseRs property.
|
||||
*
|
||||
* <p>
|
||||
* For example, to add a new item, do as follows:
|
||||
* <pre>
|
||||
* getEaiResponseRs().add(newItem);
|
||||
* </pre>
|
||||
*
|
||||
*
|
||||
* <p>
|
||||
* Objects of the following type(s) are allowed in the list
|
||||
* {@link FindRegBasicReturnEaiResponseRsRecord }
|
||||
*
|
||||
*
|
||||
*/
|
||||
public List<FindRegBasicReturnEaiResponseRsRecord> getEaiResponseRs() {
|
||||
if (eaiResponseRs == null) {
|
||||
eaiResponseRs = new ArrayList<FindRegBasicReturnEaiResponseRsRecord>();
|
||||
}
|
||||
return this.eaiResponseRs;
|
||||
}
|
||||
|
||||
/**
|
||||
* resultMessage 속성의 값을 가져옵니다.
|
||||
*
|
||||
* @return
|
||||
* possible object is
|
||||
* {@link ResultMessage }
|
||||
*
|
||||
*/
|
||||
public ResultMessage getResultMessage() {
|
||||
return resultMessage;
|
||||
}
|
||||
|
||||
/**
|
||||
* resultMessage 속성의 값을 설정합니다.
|
||||
*
|
||||
* @param value
|
||||
* allowed object is
|
||||
* {@link ResultMessage }
|
||||
*
|
||||
*/
|
||||
public void setResultMessage(ResultMessage value) {
|
||||
this.resultMessage = value;
|
||||
}
|
||||
|
||||
}
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,92 @@
|
||||
|
||||
package testserver.wsdlserver.lvisserver;
|
||||
|
||||
import javax.xml.bind.annotation.XmlAccessType;
|
||||
import javax.xml.bind.annotation.XmlAccessorType;
|
||||
import javax.xml.bind.annotation.XmlElement;
|
||||
import javax.xml.bind.annotation.XmlRootElement;
|
||||
import javax.xml.bind.annotation.XmlType;
|
||||
|
||||
|
||||
/**
|
||||
* <p>anonymous complex type에 대한 Java 클래스입니다.
|
||||
*
|
||||
* <p>다음 스키마 단편이 이 클래스에 포함되는 필요한 콘텐츠를 지정합니다.
|
||||
*
|
||||
* <pre>
|
||||
* <complexType>
|
||||
* <complexContent>
|
||||
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
|
||||
* <sequence>
|
||||
* <element name="findRegBasicTestParameter" type="{componentNs:carregbasicinfo.reg.service.lvis/service.reg.CarRegBasicInfo}findRegBasicTestParameter"/>
|
||||
* <element name="requestContext" type="{types.common}WsRequestContext"/>
|
||||
* </sequence>
|
||||
* </restriction>
|
||||
* </complexContent>
|
||||
* </complexType>
|
||||
* </pre>
|
||||
*
|
||||
*
|
||||
*/
|
||||
@XmlAccessorType(XmlAccessType.FIELD)
|
||||
@XmlType(name = "", propOrder = {
|
||||
"findRegBasicTestParameter",
|
||||
"requestContext"
|
||||
})
|
||||
@XmlRootElement(name = "findRegBasicTest")
|
||||
public class FindRegBasicTest {
|
||||
|
||||
@XmlElement(required = true)
|
||||
protected FindRegBasicTestParameter findRegBasicTestParameter;
|
||||
@XmlElement(required = true)
|
||||
protected WsRequestContext requestContext;
|
||||
|
||||
/**
|
||||
* findRegBasicTestParameter 속성의 값을 가져옵니다.
|
||||
*
|
||||
* @return
|
||||
* possible object is
|
||||
* {@link FindRegBasicTestParameter }
|
||||
*
|
||||
*/
|
||||
public FindRegBasicTestParameter getFindRegBasicTestParameter() {
|
||||
return findRegBasicTestParameter;
|
||||
}
|
||||
|
||||
/**
|
||||
* findRegBasicTestParameter 속성의 값을 설정합니다.
|
||||
*
|
||||
* @param value
|
||||
* allowed object is
|
||||
* {@link FindRegBasicTestParameter }
|
||||
*
|
||||
*/
|
||||
public void setFindRegBasicTestParameter(FindRegBasicTestParameter value) {
|
||||
this.findRegBasicTestParameter = value;
|
||||
}
|
||||
|
||||
/**
|
||||
* requestContext 속성의 값을 가져옵니다.
|
||||
*
|
||||
* @return
|
||||
* possible object is
|
||||
* {@link WsRequestContext }
|
||||
*
|
||||
*/
|
||||
public WsRequestContext getRequestContext() {
|
||||
return requestContext;
|
||||
}
|
||||
|
||||
/**
|
||||
* requestContext 속성의 값을 설정합니다.
|
||||
*
|
||||
* @param value
|
||||
* allowed object is
|
||||
* {@link WsRequestContext }
|
||||
*
|
||||
*/
|
||||
public void setRequestContext(WsRequestContext value) {
|
||||
this.requestContext = value;
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,69 @@
|
||||
|
||||
package testserver.wsdlserver.lvisserver;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import javax.xml.bind.annotation.XmlAccessType;
|
||||
import javax.xml.bind.annotation.XmlAccessorType;
|
||||
import javax.xml.bind.annotation.XmlElement;
|
||||
import javax.xml.bind.annotation.XmlType;
|
||||
|
||||
|
||||
/**
|
||||
* <p>findRegBasicTestParameter complex type에 대한 Java 클래스입니다.
|
||||
*
|
||||
* <p>다음 스키마 단편이 이 클래스에 포함되는 필요한 콘텐츠를 지정합니다.
|
||||
*
|
||||
* <pre>
|
||||
* <complexType name="findRegBasicTestParameter">
|
||||
* <complexContent>
|
||||
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
|
||||
* <sequence>
|
||||
* <element name="eaiRequest_rs" type="{componentNs:carregbasicinfo.reg.service.lvis/service.reg.CarRegBasicInfo}findRegBasicTestParameterEaiRequest_rsRecord" maxOccurs="unbounded" minOccurs="0"/>
|
||||
* </sequence>
|
||||
* </restriction>
|
||||
* </complexContent>
|
||||
* </complexType>
|
||||
* </pre>
|
||||
*
|
||||
*
|
||||
*/
|
||||
@XmlAccessorType(XmlAccessType.FIELD)
|
||||
@XmlType(name = "findRegBasicTestParameter", propOrder = {
|
||||
"eaiRequestRs"
|
||||
})
|
||||
public class FindRegBasicTestParameter {
|
||||
|
||||
@XmlElement(name = "eaiRequest_rs")
|
||||
protected List<FindRegBasicTestParameterEaiRequestRsRecord> eaiRequestRs;
|
||||
|
||||
/**
|
||||
* Gets the value of the eaiRequestRs property.
|
||||
*
|
||||
* <p>
|
||||
* This accessor method returns a reference to the live list,
|
||||
* not a snapshot. Therefore any modification you make to the
|
||||
* returned list will be present inside the JAXB object.
|
||||
* This is why there is not a <CODE>set</CODE> method for the eaiRequestRs property.
|
||||
*
|
||||
* <p>
|
||||
* For example, to add a new item, do as follows:
|
||||
* <pre>
|
||||
* getEaiRequestRs().add(newItem);
|
||||
* </pre>
|
||||
*
|
||||
*
|
||||
* <p>
|
||||
* Objects of the following type(s) are allowed in the list
|
||||
* {@link FindRegBasicTestParameterEaiRequestRsRecord }
|
||||
*
|
||||
*
|
||||
*/
|
||||
public List<FindRegBasicTestParameterEaiRequestRsRecord> getEaiRequestRs() {
|
||||
if (eaiRequestRs == null) {
|
||||
eaiRequestRs = new ArrayList<FindRegBasicTestParameterEaiRequestRsRecord>();
|
||||
}
|
||||
return this.eaiRequestRs;
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,209 @@
|
||||
|
||||
package testserver.wsdlserver.lvisserver;
|
||||
|
||||
import javax.xml.bind.annotation.XmlAccessType;
|
||||
import javax.xml.bind.annotation.XmlAccessorType;
|
||||
import javax.xml.bind.annotation.XmlElement;
|
||||
import javax.xml.bind.annotation.XmlType;
|
||||
|
||||
|
||||
/**
|
||||
* <p>findRegBasicTestParameterEaiRequest_rsRecord complex type에 대한 Java 클래스입니다.
|
||||
*
|
||||
* <p>다음 스키마 단편이 이 클래스에 포함되는 필요한 콘텐츠를 지정합니다.
|
||||
*
|
||||
* <pre>
|
||||
* <complexType name="findRegBasicTestParameterEaiRequest_rsRecord">
|
||||
* <complexContent>
|
||||
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
|
||||
* <sequence>
|
||||
* <element name="LEVY_STDDE">
|
||||
* <simpleType>
|
||||
* <restriction base="{http://www.w3.org/2001/XMLSchema}string">
|
||||
* <minLength value="0"/>
|
||||
* <maxLength value="128"/>
|
||||
* </restriction>
|
||||
* </simpleType>
|
||||
* </element>
|
||||
* <element name="INQIRE_SE_CODE">
|
||||
* <simpleType>
|
||||
* <restriction base="{http://www.w3.org/2001/XMLSchema}string">
|
||||
* <minLength value="0"/>
|
||||
* <maxLength value="128"/>
|
||||
* </restriction>
|
||||
* </simpleType>
|
||||
* </element>
|
||||
* <element name="VHRNO">
|
||||
* <simpleType>
|
||||
* <restriction base="{http://www.w3.org/2001/XMLSchema}string">
|
||||
* <minLength value="0"/>
|
||||
* <maxLength value="128"/>
|
||||
* </restriction>
|
||||
* </simpleType>
|
||||
* </element>
|
||||
* <element name="VIN">
|
||||
* <simpleType>
|
||||
* <restriction base="{http://www.w3.org/2001/XMLSchema}string">
|
||||
* <minLength value="0"/>
|
||||
* <maxLength value="128"/>
|
||||
* </restriction>
|
||||
* </simpleType>
|
||||
* </element>
|
||||
* <element name="OWNER_MBER_NO">
|
||||
* <simpleType>
|
||||
* <restriction base="{http://www.w3.org/2001/XMLSchema}string">
|
||||
* <minLength value="0"/>
|
||||
* <maxLength value="128"/>
|
||||
* </restriction>
|
||||
* </simpleType>
|
||||
* </element>
|
||||
* </sequence>
|
||||
* </restriction>
|
||||
* </complexContent>
|
||||
* </complexType>
|
||||
* </pre>
|
||||
*
|
||||
*
|
||||
*/
|
||||
@XmlAccessorType(XmlAccessType.FIELD)
|
||||
@XmlType(name = "findRegBasicTestParameterEaiRequest_rsRecord", propOrder = {
|
||||
"levystdde",
|
||||
"inqiresecode",
|
||||
"vhrno",
|
||||
"vin",
|
||||
"ownermberno"
|
||||
})
|
||||
public class FindRegBasicTestParameterEaiRequestRsRecord {
|
||||
|
||||
@XmlElement(name = "LEVY_STDDE", required = true, nillable = true)
|
||||
protected String levystdde;
|
||||
@XmlElement(name = "INQIRE_SE_CODE", required = true, nillable = true)
|
||||
protected String inqiresecode;
|
||||
@XmlElement(name = "VHRNO", required = true, nillable = true)
|
||||
protected String vhrno;
|
||||
@XmlElement(name = "VIN", required = true, nillable = true)
|
||||
protected String vin;
|
||||
@XmlElement(name = "OWNER_MBER_NO", required = true, nillable = true)
|
||||
protected String ownermberno;
|
||||
|
||||
/**
|
||||
* levystdde 속성의 값을 가져옵니다.
|
||||
*
|
||||
* @return
|
||||
* possible object is
|
||||
* {@link String }
|
||||
*
|
||||
*/
|
||||
public String getLEVYSTDDE() {
|
||||
return levystdde;
|
||||
}
|
||||
|
||||
/**
|
||||
* levystdde 속성의 값을 설정합니다.
|
||||
*
|
||||
* @param value
|
||||
* allowed object is
|
||||
* {@link String }
|
||||
*
|
||||
*/
|
||||
public void setLEVYSTDDE(String value) {
|
||||
this.levystdde = value;
|
||||
}
|
||||
|
||||
/**
|
||||
* inqiresecode 속성의 값을 가져옵니다.
|
||||
*
|
||||
* @return
|
||||
* possible object is
|
||||
* {@link String }
|
||||
*
|
||||
*/
|
||||
public String getINQIRESECODE() {
|
||||
return inqiresecode;
|
||||
}
|
||||
|
||||
/**
|
||||
* inqiresecode 속성의 값을 설정합니다.
|
||||
*
|
||||
* @param value
|
||||
* allowed object is
|
||||
* {@link String }
|
||||
*
|
||||
*/
|
||||
public void setINQIRESECODE(String value) {
|
||||
this.inqiresecode = value;
|
||||
}
|
||||
|
||||
/**
|
||||
* vhrno 속성의 값을 가져옵니다.
|
||||
*
|
||||
* @return
|
||||
* possible object is
|
||||
* {@link String }
|
||||
*
|
||||
*/
|
||||
public String getVHRNO() {
|
||||
return vhrno;
|
||||
}
|
||||
|
||||
/**
|
||||
* vhrno 속성의 값을 설정합니다.
|
||||
*
|
||||
* @param value
|
||||
* allowed object is
|
||||
* {@link String }
|
||||
*
|
||||
*/
|
||||
public void setVHRNO(String value) {
|
||||
this.vhrno = value;
|
||||
}
|
||||
|
||||
/**
|
||||
* vin 속성의 값을 가져옵니다.
|
||||
*
|
||||
* @return
|
||||
* possible object is
|
||||
* {@link String }
|
||||
*
|
||||
*/
|
||||
public String getVIN() {
|
||||
return vin;
|
||||
}
|
||||
|
||||
/**
|
||||
* vin 속성의 값을 설정합니다.
|
||||
*
|
||||
* @param value
|
||||
* allowed object is
|
||||
* {@link String }
|
||||
*
|
||||
*/
|
||||
public void setVIN(String value) {
|
||||
this.vin = value;
|
||||
}
|
||||
|
||||
/**
|
||||
* ownermberno 속성의 값을 가져옵니다.
|
||||
*
|
||||
* @return
|
||||
* possible object is
|
||||
* {@link String }
|
||||
*
|
||||
*/
|
||||
public String getOWNERMBERNO() {
|
||||
return ownermberno;
|
||||
}
|
||||
|
||||
/**
|
||||
* ownermberno 속성의 값을 설정합니다.
|
||||
*
|
||||
* @param value
|
||||
* allowed object is
|
||||
* {@link String }
|
||||
*
|
||||
*/
|
||||
public void setOWNERMBERNO(String value) {
|
||||
this.ownermberno = value;
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,64 @@
|
||||
|
||||
package testserver.wsdlserver.lvisserver;
|
||||
|
||||
import javax.xml.bind.annotation.XmlAccessType;
|
||||
import javax.xml.bind.annotation.XmlAccessorType;
|
||||
import javax.xml.bind.annotation.XmlElement;
|
||||
import javax.xml.bind.annotation.XmlRootElement;
|
||||
import javax.xml.bind.annotation.XmlType;
|
||||
|
||||
|
||||
/**
|
||||
* <p>anonymous complex type에 대한 Java 클래스입니다.
|
||||
*
|
||||
* <p>다음 스키마 단편이 이 클래스에 포함되는 필요한 콘텐츠를 지정합니다.
|
||||
*
|
||||
* <pre>
|
||||
* <complexType>
|
||||
* <complexContent>
|
||||
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
|
||||
* <sequence>
|
||||
* <element name="findRegBasicTestReturn" type="{componentNs:carregbasicinfo.reg.service.lvis/service.reg.CarRegBasicInfo}findRegBasicTestReturn"/>
|
||||
* </sequence>
|
||||
* </restriction>
|
||||
* </complexContent>
|
||||
* </complexType>
|
||||
* </pre>
|
||||
*
|
||||
*
|
||||
*/
|
||||
@XmlAccessorType(XmlAccessType.FIELD)
|
||||
@XmlType(name = "", propOrder = {
|
||||
"findRegBasicTestReturn"
|
||||
})
|
||||
@XmlRootElement(name = "findRegBasicTestResponseType")
|
||||
public class FindRegBasicTestResponseType {
|
||||
|
||||
@XmlElement(required = true)
|
||||
protected FindRegBasicTestReturn findRegBasicTestReturn;
|
||||
|
||||
/**
|
||||
* findRegBasicTestReturn 속성의 값을 가져옵니다.
|
||||
*
|
||||
* @return
|
||||
* possible object is
|
||||
* {@link FindRegBasicTestReturn }
|
||||
*
|
||||
*/
|
||||
public FindRegBasicTestReturn getFindRegBasicTestReturn() {
|
||||
return findRegBasicTestReturn;
|
||||
}
|
||||
|
||||
/**
|
||||
* findRegBasicTestReturn 속성의 값을 설정합니다.
|
||||
*
|
||||
* @param value
|
||||
* allowed object is
|
||||
* {@link FindRegBasicTestReturn }
|
||||
*
|
||||
*/
|
||||
public void setFindRegBasicTestReturn(FindRegBasicTestReturn value) {
|
||||
this.findRegBasicTestReturn = value;
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,97 @@
|
||||
|
||||
package testserver.wsdlserver.lvisserver;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import javax.xml.bind.annotation.XmlAccessType;
|
||||
import javax.xml.bind.annotation.XmlAccessorType;
|
||||
import javax.xml.bind.annotation.XmlElement;
|
||||
import javax.xml.bind.annotation.XmlType;
|
||||
|
||||
|
||||
/**
|
||||
* <p>findRegBasicTestReturn complex type에 대한 Java 클래스입니다.
|
||||
*
|
||||
* <p>다음 스키마 단편이 이 클래스에 포함되는 필요한 콘텐츠를 지정합니다.
|
||||
*
|
||||
* <pre>
|
||||
* <complexType name="findRegBasicTestReturn">
|
||||
* <complexContent>
|
||||
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
|
||||
* <sequence>
|
||||
* <element name="eaiResponse_rs" type="{componentNs:carregbasicinfo.reg.service.lvis/service.reg.CarRegBasicInfo}findRegBasicTestReturnEaiResponse_rsRecord" maxOccurs="unbounded" minOccurs="0"/>
|
||||
* <element name="resultMessage" type="{types.common}ResultMessage"/>
|
||||
* </sequence>
|
||||
* </restriction>
|
||||
* </complexContent>
|
||||
* </complexType>
|
||||
* </pre>
|
||||
*
|
||||
*
|
||||
*/
|
||||
@XmlAccessorType(XmlAccessType.FIELD)
|
||||
@XmlType(name = "findRegBasicTestReturn", propOrder = {
|
||||
"eaiResponseRs",
|
||||
"resultMessage"
|
||||
})
|
||||
public class FindRegBasicTestReturn {
|
||||
|
||||
@XmlElement(name = "eaiResponse_rs")
|
||||
protected List<FindRegBasicTestReturnEaiResponseRsRecord> eaiResponseRs;
|
||||
@XmlElement(required = true)
|
||||
protected ResultMessage resultMessage;
|
||||
|
||||
/**
|
||||
* Gets the value of the eaiResponseRs property.
|
||||
*
|
||||
* <p>
|
||||
* This accessor method returns a reference to the live list,
|
||||
* not a snapshot. Therefore any modification you make to the
|
||||
* returned list will be present inside the JAXB object.
|
||||
* This is why there is not a <CODE>set</CODE> method for the eaiResponseRs property.
|
||||
*
|
||||
* <p>
|
||||
* For example, to add a new item, do as follows:
|
||||
* <pre>
|
||||
* getEaiResponseRs().add(newItem);
|
||||
* </pre>
|
||||
*
|
||||
*
|
||||
* <p>
|
||||
* Objects of the following type(s) are allowed in the list
|
||||
* {@link FindRegBasicTestReturnEaiResponseRsRecord }
|
||||
*
|
||||
*
|
||||
*/
|
||||
public List<FindRegBasicTestReturnEaiResponseRsRecord> getEaiResponseRs() {
|
||||
if (eaiResponseRs == null) {
|
||||
eaiResponseRs = new ArrayList<FindRegBasicTestReturnEaiResponseRsRecord>();
|
||||
}
|
||||
return this.eaiResponseRs;
|
||||
}
|
||||
|
||||
/**
|
||||
* resultMessage 속성의 값을 가져옵니다.
|
||||
*
|
||||
* @return
|
||||
* possible object is
|
||||
* {@link ResultMessage }
|
||||
*
|
||||
*/
|
||||
public ResultMessage getResultMessage() {
|
||||
return resultMessage;
|
||||
}
|
||||
|
||||
/**
|
||||
* resultMessage 속성의 값을 설정합니다.
|
||||
*
|
||||
* @param value
|
||||
* allowed object is
|
||||
* {@link ResultMessage }
|
||||
*
|
||||
*/
|
||||
public void setResultMessage(ResultMessage value) {
|
||||
this.resultMessage = value;
|
||||
}
|
||||
|
||||
}
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,92 @@
|
||||
|
||||
package testserver.wsdlserver.lvisserver;
|
||||
|
||||
import javax.xml.bind.annotation.XmlAccessType;
|
||||
import javax.xml.bind.annotation.XmlAccessorType;
|
||||
import javax.xml.bind.annotation.XmlElement;
|
||||
import javax.xml.bind.annotation.XmlRootElement;
|
||||
import javax.xml.bind.annotation.XmlType;
|
||||
|
||||
|
||||
/**
|
||||
* <p>anonymous complex type에 대한 Java 클래스입니다.
|
||||
*
|
||||
* <p>다음 스키마 단편이 이 클래스에 포함되는 필요한 콘텐츠를 지정합니다.
|
||||
*
|
||||
* <pre>
|
||||
* <complexType>
|
||||
* <complexContent>
|
||||
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
|
||||
* <sequence>
|
||||
* <element name="findVhrnoBasicInfoCopertnOwnerParameter" type="{componentNs:carregbasicinfo.reg.service.lvis/service.reg.CarRegBasicInfo}findVhrnoBasicInfoCopertnOwnerParameter"/>
|
||||
* <element name="requestContext" type="{types.common}WsRequestContext"/>
|
||||
* </sequence>
|
||||
* </restriction>
|
||||
* </complexContent>
|
||||
* </complexType>
|
||||
* </pre>
|
||||
*
|
||||
*
|
||||
*/
|
||||
@XmlAccessorType(XmlAccessType.FIELD)
|
||||
@XmlType(name = "", propOrder = {
|
||||
"findVhrnoBasicInfoCopertnOwnerParameter",
|
||||
"requestContext"
|
||||
})
|
||||
@XmlRootElement(name = "findVhrnoBasicInfoCopertnOwner")
|
||||
public class FindVhrnoBasicInfoCopertnOwner {
|
||||
|
||||
@XmlElement(required = true)
|
||||
protected FindVhrnoBasicInfoCopertnOwnerParameter findVhrnoBasicInfoCopertnOwnerParameter;
|
||||
@XmlElement(required = true)
|
||||
protected WsRequestContext requestContext;
|
||||
|
||||
/**
|
||||
* findVhrnoBasicInfoCopertnOwnerParameter 속성의 값을 가져옵니다.
|
||||
*
|
||||
* @return
|
||||
* possible object is
|
||||
* {@link FindVhrnoBasicInfoCopertnOwnerParameter }
|
||||
*
|
||||
*/
|
||||
public FindVhrnoBasicInfoCopertnOwnerParameter getFindVhrnoBasicInfoCopertnOwnerParameter() {
|
||||
return findVhrnoBasicInfoCopertnOwnerParameter;
|
||||
}
|
||||
|
||||
/**
|
||||
* findVhrnoBasicInfoCopertnOwnerParameter 속성의 값을 설정합니다.
|
||||
*
|
||||
* @param value
|
||||
* allowed object is
|
||||
* {@link FindVhrnoBasicInfoCopertnOwnerParameter }
|
||||
*
|
||||
*/
|
||||
public void setFindVhrnoBasicInfoCopertnOwnerParameter(FindVhrnoBasicInfoCopertnOwnerParameter value) {
|
||||
this.findVhrnoBasicInfoCopertnOwnerParameter = value;
|
||||
}
|
||||
|
||||
/**
|
||||
* requestContext 속성의 값을 가져옵니다.
|
||||
*
|
||||
* @return
|
||||
* possible object is
|
||||
* {@link WsRequestContext }
|
||||
*
|
||||
*/
|
||||
public WsRequestContext getRequestContext() {
|
||||
return requestContext;
|
||||
}
|
||||
|
||||
/**
|
||||
* requestContext 속성의 값을 설정합니다.
|
||||
*
|
||||
* @param value
|
||||
* allowed object is
|
||||
* {@link WsRequestContext }
|
||||
*
|
||||
*/
|
||||
public void setRequestContext(WsRequestContext value) {
|
||||
this.requestContext = value;
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,69 @@
|
||||
|
||||
package testserver.wsdlserver.lvisserver;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import javax.xml.bind.annotation.XmlAccessType;
|
||||
import javax.xml.bind.annotation.XmlAccessorType;
|
||||
import javax.xml.bind.annotation.XmlElement;
|
||||
import javax.xml.bind.annotation.XmlType;
|
||||
|
||||
|
||||
/**
|
||||
* <p>findVhrnoBasicInfoCopertnOwnerParameter complex type에 대한 Java 클래스입니다.
|
||||
*
|
||||
* <p>다음 스키마 단편이 이 클래스에 포함되는 필요한 콘텐츠를 지정합니다.
|
||||
*
|
||||
* <pre>
|
||||
* <complexType name="findVhrnoBasicInfoCopertnOwnerParameter">
|
||||
* <complexContent>
|
||||
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
|
||||
* <sequence>
|
||||
* <element name="eaiRequest_rs" type="{componentNs:carregbasicinfo.reg.service.lvis/service.reg.CarRegBasicInfo}findVhrnoBasicInfoCopertnOwnerParameterEaiRequest_rsRecord" maxOccurs="unbounded" minOccurs="0"/>
|
||||
* </sequence>
|
||||
* </restriction>
|
||||
* </complexContent>
|
||||
* </complexType>
|
||||
* </pre>
|
||||
*
|
||||
*
|
||||
*/
|
||||
@XmlAccessorType(XmlAccessType.FIELD)
|
||||
@XmlType(name = "findVhrnoBasicInfoCopertnOwnerParameter", propOrder = {
|
||||
"eaiRequestRs"
|
||||
})
|
||||
public class FindVhrnoBasicInfoCopertnOwnerParameter {
|
||||
|
||||
@XmlElement(name = "eaiRequest_rs")
|
||||
protected List<FindVhrnoBasicInfoCopertnOwnerParameterEaiRequestRsRecord> eaiRequestRs;
|
||||
|
||||
/**
|
||||
* Gets the value of the eaiRequestRs property.
|
||||
*
|
||||
* <p>
|
||||
* This accessor method returns a reference to the live list,
|
||||
* not a snapshot. Therefore any modification you make to the
|
||||
* returned list will be present inside the JAXB object.
|
||||
* This is why there is not a <CODE>set</CODE> method for the eaiRequestRs property.
|
||||
*
|
||||
* <p>
|
||||
* For example, to add a new item, do as follows:
|
||||
* <pre>
|
||||
* getEaiRequestRs().add(newItem);
|
||||
* </pre>
|
||||
*
|
||||
*
|
||||
* <p>
|
||||
* Objects of the following type(s) are allowed in the list
|
||||
* {@link FindVhrnoBasicInfoCopertnOwnerParameterEaiRequestRsRecord }
|
||||
*
|
||||
*
|
||||
*/
|
||||
public List<FindVhrnoBasicInfoCopertnOwnerParameterEaiRequestRsRecord> getEaiRequestRs() {
|
||||
if (eaiRequestRs == null) {
|
||||
eaiRequestRs = new ArrayList<FindVhrnoBasicInfoCopertnOwnerParameterEaiRequestRsRecord>();
|
||||
}
|
||||
return this.eaiRequestRs;
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,69 @@
|
||||
|
||||
package testserver.wsdlserver.lvisserver;
|
||||
|
||||
import javax.xml.bind.annotation.XmlAccessType;
|
||||
import javax.xml.bind.annotation.XmlAccessorType;
|
||||
import javax.xml.bind.annotation.XmlElement;
|
||||
import javax.xml.bind.annotation.XmlType;
|
||||
|
||||
|
||||
/**
|
||||
* <p>findVhrnoBasicInfoCopertnOwnerParameterEaiRequest_rsRecord complex type에 대한 Java 클래스입니다.
|
||||
*
|
||||
* <p>다음 스키마 단편이 이 클래스에 포함되는 필요한 콘텐츠를 지정합니다.
|
||||
*
|
||||
* <pre>
|
||||
* <complexType name="findVhrnoBasicInfoCopertnOwnerParameterEaiRequest_rsRecord">
|
||||
* <complexContent>
|
||||
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
|
||||
* <sequence>
|
||||
* <element name="VHRNO">
|
||||
* <simpleType>
|
||||
* <restriction base="{http://www.w3.org/2001/XMLSchema}string">
|
||||
* <minLength value="0"/>
|
||||
* <maxLength value="128"/>
|
||||
* </restriction>
|
||||
* </simpleType>
|
||||
* </element>
|
||||
* </sequence>
|
||||
* </restriction>
|
||||
* </complexContent>
|
||||
* </complexType>
|
||||
* </pre>
|
||||
*
|
||||
*
|
||||
*/
|
||||
@XmlAccessorType(XmlAccessType.FIELD)
|
||||
@XmlType(name = "findVhrnoBasicInfoCopertnOwnerParameterEaiRequest_rsRecord", propOrder = {
|
||||
"vhrno"
|
||||
})
|
||||
public class FindVhrnoBasicInfoCopertnOwnerParameterEaiRequestRsRecord {
|
||||
|
||||
@XmlElement(name = "VHRNO", required = true, nillable = true)
|
||||
protected String vhrno;
|
||||
|
||||
/**
|
||||
* vhrno 속성의 값을 가져옵니다.
|
||||
*
|
||||
* @return
|
||||
* possible object is
|
||||
* {@link String }
|
||||
*
|
||||
*/
|
||||
public String getVHRNO() {
|
||||
return vhrno;
|
||||
}
|
||||
|
||||
/**
|
||||
* vhrno 속성의 값을 설정합니다.
|
||||
*
|
||||
* @param value
|
||||
* allowed object is
|
||||
* {@link String }
|
||||
*
|
||||
*/
|
||||
public void setVHRNO(String value) {
|
||||
this.vhrno = value;
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,64 @@
|
||||
|
||||
package testserver.wsdlserver.lvisserver;
|
||||
|
||||
import javax.xml.bind.annotation.XmlAccessType;
|
||||
import javax.xml.bind.annotation.XmlAccessorType;
|
||||
import javax.xml.bind.annotation.XmlElement;
|
||||
import javax.xml.bind.annotation.XmlRootElement;
|
||||
import javax.xml.bind.annotation.XmlType;
|
||||
|
||||
|
||||
/**
|
||||
* <p>anonymous complex type에 대한 Java 클래스입니다.
|
||||
*
|
||||
* <p>다음 스키마 단편이 이 클래스에 포함되는 필요한 콘텐츠를 지정합니다.
|
||||
*
|
||||
* <pre>
|
||||
* <complexType>
|
||||
* <complexContent>
|
||||
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
|
||||
* <sequence>
|
||||
* <element name="findVhrnoBasicInfoCopertnOwnerReturn" type="{componentNs:carregbasicinfo.reg.service.lvis/service.reg.CarRegBasicInfo}findVhrnoBasicInfoCopertnOwnerReturn"/>
|
||||
* </sequence>
|
||||
* </restriction>
|
||||
* </complexContent>
|
||||
* </complexType>
|
||||
* </pre>
|
||||
*
|
||||
*
|
||||
*/
|
||||
@XmlAccessorType(XmlAccessType.FIELD)
|
||||
@XmlType(name = "", propOrder = {
|
||||
"findVhrnoBasicInfoCopertnOwnerReturn"
|
||||
})
|
||||
@XmlRootElement(name = "findVhrnoBasicInfoCopertnOwnerResponseType")
|
||||
public class FindVhrnoBasicInfoCopertnOwnerResponseType {
|
||||
|
||||
@XmlElement(required = true)
|
||||
protected FindVhrnoBasicInfoCopertnOwnerReturn findVhrnoBasicInfoCopertnOwnerReturn;
|
||||
|
||||
/**
|
||||
* findVhrnoBasicInfoCopertnOwnerReturn 속성의 값을 가져옵니다.
|
||||
*
|
||||
* @return
|
||||
* possible object is
|
||||
* {@link FindVhrnoBasicInfoCopertnOwnerReturn }
|
||||
*
|
||||
*/
|
||||
public FindVhrnoBasicInfoCopertnOwnerReturn getFindVhrnoBasicInfoCopertnOwnerReturn() {
|
||||
return findVhrnoBasicInfoCopertnOwnerReturn;
|
||||
}
|
||||
|
||||
/**
|
||||
* findVhrnoBasicInfoCopertnOwnerReturn 속성의 값을 설정합니다.
|
||||
*
|
||||
* @param value
|
||||
* allowed object is
|
||||
* {@link FindVhrnoBasicInfoCopertnOwnerReturn }
|
||||
*
|
||||
*/
|
||||
public void setFindVhrnoBasicInfoCopertnOwnerReturn(FindVhrnoBasicInfoCopertnOwnerReturn value) {
|
||||
this.findVhrnoBasicInfoCopertnOwnerReturn = value;
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,97 @@
|
||||
|
||||
package testserver.wsdlserver.lvisserver;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import javax.xml.bind.annotation.XmlAccessType;
|
||||
import javax.xml.bind.annotation.XmlAccessorType;
|
||||
import javax.xml.bind.annotation.XmlElement;
|
||||
import javax.xml.bind.annotation.XmlType;
|
||||
|
||||
|
||||
/**
|
||||
* <p>findVhrnoBasicInfoCopertnOwnerReturn complex type에 대한 Java 클래스입니다.
|
||||
*
|
||||
* <p>다음 스키마 단편이 이 클래스에 포함되는 필요한 콘텐츠를 지정합니다.
|
||||
*
|
||||
* <pre>
|
||||
* <complexType name="findVhrnoBasicInfoCopertnOwnerReturn">
|
||||
* <complexContent>
|
||||
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
|
||||
* <sequence>
|
||||
* <element name="eaiResponse_rs" type="{componentNs:carregbasicinfo.reg.service.lvis/service.reg.CarRegBasicInfo}findVhrnoBasicInfoCopertnOwnerReturnEaiResponse_rsRecord" maxOccurs="unbounded" minOccurs="0"/>
|
||||
* <element name="resultMessage" type="{types.common}ResultMessage"/>
|
||||
* </sequence>
|
||||
* </restriction>
|
||||
* </complexContent>
|
||||
* </complexType>
|
||||
* </pre>
|
||||
*
|
||||
*
|
||||
*/
|
||||
@XmlAccessorType(XmlAccessType.FIELD)
|
||||
@XmlType(name = "findVhrnoBasicInfoCopertnOwnerReturn", propOrder = {
|
||||
"eaiResponseRs",
|
||||
"resultMessage"
|
||||
})
|
||||
public class FindVhrnoBasicInfoCopertnOwnerReturn {
|
||||
|
||||
@XmlElement(name = "eaiResponse_rs")
|
||||
protected List<FindVhrnoBasicInfoCopertnOwnerReturnEaiResponseRsRecord> eaiResponseRs;
|
||||
@XmlElement(required = true)
|
||||
protected ResultMessage resultMessage;
|
||||
|
||||
/**
|
||||
* Gets the value of the eaiResponseRs property.
|
||||
*
|
||||
* <p>
|
||||
* This accessor method returns a reference to the live list,
|
||||
* not a snapshot. Therefore any modification you make to the
|
||||
* returned list will be present inside the JAXB object.
|
||||
* This is why there is not a <CODE>set</CODE> method for the eaiResponseRs property.
|
||||
*
|
||||
* <p>
|
||||
* For example, to add a new item, do as follows:
|
||||
* <pre>
|
||||
* getEaiResponseRs().add(newItem);
|
||||
* </pre>
|
||||
*
|
||||
*
|
||||
* <p>
|
||||
* Objects of the following type(s) are allowed in the list
|
||||
* {@link FindVhrnoBasicInfoCopertnOwnerReturnEaiResponseRsRecord }
|
||||
*
|
||||
*
|
||||
*/
|
||||
public List<FindVhrnoBasicInfoCopertnOwnerReturnEaiResponseRsRecord> getEaiResponseRs() {
|
||||
if (eaiResponseRs == null) {
|
||||
eaiResponseRs = new ArrayList<FindVhrnoBasicInfoCopertnOwnerReturnEaiResponseRsRecord>();
|
||||
}
|
||||
return this.eaiResponseRs;
|
||||
}
|
||||
|
||||
/**
|
||||
* resultMessage 속성의 값을 가져옵니다.
|
||||
*
|
||||
* @return
|
||||
* possible object is
|
||||
* {@link ResultMessage }
|
||||
*
|
||||
*/
|
||||
public ResultMessage getResultMessage() {
|
||||
return resultMessage;
|
||||
}
|
||||
|
||||
/**
|
||||
* resultMessage 속성의 값을 설정합니다.
|
||||
*
|
||||
* @param value
|
||||
* allowed object is
|
||||
* {@link ResultMessage }
|
||||
*
|
||||
*/
|
||||
public void setResultMessage(ResultMessage value) {
|
||||
this.resultMessage = value;
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,265 @@
|
||||
|
||||
package testserver.wsdlserver.lvisserver;
|
||||
|
||||
import javax.xml.bind.annotation.XmlAccessType;
|
||||
import javax.xml.bind.annotation.XmlAccessorType;
|
||||
import javax.xml.bind.annotation.XmlElement;
|
||||
import javax.xml.bind.annotation.XmlType;
|
||||
|
||||
|
||||
/**
|
||||
* <p>findVhrnoBasicInfoCopertnOwnerReturnEaiResponse_rsRecord complex type에 대한 Java 클래스입니다.
|
||||
*
|
||||
* <p>다음 스키마 단편이 이 클래스에 포함되는 필요한 콘텐츠를 지정합니다.
|
||||
*
|
||||
* <pre>
|
||||
* <complexType name="findVhrnoBasicInfoCopertnOwnerReturnEaiResponse_rsRecord">
|
||||
* <complexContent>
|
||||
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
|
||||
* <sequence>
|
||||
* <element name="VHRNO">
|
||||
* <simpleType>
|
||||
* <restriction base="{http://www.w3.org/2001/XMLSchema}string">
|
||||
* </restriction>
|
||||
* </simpleType>
|
||||
* </element>
|
||||
* <element name="MBER_NM">
|
||||
* <simpleType>
|
||||
* <restriction base="{http://www.w3.org/2001/XMLSchema}string">
|
||||
* </restriction>
|
||||
* </simpleType>
|
||||
* </element>
|
||||
* <element name="MBER_REGIST_NO">
|
||||
* <simpleType>
|
||||
* <restriction base="{http://www.w3.org/2001/XMLSchema}string">
|
||||
* </restriction>
|
||||
* </simpleType>
|
||||
* </element>
|
||||
* <element name="POSESN_QOTAR">
|
||||
* <simpleType>
|
||||
* <restriction base="{http://www.w3.org/2001/XMLSchema}string">
|
||||
* </restriction>
|
||||
* </simpleType>
|
||||
* </element>
|
||||
* <element name="REPRSNT_OWNER_AT">
|
||||
* <simpleType>
|
||||
* <restriction base="{http://www.w3.org/2001/XMLSchema}string">
|
||||
* </restriction>
|
||||
* </simpleType>
|
||||
* </element>
|
||||
* <element name="PROCESS_IMPRTY_RESN_CODE">
|
||||
* <simpleType>
|
||||
* <restriction base="{http://www.w3.org/2001/XMLSchema}string">
|
||||
* </restriction>
|
||||
* </simpleType>
|
||||
* </element>
|
||||
* <element name="PROCESS_IMPRTY_RESN_DTLS">
|
||||
* <simpleType>
|
||||
* <restriction base="{http://www.w3.org/2001/XMLSchema}string">
|
||||
* </restriction>
|
||||
* </simpleType>
|
||||
* </element>
|
||||
* </sequence>
|
||||
* </restriction>
|
||||
* </complexContent>
|
||||
* </complexType>
|
||||
* </pre>
|
||||
*
|
||||
*
|
||||
*/
|
||||
@XmlAccessorType(XmlAccessType.FIELD)
|
||||
@XmlType(name = "findVhrnoBasicInfoCopertnOwnerReturnEaiResponse_rsRecord", propOrder = {
|
||||
"vhrno",
|
||||
"mbernm",
|
||||
"mberregistno",
|
||||
"posesnqotar",
|
||||
"reprsntownerat",
|
||||
"processimprtyresncode",
|
||||
"processimprtyresndtls"
|
||||
})
|
||||
public class FindVhrnoBasicInfoCopertnOwnerReturnEaiResponseRsRecord {
|
||||
|
||||
@XmlElement(name = "VHRNO", required = true, nillable = true)
|
||||
protected String vhrno;
|
||||
@XmlElement(name = "MBER_NM", required = true, nillable = true)
|
||||
protected String mbernm;
|
||||
@XmlElement(name = "MBER_REGIST_NO", required = true, nillable = true)
|
||||
protected String mberregistno;
|
||||
@XmlElement(name = "POSESN_QOTAR", required = true, nillable = true)
|
||||
protected String posesnqotar;
|
||||
@XmlElement(name = "REPRSNT_OWNER_AT", required = true, nillable = true)
|
||||
protected String reprsntownerat;
|
||||
@XmlElement(name = "PROCESS_IMPRTY_RESN_CODE", required = true, nillable = true)
|
||||
protected String processimprtyresncode;
|
||||
@XmlElement(name = "PROCESS_IMPRTY_RESN_DTLS", required = true, nillable = true)
|
||||
protected String processimprtyresndtls;
|
||||
|
||||
/**
|
||||
* vhrno 속성의 값을 가져옵니다.
|
||||
*
|
||||
* @return
|
||||
* possible object is
|
||||
* {@link String }
|
||||
*
|
||||
*/
|
||||
public String getVHRNO() {
|
||||
return vhrno;
|
||||
}
|
||||
|
||||
/**
|
||||
* vhrno 속성의 값을 설정합니다.
|
||||
*
|
||||
* @param value
|
||||
* allowed object is
|
||||
* {@link String }
|
||||
*
|
||||
*/
|
||||
public void setVHRNO(String value) {
|
||||
this.vhrno = value;
|
||||
}
|
||||
|
||||
/**
|
||||
* mbernm 속성의 값을 가져옵니다.
|
||||
*
|
||||
* @return
|
||||
* possible object is
|
||||
* {@link String }
|
||||
*
|
||||
*/
|
||||
public String getMBERNM() {
|
||||
return mbernm;
|
||||
}
|
||||
|
||||
/**
|
||||
* mbernm 속성의 값을 설정합니다.
|
||||
*
|
||||
* @param value
|
||||
* allowed object is
|
||||
* {@link String }
|
||||
*
|
||||
*/
|
||||
public void setMBERNM(String value) {
|
||||
this.mbernm = value;
|
||||
}
|
||||
|
||||
/**
|
||||
* mberregistno 속성의 값을 가져옵니다.
|
||||
*
|
||||
* @return
|
||||
* possible object is
|
||||
* {@link String }
|
||||
*
|
||||
*/
|
||||
public String getMBERREGISTNO() {
|
||||
return mberregistno;
|
||||
}
|
||||
|
||||
/**
|
||||
* mberregistno 속성의 값을 설정합니다.
|
||||
*
|
||||
* @param value
|
||||
* allowed object is
|
||||
* {@link String }
|
||||
*
|
||||
*/
|
||||
public void setMBERREGISTNO(String value) {
|
||||
this.mberregistno = value;
|
||||
}
|
||||
|
||||
/**
|
||||
* posesnqotar 속성의 값을 가져옵니다.
|
||||
*
|
||||
* @return
|
||||
* possible object is
|
||||
* {@link String }
|
||||
*
|
||||
*/
|
||||
public String getPOSESNQOTAR() {
|
||||
return posesnqotar;
|
||||
}
|
||||
|
||||
/**
|
||||
* posesnqotar 속성의 값을 설정합니다.
|
||||
*
|
||||
* @param value
|
||||
* allowed object is
|
||||
* {@link String }
|
||||
*
|
||||
*/
|
||||
public void setPOSESNQOTAR(String value) {
|
||||
this.posesnqotar = value;
|
||||
}
|
||||
|
||||
/**
|
||||
* reprsntownerat 속성의 값을 가져옵니다.
|
||||
*
|
||||
* @return
|
||||
* possible object is
|
||||
* {@link String }
|
||||
*
|
||||
*/
|
||||
public String getREPRSNTOWNERAT() {
|
||||
return reprsntownerat;
|
||||
}
|
||||
|
||||
/**
|
||||
* reprsntownerat 속성의 값을 설정합니다.
|
||||
*
|
||||
* @param value
|
||||
* allowed object is
|
||||
* {@link String }
|
||||
*
|
||||
*/
|
||||
public void setREPRSNTOWNERAT(String value) {
|
||||
this.reprsntownerat = value;
|
||||
}
|
||||
|
||||
/**
|
||||
* processimprtyresncode 속성의 값을 가져옵니다.
|
||||
*
|
||||
* @return
|
||||
* possible object is
|
||||
* {@link String }
|
||||
*
|
||||
*/
|
||||
public String getPROCESSIMPRTYRESNCODE() {
|
||||
return processimprtyresncode;
|
||||
}
|
||||
|
||||
/**
|
||||
* processimprtyresncode 속성의 값을 설정합니다.
|
||||
*
|
||||
* @param value
|
||||
* allowed object is
|
||||
* {@link String }
|
||||
*
|
||||
*/
|
||||
public void setPROCESSIMPRTYRESNCODE(String value) {
|
||||
this.processimprtyresncode = value;
|
||||
}
|
||||
|
||||
/**
|
||||
* processimprtyresndtls 속성의 값을 가져옵니다.
|
||||
*
|
||||
* @return
|
||||
* possible object is
|
||||
* {@link String }
|
||||
*
|
||||
*/
|
||||
public String getPROCESSIMPRTYRESNDTLS() {
|
||||
return processimprtyresndtls;
|
||||
}
|
||||
|
||||
/**
|
||||
* processimprtyresndtls 속성의 값을 설정합니다.
|
||||
*
|
||||
* @param value
|
||||
* allowed object is
|
||||
* {@link String }
|
||||
*
|
||||
*/
|
||||
public void setPROCESSIMPRTYRESNDTLS(String value) {
|
||||
this.processimprtyresndtls = value;
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,192 @@
|
||||
|
||||
package testserver.wsdlserver.lvisserver;
|
||||
|
||||
import javax.xml.bind.annotation.XmlRegistry;
|
||||
|
||||
|
||||
/**
|
||||
* This object contains factory methods for each
|
||||
* Java content interface and Java element interface
|
||||
* generated in the testserver.wsdlserver.lvisserver package.
|
||||
* <p>An ObjectFactory allows you to programatically
|
||||
* construct new instances of the Java representation
|
||||
* for XML content. The Java representation of XML
|
||||
* content can consist of schema derived interfaces
|
||||
* and classes representing the binding of schema
|
||||
* type definitions, element declarations and model
|
||||
* groups. Factory methods for each of these are
|
||||
* provided in this class.
|
||||
*
|
||||
*/
|
||||
@XmlRegistry
|
||||
public class ObjectFactory {
|
||||
|
||||
|
||||
/**
|
||||
* Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: testserver.wsdlserver.lvisserver
|
||||
*
|
||||
*/
|
||||
public ObjectFactory() {
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an instance of {@link FindRegBasic }
|
||||
*
|
||||
*/
|
||||
public FindRegBasic createFindRegBasic() {
|
||||
return new FindRegBasic();
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an instance of {@link FindRegBasicParameter }
|
||||
*
|
||||
*/
|
||||
public FindRegBasicParameter createFindRegBasicParameter() {
|
||||
return new FindRegBasicParameter();
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an instance of {@link WsRequestContext }
|
||||
*
|
||||
*/
|
||||
public WsRequestContext createWsRequestContext() {
|
||||
return new WsRequestContext();
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an instance of {@link FindRegBasicResponseType }
|
||||
*
|
||||
*/
|
||||
public FindRegBasicResponseType createFindRegBasicResponseType() {
|
||||
return new FindRegBasicResponseType();
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an instance of {@link FindRegBasicReturn }
|
||||
*
|
||||
*/
|
||||
public FindRegBasicReturn createFindRegBasicReturn() {
|
||||
return new FindRegBasicReturn();
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an instance of {@link FindRegBasicTest }
|
||||
*
|
||||
*/
|
||||
public FindRegBasicTest createFindRegBasicTest() {
|
||||
return new FindRegBasicTest();
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an instance of {@link FindRegBasicTestParameter }
|
||||
*
|
||||
*/
|
||||
public FindRegBasicTestParameter createFindRegBasicTestParameter() {
|
||||
return new FindRegBasicTestParameter();
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an instance of {@link FindRegBasicTestResponseType }
|
||||
*
|
||||
*/
|
||||
public FindRegBasicTestResponseType createFindRegBasicTestResponseType() {
|
||||
return new FindRegBasicTestResponseType();
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an instance of {@link FindRegBasicTestReturn }
|
||||
*
|
||||
*/
|
||||
public FindRegBasicTestReturn createFindRegBasicTestReturn() {
|
||||
return new FindRegBasicTestReturn();
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an instance of {@link FindVhrnoBasicInfoCopertnOwner }
|
||||
*
|
||||
*/
|
||||
public FindVhrnoBasicInfoCopertnOwner createFindVhrnoBasicInfoCopertnOwner() {
|
||||
return new FindVhrnoBasicInfoCopertnOwner();
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an instance of {@link FindVhrnoBasicInfoCopertnOwnerParameter }
|
||||
*
|
||||
*/
|
||||
public FindVhrnoBasicInfoCopertnOwnerParameter createFindVhrnoBasicInfoCopertnOwnerParameter() {
|
||||
return new FindVhrnoBasicInfoCopertnOwnerParameter();
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an instance of {@link FindVhrnoBasicInfoCopertnOwnerResponseType }
|
||||
*
|
||||
*/
|
||||
public FindVhrnoBasicInfoCopertnOwnerResponseType createFindVhrnoBasicInfoCopertnOwnerResponseType() {
|
||||
return new FindVhrnoBasicInfoCopertnOwnerResponseType();
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an instance of {@link FindVhrnoBasicInfoCopertnOwnerReturn }
|
||||
*
|
||||
*/
|
||||
public FindVhrnoBasicInfoCopertnOwnerReturn createFindVhrnoBasicInfoCopertnOwnerReturn() {
|
||||
return new FindVhrnoBasicInfoCopertnOwnerReturn();
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an instance of {@link FindRegBasicParameterEaiRequestRsRecord }
|
||||
*
|
||||
*/
|
||||
public FindRegBasicParameterEaiRequestRsRecord createFindRegBasicParameterEaiRequestRsRecord() {
|
||||
return new FindRegBasicParameterEaiRequestRsRecord();
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an instance of {@link FindRegBasicReturnEaiResponseRsRecord }
|
||||
*
|
||||
*/
|
||||
public FindRegBasicReturnEaiResponseRsRecord createFindRegBasicReturnEaiResponseRsRecord() {
|
||||
return new FindRegBasicReturnEaiResponseRsRecord();
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an instance of {@link FindRegBasicTestParameterEaiRequestRsRecord }
|
||||
*
|
||||
*/
|
||||
public FindRegBasicTestParameterEaiRequestRsRecord createFindRegBasicTestParameterEaiRequestRsRecord() {
|
||||
return new FindRegBasicTestParameterEaiRequestRsRecord();
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an instance of {@link FindRegBasicTestReturnEaiResponseRsRecord }
|
||||
*
|
||||
*/
|
||||
public FindRegBasicTestReturnEaiResponseRsRecord createFindRegBasicTestReturnEaiResponseRsRecord() {
|
||||
return new FindRegBasicTestReturnEaiResponseRsRecord();
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an instance of {@link FindVhrnoBasicInfoCopertnOwnerParameterEaiRequestRsRecord }
|
||||
*
|
||||
*/
|
||||
public FindVhrnoBasicInfoCopertnOwnerParameterEaiRequestRsRecord createFindVhrnoBasicInfoCopertnOwnerParameterEaiRequestRsRecord() {
|
||||
return new FindVhrnoBasicInfoCopertnOwnerParameterEaiRequestRsRecord();
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an instance of {@link FindVhrnoBasicInfoCopertnOwnerReturnEaiResponseRsRecord }
|
||||
*
|
||||
*/
|
||||
public FindVhrnoBasicInfoCopertnOwnerReturnEaiResponseRsRecord createFindVhrnoBasicInfoCopertnOwnerReturnEaiResponseRsRecord() {
|
||||
return new FindVhrnoBasicInfoCopertnOwnerReturnEaiResponseRsRecord();
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an instance of {@link ResultMessage }
|
||||
*
|
||||
*/
|
||||
public ResultMessage createResultMessage() {
|
||||
return new ResultMessage();
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,2 @@
|
||||
@javax.xml.bind.annotation.XmlSchema(namespace = "componentNs:carregbasicinfo.reg.service.lvis/service.reg.CarRegBasicInfo", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
|
||||
package testserver.wsdlserver.lvisserver;
|
@ -0,0 +1,61 @@
|
||||
server:
|
||||
port: 39700
|
||||
servlet:
|
||||
context-path: /
|
||||
|
||||
spring:
|
||||
application:
|
||||
name: ts
|
||||
|
||||
main:
|
||||
allow-bean-definition-overriding: true
|
||||
sql:
|
||||
init:
|
||||
platform: mariadb
|
||||
|
||||
datasource:
|
||||
hikari:
|
||||
driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
|
||||
jdbc-url: jdbc:log4jdbc:mariadb://211.119.124.9:4407/platform?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Seoul&useSSL=false&autocommit=false
|
||||
username: fimsweb
|
||||
password: fimsweb!@
|
||||
auto-commit: false
|
||||
externaldatasource:
|
||||
hikari:
|
||||
driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
|
||||
jdbc-url: jdbc:log4jdbc:mariadb://211.119.124.9:4407/lbj?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Seoul&useSSL=false&autocommit=false
|
||||
username: fimsweb
|
||||
password: fimsweb!@
|
||||
auto-commit: false
|
||||
|
||||
mvc:
|
||||
static-path-pattern: /resources/**,/files/**
|
||||
web:
|
||||
resources:
|
||||
static-locations: /resources/,file:files/
|
||||
|
||||
messageSource:
|
||||
basenames:
|
||||
- classpath:message/message-common
|
||||
- classpath:message/authentication-message
|
||||
- classpath:org/egovframe/rte/fdl/property/messages/properties
|
||||
|
||||
propertyService:
|
||||
properties:
|
||||
- tempDir: C:\temp
|
||||
- pageUnit: 10
|
||||
- pageSize: 10
|
||||
- permitAccess: /intf/**/*
|
||||
extFileName:
|
||||
- encoding: UTF-8
|
||||
filename: classpath*:intf-conf/xit-lvis.properties
|
||||
|
||||
|
||||
management:
|
||||
endpoint:
|
||||
metrics:
|
||||
enabled: true
|
||||
endpoints:
|
||||
web:
|
||||
exposure:
|
||||
include: "*"
|
@ -0,0 +1,4 @@
|
||||
log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator
|
||||
|
||||
log4jdbc.dump.sql.maxlinelength=0
|
||||
log4jdbc.drivers=org.mariadb.jdbc.Driver
|
@ -0,0 +1,83 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- 60초마다 설정 파일의 변경을 확인 하여 변경시 갱신 -->
|
||||
<configuration scan="true" scanPeriod="60 seconds">
|
||||
<springProperty scope="context" name="applicationName" source="spring.application.name"/>
|
||||
<property name="LOG_PATH" value="logs"/>
|
||||
<property name="LOG_FILE_NAME" value="${applicationName}"/>
|
||||
<property name="ERR_LOG_FILE_NAME" value="${LOG_FILE_NAME}-error"/>
|
||||
<property name="LOG_PATTERN" value="%d{HH:mm:ss.SSS} %-5level [%logger{0}:%line] - %msg%n"/>
|
||||
|
||||
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
|
||||
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
|
||||
<pattern>${LOG_PATTERN}</pattern>
|
||||
</encoder>
|
||||
</appender>
|
||||
|
||||
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||
<file>${LOG_PATH}/${LOG_FILE_NAME}.log</file>
|
||||
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
|
||||
<pattern>${LOG_PATTERN}</pattern>
|
||||
</encoder>
|
||||
|
||||
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
||||
<!-- .gz,.zip 등을 넣으면 자동 일자별 로그파일 압축 -->
|
||||
<fileNamePattern>${LOG_PATH}/${LOG_FILE_NAME}.%d{yyyy-MM-dd}_%i.log</fileNamePattern>
|
||||
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
|
||||
<maxFileSize>10MB</maxFileSize>
|
||||
</timeBasedFileNamingAndTriggeringPolicy>
|
||||
|
||||
<maxHistory>30</maxHistory><!-- 로그파일 보관주기(일)-->
|
||||
<!--<MinIndex>1</MinIndex>
|
||||
<MaxIndex>10</MaxIndex>-->
|
||||
</rollingPolicy>
|
||||
</appender>
|
||||
|
||||
<appender name="Error" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||
<filter class="ch.qos.logback.classic.filter.LevelFilter">
|
||||
<level>error</level>
|
||||
<onMatch>ACCEPT</onMatch>
|
||||
<onMismatch>DENY</onMismatch>
|
||||
</filter>
|
||||
|
||||
<file>${LOG_PATH}/${ERR_LOG_FILE_NAME}.log</file>
|
||||
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
|
||||
<pattern>${LOG_PATTERN}</pattern>
|
||||
</encoder>
|
||||
|
||||
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
||||
<!-- .gz,.zip 등을 넣으면 자동 일자별 로그파일 압축 -->
|
||||
<fileNamePattern>${LOG_PATH}/${ERR_LOG_FILE_NAME}.%d{yyyy-MM-dd}_%i.log</fileNamePattern>
|
||||
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
|
||||
<!-- 파일당 최고 용량 kb, mb, gb -->
|
||||
<maxFileSize>10MB</maxFileSize>
|
||||
</timeBasedFileNamingAndTriggeringPolicy>
|
||||
<!-- 일자별 로그파일 최대 보관주기(~일), 해당 설정일 이상된 파일은 자동으로 제거-->
|
||||
<maxHistory>60</maxHistory>
|
||||
</rollingPolicy>
|
||||
</appender>
|
||||
|
||||
<root level="DEBUG" additivity="false">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
<appender-ref ref="FILE"/>
|
||||
<appender-ref ref="Error"/>
|
||||
</root>
|
||||
|
||||
<logger name="org.apache.commons" level="OFF" additivity="false"/>
|
||||
<logger name="org.mariadb" level="OFF" additivity="false"/>
|
||||
<!--logger name="jdbc" level="OFF" additivity="false"/-->
|
||||
<logger name="jdbc.connection" level="OFF" additivity="false"/>
|
||||
<logger name="jdbc.sqlonly" level="OFF" additivity="false"/>
|
||||
<logger name="jdbc.resultset" level="OFF" additivity="false"/>
|
||||
<logger name="jdbc.resultsettable" level="OFF" additivity="false"/>
|
||||
<logger name="jdbc.audit" level="OFF" additivity="false"/>
|
||||
<logger name="com.zaxxer" level="OFF" additivity="false"/>
|
||||
<logger name="jdbc.sqltiming" level="DEBUG" />
|
||||
|
||||
<!-- 특정패키지 로깅레벨 설정 -->
|
||||
<logger name="cokr.xit" level="DEBUG" additivity="false">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
<appender-ref ref="FILE"/>
|
||||
<appender-ref ref="Error"/>
|
||||
</logger>
|
||||
|
||||
</configuration>
|
@ -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"
|
||||
xmlns:jaxws="http://cxf.apache.org/jaxws"
|
||||
xsi:schemaLocation="
|
||||
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
|
||||
http://cxf.apache.org/jaxws http://cxf.apache.org/schema/jaxws.xsd">
|
||||
|
||||
|
||||
|
||||
</beans>
|
@ -0,0 +1,25 @@
|
||||
<?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="externalsystem.car.dao.CarMapper">
|
||||
|
||||
<select id="selectCar" parameterType="string" resultType="dataobject">
|
||||
SELECT VHRNO
|
||||
, MBER_SE_CODE
|
||||
, MBER_NM
|
||||
, MBER_SE_NO
|
||||
, USE_STRNGHLD_ROAD_NM_CODE
|
||||
, USE_STRNGHLD_BULD_MAIN_NO
|
||||
, USE_STRNGHLD_BULD_SUB_NO
|
||||
, USE_STRNGHLD_ADRES_NM
|
||||
, USGSRHLD_UNDGRND_BULD_SE_CODE
|
||||
, CNM
|
||||
, COLOR_NM
|
||||
, VHCTY_ASORT_CODE
|
||||
, MXMM_LDG
|
||||
, VIN
|
||||
, ERSR_REGIST_DE
|
||||
FROM EXTERNAL_TB_CAR
|
||||
WHERE VHRNO = #{vhrno}
|
||||
</select>
|
||||
|
||||
</mapper>
|
@ -0,0 +1,230 @@
|
||||
<?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="cokr.xit.base.code.dao.CodeMapper">
|
||||
|
||||
<resultMap id="categoryRow" type="cokr.xit.base.code.CodeCategory">
|
||||
<result property="id" column="CTGR_ID"/>
|
||||
<result property="name" column="CTGR_NM"/>
|
||||
<result property="description" column="DSCRP"/>
|
||||
<result property="createdAt" column="REG_DT"/>
|
||||
<result property="createdBy" column="RGTR"/>
|
||||
<result property="lastModified" column="MDFCN_DT"/>
|
||||
<result property="modifiedBy" column="MDFR"/>
|
||||
<result property="useYN" column="USE_YN"/>
|
||||
</resultMap>
|
||||
|
||||
<resultMap id="groupRow" type="cokr.xit.base.code.CodeGroup">
|
||||
<result property="id" column="GRP_ID"/>
|
||||
<result property="name" column="GRP_NM"/>
|
||||
<result property="categoryID" column="CTGR_ID"/>
|
||||
<result property="description" column="DSCRP"/>
|
||||
<result property="createdAt" column="REG_DT"/>
|
||||
<result property="createdBy" column="RGTR"/>
|
||||
<result property="lastModified" column="MDFCN_DT"/>
|
||||
<result property="modifiedBy" column="MDFR"/>
|
||||
<result property="useYN" column="USE_YN"/>
|
||||
</resultMap>
|
||||
|
||||
<resultMap id="codeRow" type="cokr.xit.base.code.CommonCode">
|
||||
<result property="groupID" column="GRP_ID"/>
|
||||
<result property="code" column="CODE"/>
|
||||
<result property="value" column="CODE_VAL"/>
|
||||
<result property="description" column="DSCRP"/>
|
||||
<result property="etc1" column="ETC_1"/>
|
||||
<result property="etc2" column="ETC_2"/>
|
||||
<result property="etc3" column="ETC_3"/>
|
||||
<result property="sortOrder" column="SRT_ORD"/>
|
||||
<result property="createdAt" column="REG_DT"/>
|
||||
<result property="createdBy" column="RGTR"/>
|
||||
<result property="lastModified" column="MDFCN_DT"/>
|
||||
<result property="modifiedBy" column="MDFR"/>
|
||||
<result property="useYN" column="USE_YN"/>
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectCategories"><include refid="utility.paging-prefix" />
|
||||
SELECT *
|
||||
FROM TB_CODE_CTGR
|
||||
WHERE USE_YN = 'Y'
|
||||
<if test="categoryIDs != null"> AND CTGR_ID IN (<foreach collection="categoryIDs" item="categoryID" separator=",">#{categoryID}</foreach>)</if>
|
||||
<include refid="utility.orderBy" />
|
||||
<include refid="utility.paging-suffix" /></sql>
|
||||
|
||||
<select id="getCategoryList" parameterType="map" resultType="dataobject">/* 코드 카테고리 목록 조회(codeMapper.getCategoryList) */
|
||||
<include refid="selectCategories" /></select>
|
||||
|
||||
<select id="getCategories" parameterType="map" resultMap="categoryRow">/*코드 카테고리 가져오기(codeMapper.getCategories)*/
|
||||
<include refid="selectCategories" /></select>
|
||||
|
||||
<insert id="insertCategory" parameterType="map">/* 코드 카테고리 등록(codeMapper.insertCategory) */
|
||||
INSERT INTO TB_CODE_CTGR (
|
||||
CTGR_ID
|
||||
, CTGR_NM
|
||||
, DSCRP
|
||||
, REG_DT
|
||||
, RGTR
|
||||
, MDFCN_DT
|
||||
, MDFR
|
||||
, USE_YN
|
||||
) VALUES (
|
||||
#{category.id}
|
||||
, #{category.name}
|
||||
, #{category.description}
|
||||
,<include refid="utility.now" />
|
||||
, #{currentUser.id}
|
||||
,<include refid="utility.now" />
|
||||
, #{currentUser.id}
|
||||
, 'Y'
|
||||
)</insert>
|
||||
|
||||
<update id="updateCategory" parameterType="map">/* 코드 카테고리 수정(codeMapper.updateCategory) */
|
||||
UPDATE TB_CODE_CTGR SET
|
||||
CTGR_NM = #{category.name}
|
||||
, DSCRP = #{category.description}
|
||||
, MDFCN_DT =<include refid="utility.now" />
|
||||
, MDFR = #{currentUser.id}
|
||||
WHERE CTGR_ID = #{category.id}</update>
|
||||
|
||||
<delete id="removeCategories" parameterType="map">/* 코드 카테고리 제거(codeMapper.removeCategories) */
|
||||
UPDATE TB_CODE_CTGR SET
|
||||
MDFCN_DT =<include refid="utility.now" />
|
||||
, MDFR = #{currentUser.id}
|
||||
, USE_YN = 'N'
|
||||
<if test='categoryIDs != null'>WHERE CTGR_ID IN (<foreach collection="categoryIDs" item="categoryID" separator=",">#{categoryID}</foreach>)</if></delete>
|
||||
|
||||
<sql id="selectGroups"><include refid="utility.paging-prefix" />
|
||||
SELECT *
|
||||
FROM TB_CODE_GRP
|
||||
WHERE USE_YN = 'Y'
|
||||
<if test="categoryIDs != null">AND CTGR_ID IN (<foreach collection="categoryIDs" item="categoryID" separator=",">#{categoryID}</foreach>)</if>
|
||||
<if test="groupIDs != null">AND GRP_ID IN (<foreach collection="groupIDs" item="groupID" separator=",">#{groupID}</foreach>)</if>
|
||||
<include refid="utility.orderBy" />
|
||||
<include refid="utility.paging-suffix" /></sql>
|
||||
|
||||
<select id="getGroupList" parameterType="dataobject" resultType="dataobject">/* 코드그룹 목록 조회(codeMapper.getGroupList) */
|
||||
<include refid="selectGroups" /></select>
|
||||
|
||||
<select id="getGroups" parameterType="map" resultMap="groupRow">/* 코드그룹 가져오기(codeMapper.getGroups) */
|
||||
<include refid="selectGroups" /></select>
|
||||
|
||||
<insert id="insertGroup" parameterType="map">/* 코드그룹 등록(codeMapper.insertGroup) */
|
||||
INSERT INTO TB_CODE_GRP (
|
||||
GRP_ID
|
||||
, GRP_NM
|
||||
, CTGR_ID
|
||||
, DSCRP
|
||||
, REG_DT
|
||||
, RGTR
|
||||
, MDFCN_DT
|
||||
, MDFR
|
||||
, USE_YN
|
||||
) VALUES (
|
||||
#{group.id}
|
||||
, #{group.name}
|
||||
, #{group.categoryID}
|
||||
, #{group.description}
|
||||
,<include refid="utility.now" />
|
||||
, #{currentUser.id}
|
||||
,<include refid="utility.now" />
|
||||
, #{currentUser.id}
|
||||
, 'Y'
|
||||
)</insert>
|
||||
|
||||
<update id="updateGroup" parameterType="map">/* 코드그룹 수정(codeMapper.updateGroup) */
|
||||
UPDATE TB_CODE_GRP SET
|
||||
GRP_NM = #{group.name}
|
||||
, CTGR_ID = #{group.categoryID}
|
||||
, DSCRP = #{group.description}
|
||||
, MDFCN_DT =<include refid="utility.now" />
|
||||
, MDFR = #{currentUser.id}
|
||||
WHERE GRP_ID = #{group.id}</update>
|
||||
|
||||
<update id="removeGroups" parameterType="map">/*코드그룹 제거(codeMapper.removeGroups) */
|
||||
UPDATE TB_CODE_GRP SET
|
||||
USE_YN = 'N'
|
||||
, MDFCN_DT =<include refid="utility.now" />
|
||||
, MDFR = #{currentUser.id}
|
||||
<where>
|
||||
<if test="categoryIDs != null">CTGR_ID IN (<foreach collection="categoryIDs" item="categoryID" separator=",">#{categoryID}</foreach>)</if>
|
||||
<if test="groupIDs != null">GRP_ID IN (<foreach collection="groupIDs" item="groupID" separator=",">#{groupID}</foreach>)</if>
|
||||
</where></update>
|
||||
|
||||
<sql id="selectCodes"><include refid="utility.paging-prefix" />
|
||||
SELECT *
|
||||
FROM TB_CMN_CODE
|
||||
WHERE USE_YN = 'Y'
|
||||
<if test='groupIDs != null'>AND GRP_ID IN (<foreach collection="groupIDs" item="groupID" separator=",">#{groupID}</foreach>)</if>
|
||||
<if test='codes != null'>AND CODE IN (<foreach collection="codes" item="code" separator=",">#{code}</foreach>)</if>
|
||||
<include refid="utility.orderBy" />
|
||||
<include refid="utility.paging-suffix" /></sql>
|
||||
|
||||
<select id="getCodeList" parameterType="map" resultType="dataobject">/* 그룹별 코드 가져오기(codeMapper.getCodeList) */
|
||||
<include refid="selectCodes" /></select>
|
||||
|
||||
<select id="getCodes" parameterType="map" resultMap="codeRow">/* 코드 가져오기(codeMapper.getCodes) */
|
||||
<include refid="selectCodes" /></select>
|
||||
|
||||
<insert id="insertCode" parameterType="map">/* 코드 등록(codeMapper.insertCode) */
|
||||
INSERT INTO TB_CMN_CODE (
|
||||
GRP_ID
|
||||
, CODE
|
||||
, CODE_VAL
|
||||
, DSCRP
|
||||
, ETC_1
|
||||
, ETC_2
|
||||
, ETC_3
|
||||
, SRT_ORD
|
||||
, REG_DT
|
||||
, RGTR
|
||||
, MDFCN_DT
|
||||
, MDFR
|
||||
, USE_YN
|
||||
) VALUES (
|
||||
#{code.groupID}
|
||||
, #{code.code}
|
||||
, #{code.value}
|
||||
, #{code.description}
|
||||
, #{code.etc1}
|
||||
, #{code.etc2}
|
||||
, #{code.etc3}
|
||||
, #{code.sortOrder}
|
||||
,<include refid="utility.now" />
|
||||
, #{currentUser.id}
|
||||
,<include refid="utility.now" />
|
||||
, #{currentUser.id}
|
||||
, 'Y'
|
||||
)</insert>
|
||||
|
||||
<update id="updateCode" parameterType="map">/* 코드 수정(codeMapper.updateCode) */
|
||||
UPDATE TB_CMN_CODE SET
|
||||
CODE_VAL = #{code.value}
|
||||
, DSCRP = #{code.description}
|
||||
, ETC_1 = #{code.etc1}
|
||||
, ETC_2 = #{code.etc2}
|
||||
, ETC_3 = #{code.etc3}
|
||||
, MDFCN_DT =<include refid="utility.now" />
|
||||
, MDFR = #{currentUser.id}
|
||||
WHERE GRP_ID = #{code.groupID}
|
||||
AND CODE = #{code.code}</update>
|
||||
|
||||
<update id="reorderCodes" parameterType="map">/* 코드 정렬순서 변경(codeMapper.reorderCodes) */
|
||||
UPDATE TB_CMN_CODE SET
|
||||
SRT_ORD = CASE CODE<foreach collection="codes" item="code" index="index" separator=" ">
|
||||
WHEN #{code} THEN #{index}</foreach>
|
||||
ELSE SRT_ORD
|
||||
END
|
||||
, MDFCN_DT =<include refid="utility.now" />
|
||||
, MDFR = #{currentUser.id}
|
||||
WHERE GRP_ID = #{groupID}
|
||||
AND CODE IN (<foreach collection="codes" item="code" separator=",">#{code}</foreach>)</update>
|
||||
|
||||
<update id="removeCodes" parameterType="map">/* 코드 제거(codeMapper.removeCodes) */
|
||||
UPDATE TB_CMN_CODE SET
|
||||
MDFCN_DT =<include refid="utility.now" />
|
||||
, MDFR = #{currentUser.id}
|
||||
, USE_YN = 'N'
|
||||
<where>
|
||||
<if test="groupIDs != null">AND GRP_ID IN (<foreach collection="groupIDs" item="groupID" separator=",">#{groupID}</foreach>)</if>
|
||||
<if test="codes != null">AND CODE IN (<foreach collection="codes" item="code" separator=",">#{code}</foreach>) </if>
|
||||
</where></update>
|
||||
|
||||
</mapper>
|
@ -0,0 +1,130 @@
|
||||
<?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="cokr.xit.base.file.dao.FileMapper">
|
||||
|
||||
<resultMap id="fileRow" type="cokr.xit.base.file.FileInfo">
|
||||
<result property="id" column="FILE_ID"/>
|
||||
<result property="infoType" column="INF_TYPE"/>
|
||||
<result property="infoKey" column="INF_KEY"/>
|
||||
<result property="subType" column="SUB_TYPE"/>
|
||||
<result property="name" column="FILE_NM"/>
|
||||
<result property="path" column="FILE_PATH"/>
|
||||
<result property="url" column="URL"/>
|
||||
<result property="mimeType" column="MIME_TYPE"/>
|
||||
<result property="size" column="FILE_SIZE"/>
|
||||
<result property="downloadCount" column="DNLD_CNT"/>
|
||||
<result property="sortOrder" column="SRT_ORD"/>
|
||||
<result property="createdAt" column="REG_DT"/>
|
||||
<result property="createdBy" column="RGTR"/>
|
||||
<result property="useYN" column="USE_YN"/>
|
||||
</resultMap>
|
||||
|
||||
<sql id="fileDirs">SELECT INF_TYPE
|
||||
, CONCAT('files/', DIR, DATE_FORMAT(CURRENT_DATE, '/%Y/%m/%d/')) DIR
|
||||
FROM (
|
||||
SELECT '010' INF_TYPE, 'interface/attachment/smg' DIR UNION <!-- 국민 신문고 -->
|
||||
SELECT '020' INF_TYPE, 'interface/attachment/saeol' DIR UNION <!-- 세올 -->
|
||||
SELECT '030' INF_TYPE, 'interface/attachment/epost' DIR UNION <!-- epost -->
|
||||
|
||||
SELECT '100' INF_TYPE, 'attachment/violation' DIR UNION <!-- 단속 정보 -->
|
||||
SELECT '110' INF_TYPE, 'attachment/opinion' DIR UNION <!-- 의견 진술 -->
|
||||
SELECT '190' INF_TYPE, 'attachment/capture' DIR <!-- 캡쳐용 동영상 -->
|
||||
) FILE_DIRS</sql>
|
||||
|
||||
<sql id="selectFiles">
|
||||
<if test="fileIDs != null">
|
||||
SELECT A.*, FILE_PATH URL
|
||||
FROM TB_FILE A
|
||||
WHERE FILE_ID IN (<foreach collection="fileIDs" item="fileID" separator=",">#{fileID}</foreach>)
|
||||
ORDER BY FILE_ID</if>
|
||||
<if test="fileIDs == null"><include refid="utility.paging-prefix" />
|
||||
SELECT A.*, FILE_PATH URL
|
||||
FROM TB_FILE A
|
||||
<where>
|
||||
<if test="infoType != null"> AND A.INF_TYPE = #{infoType}</if>
|
||||
<if test="infoKeys != null"> AND INF_KEY IN (<foreach collection="infoKeys" item="infoKey" separator=",">#{infoKey}</foreach>)</if>
|
||||
AND USE_YN = 'Y'
|
||||
</where>
|
||||
<include refid="utility.orderBy" />
|
||||
<include refid="utility.paging-suffix" /></if></sql>
|
||||
|
||||
<select id="getFileList" parameterType="map" resultType="dataobject">/* 파일 목록 조회(fileMapper.getFileList) */
|
||||
<include refid="selectFiles" /></select>
|
||||
|
||||
<select id="getFilesOf" parameterType="map" resultMap="fileRow">/* 파일 가져오기(fileMapper.getFilesOf) */
|
||||
<include refid="selectFiles" /></select>
|
||||
|
||||
<select id="getFiles" parameterType="map" resultMap="fileRow">/* 파일 가져오기(fileMapper.getFiles) */
|
||||
<include refid="selectFiles" /></select>
|
||||
|
||||
<insert id="insertFile" parameterType="map">/* 파일 등록(fileMapper.insertFile) */
|
||||
<selectKey keyProperty="file.id,file.path" keyColumn="NEW_ID,PATH" resultType="map" order="BEFORE">
|
||||
SELECT NEW_ID, CONCAT(DIR, NEW_ID, '.', #{file.extension}) PATH
|
||||
FROM (
|
||||
SELECT IFNULL(MAX(FILE_ID) + 1, CONCAT(THIS_DAY, '00001')) NEW_ID
|
||||
FROM TB_FILE A, (<include refid="utility.selectThisDay" />) B
|
||||
WHERE FILE_ID LIKE CONCAT(THIS_DAY, '%')
|
||||
) T1, (
|
||||
<include refid="fileDirs" />
|
||||
WHERE INF_TYPE = #{file.infoType}
|
||||
) T2</selectKey>
|
||||
INSERT INTO TB_FILE (
|
||||
FILE_ID
|
||||
, INF_TYPE
|
||||
, INF_KEY
|
||||
, SUB_TYPE
|
||||
, FILE_NM
|
||||
, FILE_PATH
|
||||
, MIME_TYPE
|
||||
, FILE_SIZE
|
||||
, DNLD_CNT
|
||||
, SRT_ORD
|
||||
, RGTR
|
||||
, REG_DT
|
||||
, USE_YN
|
||||
) VALUES (
|
||||
#{file.id}
|
||||
, #{file.infoType}
|
||||
, #{file.infoKey}
|
||||
, #{file.subType}
|
||||
, #{file.name}
|
||||
, #{file.path}
|
||||
, #{file.mimeType}
|
||||
, #{file.size}
|
||||
, #{file.downloadCount}
|
||||
, #{file.sortOrder}
|
||||
, #{currentUser.id}
|
||||
,<include refid="utility.now" />
|
||||
, 'Y'
|
||||
)
|
||||
</insert>
|
||||
|
||||
<update id="reorder" parameterType="map">/* 파일 순서 변경(fileMapper.reorder) */
|
||||
UPDATE TB_FILE SET
|
||||
SRT_ORD = CASE FILE_ID
|
||||
<foreach collection="fileIDs" item="fileID" index="index" separator=" ">WHEN #{fileID} THEN #{index}
|
||||
</foreach>
|
||||
ELSE SRT_ORD END
|
||||
WHERE FILE_ID IN (<foreach collection="fileIDs" item="fileID" separator=",">#{fileID}</foreach>)</update>
|
||||
|
||||
<update id="updateDownloadCount" parameterType="map">/* 다운로드 횟수 증가(fileMapper.updateDownloadCount) */
|
||||
UPDATE TB_FILE SET
|
||||
DNLD_CNT = DNLD_CNT + 1
|
||||
WHERE USE_YN = 'Y'
|
||||
AND FILE_ID IN (<foreach collection="fileIDs" item="fileID" separator=",">#{fileID}</foreach>)</update>
|
||||
|
||||
<update id="removeFiles" parameterType="map">/* 파일 제거(fileMapper.removeFiles) */
|
||||
UPDATE TB_FILE SET
|
||||
USE_YN = 'N'
|
||||
WHERE USE_YN = 'Y'
|
||||
<if test="fileIDs != null"> AND FILE_ID IN (<foreach collection="fileIDs" item="fileID" separator=",">#{fileID}</foreach>)</if>
|
||||
<if test="infoKeys != null">
|
||||
AND INF_TYPE = #{infoType}
|
||||
AND INF_KEY IN (<foreach collection="infoKeys" item="infoKey" separator=",">#{infoKey}</foreach>)</if></update>
|
||||
|
||||
<delete id="deleteFiles" parameterType="map">/* 파일 삭제(fileMapper.deleteFiles) */
|
||||
DELETE FROM TB_FILE
|
||||
<if test="fileIDs != null">WHERE FILE_ID IN (<foreach collection="fileIDs" item="fileID" separator=",">#{fileID}</foreach>)</if>
|
||||
</delete>
|
||||
|
||||
</mapper>
|
@ -0,0 +1,94 @@
|
||||
<?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="cokr.xit.base.menu.dao.MenuMapper">
|
||||
|
||||
<resultMap id="menuRow" type="cokr.xit.base.menu.Menu">
|
||||
<result property="id" column="MENU_NO"/>
|
||||
<result property="name" column="MENU_NM"/>
|
||||
<result property="programFilename" column="PGRM_FILE_NM"/>
|
||||
<result property="action" column="ACTION"/>
|
||||
<result property="description" column="DSCRP"/>
|
||||
<result property="parentID" column="PRNT_NO"/>
|
||||
<result property="imageName" column="IMG_NM"/>
|
||||
<result property="imageConf" column="IMG_CNF"/>
|
||||
<result property="sortOrder" column="SRT_ORD"/>
|
||||
<result property="createdAt" column="REG_DT"/>
|
||||
<result property="createdBy" column="RGTR"/>
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectMenus">
|
||||
SELECT A.*
|
||||
FROM TB_MENU A
|
||||
<if test='menuID != null'>WHERE MENU_NO = #{menuID}</if>
|
||||
ORDER BY PRNT_NO, SRT_ORD, MENU_NO</sql>
|
||||
|
||||
<select id="getMenus" parameterType="map" resultMap="menuRow">/* 메뉴 정보 조회(menuMapper.getMenus) */
|
||||
<include refid="selectMenus" /></select>
|
||||
|
||||
<select id="getMenu" parameterType="int" resultMap="menuRow">/* 메뉴 가져오기(menuMapper.getMenu) */
|
||||
<include refid="selectMenus" /></select>
|
||||
|
||||
<insert id="insertMenu" parameterType="map">/* 메뉴 등록(menuMapper.insertMenu) */
|
||||
<selectKey order="BEFORE" resultType="map" keyColumn="NEW_NO,NEW_ORD" keyProperty="menu.id,menu.sortOrder">
|
||||
SELECT NEW_NO, NEW_ORD
|
||||
FROM (SELECT IFNULL(MAX(MENU_NO) + 1, 0) NEW_NO FROM TB_MENU) A,
|
||||
(<include refid="newSortOrder" />) B</selectKey>
|
||||
INSERT INTO TB_MENU (
|
||||
MENU_NO
|
||||
, MENU_NM
|
||||
, PRNT_NO
|
||||
, PGRM_FILE_NM
|
||||
, ACTION
|
||||
, DSCRP
|
||||
, IMG_NM
|
||||
, IMG_CNF
|
||||
, SRT_ORD
|
||||
, REG_DT
|
||||
, RGTR
|
||||
) VALUES (
|
||||
#{menu.id}
|
||||
, #{menu.name}
|
||||
, #{menu.parentID}
|
||||
, #{menu.programFilename}
|
||||
, #{menu.action}
|
||||
, #{menu.description}
|
||||
, #{menu.imageName}
|
||||
, #{menu.imageConf}
|
||||
, #{menu.sortOrder}
|
||||
,<include refid="utility.now" />
|
||||
, #{currentUser.id}
|
||||
)</insert>
|
||||
|
||||
<update id="updateMenu" parameterType="map">/* 메뉴 수정(menuMapper.updateMenu) */
|
||||
UPDATE TB_MENU SET
|
||||
MENU_NM = #{menu.name}
|
||||
, PGRM_FILE_NM = #{menu.programFilename}
|
||||
, ACTION = #{menu.action}
|
||||
, DSCRP = #{menu.description}
|
||||
, IMG_NM = #{menu.imageName}
|
||||
, IMG_CNF = #{menu.imageConf}
|
||||
WHERE MENU_NO = #{menu.id}</update>
|
||||
|
||||
<sql id="newSortOrder">SELECT IFNULL(MAX(SRT_ORD) + 1, 0) NEW_ORD FROM TB_MENU WHERE PRNT_NO = IFNULL(#{parentID}, IFNULL(#{menu.parentID}, 0))</sql>
|
||||
|
||||
<update id="moveMenus" parameterType="map">/* 메뉴 이동(menuMapper.moveMenus) */
|
||||
UPDATE TB_MENU SET
|
||||
PRNT_NO = #{parentID}
|
||||
, SRT_ORD = SRT_ORD + (<include refid="newSortOrder" />)
|
||||
WHERE MENU_NO IN (<foreach collection="menuIDs" item="menuID" separator=",">#{menuID}</foreach>)
|
||||
</update>
|
||||
|
||||
<update id="reorderMenus" parameterType="map">/* 메뉴 순서 변경(menuMapper.reorderMenus) */
|
||||
UPDATE TB_MENU SET
|
||||
SRT_ORD = CASE MENU_NO
|
||||
<foreach collection="menuIDs" item="menuID" index="index">WHEN #{menuID} THEN #{index}
|
||||
</foreach>
|
||||
ELSE MENU_NO END
|
||||
WHERE MENU_NO IN (<foreach collection="menuIDs" item="menuID" separator=",">#{menuID}</foreach>)</update>
|
||||
|
||||
<delete id="removeMenus" parameterType="map">/* 메뉴 제거(menuMapper.removeMenus) */
|
||||
DELETE FROM TB_MENU
|
||||
WHERE MENU_NO IN (<foreach collection="menuIDs" item="menuID" separator=",">#{menuID}</foreach>)
|
||||
</delete>
|
||||
|
||||
</mapper>
|
@ -0,0 +1,135 @@
|
||||
<?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="program">
|
||||
|
||||
<resultMap id="programRow" type="cokr.xit.base.menu.Program">
|
||||
<result property="filename" column="PGRM_FILE_NM"/>
|
||||
<result property="location" column="PGRM_FILE_PATH"/>
|
||||
<result property="name" column="PGRM_NM"/>
|
||||
<result property="description" column="DSCRP"/>
|
||||
<result property="url" column="URL"/>
|
||||
</resultMap>
|
||||
|
||||
<resultMap id="reqRow" type="cokr.xit.base.menu.ChangeRequest">
|
||||
<result property="filename" column="PGRM_FILE_NM"/>
|
||||
<result property="id" column="REQ_ID"/>
|
||||
<result property="subject" column="SUBJECT"/>
|
||||
<result property="requestorID" column="REQ_USER"/>
|
||||
<result property="requestDate" column="REQ_DT"/>
|
||||
<result property="requestDetail" column="REQ_CNTNT"/>
|
||||
<result property="processorID" column="PRSC_USER"/>
|
||||
<result property="processDate" column="PRCS_DT"/>
|
||||
<result property="processDetail" column="PRCS_CNTNT"/>
|
||||
<result property="status" column="PRCS_STATUS"/>
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectPrograms">
|
||||
<include refid="utility.paging-prefix"/>
|
||||
SELECT A.*
|
||||
FROM TB_PROGRAM A
|
||||
<where>
|
||||
<if test="by != null and term != null">${by} LIKE CONCAT('%', #{term}, '%')</if>
|
||||
<if test='filenames != null'>PGRM_FILE_NM IN (<foreach collection="filenames" item="filename" separator=",">#{filename}</foreach>)</if>
|
||||
</where>
|
||||
ORDER BY<if test='by != null'>${by}</if><if test='by == null'>PGRM_FILE_NM</if>
|
||||
<include refid="utility.paging-suffix"/></sql>
|
||||
|
||||
<select id="getProgramList" parameterType="map" resultType="dataobject">/* 프로그램 목록 조회(program.getProgramList) */
|
||||
<include refid="selectPrograms"/></select>
|
||||
|
||||
<select id="getPrograms" parameterType="map" resultMap="programRow">/* 프로그램 가져오기(program.getPrograms) */
|
||||
<include refid="selectPrograms"/></select>
|
||||
|
||||
<insert id="insertProgram" parameterType="cokr.xit.base.menu.Program">/* 프로그램 등록(program.insertProgram) */
|
||||
INSERT INTO TB_PROGRAM (
|
||||
PGRM_FILE_NM
|
||||
, PGRM_FILE_PATH
|
||||
, PGRM_NM
|
||||
, DSCRP
|
||||
, URL
|
||||
) VALUES (
|
||||
#{filename}
|
||||
, #{location}
|
||||
, #{name}
|
||||
, #{description}
|
||||
, #{url}
|
||||
)</insert>
|
||||
|
||||
<update id="updateProgram" parameterType="cokr.xit.base.menu.Program">/* 프로그램 수정(program.updateProgram) */
|
||||
UPDATE TB_PROGRAM SET
|
||||
PGRM_FILE_PATH = #{location}
|
||||
, PGRM_NM = #{name}
|
||||
, DSCRP = #{description}
|
||||
, URL = #{url}
|
||||
WHERE PGRM_FILE_NM = #{filename}</update>
|
||||
|
||||
<delete id="removePrograms" parameterType="map">/* 프로그램 삭제(program.removePrograms) */
|
||||
DELETE FROM TB_PROGRAM
|
||||
WHERE PGRM_FILE_NM IN (<foreach collection="filenames" item="filename" separator=",">#{filename}</foreach>)</delete>
|
||||
|
||||
<delete id="clearPrograms" parameterType="map">/* 프로그램 비우기(program.clearPrograms) */
|
||||
DELETE FROM TB_PROGRAM
|
||||
WHERE PGRM_FILE_NM NOT IN (SELECT PGRM_FILE_NM FROM TB_MENU)</delete>
|
||||
|
||||
<sql id="selectRequests">
|
||||
SELECT A.*
|
||||
FROM TB_PGRM_CHNG_REQ A
|
||||
<where>
|
||||
<if test='fromReqDate != null'>REQ_DT >= #{fromReqDate}</if>
|
||||
<if test='toReqDate != null'>REQ_DT <= #{toReqDate}</if>
|
||||
<if test="by != null and term != null">${by} LIKE CONCAT('%', #{term}, '%')</if>
|
||||
<if test='filenames != null'>PGRM_FILE_NAME IN (<foreach collection="filenames" item="filename" separator=",">#{filename}</foreach>)</if>
|
||||
<if test='reqIDs != null'>REQ_ID IN (<foreach collection="reqIDs" item="reqID" separator=",">#{reqID}</foreach>)</if>
|
||||
</where>
|
||||
ORDER BY PGRM_FILE_NM,<if test='by != null'>${by}</if><if test='by == null'>REQ_ID DESC</if></sql>
|
||||
|
||||
<select id="getRequestList" parameterType="map" resultType="dataobject">/* 변경요청 목록 조회(program.getRequestList) */
|
||||
<include refid="selectRequests" /></select>
|
||||
|
||||
<select id="getRequests" parameterType="map" resultType="dataobject">/* 프로그램별 변경요청 목록 조회(program.getRequests) */
|
||||
<include refid="selectRequests" /></select>
|
||||
|
||||
<insert id="insertRequest" parameterType="cokr.xit.base.menu.ChangeRequest">/* 프로그램 변경요청 등록(program.insertRequest) */
|
||||
INSERT INTO TB_PGRM_CHNG_REQ (
|
||||
PGRM_FILE_NM
|
||||
, REQ_ID
|
||||
, SUBJECT
|
||||
, REQ_USER
|
||||
, REQ_DT
|
||||
, REQ_CNTNT
|
||||
, PRSC_USER
|
||||
, PRCS_DT
|
||||
, PRCS_CNTNT
|
||||
, PRCS_STATUS
|
||||
) VALUES (
|
||||
#{filename}
|
||||
, #{id}
|
||||
, #{subject}
|
||||
, #{requestorID}
|
||||
, #{requestDate}
|
||||
, #{requestDetail}
|
||||
, #{processorID}
|
||||
, #{processDate}
|
||||
, #{processDetail}
|
||||
, #{status}
|
||||
)</insert>
|
||||
|
||||
<update id="updateRequest" parameterType="cokr.xit.base.menu.ChangeRequest">/* 프로그램 변경요청 수정(program.updateRequest) */
|
||||
UPDATE TB_PGRM_CHNG_REQ SET
|
||||
SUBJECT = #{subject}
|
||||
, REQ_USER = #{requestorID}
|
||||
, REQ_DT = #{requestDate}
|
||||
, REQ_CNTNT = #{requestDetail}
|
||||
, PRSC_USER = #{processorID}
|
||||
, PRCS_DT = #{processDate}
|
||||
, PRCS_CNTNT = #{processDetail}
|
||||
WHERE PGRM_FILE_NM = #{filename}
|
||||
AND REQ_ID = #{id}</update>
|
||||
|
||||
<update id="setRequestStatus" parameterType="map">/* 프로그램 변경요청 상태 변경(program.setRequestStatus) */
|
||||
UPDATE TB_PGRM_CHNG_REQ SET
|
||||
PRCS_STATUS = #{status}
|
||||
WHERE PGRM_FILE_NM = #{filename}
|
||||
AND REQ_ID = #{id}</update>
|
||||
|
||||
</mapper>
|
@ -0,0 +1,13 @@
|
||||
<?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="cokr.xit.foundation.test.TestMapper">
|
||||
|
||||
<insert id="insert" parameterType="map">${sql}</insert>
|
||||
|
||||
<update id="update" parameterType="map">${sql}</update>
|
||||
|
||||
<delete id="delete" parameterType="map">${sql}</delete>
|
||||
|
||||
<update id="commit">COMMIT</update>
|
||||
|
||||
</mapper>
|
@ -0,0 +1,35 @@
|
||||
<?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="utility">
|
||||
|
||||
<!-- For Maria DB -->
|
||||
<sql id="paging-prefix"><if test="fetchSize != null and fetchSize > 0">
|
||||
SELECT QROWS.* FROM (
|
||||
SELECT ROW_NUMBER() OVER(<include refid="utility.sortBy" />) ROW_NUM
|
||||
, COUNT(*) OVER() TOT_CNT, QBODY.*
|
||||
FROM (</if></sql>
|
||||
|
||||
<sql id="paging-suffix"><if test="fetchSize != null and fetchSize > 0"> ) QBODY
|
||||
) QROWS
|
||||
WHERE ROW_NUM BETWEEN ((#{pageNum} - 1) * #{fetchSize}) + 1 AND (#{pageNum} * #{fetchSize})</if></sql>
|
||||
|
||||
<select id="foundRows" resultType="dataobject">/* 전체 결과수 가져오기(utility.foundRows) */
|
||||
SELECT FOUND_ROWS() TOT_CNT</select>
|
||||
|
||||
<sql id="sortBy"><if test="orderBy != null and orderBy != ''">ORDER BY ${orderBy}</if></sql>
|
||||
|
||||
<sql id="orderBy"><if test="fetchSize == null or fetchSize < 1"><include refid="utility.sortBy" /></if></sql>
|
||||
|
||||
<sql id="now">DATE_FORMAT(CURRENT_TIMESTAMP(), '%Y%m%d%H%i%s')</sql>
|
||||
|
||||
<sql id="selectNow">SELECT<include refid="utility.now" />NOW</sql>
|
||||
|
||||
<sql id="today">DATE_FORMAT(CURRENT_DATE, '%Y%m%d')</sql>
|
||||
|
||||
<sql id="selectToday">SELECT<include refid="utility.today" />TODAY</sql>
|
||||
|
||||
<sql id="thisDay">IFNULL(#{thisDay},<include refid="utility.today" />)</sql>
|
||||
|
||||
<sql id="selectThisDay">SELECT<include refid="utility.thisDay" />THIS_DAY</sql>
|
||||
|
||||
</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>
|
||||
|
||||
<settings>
|
||||
<setting name="mapUnderscoreToCamelCase" value="false"/>
|
||||
<setting name="cacheEnabled" value="false" />
|
||||
<setting name="jdbcTypeForNull" value="NULL" />
|
||||
<setting name="callSettersOnNulls" value="true"/>
|
||||
</settings>
|
||||
|
||||
<typeAliases>
|
||||
<typeAlias alias="egovMap" type="org.egovframe.rte.psl.dataaccess.util.EgovMap"/>
|
||||
<typeAlias alias="dataobject" type="cokr.xit.foundation.data.DataObject"/>
|
||||
</typeAliases>
|
||||
|
||||
<typeHandlers>
|
||||
<typeHandler handler="cokr.xit.foundation.data.RowValueHandler" javaType="java.lang.Object"/>
|
||||
</typeHandlers>
|
||||
|
||||
<plugins>
|
||||
<plugin interceptor="cokr.xit.foundation.data.paging.PagingSupport" />
|
||||
</plugins>
|
||||
|
||||
</configuration>
|
@ -0,0 +1,82 @@
|
||||
<%@ page language="java" pageEncoding="UTF-8" isELIgnored="false" session="false"%>
|
||||
<%@ include file="/WEB-INF/jsp/include/taglib.jsp"%>
|
||||
<%@ page import="java.util.HashMap, javax.servlet.http.HttpServletRequest, cokr.xit.foundation.data.Convert" %>
|
||||
<%! private static final HashMap<String, String> titles = new HashMap<>();
|
||||
|
||||
static {
|
||||
titles.put("404", "Page Not Found");
|
||||
titles.put("sessionExpired", "Session Expired");
|
||||
titles.put("invalidSession", "Invalid Session");
|
||||
titles.put("accessDenied", "Access Denied");
|
||||
titles.put("500", "Server Error");
|
||||
}
|
||||
|
||||
private static void setTitle(HttpServletRequest hreq) {
|
||||
String status = Convert.toString(hreq.getAttribute("status"));
|
||||
if (status == "")
|
||||
status = "500";
|
||||
String title = titles.get(status);
|
||||
if (title == null)
|
||||
title = titles.get("500");
|
||||
hreq.setAttribute("title", title);
|
||||
}
|
||||
%>
|
||||
<% setTitle(request); %>
|
||||
<c:if test="${json}"><%
|
||||
response.setContentType("application/json; charset=UTF-8");
|
||||
String stacktrace = (String)request.getAttribute("stacktrace");
|
||||
request.setAttribute("stacktrace", Convert.rntq(stacktrace));
|
||||
%>{
|
||||
"path": "${path}",
|
||||
"failed": true,
|
||||
"status": "${status}",
|
||||
"title": "${title}",
|
||||
"message": "${message}",
|
||||
"description": "${description}",
|
||||
"stacktrace": "${stacktrace}"
|
||||
}</c:if>
|
||||
<c:if test="${!json}"><%@ include file="/WEB-INF/jsp/include/taglib.jsp"%>
|
||||
<jsp:include page="/WEB-INF/jsp/include/head.jsp" />
|
||||
<style>
|
||||
.misc-wrapper {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
min-height: calc(100vh - (1.625rem * 2));
|
||||
text-align: center;
|
||||
}
|
||||
</style>
|
||||
<body>
|
||||
<!-- Content -->
|
||||
|
||||
<!-- Error -->
|
||||
<div class="container-xxl container-p-y">
|
||||
<div class="misc-wrapper">
|
||||
<h2 class="mb-2 mx-2">${title} :(</h2>
|
||||
<p class="mb-4 mx-2">죄송합니다. 😖</p>
|
||||
<p class="mb-4 mx-2">${message}</p>
|
||||
<a onclick="wctx.home();" class="btn btn-primary" href="javascript:void(0);">처음으로 돌아가기</a>
|
||||
<a onclick="history.back();" class="btn btn-primary mt-2" href="javascript:void(0);" autofocus>이전으로 돌아가기</a>
|
||||
<div class="mt-3">
|
||||
<img
|
||||
src="<c:url value="/resources/img/illustrations/page-misc-error-light.png"/>"
|
||||
alt="page-misc-error-light"
|
||||
width="500"
|
||||
class="img-fluid"
|
||||
data-app-dark-img="illustrations/page-misc-error-dark.png"
|
||||
data-app-light-img="illustrations/page-misc-error-light.png"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /Error -->
|
||||
|
||||
<!-- / Content -->
|
||||
|
||||
<jsp:include page="/WEB-INF/jsp/include/tail.jsp" />
|
||||
<script>
|
||||
${functions}
|
||||
</script>
|
||||
</body>
|
||||
</html></c:if>
|
@ -0,0 +1,35 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false" session="false"%>
|
||||
<%@ include file="/WEB-INF/jsp/include/taglib.jsp"%>
|
||||
<!-- Footer -->
|
||||
<footer class="content-footer footer bg-footer-theme">
|
||||
<div class="container-xxl d-flex flex-wrap justify-content-between py-0 flex-md-row flex-column">
|
||||
<div class="mb-2 mb-md-0">
|
||||
©
|
||||
<span id="footerYear"></span>
|
||||
<script>
|
||||
document.getElementById("footerYear").innerText = new Date().getFullYear();
|
||||
</script>
|
||||
, made with XIT Base by
|
||||
<a href="http://xit.co.kr" target="_blank" class="footer-link fw-bolder">(주)엑스아이티</a>
|
||||
</div>
|
||||
<%--div>
|
||||
<a href="https://themeselection.com/license/" class="footer-link me-4" target="_blank">License</a>
|
||||
<a href="https://themeselection.com/" target="_blank" class="footer-link me-4">More Themes</a>
|
||||
|
||||
<a
|
||||
href="https://demos.themeselection.com/sneat-bootstrap-html-admin-template/documentation/"
|
||||
target="_blank"
|
||||
class="footer-link me-4"
|
||||
>Documentation</a
|
||||
>
|
||||
|
||||
<a
|
||||
href="https://themeselection.com/support/"
|
||||
target="_blank"
|
||||
class="footer-link d-none d-sm-inline-block"
|
||||
>Support</a
|
||||
>
|
||||
</div--%>
|
||||
</div>
|
||||
</footer>
|
||||
<!-- / Footer -->
|
@ -0,0 +1,473 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false" session="false"%>
|
||||
<%@ include file="/WEB-INF/jsp/include/taglib.jsp"%>
|
||||
|
||||
<div class="wrapper-dashboard">
|
||||
<div class="card dashboard-total">
|
||||
<div class="card-body row">
|
||||
<div class="col px-4 card-separator d-flex flex-column align-items-center">
|
||||
<p class="mb-1">2/10</p>
|
||||
<i class="svg-cctv-fixed w-px-30 d-block" title="고정형CCTV"></i>
|
||||
</div>
|
||||
<div class="col px-4 card-separator d-flex flex-column align-items-center">
|
||||
<p class="mb-1">2/3</p>
|
||||
<i class="svg-crackdown-road w-px-30 d-block" title="도보단속"></i>
|
||||
</div>
|
||||
<div class="col px-4 card-separator d-flex flex-column align-items-center">
|
||||
<p class="mb-1">2/3</p>
|
||||
<i class="svg-cctv-drive w-px-30 d-block" title="이동형CCTV"></i>
|
||||
</div>
|
||||
<div class="col px-4 d-flex flex-column align-items-center">
|
||||
<p class="mb-1">10/10</p>
|
||||
<i class="svg-crackdown-minwon w-px-30 d-block" title="민원(즉시단속)"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-footer ms-auto">
|
||||
단속관리 바로가기 >
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card dashboard-total">
|
||||
<div class="card-body row">
|
||||
<div class="col px-4 card-separator d-flex flex-column align-items-center">
|
||||
<p class="mb-1">2/10</p>
|
||||
<i class="svg-target-lvy w-px-30 d-block" title="등록대상"></i>
|
||||
</div>
|
||||
<div class="col px-4 d-flex flex-column align-items-center">
|
||||
<p class="mb-1">2/3</p>
|
||||
<i class="svg-target-transfer w-px-30 d-block" title="이첩대상"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-footer ms-auto">
|
||||
부과관리 바로가기 >
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card dashboard-total">
|
||||
<div class="card-body row">
|
||||
<div class="col px-4 card-separator d-flex flex-column align-items-center">
|
||||
<p class="mb-1">2/10</p>
|
||||
<i class="svg-sendstat-guide w-px-30 d-block" title="계도장 발송현황"></i>
|
||||
</div>
|
||||
<div class="col px-4 card-separator d-flex flex-column align-items-center">
|
||||
<p class="mb-1">2/3</p>
|
||||
<i class="svg-sendstat-before w-px-30 d-block" title="사전통보 발송현황"></i>
|
||||
</div>
|
||||
<div class="col px-4 d-flex flex-column align-items-center">
|
||||
<p class="mb-1">2/3</p>
|
||||
<i class="svg-sendstat-nop w-px-30 d-block" title="고지서 발송현황"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-footer ms-auto">
|
||||
발송관리 바로가기 >
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card dashboard-total">
|
||||
<div class="card-body row">
|
||||
<div class="col px-4 card-separator d-flex flex-column align-items-center">
|
||||
<p class="mb-1">2/10</p>
|
||||
<i class="svg-opn-rcp w-px-30 d-block" title="접수"></i>
|
||||
</div>
|
||||
<div class="col px-4 card-separator d-flex flex-column align-items-center">
|
||||
<p class="mb-1">2/3</p>
|
||||
<i class="svg-opn-decision w-px-30 d-block" title="수용/미수용"></i>
|
||||
</div>
|
||||
<div class="col px-4 d-flex flex-column align-items-center">
|
||||
<p class="mb-1">2/3</p>
|
||||
<i class="svg-opn-selfdrop w-px-30 d-block" title="자진취하"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-footer ms-auto">
|
||||
의견진술관리 바로가기 >
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="wrapper-dashboard">
|
||||
<div class="card dashboard-chart">
|
||||
<div class="card-header d-flex align-items-center justify-content-between">
|
||||
<h5 class="card-title m-0 me-2">단속 자료 통계(유형별)</h5>
|
||||
<div>건수(최근 n일)</div>
|
||||
</div>
|
||||
<div class="card-body d-flex justify-content-center" id="lineChartCardBody">
|
||||
<canvas id="lineChart" class="chartjs" data-height="500" style="max-height: 300px;"></canvas>
|
||||
</div>
|
||||
<div class="card-footer ms-auto">
|
||||
통계현황 바로가기 >
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card dashboard-chart">
|
||||
<div class="card-header d-flex align-items-center justify-content-between">
|
||||
<h5 class="card-title m-0 me-2">단속통계</h5>
|
||||
<div>처리유형별(일별)</div>
|
||||
</div>
|
||||
<div class="card-body d-flex justify-content-center" id="doughnutChart1CardBody">
|
||||
<canvas id="doughnutChart1" class="chartjs" data-height="350" style="max-height: 300px;"></canvas>
|
||||
</div>
|
||||
<div class="card-footer ms-auto">
|
||||
통계현황 바로가기 >
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card dashboard-chart">
|
||||
<div class="card-header d-flex align-items-center justify-content-between">
|
||||
<h5 class="card-title m-0 me-2">발송통계</h5>
|
||||
<div>발송유형별(일별)</div>
|
||||
</div>
|
||||
<div class="card-body d-flex justify-content-center" id="doughnutChart2CardBody">
|
||||
<canvas id="doughnutChart2" class="chartjs" data-height="350" style="max-height: 300px;"></canvas>
|
||||
</div>
|
||||
<div class="card-footer ms-auto">
|
||||
통계현황 바로가기 >
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card dashboard-chart">
|
||||
<div class="card-header d-flex align-items-center justify-content-between">
|
||||
<h5 class="card-title m-0 me-2">의견진술통계</h5>
|
||||
<div>처리유형별(일별)</div>
|
||||
</div>
|
||||
<div class="card-body d-flex justify-content-center" id="doughnutChart3CardBody">
|
||||
<canvas id="doughnutChart3" class="chartjs" data-height="350" style="max-height: 300px;"></canvas>
|
||||
</div>
|
||||
<div class="card-footer ms-auto">
|
||||
통계현황 바로가기 >
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<c:set var="dashboardScript" scope="request">
|
||||
|
||||
var falseLineChart = `<svg xmlns="http://www.w3.org/2000/svg"
|
||||
height="250" viewBox="0 0 24 24" style="fill: rgba(0, 0, 0, 1);transform: ;msFilter:;">
|
||||
<path class="skeleton" d="M3 3v17a1 1 0 0 0 1 1h17v-2H5V3H3z"></path>
|
||||
<path class="skeleton" d="M15.293 14.707a.999.999 0 0 0 1.414 0l5-5-1.414-1.414L16 12.586l-2.293-2.293a.999.999 0 0 0-1.414 0l-5 5 1.414 1.414L13 12.414l2.293 2.293z"></path>
|
||||
</svg>`;
|
||||
|
||||
var falseDoughnutChart = `<svg xmlns="http://www.w3.org/2000/svg"
|
||||
height="250" viewBox="0 0 24 24" style="fill: rgba(0, 0, 0, 1);transform: ;msFilter:;">
|
||||
<path class="skeleton" d="M13 6c2.507.423 4.577 2.493 5 5h4c-.471-4.717-4.283-8.529-9-9v4z"></path>
|
||||
<path class="skeleton" d="M18 13c-.478 2.833-2.982 4.949-5.949 4.949-3.309 0-6-2.691-6-6C6.051 8.982 8.167 6.478 11 6V2c-5.046.504-8.949 4.773-8.949 9.949 0 5.514 4.486 10 10 10 5.176 0 9.445-3.903 9.949-8.949h-4z"></path>
|
||||
</svg>`;
|
||||
|
||||
fnMakeSkeleton();
|
||||
sleep(3000).then(() => fnLoadStatisticsData());
|
||||
|
||||
|
||||
//지연
|
||||
function sleep(ms) {
|
||||
return new Promise((r) => setTimeout(r, ms));
|
||||
}
|
||||
|
||||
//데이터 로딩 전 이미지 표시
|
||||
function fnMakeSkeleton(){
|
||||
|
||||
$("#lineChart").hide();
|
||||
$("#doughnutChart1").hide();
|
||||
$("#doughnutChart2").hide();
|
||||
$("#doughnutChart3").hide();
|
||||
|
||||
$("#lineChartCardBody").append(falseLineChart);
|
||||
$("#doughnutChart1CardBody").append(falseDoughnutChart);
|
||||
$("#doughnutChart2CardBody").append(falseDoughnutChart);
|
||||
$("#doughnutChart3CardBody").append(falseDoughnutChart);
|
||||
}
|
||||
|
||||
//통계 데이터 조회
|
||||
function fnLoadStatisticsData(){
|
||||
|
||||
//TODO : ajax
|
||||
|
||||
var data = {};
|
||||
fnRenderDashboardContents(data);
|
||||
}
|
||||
|
||||
//콘텐츠(차트) 표시
|
||||
function fnRenderDashboardContents(data){
|
||||
$("#lineChartCardBody svg").remove();
|
||||
$("#doughnutChart1CardBody svg").remove();
|
||||
$("#doughnutChart2CardBody svg").remove();
|
||||
$("#doughnutChart3CardBody svg").remove();
|
||||
|
||||
$("#lineChart").show();
|
||||
$("#doughnutChart1").show();
|
||||
$("#doughnutChart2").show();
|
||||
$("#doughnutChart3").show();
|
||||
|
||||
// Color Variables
|
||||
const yellowColor = '#ffe800';
|
||||
let borderColor, gridColor, tickColor;
|
||||
|
||||
borderColor = '#f0f0f0';
|
||||
gridColor = '#f0f0f0';
|
||||
tickColor = 'rgba(0, 0, 0, 0.75)'; // x & y axis tick color
|
||||
|
||||
const lineChart = document.getElementById('lineChart');
|
||||
if (lineChart) {
|
||||
const lineChartVar = new Chart(lineChart, {
|
||||
type: 'line',
|
||||
data: {
|
||||
labels: [0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140],
|
||||
datasets: [
|
||||
{
|
||||
data: [80, 150, 180, 270, 210, 160, 160, 202, 265, 210, 270, 255, 290, 360, 375],
|
||||
label: '고정형',
|
||||
borderColor: config.colors.danger,
|
||||
tension: 0.5,
|
||||
pointStyle: 'circle',
|
||||
backgroundColor: config.colors.danger,
|
||||
fill: false,
|
||||
pointRadius: 1,
|
||||
pointHoverRadius: 5,
|
||||
pointHoverBorderWidth: 5,
|
||||
pointBorderColor: 'transparent',
|
||||
pointHoverBorderColor: config.colors.cardColor,
|
||||
pointHoverBackgroundColor: config.colors.danger
|
||||
},
|
||||
{
|
||||
data: [80, 125, 105, 130, 215, 195, 140, 160, 230, 300, 220, 170, 210, 200, 280],
|
||||
label: '도보',
|
||||
borderColor: config.colors.primary,
|
||||
tension: 0.5,
|
||||
pointStyle: 'circle',
|
||||
backgroundColor: config.colors.primary,
|
||||
fill: false,
|
||||
pointRadius: 1,
|
||||
pointHoverRadius: 5,
|
||||
pointHoverBorderWidth: 5,
|
||||
pointBorderColor: 'transparent',
|
||||
pointHoverBorderColor: config.colors.cardColor,
|
||||
pointHoverBackgroundColor: config.colors.primary
|
||||
},
|
||||
{
|
||||
data: [80, 99, 82, 90, 115, 115, 74, 75, 130, 155, 125, 90, 140, 130, 180],
|
||||
label: '민원',
|
||||
borderColor: yellowColor,
|
||||
tension: 0.5,
|
||||
pointStyle: 'circle',
|
||||
backgroundColor: yellowColor,
|
||||
fill: false,
|
||||
pointRadius: 1,
|
||||
pointHoverRadius: 5,
|
||||
pointHoverBorderWidth: 5,
|
||||
pointBorderColor: 'transparent',
|
||||
pointHoverBorderColor: config.colors.cardColor,
|
||||
pointHoverBackgroundColor: yellowColor
|
||||
}
|
||||
]
|
||||
},
|
||||
options: {
|
||||
responsive: true,
|
||||
maintainAspectRatio: false,
|
||||
scales: {
|
||||
x: {
|
||||
grid: {
|
||||
color: borderColor,
|
||||
drawBorder: false,
|
||||
borderColor: borderColor
|
||||
},
|
||||
ticks: {
|
||||
color: "black"
|
||||
}
|
||||
},
|
||||
y: {
|
||||
scaleLabel: {
|
||||
display: true
|
||||
},
|
||||
min: 0,
|
||||
max: 400,
|
||||
ticks: {
|
||||
color: "black",
|
||||
stepSize: 100
|
||||
},
|
||||
grid: {
|
||||
color: borderColor,
|
||||
drawBorder: false,
|
||||
borderColor: borderColor
|
||||
}
|
||||
}
|
||||
},
|
||||
plugins: {
|
||||
tooltip: {
|
||||
rtl: true,
|
||||
backgroundColor: config.colors.cardColor,
|
||||
titleColor: config.colors.headingColor,
|
||||
bodyColor: config.colors.bodyColor,
|
||||
borderWidth: 1,
|
||||
borderColor: borderColor
|
||||
},
|
||||
legend: {
|
||||
position: 'left',
|
||||
align: 'stretch',
|
||||
rtl: true,
|
||||
labels: {
|
||||
usePointStyle: true,
|
||||
padding: 6,
|
||||
boxWidth: 12,
|
||||
boxHeight: 30,
|
||||
color: "black"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
// Color Variables
|
||||
const cyanColor = '#28dac6',
|
||||
orangeLightColor = '#FDAC34';
|
||||
let cardColor, headingColor, labelColor, legendColor;
|
||||
|
||||
cardColor = config.colors.cardColor;
|
||||
headingColor = config.colors.headingColor;
|
||||
labelColor = config.colors.textMuted;
|
||||
legendColor = config.colors.bodyColor;
|
||||
|
||||
const doughnutChart1 = document.getElementById('doughnutChart1');
|
||||
if (doughnutChart1) {
|
||||
const doughnutChartVar = new Chart(doughnutChart1, {
|
||||
type: 'doughnut',
|
||||
data: {
|
||||
labels: ['단속', '계고', '서손'],
|
||||
datasets: [
|
||||
{
|
||||
data: [10, 10, 80],
|
||||
backgroundColor: [cyanColor, orangeLightColor, config.colors.primary],
|
||||
borderWidth: 0,
|
||||
pointStyle: 'rectRounded'
|
||||
}
|
||||
]
|
||||
},
|
||||
options: {
|
||||
responsive: true,
|
||||
animation: {
|
||||
duration: 500
|
||||
},
|
||||
cutout: '68%',
|
||||
plugins: {
|
||||
legend: {
|
||||
display: true,
|
||||
position : 'left'
|
||||
},
|
||||
tooltip: {
|
||||
callbacks: {
|
||||
label: function (context) {
|
||||
const label = context.label || '';
|
||||
const value = context.parsed;
|
||||
const output = ' ' + label + ' : ' + value + ' %';
|
||||
return output;
|
||||
}
|
||||
},
|
||||
// Updated default tooltip UI
|
||||
rtl: true,
|
||||
backgroundColor: cardColor,
|
||||
titleColor: headingColor,
|
||||
bodyColor: legendColor,
|
||||
borderWidth: 1,
|
||||
borderColor: borderColor
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
const doughnutChart2 = document.getElementById('doughnutChart2');
|
||||
if (doughnutChart2) {
|
||||
const doughnutChartVar = new Chart(doughnutChart2, {
|
||||
type: 'doughnut',
|
||||
data: {
|
||||
labels: ['계고장', '사전통보', '고지서'],
|
||||
datasets: [
|
||||
{
|
||||
data: [10, 10, 80],
|
||||
backgroundColor: [cyanColor, orangeLightColor, config.colors.primary],
|
||||
borderWidth: 0,
|
||||
pointStyle: 'rectRounded'
|
||||
}
|
||||
]
|
||||
},
|
||||
options: {
|
||||
responsive: true,
|
||||
animation: {
|
||||
duration: 500
|
||||
},
|
||||
cutout: '68%',
|
||||
plugins: {
|
||||
legend: {
|
||||
display: true,
|
||||
position : 'left'
|
||||
},
|
||||
tooltip: {
|
||||
callbacks: {
|
||||
label: function (context) {
|
||||
const label = context.label || '';
|
||||
const value = context.parsed;
|
||||
const output = ' ' + label + ' : ' + value + ' %';
|
||||
return output;
|
||||
}
|
||||
},
|
||||
// Updated default tooltip UI
|
||||
rtl: true,
|
||||
backgroundColor: cardColor,
|
||||
titleColor: headingColor,
|
||||
bodyColor: legendColor,
|
||||
borderWidth: 1,
|
||||
borderColor: borderColor
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
const doughnutChart3 = document.getElementById('doughnutChart3');
|
||||
if (doughnutChart3) {
|
||||
const doughnutChartVar = new Chart(doughnutChart3, {
|
||||
type: 'doughnut',
|
||||
data: {
|
||||
labels: ['수용', '미수용', '자진취하'],
|
||||
datasets: [
|
||||
{
|
||||
data: [10, 10, 80],
|
||||
backgroundColor: [cyanColor, orangeLightColor, config.colors.primary],
|
||||
borderWidth: 0,
|
||||
pointStyle: 'rectRounded'
|
||||
}
|
||||
]
|
||||
},
|
||||
options: {
|
||||
responsive: true,
|
||||
animation: {
|
||||
duration: 500
|
||||
},
|
||||
cutout: '68%',
|
||||
plugins: {
|
||||
legend: {
|
||||
display: true,
|
||||
position : 'left'
|
||||
},
|
||||
tooltip: {
|
||||
callbacks: {
|
||||
label: function (context) {
|
||||
const label = context.label || '';
|
||||
const value = context.parsed;
|
||||
const output = ' ' + label + ' : ' + value + ' %';
|
||||
return output;
|
||||
}
|
||||
},
|
||||
// Updated default tooltip UI
|
||||
rtl: true,
|
||||
backgroundColor: cardColor,
|
||||
titleColor: headingColor,
|
||||
bodyColor: legendColor,
|
||||
borderWidth: 1,
|
||||
borderColor: borderColor
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
</c:set>
|
@ -0,0 +1,41 @@
|
||||
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false" session="false"%>
|
||||
<%@ include file="/WEB-INF/jsp/include/taglib.jsp"%>
|
||||
<!DOCTYPE html>
|
||||
<html
|
||||
lang="kr"
|
||||
class="light-style layout-navbar-fixed layout-menu-fixed "
|
||||
dir="ltr"
|
||||
data-theme="theme-default"
|
||||
data-assets-path="<c:url value="/resources/"/>"
|
||||
data-template="vertical-menu-template-starter">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>과태료통합관리시스템</title>
|
||||
|
||||
<!-- Favicon -->
|
||||
<link rel="icon" type="image/x-icon" href="<c:url value="/resources/image/favicon.ico"/>" />
|
||||
|
||||
<!-- Fonts -->
|
||||
<link rel="stylesheet" href="<c:url value="/resources/font/publicsans/fontface.css"/>" />
|
||||
|
||||
<!-- Icons. Uncomment required icon fonts -->
|
||||
<link rel="stylesheet" href="<c:url value="/resources/3rd-party/sneat/fonts/boxicons.css"/>" />
|
||||
<link rel="stylesheet" href="<c:url value="/resources/3rd-party/sneat/fonts/fontawesome.css"/>" />
|
||||
<link rel="stylesheet" href="<c:url value="/resources/3rd-party/sneat/fonts/flag-icons.css"/>" />
|
||||
<link rel="stylesheet" href="<c:url value="/resources/css/fims/framework/common/xit-icon.css"/>" />
|
||||
<!-- Core CSS -->
|
||||
<link rel="stylesheet" href="<c:url value="/resources/css/fims/framework/common/xit-core.css"/>" />
|
||||
<link rel="stylesheet" href="<c:url value="/resources/3rd-party/sneat/css/theme-default.css"/>" />
|
||||
<link rel="stylesheet" href="<c:url value="/resources/3rd-party/sneat/css/docs.css"/>" />
|
||||
<link rel="stylesheet" href="<c:url value="/resources/css/fims/framework/common/xit-core-extend.css"/>" />
|
||||
|
||||
<!-- Vendors CSS -->
|
||||
<link rel="stylesheet" href="<c:url value="/resources/3rd-party/sneat/libs/perfect-scrollbar/perfect-scrollbar.css"/>" />
|
||||
<link rel="stylesheet" href="<c:url value="/resources/css/styles.css"/>" />
|
||||
|
||||
<link rel="stylesheet" href="<c:url value="/resources/css/fims/framework/common/common.css"/>"/>
|
||||
<link rel="stylesheet" href="<c:url value="/resources/lib/fims/framework/jquery-ui/1.13.2/themes/redmond/jquery-ui.css"/>" />
|
||||
<link rel="stylesheet" href="<c:url value="/resources/lib/fims/framework/datepicker/datepicker.css"/>" />
|
||||
|
||||
</head>
|
||||
|
@ -0,0 +1,4 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false" session="false"
|
||||
%><%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"
|
||||
%><%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"
|
||||
%><%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
@ -0,0 +1,105 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false" session="false"%>
|
||||
<%@ include file="/WEB-INF/jsp/include/taglib.jsp"%>
|
||||
<div class="spinner-border spinner-border-lg text-primary wait" role="status">
|
||||
<span class="visually-hidden">Loading...</span>
|
||||
</div>
|
||||
<!-- Helpers -->
|
||||
<script src="<c:url value="/resources/3rd-party/sneat/js/helpers.js"/>"></script>
|
||||
|
||||
<!--! Template customizer & Theme config files MUST be included after core stylesheets and helpers.js in the <head> section -->
|
||||
<!--? Template customizer: To hide customizer set displayCustomizer value false in config.js. -->
|
||||
<%-- <script src="<c:url value="/resources/3rd-party/sneat/js/template-customizer.js"/>"></script> --%>
|
||||
<%--? Config: Mandatory theme config file contain global vars & default theme options, Set your preferred theme option in this file. -->
|
||||
<script src="../../assets/js/config.js"></script--%>
|
||||
<script src="<c:url value='/resources/3rd-party/sneat/js/config.js'/>"></script>
|
||||
|
||||
<!-- Core JS -->
|
||||
<!-- build:js assets/vendor/js/core.js -->
|
||||
<script src="<c:url value="/resources/3rd-party/sneat/libs/jquery/jquery.js"/>"></script>
|
||||
<script src="<c:url value="/resources/3rd-party/sneat/libs/popper/popper.js"/>"></script>
|
||||
<script src="<c:url value="/resources/3rd-party/sneat/js/bootstrap.js"/>"></script>
|
||||
<script src="<c:url value="/resources/3rd-party/sneat/libs/perfect-scrollbar/perfect-scrollbar.js"/>"></script>
|
||||
<script src="<c:url value="/resources/3rd-party/sneat/libs/hammer/hammer.js"/>"></script>
|
||||
<script src="<c:url value="/resources/3rd-party/sneat/libs/i18n/i18n.js"/>"></script>
|
||||
<script src="<c:url value="/resources/3rd-party/sneat/js/menu.js"/>"></script>
|
||||
<script src="<c:url value="/resources/3rd-party/sneat/libs/jstree/jstree.js"/>"></script>
|
||||
<script src="<c:url value="/resources/3rd-party/jstree/jstree-support.js"/>"></script>
|
||||
<script src="<c:url value='/resources/3rd-party/sneat/libs/chartjs/chartjs.js'/>"></script>
|
||||
<script src="<c:url value="/resources/lib/fims/framework/jquery-ui/1.13.2/jquery-ui.js?${ver}"/>"></script>
|
||||
|
||||
<!-- base -->
|
||||
<script src="<c:url value="/resources/js/base/base.js?${ver}"/>"></script>
|
||||
<script src="<c:url value="/resources/js/base/base-fims.js?${ver}"/>"></script>
|
||||
<script src="<c:url value="/resources/js/base/dataset.js?${ver}"/>"></script>
|
||||
<script src="<c:url value="/resources/js/base/upload-support.js?${ver}"/>"></script>
|
||||
<script src="<c:url value="/resources/js/base/code.js"/>?${ver}"></script>
|
||||
<script src="<c:url value="/resources/js/base/code-support.js?${ver}"/>"></script>
|
||||
<script src="<c:url value="/resources/js/base/menu.js"/>?${ver}"></script>
|
||||
<script src="<c:url value="/resources/js/base/menu-support.js?${ver}"/>"></script>
|
||||
<script src="<c:url value="/resources/js/base/menu-support-fims.js?${ver}"/>"></script>
|
||||
<script src="<c:url value="/resources/js/base/actionGroup.js?${ver}"/>"></script>
|
||||
<script src="<c:url value="/resources/js/base/user.js?${ver}"/>"></script>
|
||||
<script src="<c:url value="/resources/js/base/authority.js?${ver}"/>"></script>
|
||||
|
||||
<!-- vaildation 관련 유틸 -->
|
||||
<script src="<c:url value="/resources/js/fims/framework/cmm/cmmUtil.js?${ver}"/>"></script>
|
||||
<!-- 날짜 관련 유틸 -->
|
||||
<script src="<c:url value="/resources/js/fims/framework/cmm/cmmDateUtil.js?${ver}"/>"></script>
|
||||
<!-- 업무별 기능 유틸 -->
|
||||
<script src="<c:url value="/resources/js/fims/framework/cmm/taskUtil.js?${ver}"/>"></script>
|
||||
<!-- 데이트픽커 -->
|
||||
<script src="<c:url value="/resources/lib/fims/framework/datepicker/datepicker.js?${ver}"/>"></script>
|
||||
<!-- 초기화 유틸 -->
|
||||
<script src="<c:url value="/resources/js/fims/framework/cmm/initAfterPageLoad.js?${ver}"/>"></script>
|
||||
<!-- 검색 유틸 -->
|
||||
<script src="<c:url value="/resources/js/fims/framework/cmm/searchUtil.js?${ver}"/>"></script>
|
||||
<!-- 그리드 열 너비 유틸 -->
|
||||
<script src="<c:url value="/resources/js/fims/framework/cmm/downsize.js?${ver}"/>"></script>
|
||||
<!-- 단축키 설정 -->
|
||||
<script src="<c:url value="/resources/js/fims/framework/cmm/shortcutKey.js?${ver}"/>"></script>
|
||||
|
||||
<!-- endbuild -->
|
||||
<c:set var="functions" scope="request">
|
||||
wctx.path = "${pageContext.request.contextPath}";
|
||||
wctx.version = "${ver}";
|
||||
wctx.trace = ${!production};
|
||||
wctx.csrf = {
|
||||
header:"${_csrf.headerName}",
|
||||
token:"${_csrf.token}"
|
||||
};
|
||||
dialog.title = "XIT Base";
|
||||
|
||||
<c:if test="${currentUser.authenticated}">
|
||||
function logout() {
|
||||
dialog.alert({
|
||||
content:"로그아웃 하시겠습니까?",
|
||||
onOK:function(){
|
||||
var form = $("<form action=\"<c:url value='/logout.do'/>\", method=\"POST\">");
|
||||
$("<input name=\"${_csrf.parameterName}\" value=\"${_csrf.token}\" type=\"hidden\">").appendTo(form);
|
||||
form.appendTo("body").submit();
|
||||
}
|
||||
});
|
||||
}</c:if>
|
||||
|
||||
<c:if test="${currentUser.hasAuthorities('ROLE_ADMIN')}">
|
||||
async function selectURL(multiple) {
|
||||
return new Promise(function(resolve, reject) {
|
||||
ajax.get({
|
||||
url:wctx.url("/urls.do"),
|
||||
data:{multiple:multiple},
|
||||
success: resp => {
|
||||
dialog.open({
|
||||
title:"URL 선택",
|
||||
content:resp,
|
||||
getData:() => getSelectedURL(),
|
||||
onOK:selected => {
|
||||
resolve(selected);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
</c:if>
|
||||
|
||||
</c:set>
|
@ -0,0 +1,255 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false" session="false"%>
|
||||
<%@ include file="/WEB-INF/jsp/include/taglib.jsp"%>
|
||||
<!-- Navbar -->
|
||||
<nav class="layout-navbar container-xxl navbar navbar-expand-xl navbar-detached align-items-center bg-navbar-theme"
|
||||
id="layout-navbar" style="min-width:1500px;flex-wrap:nowrap;margin-top:0px;height:4.5rem"
|
||||
>
|
||||
<div class="layout-menu-toggle navbar-nav align-items-xl-center me-3 me-xl-0 d-xl-none">
|
||||
<a class="nav-item nav-link px-0 me-xl-4" href="javascript:void(0)">
|
||||
<i class="bx bx-menu bx-sm"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="navbar-nav-right d-flex align-items-center" id="navbar-collapse">
|
||||
<!-- Search -->
|
||||
<div class="navbar-nav align-items-center">
|
||||
<div class="nav-item navbar-search-wrapper mb-0">
|
||||
<a class="nav-item nav-link search-toggler px-0" href="javascript:void(0);">
|
||||
<span id="pageTitle--top" class="fw-bold" style="font-size:x-large;"></span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /Search -->
|
||||
<div class="ms-1 me-1" style="min-width: max-content;">
|
||||
<select id="by--top" class="form-select" title="검색구분">
|
||||
<option value="vhrno">차량번호</option>
|
||||
<option value="rtpyrNm">납부자명</option>
|
||||
<option value="rtpyrNo">납부자번호</option>
|
||||
<option value="cvlcptAplcntNm">신고인명</option>
|
||||
</select>
|
||||
<input type="text" id="term--top" class="form-control" title="검색어" />
|
||||
<button type="button" id="fastSearch--top" class="btn btn-outline-dark bg-orange" title="통합조회">
|
||||
<i class="bx bx-search"></i>통합조회
|
||||
</button>
|
||||
</div>
|
||||
<div class="me-1" style="min-width: max-content;">
|
||||
<div class="form-check-inline custom-option custom-option-basic" style="background-color: #d9dee3">
|
||||
<label for="securityMode--top" class="form-check-label custom-option-content">
|
||||
<input type="checkbox" id="securityMode--top" name="securityMode" class="form-check-input" value="Y" />
|
||||
보안모드
|
||||
</label>
|
||||
</div>
|
||||
<button type="button" class="btn btn-outline-dark">
|
||||
종합민원관리
|
||||
</button>
|
||||
<button type="button" class="btn btn-outline-dark">
|
||||
일정관리
|
||||
</button>
|
||||
<button type="button" class="btn btn-outline-dark">
|
||||
공지사항
|
||||
</button>
|
||||
<button type="button" id="btnDownloadMenual--top" class="btn btn-primary"
|
||||
>사용자 메뉴얼
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<ul class="navbar-nav flex-row align-items-center">
|
||||
|
||||
<!-- Style Switcher -->
|
||||
<li class="nav-item me-2 me-xl-0">
|
||||
<a class="nav-link style-switcher-toggle hide-arrow" href="javascript:void(0);">
|
||||
<i class="bx bx-sm"></i>
|
||||
</a>
|
||||
</li>
|
||||
<!--/ Style Switcher -->
|
||||
|
||||
|
||||
<!-- User -->
|
||||
<li class="nav-item navbar-dropdown dropdown-user dropdown">
|
||||
<a href="javascript:void(0);" data-bs-toggle="dropdown"
|
||||
class="d-flex align-items-center nav-link dropdown-toggle hide-arrow">
|
||||
<div class="avatar d-flex">
|
||||
<img src="<c:url value="/resources/image/user-circle-solid-24.png"/>" alt
|
||||
class="w-px-40 h-auto rounded-circle" />
|
||||
<div class="d-flex" style="flex-flow:column">
|
||||
<span class="fw-semibold">${currentUser.name}</span>
|
||||
<small class="text-muted">${currentUser.account}</small>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
<ul class="dropdown-menu dropdown-menu-end">
|
||||
<li>
|
||||
<a class="dropdown-item" href="#">
|
||||
<div class="d-flex">
|
||||
<div class="flex-shrink-0 me-3">
|
||||
<div class="avatar avatar-online">
|
||||
<img src="<c:url value="/resources/image/user-circle-solid-24.png"/>" alt class="w-px-40 h-auto rounded-circle" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex-grow-1">
|
||||
<span class="fw-semibold d-block">${currentUser.name}</span>
|
||||
<small class="text-muted">${currentUser.account}</small>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<div class="dropdown-divider"></div>
|
||||
</li>
|
||||
<li>
|
||||
<a class="dropdown-item" href="#">
|
||||
<i class="bx bx-user me-2"></i>
|
||||
<span class="align-middle">계정 정보 수정</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="dropdown-item" href="#">
|
||||
<i class="bx bx-cog me-2"></i>
|
||||
<span class="align-middle">
|
||||
설정
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<div class="d-flex align-items-center" style="flex-flow:column">
|
||||
<span>
|
||||
<input type='radio' id='taskSeCd1--top' name='taskSeCd' value='PVS' title="주정차" />
|
||||
<label for="taskSeCd1--top">주정차</label>
|
||||
</span>
|
||||
<sapn>
|
||||
<input type='radio' id='taskSeCd2--top' name='taskSeCd' value='BPV' title="전용차로" />
|
||||
<label for="taskSeCd2--top">전용차로</label>
|
||||
</sapn>
|
||||
<sapn>
|
||||
<input type='radio' id='taskSeCd3--top' name='taskSeCd' value='DPV' title="장애인" />
|
||||
<label for="taskSeCd3--top">장애인</label>
|
||||
</sapn>
|
||||
<sapn>
|
||||
<input type='radio' id='taskSeCd4--top' name='taskSeCd' value='ECA' title="전기차" />
|
||||
<label for="taskSeCd4--top">전기차</label>
|
||||
</sapn>
|
||||
<sapn>
|
||||
<input type='radio' id='taskSeCd5--top' name='taskSeCd' value='TPV' title="밤샘주차" />
|
||||
<label for="taskSeCd5--top">밤샘주차</label>
|
||||
</sapn>
|
||||
<sapn>
|
||||
<input type='radio' id='taskSeCd6--top' name='taskSeCd' value='AAA' title="미세먼지" />
|
||||
<label for="taskSeCd6--top">미세먼지</label>
|
||||
</sapn>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="dropdown-divider"></div>
|
||||
</li>
|
||||
<li>
|
||||
<a class="dropdown-item" href="#" onclick="showHelp();">
|
||||
<i class="bx bx-support me-2"></i>
|
||||
<span class="align-middle">Help</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<div class="dropdown-divider"></div>
|
||||
</li>
|
||||
<li onclick="logout();">
|
||||
<a class="dropdown-item">
|
||||
<i class="bx bx-power-off me-2"></i>
|
||||
<span class="align-middle">로그아웃</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<!--/ User -->
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</nav>
|
||||
|
||||
<c:set var="topScript" scope="request">
|
||||
function showHelp(){
|
||||
dialog.alert({
|
||||
content: '070-4490-74XX',
|
||||
timeout: 0
|
||||
});
|
||||
}
|
||||
|
||||
/*
|
||||
* 보안모드 토글 처리
|
||||
*/
|
||||
function fn_securityModeToggle(flag, elementId){
|
||||
|
||||
var executionArea;
|
||||
if(elementId){
|
||||
executionArea = $("#"+elementId);
|
||||
} else {
|
||||
executionArea = $(document);
|
||||
}
|
||||
|
||||
var targets = executionArea.find("input.privacy");
|
||||
for(let i=0; i< targets.length; i++){
|
||||
let originId = targets[i].id;
|
||||
let originValue= targets[i].value;
|
||||
let maskingValue = originValue.replace(/[0-9a-zA-Z]/g, "*");
|
||||
document.getElementById("mask-"+originId).value = maskingValue;
|
||||
}
|
||||
|
||||
if(flag){ //개인정보 숨김
|
||||
|
||||
//입력상자
|
||||
$("input.privacy").attr("hidden","hidden");
|
||||
$("input.privacy-mask").removeAttr("hidden");
|
||||
|
||||
//그리드
|
||||
$("th.privacy").attr("hidden","hidden");
|
||||
$("td.privacy").attr("hidden","hidden");
|
||||
$("th.privacy-mask").removeAttr("hidden");
|
||||
$("td.privacy-mask").removeAttr("hidden");
|
||||
|
||||
} else { //개인정보 표시
|
||||
|
||||
//입력상자
|
||||
$("input.privacy").removeAttr("hidden");
|
||||
$("input.privacy-mask").attr("hidden","hidden");
|
||||
|
||||
$("th.privacy").removeAttr("hidden");
|
||||
$("td.privacy").removeAttr("hidden");
|
||||
$("th.privacy-mask").attr("hidden","hidden");
|
||||
$("td.privacy-mask").attr("hidden","hidden");
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/*--------------------- 사용자 메뉴얼 클릭 이벤트 ---------------------*/
|
||||
$("#btnDownloadMenual--top").on( "click", function() {
|
||||
|
||||
ajax.get({
|
||||
url : wctx.url("/file/downloadMenual.do"),
|
||||
data : { },
|
||||
xhrFields:{ responseType: 'blob' },
|
||||
success : (resp) => {
|
||||
var fileName = "메뉴얼.pptx";
|
||||
|
||||
var URL = window.URL || window.webkitURL;
|
||||
var downloadUrl = URL.createObjectURL(resp);
|
||||
|
||||
var a = document.createElement("a");
|
||||
a.href = downloadUrl;
|
||||
a.download = fileName;
|
||||
document.body.appendChild(a);
|
||||
a.click();
|
||||
document.body.removeChild(a);
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
/*--------------------- 보안모드 체크박스 클릭 이벤트 ---------------------*/
|
||||
$("#securityMode--top").on( "click", function() {
|
||||
if($("#securityMode--top").is(":checked")){
|
||||
fn_securityModeToggle(true);
|
||||
} else {
|
||||
fn_securityModeToggle(false);
|
||||
}
|
||||
});
|
||||
</c:set>
|
||||
|
@ -0,0 +1,32 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false" session="false"%>
|
||||
<%@ include file="/WEB-INF/jsp/include/taglib.jsp"%>
|
||||
<!-- Menu -->
|
||||
<aside id="layout-menu" class="layout-menu menu-vertical menu bg-menu-theme">
|
||||
<div class="app-brand demo">
|
||||
<a href="javascript:wctx.home();" class="app-brand-link">
|
||||
<span class="app-brand-logo demo">
|
||||
<img src="<c:url value='/'/>resources/image/fims/framework/login/mainLogo_01.png" width="36px" height="36px" alt="logo" />
|
||||
</span>
|
||||
<span class="app-brand-text demo menu-text fw-bolder ms-2">과태료통합관리시스템</span>
|
||||
</a>
|
||||
<a href="javascript:void(0);" class="layout-menu-toggle menu-link text-large ms-auto">
|
||||
<i class="bx bx-chevron-left bx-sm align-middle"></i>
|
||||
</a>
|
||||
</div>
|
||||
<div class="menu-inner-shadow"></div>
|
||||
<ul id="menus" class="menu-inner py-1">
|
||||
|
||||
</ul>
|
||||
</aside>
|
||||
<!-- / Menu -->
|
||||
<c:set var="userMenus" scope="request">
|
||||
|
||||
let userMenus = ${userMenus};
|
||||
|
||||
function setUserMenus(menus) {
|
||||
let menuSupport = new FimsMenuSupport("#layout-menu").setMenuInfo(menus).setActive(wctx.current());
|
||||
let currentMenu = menuSupport.getMenu(wctx.current());
|
||||
}
|
||||
|
||||
setUserMenus(userMenus);
|
||||
</c:set>
|
@ -0,0 +1,99 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false" session="false"%>
|
||||
<%@ include file="/WEB-INF/jsp/include/taglib.jsp"%>
|
||||
<jsp:include page="/WEB-INF/jsp/include/head.jsp" />
|
||||
<body>
|
||||
<div class="layout-wrapper layout-content-navbar">
|
||||
<div class="layout-container">
|
||||
<jsp:include page="/WEB-INF/jsp/include/userMenus.jsp" />
|
||||
<div class="layout-page">
|
||||
<jsp:include page="/WEB-INF/jsp/include/top.jsp" />
|
||||
|
||||
<div id="tabsForInnerPage" class="nav-align-top mt-2">
|
||||
<ul class="nav nav-tabs nav-tabs-ifr">
|
||||
<li id="li-dashboard" class="nav-item" role="presentation">
|
||||
<button type="button" data-bs-toggle="tab" data-bs-target="#tab-dashboard"
|
||||
class="nav-link nav-link-closeable active" aria-selected="true" role="tab">
|
||||
대시보드
|
||||
</button>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="innerPageTabContents" class="tab-content">
|
||||
<div id="tab-dashboard" class="tab-pane active show" role="tabpanel">
|
||||
<div id="divdashboard" style="max-height: 800px;overflow-y:auto;">
|
||||
<div class="content-wrapper">
|
||||
<div class="container-xxl flex-grow-1 container-p-y"
|
||||
style="display: flex;flex-flow: column;align-items: center;">
|
||||
<jsp:include page="/WEB-INF/jsp/include/dashboard.jsp" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<jsp:include page="/WEB-INF/jsp/include/tail.jsp" />
|
||||
|
||||
<c:set var="onload">
|
||||
$("#layout-navbar input[name='taskSeCd'][value='DPV']").prop("checked",true);
|
||||
</c:set>
|
||||
|
||||
<script>
|
||||
const FETCH_XXS = 10;
|
||||
const FETCH_XS = 30;
|
||||
const FETCH_SM = 50;
|
||||
const FETCH_MD = 100;
|
||||
const FETCH_LG = 300;
|
||||
const FETCH_XL = 500;
|
||||
const FETCH_XXL = 1000;
|
||||
|
||||
var pageObject = {};
|
||||
pageObject.childReq = [];
|
||||
pageObject.parentRes = [];
|
||||
|
||||
function getBrowserName() {
|
||||
var agent = navigator.userAgent.toUpperCase();
|
||||
if (agent.indexOf('TRIDENT') >= 0) {
|
||||
return 'IE';
|
||||
} else if (agent.indexOf('FIREFOX') >= 0) {
|
||||
return 'FIREFOX';
|
||||
} else if (agent.indexOf('EDG') >= 0) {
|
||||
return 'EDGE';
|
||||
} else if (agent.indexOf('CHROME') >= 0) {
|
||||
return 'CHROME';
|
||||
} else if (agent.indexOf('SAFARI') >= 0) {
|
||||
return 'SAFARI';
|
||||
} else {
|
||||
return '';
|
||||
}
|
||||
}
|
||||
const BROWSER_NAME = getBrowserName();
|
||||
var VERTICAL_SCROLL_HEIGHT = 14;
|
||||
switch(BROWSER_NAME){
|
||||
case "EDGE" :
|
||||
VERTICAL_SCROLL_HEIGHT = 14;
|
||||
break;
|
||||
case "FIREFOX" :
|
||||
VERTICAL_SCROLL_HEIGHT = 15;
|
||||
break;
|
||||
case "CHROME" :
|
||||
VERTICAL_SCROLL_HEIGHT = 15;
|
||||
break;
|
||||
}
|
||||
|
||||
${functions}
|
||||
|
||||
${topScript}
|
||||
|
||||
${userMenus}
|
||||
|
||||
${dashboardScript}
|
||||
|
||||
$(function(){
|
||||
${onload}
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,158 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false" session="false"%>
|
||||
<%@ include file="/WEB-INF/jsp/include/taglib.jsp"%>
|
||||
<!DOCTYPE html>
|
||||
<html
|
||||
lang="kr"
|
||||
class="light-style layout-navbar-fixed layout-menu-fixed "
|
||||
dir="ltr"
|
||||
data-theme="theme-default"
|
||||
data-assets-path="<c:url value="/resources/"/>"
|
||||
data-template="vertical-menu-template-starter">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>과태료통합관리시스템</title>
|
||||
|
||||
<!-- Favicon -->
|
||||
<link rel="icon" type="image/x-icon" href="<c:url value="/resources/image/favicon.ico"/>" />
|
||||
|
||||
<!-- Fonts -->
|
||||
<link rel="stylesheet" href="<c:url value="/resources/font/publicsans/fontface.css"/>" />
|
||||
|
||||
<!-- Icons. Uncomment required icon fonts -->
|
||||
<link rel="stylesheet" href="<c:url value="/resources/3rd-party/sneat/fonts/boxicons.css"/>" />
|
||||
<link rel="stylesheet" href="<c:url value="/resources/3rd-party/sneat/fonts/fontawesome.css"/>" />
|
||||
<link rel="stylesheet" href="<c:url value="/resources/3rd-party/sneat/fonts/flag-icons.css"/>" />
|
||||
<link rel="stylesheet" href="<c:url value="/resources/css/fims/framework/common/xit-icon.css"/>" />
|
||||
<!-- Core CSS -->
|
||||
<link rel="stylesheet" href="<c:url value="/resources/css/fims/framework/common/xit-core.css"/>" />
|
||||
<link rel="stylesheet" href="<c:url value="/resources/3rd-party/sneat/css/theme-default.css"/>" />
|
||||
<link rel="stylesheet" href="<c:url value="/resources/3rd-party/sneat/css/docs.css"/>" />
|
||||
<link rel="stylesheet" href="<c:url value="/resources/css/fims/framework/common/xit-core-extend.css"/>" />
|
||||
|
||||
<!-- Vendors CSS -->
|
||||
<link rel="stylesheet" href="<c:url value="/resources/3rd-party/sneat/libs/perfect-scrollbar/perfect-scrollbar.css"/>" />
|
||||
<link rel="stylesheet" href="<c:url value="/resources/css/styles.css"/>" />
|
||||
|
||||
<link rel="stylesheet" href="<c:url value="/resources/css/fims/framework/common/common.css"/>"/>
|
||||
<link rel="stylesheet" href="<c:url value="/resources/lib/fims/framework/jquery-ui/1.13.2/themes/redmond/jquery-ui.css"/>" />
|
||||
<link rel="stylesheet" href="<c:url value="/resources/lib/fims/framework/datepicker/datepicker.css"/>" />
|
||||
|
||||
|
||||
<link href="<c:url value='/'/>resources/css/fims/framework/oldcommon.css" rel="stylesheet" type="text/css" >
|
||||
<link href="<c:url value='/'/>resources/css/fims/framework/login.css" rel="stylesheet" type="text/css" >
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div class="login_bg">
|
||||
<div class="header_wrap">
|
||||
<h1 class="logo"><img src="<c:url value='/'/>resources/image/fims/framework/login/mainLogo_02.png" alt="Logo Image"></img></h1>
|
||||
</div>
|
||||
<div class="login_text">
|
||||
<p class="main_img"><img src="<c:url value='/'/>resources/image/fims/framework/login/loginDeco_02.png" alt=""></img></p>
|
||||
<form id="formAuthentication" method="post">
|
||||
<div class="input_wrap">
|
||||
<div class="input-group">
|
||||
<select id="institute" name="institute" class="form-select mb-2"
|
||||
style="height:45px;width:100%;max-width:560px;">
|
||||
<option value="4060000">파주시</option>
|
||||
<option value="4050000">용인시</option>
|
||||
<option value="default">기본</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="input-group">
|
||||
<input type="text" id="userId" value="${cookie['userAccount'].getValue()}"
|
||||
required title="계정 입력" class="typeText required form-control inp-long" placeholder="계정" autofocus/>
|
||||
</div>
|
||||
<div class="input-group input-group-merge mt-2">
|
||||
<input type="password" id="password"
|
||||
required title="비밀번호 입력" class="typePassword required form-control inp-long" placeholder="비밀번호" />
|
||||
<span class="input-group-text cursor-pointer"><i class="bx bxs-lock"></i></span>
|
||||
</div>
|
||||
<div class="input_wrap2">
|
||||
<!--
|
||||
<a href="#" onclick="javascript:fn_FindId(); return false;">아이디 찾기</a>
|
||||
<a href="#" onclick="javascript:fn_FindPw(); return false;" class="line">비밀번호 찾기</a>
|
||||
<a href="#" onclick="javascript:fnReg(); return false;" class="line">회원가입</a>
|
||||
-->
|
||||
</div>
|
||||
</div>
|
||||
<input type="hidden" name="message" value="${message}" />
|
||||
<input type="hidden" name="userSe" value="USR"/>
|
||||
<input name="j_username" type="hidden"/>
|
||||
</form>
|
||||
<div class="btn_wrap">
|
||||
<input type="button" onclick="login()" class="typeButton" title="로그인" value="로그인" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<jsp:include page="/WEB-INF/jsp/include/tail.jsp" />
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
${functions}
|
||||
|
||||
function login() {
|
||||
if (!$("#formAuthentication input").validInputs()) return;
|
||||
|
||||
|
||||
|
||||
var params = {
|
||||
account:$("#userId").val(),
|
||||
password:$("#password").val(),
|
||||
institute:$("#institute").val()
|
||||
<%--, rememberCredentials:true--%>
|
||||
};
|
||||
json.post({
|
||||
url:wctx.url("/login.do"),
|
||||
data:params,
|
||||
success:function(resp) {
|
||||
if (resp.authenticated) {
|
||||
if (resp.message)
|
||||
dialog.alert(resp.message);
|
||||
|
||||
wctx.home();
|
||||
} else {
|
||||
dialog.alert({
|
||||
content:resp.reason,
|
||||
onClose:() => $("#userId").focus()
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
$(function(){
|
||||
$("#formAuthentication input").onEnterPress(login);
|
||||
if ($("#userId").val())
|
||||
$("#password").focus();
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 회원가입 팝업
|
||||
*/
|
||||
function fnReg(){
|
||||
window.open(".do", "regAccount", {width: 1100, height:570});
|
||||
}
|
||||
|
||||
/**
|
||||
* 아이디 찾기 팝업
|
||||
*/
|
||||
function fn_FindId(){
|
||||
window.open(".do", "findId", {width: 500, height:300});
|
||||
}
|
||||
|
||||
/**
|
||||
* 비밀번호 찾기 팝업
|
||||
*/
|
||||
function fn_FindPw(){
|
||||
window.open(".do", "findPw", {width: 500, height:330});
|
||||
}
|
||||
|
||||
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,56 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false" session="false"%>
|
||||
<%@ include file="/WEB-INF/jsp/include/taglib.jsp"%>
|
||||
<link rel="stylesheet" href="<c:url value="/resources/3rd-party/sneat/libs/jstree/jstree.css"/>" /--%>
|
||||
<div id="_url-tree" class="main-left d-flex flex-column flex-grow-1">
|
||||
<div class="d-flex justify-content-between" style="padding-top:.5em; padding-bottom:.5em; border-top:1px solid #dfdfdf; border-bottom:1px solid #dfdfdf;">
|
||||
<span>
|
||||
<button id="_urlToggler" onclick="_toggleURLs();" class="btn btn-primary"></button>
|
||||
</span>
|
||||
</div>
|
||||
<div id="_urlTree" style="padding-top:1em; height:37em; overflow:auto;">
|
||||
</div>
|
||||
</div>
|
||||
<script src="<c:url value="/resources/3rd-party/sneat/libs/jstree/jstree.js"/>"></script>
|
||||
<script src="<c:url value="/resources/3rd-party/jstree/jstree-support.js"/>"></script>
|
||||
<script type="text/javascript">
|
||||
var _multiple = ${multiple},
|
||||
_urlSupport = treeSupport({
|
||||
selector:"#_urlTree",
|
||||
trace:wctx.trace,
|
||||
plugins: _multiple ? ["checkbox"] : [],
|
||||
core:{check_callback:true,
|
||||
multiple:_multiple
|
||||
// themes:{name:"proton"}
|
||||
},
|
||||
checkbox:{
|
||||
whole_node:false,
|
||||
tie_selection:false
|
||||
}
|
||||
});
|
||||
|
||||
function getSelectedURL() {
|
||||
var selected = _multiple ? _urlSupport.checkedNodes() : _urlSupport.selectedNodes();
|
||||
if (selected.length < 1)
|
||||
return dialog.alert("URL을 선택하십시오.");
|
||||
|
||||
if (_multiple)
|
||||
return selected;
|
||||
else
|
||||
return selected[0];
|
||||
}
|
||||
|
||||
function _toggleURLs() {
|
||||
$("#_urlToggler").text(_urlSupport.toggleFolding() == "collapsed" ? "+ 펼치기" : "- 닫기");
|
||||
}
|
||||
|
||||
var urls = ${urls};
|
||||
|
||||
_urlSupport.setData(treeHtml(urls, {
|
||||
id:function(e){return e.url;},
|
||||
text:function(e){
|
||||
return e.name == e.url ? e.name : e.name + " (" + e.url + ")";
|
||||
}
|
||||
}));
|
||||
|
||||
$("#_urlToggler").text(_urlSupport._folding == "collapsed" ? "+ 펼치기" : "- 닫기");
|
||||
</script>
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue