최초커밋(일부)

main
이범준 11 months ago
parent 2860660357
commit 877325edac

@ -0,0 +1,760 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>fis</groupId>
<artifactId>fis</artifactId>
<packaging>war</packaging>
<version>1.0.0</version>
<name>fis</name>
<url>http://www.egovframe.go.kr</url>
<properties>
<spring.maven.artifact.version>4.3.16.RELEASE</spring.maven.artifact.version>
<egovframework.rte.version>3.8.0</egovframework.rte.version>
</properties>
<repositories>
<repository>
<id>mvn2</id>
<url>http://repo1.maven.org/maven2/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
<repository>
<id>egovframe</id>
<url>http://www.egovframe.go.kr/maven/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>egovframe2</id>
<url>http://maven.egovframe.kr:8080/maven/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
<dependencies>
<!-- 표준프레임워크 실행환경 -->
<dependency>
<groupId>egovframework.rte</groupId>
<artifactId>egovframework.rte.ptl.mvc</artifactId>
<version>${egovframework.rte.version}</version>
<exclusions>
<exclusion>
<artifactId>commons-logging</artifactId>
<groupId>commons-logging</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>egovframework.rte</groupId>
<artifactId>egovframework.rte.psl.dataaccess</artifactId>
<version>${egovframework.rte.version}</version>
</dependency>
<dependency>
<groupId>egovframework.rte</groupId>
<artifactId>egovframework.rte.fdl.idgnr</artifactId>
<version>${egovframework.rte.version}</version>
</dependency>
<dependency>
<groupId>egovframework.rte</groupId>
<artifactId>egovframework.rte.fdl.property</artifactId>
<version>${egovframework.rte.version}</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<scope>provided</scope>
<version>2.5</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>1.1.2</version>
</dependency>
<dependency>
<groupId>org.antlr</groupId>
<artifactId>antlr</artifactId>
<version>3.5</version>
</dependency>
<dependency>
<groupId>org.hsqldb</groupId>
<artifactId>hsqldb</artifactId>
<version>2.3.2</version>
</dependency>
<!-- 라이브러리 추가 -->
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.4</version>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.9</version>
</dependency>
<dependency>
<groupId>cglib</groupId>
<artifactId>cglib</artifactId>
<version>3.1</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-compress</artifactId>
<version>1.8.1</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-collections4</artifactId>
<version>4.0</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.2</version>
</dependency>
<!-- Apache HttpClient Mime -->
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpmime</artifactId>
<version>4.5.2</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<!-- tibero driver -->
<dependency>
<groupId>com.tmax.tibero</groupId>
<artifactId>tibero-jdbc</artifactId>
<version>6.0</version>
<scope>system</scope>
<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/tibero6-jdbc-14.jar</systemPath>
</dependency>
<!-- Hikari Connection Pool Test -->
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
<version>3.2.0</version>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.1</version>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.2</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.ibm.icu</groupId>
<artifactId>icu4j</artifactId>
<version>53.1</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.4</version>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.0.4</version>
</dependency>
<dependency>
<groupId>dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>1.6.1</version>
</dependency>
<dependency>
<groupId>com.googlecode.json-simple</groupId>
<artifactId>json-simple</artifactId>
<version>1.1</version>
</dependency>
<dependency>
<groupId>net.sf.opencsv</groupId>
<artifactId>opencsv</artifactId>
<version>1.8</version>
</dependency>
<dependency>
<groupId>org.apache.xmlgraphics</groupId>
<artifactId>fop</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.12</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.12</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-excelant</artifactId>
<version>3.12</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-scratchpad</artifactId>
<version>3.12</version>
</dependency>
<dependency>
<groupId>org.apache.xmlgraphics</groupId>
<artifactId>batik-all</artifactId>
<version>1.7</version>
<scope>system</scope>
<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/batik-all-1.7.1-20150510.jar</systemPath>
</dependency>
<dependency>
<groupId>batik</groupId>
<artifactId>pdf-transcoder</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/pdf-transcoder-1.0beta2.jar</systemPath>
</dependency>
<dependency>
<groupId>xalan</groupId>
<artifactId>xalan</artifactId>
<version>2.7.0</version>
</dependency>
<dependency>
<groupId>xmlbeans</groupId>
<artifactId>xbean_xpath</artifactId>
<version>2.4.0</version>
<scope>system</scope>
<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/xmlbeans_xpath-2.4.0.jar</systemPath>
</dependency>
<dependency>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
<version>2.7.1</version>
</dependency>
<dependency>
<groupId>xml-apis</groupId>
<artifactId>xml-apis</artifactId>
<version>1.4.01</version>
</dependency>
<dependency>
<groupId>org.apache.xmlbeans</groupId>
<artifactId>xmlbeans</artifactId>
<version>2.3.0</version>
</dependency>
<dependency>
<groupId>org.apache.xmlbeans</groupId>
<artifactId>xmlbeans-qname</artifactId>
<version>2.3.0</version>
</dependency>
<dependency>
<groupId>org.apache.xmlbeans</groupId>
<artifactId>xmlbeans-xmlpublic</artifactId>
<version>2.5.0</version>
</dependency>
<!-- WebSquare 구동시 오류가 많이 발생함. 해당 라이브러리는 WAS 공통 라이브러리 등. 반드시 확인 -->
<dependency>
<groupId>xbean</groupId>
<artifactId>xbean</artifactId>
<version>2.5</version>
<scope>system</scope>
<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/xbean.jar</systemPath>
</dependency>
<!-- dependency for WebSquare //-->
<dependency>
<groupId>websquare</groupId>
<artifactId>websquare</artifactId>
<version>5.0_3.3643B</version>
<scope>system</scope>
<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/websquare_5.0_3.3487B.20190213.175059_1.5.jar
</systemPath>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.5.1</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>4.3.18.RELEASE</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator-annotation-processor</artifactId>
<version>4.1.0.Final</version>
</dependency>
<!-- 기존 프로젝트에 존재 하지 않음
<dependency>
<groupId>NiceID</groupId>
<artifactId>NiceID</artifactId>
<version>RELEASE</version>
<scope>system</scope>
<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/NiceID.jar</systemPath>
</dependency>
<dependency>
<groupId>NiceID</groupId>
<artifactId>CACheck</artifactId>
<version>RELEASE</version>
<scope>system</scope>
<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/CACheck_custom.jar</systemPath>
</dependency>
<dependency>
<groupId>VNOInterop</groupId>
<artifactId>KISINFO</artifactId>
<version>RELEASE</version>
<scope>system</scope>
<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/VNOInterop_custom.jar</systemPath>
</dependency> -->
<dependency>
<groupId>eu.bitwalker</groupId>
<artifactId>UserAgentUtils</artifactId>
<version>1.21</version>
</dependency>
<!--Clipreport-->
<dependency>
<groupId>com.clipsoft</groupId>
<artifactId>clipreport</artifactId>
<version>4.0-1.0.0.217</version>
<scope>system</scope>
<systemPath>${project.basedir}/src/main/webapp/WEB-INF/lib/ClipReport4.0-1.0.0.217.jar</systemPath>
</dependency>
<dependency>
<groupId>com.clipsoft</groupId>
<artifactId>clipreport-Common</artifactId>
<version>4.0</version>
<scope>system</scope>
<systemPath>${project.basedir}/src/main/webapp/WEB-INF/lib/ClipReport4.0-Common.jar</systemPath>
</dependency>
<!-- https://mvnrepository.com/artifact/javax.media/jai_codec -->
<dependency>
<groupId>javax.media</groupId>
<artifactId>jai_codec</artifactId>
<version>1.1.3</version>
<scope>system</scope>
<systemPath>${project.basedir}/src/main/webapp/WEB-INF/lib/jai_codec-1.1.3.jar</systemPath>
</dependency>
<!-- https://mvnrepository.com/artifact/javax.media/jai_core -->
<dependency>
<groupId>javax.media</groupId>
<artifactId>jai_core</artifactId>
<version>1.1.3</version>
<scope>system</scope>
<systemPath>${project.basedir}/src/main/webapp/WEB-INF/lib/jai_core-1.1.3.jar</systemPath>
</dependency>
<!-- 기존 프로젝트에 존재 하지 않음
<dependency>
<groupId>transkey</groupId>
<artifactId>raonsecure</artifactId>
<version>4-6-12_16_20190419_X_test</version>
<scope>system</scope>
<systemPath>${project.basedir}/src/main/webapp/WEB-INF/lib/transkey-4-6-12_16_20190419_X_test.jar
</systemPath>
</dependency> -->
<!-- https://mvnrepository.com/artifact/com.google.code.findbugs/annotations -->
<dependency>
<groupId>com.google.code.findbugs</groupId>
<artifactId>annotations</artifactId>
<version>3.0.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/log4j/log4j -->
<!-- <dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.14</version>
</dependency> -->
<!-- https://mvnrepository.com/artifact/org.lazyluke/log4jdbc-remix -->
<dependency>
<groupId>org.lazyluke</groupId>
<artifactId>log4jdbc-remix</artifactId>
<version>0.2.7</version>
</dependency>
<!-- 2019.09.11 : log 출력 정보 새로 추가 -->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.12.1</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>2.12.1</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-1.2-api</artifactId>
<version>2.12.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.quartz-scheduler/quartz -->
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>2.3.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/io.netty/netty-all -->
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-all</artifactId>
<version>4.1.32.Final</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework.batch/spring-batch-core -->
<dependency>
<groupId>org.springframework.batch</groupId>
<artifactId>spring-batch-core</artifactId>
<version>4.0.1.RELEASE</version>
</dependency>
<dependency>
<groupId>VNOInterop</groupId>
<artifactId>VNOInterop</artifactId>
<version>1.0.1</version>
<scope>system</scope>
<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/VNOInterop.jar</systemPath>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.axis/axis -->
<dependency>
<groupId>org.apache.axis</groupId>
<artifactId>axis</artifactId>
<version>1.4</version>
</dependency>
<!-- https://mvnrepository.com/artifact/commons-httpclient/commons-httpclient -->
<dependency>
<groupId>commons-httpclient</groupId>
<artifactId>commons-httpclient</artifactId>
<version>3.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.10</version>
<scope>provided</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework.batch/spring-batch-core -->
<dependency>
<groupId>org.springframework.batch</groupId>
<artifactId>spring-batch-core</artifactId>
<version>4.0.1.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework.batch/spring-batch-test -->
<dependency>
<groupId>org.springframework.batch</groupId>
<artifactId>spring-batch-test</artifactId>
<version>4.1.1.RELEASE</version>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/com.jcraft/jsch -->
<dependency>
<groupId>com.jcraft</groupId>
<artifactId>jsch</artifactId>
<version>0.1.54</version>
</dependency>
<!-- https://mvnrepository.com/artifact/me.saro/commons -->
<dependency>
<groupId>me.saro</groupId>
<artifactId>commons</artifactId>
<version>4.0.2</version>
</dependency>
<dependency>
<groupId>hancom_blockchain</groupId>
<artifactId>hancom</artifactId>
<version>1.1.0</version>
<scope>system</scope>
<systemPath>${project.basedir}/src/main/webapp/WEB-INF/lib/hancom_blockchain.jar</systemPath>
</dependency>
<dependency>
<groupId>egovframework.rte</groupId>
<artifactId>egovframework.rte.bat.core</artifactId>
<version>${egovframework.rte.version}</version>
</dependency>
<dependency>
<groupId>gpki</groupId>
<artifactId>gpki</artifactId>
<version>1.5</version>
<scope>system</scope>
<systemPath>${project.basedir}/src/main/webapp/WEB-INF/lib/libgpkiapi_jni_1.5.jar</systemPath>
</dependency>
<!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.5</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.thoughtworks.xstream/xstream -->
<dependency>
<groupId>com.thoughtworks.xstream</groupId>
<artifactId>xstream</artifactId>
<version>1.3</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.jasypt/jasypt -->
<dependency>
<groupId>org.jasypt</groupId>
<artifactId>jasypt</artifactId>
<version>1.9.2</version>
</dependency>
</dependencies>
<build>
<defaultGoal>install</defaultGoal>
<directory>${basedir}/target</directory>
<finalName>${artifactId}-${version}</finalName>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<port>80</port>
<path>/</path>
<systemProperties>
<JAVA_OPTS>-Xms256m -Xmx768m -XX:MaxPermSize=256m</JAVA_OPTS>
</systemProperties>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>hibernate3-maven-plugin</artifactId>
<version>2.1</version>
<configuration>
<components>
<component>
<name>hbm2ddl</name>
<implementation>annotationconfiguration</implementation>
</component>
</components>
</configuration>
<dependencies>
<dependency>
<groupId>org.hsqldb</groupId>
<artifactId>hsqldb</artifactId>
<version>2.3.2</version>
</dependency>
</dependencies>
</plugin>
<!-- EMMA -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>emma-maven-plugin</artifactId>
<version>1.0-alpha-3</version>
</plugin>
<!-- PMD manven plugin -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<version>3.1</version>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<!-- EMMA -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skipTests>true</skipTests>
<forkMode>once</forkMode>
<reportFormat>xml</reportFormat>
<excludes>
<exclude>**/Abstract*.java</exclude>
<exclude>**/*Suite.java</exclude>
</excludes>
<includes>
<include>**/*Test.java</include>
</includes>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>emma-maven-plugin</artifactId>
<inherited>true</inherited>
</plugin>
<!-- JavaDoc -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.9.1</version>
</plugin>
</plugins>
</build>
<reporting>
<outputDirectory>${basedir}/target/site</outputDirectory>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>2.7</version>
<reportSets>
<reportSet>
<id>sunlink</id>
<reports>
<report>javadoc</report>
</reports>
<inherited>true</inherited>
<configuration>
<links>
<link>http://docs.oracle.com/javase/6/docs/api/</link>
</links>
</configuration>
</reportSet>
</reportSets>
</plugin>
<!-- JUnit Test Results & EMMA Coverage Reporting -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>emma-maven-plugin</artifactId>
<inherited>true</inherited>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>surefire-report-maven-plugin</artifactId>
<inherited>true</inherited>
<reportSets>
<reportSet>
<reports>
<report>report-only</report>
</reports>
</reportSet>
</reportSets>
</plugin>
<!-- PMD manven plugin -->
<!--
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<version>3.1</version>
<configuration>
<rulesets>
<ruleset>./Ruleset.xml</ruleset>
</rulesets>
<linkXref>true</linkXref>
<sourceEncoding>${encoding}</sourceEncoding>
<minimumTokens>100</minimumTokens>
<targetJdk>${compileSource}</targetJdk>
</configuration>
<reportSets>
<reportSet>
<reports>
<report>pmd</report>
</reports>
</reportSet>
</reportSets>
</plugin>
-->
<!-- Generating JavaDoc Report -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<minmemory>128m</minmemory>
<maxmemory>512m</maxmemory>
<encoding>${encoding}</encoding>
<docencoding>${encoding}</docencoding>
<charset>${encoding}</charset>
</configuration>
</plugin>
<!-- Generating Java Source in HTML -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jxr-plugin</artifactId>
<configuration>
<inputEncoding>${encoding}</inputEncoding>
<outputEncoding>${encoding}</outputEncoding>
<linkJavadoc>true</linkJavadoc>
<javadocDir>apidocs</javadocDir>
</configuration>
</plugin>
</plugins>
</reporting>
</project>

@ -0,0 +1,3 @@
#\ud30c\uc77c\uacbd\ub85c
Globals.Batch.FullFilePath=C:\\WRM\\batchData\\

@ -0,0 +1,14 @@
#driver=org.mariadb.jdbc.Driver
#url=jdbc:mariadb://127.0.0.1:3306/WRM
#username=APP
#password=APP
db.driver=com.tmax.tibero.jdbc.TbDriver
#db.url=jdbc:tibero:thin:@115.21.123.108:8629:gtpadb
db.url=jdbc:tibero:thin:@115.21.123.118:8629:gtpadevdb
db.userName=dbuser_fis
db.passWord=dbuser_fis
db.initialSize=2
db.maxTotal=2
db.maxIdle=2
db.minIdle=1
db.maxWaitMills=20000

@ -0,0 +1,180 @@
#nice\uc0ac\uc774\ud2b8\ucf54\ub4dc, \ube44\ubc00\ubc88\ud638
Globals.Nice.Sitecode=EQ00
Globals.Nice.Sitepw=76646885
Globals.Nice.ProxyUrl=http://175.193.201.55:10110/fis/rest/api/getNiceCiInfo
#Globals.Nice.ProxyUrl=http://127.0.0.1:10030/fis/rest/api/getNiceCiInfo
Globals.Nice.Token=sha5120e6d1bdf446185e836fd61aa4c645ab0ff4161a4a5919f5d31ea4c2c5ca800bbb5d31f7fbbff2350ebb350f29b5e3ae8cd4a451789823532b8455e7929e578ee
Globals.Nice.ContentType=application/x-www-form-urlencoded;charset=utf-8
#\uc790\ub3d9\ucc28\uad00\ub9ac \uc815\ubcf4\uc2dc\uc2a4\ud15c \uacf5\ud1b5\uc815\ubcf4 Start
#WSDL\uc8fc\uc18c
#\uac1c\ubc1c
Globals.CarBasicInfo.Wsdl.URL.Dev=http://10.98.198.199:9700/lvis/services/WsFrontController
#\uc6b4\uc601
Globals.CarBasicInfo.Wsdl.URL.Real=http://auto.car.go.kr:39700/lvis/services/WsFrontController
#\ub2f4\ub2f9\uc790\uc8fc\ubbfc\ubc88\ud638
Globals.Car.Charger.Ihinum=7505851452285
#\ub2f4\ub2f9\uc790ip\uc5b4\ub4dc\ub808\uc2a4
Globals.Car.ChargercIp.Adres=111.222.333.444
#\ub2f4\ub2f9\uc790\uba85
Globals.Car.Charger.Nm=\ub179\uc0c9\ucc28
#\ub2f4\ub2f9\uc790\uc5f0\ub77d\ucc98
Globals.Car.Charger.Wrc.Telno=02-7458-958
#\uc815\ubcf4\uc2dc\uc2a4\ud15cid
Globals.Car.Info.Sys.Id=11-261
#\uc815\ubcf4\uc2dc\uc2a4\ud15cip
Globals.Car.Info.Sys.Ip=98.42.34.216
#\uc2dc\uad70\uad6c\ucf54\ub4dc
Globals.Car.Sigungu.Code=11000
#\uc11c\ube44\uc2a4id
Globals.Car.Svc.Id=A01
#\uc815\ubcf4\uc2dc\uc2a4\ud15cmac\uc5b4\ub4dc\ub808\uc2a4
Globals.Car.Info.Sys.Macaddress=40A8F03DC2FC
#\uc790\ub3d9\ucc28\uad00\ub9ac \uc815\ubcf4\uc2dc\uc2a4\ud15c \uacf5\ud1b5\uc815\ubcf4 End
#\uc2a4\ub9c8\ud2b8\ud50c\ub7ab\ud3fc AccessToken
Globals.Smart.AccessToken=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiI4Z0dydlVpOUFheDliYUlHVExoXy1hIiwiaWF0IjoxNTU4NDEyOTgzLCJLRVkiOiJiMTI4NWE3MDBjOGU4OGQ2OGQ5OSJ9.bghQ62dTKgo9pYdc-sxw6MXoalGTeiSbxOVKsydfQKk
#\uc2a4\ub9c8\ud2b8\ud50c\ub7ab\ud3fc \uac1c\ubc1cURL
#Globals.Smart.Host=http://192.168.0.41:8888
#\uc2a4\ub9c8\ud2b8\ud50c\ub7ab\ud3fc \uc6b4\uc601URL
Globals.Smart.Host=http://192.168.201.144:8888
#url \ubcc0\uacbd \uc791\uc5c5 -O:\ubcc0\uacbd\uc801\uc6a9, X:\ubbf8\uc0ac\uc6a9, replace:\ub300\uccb4 \uc0ac\uc6a9, \uadf8 \uc678\ub294 url\ubcc0\uacbd \uc5c6\uc774 \uc0ac\uc6a9 \uc911
#\uc7a5\uc560\uc778\ucc28\ub7c9\uc5ec\ubd80-O
Globals.Public.ReductionDisabledCarYnService.Url=http://10.188.225.25:29001/cmc/ynservice/swsdn/ReductionDisabledCarYnService
#\uc800\uacf5\ud574\ucc28\ub7c9\uc5ec\ubd80-O
Globals.Public.LowPollutionCarYnService.Url=http://10.50.3.97/cmc/ynservice/keco/LowPollutionCarYnService
#\uc800\uacf5\ud574\ucc28\ub7c9\uc5ec\ubd80(\ud589\uc548\ubd80\uc6d0\uc7a5)
Globals.Public.PubLowPollutionCarYnService.Url=http://10.188.225.25:29001/rid/ynservice/keco/PubLowPollutionCarYnService
#\uad6d\uac00\uc720\uacf5\uc790\ucc28\ub7c9\uc5ec\ubd80-O
Globals.Public.MeritCarYnService.Url=http://10.188.225.25:29001/cmc/ynservice/mpva/MeritCarYnService
#\uacbd\ucc28\uc5ec\ubd80-O
Globals.Public.ReductionTsCarInfoService.Url=http://10.50.3.97/cmc/infoservice/ts/ReductionTsCarInfoService
#\uc804\uccb4\uc790\ub140\uc218\ud655\uc778URL
Globals.Public.AllChldrnCoCnfirmService.Url=http://10.50.3.97/jmn/infoservice/jumin/AllChldrnCoBirthInfoService
#\uae30\ucd08\uc0dd\ud65c\uc218\uae09\uc790-X
Globals.Public.ReductionBscLivYnService.Url=http://10.50.3.97/rid/infoservice/swsdn/ReductionBscLivYnService
#\uc790\ub3d9\ucc28\uc81c\uc6d0-O
Globals.Public.TsCarRegisterInfoService.Url=http://10.50.3.97/cmc/infoservice/ts/TsCarRegisterInfoService
#\uc7a5\uc560\uc778\uc5ec\ubd80-ReductionDisabledCarYnService replace
Globals.Public.ReductionDisabledYnService.Url=http://10.50.3.97/rid/infoservice/swsdn/ReductionDisabledYnService
#\uad6d\uac00\uc720\uacf5\uc790\uc790\uaca9\uc5ec\ubd80-O
Globals.Public.NaManMeritFamInfoService.Url=http://10.188.225.25:29001/cmc/infoservice/mpva/NaManMeritFamInfoService
#\ucc28\uc0c1\uc704\uc0ac\uc2e4\uc5ec\ubd80-X
Globals.Public.ReductionPoorYnService.Url=http://10.50.3.97/rid/infoservice/swsdn/ReductionPoorYnService
#\uad00\ub0b4\uac70\uc8fc\uc790\uaca9\uc5ec\ubd80
Globals.Public.ResideInsttCnfirmService.Url=http://10.188.225.25:29001/cmc/infoservice/jumin/ResideInsttCnfirmService
#ANPRiMGURL
Globals.Anpr.Img1.Url=http://175.193.201.55:91/anprImages/
Globals.Anpr.Img2.Url=http://175.193.201.56:91/anprImages/
#localServerIP
Globals.local.IP.A=98.42.34.216
Globals.local.IP.B=98.42.34.217
#webIp
Globals.local.WebIP.A=175.193.201.55
Globals.local.WebIP.B=175.193.201.56
Globals.local.WebPorxyIP.A=http://175.193.201.55:10110
Globals.local.WebPorxyIP.B=http://175.193.201.56:10110
Globals.local.WebFISIP.A=http://175.193.201.55:91
#\uc138\uc678\uc218\uc785URL
Globals.Nxrp.Wsdl.Url.Dev=http://98.33.4.167:8082/BugaWebService/BugaWebService?wsdl
Globals.Nxrp.Wsdl.Url.Real=http://98.33.4.164/BugaWebService/BugaWebService?wsdl
Globals.Nxrp.Seizure.Wsdl.Url.Dev=http://98.33.4.167:8082/SntrSeizureInfoWebService/SntrSeizureInfoWebService?wsdl
Globals.Nxrp.Seizure.Wsdl.Url.Real=http://98.33.4.164/SntrSeizureInfoWebService/SntrSeizureInfoWebService?wsdl
Globals.Nxrp.FtpIp=98.33.1.157
Globals.Nxrp.FtpId=sn_green
Globals.Nxrp.FtpPw=tpdhl2023!
Globals.Nxrp.FtpPort=22
Globals.Nxrp.FtpDir=sntr_green
#EtaxUrl
Globals.Etax.Url.Dev=https://tetax2.seoul.go.kr/service/taxpay/sunap_status/
Globals.Etax.Url.Real=https://etax.seoul.go.kr/service/taxpay/sunap_status/
Globals.Etax.AccessKey.Dev=BD63C31E317938B8093C8F9AE60E9556
Globals.Etax.AccessKey.Real=0561E4D7B99F2A98432FD0DA0A2D8623
#SeoulSms
Globals.Seoul.SmsId=greencar
Globals.Seoul.SmsPw=shrtor$9^6
Globals.Seoul.SmsUrl=http://115.84.164.23/SMS/ext_sms_send.do
#\uc774\uadf8\ub9b0URL
Globals.Epost.FtpIp=98.33.1.174
Globals.Epost.FtpId=traffic1
Globals.Epost.FtpPw=ryxhd$%1
Globals.Epost.FtpPort=21
Globals.Epost.FtpDir=/photo/ESB_AGENT/FILE/SEND/CG144523401150/
Globals.Epost.FtpDirDev=/photo/ESB_AGENT/FILE/SEND/imsi/
#\uce74\uce74\uc624\ud1a1 \uc778\uc99d \uc815\ubcf4 Start
#\uc804\uc790\uc11c\uba85\uc694\uccad
#Globals.Kakao.Request.Host=https://gw-cert.kakao.com/api/sign/request/S510
#Globals.Kakao.Request.Host=http://175.193.201.55:10110/api/sign/request/S510
#Globals.Kakao.Request.Host=http://192.168.0.41:20110/api/sign/request/S510
#\uc804\uc790\uc11c\uba85\uc0c1\ud0dc\uc870\ud68c
#Globals.Kakao.Status.Host=https://gw-cert.kakao.com/api/v1/sign/status
#Globals.Kakao.Status.Host=http://175.193.201.55:10110/api/v1/sign/status
#Globals.Kakao.Status.Host=http://192.168.0.41:20110/api/v1/sign/status
#\uc804\uc790\uc11c\uba85\ud1a0\ud070\uc720\ud6a8\uc131\uac80\uc99d
#Globals.Kakao.Token.Host=https://gw-cert.kakao.com/api/sign/token/status
#Globals.Kakao.Token.Host=http://175.193.201.55:10110/api/sign/token/status
#Globals.Kakao.Token.Host=http://192.168.0.41:20110/api/sign/token/status
#Globals.Kakao.ContentType=application/x-www-form-urlencoded;charset=utf-8
#\uce74\uce74\uc624\ud1a1 \uc778\uc99d \uc815\ubcf4 AccessToken \uac1c\ubc1c
#Globals.Kakao.AccessToken=FE6842EA0F6F3D67765AAE3602B7F3F6364CD590C99873961551E3B1EBC0E6E7
#\uce74\uce74\uc624\ud1a1 \uc778\uc99d \uc815\ubcf4 AccessToken \uc6b4\uc601
#Globals.Kakao.AccessToken=D8F83B102D01925F59B0A2408E68AD8E89AC503E3A65BD9D495653C17C86D463
#\uce74\uce74\uc624\ud1a1 \uc778\uc99d \uc815\ubcf4 End
#kt \uc778\uc99d \uc815\ubcf4 Start
#\uc804\uc790\uc11c\uba85\uc694\uccad
#Globals.Kt.Request.Host=http://192.168.0.41:20110/api/mns/req
#Globals.Kt.Request.Host=http://175.193.201.55:10110/api/mns/req
#\ubc1c\uc1a1\uacb0\uacfc\uc774\ub825
#Globals.Kt.Status.Host=http://192.168.0.41:20110/api/mns/rsp
#Globals.Kt.Status.Host=http://175.193.201.55:10110/api/mns/rsp
#\uc804\uc790\uc11c\uba85\ud1a0\ud070\uc720\ud6a8\uc131\uac80\uc99d
#Globals.Kt.Token.Host=http://192.168.0.41:20110/api/mns/token/status
#Globals.Kt.Token.Host=http://175.193.201.55:10110/api/mns/token/status
#Globals.Kt.ContentType=application/json
#kt \uc778\uc99d \uc815\ubcf4 AccessToken \uc6b4\uc601
#Globals.Kt.AccessToken=a128f39a-a273-4b24-8f53-e637361f27da
#kt \uc778\uc99d \uc815\ubcf4 serviceCd \uc6b4\uc601
#Globals.Kt.ServiceCd=11001
#kt \uc778\uc99d \uc815\ubcf4 serviceKey \uc6b4\uc601
#Globals.Kt.ServiceKey=bJCipt45x7
#kt \uc778\uc99d \uc815\ubcf4 BizCd \uc6b4\uc601
#Globals.Kt.BizCd=11001
#kt \uc778\uc99d \uc815\ubcf4 MsgCd \uc6b4\uc601
#Globals.Kt.MsgCd=11000
#\uce74\uce74\uc624\ud1a1 \uc778\uc99d \uc815\ubcf4 End
##############\ud589\uc548\ubd80\uc5f0\uacc4###################
#\uc774\uc6a9\uc2dc\uc2a4\ud15c\ucf54\ub4dc
#Globals.Public.Common.UseSystemCode=ESBTEST
#GPKI \uc778\uc99d\uc11c \uc544\uc774\ub514
#Globals.Public.Common.CertServerId=SVR6113918001
#\uc774\uc6a9\uc790 \ubd80\uc11c\ucf54\ub4dc
#Globals.Public.Common.UserDeptCode=1380000
#\uc774\uc6a9\uc790\uba85
#Globals.Public.Common.UserName=\ud64d\uae38\ub3d9
#10.1.7.118:389 \uc778\uc99d\uc11c\ubc84

@ -0,0 +1,66 @@
#nice\uc0ac\uc774\ud2b8\ucf54\ub4dc, \ube44\ubc00\ubc88\ud638
Globals.Nice.Sitecode=EQ00
Globals.Nice.Sitepw=76646885
Globals.Nice.ProxyUrl=http://175.193.201.56:10110/fis/rest/api/getNiceCiInfo
#Globals.Nice.ProxyUrl=http://127.0.0.1:10030/fis/rest/api/getNiceCiInfo
Globals.Nice.Token=sha5120e6d1bdf446185e836fd61aa4c645ab0ff4161a4a5919f5d31ea4c2c5ca800bbb5d31f7fbbff2350ebb350f29b5e3ae8cd4a451789823532b8455e7929e578ee
Globals.Nice.ContentType=application/x-www-form-urlencoded;charset=utf-8
#\uc790\ub3d9\ucc28\uad00\ub9ac \uc815\ubcf4\uc2dc\uc2a4\ud15c \uacf5\ud1b5\uc815\ubcf4 Start
#WSDL\uc8fc\uc18c
#\uac1c\ubc1c
#Globals.CarBasicInfo.Wsdl.URL=http://10.98.197.103:39700/lvis/services/WsFrontController
#\uc6b4\uc601
Globals.CarBasicInfo.Wsdl.URL=http://auto.car.go.kr:39700/lvis/services/WsFrontController
#\ub2f4\ub2f9\uc790\uc8fc\ubbfc\ubc88\ud638
Globals.Car.Charger.Ihinum=7505851452285
#\ub2f4\ub2f9\uc790ip\uc5b4\ub4dc\ub808\uc2a4
Globals.Car.ChargercIp.Adres=111.222.333.444
#\ub2f4\ub2f9\uc790\uba85
Globals.Car.Charger.Nm=\ub179\uc0c9\ucc28
#\ub2f4\ub2f9\uc790\uc5f0\ub77d\ucc98
Globals.Car.Charger.Wrc.Telno=02-7458-958
#\uc815\ubcf4\uc2dc\uc2a4\ud15cid
Globals.Car.Info.Sys.Id=11-232
#\uc815\ubcf4\uc2dc\uc2a4\ud15cip
Globals.Car.Info.Sys.Ip=98.1.24.61
#\uc2dc\uad70\uad6c\ucf54\ub4dc
Globals.Car.Sigungu.Code=11110
#\uc11c\ube44\uc2a4id
Globals.Car.Svc.Id=A01
#\uc815\ubcf4\uc2dc\uc2a4\ud15cmac\uc5b4\ub4dc\ub808\uc2a4
Globals.Car.Info.Sys.Macaddress = 40A8F03DC2FC
#\uc790\ub3d9\ucc28\uad00\ub9ac \uc815\ubcf4\uc2dc\uc2a4\ud15c \uacf5\ud1b5\uc815\ubcf4 End
#\uce74\uce74\uc624\ud1a1 \uc778\uc99d \uc815\ubcf4 Start
#\uc804\uc790\uc11c\uba85\uc694\uccad
#Globals.Kakao.Request.Host=https://gw-cert.kakao.com/api/sign/request/S510
Globals.Kakao.Request.Host=http://175.193.201.55:10110/api/sign/request/S510
#Globals.Kakao.Request.Host=http://192.168.0.41:20110/api/sign/request/S510
#\uc804\uc790\uc11c\uba85\uc0c1\ud0dc\uc870\ud68c
#Globals.Kakao.Status.Host=https://gw-cert.kakao.com/api/v1/sign/status
Globals.Kakao.Status.Host=http://175.193.201.55:10110/api/v1/sign/status
#Globals.Kakao.Status.Host=http://192.168.0.41:20110/api/v1/sign/status
#\uc804\uc790\uc11c\uba85\ud1a0\ud070\uc720\ud6a8\uc131\uac80\uc99d
#Globals.Kakao.Token.Host=https://gw-cert.kakao.com/api/sign/token/status
Globals.Kakao.Token.Host=http://175.193.201.55:10110/api/sign/token/status
#Globals.Kakao.Token.Host=http://192.168.0.41:20110/api/sign/token/status
Globals.Kakao.ContentType=application/x-www-form-urlencoded;charset=utf-8
#\uce74\uce74\uc624\ud1a1 \uc778\uc99d \uc815\ubcf4 AccessToken \uac1c\ubc1c
#Globals.Kakao.AccessToken=FE6842EA0F6F3D67765AAE3602B7F3F6364CD590C99873961551E3B1EBC0E6E7
#\uce74\uce74\uc624\ud1a1 \uc778\uc99d \uc815\ubcf4 AccessToken \uc6b4\uc601
Globals.Kakao.AccessToken=D8F83B102D01925F59B0A2408E68AD8E89AC503E3A65BD9D495653C17C86D463
#\uce74\uce74\uc624\ud1a1 \uc778\uc99d \uc815\ubcf4 End
#\uc2a4\ub9c8\ud2b8\ud50c\ub7ab\ud3fc AccessToken
Globals.Smart.AccessToken=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiI4Z0dydlVpOUFheDliYUlHVExoXy1hIiwiaWF0IjoxNTU4NDEyOTgzLCJLRVkiOiJiMTI4NWE3MDBjOGU4OGQ2OGQ5OSJ9.bghQ62dTKgo9pYdc-sxw6MXoalGTeiSbxOVKsydfQKk
#35\ubc88\uac1c\ubc1c
#Globals.Smart.AccessToken=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiI4dHpwUktkQlF5WjhNTjVXdFdzcll2IiwiaWF0IjoxNTU5NjMwMjM5LCJLRVkiOiJjNmQ2MjQ2MTI3OTA3MjE2ZmU2MSJ9.XbVTs6hT5LXGd3by64Gy-qf8QsSEGQ8ODODDBJc8ZJA
#\uc2a4\ub9c8\ud2b8\ud50c\ub7ab\ud3fc \uac1c\ubc1cURL
#Globals.Smart.Host=http://192.168.0.41:8888
#\uc2a4\ub9c8\ud2b8\ud50c\ub7ab\ud3fc \uc6b4\uc601URL
Globals.Smart.Host=http://192.168.201.144:8888

@ -0,0 +1,97 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN" "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<!-- Appenders -->
<appender name="console" class="org.apache.log4j.ConsoleAppender">
<param name="Target" value="System.out" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%-5p: %c - %m%n" />
</layout>
</appender>
<!-- LOG LEVEL : TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF -->
<!-- Application Loggers -->
<logger name="com.inswave">
<level value="INFO" />
<appender-ref ref="console" />
</logger>
<!-- 3rdparty Loggers -->
<logger name="org.springframework.core">
<level value="INFO" />
<appender-ref ref="console" />
</logger>
<logger name="org.springframework.beans">
<level value="INFO" />
<appender-ref ref="console" />
</logger>
<logger name="org.springframework.context">
<level value="INFO" />
<appender-ref ref="console" />
</logger>
<logger name="gtpa.fis.batch" additivity="false">
<level value="INFO" />
<appender-ref ref="console" />
</logger>
<logger name="org.quartz" additivity="false">
<level value="WARN" />
<appender-ref ref="console" />
</logger>
<logger name="org.springframework.web">
<level value="INFO" />
<appender-ref ref="console" />
</logger>
<logger name="org.springframework" additivity="false">
<level value="INFO" />
<appender-ref ref="vhclenorecoglog" />
</logger>
<!-- DB Connection Open/Close 정보 로그 기록함 -->
<logger name="jdbc.connection" additivity="false">
<level value="INFO" />
<appender-ref ref="console" />
</logger>
<!-- ResultSet을 제외한 모든 JDBC 호출 정보를 로그를 기록함. 많은 양의 로그가 생성되므로 특별히 JDBC 문제를 추적해야 할 필요가 있는 경우 사용함 -->
<logger name="jdbc.audit" additivity="false">
<level value="WARN" />
<appender-ref ref="console" />
</logger>
<!-- SQL문만을 로그로 남기며 PreparedStatement일 경우 관련된 argument 값으로 대체된 SQL문을 기록함 -->
<logger name="jdbc.sqlonly" additivity="false">
<level value="INFO" />
<appender-ref ref="console" />
</logger>
<!-- SQL문과 해당 SQL을 실행시키는데 소요된 시간 정보(milliseconds)를 기록함 -->
<logger name="jdbc.sqltiming" additivity="false">
<level value="WARN" />
<appender-ref ref="console" />
</logger>
<!-- ResultSet을 포함한 모든 JDBC 호출 정보를 로그함 -->
<logger name="jdbc.resultset" additivity="false">
<level value="WARN" />
<appender-ref ref="console" />
</logger>
<!-- SQL 결과 조회된 데이터를 table 형태로 로그에 기록함 -->
<logger name="jdbc.resultsettable" additivity="false">
<level value="WARN" />
<appender-ref ref="console" />
</logger>
<!-- ROOT -->
<root>
<level value="INFO" />
<appender-ref ref="console" />
</root>
</log4j:configuration>

@ -0,0 +1,38 @@
#============================================================================
#============================================================================
# Configure Main Scheduler Properties
#============================================================================
org.quartz.scheduler.instanceName=RHECMClusteredScheduler
org.quartz.scheduler.instanceId=AUTO
#============================================================================
# Configure ThreadPool
#============================================================================
org.quartz.threadPool.class=org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount=25
org.quartz.threadPool.threadPriority=5
#============================================================================
# Configure JobStore
#============================================================================
org.quartz.jobStore.misfireThreshold=60000
org.quartz.jobStore.class=org.quartz.impl.jdbcjobstore.JobStoreTX
org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.StdJDBCDelegate
org.quartz.jobStore.useProperties=false
org.quartz.jobStore.dataSource=quartzDS
#org.quartz.jobStore.tablePrefix=QRTZ_
org.quartz.jobStore.tablePrefix=QRTZ_
org.quartz.jobStore.isClustered=true
org.quartz.jobStore.clusterCheckinInterval=20000
#============================================================================
# Configure Datasources
#============================================================================
org.quartz.dataSource.quartzDS.jndiURL=java:/comp/env/fis
#org.quartz.dataSource.quartzDS.driver=org.h2.Driver
#org.quartz.dataSource.quartzDS.URL=jdbc:h2:file:~/h2/jumpstart;AUTO_SERVER=TRUE;INIT=RUNSCRIPT FROM 'classpath:/com/inswave/config/quartzSchema.sql'
#org.quartz.dataSource.quartzDS.URL=jdbc:h2:tcp://192.168.0.164:10031/~/sampledb;AUTO_SERVER=TRUE;INIT=RUNSCRIPT FROM 'classpath:/com/inswave/config/quartzSchema.sql'
#org.quartz.dataSource.quartzDS.user=sa
#org.quartz.dataSource.quartzDS.password =
#org.quartz.dataSource.quartzDS.maxConnections=10
#org.quartz.dataSource.quartzDS.validationQuery=select 1

@ -0,0 +1,193 @@
--
-- A HINT SUBMITTED BY A USER: ORACLE DB MUST BE CREATED AS "SHARED" AND THE
-- JOB_QUEUE_PROCESSES PARAMETER MUST BE GREATER THAN 2
-- HOWEVER, THESE SETTINGS ARE PRETTY MUCH STANDARD AFTER ANY
-- ORACLE INSTALL, SO MOST USERS NEED NOT WORRY ABOUT THIS.
--
-- MANY OTHER USERS (INCLUDING THE PRIMARY AUTHOR OF QUARTZ) HAVE HAD SUCCESS
-- RUNING IN DEDICATED MODE, SO ONLY CONSIDER THE ABOVE AS A HINT ;-)
--
DELETE FROM QRTZ_FIRED_TRIGGERS;
DELETE FROM QRTZ_SIMPLE_TRIGGERS;
DELETE FROM QRTZ_SIMPROP_TRIGGERS;
DELETE FROM QRTZ_CRON_TRIGGERS;
DELETE FROM QRTZ_BLOB_TRIGGERS;
DELETE FROM QRTZ_TRIGGERS;
DELETE FROM QRTZ_JOB_DETAILS;
DELETE FROM QRTZ_CALENDARS;
DELETE FROM QRTZ_PAUSED_TRIGGER_GRPS;
DELETE FROM QRTZ_LOCKS;
DELETE FROM QRTZ_SCHEDULER_STATE;
DROP TABLE QRTZ_CALENDARS;
DROP TABLE QRTZ_FIRED_TRIGGERS;
DROP TABLE QRTZ_BLOB_TRIGGERS;
DROP TABLE QRTZ_CRON_TRIGGERS;
DROP TABLE QRTZ_SIMPLE_TRIGGERS;
DROP TABLE QRTZ_SIMPROP_TRIGGERS;
DROP TABLE QRTZ_TRIGGERS;
DROP TABLE QRTZ_JOB_DETAILS;
DROP TABLE QRTZ_PAUSED_TRIGGER_GRPS;
DROP TABLE QRTZ_LOCKS;
DROP TABLE QRTZ_SCHEDULER_STATE;
CREATE TABLE QRTZ_JOB_DETAILS
(
SCHED_NAME VARCHAR2(120) NOT NULL,
JOB_NAME VARCHAR2(200) NOT NULL,
JOB_GROUP VARCHAR2(200) NOT NULL,
DESCRIPTION VARCHAR2(250) NULL,
JOB_CLASS_NAME VARCHAR2(250) NOT NULL,
IS_DURABLE VARCHAR2(1) NOT NULL,
IS_NONCONCURRENT VARCHAR2(1) NOT NULL,
IS_UPDATE_DATA VARCHAR2(1) NOT NULL,
REQUESTS_RECOVERY VARCHAR2(1) NOT NULL,
JOB_DATA BLOB NULL,
CONSTRAINT QRTZ_JOB_DETAILS_PK PRIMARY KEY (SCHED_NAME,JOB_NAME,JOB_GROUP)
);
CREATE TABLE QRTZ_TRIGGERS
(
SCHED_NAME VARCHAR2(120) NOT NULL,
TRIGGER_NAME VARCHAR2(200) NOT NULL,
TRIGGER_GROUP VARCHAR2(200) NOT NULL,
JOB_NAME VARCHAR2(200) NOT NULL,
JOB_GROUP VARCHAR2(200) NOT NULL,
DESCRIPTION VARCHAR2(250) NULL,
NEXT_FIRE_TIME NUMBER(13) NULL,
PREV_FIRE_TIME NUMBER(13) NULL,
PRIORITY NUMBER(13) NULL,
TRIGGER_STATE VARCHAR2(16) NOT NULL,
TRIGGER_TYPE VARCHAR2(8) NOT NULL,
START_TIME NUMBER(13) NOT NULL,
END_TIME NUMBER(13) NULL,
CALENDAR_NAME VARCHAR2(200) NULL,
MISFIRE_INSTR NUMBER(2) NULL,
JOB_DATA BLOB NULL,
CONSTRAINT QRTZ_TRIGGERS_PK PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
CONSTRAINT QRTZ_TRIGGER_TO_JOBS_FK FOREIGN KEY (SCHED_NAME,JOB_NAME,JOB_GROUP)
REFERENCES QRTZ_JOB_DETAILS(SCHED_NAME,JOB_NAME,JOB_GROUP)
);
CREATE TABLE QRTZ_SIMPLE_TRIGGERS
(
SCHED_NAME VARCHAR2(120) NOT NULL,
TRIGGER_NAME VARCHAR2(200) NOT NULL,
TRIGGER_GROUP VARCHAR2(200) NOT NULL,
REPEAT_COUNT NUMBER(7) NOT NULL,
REPEAT_INTERVAL NUMBER(12) NOT NULL,
TIMES_TRIGGERED NUMBER(10) NOT NULL,
CONSTRAINT QRTZ_SIMPLE_TRIG_PK PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
CONSTRAINT QRTZ_SIMPLE_TRIG_TO_TRIG_FK FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
);
CREATE TABLE QRTZ_CRON_TRIGGERS
(
SCHED_NAME VARCHAR2(120) NOT NULL,
TRIGGER_NAME VARCHAR2(200) NOT NULL,
TRIGGER_GROUP VARCHAR2(200) NOT NULL,
CRON_EXPRESSION VARCHAR2(120) NOT NULL,
TIME_ZONE_ID VARCHAR2(80),
CONSTRAINT QRTZ_CRON_TRIG_PK PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
CONSTRAINT QRTZ_CRON_TRIG_TO_TRIG_FK FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
);
CREATE TABLE QRTZ_SIMPROP_TRIGGERS
(
SCHED_NAME VARCHAR2(120) NOT NULL,
TRIGGER_NAME VARCHAR2(200) NOT NULL,
TRIGGER_GROUP VARCHAR2(200) NOT NULL,
STR_PROP_1 VARCHAR2(512) NULL,
STR_PROP_2 VARCHAR2(512) NULL,
STR_PROP_3 VARCHAR2(512) NULL,
INT_PROP_1 NUMBER(10) NULL,
INT_PROP_2 NUMBER(10) NULL,
LONG_PROP_1 NUMBER(13) NULL,
LONG_PROP_2 NUMBER(13) NULL,
DEC_PROP_1 NUMERIC(13,4) NULL,
DEC_PROP_2 NUMERIC(13,4) NULL,
BOOL_PROP_1 VARCHAR2(1) NULL,
BOOL_PROP_2 VARCHAR2(1) NULL,
CONSTRAINT QRTZ_SIMPROP_TRIG_PK PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
CONSTRAINT QRTZ_SIMPROP_TRIG_TO_TRIG_FK FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
);
CREATE TABLE QRTZ_BLOB_TRIGGERS
(
SCHED_NAME VARCHAR2(120) NOT NULL,
TRIGGER_NAME VARCHAR2(200) NOT NULL,
TRIGGER_GROUP VARCHAR2(200) NOT NULL,
BLOB_DATA BLOB NULL,
CONSTRAINT QRTZ_BLOB_TRIG_PK PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
CONSTRAINT QRTZ_BLOB_TRIG_TO_TRIG_FK FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
);
CREATE TABLE QRTZ_CALENDARS
(
SCHED_NAME VARCHAR2(120) NOT NULL,
CALENDAR_NAME VARCHAR2(200) NOT NULL,
CALENDAR BLOB NOT NULL,
CONSTRAINT QRTZ_CALENDARS_PK PRIMARY KEY (SCHED_NAME,CALENDAR_NAME)
);
CREATE TABLE QRTZ_PAUSED_TRIGGER_GRPS
(
SCHED_NAME VARCHAR2(120) NOT NULL,
TRIGGER_GROUP VARCHAR2(200) NOT NULL,
CONSTRAINT QRTZ_PAUSED_TRIG_GRPS_PK PRIMARY KEY (SCHED_NAME,TRIGGER_GROUP)
);
CREATE TABLE QRTZ_FIRED_TRIGGERS
(
SCHED_NAME VARCHAR2(120) NOT NULL,
ENTRY_ID VARCHAR2(95) NOT NULL,
TRIGGER_NAME VARCHAR2(200) NOT NULL,
TRIGGER_GROUP VARCHAR2(200) NOT NULL,
INSTANCE_NAME VARCHAR2(200) NOT NULL,
FIRED_TIME NUMBER(13) NOT NULL,
SCHED_TIME NUMBER(13) NOT NULL,
PRIORITY NUMBER(13) NOT NULL,
STATE VARCHAR2(16) NOT NULL,
JOB_NAME VARCHAR2(200) NULL,
JOB_GROUP VARCHAR2(200) NULL,
IS_NONCONCURRENT VARCHAR2(1) NULL,
REQUESTS_RECOVERY VARCHAR2(1) NULL,
CONSTRAINT QRTZ_FIRED_TRIGGER_PK PRIMARY KEY (SCHED_NAME,ENTRY_ID)
);
CREATE TABLE QRTZ_SCHEDULER_STATE
(
SCHED_NAME VARCHAR2(120) NOT NULL,
INSTANCE_NAME VARCHAR2(200) NOT NULL,
LAST_CHECKIN_TIME NUMBER(13) NOT NULL,
CHECKIN_INTERVAL NUMBER(13) NOT NULL,
CONSTRAINT QRTZ_SCHEDULER_STATE_PK PRIMARY KEY (SCHED_NAME,INSTANCE_NAME)
);
CREATE TABLE QRTZ_LOCKS
(
SCHED_NAME VARCHAR2(120) NOT NULL,
LOCK_NAME VARCHAR2(40) NOT NULL,
CONSTRAINT QRTZ_LOCKS_PK PRIMARY KEY (SCHED_NAME,LOCK_NAME)
);
CREATE INDEX IDX_QRTZ_J_REQ_RECOVERY ON QRTZ_JOB_DETAILS(SCHED_NAME,REQUESTS_RECOVERY);
CREATE INDEX IDX_QRTZ_J_GRP ON QRTZ_JOB_DETAILS(SCHED_NAME,JOB_GROUP);
CREATE INDEX IDX_QRTZ_T_J ON QRTZ_TRIGGERS(SCHED_NAME,JOB_NAME,JOB_GROUP);
CREATE INDEX IDX_QRTZ_T_JG ON QRTZ_TRIGGERS(SCHED_NAME,JOB_GROUP);
CREATE INDEX IDX_QRTZ_T_C ON QRTZ_TRIGGERS(SCHED_NAME,CALENDAR_NAME);
CREATE INDEX IDX_QRTZ_T_G ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_GROUP);
CREATE INDEX IDX_QRTZ_T_STATE ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_STATE);
CREATE INDEX IDX_QRTZ_T_N_STATE ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP,TRIGGER_STATE);
CREATE INDEX IDX_QRTZ_T_N_G_STATE ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_GROUP,TRIGGER_STATE);
CREATE INDEX IDX_QRTZ_T_NEXT_FIRE_TIME ON QRTZ_TRIGGERS(SCHED_NAME,NEXT_FIRE_TIME);
CREATE INDEX IDX_QRTZ_T_NFT_ST ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_STATE,NEXT_FIRE_TIME);
CREATE INDEX IDX_QRTZ_T_NFT_MISFIRE ON QRTZ_TRIGGERS(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME);
CREATE INDEX IDX_QRTZ_T_NFT_ST_MISFIRE ON QRTZ_TRIGGERS(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME,TRIGGER_STATE);
CREATE INDEX IDX_QRTZ_T_NFT_ST_MISFIRE_GRP ON QRTZ_TRIGGERS(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME,TRIGGER_GROUP,TRIGGER_STATE);
CREATE INDEX IDX_QRTZ_FT_TRIG_INST_NAME ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,INSTANCE_NAME);
CREATE INDEX IDX_QRTZ_FT_INST_JOB_REQ_RCVRY ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,INSTANCE_NAME,REQUESTS_RECOVERY);
CREATE INDEX IDX_QRTZ_FT_J_G ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,JOB_NAME,JOB_GROUP);
CREATE INDEX IDX_QRTZ_FT_JG ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,JOB_GROUP);
CREATE INDEX IDX_QRTZ_FT_T_G ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP);
CREATE INDEX IDX_QRTZ_FT_TG ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,TRIGGER_GROUP);

@ -0,0 +1,10 @@
w5xml.login=/cm/main/login.xml
w5xml.defIndex=/cm/main/index_tabControl.xml
w5xml.main.tab=/cm/main/index_tabControl.xml
w5xml.main.win=/cm/main/index_windowContainer.xml
w5xml.auth.check=/cm/main/auth_check.xml
main.setting.default.layout=W
main.setting.default.isUseShortCut=Y
main.setting.code.DB=D
main.setting.code.LS=L
system.admin.id=fisadmin,sysmanager

@ -0,0 +1,97 @@
package com.inswave.interceptor;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
import com.inswave.util.UserInfo;
public class SessionCheckInterceptor extends HandlerInterceptorAdapter {
@Autowired
private UserInfo userInfo;
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
String loginInfo = null;
HttpSession session = request.getSession();
String reqUrl = request.getRequestURI();
String w2xPath = request.getParameter("w2xPath");
boolean result = true;
//System.out.println("reqUrl111111 : " + reqUrl);
try {
/* 공통 추가로 인한 사용자 코드 변경(기존 사용자ID = EMP_CD, 변경된 공통 사용자ID = USER_ID) 2019.10.30 */
//loginInfo = (String) session.getAttribute("EMP_CD");
loginInfo = (String) session.getAttribute("USER_ID");
if (loginInfo != null) {
userInfo.setUserInfo(session);
} else {
if (!isSkipURI(request)) {
if ((w2xPath != null) || (reqUrl.indexOf(".xml") > -1)) {
// 웹스퀘어 화면 호출 시 세션이 종료된 경우, 로그인 페이지로 Redirect 처리한다.
result = false;
response.setContentType("text/xml");
response.setCharacterEncoding("UTF-8");
response.getWriter().write("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
response.getWriter().write("<html xmlns=\"http://www.w3.org/1999/xhtml\" xmlns:ev=\"http://www.w3.org/2001/xml-events\" ");
response.getWriter().write("xmlns:w2=\"http://www.inswave.com/websquare\" xmlns:xf=\"http://www.w3.org/2002/xforms\">");
response.getWriter().write("<head>");
response.getWriter().write("<w2:buildDate/>");
response.getWriter().write("<xf:model><xf:instance><data xmlns=\"\"/></xf:instance></xf:model>");
response.getWriter().write("<script type=\"javascript\" lazy=\"false\"><![CDATA[ ");
response.getWriter().write("scwin.onpageload = function() { com.alert(\"Session이 종료 되었습니다. 로그인 화면으로 이동하겠습니다.\", \"com.goHome\", true); };");
response.getWriter().write("scwin.onpageunload = function() { };");
response.getWriter().write("]]></script>");
response.getWriter().write("</head>");
response.getWriter().write("<body ev:onpageload=\"scwin.onpageload\" ev:onpageunload=\"scwin.onpageunload\"></body>");
response.getWriter().write("</html>");
} else {
// 서비스 호출 시 세션이 종료된 경우, Session 종료 Alert 후, 로그인 페이지로 Redirect 처리 한다.
result = false;
response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
response.getWriter().write("{\"rsMsg\":{\"statusCode\":\"E\", \"errorCode\" : \"E0001\", \"message\":\"Session이 종료 되었습니다.\",\"status\":\"Error\"}}");
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
/**
* Session URI
*
* @date 2016. 8. 29.
* @param argument
*
* @returns <boolean>
* @author InswaveSystems
* @example
*/
private boolean isSkipURI(HttpServletRequest request) {
String[] skipUrl = { "/", "/I18N" };
boolean result = false;
String uri = (request.getRequestURI()).replace(request.getContextPath(), "");
//스마트플랫폼에서 호출을 하면 SessionInterceptor에서 로그인 예외처리가 안됨..html폼에서 전송하면 되는데...ㅠ 여기에서 예외처리함API만
if (uri.indexOf("/fis/rest/api/") > -1)
{
result = true;
}
else{
for (int i = 0; i < skipUrl.length; i++) {
if (uri.equals(skipUrl[i])) {
result = true;
break;
}
}
}
return result;
}
}

@ -0,0 +1,184 @@
package com.inswave.template.controller;
import java.util.List;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.inswave.template.service.AuthorityService;
import com.inswave.util.Result;
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
@SuppressFBWarnings
@Controller
public class AuthorityController {
@Autowired
private AuthorityService authorityService;
/**
* selectAuthoritySearchItem - .
*
* @date 2017.12.22
* @param {}
* @returns mv dlt_authroitySearchItem ( )
* @author InswaveSystems
* @example
*/
@RequestMapping("/authority/selectAuthoritySearchItem")
public @ResponseBody Map<String, Object> selectAuthoritySearchItem() {
Result result = new Result();
try {
result.setData("dlt_authoritySearchItem", authorityService.selectAuthoritySearchItem());
result.setMsg(result.STATUS_SUCESS, "권한 아이템 리스트가 조회 되었습니다.");
} catch (Exception ex) {
result.setMsg(result.STATUS_ERROR, "권한 아이템 리스트를 가져오는 도중 오류가 발생하였습니다,", ex);
result.setMsg(result.STATUS_ERROR, "권한 아이템 리스트를 가져오는 도중 오류가 발생하였습니다,", ex);
}
return result.getResult();
}
/**
* selectAuthorityList - .
*
* @date 2017.12.22
* @param {} dma_search { TYPE :"권한명 또는 권한 코드", CONTENTS :"검색어", IS_USE :"사용여부" }
* @returns mv dlt_authroity ( )
* @author InswaveSystems
* @example
*/
@RequestMapping("/authority/selectAuthorityList")
public @ResponseBody Map<String, Object> selectAuthorityList(@RequestBody Map<String, Object> param) {
Result result = new Result();
try {
result.setData("dlt_authority", authorityService.selectAuthorityList((Map) param.get("dma_search")));
result.setMsg(result.STATUS_SUCESS, "권한 리스트가 조회 되었습니다.");
} catch (Exception ex) {
result.setMsg(result.STATUS_ERROR, "권한 리스트를 가져오는 도중 오류가 발생하였습니다,", ex);
}
return result.getResult();
}
/**
* selectAuthorityMemberList - .
*
* @date 2017.12.22
* @param {} dma_authority { AUTHORITY_CD :"권한 코드" }
* @returns mv dlt_authroityMember ( )
* @author InswaveSystems
* @example
*/
@RequestMapping("/authority/selectAuthorityMemberList")
public @ResponseBody Map<String, Object> selectAuthorityMemberList(@RequestBody Map<String, Object> param) {
Result result = new Result();
try {
result.setData("dlt_authorityMember", authorityService.selectAuthorityMemberList((Map) param.get("dma_authority")));
result.setMsg(result.STATUS_SUCESS, "권한(" + (String) ((Map) param.get("dma_authority")).get("AUTHORITY_CD") + ")이 부여된 사용자 리스트가 조회되었습니다.");
} catch (Exception ex) {
ex.printStackTrace();
result.setMsg(result.STATUS_ERROR, "권한이 부여된 사용자 정보를 가져오는 도중 오류가 발생하였습니다,", ex);
}
return result.getResult();
}
/**
* excludeSelectAuthorityMemberList - .
*
* @date 2017.12.22
* @param {} dma_search { TYPE :"사원코드 또는 사원명", CONTENTS :"검색어", AUTHORITY_CD :"권한코드" }
* @returns mv dlt_member ( )
* @author InswaveSystems
* @example
*/
@RequestMapping("/authority/excludeSelectAuthorityMemberList")
public @ResponseBody Map<String, Object> excludeSelectAuthorityMemberList(@RequestBody Map<String, Object> param) {
Result result = new Result();
try {
result.setData("dlt_member", authorityService.excludeSelectAuthorityMemberList((Map) param.get("dma_search")));
result.setMsg(result.STATUS_SUCESS, "권한이 부여되지 않은 직원 리스트가 조회되었습니다.");
} catch (Exception ex) {
ex.printStackTrace();
result.setMsg(result.STATUS_ERROR, "권한이 부여되지 않은 직원 리스트 조회중 오류가 발생하였습니다.,", ex);
}
return result.getResult();
}
/**
* saveAuthority - .
*
* @date 2017.12.22
* @param {} dlt_authority ( ( C,U,D ) ), dma_search ( )
* @returns mv dlt_result ( ,, ), dlt_authority( )
* @author InswaveSystems
* @example
*/
@RequestMapping("/authority/saveAuthority")
public @ResponseBody Map<String, Object> saveAuthority(@RequestBody Map<String, Object> param) {
Result result = new Result();
try {
Map hash = authorityService.saveAuthority((List) param.get("dlt_authority"));
result.setData("dma_result", hash);
result.setData("dlt_authority", authorityService.selectAuthorityList((Map) param.get("dma_search")));
result.setMsg(result.STATUS_SUCESS,
"권한이 저장 되었습니다. 입력 : " + (String) hash.get("ICNT") + "건, 수정 : " + (String) hash.get("UCNT") + "건, 삭제 : " + (String) hash.get("DCNT") + "건");
} catch (Exception ex) {
result.setMsg(result.STATUS_ERROR, "권한 저장도중 오류가 발생하였습니다.", ex);
}
return result.getResult();
}
/**
* saveAuthorityMember .
*
* @date 2017.12.22
* @param {} dlt_authorityMember ( ( C,U,D ) ), dma_search ( )
* @returns mv dlt_result ( ,, ), dlt_authorityMember( )
* @author InswaveSystems
* @example
*/
@RequestMapping("/authority/saveAuthorityMember")
public @ResponseBody Map<String, Object> saveAuthorityMember(@RequestBody Map<String, Object> param) {
Result result = new Result();
try {
Map hash = authorityService.saveAuthorityMember((List) param.get("dlt_authorityMember"));
result.setData("dma_result", hash);
result.setData("dlt_authorityMember", authorityService.selectAuthorityMemberList((Map) param.get("dma_authority")));
result.setMsg(result.STATUS_SUCESS, "권한 사용자가 저장 되었습니다. 입력 : " + (String) hash.get("ICNT") + "건, 수정 : " + (String) hash.get("UCNT") + "건, 삭제 : "
+ (String) hash.get("DCNT") + "건");
} catch (Exception ex) {
result.setMsg(result.STATUS_ERROR, "권한 사용자 저장도중 오류가 발생하였습니다.", ex);
}
return result.getResult();
}
/**
* saveAuthorityAll - .
*
* @date 2017.12.22
* @param {} dlt_authority ( ( C,U,D ) ), dlt_authorityMember ( ( C,U,D ) )
* @returns mv dlt_result (,, )
* @author Inswave
* @example
*/
@RequestMapping("/authority/saveAuthorityAll")
public @ResponseBody Map<String, Object> saveAuthorityAll(@RequestBody Map<String, Object> param) {
Result result = new Result();
try {
Map hash = authorityService.saveAuthorityAll((List) param.get("dlt_authority"), (List) param.get("dlt_authorityMember"));
result.setData("dma_result_All", hash);
result.setMsg(result.STATUS_SUCESS,
"권한 및 권한별 사원정보 정보가 저장 되었습니다. 입력 권한 건수: " + (String) hash.get("ICNT_AUTH") + "건 :: 입력 권한별사원 건수: " + (String) hash.get("ICNT_MEM")
+ "건 :: 수정 권한 건수: " + (String) hash.get("UCNT_AUTH") + "건 :: 수정 권한별사원 건수: " + (String) hash.get("UCNT_MEM") + "건 :: 삭제 권한 건수: "
+ (String) hash.get("DCNT_AUTH") + "건 :: 삭제 권한별사원 건수: " + (String) hash.get("DCNT_MEM") + "건");
} catch (Exception ex) {
result.setMsg(result.STATUS_ERROR, "권한 및 권한별 사원정보 삭제도중 오류가 발생하였습니다.", ex);
}
return result.getResult();
}
}

@ -0,0 +1,257 @@
package com.inswave.template.controller;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.inswave.template.service.CommonService;
import com.inswave.util.Result;
import com.inswave.util.UserInfo;
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
@SuppressFBWarnings
@Controller
public class CommonController {
@Autowired
private CommonService commonService;
@Autowired
private UserInfo user;
/**
* selectCommonSearchItem - .
*
* @date 2017.12.22
* @param {}
* @returns mv dlt_commonSearchItem ( )
* @author InswaveSystems
* @example
*/
@RequestMapping("/common/selectCommonSearchItem")
public @ResponseBody Map<String, Object> selectCommonSearchItem() {
Result result = new Result();
try {
result.setData("dlt_commonSearchItem", commonService.selectCommonSearchItem());
result.setMsg(result.STATUS_SUCESS, "공통코드 아이템 리스트가 조회 되었습니다.");
} catch (RuntimeException ex) {
result.setMsg(result.STATUS_ERROR, "공통코드 아이템 리스트를 가져오는 도중 오류가 발생하였습니다,", ex);
}
return result.getResult();
}
/**
* CommonCode - .
*
* @date 2017.12.22
* @param {}
* @returns mv List :
* @author InswaveSystems
* @example
*/
@RequestMapping("/common/selectCommonCode")
public @ResponseBody Map<String, Object> selectCommonCode() {
Result result = new Result();
try {
result.setData("dlt_commonCode", commonService.selectCommonCodeAll());
result.setMsg(result.STATUS_SUCESS, "공통코드 전체가 조회되었습니다.");
} catch (RuntimeException ex) {
result.setMsg(result.STATUS_ERROR, "공통코드 정보를 가져오는 도중 오류가 발생하였습니다,", ex);
}
return result.getResult();
}
/**
* selectMenuList - .
*
* @date 2017.12.22
* @param {} dma_userInfo { EMP_CD :"사용자 ID" }
* @returns mv List ( )
* @author InswaveSystems
* @example
*/
@RequestMapping("/common/selectMenuList")
public @ResponseBody Map<String, Object> selectMenuList() {
Result result = new Result();
try {
result.setData("dlt_menu", commonService.selectMenuList(user.getUserInfo()));
result.setMsg(result.STATUS_SUCESS, "메뉴정보가 정상 조회되었습니다.");
} catch (RuntimeException ex) {
result.setMsg(result.STATUS_ERROR, "메뉴정보 조회도중 오류가 발생하였습니다.", ex);
}
return result.getResult();
}
/**
* CommonCodeList - .
*
* @date 2017.12.22
* @param {} dma_commonGrp { GRP_CD : "공통그룹 코드" }
* @returns mv dlt_commonCode ( );
* @author InswaveSystems
* @example
*/
@RequestMapping("/common/selectCommonCodeList")
public @ResponseBody Map<String, Object> selectCommonCodeList(@RequestBody Map<String, Object> param) {
Result result = new Result();
try {
result.setData("dlt_commonCode", commonService.selectCommonCodeList((Map) param.get("dma_commonGrp")));
result.setMsg(result.STATUS_SUCESS, "공통코드(" + ((Map) param.get("dma_commonGrp")).get("GRP_CD") + ") 리스트가 조회되었습니다.");
} catch (RuntimeException ex) {
result.setMsg(result.STATUS_ERROR, "공통코드 정보(" + ((Map) param.get("dma_commonGrp")).get("GRP_CD") + ")를 가져오는 도중 오류가 발생하였습니다,", ex);
}
return result.getResult();
}
@RequestMapping("/common/selectCommonGroup")
public @ResponseBody Map<String, Object> selectCommonGroup(@RequestBody Map<String, Object> param) {
Result result = new Result();
try {
result.setData("dlt_commonGrp", commonService.selectCommonGroup((Map) param.get("dma_search")));
result.setMsg(result.STATUS_SUCESS, "공통코드 그룹 리스트가 조회되었습니다.");
} catch (RuntimeException ex) {
result.setMsg(result.STATUS_ERROR, "공통코드 그룹 리스트를 가져오는 도중 오류가 발생하였습니다.", ex);
}
return result.getResult();
}
/**
* updateCommonGrpAll - .
*
* @date 2017.12.22
* @param {} dlt_commonGrp ( ( C,U,D ) ), dlt_commonCode ( ( C,U,D ) )
* @returns mv dlt_result (,, )
* @author InswaveSystems
* @example
*/
@RequestMapping("/common/updateCommonGrpAll")
public @ResponseBody Map<String, Object> updateCommonGrpAll(@RequestBody Map<String, Object> param) {
Result result = new Result();
try {
Map hash = commonService.saveCodeGrpListAll((List) param.get("dlt_commonGrp"), (List) param.get("dlt_commonCode"));
result.setData("dma_result_All", hash);
result.setMsg(result.STATUS_SUCESS,
"공통그룹 리스트 및 하위 코드 정보가 저장 되었습니다. 입력 그룹코드 건수: " + (String) hash.get("ICNT_GRP") + "건 :: 입력 세부코드 건수: " + (String) hash.get("ICNT_CODE")
+ "건 :: 수정 그룹코드 건수: " + (String) hash.get("UCNT_GRP") + "건 :: 수정 세부코드 건수: " + (String) hash.get("UCNT_CODE")
+ "건 :: 삭제 그룹코드 건수: " + (String) hash.get("DCNT_GRP") + "건 :: 삭제 세부코드 건수: " + (String) hash.get("DCNT_CODE") + "건");
} catch (RuntimeException ex) {
result.setMsg(result.STATUS_ERROR, "공통그룹 리스트 및 하위 코드 정보 저장 도중 오류가 발생하였습니다.", ex);
}
return result.getResult();
}
/**
* updateCommonGrp - .
*
* @date 2017.12.22
* @param {} dlt_commonGrp ( ( C,U,D ) ), dma_search ( )
* @returns mv dlt_result (,, ), dlt_commonGrp ( )
* @author InswaveSystems
* @example
*/
@RequestMapping("/common/updateCommonGrp")
public @ResponseBody Map<String, Object> updateCommonGrp(@RequestBody Map<String, Object> param) {
Result result = new Result();
try {
Map hash = commonService.saveCodeGrpList((List) param.get("dlt_commonGrp"));
result.setData("dma_result", hash);
result.setData("dlt_commonGrp", commonService.selectCommonGroup((Map) param.get("dma_search")));
result.setMsg(result.STATUS_SUCESS, "공통 코드 그룹이 저장 되었습니다. 입력 : " + (String) hash.get("ICNT") + "건, 수정 : " + (String) hash.get("UCNT") + "건, 삭제 : "
+ (String) hash.get("DCNT") + "건");
} catch (RuntimeException ex) {
result.setMsg(result.STATUS_ERROR, "공통 코드 그룹 저장도중 오류가 발생하였습니다.", ex);
}
return result.getResult();
}
/**
* CommonCodeUpdate - .
*
* @date 2017.12.22
* @param {} dlt_commonCode ( ( C,U,D ) ), dma_commonGrp ( )
* @returns mv dma_result ( ,, ), dlt_commonCode ( )
* @author InswaveSystems
* @example
*/
@RequestMapping("/common/selectCommonCodeUpdate")
public @ResponseBody Map<String, Object> selectCommonCodeUpdate(@RequestBody Map<String, Object> param) {
Result result = new Result();
try {
Map hash = commonService.saveCodeList((List) param.get("dlt_commonCode"));
result.setData("dma_result", hash);
result.setData("dlt_commonCode", commonService.selectCommonCodeList((Map) param.get("dma_commonGrp")));
result.setMsg(result.STATUS_SUCESS, "공통 코드가 저장 되었습니다. 입력 : " + (String) hash.get("ICNT") + "건, 수정 : " + (String) hash.get("UCNT") + "건, 삭제 : "
+ (String) hash.get("DCNT") + "건");
} catch (RuntimeException ex) {
result.setMsg(result.STATUS_ERROR, "공통 코드 저장도중 오류가 발생하였습니다.", ex);
}
return result.getResult();
}
/**
* GetCodeList - dma_commonCode : {GRP_CD:"02,01", DATA_PREFIX:"dlt_code"} <String> GRP_CD : , <String> DATA_PREFIX :
* "Data객체의 ID prefix 없을 경우 dlt_commonCode_"
*
* @date 2017.12.22
* @param param {dma_commonCode : {GRP_CD:"02,01", DATA_PREFIX:"dlt_code"}}
* @author InswaveSystems
* @example
*/
@RequestMapping("/common/selectCodeList")
public @ResponseBody Map<String, Object> selectCodeList(@RequestBody Map<String, Object> param) {
Result result = new Result();
Map commonCode;
String GRP_CD;
String dataIdPrefix;
String[] selectCodeList;
try {
commonCode = (Map) param.get("dma_commonCode");
GRP_CD = (String) commonCode.get("GRP_CD");
dataIdPrefix = (String) commonCode.get("DATA_PREFIX");
if (dataIdPrefix == null) {
dataIdPrefix = "dlt_commonCode_";
}
selectCodeList = GRP_CD.split(",");
commonCode.put("CODE", selectCodeList);
List codeList = commonService.selectCodeList(commonCode);
int size = codeList.size();
String preCode = "";
List codeGrpList = null;
for (int i = 0; i < size; i++) {
Map codeMap = (Map) codeList.remove(0);
String grp_cd = (String) codeMap.get("GRP_CD");
if (!preCode.equals(grp_cd)) {
if (codeGrpList != null) {
result.setData(dataIdPrefix + preCode, codeGrpList);
}
preCode = grp_cd;
codeGrpList = new ArrayList();
codeGrpList.add(codeMap);
} else {
codeGrpList.add(codeMap);
}
if (i == size - 1) {
result.setData(dataIdPrefix + preCode, codeGrpList);
}
}
result.setMsg(result.STATUS_SUCESS, "공통코드 조회가 완료되었습니다.");
} catch (RuntimeException ex) {
result.setMsg(result.STATUS_ERROR, "공통코드 조회중 오류가 발생하였습니다.", ex);
}
return result.getResult();
}
}

@ -0,0 +1,108 @@
package com.inswave.template.controller;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.inswave.template.service.FileService;
import com.inswave.template.service.MenuService;
import com.inswave.util.Result;
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
@SuppressFBWarnings
@Controller
public class FileController {
@Autowired
private FileService fileService;
// 파일그룹 조회
@RequestMapping("/file/selectFileGrp")
public @ResponseBody Map<String, Object> selectFileGrp(@RequestBody Map<String, Object> param) {
Result result = new Result();
try {
result.setData("dlt_fileGroup", fileService.selectFileGrp((Map) param.get("dma_fileGrp")));
result.setMsg(result.STATUS_SUCESS, "조회가 완료되었습니다.");
} catch (Exception ex) {
result.setMsg(result.STATUS_ERROR, "조회 중에 오류가 발생했습니다.", ex);
}
return result.getResult();
}
// 파일그룹 insert
@RequestMapping("/file/insertFileGrp")
public @ResponseBody Map<String, Object> insertFileGrp(@RequestBody Map<String, Object> param) {
Result result = new Result();
try {
fileService.insertFileGrp((Map) param.get("dma_fileGrp"));
result.setMsg(result.STATUS_SUCESS, "저장이 완료되었습니다.");
} catch (Exception ex) {
result.setMsg(result.STATUS_ERROR, "저장 중에 오류가 발생했습니다.", ex);
}
return result.getResult();
}
// 파일목록 insert
@RequestMapping("/file/insertFileList")
public @ResponseBody Map<String, Object> insertFileList(@RequestBody Map<String, Object> param) {
Result result = new Result();
//Map hash = new HashMap();
try {
// dlt_insertList (request)
fileService.insertFileList((List) param.get("dlt_insertList"));
//fileService.insertFileList((Map) param.get("dma_fileGrp"));
//hash.put("family", service.saveMemberFamily((List) param.get("family")));
//result.setData("data", hash);
//fileService.insertFileList((Map) param.get("dma_fileInfo")); // dlt_insertList
System.out.println("\n\n\n\n\n ##### param : "+param);
// fileService.insertFileList((List) param.get("aa")); // dlt_insertList
//
//
// result.setMsg(result.STATUS_SUCESS, "저장이 완료되었습니다.");
} catch (Exception ex) {
result.setMsg(result.STATUS_ERROR, "저장 중에 오류가 발생했습니다.", ex);
}
return result.getResult();
}
// 파일 목록 조회
@RequestMapping("/file/searchFileList")
public @ResponseBody Map<String, Object> searchFileList(@RequestBody Map<String, Object> param) {
Result result = new Result();
try {
fileService.searchFileList((Map) param.get("dma_searchFile"));
result.setMsg(result.STATUS_SUCESS, "조회가 완료되었습니다.");
} catch (Exception ex) {
result.setMsg(result.STATUS_ERROR, "조회 중에 오류가 발생했습니다.", ex);
}
return result.getResult();
}
// 파일 다운로드
// TODO
@RequestMapping("/file/downloadFile")
public @ResponseBody Map<String, Object> downloadFile(@RequestBody Map<String, Object> param) {
Result result = new Result();
try {
// 실제 파일명 조회 후
// 실제 파일명이 1건인 경우 파일 다운로드, 2건 이상일 경우 zip 파일 다운로드
//result.setData("dlt_menu", menuService.selectMenu((Map) param.get("dma_search")));
//result.setMsg(result.STATUS_SUCESS, "메뉴 리스트가 조회되었습니다.");
} catch (Exception ex) {
ex.printStackTrace();
//result.setMsg(result.STATUS_ERROR, "메뉴 리스트를 가져오는 도중 오류가 발생하였습니다.", ex);
}
return result.getResult();
}
}

@ -0,0 +1,131 @@
package com.inswave.template.controller;
import java.util.HashMap;
import java.util.Map;
import java.util.List;
import java.util.Iterator;
import java.util.Properties;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView;
import com.inswave.template.service.MemberService;
import com.inswave.util.PageURIUtil;
import com.inswave.util.UserInfo;
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
@SuppressFBWarnings
@Controller
public class InitController {
@Autowired
private MemberService service;
@Autowired
private UserInfo userInfo;
public InitController() {
}
/**
* Root Url
*
* @date 2017.12.22
* @author Inswave
* @example websquare xml controller. websquare.jsp I18N.jsp. properties .
* @todo interceptor .
*/
@RequestMapping("/I18N")
public String indexMultiLang(HttpServletRequest request, HttpServletResponse response, Model model) throws Exception {
model.addAttribute("movePage", getLoginPage(request.getParameter("w2xPath")));
return "websquare/I18N";
}
/**
*
* Root Url
*
* @date 2017.12.22
* @author Inswave
* @todo url /(root) redirect . .
*/
@RequestMapping(value = "/", method = RequestMethod.GET)
public String IndexBase(HttpServletRequest request, Model model) throws Exception {
model.addAttribute("movePage", getLoginPage(request.getParameter("w2xPath")));
return "websquare/websquare";
}
/**
*
* WebSquare Url .
*
* @date 2017.12.22
* @author Inswave
* @todo url /(root) redirect . .
*/
@RequestMapping(value = "/ws", method = RequestMethod.GET)
public String IndexWebSquare(HttpServletRequest request, Model model) throws Exception {
return "websquare/websquare";
}
/**
* SPA IFrame Blank .
* @param request
* @param model
* @return
* @throws Exception
*/
@RequestMapping(value = "/blank.xml", method = RequestMethod.GET)
public String callBlankPage(HttpServletRequest request, Model model) throws Exception {
return "websquare/blank";
}
/**
* Url .
*
* @param w2xPath w2xPath
* @return Url
*/
private String getLoginPage(String w2xPath) {
String movePage = w2xPath;
// session이 없을 경우 login 화면으로 이동.
if (!userInfo.isLogined()) {
// session이 있고 w2xPath가 없을 경우 index화면으로 이동.
movePage = PageURIUtil.getLoginPage();
} else {
if (movePage == null) {
// DB 설정조회 초기 page 구성
movePage = PageURIUtil.getIndexPageURI(userInfo.getMainLayoutCode());
// DB에 값이 저장되어 있지 않은 경우 기본 index화면으로 이동
if (movePage == null) {
movePage = PageURIUtil.getIndexPageURI();
}
}
}
return movePage;
}
/**
* refresh
* @param request
* @param model
* @return
* @throws Exception
*/
@RequestMapping(value = "/refresh", method = RequestMethod.GET)
public String callRefreshPage(HttpServletRequest request, Model model) {
return "websquare/refresh";
}
}

@ -0,0 +1,305 @@
package com.inswave.template.controller;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import com.inswave.template.service.CommonService;
import com.inswave.template.service.LoginService;
import com.inswave.util.Result;
import com.inswave.util.UserInfo;
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import gtpa.fis.comm.CommonUtil;
@SuppressFBWarnings
@Controller
public class LoginController {
static Logger logger = Logger.getLogger(LoginController.class.getName());
@Autowired
private LoginService loginService;
@Autowired
private CommonService commonService;
@Autowired
private UserInfo user;
/**
* logout session : redirect . session :
*
* @date 2017.12.22
* @returns modelAndView
* @author Inswave
* @example
*/
@RequestMapping(value = "/main/logout")
public @ResponseBody Map<String, Object> logout(HttpServletRequest request, HttpServletResponse response) {
Result result = new Result();
try {
result.setMsg(Result.STATUS_SUCESS, "정상적으로 로그아웃 되었습니다.");
} catch (RuntimeException ex) {
result.setMsg(Result.STATUS_ERROR, "로그아웃 도중 오류가 발생하였습니다.", ex);
} finally {
request.getSession().invalidate();
user.init();
}
return result.getResult();
}
/**
* login - , DB .
*
* @date 2017.12.22
* @param dma_loginCheck { EMP_CD:"사원코드", PASSWORD:"비밀번호" }
* @returns mv dma_resLoginCheck { EMP_CD:"사원코드", EMP_NM:"사원명", LOGIN:"상태" }
* @author Inswave
* @example
*/
@RequestMapping(value = "/main/login")
public @ResponseBody Map<String, Object> login(@RequestBody Map<String, Object> param, HttpServletRequest request, HttpServletResponse response) {
HttpSession session = request.getSession();
Map memberMap = null;
String status = null;
Map loginParam = null;
Result result = new Result();
try {
// loginParam은 param(EMP_CD/PW)의 값을 꺼내는 용도
loginParam = (Map) param.get("dma_loginCheck");
/* 공통 추가로 인한 기존 서비스 주석 및 공통으로 변경 2019.10.16 */
//memberMap = loginService.selectMemberInfoForLogin(loginParam);
memberMap = loginService.selectComMemberInfoForLogin(loginParam);
status = (String) memberMap.get("LOGIN");
// 로그인 성공
if (status.equals("success")) {
String mainLayout = (String) memberMap.get("MAIN_LAYOUT_PAGE_CODE");
String isUseShortCut = (String) memberMap.get("IS_USE_SHORTCUT");
// main setting에 값이 저장되어 있지 않는 경우 insert.
if (mainLayout == null) {
mainLayout = user.getDefaultMainLayoutCode();
}
session.setAttribute("USER_ID", (String) memberMap.get("USER_ID"));
session.setAttribute("EMP_CD", (String) memberMap.get("EMP_CD"));
session.setAttribute("EMP_NM", (String) memberMap.get("EMP_NM"));
session.setAttribute("MAIN_LAYOUT_PAGE_CODE", mainLayout);
session.setAttribute("IS_USE_SHORTCUT", isUseShortCut);
// 로그인한 아이디가 시스템 관리자인지 여부를 체크한다.
// 시스템 관리자 아이디는 websquareConfig.properties 파일의 system.admin.id 속성에 정의하면 된다.
// 시스템 관자자 아이디가 여러 개일 경우 콤마(",") 구분해서 작성할 수 있다.
/* 공통 추가로 인한 기존 서비스 주석 및 공통으로 변경 2019.10.16 */
//boolean isAdmin = loginService.isAdmin((String) memberMap.get("EMP_CD"));
boolean isAdmin = loginService.isAdmin((String) memberMap.get("USER_ID"));
session.setAttribute("IS_ADMIN", isAdmin);
// 클라이언트(UI)에 전달하는 IS_ADMIN 정보는 관리자인지의 여부에 따라 화면 제어가 필요한 로직 처리를 위해서만 사용한다.
// 서버 서비스에서의 로직 처리는 보안을 위해서 클라이언트에서 전달하는 IS_ADMIN 정보가 아닌
// 서버 서비스에서 관리하는 UserInfo.getIsAdmin()에서 관리자 여부를 받아와서 판단해야 한다.
// 메뉴 정보 가져오기
/* 공통 추가로 인한 기존 서비스 주석 및 공통으로 변경 2019.10.16 */
//List sessionMList = commonService.selectMenuList(memberMap);
List sessionMList = commonService.selectComMenuList(memberMap);
session.setAttribute("MENU_LIST", (List) sessionMList);
user.setUserInfo(session);
result.setMsg(Result.STATUS_SUCESS, "로그인 성공");
} else if (status.equals("error")) {
result.setMsg(Result.STATUS_ERROR, "로그인 실패(패스워드 불일치)");
} else {
result.setMsg(Result.STATUS_ERROR, "사용자 정보가 존재하지 않습니다.");
}
} catch (RuntimeException ex) {// DB커넥션 없음
result.setMsg(Result.STATUS_ERROR, "처리도중 시스템 오류가 발생하였습니다.", ex);
}
return result.getResult();
}
/**
* .
*
* @date 2018.11.29
* @param dma_password { PASSWORD: "현재 비밀번호", NEW_PASSWORD: "새로운 비밀번호", RETRY_PASSWORD: "새로운 비밀번호(재입력)" }
* @returns mv dlt_result { FOCUS:"포커스를 이동할 컬럼 아이디" }
* @author InswaveSystems
* @example
*/
@RequestMapping("/main/updatePassword")
public @ResponseBody Map<String, Object> updatePassword(@RequestBody Map<String, Object> param) {
Result result = new Result();
try {
Map passwordMap = (Map) param.get("dma_password");
boolean checkCurrPassword = false;
// 시스템 관리자인 경우에는 현재 비밀번호 체크를 하지 않고 비밀번호를 변경한다.
if (user.getIsAdmin()) {
checkCurrPassword = true;
// 일반 사용자인 경우에는 현재 비밀번호를 체크하고 비밀번호를 변경한다.
} else {
Map memberMap = loginService.selectMemberInfoForLogin(passwordMap);
String status = (String) memberMap.get("LOGIN");
// 현재 비밀번호 정상 입력 여부 확인
if (status.equals("success")) {
checkCurrPassword = true;
} else {
Map resultMap = new HashMap<String, Object>();
// TODO : FOCUS 정보가 정상적으로 Response에 담기지 않음
resultMap.put("FOCUS", "PASSWORD");
result.setData("dma_result", resultMap);
result.setMsg(result.STATUS_ERROR, "현재 비밀번호를 잘못 입력하셨습니다.");
return result.getResult();
}
}
String newPassword = (String) passwordMap.get("NEW_PASSWORD");
String retryPassword = (String) passwordMap.get("RETRY_PASSWORD");
if (newPassword.equals(retryPassword)) {
loginService.updatePassword(passwordMap);
result.setMsg(result.STATUS_SUCESS, "비밀번호 변경에 성공했습니다.");
} else {
Map resultMap = new HashMap<String, Object>();
resultMap.put("FOCUS", "NEW_PASSWORD");
result.setData("dma_result", resultMap);
result.setMsg(result.STATUS_ERROR, "신규 비밀번호와 신규 비밀번호(재입력) 항목의 비밀번호가 다르게 입력 되었습니다.");
}
} catch (RuntimeException ex) {
result.setMsg(result.STATUS_ERROR, "비밀번호 변경 중 오류가 발생했습니다.", ex);
}
return result.getResult();
}
/**
* SSO .
*
* @date 2019.10.17
* @param access_token
* @returns redirect:/
* @author
* @example
*/
@RequestMapping(value = "/com/ssologin/{access_token}", method = RequestMethod.GET)
public String ssologin(@PathVariable String access_token, HttpServletRequest request) {
logger.info("ssologin");
HttpSession session = request.getSession();
Result result = new Result();
// 로그인시 토큰 생성
try {
String ssoUrl = "http://192.168.0.41:20020"; //개발주소
//String ssoUrl = "http://175.193.201.56"; //운영주소
String strUrl = ssoUrl+"/api/users?access_token="+access_token;
URL url = new URL(strUrl);
HttpURLConnection con = (HttpURLConnection) url.openConnection();
con.setConnectTimeout(5000); //서버에 연결되는 Timeout 시간 설정
con.setReadTimeout(5000); // InputStream 읽어 오는 Timeout 시간 설정
con.setRequestMethod("POST");
//json으로 message를 전달하고자 할 때
con.setRequestProperty("Content-Type", "application/json");
con.setDoInput(true);
con.setDoOutput(true); //POST 데이터를 OutputStream으로 넘겨 주겠다는 설정
con.setUseCaches(false);
con.setDefaultUseCaches(false);
OutputStream wr = null;
try {
wr = con.getOutputStream();
} catch (RuntimeException re) {
logger.info(re);
} finally {
wr.flush();
}
StringBuilder sb = new StringBuilder();
if (con.getResponseCode() == HttpURLConnection.HTTP_OK) {
//Stream을 처리해줘야 하는 귀찮음이 있음.
BufferedReader br = new BufferedReader(new InputStreamReader(con.getInputStream(), "utf-8"));
String line;
try {
while ((line = br.readLine()) != null) {
sb.append(line).append("\n");
}
} catch (RuntimeException re) {
logger.info(re);
} finally {
br.close();
}
logger.info("" + sb.toString());
JsonParser jsonParser = new JsonParser();
JsonObject jsonObject = (JsonObject) jsonParser.parse(sb.toString());
JsonObject member = (JsonObject) jsonObject.get("member");
logger.info(member.get("USER_ID"));
logger.info(access_token);
// 로그인한 ID의 화면 레이아웃정보 가지고 오기
Map memberMap = new HashMap();
memberMap.put("USER_ID", member.get("USER_ID").toString().replace("\"", ""));
memberMap = loginService.selectComMemberInfoForLogin(memberMap);
String mainLayout = (String) memberMap.get("MAIN_LAYOUT_PAGE_CODE");
// main setting에 값이 저장되어 있지 않는 경우 insert.
if (CommonUtil.isEmpty(mainLayout)) {
mainLayout = user.getDefaultMainLayoutCode();
}
// 로그인 정보를 세션에 저장
boolean isAdmin = loginService.isAdmin(member.get("USER_ID").toString().replace("\"", ""));
session.setAttribute("USER_ID", member.get("USER_ID").toString().replace("\"", ""));
session.setAttribute("EMP_NM", memberMap.get("EMP_NM").toString());
session.setAttribute("IS_ADMIN", isAdmin);
session.setAttribute("SSO_TOKEN", access_token);
session.setAttribute("MAIN_LAYOUT_PAGE_CODE", mainLayout);
result.setMsg(Result.STATUS_SUCESS, "로그인 성공");
} else {
result.setMsg(Result.STATUS_ERROR, "로그인 실패("+con.getResponseMessage()+")");
}
} catch (IOException e){
result.setMsg(Result.STATUS_ERROR, "로그인 실패("+e+")");
}
return "redirect:/";
}
}

@ -0,0 +1,338 @@
package com.inswave.template.controller;
import java.io.IOException;
import java.net.InetAddress;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.inswave.template.service.CommonService;
import com.inswave.template.service.MainService;
import com.inswave.util.Result;
import com.inswave.util.UserInfo;
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
@SuppressFBWarnings
@Controller
public class MainController {
@Autowired
private UserInfo user;
@Autowired
private CommonService commonService;
@Autowired
private MainService mainService;
@Value("${main.setting.code.DB}")
private String dbCode;
@Value("${main.setting.code.LS}")
private String lsCode;
@RequestMapping("/main/init")
public @ResponseBody Map<String, Object> getInitMainInfo() {
SimpleDateFormat format = new SimpleDateFormat ( "yyyy-MM-dd HH:mm:ss");
Date time = new Date();
InetAddress local;
Result result = new Result();
Map memberParam = null;
Map defInfo = null;
try {
// 현재 접속IP, 시간 가지고 오기
local = InetAddress.getLocalHost();
String remoteAddr = local.getHostAddress();
String lastLoginDt = format.format(time);
memberParam = user.getUserInfoByBase();
defInfo = new HashMap();
defInfo.put("USER_ID", user.getUserId());
defInfo.put("SSO_TOKEN", user.getSsoToken());
defInfo.put("EMP_NM", user.getUserName());
defInfo.put("REMOTE_ADDR", remoteAddr);
defInfo.put("LAST_LOGIN_DT", lastLoginDt);
defInfo.put("IS_USE_SHORTCUT", user.getIsUseShortCut());
if (user.getIsAdmin()) {
defInfo.put("IS_ADMIN", "Y");
} else {
defInfo.put("IS_ADMIN", "N");
}
/* 공통 추가로 인한 기존 서비스 주석 및 공통으로 변경 2019.10.16 */
//result.setData("dlt_menu", commonService.selectMenuList(memberParam));
//result.setData("dlt_fav", commonService.selectFavListByEmpCd(user.getUserId()));
result.setData("dlt_menu", commonService.selectComMenuList(memberParam));
result.setData("dlt_fav", commonService.selectComFavListByEmpCd(user.getUserId()));
result.setData("dma_defInfo", defInfo);
/* 공통 추가로 인한 기존 서비스 주석 및 공통으로 변경 2019.10.16 */
//result.setData("dlt_programAuthority", commonService.selectProgramAuthorityList(memberParam));
result.setData("dlt_programAuthority", commonService.selectComProgramList(memberParam));
result.setMsg(result.STATUS_SUCESS, "메뉴정보가 조회 되었습니다.");
} catch (IOException ex) {
result.setMsg(result.STATUS_ERROR, null, ex);
}
return result.getResult();
}
/**
* .
*
* @date 2017.12.22
* @author InswaveSystems
* @example
* @todo
*/
@RequestMapping("/main/selectBmMainSetting")
public @ResponseBody Map<String, Object> selectBmMainSetting() {
Result result = new Result();
try {
/* 공통 추가로 인한 기존 서비스 주석 및 공통으로 변경 2019.10.21 */
//result.setData("dma_setting", commonService.selectBmMainSetting(user.getUserInfo()));
result.setData("dma_setting", commonService.selectComMainSetting(user.getUserInfo()));
result.setMsg(result.STATUS_SUCESS, "정상적으로 조회가 완료되었습니다.");
} catch (RuntimeException ex) {
result.setMsg(result.STATUS_ERROR, null, ex);
}
return result.getResult();
}
/**
* MAIN
*
* @date 2017.12.22
* @param {Object} argument
* @returns {Object}
* @author InswaveSystems
*/
@RequestMapping("/main/updateBmMainSetting")
public @ResponseBody Map<String, Object> updateBmMainSetting(@RequestBody Map<String, Object> param, HttpServletRequest request,
HttpServletResponse response) {
int rsNum = 0;
Result result = new Result();
Map<String, String> paramMap = (Map) param.get("dma_setting");
try {
/* 공통 추가로 인한 기존 서비스 주석 및 공통으로 변경 2019.10.21 */
//paramMap.put("EMP_CD", user.getUserId());
//rsNum = commonService.updateBmMainSetting(paramMap);
paramMap.put("USER_ID", user.getUserId());
rsNum = commonService.updateComMainSetting(paramMap);
if (rsNum == 1) {
user.updateMainLayoutCode(request.getSession(), (String) paramMap.get("MAIN_LAYOUT_PAGE_CODE"));
user.updateIsUseShortCut(request.getSession(), (String) paramMap.get("IS_USE_SHORTCUT"));
result.setData("dma_setting", (Map) param.get("dma_setting"));
result.setMsg(result.STATUS_SUCESS);
} else {
result.setMsg(result.STATUS_ERROR, "업데이트 정보가 저장도중 오류가 발생하였습니다.");
}
} catch (RuntimeException ex) {
result.setMsg(result.STATUS_ERROR, "저장 도중 오류가 발생하였습니다.", ex);
}
return result.getResult();
}
/**
* get favorites list
*
* @date 2017.12.22
* @param argument
* @returns <ModelAndView>
* @author InswaveSystems
* @example
* @todo
*/
@RequestMapping("/main/selectFavList")
public @ResponseBody Map<String, Object> selectFavList() {
Result result = new Result();
try {
/* 공통 추가로 인한 기존 서비스 주석 및 공통으로 변경 2019.10.23 */
//result.setData("dlt_fav", commonService.selectFavListByEmpCd(user.getUserId()));
result.setData("dlt_fav", commonService.selectComFavListByEmpCd(user.getUserId()));
result.setMsg(result.STATUS_SUCESS, "메뉴정보가 정상 조회되었습니다.");
} catch (RuntimeException ex) {
result.setMsg(result.STATUS_ERROR, "메뉴정보 조회도중 오류가 발생하였습니다.", ex);
}
return result.getResult();
}
/**
* , .
*
* @date 2017.12.22
* @returns mv
* @author Inswave
* @example
*/
@RequestMapping("/main/updateFav")
public @ResponseBody Map<String, Object> updateFav(@RequestBody Map<String, Object> param) {
int rsInt = 0;
Map dbParam = null;
String updateStatus = null;
Result result = new Result();
try {
dbParam = (Map) param.get("dma_fav");
updateStatus = (String) dbParam.get("STATUS");
if (updateStatus == null) {
throw new NullPointerException("상태값이 누락되었습니다.");
}
dbParam.put("EMP_CD", user.getUserId());
rsInt = commonService.updateBmFavorite(dbParam);
if (rsInt > 0) {
result.setData("updateResult", updateStatus + ":" + rsInt);
} else {
result.setMsg(result.STATUS_ERROR, "업데이트 도중 오류가 발생하였습니다. 잠시 후 다시 시도해주시기 바랍니다.");
}
} catch (RuntimeException ex) {
result.setMsg(result.STATUS_ERROR, "업데이트 도중 오류가 발생하였습니다.", ex);
}
return result.getResult();
}
/**
* .
*
* @date 2017.12.22
* @param {} Map : { EMP_CD :"사용자 ID" }
* @returns mv List ( )
* @author Inswave
* @example
*/
@RequestMapping("/main/selectReleaseForMain")
public @ResponseBody Map<String, Object> selectReleaseForMain(@RequestBody Map<String, Object> param) {
Result result = new Result();
try {
Map dbParam = (Map) param.get("dma_search");
String totalSearch_Yn = (String) dbParam.get("TOTAL_YN"); // 총건수 조회 여부
Map totalCnt = null;
if ((String) dbParam.get("START_NUM") == null) {
dbParam.put("START_NUM", 0);
}
if ((String) dbParam.get("END_NUM") == null) {
dbParam.put("END_NUM", 5);
}
if ((String) dbParam.get("IS_USE") == null) {
dbParam.put("IS_USE", 'Y');
}
if ((String) dbParam.get("SEQ_ORDER") == null) {
dbParam.put("SEQ_ORDER", "DESC");
}
if ((String) dbParam.get("selectType") == null) {
dbParam.put("selectType", "S");// 요약
}
if (totalSearch_Yn == null) {
Map initMap = null;
result.setData("TOTAL_CNT", initMap);
} else {
if (totalSearch_Yn.equals("Y")) {
totalCnt = mainService.selectReleaseCnt();
result.setData("TOTAL_CNT", totalCnt);
} else {
Map initMap = null;
result.setData("TOTAL_CNT", initMap);
}
}
result.setData("dlt_release", mainService.selectRelease(dbParam));
} catch (RuntimeException ex) {
result.setMsg(result.STATUS_ERROR, null, ex);
}
return result.getResult();
}
/**
* ReleaseUpdate - release .
*
* @date 2017.12.22
* @param {} dlt_release ( Release ( C,U,D ) )
* @returns mv dlt_result ( ,, ), dlt_release ( ) author InswaveSystems
* @example
*/
@RequestMapping("/main/saveReleaseForMain")
public @ResponseBody Map<String, Object> saveReleaseForMain(@RequestBody Map<String, Object> param) {
Result result = new Result();
try {
Map release = mainService.saveRelease((List) param.get("dlt_release"));
result.setData("dma_result", release);
result.setMsg(result.STATUS_SUCESS, "Release관리 정보가 저장 되었습니다. 입력 : " + (String) release.get("ICNT") + "건, 수정 : " + (String) release.get("UCNT")
+ "건, 삭제 : " + (String) release.get("DCNT") + "건");
} catch (RuntimeException ex) {
result.setMsg(result.STATUS_ERROR, "Release관리 정보 저장도중 오류가 발생하였습니다.", ex);
}
return result.getResult();
}
/**
* ReleaseUpdate - .
*
* @date 2018.03.21
* @param {}
* @returns
*/
@RequestMapping("/main/selectShortcutList")
public @ResponseBody Map<String, Object> selectShortcutList(@RequestBody Map<String, Object> param) {
Result result = new Result();
Map dbParam = null;
String programCode = null;
try {
dbParam = (Map) param.get("dma_shortcut");
programCode = (String) dbParam.get("PROGRAM_CD");
if (programCode == null) {
throw new NullPointerException("프로그램 코드가 누락되었습니다.");
}
result.setData("dlt_shortcutList", commonService.selectShortcutList(programCode));
} catch(RuntimeException ex) {
result.setMsg(result.STATUS_ERROR, "단축키 조회 도중 오류가 발생하였습니다.", ex);
}
return result.getResult();
}
@RequestMapping("/main/updateShortcutList")
public @ResponseBody Map<String, Object> updateShortcutList(@RequestBody Map<String, Object> param) {
Result result = new Result();
try {
Map hash = commonService.updateShortcutList((List) param.get("dlt_updataShortcutList"));
result.setData("dma_shortcutMap", hash);
result.setMsg(result.STATUS_SUCESS, "단축키 정보가 업데이트 되었습니다. 입력 : " + (String) hash.get("ICNT") + "건, 수정 : " + (String) hash.get("UCNT") + "건, 삭제 : "
+ (String) hash.get("DCNT") + "건");
} catch(RuntimeException ex) {
result.setMsg(result.STATUS_ERROR, "단축키 업데이트 도중 오류가 발생하였습니다.", ex);
}
return result.getResult();
}
}

@ -0,0 +1,227 @@
package com.inswave.template.controller;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.inswave.template.service.MemberService;
import com.inswave.util.Result;
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
@SuppressFBWarnings
@Controller
public class MemberController {
@Autowired
private MemberService service;
/**
* searchMemberBasicOrganization - .
*
* @date 2017.12.22
* @returns mv dlt_memberOrganization ( )
* @author InswaveSystems
* @example
*/
@RequestMapping("/member/searchMemberBasicOrganization")
public @ResponseBody Map<String, Object> searchMemberBasicOrganization() {
Result result = new Result();
try {
result.setData("dlt_memberOrganization", service.selectMemberBasicOrganization());
result.setMsg(result.STATUS_SUCESS, "인사기본 소속 리스트가 조회되었습니다.");
} catch (RuntimeException ex) {
result.setMsg(result.STATUS_ERROR, "인사기본 소속 리스트를 가져오는 도중 오류가 발생하였습니다.", ex);
}
return result.getResult();
}
/**
* selectMemberSearchItem - .
*
* @date 2017.12.22
* @param {}
* @returns mv dlt_memberSearchItem ( )
* @author InswaveSystems
* @example
*/
@RequestMapping("/member/selectMemberSearchItem")
public @ResponseBody Map<String, Object> selectMemberSearchItem() {
Result result = new Result();
try {
result.setData("dlt_memberSearchItem", service.selectMemberSearchItem());
result.setMsg(result.STATUS_SUCESS, "인사기본관리 아이템 리스트가 조회 되었습니다.");
} catch (RuntimeException ex) {
result.setMsg(result.STATUS_ERROR, "인사기본관리 아이템 리스트를 가져오는 도중 오류가 발생하였습니다,", ex);
}
return result.getResult();
}
/**
* searchMemberBasic - .
*
* @date 2017.12.22
* @param {} dma_search { TYPE:"사원명 또는 사원코드 또는 직위 또는 소속", CONTENTS:"검색어", IS_USE:"사용여부" }
* @returns mv dlt_memberBasic ( )
* @author InswaveSystems
* @example
*/
@RequestMapping("/member/searchMemberBasic")
public @ResponseBody Map<String, Object> searchMemberBasic(@RequestBody Map<String, Object> param) {
Result result = new Result();
try {
result.setData("dlt_memberBasic", service.selectMemberBasic((Map) param.get("dma_search")));
result.setMsg(result.STATUS_SUCESS, "인사기본관리 리스트가 조회되었습니다.");
} catch (RuntimeException ex) {
result.setMsg(result.STATUS_ERROR, "인사기본관리 리스트를 가져오는 도중 오류가 발생하였습니다.", ex);
}
return result.getResult();
}
/**
* updateMemberBasic - .
*
* @date 2017.12.22
* @param {} dlt_memberBasic ( ( C,U,D ) )
* @returns mv dlt_result ( ,, ), dlt_memberBasic ( )
* @author InswaveSystems
* @example
*/
@RequestMapping("/member/updateMemberBasic")
public @ResponseBody Map<String, Object> updateMemberBasic(@RequestBody Map<String, Object> param) {
Result result = new Result();
try {
Map hash = service.saveMemberBasicList((List) param.get("dlt_memberBasic"));
result.setData("dma_result", hash);
result.setData("dlt_memberBasic", service.selectMemberBasic((Map) param.get("dma_search")));
result.setMsg(result.STATUS_SUCESS, "인사기본관리 정보가 저장 되었습니다. 입력 : " + (String) hash.get("ICNT") + "건, 수정 : " + (String) hash.get("UCNT") + "건, 삭제 : "
+ (String) hash.get("DCNT") + "건");
} catch (RuntimeException ex) {
result.setMsg(result.STATUS_ERROR, "인사기본관리 정보 저장도중 오류가 발생하였습니다.", ex);
}
return result.getResult();
}
/**
* .
*
* @param param
* @return
*/
@RequestMapping(value = "/member/selectMemberOragn")
public @ResponseBody Map<String, Object> selectMemberOragn(@RequestBody Map<String, Object> param) {
Result result = new Result();
try {
result.setData("data", service.selectMemberOragn((Map) param.get("dma_memberBasic")));
result.setMsg(result.STATUS_SUCESS, "개인 기본 데이터가 조회 되었습니다.");
} catch (RuntimeException ex) {
result.setMsg(result.STATUS_ERROR, "개인 기본 데이터 리스트를 가져오는 도중 오류가 발생하였습니다,", ex);
}
return result.getResult();
}
/**
* .
*
* @param param
* @return
*/
@RequestMapping(value = "/member/selectMemberFamily")
public @ResponseBody Map<String, Object> selectMemberFamily(@RequestBody Map<String, Object> param) {
Result result = new Result();
try {
result.setData("data", service.selectMemberFamilyList((Map) param.get("dma_memberBasic")));
result.setMsg(result.STATUS_SUCESS, "개인 기본 데이터가 조회 되었습니다.");
} catch (RuntimeException ex) {
result.setMsg(result.STATUS_ERROR, "개인 기본 데이터 리스트를 가져오는 도중 오류가 발생하였습니다,", ex);
}
return result.getResult();
}
/**
* .
*
* @param param
* @return
*/
@RequestMapping(value = "/member/selectMemberProject")
public @ResponseBody Map<String, Object> selectMemberProject(@RequestBody Map<String, Object> param) {
Result result = new Result();
try {
result.setData("data", service.selectMemberProjectList((Map) param.get("dma_memberBasic")));
result.setMsg(result.STATUS_SUCESS, "개인 기본 데이터가 조회 되었습니다.");
} catch (RuntimeException ex) {
result.setMsg(result.STATUS_ERROR, "개인 기본 데이터 리스트를 가져오는 도중 오류가 발생하였습니다,", ex);
}
return result.getResult();
}
@RequestMapping(value = "/member/saveMemberInfo")
public @ResponseBody Map<String, Object> saveMemberInfo(@RequestBody Map<String, Object> param) {
Result result = new Result();
Map hash = new HashMap();
try {
hash.put("basic", service.saveMemberBasic((Map) param.get("basic")));
result.setData("data", hash);
result.setMsg(result.STATUS_SUCESS, "개인 기본 데이터가 수정되었습니다..");
} catch (RuntimeException ex) {
result.setMsg(result.STATUS_ERROR, "개인 기본 데이터 리스트를 가져오는 도중 오류가 발생하였습니다,", ex);
}
return result.getResult();
}
@RequestMapping(value = "/member/saveMemberProject")
public @ResponseBody Map<String, Object> saveMemberProject(@RequestBody Map<String, Object> param) {
Result result = new Result();
Map hash = new HashMap();
try {
hash.put("project", service.saveMemberProject((List) param.get("project")));
result.setData("data", hash);
result.setMsg(result.STATUS_SUCESS, "프로젝트 정보 데이터가 수정되었습니다..");
} catch (RuntimeException ex) {
result.setMsg(result.STATUS_ERROR, "프로젝트 정보 리스트를 가져오는 도중 오류가 발생하였습니다,", ex);
}
return result.getResult();
}
@RequestMapping(value = "/member/saveMemberFamily")
public @ResponseBody Map<String, Object> saveMemberFamily(@RequestBody Map<String, Object> param) {
Result result = new Result();
Map hash = new HashMap();
try {
hash.put("family", service.saveMemberFamily((List) param.get("family")));
result.setData("data", hash);
result.setMsg(result.STATUS_SUCESS, "가족 정보 데이터가 수정되었습니다..");
} catch (RuntimeException ex) {
result.setMsg(result.STATUS_ERROR, "가족 데이터 리스트를 가져오는 도중 오류가 발생하였습니다,", ex);
}
return result.getResult();
}
/**
* .
*
* @param param
* @return
*/
@RequestMapping(value = "/member/selectZipCodeList")
public @ResponseBody Map<String, Object> selectZipCodeList(@RequestBody Map<String, Object> param) {
Result result = new Result();
try {
result.setData("data", service.selectZipCodeList((Map) param.get("param")));
result.setMsg(result.STATUS_SUCESS, "우편번호 데이터를 조회하였습니다.");
} catch (RuntimeException ex) {
result.setMsg(result.STATUS_ERROR, "우편번호 데이터 리스트를 가져오는 도중 오류가 발생하였습니다,", ex);
}
return result.getResult();
}
}

@ -0,0 +1,66 @@
package com.inswave.template.controller;
import java.util.List;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.inswave.template.service.MenuService;
import com.inswave.util.Result;
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
@SuppressFBWarnings
@Controller
public class MenuController {
@Autowired
private MenuService menuService;
/**
* searchMenu - .
*
* @date 2017.12.22
* @param {} dma_search { TYPE:"메뉴명 또는 메뉴코드 또는 부모메뉴명 또는 메뉴레벨", CONTENTS:"검색어", IS_USE:"사용여부" }
* @returns mv dlt_menu ( ) author InswaveSystems
* @example
*/
@RequestMapping("/menu/searchMenu")
public @ResponseBody Map<String, Object> searchMenu(@RequestBody Map<String, Object> param) {
Result result = new Result();
try {
result.setData("dlt_menu", menuService.selectMenu((Map) param.get("dma_search")));
result.setMsg(result.STATUS_SUCESS, "메뉴 리스트가 조회되었습니다.");
} catch (RuntimeException ex) {
result.setMsg(result.STATUS_ERROR, "메뉴 리스트를 가져오는 도중 오류가 발생하였습니다.", ex);
}
return result.getResult();
}
/**
* updateMenu - .
*
* @date 2017.12.22
* @param {} dlt_menu ( ( C,U,D ) ), dma_search { TYPE:"메뉴명 또는 메뉴코드 또는 부모메뉴명 또는 메뉴레벨", CONTENTS:"검색어" }
* @returns mv dlt_result ( ,, ), dlt_menu ( ) author InswaveSystems
* @example
*/
@RequestMapping("/menu/updateMenu")
public @ResponseBody Map<String, Object> updateMenu(@RequestBody Map<String, Object> param) {
Result result = new Result();
try {
Map hash = menuService.saveMenu((List) param.get("dlt_menu"));
result.setData("dma_result", hash);
result.setData("dlt_menu", menuService.selectMenu((Map) param.get("dma_search")));
result.setMsg(result.STATUS_SUCESS, "메뉴관리 정보가 저장 되었습니다. 입력 : " + (String) hash.get("ICNT") + "건, 수정 : " + (String) hash.get("UCNT") + "건, 삭제 : "
+ (String) hash.get("DCNT") + "건");
} catch (RuntimeException ex) {
result.setMsg(result.STATUS_ERROR, "메뉴관리 정보 저장도중 오류가 발생하였습니다.", ex);
}
return result.getResult();
}
}

@ -0,0 +1,107 @@
package com.inswave.template.controller;
import java.util.List;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.inswave.template.service.OrganizationService;
import com.inswave.util.Result;
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
@SuppressFBWarnings
@Controller
public class OrganizationController {
@Autowired
private OrganizationService service;
/**
* selectOrganizaionSearchItem - .
*
* @date 2017.12.22
* @returns mv dlt_organizaionSearchItem ( )
* @author Inswave
* @example
*/
@RequestMapping("/organization/selectOrganizaionSearchItem")
public @ResponseBody Map<String, Object> selectOrganizaionSearchItem() {
Result result = new Result();
try {
result.setData("dlt_organizationSearchItem", service.selectOrganizaionSearchItem());
result.setData("dlt_organizationBoss", service.selectOrganizationBoss());
result.setMsg(result.STATUS_SUCESS, "조직관리 아이템 리스트가 조회 되었습니다.");
} catch (Exception ex) {
result.setMsg(result.STATUS_ERROR, "조직관리 아이템 리스트를 가져오는 도중 오류가 발생하였습니다,", ex);
}
return result.getResult();
}
/**
* searchOrganization - .
*
* @date 2017.12.22
* @param {} dma_search { TYPE:"소속명칭 또는 소속코드 또는 상위소속명 또는 직책자", CONTENTS:"검색어", IS_USE:"사용여부" }
* @returns mv dlt_organizationBasic ( )
* @author Inswave
* @example
*/
@RequestMapping("/organization/searchOrganization")
public @ResponseBody Map<String, Object> searchOrganization(@RequestBody Map<String, Object> param) {
Result result = new Result();
try {
result.setData("dlt_organizationBasic", service.selectOrganization((Map) param.get("dma_search")));
result.setMsg(result.STATUS_SUCESS, "조직기본관리 리스트가 조회되었습니다.");
} catch (Exception ex) {
result.setMsg(result.STATUS_ERROR, "조직기본관리 리스트를 가져오는 도중 오류가 발생하였습니다.", ex);
}
return result.getResult();
}
/**
* updateOrganizationBasic
*
* @date 2017.12.22
* @param {} dlt_organizationBasic ( ( C,U,D ) )
* @returns mv dlt_result ( ,, ), dlt_organizationBasic ( )
* @author Inswave
* @example
*/
@RequestMapping("/organization/updateOrganizationBasic")
public @ResponseBody Map<String, Object> updateOrganizationBasic(@RequestBody Map<String, Object> param) {
Result result = new Result();
try {
Map hash = service.saveOrganizaionBasicList((List) param.get("dlt_organizationBasic"));
result.setData("dma_result", hash);
result.setData("dlt_organizationBasic", service.selectOrganization((Map) param.get("dma_search")));
result.setMsg(result.STATUS_SUCESS, "인사기본관리 정보가 저장 되었습니다. 입력 : " + (String) hash.get("ICNT") + "건, 수정 : " + (String) hash.get("UCNT") + "건, 삭제 : "
+ (String) hash.get("DCNT") + "건");
} catch (Exception ex) {
result.setMsg(result.STATUS_ERROR, "인사기본관리 정보 저장도중 오류가 발생하였습니다.", ex);
}
return result.getResult();
}
/**
* .
*
* @param param
* @return
*/
@RequestMapping(value = "/organization/selectOrganBasicList")
public @ResponseBody Map<String, Object> getOrganBasicList(@RequestBody Map<String, Object> param) {
Result result = new Result();
try {
result.setData("data", service.selectOrganizaionBasicList((Map) param.get("dlt_organizationBasic")));
result.setMsg(result.STATUS_SUCESS, "조직 정보를 조회하였습니다.");
} catch (Exception ex) {
result.setMsg(result.STATUS_ERROR, "조직 정보를 조회하였습니다.", ex);
}
return result.getResult();
}
}

@ -0,0 +1,154 @@
package com.inswave.template.controller;
import java.util.List;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.inswave.template.service.ProgramService;
import com.inswave.util.Result;
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
@SuppressFBWarnings
@Controller
public class ProgramController {
@Autowired
private ProgramService programService;
/**
* searchProgram - .
*
* @date 2017.12.22
* @param {} dma_search { TYPE:"프로그램명 또는 프로그램코드 또는 부모프로그램명 또는 프로그램레벨", CONTENTS:"검색어", IS_USE:"사용여부" }
* @returns mv dlt_program ( ) author InswaveSystems
* @example
*/
@RequestMapping("/program/searchProgram")
public @ResponseBody Map<String, Object> searchProgram(@RequestBody Map<String, Object> param) {
Result result = new Result();
try {
result.setData("dlt_program", programService.selectProgram((Map) param.get("dma_search")));
result.setMsg(result.STATUS_SUCESS, "프로그램 리스트가 조회되었습니다.");
} catch (Exception ex) {
result.setMsg(result.STATUS_ERROR, "프로그램 리스트를 가져오는 도중 오류가 발생하였습니다.", ex);
}
return result.getResult();
}
/**
* updateProgram - .
*
* @date 2017.12.22
* @param {} dlt_program ( ( C,U,D ) ), dma_search { TYPE:"프로그램명 또는 프로그램코드 또는 부모프로그램명 또는 프로그램레벨", CONTENTS:"검색어" }
* @returns mv dlt_result ( ,, ), dlt_program ( ) author InswaveSystems
* @example
*/
@RequestMapping("/program/updateProgram")
public @ResponseBody Map<String, Object> updateProgram(@RequestBody Map<String, Object> param) {
Result result = new Result();
try {
Map hash = programService.saveProgram((List) param.get("dlt_program"));
result.setData("dma_result", hash);
result.setData("dlt_program", programService.selectProgram((Map) param.get("dma_search")));
result.setMsg(result.STATUS_SUCESS, "프로그램관리 정보가 저장 되었습니다. 입력 : " + (String) hash.get("ICNT") + "건, 수정 : " + (String) hash.get("UCNT") + "건, 삭제 : "
+ (String) hash.get("DCNT") + "건");
} catch (Exception ex) {
result.setMsg(result.STATUS_ERROR, "프로그램관리 정보 저장도중 오류가 발생하였습니다.", ex);
}
return result.getResult();
}
/**
* updateProgram - .
*
* @date 2017.12.22
* @param {} dlt_program ( ( C,U,D ) ), dlt_programAuthority ( ( C,U,D ) )
* @returns mv dlt_result ( ,, ), dlt_program ( ) author InswaveSystems
* @example
*/
@RequestMapping("/program/saveProgramAll")
public @ResponseBody Map<String, Object> saveProgramAll(@RequestBody Map<String, Object> param) {
Result result = new Result();
try {
Map hash = programService.saveProgramAll((List) param.get("dlt_program"), (List) param.get("dlt_programAuthority"));
result.setData("dma_result_All", hash);
result.setMsg(result.STATUS_SUCESS,
"프로그램 별 권한 정보가 저장 되었습니다. 입력 프로그램 건수: " + (String) hash.get("ICNT_MENU") + "건 :: 입력 프로그램 권한 건수: " + (String) hash.get("ICNT_ACCESS")
+ "건 :: 수정 프로그램 건수: " + (String) hash.get("UCNT_MENU") + "건 :: 수정 프로그램 권한 건수: " + (String) hash.get("UCNT_ACCESS")
+ "건 :: 삭제 프로그램 건수: " + (String) hash.get("DCNT_MENU") + "건 :: 삭제 프로그램 권한 건수: " + (String) hash.get("DCNT_ACCESS") + "건");
} catch (Exception ex) {
result.setMsg(result.STATUS_ERROR, "권한 및 권한별 사원정보 삭제도중 오류가 발생하였습니다.", ex);
}
return result.getResult();
}
/**
* searchProgramAuthority - .
*
* @date 2017.12.22
* @param {} dma_program ( )
* @returns mv dlt_programAuthority ( ) author InswaveSystems
* @example
*/
@RequestMapping("/program/searchProgramAuthority")
public @ResponseBody Map<String, Object> searchProgramAuthority(@RequestBody Map<String, Object> param) {
Result result = new Result();
try {
result.setData("dlt_programAuthority", programService.selectProgramAuthority((Map) param.get("dma_program")));
result.setMsg(result.STATUS_SUCESS, "프로그램별 권한 리스트가 조회되었습니다.");
} catch (Exception ex) {
result.setMsg(result.STATUS_ERROR, "프로그램별 권한 리스트를 가져오는 도중 오류가 발생하였습니다.", ex);
}
return result.getResult();
}
/**
* updateProgramAuthority - .
*
* @date 2017.12.22
* @param {} dlt_programAuthority ( ( C,U,D ) ), dma_program { MENU_CD:"프로그램코드" }
* @returns mv dlt_result ( ,, ), dlt_programAuthority ( ) author InswaveSystems
* @example
*/
@RequestMapping("/program/updateProgramAuthority")
public @ResponseBody Map<String, Object> updateProgramAuthority(@RequestBody Map<String, Object> param) {
Result result = new Result();
try {
Map hash = programService.saveProgramAuthority((List) param.get("dlt_programAuthority"));
result.setData("dma_result", hash);
result.setData("dlt_programAuthority", programService.selectProgramAuthority((Map) param.get("dma_program")));
result.setMsg(result.STATUS_SUCESS, "프로그램별 권한 리스트가 저장 되었습니다. 입력 : " + (String) hash.get("ICNT") + "건, 수정 : " + (String) hash.get("UCNT")
+ "건, 삭제 : " + (String) hash.get("DCNT") + "건");
} catch (Exception ex) {
result.setMsg(result.STATUS_ERROR, "프로그램별 권한 리스트 저장도중 오류가 발생하였습니다.", ex);
}
return result.getResult();
}
/**
* excludeSelectProgramAuthority - .
*
* @date 2017.12.22
* @param {} dma_program { TYPE:"권한명 또는 권한코드", CONTENTS:"검색어", MENU_CD:"프로그램코드" }
* @returns mv dlt_programAuthority ( ) author InswaveSystems
* @example
*/
@RequestMapping("/program/excludeSelectProgramAuthority")
public @ResponseBody Map<String, Object> excludeSelectProgramAuthority(@RequestBody Map<String, Object> param) {
Result result = new Result();
try {
result.setData("dlt_programAuthority", programService.excludeSelectProgramAuthority((Map) param.get("dma_search")));
result.setMsg(result.STATUS_SUCESS, "프로그램별 권한 리스트가 조회되었습니다.");
} catch (Exception ex) {
result.setMsg(result.STATUS_ERROR, "프로그램별 권한 리스트를 가져오는 도중 오류가 발생하였습니다.", ex);
}
return result.getResult();
}
}

@ -0,0 +1,46 @@
package com.inswave.template.dao;
import java.util.List;
import java.util.Map;
import org.springframework.stereotype.Repository;
@Repository("authorityDao")
public interface AuthorityDao {
// 권한이 부여되지 않은 직원 리스트
public List<Map> excludeSelectAuthorityMemberList(Map param);
// 권한리스트 조회
public List<Map> selectAuthorityList(Map param);
public List<Map> selectAuthoritySearchItem();
// 권한이 부여된 사용자 리스트 조회
public List<Map> selectAuthorityMemberList(Map param);
// 권한 등록
public int insertAuthority(Map param);
// 권한 삭제
public int deleteAuthority(Map param);
// 권한 수정
public int updateAuthority(Map param);
// 권한별 등록사원 입력
public int insertAuthorityMember(Map param);
// 권한별 등록사원 삭제
public int deleteAuthorityMember(Map param);
/**
*
*
* @date 2016. 12. 05.
* @param
* @returns
* @author InswaveSystems
*/
public int deleteAuthorityMemberAll(Map param);
}

@ -0,0 +1,162 @@
package com.inswave.template.dao;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.springframework.stereotype.Repository;
@Repository
public interface CommonDao {
// 메뉴 조회 (로그인 사용자에게 권한이 있는 메뉴만 조회함)
public List<HashMap<String, Object>> selectMenuList(Map param);
// 메뉴 조회 (로그인 사용자에게 권한이 있는 메뉴만 조회함- 공통)
public List<HashMap<String, Object>> selectComMenuList(Map param);
// 사용자별 프로그램 권한 리스트 조회 (로그인 사용자에게 권한이 있는 프로그램 권한만 조회함)
public List selectProgramAuthorityList(Map param);
// 사용자별 프로그램 권한 리스트 조회 (로그인 사용자에게 권한이 있는 프로그램 권한만 조회함 - 공통)
public List selectComProgramList(Map param);
public List selectCommonSearchItem();
// 공통코드 및 코드 그룹 조회
public List selectCommonGroup(Map param);
public List selectCommonCode();
public List selectCommonCodeList(Map param);
// 공통코드 그룹 C, U, D
public int deleteCommonGrp(Map param);
public int insertCommonGrp(Map param);
public int updateCommonGrp(Map param);
// 공통코드 C, U, D
public int deleteCommonCode(Map param);
public int insertCommonCode(Map param);
public int updateCommonCode(Map param);
// 공통코드
public List<Map> selectCodeList(Map param);
// 사용자별 즐겨찾기 리스트
public List<Map> selectFavListByEmpCd(String empCd);
// 사용자별 즐겨찾기 리스트 (공통)
public List<Map> selectComFavListByEmpCd(String userId);
/**
* insert bmFavorite
*
* @date 2016. 8. 24.
* @param <MAP> #{EMP_CD}, #{MENU_CD}
* @author InswaveSystems
*/
public int insertBmFavorite(Map param);
/**
* delete bmFavorite
*
* @date 2016. 8. 24.
* @param <MAP> #{EMP_CD}, #{MENU_CD}
* @author InswaveSystems
*/
public int deleteBmFavorite(Map param);
/**
* update bmFavorite
*
* @date 2016. 8. 24.
* @param <MAP> #{EMP_CD}, #{MENU_CD}
* @author InswaveSystems
*/
public int updateBmFavorite(Map param);
// MAIN SETTING 관리
public int insertBmMainSetting(Map param);
public int updateBmMainSetting(Map param);
// MAIN SETTING 관리 (공통)
public int insertComMainSetting(Map param);
public int updateComMainSetting(Map param);
/**
* select BM_MAIN_SETTING by EMP_CD
*
* @date 2016. 8. 10.
* @param param EMP_CD MAP
* @returns <Map> BM_MAIN_SETTING - FAVORITE_STORAGE, MAIN_LAYOUT_PAGE_CODE
* @author InswaveSystems
*/
public Map selectBmMainSetting(Map param);
/**
* select COM_MAIN_SETTING by USER_ID
*
* @date 2019. 10. 21.
* @param param USER_ID MAP
* @returns <Map> BM_MAIN_SETTING - FAVORITE_STORAGE, MAIN_LAYOUT_PAGE_CODE
* @author InswaveSystems
*/
public Map selectComMainSetting(Map param);
/**
*
*
* @date 2016. 12. 05.
* @param
* @returns
* @author InswaveSystems
*/
public int deleteCommonCodeAll(Map param);
/**
*
*
* @date 2019. 03. 21.
* @param
* @returns
* @author InswaveSystems
*/
public List selectShortcutList(String programCd);
/**
*
*
* @date 2019. 03. 21.
* @param
* @returns
* @author InswaveSystems
*/
public int insertShortcut(Map param);
/**
*
*
* @date 2019. 03. 21.
* @param
* @returns
* @author InswaveSystems
*/
public int updateShortcut(Map param);
/**
*
*
* @date 2019. 03. 21.
* @param
* @returns
* @author InswaveSystems
*/
public int deleteShortcut(Map param);
}

@ -0,0 +1,18 @@
package com.inswave.template.dao;
import java.util.List;
import java.util.Map;
import org.springframework.stereotype.Repository;
@Repository("fileDao")
public interface FileDao {
public List<Map> selectFileGrp(Map param);
public int insertFileGrp(Map param);
public int insertFileList(Map param);
public List<Map> searchFileList(Map param);
}

@ -0,0 +1,21 @@
package com.inswave.template.dao;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.springframework.stereotype.Repository;
@Repository("loginDao")
public interface LoginDao {
// 사용자 정보 조회 (로그인 체크용도로 사용 )
public Map selectMemberInfoForLogin(Map param);
// 사용자 정보 조회 (로그인 체크용도로 사용 - 공통 )
public Map selectComMemberInfoForLogin(Map param);
// 사용자의 비밀번호를 업데이트한다.
public int updatePassword(Map param);
}

@ -0,0 +1,56 @@
package com.inswave.template.dao;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.springframework.stereotype.Repository;
@Repository("memberDao")
public interface MemberDao {
// 사용자 권한 정보 조회 (로그인시 )
public List<Map> selectLoginAuthCheck(Map param);
// 인사기본관리 조회
public List<Map> selectMemberBasicOrganization();
public List<Map> selectMemberBasic(Map param);
public List<Map> selectMemberSearchItem();
public List<Map> selectMemberOragn(Map param);
public List<Map> getLoginInfo(Map param);
public int insertMemberBasic(Map param);
public int updateMemberBasic(Map param);
public int deleteMemberBasic(Map param);
// 가족 정보
public List<Map> selectMemberFamilyList(Map param);
public int selectMemberFamilyMaxSeq(Map param);
public int insertMemberFamily(Map param);
public int updateMemberFamily(Map param);
public int deleteMemberFamily(Map param);
// 프로젝트 정보
public List<Map> selectMemberProjectList(Map param);
public int selectMemberProjectMaxSeq(Map param);
public int insertMemberProject(Map param);
public int updateMemberProject(Map param);
public int deleteMemberProject(Map param);
// 우편번호 조회
public List<Map> selectZipCodeList(Map param);
}

@ -0,0 +1,20 @@
package com.inswave.template.dao;
import java.util.List;
import java.util.Map;
import org.springframework.stereotype.Repository;
@Repository("menuDao")
public interface MenuDao {
// 메뉴관리 조회
public List<Map> selectMenu(Map param);
// 메뉴관리 C, U, D
public int insertMenu(Map param);
public int deleteMenu(Map param);
public int updateMenu(Map param);
}

@ -0,0 +1,27 @@
package com.inswave.template.dao;
import java.util.List;
import java.util.Map;
import org.springframework.stereotype.Repository;
@Repository("organizationDao")
public interface OrganizationDao {
// 조직기본관리 조회
public List<Map> selectOrganizaion(Map param);
public List<Map> selectOrganizaionBoss();
public List<Map> selectOrganizaionSearchItem();
public List<Map> selectOrganizaionBasicList(Map param);
// 조직기본관리 C, U, D
public int insertOrganizaionBasic(Map param);
public int updateOrganizaionBasic(Map param);
public int deleteOrganizaionBasic(Map param);
}

@ -0,0 +1,32 @@
package com.inswave.template.dao;
import java.util.List;
import java.util.Map;
import org.springframework.stereotype.Repository;
@Repository("programDao")
public interface ProgramDao {
// 프로그램관리 조회
public List<Map> selectProgram(Map param);
// 프로그램관리 C, U, D
public int insertProgram(Map param);
public int deleteProgram(Map param);
public int updateProgram(Map param);
// 프로그램별 접근프로그램 조회
public List<Map> selectProgramAuthority(Map param);
public List<Map> excludeSelectProgramAuthority(Map param);
// 프로그램별 접근프로그램 C, D
public int insertProgramAuthority(Map param);
public int updateProgramAuthority(Map param);
public int deleteProgramAuthority(Map param);
}

@ -0,0 +1,37 @@
package com.inswave.template.dao;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.springframework.stereotype.Repository;
@Repository("spReleaseInfoDao")
public interface SpReleaseInfoDao {
/**
* release
*
* @date 2016. 8. 25.
* @param <Map> #{IS_USE}, #{START_NUM} , #{END_NUM}, SEQ_ORDER
* @returns <List>
* @author InswaveSystems
*/
List selectReleaseForSummary(Map param);
// 메뉴관리 C, U, D
public int insertRelease(Map param);
public int deleteRelease(Map param);
public int updateRelease(Map param);
/**
* release
*
* @date 2016. 9. 12.
* @param <Map>
* @returns <List>
* @author InswaveSystems
*/
public Map selectReleaseCnt();
}

@ -0,0 +1,97 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.inswave.template.dao.AuthorityDao">
<select id="selectAuthorityList" resultType="Map" parameterType="Map">
SELECT AUTHORITY_CD, AUTHORITY_NM, IS_USE, NOTE
FROM BM_AUTHORITY
<where>
<if test="TYPE == 'AUTHORITY_CD'" >
AND AUTHORITY_CD LIKE '%' || #{CONTENT} || '%'
</if>
<if test="TYPE == 'AUTHORITY_NM'" >
AND AUTHORITY_NM LIKE '%' || #{CONTENT} || '%'
</if>
<if test="IS_USE != null and IS_USE != ''" >
AND IS_USE = #{IS_USE}
</if>
</where>
ORDER BY AUTHORITY_CD
</select>
<select id="selectAuthorityMemberList" resultType="java.util.HashMap" parameterType="Map">
SELECT C.AUTHORITY_CD, A.EMP_CD, A.EMP_NM, A.ORG_CD, B.ORG_NM, A.ASSIGNED_TASK
FROM HM_MEMBER_BASIC A, HM_ORGAN_BASIC B, HM_MEMBER_AUTHORITY C
WHERE A.ORG_CD = B.ORG_CD
AND A.EMP_CD = C.EMP_CD
AND C.AUTHORITY_CD = #{AUTHORITY_CD}
ORDER BY EMP_CD
</select>
<select id="excludeSelectAuthorityMemberList" resultType="Map" parameterType="String">
SELECT A.EMP_CD, A.EMP_NM, A.ORG_CD, B.ORG_NM, A.ASSIGNED_TASK
FROM HM_MEMBER_BASIC A, HM_ORGAN_BASIC B
WHERE A.ORG_CD = B.ORG_CD
AND A.EMP_CD NOT IN (SELECT A.EMP_CD
FROM HM_MEMBER_BASIC A, HM_ORGAN_BASIC B, HM_MEMBER_AUTHORITY C
WHERE A.ORG_CD = B.ORG_CD
AND A.EMP_CD = C.EMP_CD
AND C.AUTHORITY_CD = #{AUTHORITY_CD})
<if test="TYPE == 'EMP_CD'">
AND A.EMP_CD LIKE '%' || #{CONTENT} || '%'
</if>
<if test="TYPE == 'EMP_NM'">
AND A.EMP_NM LIKE '%' || #{CONTENT} || '%'
</if>
ORDER BY A.EMP_CD
</select>
<select id="selectAuthoritySearchItem" resultType="Map">
SELECT AUTHORITY_NM, AUTHORITY_CD
FROM BM_AUTHORITY
ORDER BY AUTHORITY_CD
</select>
<delete id="deleteAuthority" parameterType="java.util.HashMap">
DELETE FROM BM_AUTHORITY
WHERE AUTHORITY_CD = #{AUTHORITY_CD}
</delete>
<insert id="insertAuthority" parameterType="java.util.HashMap">
INSERT INTO BM_AUTHORITY(AUTHORITY_CD, AUTHORITY_NM, IS_USE, NOTE )
VALUES (#{AUTHORITY_CD}, #{AUTHORITY_NM}, #{IS_USE}, #{NOTE} )
</insert>
<update id="updateAuthority" parameterType="java.util.HashMap">
UPDATE BM_AUTHORITY
SET AUTHORITY_NM = #{AUTHORITY_NM}, IS_USE = #{IS_USE}
WHERE AUTHORITY_CD = #{AUTHORITY_CD}
</update>
<insert id="insertAuthorityMember" parameterType="java.util.HashMap" >
INSERT INTO HM_MEMBER_AUTHORITY(EMP_CD, AUTHORITY_CD)
VALUES (#{EMP_CD}, #{AUTHORITY_CD})
</insert>
<delete id="deleteAuthorityMember" parameterType="java.util.HashMap">
DELETE FROM HM_MEMBER_AUTHORITY
<where>
<if test="EMP_CD != null and EMP_CD != ''">
AND EMP_CD = #{EMP_CD}
</if>
<if test="AUTHORITY_CD != null and AUTHORITY_CD != ''">
AND AUTHORITY_CD = #{AUTHORITY_CD}
</if>
</where>
</delete>
<delete id="deleteAuthorityMemberAll" parameterType="java.util.HashMap">
DELETE FROM HM_MEMBER_AUTHORITY
WHERE AUTHORITY_CD = #{AUTHORITY_CD}
</delete>
</mapper>

@ -0,0 +1,299 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.inswave.template.dao.CommonDao">
<!-- 코드 테이블의 전체 데이타 읽어오기 IS_USE = 'Y' -->
<select id="selectCommonCode" resultType="Map" parameterType="Map">
SELECT A.GRP_CD, A.COM_CD, A.CODE_NM, A.SORT_ORDER
FROM BM_CODE A, BM_CODE_GRP B
WHERE B.GRP_CD = A.GRP_CD
AND B.IS_USE = 'Y'
AND A.IS_USE = 'Y'
ORDER BY A.GRP_CD, A.SORT_ORDER
</select>
<!-- 코드 테이블의 전체 데이타 읽어오기 IS_USE = 'Y' -->
<select id="selectCodeList" resultType="Map">
SELECT A.GRP_CD, A.COM_CD, A.CODE_NM, A.SORT_ORDER
FROM BM_CODE A, BM_CODE_GRP B
WHERE B.GRP_CD = A.GRP_CD
AND B.IS_USE = 'Y'
AND A.IS_USE = 'Y'
AND A.GRP_CD IN
<foreach collection="CODE" item="item" index="index" open="(" close=")" separator=",">
#{item}
</foreach>
ORDER BY A.GRP_CD, A.SORT_ORDER
</select>
<!-- 코드 테이블의 데이타 읽어오기 GRP_CD = ? -->
<select id="selectCommonCodeList" resultType="Map">
SELECT GRP_CD, COM_CD, CODE_NM, SORT_ORDER, IS_USE, ATTR_VALUE1, ATTR_VALUE2, ATTR_VALUE2, NOTE
FROM BM_CODE A
WHERE A.GRP_CD = #{GRP_CD}
ORDER BY A.SORT_ORDER
</select>
<select id="selectCommonSearchItem" resultType="Map">
SELECT GRP_CD, GRP_NM, NOTE
FROM BM_CODE_GRP
ORDER BY GRP_CD
</select>
<!-- 사용자별 메뉴 리스트 -->
<select id="selectMenuList" resultType="Map" parameterType="Map">
SELECT DISTINCT ME.MENU_CD
, ME.MENU_NM
, ME.PARENT_MENU_CD
, ME.SORT_ORDER
, ME.MENU_LEVEL
, ME.PROGRAM_CD
, PR.SRC_PATH
FROM BM_MENU ME
LEFT OUTER JOIN BM_PROGRAM PR ON ME.PROGRAM_CD = PR.PROGRAM_CD
LEFT OUTER JOIN BM_PROGRAM_AUTHORITY AP ON PR.PROGRAM_CD = AP.PROGRAM_CD
LEFT OUTER JOIN HM_MEMBER_AUTHORITY MA ON AP.AUTHORITY_CD = MA.AUTHORITY_CD
WHERE ME.PROGRAM_CD IS NULL
OR ME.PROGRAM_CD = ''
OR MA.EMP_CD = #{EMP_CD}
AND ME.IS_USE = 'Y'
AND PR.IS_USE = 'Y'
ORDER BY ME.MENU_CD, ME.SORT_ORDER
</select>
<!-- 사용자별 메뉴 리스트 (공통)-->
<select id="selectComMenuList" resultType="Map" parameterType="Map">
/** selectComMenuList */
SELECT *
FROM (
SELECT CM.MENU_CD
, CM.MENU_NM
, CM.PARENT_MENU_CD
, CM.SORT_ORDER
, CM.MENU_LEVEL
, CM.PROGRAM_CD
, CP.SRC_PATH
, (
SELECT COUNT(*)
FROM DBUSER_COM.TB_COM_MENU SCM
LEFT OUTER JOIN DBUSER_COM.TB_COM_PROGRAM SCP ON SCM.PROGRAM_CD = SCP.PROGRAM_CD AND SCM.SYSTEM_CD = SCP.SYSTEM_CD
LEFT OUTER JOIN DBUSER_COM.TB_COM_PROGRAM_AUTHORITY SCPA ON SCP.PROGRAM_CD = SCPA.PROGRAM_CD AND SCP.SYSTEM_CD = SCPA.SYSTEM_CD AND SCP.IS_USE = 'Y'
WHERE SCM.IS_USE = 'Y'
AND SCM.SYSTEM_CD = 'fis'
AND (
SCPA.USER_ID = #{USER_ID} OR SCP.PROGRAM_CD IS NULL
)
AND CM.MENU_CD = SCM.PARENT_MENU_CD
) AS MENU_CNT
FROM DBUSER_COM.TB_COM_MENU CM
LEFT OUTER JOIN DBUSER_COM.TB_COM_PROGRAM CP ON CM.PROGRAM_CD = CP.PROGRAM_CD AND CM.SYSTEM_CD = CP.SYSTEM_CD
LEFT OUTER JOIN DBUSER_COM.TB_COM_PROGRAM_AUTHORITY CPA ON CP.PROGRAM_CD = CPA.PROGRAM_CD AND CP.SYSTEM_CD = CPA.SYSTEM_CD AND CP.IS_USE = 'Y'
WHERE CM.IS_USE = 'Y'
AND CM.SYSTEM_CD = 'fis'
AND (
CPA.USER_ID = #{USER_ID} OR CP.PROGRAM_CD IS NULL
)
) AS MENU
WHERE MENU_CNT > 0 OR SRC_PATH IS NOT NULL
ORDER BY MENU_CD , SORT_ORDER
</select>
<!-- 사용자별 프로그램 권한 리스트 -->
<select id="selectProgramAuthorityList" resultType="Map" parameterType="Map">
SELECT DISTINCT PA.PROGRAM_CD
, PA.IS_AUTH_SELECT
, PA.IS_AUTH_SAVE
, PA.IS_AUTH_EXCEL
FROM HM_MEMBER_AUTHORITY MA INNER JOIN BM_PROGRAM_AUTHORITY PA ON MA.AUTHORITY_CD = PA.AUTHORITY_CD
WHERE MA.EMP_CD = #{EMP_CD}
</select>
<!-- 사용자별 프로그램 권한 리스트 (공통)-->
<select id="selectComProgramList" resultType="Map" parameterType="Map">
/** selectComProgramList */
SELECT CPA.PROGRAM_CD
, NVL(CPA.IS_AUTH_SELECT, 'N') AS IS_AUTH_SELECT
, NVL(CPA.IS_AUTH_SAVE, 'N') AS IS_AUTH_SAVE
, NVL(CPA.IS_AUTH_EXCEL, 'N') AS IS_AUTH_EXCEL
FROM DBUSER_COM.TB_COM_PROGRAM CP
INNER JOIN DBUSER_COM.TB_COM_PROGRAM_AUTHORITY CPA ON CP.PROGRAM_CD = CPA.PROGRAM_CD AND CP.SYSTEM_CD = CPA.SYSTEM_CD
WHERE CP.SYSTEM_CD = 'fis'
AND CP.IS_USE = 'Y'
AND CPA.USER_ID = #{USER_ID}
</select>
<!-- 공통 코드그룹 리스트 -->
<select id="selectCommonGroup" resultType="Map" parameterType="Map">
SELECT *
FROM BM_CODE_GRP
<where>
<if test="TYPE == 'GRP_NM'">
AND GRP_NM LIKE '%' || #{CONTENT} || '%'
</if>
<if test="TYPE == 'GRP_CD'">
AND GRP_CD LIKE '%' || #{CONTENT} || '%'
</if>
<if test="TYPE == 'NOTE'">
AND NOTE LIKE '%' || #{CONTENT} || '%'
</if>
<if test="IS_USE != 'all'">
AND IS_USE = #{IS_USE}
</if>
</where>
ORDER BY GRP_CD
</select>
<delete id="deleteCommonGrp" parameterType="java.util.Map">
DELETE FROM BM_CODE_GRP WHERE GRP_CD = #{GRP_CD_ORG}
</delete>
<insert id="insertCommonGrp" parameterType="java.util.Map" >
INSERT INTO BM_CODE_GRP(GRP_CD, GRP_NM, SORT_ORDER, IS_USE, NOTE)
VALUES (#{GRP_CD}, #{GRP_NM}, #{SORT_ORDER}, #{IS_USE}, #{NOTE})
</insert>
<update id="updateCommonGrp" parameterType="java.util.Map">
UPDATE BM_CODE_GRP
SET GRP_CD = #{GRP_CD},GRP_NM = #{GRP_NM}, SORT_ORDER = #{SORT_ORDER}, IS_USE = #{IS_USE}, NOTE = #{NOTE}
WHERE GRP_CD = #{GRP_CD_ORG}
</update>
<delete id="deleteCommonCodeAll" parameterType="java.util.Map">
DELETE FROM BM_CODE
WHERE GRP_CD = #{GRP_CD_ORG}
</delete>
<delete id="deleteCommonCode" parameterType="java.util.Map">
DELETE FROM BM_CODE
WHERE GRP_CD = #{GRP_CD} AND COM_CD = #{COM_CD_ORG}
</delete>
<insert id="insertCommonCode" parameterType="java.util.Map" >
INSERT INTO BM_CODE(GRP_CD, COM_CD, CODE_NM, SORT_ORDER, IS_USE, ATTR_VALUE1, ATTR_VALUE2, ATTR_VALUE3, NOTE )
VALUES (#{GRP_CD}, #{COM_CD}, #{CODE_NM}, #{SORT_ORDER}, #{IS_USE}, #{ATTR_VALUE1}, #{ATTR_VALUE2}, #{ATTR_VALUE3}, #{NOTE} )
</insert>
<update id="updateCommonCode" parameterType="java.util.Map">
UPDATE BM_CODE
SET COM_CD = #{COM_CD}, CODE_NM = #{CODE_NM}, SORT_ORDER = #{SORT_ORDER}, IS_USE = #{IS_USE}, ATTR_VALUE1 = #{ATTR_VALUE1}
, ATTR_VALUE2 = #{ATTR_VALUE2}, ATTR_VALUE3 = #{ATTR_VALUE3}, NOTE = #{NOTE}
WHERE GRP_CD = #{GRP_CD}
AND COM_CD = #{COM_CD_ORG}
</update>
<select id="selectFavListByEmpCd" resultType="Map" parameterType="String">
SELECT M.MENU_CD, M.MENU_NM, M.SRC_PATH
FROM (SELECT M.MENU_CD, M.MENU_NM, P.SRC_PATH
FROM BM_MENU M, BM_PROGRAM P
WHERE M.PROGRAM_CD = P.PROGRAM_CD
AND M.IS_USE='Y') M,
(SELECT EMP_CD, MENU_CD
FROM BM_FAVORITE
WHERE EMP_CD = #{EMP_CD}) F
WHERE F.MENU_CD = M.MENU_CD
ORDER BY M.MENU_NM
</select>
<select id="selectComFavListByEmpCd" resultType="Map" parameterType="String">
/** selectComFavListByEmpCd */
SELECT M.MENU_CD, M.MENU_NM, M.SRC_PATH
FROM (SELECT M.MENU_CD, M.MENU_NM, P.SRC_PATH
FROM DBUSER_COM.TB_COM_MENU M, DBUSER_COM.TB_COM_PROGRAM P
WHERE M.PROGRAM_CD = P.PROGRAM_CD
AND M.SYSTEM_CD = 'fis'
AND M.IS_USE='Y') M,
(SELECT EMP_CD, MENU_CD
FROM BM_FAVORITE
WHERE EMP_CD = #{USER_ID}) F
WHERE F.MENU_CD = M.MENU_CD
ORDER BY M.MENU_NM
</select>
<insert id="insertBmFavorite" parameterType="java.util.HashMap" >
INSERT INTO BM_FAVORITE(EMP_CD, MENU_CD)
VALUES (#{EMP_CD}, #{MENU_CD})
</insert>
<delete id="deleteBmFavorite" parameterType="java.util.HashMap">
DELETE FROM BM_FAVORITE
WHERE EMP_CD = #{EMP_CD} AND MENU_CD = #{MENU_CD}
</delete>
<insert id="insertBmMainSetting" parameterType="map">
INSERT INTO BM_MAIN_SETTING(EMP_CD, MAIN_LAYOUT_PAGE_CODE, IS_USE_SHORTCUT)
VALUES (#{EMP_CD}, #{MAIN_LAYOUT_PAGE_CODE}, #{IS_USE_SHORTCUT})
</insert>
<insert id="insertComMainSetting" parameterType="map">
/** insertComMainSetting */
INSERT INTO BM_MAIN_SETTING(EMP_CD, MAIN_LAYOUT_PAGE_CODE, IS_USE_SHORTCUT)
VALUES (#{USER_ID}, #{MAIN_LAYOUT_PAGE_CODE}, #{IS_USE_SHORTCUT})
</insert>
<update id="updateBmFavorite" parameterType="java.util.HashMap">
UPDATE BM_FAVORITE
SET MENU_CD = #{MENU_CD}
WHERE EMP_CD = #{EMP_CD}
</update>
<!-- bmMainSetting update -->
<update id="updateBmMainSetting" parameterType="java.util.HashMap">
UPDATE BM_MAIN_SETTING
SET MAIN_LAYOUT_PAGE_CODE = #{MAIN_LAYOUT_PAGE_CODE},
IS_USE_SHORTCUT = #{IS_USE_SHORTCUT}
WHERE EMP_CD = #{EMP_CD}
</update>
<!-- ComMainSetting update -->
<update id="updateComMainSetting" parameterType="java.util.HashMap">
/** updateComMainSetting */
UPDATE BM_MAIN_SETTING
SET MAIN_LAYOUT_PAGE_CODE = #{MAIN_LAYOUT_PAGE_CODE},
IS_USE_SHORTCUT = #{IS_USE_SHORTCUT}
WHERE EMP_CD = #{USER_ID}
</update>
<select id="selectBmMainSetting" parameterType="Map" resultType="Map">
SELECT MAIN_LAYOUT_PAGE_CODE, IS_USE_SHORTCUT
FROM BM_MAIN_SETTING
WHERE EMP_CD = #{EMP_CD}
</select>
<select id="selectComMainSetting" parameterType="Map" resultType="Map">
/** selectComMainSetting */
SELECT MAIN_LAYOUT_PAGE_CODE, IS_USE_SHORTCUT
FROM BM_MAIN_SETTING
WHERE EMP_CD = #{USER_ID}
</select>
<select id="selectShortcutList" parameterType="String" resultType="Map">
SELECT *
FROM BM_SHORTCUT
WHERE PROGRAM_CD = #{programCd}
</select>
<!-- shortCut insert -->
<insert id="insertShortcut" parameterType="Map" >
INSERT INTO BM_SHORTCUT(PROGRAM_CD, COMPLEX_KEY, LAST_KEY, EVENT_TYPE, EVENT_TARGET, EVENT_DETAIL, EVENT_YN, EVENT_NAME)
VALUES (#{PROGRAM_CD}, #{COMPLEX_KEY}, #{LAST_KEY}, #{EVENT_TYPE}, #{EVENT_TARGET}, #{EVENT_DETAIL}, #{EVENT_YN}, #{EVENT_NAME})
</insert>
<!-- shortCut update -->
<update id="updateShortcut" parameterType="Map">
UPDATE BM_SHORTCUT
SET PROGRAM_CD = #{PROGRAM_CD},
COMPLEX_KEY = #{COMPLEX_KEY},
LAST_KEY = #{LAST_KEY},
EVENT_TYPE = #{EVENT_TYPE},
EVENT_TARGET = #{EVENT_TARGET},
EVENT_DETAIL = #{EVENT_DETAIL},
EVENT_YN = #{EVENT_YN},
EVENT_NAME = #{EVENT_NAME}
WHERE SHORTCUT_SEQ = #{SHORTCUT_SEQ}
</update>
<!-- shortCut delete -->
<delete id="deleteShortcut" parameterType="Map">
DELETE FROM BM_SHORTCUT
WHERE SHORTCUT_SEQ = #{SHORTCUT_SEQ}
</delete>
</mapper>

@ -0,0 +1,70 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.inswave.template.dao.FileDao">
<select id="selectFileGrp" resultType="Map" parameterType="Map">
WITH RECURSIVE cte AS
(
SELECT *, 1 AS MENU_DEPTH
FROM BM_FILE_GRP
WHERE FILE_GRP_SEQ_PARENT = '0'
UNION ALL
SELECT r.*, cte.MENU_DEPTH + 1 as MENU_DEPTH
FROM BM_FILE_GRP r
INNER JOIN cte
ON r.FILE_GRP_SEQ_PARENT = cte.FILE_GRP_SEQ
)
SELECT * FROM cte ORDER BY FILE_GRP_SEQ;
</select>
<insert id="insertFileGrp" parameterType="Map">
INSERT INTO BM_FILE_GRP(
FILE_GRP_SEQ_PARENT
, FILE_GRP_CD
, FILE_GRP_NM
, FILE_STORED_PATH
, SORT_ORDER
, FILE_MAX_COUNT
, FILE_MAX_SIZE
, ALLOWED_EXTENSION
, DENIED_EXTENSION
) VALUES (
#{FILE_GRP_SEQ_PARENT}
, #{FILE_GRP_CD}
, #{FILE_GRP_NM}
, #{FILE_STORED_PATH}
, #{SORT_ORDER}
, #{FILE_MAX_COUNT}
, #{FILE_MAX_SIZE}
, #{ALLOWED_EXTENSION}
, #{DENIED_EXTENSION}
)
</insert>
<insert id="insertFileList" parameterType="Map">
INSERT INTO BM_FILE(
FILE_SEQ,
DATA_SEQ,
FILE_GRP_SEQ,
STORED_FILE_NM,
ORIGIN_FILE_NM,
FILE_SIZE,
FILE_UPLOAD_DATE,
FILE_MODIFIED_DATE
) VALUES (
#{FILE_SEQ},
#{DATA_SEQ},
#{FILE_GRP_SEQ},
#{STORED_FILE_NM},
#{ORIGIN_FILE_NM},
#{FILE_SIZE},
#{FILE_UPLOAD_DATE},
#{FILE_MODIFIED_DATE}
);
</insert>
<select id="searchFileList" resultType="Map" parameterType="Map">
<!-- TODO -->
SELECT * FROM BM_FILE;
</select>
</mapper>

@ -0,0 +1,55 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.inswave.template.dao.LoginDao">
<select id="selectMemberInfoForLogin" resultType="java.util.Map" parameterType="java.util.Map">
/** selectMemberInfoForLogin */
SELECT p.EMP_CD
, p.EMP_NM
, p.PASSWORD
, b.MAIN_LAYOUT_PAGE_CODE
, b.IS_USE_SHORTCUT
FROM (
SELECT *
FROM HM_MEMBER_BASIC
WHERE EMP_CD = #{EMP_CD}
) p
LEFT JOIN BM_MAIN_SETTING b ON p.EMP_CD = b.EMP_CD
</select>
<select id="selectComMemberInfoForLogin" resultType="java.util.Map" parameterType="java.util.Map">
/** selectComMemberInfoForLogin */
SELECT CM.USER_ID
, CM.EMP_CD
, CM.EMP_NM
, CM.EMP_CN_NM
, CM.EMP_EN_NM
, CM.USER_PW
<!-- , #{PASSWORD} AS "USER_PW" -->
<!-- , #{PASSWORD} AS "PASSWORD" -->
, FN_DECRYPT('PASSWD', #{PASSWORD}) AS "PASSWORD"
, CM.OFCPS_NM
, CM.RSPOFC_NM
, CM.PSITN_NM
, CM.TELNO
, CM.MOBLPHON
, CM.EMAIL
, CM.REGISTER
, CM.REGIST_DT
, CM.UPDUSR
, CM.UPDT_DT
, BMS.MAIN_LAYOUT_PAGE_CODE
, BMS.IS_USE_SHORTCUT
FROM DBUSER_COM.TB_COM_MEMBER CM
LEFT OUTER JOIN BM_MAIN_SETTING BMS ON CM.USER_ID = BMS.EMP_CD
WHERE CM.USER_ID = #{USER_ID}
AND CM.DELETE_AT = 'N'
</select>
<update id="updatePassword" parameterType="java.util.Map">
UPDATE HM_MEMBER_BASIC
SET PASSWORD = #{NEW_PASSWORD}
WHERE EMP_CD = #{EMP_CD}
</update>
</mapper>

@ -0,0 +1,200 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.inswave.template.dao.MemberDao">
<select id="selectLoginAuthCheck" resultType="Map" parameterType="Map">
SELECT AUTHORITY_CD
FROM HM_MEMBER_AUTHORITY
WHERE EMP_CD = #{EMP_CD}
</select>
<select id="selectMemberBasicOrganization" resultType="Map">
SELECT ORG_NM, ORG_CD
FROM HM_ORGAN_BASIC
ORDER BY ORG_CD
</select>
<select id="selectMemberBasic" resultType="Map" parameterType="Map">
SELECT a.EMP_CD, EMP_NM, EMP_CN_NM, EMP_EN_NM, RESIDENT_NO, JOIN_DATE, JOIN_CLASS_CD,
POSITION_CD, DUTY_CD, LAST_APPOINT_DATE, POSITION_UPDATED_DATE, ORG_CD,
JOB_FAMILY_CD, JOB_CD, ASSIGNED_TASK, OFFICE_PHONE1, OFFICE_PHONE2, OFFICE_PHONE3,
HOME_PHONE1, HOME_PHONE2, HOME_PHONE3, CELL_PHONE1, CELL_PHONE2, CELL_PHONE3,
EMAIL, RELIGION_CD, LAST_SCHOOL_NM, MAJOR_NM, SCHOOL_CAREER_CD, HOUSE_KIND_CD,
ZIP_CD, ADDRESS1, ADDRESS2, IS_VETERAN_WELFARE, IS_MILITARY_SERVICE, BIRTH_DATE,
IS_LUNAR, HOPPY, TALENT, RETIRE_REASON, IS_MARRIAGE
FROM HM_MEMBER_BASIC a
<where>
<if test="TYPE == 'EMP_NM'">
AND EMP_NM LIKE '%' || #{CONTENT} || '%'
</if>
<if test="TYPE == 'EMP_CD'">
AND EMP_CD LIKE '%' || #{CONTENT} || '%'
</if>
<if test="TYPE == 'POSITION_CD'">
<if test="CONTENT == ''">
AND EMP_CD IS NOT NULL
</if>
<if test="CONTENT != ''">
AND POSITION_CD = #{CONTENT}
</if>
</if>
<if test="TYPE == 'ORG_CD'">
<if test="CONTENT == ''">
AND EMP_CD IS NOT NULL
</if>
<if test="CONTENT != ''">
AND ORG_CD = #{CONTENT}
</if>
</if>
</where>
ORDER BY EMP_CD
</select>
<select id="selectMemberSearchItem" resultType="Map">
select EMP_NM, EMP_CD from HM_MEMBER_BASIC
</select>
<select id="selectMemberOragn" resultType="Map" parameterType="Map">
SELECT HPB.EMP_CD, HPB.EMP_NM, HPB.EMP_CN_NM, HPB.EMP_EN_NM, HPB.PASSWORD, HPB.RESIDENT_NO, HPB.JOIN_DATE, HOB.ORG_NM
, HPB.JOIN_CLASS_CD, HPB.POSITION_CD, HPB.DUTY_CD, HPB.LAST_APPOINT_DATE, HPB.POSITION_UPDATED_DATE, HPB.ORG_CD
, HPB.OFFICE_PHONE1, HPB.OFFICE_PHONE2, HPB.OFFICE_PHONE3, HPB.HOME_PHONE1, HPB.HOME_PHONE2, HPB.HOME_PHONE3, HPB.CELL_PHONE1
, HPB.JOB_FAMILY_CD, HPB.JOB_CD, HPB.ASSIGNED_TASK, HPB.CELL_PHONE2, HPB.CELL_PHONE3, HPB.EMAIL, HPB.RELIGION_CD
, HPB.LAST_SCHOOL_NM, HPB.MAJOR_NM, HPB.SCHOOL_CAREER_CD, HPB.HOUSE_KIND_CD, HPB.IS_VETERAN_WELFARE, HPB.ZIP_CD
, HPB.ADDRESS1, HPB.ADDRESS2, HPB.IS_MILITARY_SERVICE, HPB.BIRTH_DATE, HPB.IS_LUNAR, HPB.IS_MARRIAGE, HPB.HOPPY
, HPB.TALENT, HPB.RETIRE_REASON, HPB.IMAGE_PATH
FROM HM_MEMBER_BASIC HPB
INNER JOIN HM_ORGAN_BASIC HOB ON HPB.ORG_CD = HOB.ORG_CD
<where>
<if test="EMP_CD != ''">
AND HPB.EMP_CD = #{EMP_CD}
</if>
<if test="EMP_NM != ''">
AND HPB.EMP_NM LIKE '%' || #{EMP_NM} || '%'
</if>
</where>
</select>
<insert id="insertMemberBasic" parameterType="Map">
INSERT INTO HM_MEMBER_BASIC(EMP_CD, EMP_NM, RESIDENT_NO, JOIN_DATE, JOIN_CLASS_CD
, POSITION_CD, DUTY_CD, LAST_APPOINT_DATE, POSITION_UPDATED_DATE, ORG_CD, JOB_FAMILY_CD, JOB_CD, ASSIGNED_TASK
, OFFICE_PHONE1, OFFICE_PHONE2, OFFICE_PHONE3, HOME_PHONE1, HOME_PHONE2, HOME_PHONE3, CELL_PHONE1, CELL_PHONE2
, CELL_PHONE3, EMAIL, RELIGION_CD, LAST_SCHOOL_NM, MAJOR_NM, SCHOOL_CAREER_CD, HOUSE_KIND_CD
, ZIP_CD, ADDRESS1, ADDRESS2, IS_VETERAN_WELFARE, IS_MILITARY_SERVICE, BIRTH_DATE, IS_LUNAR, IS_MARRIAGE
, HOPPY, TALENT, RETIRE_REASON, IMAGE_PATH)
VALUES (#{EMP_CD}, #{EMP_NM}, #{EMP_CN_NM}, #{EMP_EN_NM}, #{PASSWORD}, #{RESIDENT_NO}, #{JOIN_DATE}
, #{JOIN_CLASS_CD}, #{POSITION_CD}, #{DUTY_CD}
, #{LAST_APPOINT_DATE}, #{POSITION_UPDATED_DATE}
, #{ORG_CD}, #{JOB_FAMILY_CD}, #{JOB_CD}, #{ASSIGNED_TASK}
, #{OFFICE_PHONE1}, #{OFFICE_PHONE2}, #{OFFICE_PHONE3}, #{HOME_PHONE1}, #{HOME_PHONE2}, #{HOME_PHONE3}, #{CELL_PHONE1}, #{CELL_PHONE2}
, #{CELL_PHONE3}, #{EMAIL}, #{RELIGION_CD}, #{LAST_SCHOOL_NM}, #{MAJOR_NM}, #{SCHOOL_CAREER_CD}, #{HOUSE_KIND_CD}
, #{ZIP_CD}, #{ADDRESS1}, #{ADDRESS2}, #{IS_VETERAN_WELFARE}, #{IS_MILITARY_SERVICE}, #{BIRTH_DATE}
, #{IS_LUNAR}, #{IS_MARRIAGE}, #{HOPPY}, #{TALENT}, #{RETIRE_REASON}, #{IMAGE_PATH})
</insert>
<update id="updateMemberBasic" parameterType="Map">
UPDATE HM_MEMBER_BASIC
SET EMP_NM = #{EMP_NM}, EMP_CN_NM = #{EMP_CN_NM}, EMP_EN_NM = #{EMP_EN_NM}, RESIDENT_NO = #{RESIDENT_NO}
, JOIN_DATE = #{JOIN_DATE}, JOIN_CLASS_CD = #{JOIN_CLASS_CD}
, POSITION_CD = #{POSITION_CD}, DUTY_CD = #{DUTY_CD}
, LAST_APPOINT_DATE = #{LAST_APPOINT_DATE}, POSITION_UPDATED_DATE = #{POSITION_UPDATED_DATE}
, ORG_CD = #{ORG_CD}, JOB_FAMILY_CD = #{JOB_FAMILY_CD}
, JOB_CD = #{JOB_CD}, ASSIGNED_TASK = #{ASSIGNED_TASK}, OFFICE_PHONE1 = #{OFFICE_PHONE1}, OFFICE_PHONE2 = #{OFFICE_PHONE2}
, OFFICE_PHONE3 = #{OFFICE_PHONE3}, HOME_PHONE1 = #{HOME_PHONE1}, HOME_PHONE2 = #{HOME_PHONE2}
, HOME_PHONE3 = #{HOME_PHONE3}, CELL_PHONE1 = #{CELL_PHONE1}, CELL_PHONE2 = #{CELL_PHONE2}, CELL_PHONE3 = #{CELL_PHONE3}
, EMAIL = #{EMAIL}, RELIGION_CD = #{RELIGION_CD}, LAST_SCHOOL_NM = #{LAST_SCHOOL_NM}
, MAJOR_NM = #{MAJOR_NM}, SCHOOL_CAREER_CD = #{SCHOOL_CAREER_CD}, HOUSE_KIND_CD = #{HOUSE_KIND_CD}, ZIP_CD = #{ZIP_CD}
, ADDRESS1 = #{ADDRESS1}, ADDRESS2 = #{ADDRESS2}, IS_VETERAN_WELFARE = #{IS_VETERAN_WELFARE}
, IS_MILITARY_SERVICE = #{IS_MILITARY_SERVICE}, BIRTH_DATE = #{BIRTH_DATE}, IS_LUNAR = #{IS_LUNAR}
, IS_MARRIAGE = #{IS_MARRIAGE}, HOPPY = #{HOPPY}, TALENT = #{TALENT}, RETIRE_REASON = #{RETIRE_REASON}, IMAGE_PATH = #{IMAGE_PATH}
WHERE EMP_CD = #{EMP_CD}
</update>
<delete id="deleteMemberBasic" parameterType="Map">
DELETE FROM HM_MEMBER_BASIC WHERE EMP_CD = #{EMP_CD}
</delete>
<select id="selectMemberFamilyList" resultType="Map" parameterType="Map">
SELECT EMP_CD, SEQ, RELATIONSHIP, FAMILY_NM, RESIDENT_NO, JOB, IS_CORESIDENCE, IS_SUPPORT
FROM HM_MEMBER_FAMILY
<where>
<if test="EMP_CD != null and EMP_CD != ''">
AND EMP_CD = #{EMP_CD}
</if>
</where>
</select>
<select id="selectMemberFamilyMaxSeq" resultType="int" parameterType="Map">
SELECT CASE WHEN (COUNT(*) > 0) THEN MAX(SEQ) ELSE 0 END AS MAX_SEQ
FROM HM_MEMBER_FAMILY
<where>
<if test="EMP_CD != null and EMP_CD != ''">
AND EMP_CD = #{EMP_CD}
</if>
</where>
</select>
<insert id="insertMemberFamily" parameterType="Map">
INSERT INTO HM_MEMBER_FAMILY(EMP_CD, SEQ, RELATIONSHIP, FAMILY_NM, RESIDENT_NO, JOB, IS_CORESIDENCE, IS_SUPPORT)
VALUES (#{EMP_CD}, #{SEQ}, #{RELATIONSHIP}, #{FAMILY_NM}, #{RESIDENT_NO}, #{JOB}, #{IS_CORESIDENCE}, #{IS_SUPPORT})
</insert>
<update id="updateMemberFamily" parameterType="Map">
UPDATE HM_MEMBER_FAMILY
SET RELATIONSHIP = #{RELATIONSHIP}, FAMILY_NM = #{FAMILY_NM}, RESIDENT_NO = #{RESIDENT_NO}, JOB = #{JOB}, IS_CORESIDENCE = #{IS_CORESIDENCE},
IS_SUPPORT = #{IS_SUPPORT}
WHERE EMP_CD = #{EMP_CD} AND SEQ = #{SEQ}
</update>
<delete id="deleteMemberFamily" parameterType="Map">
DELETE FROM HM_MEMBER_FAMILY WHERE EMP_CD = #{EMP_CD} AND SEQ = #{SEQ}
</delete>
<select id="selectMemberProjectList" resultType="Map" parameterType="Map">
SELECT EMP_CD, SEQ, PROJECT_NM, PROJECT_DESC, START_DATE, END_DATE, ASSIGNED_TASK, ORDERING_ORG, COMPANY, NOTE
FROM HM_MEMBER_PROJECT
<where>
<if test="EMP_CD != null and EMP_CD != ''">
AND EMP_CD = #{EMP_CD}
</if>
</where>
</select>
<select id="selectMemberProjectMaxSeq" resultType="int">
SELECT CASE WHEN (COUNT(*) > 0) THEN MAX(SEQ) ELSE 0 END AS MAX_SEQ
FROM HM_MEMBER_PROJECT
<where>
<if test="EMP_CD != null and EMP_CD != ''">
AND EMP_CD = #{EMP_CD}
</if>
</where>
</select>
<insert id="insertMemberProject" parameterType="Map">
INSERT INTO HM_MEMBER_PROJECT(EMP_CD, SEQ, PROJECT_NM, PROJECT_DESC, START_DATE,
END_DATE, ASSIGNED_TASK, ORDERING_ORG, COMPANY, NOTE)
VALUES (#{EMP_CD}, #{SEQ}, #{PROJECT_NM}, #{PROJECT_DESC}, #{START_DATE}, #{END_DATE}
, #{ASSIGNED_TASK}, #{ORDERING_ORG}, #{COMPANY}, #{NOTE})
</insert>
<update id="updateMemberProject" parameterType="Map">
UPDATE HM_MEMBER_PROJECT
SET PROJECT_NM = #{PROJECT_NM}, PROJECT_DESC = #{PROJECT_DESC}
, START_DATE = #{START_DATE}, END_DATE = #{END_DATE}
, ASSIGNED_TASK = #{ASSIGNED_TASK}, ORDERING_ORG = #{ORDERING_ORG}, COMPANY = #{COMPANY}, NOTE = #{NOTE}
WHERE EMP_CD = #{EMP_CD} AND SEQ = #{SEQ}
</update>
<delete id="deleteMemberProject" parameterType="Map">
DELETE FROM HM_MEMBER_PROJECT WHERE EMP_CD = #{EMP_CD} AND SEQ = #{SEQ}
</delete>
<select id="selectZipCodeList" resultType="Map">
SELECT ZIP_CD, CITY || ' ' || COUNTRY || ' ' || TOWN || ' ' || BUILDING || ' ' || FROM_NO) as ADDRESS FROM BM_ZIP_CODE
<where>
<if test="SEARCH_KEYWORD != null and SEARCH_KEYWORD != ''">
AND (TOWN LIKE '%' || #{SEARCH_KEYWORD} || '%') OR (BUILDING LIKE '%' || #{SEARCH_KEYWORD} || '%')
</if>
</where>
</select>
</mapper>

@ -0,0 +1,50 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.inswave.template.dao.MenuDao">
<select id="selectMenu" resultType="Map" parameterType="Map">
SELECT M.MENU_CD, M.MENU_NM
, M.MENU_LEVEL, M.SORT_ORDER, M.PROGRAM_CD, P.PROGRAM_GROUP_CD, C.CODE_NM AS PROGRAM_GROUP_NM
, P.PROGRAM_CD, P.PROGRAM_NM, M.IS_USE, M.NOTE, M.PARENT_MENU_CD
, COALESCE((SELECT S.MENU_NM from BM_MENU S WHERE S.MENU_CD = M.PARENT_MENU_CD), 'Parent Category') AS PARENT_MENU_NM
FROM BM_MENU M LEFT OUTER JOIN BM_PROGRAM P ON M.PROGRAM_CD = P.PROGRAM_CD
LEFT OUTER JOIN BM_CODE C ON C.COM_CD = P.PROGRAM_GROUP_CD AND C.GRP_CD = '00026'
<where>
<if test="TYPE == 'MENU_CD'">
AND M.MENU_CD LIKE '%' || #{CONTENT} || '%'
</if>
<if test="TYPE == 'MENU_NM'">
AND M.MENU_NM LIKE '%' || #{CONTENT} || '%'
</if>
<if test="TYPE == 'PARENT_MENU_CD'">
AND M.PARENT_MENU_CD LIKE '%' || #{CONTENT} || '%'
</if>
<if test="TYPE == 'MENU_LEVEL'">
<if test="CONTENT == ''">
AND M.MENU_LEVEL IS NOT NULL
</if>
<if test="CONTENT != ''">
AND M.MENU_LEVEL = #{CONTENT}
</if>
</if>
</where>
ORDER BY M.MENU_CD, M.SORT_ORDER
</select>
<insert id="insertMenu" parameterType="Map">
INSERT INTO BM_MENU(MENU_CD, MENU_NM, PARENT_MENU_CD, MENU_LEVEL, SORT_ORDER, PROGRAM_CD, IS_USE, NOTE)
VALUES (#{MENU_CD}, #{MENU_NM}, #{PARENT_MENU_CD}, #{MENU_LEVEL}, #{SORT_ORDER}, #{PROGRAM_CD}, #{IS_USE}, #{NOTE})
</insert>
<update id="updateMenu" parameterType="Map">
UPDATE BM_MENU
SET MENU_NM = #{MENU_NM}, PARENT_MENU_CD = #{PARENT_MENU_CD}, MENU_LEVEL = #{MENU_LEVEL}
, SORT_ORDER = #{SORT_ORDER}, PROGRAM_CD = #{PROGRAM_CD}, IS_USE = #{IS_USE}, NOTE = #{NOTE}
WHERE MENU_CD = #{MENU_CD}
</update>
<delete id="deleteMenu" parameterType="Map">
DELETE FROM BM_MENU WHERE MENU_CD = #{MENU_CD}
</delete>
</mapper>

@ -0,0 +1,79 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.inswave.template.dao.OrganizationDao">
<select id="selectOrganizaion" resultType="Map" parameterType="Map">
SELECT a.ORG_CD, a.ORG_CLASS_CD, a.ORG_NM, a.ORG_ALIAS_NM, a.ORG_EN_NM, a.ORG_EN_ALIAS_NM, a.SORT_ORDER, a.ORG_LEVEL,
COALESCE(( select b.ORG_NM FROM HM_ORGAN_BASIC b where b.ORG_CD = a.PARENT_ORG_CD ), 'Parent Category') as PARENT_ORG_NM
, PARENT_ORG_CD , a.ORG_BOSS_EMP_CD, a.START_DATE, a.END_DATE, a.NOTE
FROM HM_ORGAN_BASIC a where 1 = 1
<if test="TYPE == 'ORG_NM'">
and ORG_NM LIKE '%' || #{CONTENT} || '%'
</if>
<if test="TYPE == 'ORG_CD'">
and ORG_CD LIKE '%' || #{CONTENT} || '%'
</if>
<if test="TYPE == 'PARENT_ORG_CD'">
<if test="CONTENT == ''">
and ORG_CD is not null
</if>
<if test="CONTENT != ''">
and PARENT_ORG_CD = #{CONTENT}
</if>
</if>
<if test="TYPE == 'ORG_BOSS_EMP_CD'">
<if test="CONTENT == ''">
and ORG_CD is not null
</if>
<if test="CONTENT != ''">
and ORG_BOSS_EMP_CD = #{CONTENT}
</if>
</if>
ORDER BY ORG_CD
</select>
<select id="selectOrganizaionBasicList" resultType="Map">
SELECT ORG_CD, ORG_CLASS_CD, ORG_NM, ORG_ALIAS_NM, ORG_EN_NM, ORG_EN_ALIAS_NM, SORT_ORDER, ORG_LEVEL, PARENT_ORG_CD
, ORG_BOSS_EMP_CD, START_DATE, END_DATE, NOTE
FROM HM_ORGAN_BASIC
<where>
<if test="ORG_CD != null and ORG_CD != ''">
AND ORG_CD = #{ORG_CD}
</if>
</where>
ORDER BY ORG_CD
</select>
<select id="selectOrganizaionBoss" resultType="Map">
select EMP_NM, EMP_CD from HM_MEMBER_BASIC
</select>
<select id="selectOrganizaionSearchItem" resultType="Map">
select ORG_CD, ORG_NM
, COALESCE(( select b.ORG_NM FROM HM_ORGAN_BASIC b where b.ORG_CD = a.PARENT_ORG_CD ), 'Parent Category') as PARENT_ORG_NM
, PARENT_ORG_CD from HM_ORGAN_BASIC a
</select>
<insert id="insertOrganizaionBasic" parameterType="Map">
INSERT INTO HM_ORGAN_BASIC (ORG_CD, ORG_CLASS_CD, ORG_NM, ORG_ALIAS_NM, ORG_EN_NM, ORG_EN_ALIAS_NM, SORT_ORDER, ORG_LEVEL
, PARENT_ORG_CD, ORG_BOSS_EMP_CD, START_DATE, END_DATE, NOTE)
VALUES (#{ORG_CD}, #{ORG_CLASS_CD}, #{ORG_NM}, #{ORG_ALIAS_NM}, #{ORG_EN_NM}, #{ORG_EN_ALIAS_NM}, #{SORT_ORDER}, #{ORG_LEVEL}
, #{PARENT_ORG_CD}, #{ORG_BOSS_EMP_CD}, #{START_DATE}, #{END_DATE}, #{NOTE})
</insert>
<update id="updateOrganizaionBasic" parameterType="Map">
UPDATE HM_ORGAN_BASIC
SET ORG_CLASS_CD = #{ORG_CLASS_CD}, ORG_NM = #{ORG_NM}, ORG_ALIAS_NM = #{ORG_ALIAS_NM}, ORG_EN_NM = #{ORG_EN_NM}, ORG_EN_ALIAS_NM = #{ORG_EN_ALIAS_NM}, SORT_ORDER = #{SORT_ORDER}
, ORG_LEVEL = #{ORG_LEVEL}, PARENT_ORG_CD = #{PARENT_ORG_CD}, ORG_BOSS_EMP_CD = #{ORG_BOSS_EMP_CD}, START_DATE = #{START_DATE}, END_DATE = #{END_DATE}, NOTE = #{NOTE}
WHERE ORG_CD = #{ORG_CD}
</update>
<delete id="deleteOrganizaionBasic" parameterType="Map">
DELETE FROM HM_ORGAN_BASIC WHERE ORG_CD = #{ORG_CD}
</delete>
</mapper>

@ -0,0 +1,82 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.inswave.template.dao.ProgramDao">
<select id="selectProgram" resultType="Map" parameterType="Map">
SELECT P.PROGRAM_CD, P.PROGRAM_NM, P.PROGRAM_GROUP_CD, C.CODE_NM AS PROGRAM_GROUP_NM, P.SRC_PATH
, P.IS_USE, P.NOTE
FROM BM_PROGRAM P INNER JOIN BM_CODE C ON C.COM_CD = P.PROGRAM_GROUP_CD AND C.GRP_CD = '00026'
<where>
<if test="PROGRAM_GROUP_CD != null and PROGRAM_GROUP_CD != ''">
AND P.PROGRAM_GROUP_CD = #{PROGRAM_GROUP_CD}
</if>
<if test="PROGRAM != null and PROGRAM != ''">
AND (P.PROGRAM_CD LIKE '%' || #{PROGRAM} || '%' OR P.PROGRAM_NM LIKE '%' || #{PROGRAM} || '%')
</if>
<if test="IS_USE != null and IS_USE != ''">
AND P.IS_USE = #{IS_USE}
</if>
</where>
ORDER BY P.PROGRAM_CD
</select>
<insert id="insertProgram" parameterType="Map">
INSERT INTO BM_PROGRAM(PROGRAM_CD, PROGRAM_NM, PROGRAM_GROUP_CD, SRC_PATH, IS_USE, NOTE)
VALUES (#{PROGRAM_CD}, #{PROGRAM_NM}, #{PROGRAM_GROUP_CD}, #{SRC_PATH}, #{IS_USE}, #{NOTE})
</insert>
<update id="updateProgram" parameterType="Map">
UPDATE BM_PROGRAM
SET PROGRAM_NM = #{PROGRAM_NM}, PROGRAM_GROUP_CD = #{PROGRAM_GROUP_CD}
, SRC_PATH = #{SRC_PATH}, IS_USE = #{IS_USE}, NOTE = #{NOTE}
WHERE PROGRAM_CD = #{PROGRAM_CD}
</update>
<delete id="deleteProgram" parameterType="Map">
DELETE FROM BM_PROGRAM WHERE PROGRAM_CD = #{PROGRAM_CD}
</delete>
<select id="selectProgramAuthority" resultType="Map" parameterType="Map">
SELECT P.PROGRAM_CD, P.AUTHORITY_CD, A.AUTHORITY_NM, P.IS_AUTH_SELECT, P.IS_AUTH_SAVE, P.IS_AUTH_EXCEL
FROM BM_PROGRAM_AUTHORITY P, BM_AUTHORITY A
WHERE P.AUTHORITY_CD = A.AUTHORITY_CD
AND P.PROGRAM_CD = #{PROGRAM_CD}
AND A.IS_USE = 'Y'
ORDER BY AUTHORITY_CD
</select>
<select id="excludeSelectProgramAuthority" resultType="Map" parameterType="Map">
SELECT AUTHORITY_CD, AUTHORITY_NM, NOTE
FROM BM_AUTHORITY
WHERE AUTHORITY_CD NOT IN (SELECT AUTHORITY_CD
FROM BM_PROGRAM_AUTHORITY
WHERE PROGRAM_CD = #{PROGRAM_CD})
AND IS_USE = 'Y'
<if test="SEARCH_WORD != null and SEARCH_WORD != ''">
AND (AUTHORITY_CD LIKE '%' || #{SEARCH_WORD} || '%' OR AUTHORITY_NM LIKE '%' || #{SEARCH_WORD} || '%')
</if>
ORDER BY AUTHORITY_CD
</select>
<insert id="insertProgramAuthority" parameterType="Map">
INSERT INTO BM_PROGRAM_AUTHORITY(AUTHORITY_CD, PROGRAM_CD, IS_AUTH_SELECT, IS_AUTH_SAVE, IS_AUTH_EXCEL)
VALUES (#{AUTHORITY_CD}, #{PROGRAM_CD}, #{IS_AUTH_SELECT}, #{IS_AUTH_SAVE}, #{IS_AUTH_EXCEL})
</insert>
<update id="updateProgramAuthority" parameterType="java.util.HashMap">
UPDATE BM_PROGRAM_AUTHORITY
SET IS_AUTH_SELECT = #{IS_AUTH_SELECT}
, IS_AUTH_SAVE = #{IS_AUTH_SAVE}
, IS_AUTH_EXCEL = #{IS_AUTH_EXCEL}
WHERE PROGRAM_CD = #{PROGRAM_CD}
AND AUTHORITY_CD = #{AUTHORITY_CD}
</update>
<delete id="deleteProgramAuthority" parameterType="Map">
DELETE FROM BM_PROGRAM_AUTHORITY
WHERE PROGRAM_CD = #{PROGRAM_CD}
<if test="AUTHORITY_CD != null and AUTHORITY_CD != ''">
AND AUTHORITY_CD = #{AUTHORITY_CD}
</if>
</delete>
</mapper>

@ -0,0 +1,42 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.inswave.template.dao.SpReleaseInfoDao">
<select id="selectReleaseForSummary" resultType="Map" parameterType="Map">
SELECT SEQ, TITLE, CONTENT, CAST(CREATED_DATE AS CHAR(10)) AS CREATED_DATE
FROM SP_RELEASE_INFO
WHERE IS_USE = #{IS_USE}
<choose>
<when test="SEQ_ORDER == 'DESC'">
ORDER BY SEQ DESC
</when>
<when test="SEQ_ORDER == 'ASC'">
ORDER BY SEQ ASC
</when>
</choose>
<!-- LIMIT #{START_NUM} , #{END_NUM} -->
</select>
<insert id="insertRelease" parameterType="Map">
INSERT INTO SP_RELEASE_INFO(SEQ, TITLE, CONTENT, CREATED_DATE)
VALUES ((SELECT MAX(SEQ)+1 FROM SP_RELEASE_INFO AS SP_REL_INFO), #{TITLE}, #{CONTENT}, #{CREATED_DATE})
</insert>
<update id="updateRelease" parameterType="Map">
UPDATE SP_RELEASE_INFO
SET TITLE = #{TITLE}, CONTENT = #{CONTENT}, CREATED_DATE = #{CREATED_DATE}
WHERE SEQ = #{SEQ}
</update>
<delete id="deleteRelease" parameterType="Map">
DELETE FROM SP_RELEASE_INFO WHERE SEQ = #{SEQ}
</delete>
<select id="selectReleaseCnt" resultType="Map">
select count(*) AS CNT from SP_RELEASE_INFO
</select>
</mapper>

@ -0,0 +1,69 @@
package com.inswave.template.provider;
import java.lang.reflect.Method;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.json.simple.parser.JSONParser;
import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;
import org.w3c.dom.Document;
import com.inswave.util.MapUtil;
import websquare.http.WebSquareContext;
import websquare.http.controller.grid.excel.write.IExternalGridDataProvider;
import websquare.util.XMLUtil;
public class ExcelDown implements IExternalGridDataProvider {
public String[] getData(Document requestObj) throws Exception {
// Get WebApplicationContext
WebSquareContext context = WebSquareContext.getContext();
HttpServletRequest request = context.getRequest();
HttpSession httpSession = request.getSession();
ServletContext sc = httpSession.getServletContext();
WebApplicationContext wContext = WebApplicationContextUtils.getWebApplicationContext(sc);
List<HashMap <String, String>> resultList = null;
String keyMap = null;
try {
// Loading Parameter
// System.out.println(XMLUtil.indent(requestObj));
String serviceId = XMLUtil.getText(requestObj, "service");
String methodId = XMLUtil.getText(requestObj, "method");
keyMap = XMLUtil.getText(requestObj, "keyMap");
JSONParser parse = new JSONParser();
Map paramData = (Map) parse.parse(XMLUtil.getText(requestObj, "param"));
paramData.put("OFFSET_ROW", 0);
paramData.put("PAGE_SIZE", 10000);
// Call the method of the service
Object service = wContext.getBean(serviceId);
Method method = service.getClass().getMethod(methodId, Map.class);
resultList = (List<HashMap <String, String>>) method.invoke(service, paramData);
} catch (Exception ex) {
ex.printStackTrace();
}
if ((resultList != null) && (resultList.size() > 0)) {
if (keyMap != null) {
return MapUtil.hashMapValuesToArray(resultList, keyMap);
} else {
return MapUtil.hashMapValuesToArray(resultList);
}
} else {
return null;
}
}
}

@ -0,0 +1,14 @@
package com.inswave.template.provider;
import org.w3c.dom.Document;
import websquare.http.controller.grid.excel.write.IExternalGridDataProvider;
public class ExcelDownHeader implements IExternalGridDataProvider {
public String[] getData(Document requestObj) throws Exception {
String[] returnData = { "" };
return returnData;
}
}

@ -0,0 +1,94 @@
package com.inswave.template.provider;
import java.lang.reflect.Method;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.json.simple.parser.JSONParser;
import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;
import org.w3c.dom.Document;
import com.inswave.util.MapUtil;
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import websquare.http.WebSquareContext;
import websquare.http.controller.grid.excel.write.IExternalSplitProvider;
import websquare.util.XMLUtil;
@SuppressFBWarnings
public class ExcelSplitDown implements IExternalSplitProvider {
int offsetRow = 0;
boolean isEnd = false;
/**
* getData OutOfMemory .
*
* @param requestObj The Document Object of the Request Object
* @return String[]
*/
public String[] getData(Document requestObj) throws Exception {
// Get WebApplicationContext
WebSquareContext context = WebSquareContext.getContext();
HttpServletRequest request = context.getRequest();
HttpSession httpSession = request.getSession();
ServletContext sc = httpSession.getServletContext();
WebApplicationContext wContext = WebApplicationContextUtils.getWebApplicationContext(sc);
List<HashMap <String, String>> resultList = null;
String keyMap = null;
try {
// Loading Parameter
// System.out.println(XMLUtil.indent(requestObj));
String serviceId = XMLUtil.getText(requestObj, "service");
String methodId = XMLUtil.getText(requestObj, "method");
keyMap = XMLUtil.getText(requestObj, "keyMap");
JSONParser parse = new JSONParser();
Map paramData = (Map) parse.parse(XMLUtil.getText(requestObj, "param"));
paramData.put("OFFSET_ROW", offsetRow);
paramData.put("PAGE_SIZE", 1000);
// Call the method of the service
Object service = wContext.getBean(serviceId);
Method method = service.getClass().getMethod(methodId, Map.class);
resultList = (List<HashMap <String, String>>) method.invoke(service, paramData);
} catch (Exception ex) {
ex.printStackTrace();
}
if (resultList.size() <= 0 || offsetRow >= 9000) {
isEnd = true;
} else {
offsetRow += 1000;
}
if ((resultList != null) && (resultList.size() > 0)) {
if (keyMap != null) {
return MapUtil.hashMapValuesToArray(resultList, keyMap);
} else {
return MapUtil.hashMapValuesToArray(resultList);
}
} else {
return null;
}
}
/**
* sendCompleted true getData()
*/
public boolean sendCompleted() throws Exception {
return isEnd;
}
}

@ -0,0 +1,27 @@
package com.inswave.template.service;
import java.util.List;
import java.util.Map;
public interface AuthorityService {
//권한리스트 조회
public List selectAuthorityList(Map param);
public List<Map> selectAuthoritySearchItem();
//권한 부여 사용자 조회
public List selectAuthorityMemberList(Map param);
//권한이 부여되지 않은 사용자 조회
public List<Map> excludeSelectAuthorityMemberList(Map param);
//권한리스트 저장, 등록, 삭제
public Map saveAuthority(List param);
//권한별 등록사원 입력, 수정, 삭제
public Map saveAuthorityMember(List param);
//권한리스트 및 권한별 사원리스트 입력, 수정, 삭제
public Map saveAuthorityAll(List paramAuth, List paramAuthMember);
}

@ -0,0 +1,80 @@
package com.inswave.template.service;
import java.util.List;
import java.util.Map;
public interface CommonService {
// 사용자별 메뉴 리스트 조회 (로그인 사용자에게 권한이 있는 메뉴만 조회함)
public List selectMenuList(Map param);
// 사용자별 메뉴 리스트 조회 (로그인 사용자에게 권한이 있는 메뉴만 조회함 - 공통)
public List selectComMenuList(Map param);
// 사용자별 프로그램 권한 리스트 조회 (로그인 사용자에게 권한이 있는 프로그램 권한만 조회함)
public List selectProgramAuthorityList(Map param);
// 사용자별 프로그램 권한 리스트 조회 (로그인 사용자에게 권한이 있는 프로그램 권한만 조회함- 공통)
public List selectComProgramList(Map param);
// 공통코드관리 조회
public List selectCommonGroup(Map param);
public List selectCommonCodeAll();
public List selectCommonCodeList(Map param);
public List selectCommonSearchItem();
// 공통관리 코드그룹 저장
public Map saveCodeGrpList(List param);
// 공통관리 코드 저장
public Map saveCodeList(List param);
// 공통관리 코드그룹 저장
public Map saveCodeGrpListAll(List paramCodeGrp, List paramCode);
// 공통코드 조회
public List<Map> selectCodeList(Map param);
// Main Setting 저장
public int insertBmMainSetting(Map param);
// Main Setting 저장 (공통)
public int insertComMainSetting(Map param);
// Main Setting 업데이트
public int updateBmMainSetting(Map param);
// Main Setting 업데이트 (공통)
public int updateComMainSetting(Map param);
// EMP_CD로 단건 BmMainSetting 조회
public Map selectBmMainSetting(Map param);
// USER_ID로 단건 ComMainSetting 조회 (공통)
public Map selectComMainSetting(Map param);
// 즐겨찾기 삭제
public int deleteBmFavorite(Map param);
// 즐겨찾기 추가
public int insertBmFavorite(Map param);
// select 사용자별 즐겨찾기 리스트
public List selectFavListByEmpCd(String empCd);
// select 사용자별 즐겨찾기 리스트 (공통)
public List selectComFavListByEmpCd(String uesrId);
// 상태 값에 따라 즐겨찾기 추가/삭제/업데이트
public int updateBmFavorite(Map param);
// select 프로그램별 단축키 리스트
public List selectShortcutList(String programCd);
// select 프로그램별 단축키 리스트
public Map updateShortcutList(List param);
}

@ -0,0 +1,16 @@
package com.inswave.template.service;
import java.util.List;
import java.util.Map;
public interface FileService {
public List<Map> selectFileGrp(Map param);
public int insertFileGrp(Map param);
public Map insertFileList(List param);
//public int insertFileList(List param);
public List<Map> searchFileList(Map param);
}

@ -0,0 +1,18 @@
package com.inswave.template.service;
import java.util.Map;
public interface LoginService {
// 사용자 정보 조회 (로그인 체크용도로 사용 )
public Map selectMemberInfoForLogin(Map param);
// 사용자 정보 조회 (로그인 체크용도로 사용 - 공통 )
public Map selectComMemberInfoForLogin(Map param);
// 해당 사용자 아이디가 관리자 아이디인지를 검사한다.
public boolean isAdmin(String userId);
// 사용자의 비밀번호를 업데이트한다.
public int updatePassword(Map param);
}

@ -0,0 +1,36 @@
package com.inswave.template.service;
import java.util.List;
import java.util.Map;
public interface MainService {
/**
* Release . selectType query .
*
* @date 2016.08.26
* @param param selectType, #{IS_USE}, #{START_NUM} , #{END_NUM}, SEQ_ORDER
* @author InswaveSystems
* @example selectType == "S" : .
*/
public List selectRelease(Map param);
/**
* Release . selectType query .
*
* @date 2016.09.09
* @param param
* @author InswaveSystems
* @example selectType == "U" : .
*/
public Map saveRelease(List param);
/**
* Release .
*
* @date 2016.09.12
* @param param
* @author InswaveSystems
* @example
*/
public Map selectReleaseCnt();
}

@ -0,0 +1,41 @@
package com.inswave.template.service;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
public interface MemberService {
// 인사기본관리(기본정보) 조회
public List<Map> selectMemberBasicOrganization();
public List<Map> selectMemberBasic(Map param);
public List<Map> selectMemberSearchItem();
// 인사기본관리 저장(기본정보) 저장
public Map saveMemberBasicList(List param);
public List<Map> selectMemberOragn(Map param);
public List<Map> getLoginInfo(Map param);
public Map saveMemberBasic(Map param);
public List<Map> selectMemberFamilyList(Map param);
public int selectMemberFamilyMaxSeq(Map param);
public Map saveMemberFamily(List param);
public List<Map> selectMemberProjectList(Map param);
public int selectMemberProjectMaxSeq(Map param);
public Map saveMemberProject(List param);
public List<Map> selectZipCodeList(Map param);
}

@ -0,0 +1,14 @@
package com.inswave.template.service;
import java.util.List;
import java.util.Map;
public interface MenuService {
// 메뉴관리 조회
public List<Map> selectMenu(Map param);
// 메뉴관리 저장(기본정보)
public Map saveMenu(List param);
}

@ -0,0 +1,19 @@
package com.inswave.template.service;
import java.util.List;
import java.util.Map;
public interface OrganizationService {
// 조직기본관리 정보 조회
public List<Map> selectOrganization(Map param);
public List<Map> selectOrganizationBoss();
public List<Map> selectOrganizaionSearchItem();
public List<Map> selectOrganizaionBasicList(Map param);
// 조직기본관리 저장(기본정보)
public Map saveOrganizaionBasicList(List param);
}

@ -0,0 +1,24 @@
package com.inswave.template.service;
import java.util.List;
import java.util.Map;
public interface ProgramService {
// 프로그램관리 조회
public List<Map> selectProgram(Map param);
// 프로그램관리 저장(기본정보)
public Map saveProgram(List param);
// 프로그램별 접근권한 조회
public List<Map> selectProgramAuthority(Map param);
public List<Map> excludeSelectProgramAuthority(Map param);
// 프로그램별 접근권한 저장(기본정보)
public Map saveProgramAuthority(List param);
// 프로그램리스트 및 프로그램별 접근권한 리스트 입력, 수정, 삭제
public Map saveProgramAll(List paramProgram, List paramProgramAcess);
}

@ -0,0 +1,26 @@
package com.inswave.template.service;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
public class Test {
public List sortByValue(final Map map, List list) {
list.addAll(map.keySet());
Collections.sort(list, new Comparator() {
public int compare(Object o1, Object o2) {
Object v1 = map.get(o1);
Object v2 = map.get(o2);
return ((Comparable) v1).compareTo(v2);
}
});
Collections.reverse(list); // 주석시 오름차순
return list;
}
}

@ -0,0 +1,174 @@
package com.inswave.template.service.impl;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import com.inswave.template.dao.AuthorityDao;
import com.inswave.template.service.AuthorityService;
@Service
public class AuthorityServiceImpl implements AuthorityService {
@Resource(name = "authorityDao")
private AuthorityDao authorityDao;
/**
*
*
* @param param Client
*/
@Override
public List selectAuthorityList(Map param) {
return authorityDao.selectAuthorityList(param);
}
/**
*
*
* @param param Client
*/
@Override
public List selectAuthorityMemberList(Map param) {
return authorityDao.selectAuthorityMemberList(param);
}
/**
*
*
* @param param Client
*/
@Override
public List<Map> excludeSelectAuthorityMemberList(Map param) {
return authorityDao.excludeSelectAuthorityMemberList(param);
}
/**
* ()
*
* @param param Client
*/
@Override
public List<Map> selectAuthoritySearchItem() {
return authorityDao.selectAuthoritySearchItem();
}
/**
* (, , ).
*
* @param param Client
*/
@Override
public Map saveAuthority(List param) {
int iCnt = 0;
int uCnt = 0;
int dCnt = 0;
for (int i = 0; i < param.size(); i++) {
Map data = (Map) param.get(i);
String rowStatus = (String) data.get("rowStatus");
if (rowStatus.equals("C")) {
iCnt += authorityDao.insertAuthority(data);
} else if (rowStatus.equals("U")) {
uCnt += authorityDao.updateAuthority(data);
} else if (rowStatus.equals("D")) {
dCnt += authorityDao.deleteAuthority(data);
}
}
Map result = new HashMap();
result.put("STATUS", "S");
result.put("ICNT", String.valueOf(iCnt));
result.put("UCNT", String.valueOf(uCnt));
result.put("DCNT", String.valueOf(dCnt));
return result;
}
/**
* (, , ).
*
* @param param Client
*/
@Override
public Map saveAuthorityMember(List param) {
int iCnt = 0;
int uCnt = 0;
int dCnt = 0;
for (int i = 0; i < param.size(); i++) {
Map data = (Map) param.get(i);
String rowStatus = (String) data.get("rowStatus");
if (rowStatus.equals("C")) {
iCnt += authorityDao.insertAuthorityMember(data);
} else if (rowStatus.equals("D")) {
dCnt += authorityDao.deleteAuthorityMember(data);
}
}
Map result = new HashMap();
result.put("STATUS", "S");
result.put("ICNT", String.valueOf(iCnt));
result.put("UCNT", String.valueOf(uCnt));
result.put("DCNT", String.valueOf(dCnt));
return result;
}
/**
* (, , ).
*
* @param param Client
*/
@Override
public Map saveAuthorityAll(List paramAuth, List paramAuthMember) {
int iCnt_grp = 0; // 등록한 그룹코드 건수
int iCnt_code = 0; // 등록한 세부코드 건수
int uCnt_grp = 0; // 수정한 그룹코드 건수
int uCnt_code = 0; // 수정한 세부코드 건수
int dCnt_grp = 0; // 삭제한 그룹코드 건수
int dCnt_code = 0; // 삭제한 세부코드 건수
for (int i = 0; i < paramAuth.size(); i++) {
Map dataAuth = (Map) paramAuth.get(i);
String rowStatusAuth = (String) dataAuth.get("rowStatus");
if (rowStatusAuth.equals("C")) {
iCnt_grp += authorityDao.insertAuthority(dataAuth);
for (int j = 0; j < paramAuthMember.size(); j++) {
Map dataAuthMember = (Map) paramAuthMember.get(j);
String rowStatusAuthMember = (String) dataAuthMember.get("rowStatus");
if (rowStatusAuthMember.equals("C")) {
iCnt_code += authorityDao.insertAuthorityMember(dataAuthMember);
}
}
} else if (rowStatusAuth.equals("U")) {
for (int j = 0; j < paramAuthMember.size(); j++) {
Map dataAuthMember = (Map) paramAuthMember.get(j);
String rowStatusAuthMember = (String) dataAuthMember.get("rowStatus");
if (rowStatusAuthMember.equals("C")) {
iCnt_code += authorityDao.insertAuthorityMember(dataAuthMember);
} else if (rowStatusAuthMember.equals("D")) {
dCnt_code += authorityDao.deleteAuthorityMember(dataAuthMember);
}
}
uCnt_grp += authorityDao.updateAuthority(dataAuth);
// 상위 코드가 삭제이면 하위코드는 모두 삭제
} else if (rowStatusAuth.equals("D")) {
authorityDao.deleteAuthorityMemberAll(dataAuth); // 하위 코드 정보는 전체 삭제
dCnt_grp += authorityDao.deleteAuthority(dataAuth);
}
}
Map result = new HashMap();
result.put("STATUS", "S");
result.put("ICNT_AUTH", String.valueOf(iCnt_grp));
result.put("ICNT_MEM", String.valueOf(iCnt_code));
result.put("UCNT_AUTH", String.valueOf(uCnt_grp));
result.put("UCNT_MEM", String.valueOf(uCnt_code));
result.put("DCNT_AUTH", String.valueOf(dCnt_grp));
result.put("DCNT_MEM", String.valueOf(dCnt_code));
return result;
}
}

@ -0,0 +1,414 @@
package com.inswave.template.service.impl;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import com.inswave.template.dao.CommonDao;
import com.inswave.template.service.CommonService;
@Service
public class CommonServiceImpl implements CommonService {
@Resource(name = "commonDao")
private CommonDao commonDao;
/**
* , ( )
*
* @param param
*/
@Override
public List selectMenuList(Map param) {
return commonDao.selectMenuList(param);
}
/**
* , ( - )
*
* @param param
*/
@Override
public List selectComMenuList(Map param) {
return commonDao.selectComMenuList(param);
}
/**
* ( )
*
* @param param
*/
public List selectProgramAuthorityList(Map param) {
return commonDao.selectProgramAuthorityList(param);
}
/**
* ( - )
*
* @param param
*/
public List selectComProgramList(Map param) {
return commonDao.selectComProgramList(param);
}
/**
*
*
* @param param Client
*/
@Override
public List selectCommonGroup(Map param) {
return commonDao.selectCommonGroup(param);
}
/**
*
*
* @param param Client
*/
@Override
public List selectCommonCodeAll() {
return commonDao.selectCommonCode();
}
/**
*
*
* @param param Client
*/
@Override
public List selectCommonCodeList(Map param) {
return commonDao.selectCommonCodeList(param);
}
/**
*
*
* @param param Client
*/
@Override
public List<Map> selectCodeList(Map param) {
return commonDao.selectCodeList(param);
}
/**
* ()
*
* @param param Client
*/
@Override
public List selectCommonSearchItem() {
return commonDao.selectCommonSearchItem();
}
/**
* (, , ).
*
* @param param Client
*/
@Override
public Map saveCodeGrpList(List param) {
int iCnt = 0;
int uCnt = 0;
int dCnt = 0;
for (int i = 0; i < param.size(); i++) {
Map data = (Map) param.get(i);
String rowStatus = (String) data.get("rowStatus");
if (rowStatus.equals("C")) {
iCnt += commonDao.insertCommonGrp(data);
} else if (rowStatus.equals("U")) {
uCnt += commonDao.updateCommonGrp(data);
} else if (rowStatus.equals("D")) {
dCnt += commonDao.deleteCommonGrp(data);
}
}
Map result = new HashMap();
result.put("STATUS", "S");
result.put("ICNT", String.valueOf(iCnt));
result.put("UCNT", String.valueOf(uCnt));
result.put("DCNT", String.valueOf(dCnt));
return result;
}
/**
* (, , ).
*
* @param param Client
*/
@Override
public Map saveCodeList(List param) {
int iCnt = 0;
int uCnt = 0;
int dCnt = 0;
for (int i = 0; i < param.size(); i++) {
Map data = (Map) param.get(i);
String rowStatus = (String) data.get("rowStatus");
if (rowStatus.equals("C")) {
iCnt += commonDao.insertCommonCode(data);
} else if (rowStatus.equals("U")) {
uCnt += commonDao.updateCommonCode(data);
} else if (rowStatus.equals("D")) {
dCnt += commonDao.deleteCommonCode(data);
}
}
Map result = new HashMap();
result.put("STATUS", "S");
result.put("ICNT", String.valueOf(iCnt));
result.put("UCNT", String.valueOf(uCnt));
result.put("DCNT", String.valueOf(dCnt));
return result;
}
/**
* update Main Setting update ( ) insert.
*
* @date 2016.08.08
* @param <Map> MAIN_LAYOUT_PAGE_CODE, IS_USE_SHORTCUT, UPDATED_ID, EMP_CD
* @returns <int> 0
* @author InswaveSystems
*/
public int updateBmMainSetting(Map param) {
int rs = 0;
rs = commonDao.updateBmMainSetting(param);
if (rs == 0) {
rs = commonDao.insertBmMainSetting(param);
}
return rs;
}
/**
* update Main Setting update ( ) insert ().
*
* @date 2019.10.21
* @param <Map> MAIN_LAYOUT_PAGE_CODE, IS_USE_SHORTCUT, UPDATED_ID, USER_ID
* @returns <int> 0
* @author InswaveSystems
*/
public int updateComMainSetting(Map param) {
int rs = 0;
rs = commonDao.updateComMainSetting(param);
if (rs == 0) {
rs = commonDao.insertComMainSetting(param);
}
return rs;
}
/**
* update Main Setting update ( ) insert.
*
* @date 2016.08.08
* @param <Map> MAIN_LAYOUT_PAGE_CODE, IS_USE_SHORTCUT, UPDATED_ID, EMP_CD
* @returns <int> 0
* @author InswaveSystems
*/
public int insertBmMainSetting(Map param) {
return commonDao.insertBmMainSetting(param);
}
/**
* update Main Setting update ( ) insert ().
*
* @date 2019.10.21
* @param <Map> MAIN_LAYOUT_PAGE_CODE, IS_USE_SHORTCUT, UPDATED_ID, USER_ID
* @returns <int> 0
* @author InswaveSystems
*/
public int insertComMainSetting(Map param) {
return commonDao.insertComMainSetting(param);
}
/**
* EMP_CD BmMainSetting
*
* @date 2016. 8. 10.
* @param <Map> EMP_CD Map
* @returns <Map> BmMainSetting - MAIN_LAYOUT_PAGE_CODE, IS_USE_SHORTCUT
* @author InswaveSystems
* @todo
*/
public Map selectBmMainSetting(Map param) {
return commonDao.selectBmMainSetting(param);
}
/**
* USER_ID ComMainSetting
*
* @date 2016. 10. 21.
* @param <Map> USER_ID Map
* @returns <Map> ComMainSetting - MAIN_LAYOUT_PAGE_CODE, IS_USE_SHORTCUT
* @author InswaveSystems
* @todo
*/
public Map selectComMainSetting(Map param) {
return commonDao.selectComMainSetting(param);
}
/**
* select
*
* @date 2016. 8. 24.
* @param String #{EMP_CD}
* @author InswaveSystems
*/
@Override
public List selectFavListByEmpCd(String empCd) {
return commonDao.selectFavListByEmpCd(empCd);
}
/**
* select ()
*
* @date 2016. 10. 23.
* @param String #{EMP_CD}
* @author InswaveSystems
*/
@Override
public List selectComFavListByEmpCd(String empCd) {
return commonDao.selectComFavListByEmpCd(empCd);
}
/**
* insert bmFavorite
*
* @date 2016. 8. 24.
* @param <MAP> #{EMP_CD}, #{MENU_CD}
* @author InswaveSystems
*/
public int insertBmFavorite(Map param) {
return commonDao.insertBmFavorite(param);
}
/**
* delete bmFavorite
*
* @date 2016. 8. 24.
* @param <MAP> #{EMP_CD}, #{MENU_CD}
* @author InswaveSystems
*/
public int deleteBmFavorite(Map param) {
return commonDao.insertBmFavorite(param);
}
/**
* STATUS insert,delete,update .
*
* @date 2016. 8. 24.
* @param <MAP> #{EMP_CD}, #{MENU_CD}, STATUS:[I|D|U]
* @author InswaveSystems
*/
public int updateBmFavorite(Map param) {
int rs = 0;
String status = (String) param.get("STATUS");
if (status != null) {
if (status.equals("I")) {
commonDao.deleteBmFavorite(param);
rs = commonDao.insertBmFavorite(param);
} else if (status.equals("D")) {
rs = commonDao.deleteBmFavorite(param);
} else if (status.equals("U")) {
rs = commonDao.updateBmFavorite(param);
}
}
return rs;
}
/**
* (, , ).
*
* @param param Client
*/
@Override
public Map saveCodeGrpListAll(List paramCodeGrp, List paramCode) {
int iCnt_grp = 0; // 등록한 그룹코드 건수
int iCnt_code = 0; // 등록한 세부코드 건수
int uCnt_grp = 0; // 수정한 그룹코드 건수
int uCnt_code = 0; // 수정한 세부코드 건수
int dCnt_grp = 0; // 삭제한 그룹코드 건수
int dCnt_code = 0; // 삭제한 세부코드 건수
for (int i = 0; i < paramCodeGrp.size(); i++) {
Map dataGrp = (Map) paramCodeGrp.get(i);
String rowStatusGrp = (String) dataGrp.get("rowStatus");
if (rowStatusGrp.equals("C")) {
iCnt_grp += commonDao.insertCommonGrp(dataGrp);
for (int j = 0; j < paramCode.size(); j++) {
Map dataGrpCode = (Map) paramCode.get(j);
String rowStatusMenuAuth = (String) dataGrpCode.get("rowStatus");
if (rowStatusMenuAuth.equals("C")) {
iCnt_code += commonDao.insertCommonCode(dataGrpCode);
}
}
} else if (rowStatusGrp.equals("U")) {
for (int j = 0; j < paramCode.size(); j++) {
Map dataGrpCode = (Map) paramCode.get(j);
String rowStatusMenuAuth = (String) dataGrpCode.get("rowStatus");
if (rowStatusMenuAuth.equals("C")) {
iCnt_code += commonDao.insertCommonCode(dataGrpCode);
} else if (rowStatusMenuAuth.equals("U")) {
uCnt_code += commonDao.updateCommonCode(dataGrpCode);
} else if (rowStatusMenuAuth.equals("D")) {
dCnt_code += commonDao.deleteCommonCode(dataGrpCode);
}
}
uCnt_grp += commonDao.updateCommonGrp(dataGrp);
} else if (rowStatusGrp.equals("D")) {
commonDao.deleteCommonCodeAll(dataGrp); // 하위 코드 정보는 전체 삭제
dCnt_grp += commonDao.deleteCommonGrp(dataGrp);
}
}
Map result = new HashMap();
result.put("STATUS", "S");
result.put("ICNT_GRP", String.valueOf(iCnt_grp));
result.put("ICNT_CODE", String.valueOf(iCnt_code));
result.put("UCNT_GRP", String.valueOf(uCnt_grp));
result.put("UCNT_CODE", String.valueOf(uCnt_code));
result.put("DCNT_GRP", String.valueOf(dCnt_grp));
result.put("DCNT_CODE", String.valueOf(dCnt_code));
return result;
}
@Override
public List selectShortcutList(String programCd) {
return commonDao.selectShortcutList(programCd);
}
@Override
public Map updateShortcutList(List updateList) {
int iCnt = 0;
int uCnt = 0;
int dCnt = 0;
for (int i = 0; i < updateList.size(); i++) {
Map data = (Map) updateList.get(i);
String rowStatus = (String) data.get("rowStatus");
System.out.println("업데이트 단축키 :: " + data);
if (rowStatus.equals("C")) {
iCnt += commonDao.insertShortcut(data);
} else if (rowStatus.equals("U")) {
uCnt += commonDao.updateShortcut(data);
} else if (rowStatus.equals("D") || rowStatus.equals("E")) {
dCnt += commonDao.deleteShortcut(data);
}
}
Map result = new HashMap();
result.put("STATUS", "S");
result.put("ICNT", String.valueOf(iCnt));
result.put("UCNT", String.valueOf(uCnt));
result.put("DCNT", String.valueOf(dCnt));
return result;
}
}

@ -0,0 +1,56 @@
package com.inswave.template.service.impl;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import com.inswave.template.dao.FileDao;
import com.inswave.template.service.FileService;
@Service
public class FileServiceImpl implements FileService{
@Resource(name = "fileDao")
private FileDao fileDao;
@Override
public List<Map> selectFileGrp(Map param) {
return fileDao.selectFileGrp(param);
}
@Override
public int insertFileGrp(Map param) {
return fileDao.insertFileGrp(param);
}
@Override
public Map insertFileList(List param) {
int iCnt = 0;
// for loop
for (int i = 0; i < param.size(); i++) {
Map data = (Map) param.get(i);
fileDao.insertFileList(data);
iCnt++;
}
Map result = new HashMap();
result.put("STATUS", "S");
result.put("ICNT", String.valueOf(iCnt));
//result.put("UCNT", String.valueOf(uCnt));
//result.put("DCNT", String.valueOf(dCnt));
return result;
//Map result = new HashMap();
//result.put("STATUS", "S");
//result.put("ICNT", String.valueOf(iCnt));
// return iCnt;
//return fileDao.insertFileList(param);
}
@Override
public List<Map> searchFileList(Map param) {
return fileDao.searchFileList(param);
}
}

@ -0,0 +1,115 @@
package com.inswave.template.service.impl;
import java.util.HashMap;
import java.util.Map;
import javax.annotation.Resource;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import com.inswave.template.dao.LoginDao;
import com.inswave.template.dao.MemberDao;
import com.inswave.template.service.LoginService;
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
@SuppressFBWarnings
@Service
public class LoginServiceImpl implements LoginService {
@Resource(name = "loginDao")
private LoginDao loginDao;
@Resource(name = "memberDao")
private MemberDao memberDao;
@Value("${system.admin.id}")
private String adminId;
/**
* ( )
*/
@Override
public Map selectMemberInfoForLogin(Map param) {
Map memberMap = loginDao.selectMemberInfoForLogin(param);
// 사용자가 존재하지 않을 경우
if (memberMap == null) {
memberMap = new HashMap();
memberMap.put("LOGIN", "notexist");
// 사용자가 존재할 경우
} else {
String PASSWORD = (String) memberMap.get("PASSWORD");
String reqPASSWORD = (String) param.get("PASSWORD");
// 패스워드 일치
if (PASSWORD.equals(reqPASSWORD)) {
memberMap.put("PASSWORD", "");
memberMap.put("LOGIN", "success");
} else { // 패스워드 불일치
memberMap.put("LOGIN", "error");
}
}
return memberMap;
}
/**
* ( - )
*/
@Override
public Map selectComMemberInfoForLogin(Map param) {
Map memberMap = loginDao.selectComMemberInfoForLogin(param);
// 사용자가 존재하지 않을 경우
if (memberMap == null) {
memberMap = new HashMap();
memberMap.put("LOGIN", "notexist");
// 사용자가 존재할 경우
} else {
String PASSWORD = (String) memberMap.get("USER_PW");
String reqPASSWORD = (String) memberMap.get("PASSWORD");
// 패스워드 일치
if (PASSWORD.equals(reqPASSWORD)) {
memberMap.put("USER_PW", "");
memberMap.put("PASSWORD", "");
memberMap.put("LOGIN", "success");
} else { // 패스워드 불일치
memberMap.put("LOGIN", "error");
}
}
return memberMap;
}
/**
* .
*/
@Override
public boolean isAdmin(String userId) {
String[] adminIdList = adminId.split(",");
for (String adminId : adminIdList) {
if (adminId.trim().equals(userId)) {
return true;
}
}
return false;
}
/**
* .
*/
@Override
public int updatePassword(Map param) {
return loginDao.updatePassword(param);
}
}

@ -0,0 +1,68 @@
package com.inswave.template.service.impl;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import com.inswave.template.dao.SpReleaseInfoDao;
import com.inswave.template.service.MainService;
@Service("mainService")
public class MainServiceImpl implements MainService {
@Resource(name = "spReleaseInfoDao")
private SpReleaseInfoDao spReleaseDao;
/**
* selectType=="S" :
*/
public List selectRelease(Map param) {
List rs = null;
String selectType = (String) param.get("selectType");
if (selectType == "S") {
rs = spReleaseDao.selectReleaseForSummary(param);
}
return rs;
}
/**
* Release (, , ).
*
* @param param Client
*/
@Override
public Map saveRelease(List param) {
int iCnt = 0;
int uCnt = 0;
int dCnt = 0;
for (int i = 0; i < param.size(); i++) {
Map data = (Map) param.get(i);
String rowStatus = (String) data.get("rowStatus");
if (rowStatus.equals("C")) {
iCnt += spReleaseDao.insertRelease(data);
} else if (rowStatus.equals("U")) {
uCnt += spReleaseDao.updateRelease(data);
} else if (rowStatus.equals("D")) {
dCnt += spReleaseDao.deleteRelease(data);
}
}
Map result = new HashMap();
result.put("STATUS", "S");
result.put("ICNT", String.valueOf(iCnt));
result.put("UCNT", String.valueOf(uCnt));
result.put("DCNT", String.valueOf(dCnt));
return result;
}
public Map selectReleaseCnt() {
return spReleaseDao.selectReleaseCnt();
}
}

@ -0,0 +1,272 @@
package com.inswave.template.service.impl;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.PlatformTransactionManager;
import com.inswave.template.dao.MemberDao;
import com.inswave.template.service.MemberService;
@Service
public class MemberServiceImpl implements MemberService {
static Logger logger = Logger.getLogger(MemberServiceImpl.class.getName());
@Resource(name = "memberDao")
private MemberDao memberDao;
@Autowired
private PlatformTransactionManager transactionManager;
@Autowired
private SqlSessionFactory sqlSessionFactory;
private int familySeq = 0;
private int projectSeq = 0;
/**
* .
*/
@Autowired
private SqlSession sqlsession;
/**
* ()
*
* @param param Client
*/
@Override
public List<Map> selectMemberBasicOrganization() {
return memberDao.selectMemberBasicOrganization();
}
/**
* ()
*
* @param param Client
*/
@Override
public List<Map> selectMemberBasic(Map param) {
return memberDao.selectMemberBasic(param);
}
/**
* ( EMP_CD, EMP_NM)
*
* @param param Client
*/
@Override
public List<Map> selectMemberSearchItem() {
return memberDao.selectMemberSearchItem();
}
/**
* () (, , ).
*
* @param param Client
*/
@Override
public Map saveMemberBasicList(List param) {
int iCnt = 0;
int uCnt = 0;
int dCnt = 0;
for (int i = 0; i < param.size(); i++) {
Map data = (Map) param.get(i);
String rowStatus = (String) data.get("rowStatus");
if (rowStatus.equals("C")) {
iCnt += memberDao.insertMemberBasic(data);
} else if (rowStatus.equals("U")) {
uCnt += memberDao.updateMemberBasic(data);
} else if (rowStatus.equals("D")) {
memberDao.deleteMemberFamily(data);
memberDao.deleteMemberProject(data);
dCnt += memberDao.deleteMemberBasic(data);
}
}
Map result = new HashMap();
result.put("STATUS", "S");
result.put("ICNT", String.valueOf(iCnt));
result.put("UCNT", String.valueOf(uCnt));
result.put("DCNT", String.valueOf(dCnt));
return result;
}
/**
* .
*
* @param param
* @return
*/
@Override
public Map saveMemberBasic(Map param) {
int uCnt = 0;
Map result = new HashMap();
String rowStatus = (String) param.get("rowStatus");
uCnt += memberDao.updateMemberBasic(param);
result.put("UCNT", String.valueOf(uCnt));
return result;
}
/**
* .
*
* @param param
* @return
*/
@Override
public Map saveMemberFamily(List param) {
int iCnt = 0;
int uCnt = 0;
int dCnt = 0;
Map result = new HashMap();
for (int i = 0; i < param.size(); i++) {
Map data = (Map) param.get(i);
String rowStatus = (String) data.get("rowStatus");
logger.info("패밀리 :: " + rowStatus);
logger.info(data);
if (rowStatus.equals("C")) {
int SEQ = memberDao.selectMemberFamilyMaxSeq(data);
data.put("SEQ", SEQ + 1);
iCnt += memberDao.insertMemberFamily(data);
} else if (rowStatus.equals("U")) {
uCnt += memberDao.updateMemberFamily(data);
} else if (rowStatus.equals("D") || rowStatus.equals("E")) {
dCnt += memberDao.deleteMemberFamily(data);
}
}
result.put("ICNT", String.valueOf(iCnt));
result.put("UCNT", String.valueOf(uCnt));
result.put("DCNT", String.valueOf(dCnt));
return result;
}
/**
* .
*
* @param param
* @return
*/
@Override
public Map saveMemberProject(List param) {
int iCnt = 0;
int uCnt = 0;
int dCnt = 0;
Map result = new HashMap();
for (int i = 0; i < param.size(); i++) {
Map data = (Map) param.get(i);
String rowStatus = (String) data.get("rowStatus");
logger.info("프로젝트 :: " + rowStatus);
logger.info(data);
if (rowStatus.equals("C")) {
int SEQ = memberDao.selectMemberProjectMaxSeq(data);
data.put("SEQ", SEQ + 1);
iCnt += memberDao.insertMemberProject(data);
} else if (rowStatus.equals("U")) {
uCnt += memberDao.updateMemberProject(data);
} else if (rowStatus.equals("D") || rowStatus.equals("E")) {
dCnt += memberDao.deleteMemberProject(data);
}
}
result.put("ICNT", String.valueOf(iCnt));
result.put("UCNT", String.valueOf(uCnt));
result.put("DCNT", String.valueOf(dCnt));
return result;
}
/**
* .
*
* @param param
* @return
*/
@Override
public List<Map> selectMemberOragn(Map param) {
// TODO Auto-generated method stub
return memberDao.selectMemberOragn(param);
}
/**
* .
*
* @param param
* @return
*/
public List<Map> getLoginInfo(Map param) {
return memberDao.getLoginInfo(param);
}
/**
* .
*
* @param param
* @return
*/
public List<Map> selectMemberFamilyList(Map param) {
return memberDao.selectMemberFamilyList(param);
}
/**
* .
*
* @param param
* @return
*/
public int selectMemberFamilyMaxSeq(Map param) {
return memberDao.selectMemberFamilyMaxSeq(param);
}
/**
* .
*
* @param param
* @return
*/
public List<Map> selectMemberProjectList(Map param) {
return memberDao.selectMemberProjectList(param);
}
/**
* .
*
* @param param
* @return
*/
public int selectMemberProjectMaxSeq(Map param) {
return memberDao.selectMemberProjectMaxSeq(param);
}
/**
* .
*
* @param param
*/
@Override
public List<Map> selectZipCodeList(Map param) {
logger.info("IMPL");
logger.info(param);
return memberDao.selectZipCodeList(param);
}
}

@ -0,0 +1,60 @@
package com.inswave.template.service.impl;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import com.inswave.template.dao.MenuDao;
import com.inswave.template.service.MenuService;
@Service
public class MenuServiceImpl implements MenuService {
@Resource(name = "menuDao")
private MenuDao menuDao;
/**
*
*
* @param param Client
*/
@Override
public List<Map> selectMenu(Map param) {
return menuDao.selectMenu(param);
}
/**
* () (, , ).
*
* @param param Client
*/
@Override
public Map saveMenu(List param) {
int iCnt = 0;
int uCnt = 0;
int dCnt = 0;
for (int i = 0; i < param.size(); i++) {
Map data = (Map) param.get(i);
String rowStatus = (String) data.get("rowStatus");
if (rowStatus.equals("C")) {
iCnt += menuDao.insertMenu(data);
} else if (rowStatus.equals("U")) {
uCnt += menuDao.updateMenu(data);
} else if (rowStatus.equals("D")) {
dCnt += menuDao.deleteMenu(data);
}
}
Map result = new HashMap();
result.put("STATUS", "S");
result.put("ICNT", String.valueOf(iCnt));
result.put("UCNT", String.valueOf(uCnt));
result.put("DCNT", String.valueOf(dCnt));
return result;
}
}

@ -0,0 +1,92 @@
package com.inswave.template.service.impl;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import com.inswave.template.dao.OrganizationDao;
import com.inswave.template.service.OrganizationService;
@Service
public class OrganizationServiceImpl implements OrganizationService {
@Resource(name = "organizationDao")
private OrganizationDao organizationDao;
/**
* ()
*
* @param param Client
*/
@Override
public List<Map> selectOrganization(Map param) {
return organizationDao.selectOrganizaion(param);
}
/**
* ()
*
* @param param Client
*/
@Override
public List<Map> selectOrganizationBoss() {
return organizationDao.selectOrganizaionBoss();
}
/**
* ()
*
* @param param Client
*/
@Override
public List<Map> selectOrganizaionSearchItem() {
return organizationDao.selectOrganizaionSearchItem();
}
/**
* ()
*
* @param param Client
*/
@Override
public List<Map> selectOrganizaionBasicList(Map param) {
// TODO Auto-generated method stub
return organizationDao.selectOrganizaionBasicList(param);
}
/**
* () (, , ).
*
* @param param Client
*/
@Override
public Map saveOrganizaionBasicList(List param) {
int iCnt = 0;
int uCnt = 0;
int dCnt = 0;
for (int i = 0; i < param.size(); i++) {
Map data = (Map) param.get(i);
String rowStatus = (String) data.get("rowStatus");
if (rowStatus.equals("C")) {
iCnt += organizationDao.insertOrganizaionBasic(data);
} else if (rowStatus.equals("U")) {
uCnt += organizationDao.updateOrganizaionBasic(data);
} else if (rowStatus.equals("D")) {
dCnt += organizationDao.deleteOrganizaionBasic(data);
}
}
Map result = new HashMap();
result.put("STATUS", "S");
result.put("ICNT", String.valueOf(iCnt));
result.put("UCNT", String.valueOf(uCnt));
result.put("DCNT", String.valueOf(dCnt));
return result;
}
}

@ -0,0 +1,167 @@
package com.inswave.template.service.impl;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import com.inswave.template.dao.ProgramDao;
import com.inswave.template.service.ProgramService;
@Service
public class ProgramServiceImpl implements ProgramService {
@Resource(name = "programDao")
private ProgramDao programDao;
/**
*
*
* @param param Client
*/
@Override
public List<Map> selectProgram(Map param) {
return programDao.selectProgram(param);
}
/**
*
*
* @param param Client
*/
@Override
public List<Map> selectProgramAuthority(Map param) {
return programDao.selectProgramAuthority(param);
}
/**
*
*
* @param param Client
*/
@Override
public List<Map> excludeSelectProgramAuthority(Map param) {
return programDao.excludeSelectProgramAuthority(param);
}
/**
* () (, , ).
*
* @param param Client
*/
@Override
public Map saveProgram(List param) {
int iCnt = 0;
int uCnt = 0;
int dCnt = 0;
for (int i = 0; i < param.size(); i++) {
Map data = (Map) param.get(i);
String rowStatus = (String) data.get("rowStatus");
if (rowStatus.equals("C")) {
iCnt += programDao.insertProgram(data);
} else if (rowStatus.equals("U")) {
uCnt += programDao.updateProgram(data);
} else if (rowStatus.equals("D")) {
dCnt += programDao.deleteProgram(data);
}
}
Map result = new HashMap();
result.put("STATUS", "S");
result.put("ICNT", String.valueOf(iCnt));
result.put("UCNT", String.valueOf(uCnt));
result.put("DCNT", String.valueOf(dCnt));
return result;
}
/**
* (, , ).
*
* @param param Client
*/
@Override
public Map saveProgramAuthority(List param) {
int iCnt = 0;
int uCnt = 0;
int dCnt = 0;
for (int i = 0; i < param.size(); i++) {
Map data = (Map) param.get(i);
String rowStatus = (String) data.get("rowStatus");
if (rowStatus.equals("C")) {
iCnt += programDao.insertProgramAuthority(data);
} else if (rowStatus.equals("U")) {
dCnt += programDao.updateProgramAuthority(data);
} else if (rowStatus.equals("D")) {
dCnt += programDao.deleteProgramAuthority(data);
}
}
Map result = new HashMap();
result.put("STATUS", "S");
result.put("ICNT", String.valueOf(iCnt));
result.put("UCNT", String.valueOf(uCnt));
result.put("DCNT", String.valueOf(dCnt));
return result;
}
/**
* (, , ).
*
* @param param Client
*/
@Override
public Map saveProgramAll(List paramProgram, List paramProgramAcess) {
int iCnt_menu = 0; // 등록한 메뉴 건수
int iCnt_access = 0; // 등록한 메뉴별 접근권한 건수
int uCnt_menu = 0; // 수정한 메뉴 건수
int uCnt_access = 0; // 수정한 메뉴별 접근권한 건수
int dCnt_menu = 0; // 삭제한 메뉴 건수
int dCnt_access = 0; // 삭제한 메뉴별 접근권한 건수
for (int i = 0; i < paramProgram.size(); i++) {
Map dataProgram = (Map) paramProgram.get(i);
String rowStatusProgram = (String) dataProgram.get("rowStatus");
if (rowStatusProgram.equals("C")) {
iCnt_menu += programDao.insertProgram(dataProgram);
for (int j = 0; j < paramProgramAcess.size(); j++) {
Map dataProgramAcess = (Map) paramProgramAcess.get(j);
String rowStatusProgramAuthority = (String) dataProgramAcess.get("rowStatus");
if (rowStatusProgramAuthority.equals("C")) {
iCnt_access += programDao.insertProgramAuthority(dataProgramAcess);
}
}
} else if (rowStatusProgram.equals("U")) {
for (int j = 0; j < paramProgramAcess.size(); j++) {
Map dataProgramAcess = (Map) paramProgramAcess.get(j);
String rowStatusProgramAuthority = (String) dataProgramAcess.get("rowStatus");
if (rowStatusProgramAuthority.equals("C")) {
iCnt_access += programDao.insertProgramAuthority(dataProgramAcess);
} else if (rowStatusProgramAuthority.equals("D")) {
dCnt_access += programDao.deleteProgramAuthority(dataProgramAcess);
}
}
uCnt_menu += programDao.updateProgram(dataProgram);
// 상위 메뉴가 삭제이면 하위메뉴별 접근권한은 모두 삭제
} else if (rowStatusProgram.equals("D")) {
programDao.deleteProgramAuthority(dataProgram); // 하위 코드 정보는 전체 삭제
dCnt_menu += programDao.deleteProgram(dataProgram);
}
}
Map result = new HashMap();
result.put("STATUS", "S");
result.put("ICNT_MENU", String.valueOf(iCnt_menu));
result.put("ICNT_ACCESS", String.valueOf(iCnt_access));
result.put("UCNT_MENU", String.valueOf(uCnt_menu));
result.put("UCNT_ACCESS", String.valueOf(uCnt_access));
result.put("DCNT_MENU", String.valueOf(dCnt_menu));
result.put("DCNT_ACCESS", String.valueOf(dCnt_access));
return result;
}
}

@ -0,0 +1,14 @@
package com.inswave.util;
import websquare.http.controller.grid.excel.write.ICellDataProvider;
public class DataConvertDown implements ICellDataProvider {
public String convertValue(String cellvalue) throws Exception {
// System.out.println("cellvalue ==>>" + cellvalue);
// down받은 data중에서 변경할 부분을 replace한다.
return cellvalue.replace("u00", "u00_Convert_");
}
}

@ -0,0 +1,12 @@
package com.inswave.util;
import websquare.http.controller.grid.excel.read.ICellDataProvider;
public class DataConvertUp implements ICellDataProvider {
public String convertValue(String cellvalue) throws Exception {
// System.out.println("cellvalue ==>>" + cellvalue);
// down받은 data중에서 변경할 부분을 replace한다.
return cellvalue.replace("u00_Convert_", "u00");
}
}

@ -0,0 +1,429 @@
package com.inswave.util;
import java.text.DecimalFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
@SuppressFBWarnings
public class DateUtil {
private static Calendar oCal = null;
private static SimpleDateFormat oFormat = null;
public DateUtil() {
this.oCal = Calendar.getInstance();
this.oFormat = new SimpleDateFormat();
}
public static String convertDateFormat(String date, String srcFormat, String trgFormat) throws ParseException {
java.text.SimpleDateFormat dateFormatSource = new java.text.SimpleDateFormat(srcFormat);
java.util.Date sourceDate = dateFormatSource.parse(date);
java.text.SimpleDateFormat dateFormatTarget = new java.text.SimpleDateFormat(trgFormat);
return dateFormatTarget.format(sourceDate);
}
public static String convertDateFormat(String date, String trgFormat) {
if (date == null)
return null;
if (checkDate(date, "yyyy-MM-dd")) {
java.text.SimpleDateFormat dateFormatSource = new java.text.SimpleDateFormat("yyyy-MM-dd");
java.util.Date sourceDate;
try {
sourceDate = dateFormatSource.parse(date);
} catch (ParseException e) {
System.out.println(e);
return null;
}
java.text.SimpleDateFormat dateFormatTarget = new java.text.SimpleDateFormat("yyyyMMdd");
return dateFormatTarget.format(sourceDate);
} else if (checkDate(date, "yyyyMMdd")) {
return date;
} else {
return null;
}
}
public static Date convertStringToDate(String date, String format) throws ParseException {
java.text.SimpleDateFormat dateFormatSource = new java.text.SimpleDateFormat(format);
return dateFormatSource.parse(date);
}
public static Date convertStringToDate(String date) throws ParseException {
return convertStringToDate(date, "yyyy-MM-dd");
}
/**
* .
*
* @return
*/
public static java.sql.Date getCurrentDate() {
return new java.sql.Date(System.currentTimeMillis());
}
/**
* .
*
* @return
*/
public static String getCurrentDate(String format) {
Date currentDate = new Date();
java.text.SimpleDateFormat dateFormat = new java.text.SimpleDateFormat(format);
return dateFormat.format(currentDate);
}
/**
* .
*
* @return
*/
public static String convertDateToString(Date date, String format) {
java.text.SimpleDateFormat dateFormat = new java.text.SimpleDateFormat(format);
return dateFormat.format(date);
}
/**
*
*
* @param cType char : 'S':, 'M':, 'H':, 'D':
* @param szDateSrt String : (DATE1)
* @param szDateEnd String : (DATE2)
* @param szDateFormat String :
* @return
*/
public static long dateDifference(char cType, String szDateSrt, String szDateEnd, String szDateFormat) {
Date oDate1 = null;
Date oDate2 = null;
long lnResult = 0;
long lnConvBase = 0;
oFormat.applyPattern(szDateFormat);
try {
oDate1 = oFormat.parse(szDateSrt);
} catch (ParseException e) {
;
}
;
try {
oDate2 = oFormat.parse(szDateEnd);
} catch (ParseException e) {
;
}
;
switch (cType) {
case 'S':
lnConvBase = 1000;
break;
case 'M':
lnConvBase = 1000 * 60;
break;
case 'H':
lnConvBase = 1000 * 60 * 60;
break;
case 'D':
lnConvBase = 1000 * 60 * 60 * 24;
break;
}
lnResult = (oDate2.getTime() - oDate1.getTime()) / lnConvBase;
return lnResult;
}
/**
*
*
* @param cType char : 'S':, 'M':, 'H':, 'D':
* @param iAdd int : ///
* @param szDate String :
* @param szDateFormat String :
* @return
*/
public static Date dateAdd(char cType, int iAdd, String szDate, String szDateFormat) {
Date oDate1 = null;
Date oDate2 = null;
long lnTimestamp = 0;
long lnConvBase = 0;
oFormat.applyPattern(szDateFormat);
try {
oDate1 = oFormat.parse(szDate);
} catch (ParseException e) {
;
}
;
lnTimestamp = oDate1.getTime();
switch (cType) {
case 'S':
lnConvBase = 1000;
break;
case 'M':
lnConvBase = 1000 * 60;
break;
case 'H':
lnConvBase = 1000 * 60 * 60;
break;
case 'D':
lnConvBase = 1000 * 60 * 60 * 24;
break;
}
lnTimestamp = lnTimestamp + (lnConvBase * iAdd);
oDate2 = new Date(lnTimestamp);
return oDate2;
}
/**
*
*
* @param cReturnType char : 'K'-, 'E'-, 'A'-1, 'B'-2
* @param iYear int :
* @param iMonth int :
* @param iDay int :
* @return
*/
public static String dayOfWeek(char cReturnType, int iYear, int iMonth, int iDay) {
String szDayOfWeek[][] = { { "일", "월", "화", "수", "목", "금", "토" }, { "S", "M", "T", "W", "T", "F", "S" },
{ "SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT" }, { "SUNDAY", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY" } };
String szResult = new String("");
int iDayOfWeek = 0;
oCal.set(Calendar.YEAR, iYear);
oCal.set(Calendar.MONTH, iMonth - 1);
oCal.set(Calendar.DAY_OF_MONTH, iDay);
iDayOfWeek = oCal.get(Calendar.DAY_OF_WEEK);
switch (cReturnType) {
case 'K':
szResult = szDayOfWeek[0][iDayOfWeek - 1];
break;
case 'E':
szResult = szDayOfWeek[1][iDayOfWeek - 1];
break;
case 'A':
szResult = szDayOfWeek[2][iDayOfWeek - 1];
break;
case 'B':
szResult = szDayOfWeek[3][iDayOfWeek - 1];
break;
default:
szResult = Integer.toString(iDayOfWeek);
}
return szResult;
}
/**
*
*
* @param szVictim String
* @param szFormatCur String
* @param szFormatNew String
* @return
*/
public static String reformatDate(String szVictim, String szFormatCur, String szFormatNew) {
Date oDate1 = null;
String szResult = new String("");
SimpleDateFormat oDateFormat = new SimpleDateFormat();
oDateFormat.applyPattern(szFormatCur);
try {
oDate1 = oDateFormat.parse(szVictim);
} catch (Exception e) {
e.printStackTrace();
}
oDateFormat.applyPattern(szFormatNew);
szResult = oDateFormat.format(oDate1);
return szResult;
}
/**
* , Format ,
*
* @param szDate String :
* @param szFormat String :
* @return
*/
public static boolean checkDate(String szDate, String szFormat) {
boolean bResult = true;
SimpleDateFormat oDateFormat = new SimpleDateFormat();
oDateFormat.applyPattern(szFormat);
oDateFormat.setLenient(false); // 엄밀하게 검사한다는 옵션 (반드시 있어야 한다)
try {
oDateFormat.parse(szDate);
} catch (ParseException e) {
bResult = false;
}
return bResult;
}
/**
* .
*
* @param iAddDay int : or ? (0 )
* @param szFormat String : (yyyy-MM-dd)
* @return -
*/
public static String getDate(int iAddDay, String szFormat) {
DecimalFormat oDf = new DecimalFormat("00");
szFormat = (szFormat.length() <= 0) ? "yyyyMMdd" : szFormat;
oCal.add(oCal.DATE, iAddDay);
String szYear = Integer.toString(oCal.get(Calendar.YEAR));
String szMonth = oDf.format(oCal.get(Calendar.MONTH) + 1);
String szDay = oDf.format(oCal.get(Calendar.DATE));
int iAmpm = oCal.get(Calendar.AM_PM);
int iHour = oCal.get(Calendar.HOUR);
String szHour = oDf.format(iHour + (iAmpm * 12));
String szMinute = oDf.format(oCal.get(Calendar.MINUTE));
String szSecond = oDf.format(oCal.get(Calendar.SECOND));
return reformatDate(szYear + szMonth + szDay + " " + szHour + szMinute + szSecond, "yyyyMMdd HHmmss", szFormat);
}
/**
* (sec) Human Readable Format . 177981 -> 2.01:26:21 (2 01 26 21) -
*/
public static String makeHRDate(long lnSeconds) {
String szResult = new String("");
String szDay = new String("");
String szHour = new String("");
String szMin = new String("");
String szSec = new String("");
long lnValue = 0;
long lnRemain = 0;
int iOneDay = 60 * 60 * 24;
int iOneHour = 60 * 60;
int iOneMin = 60;
lnRemain = lnSeconds;
lnValue = lnRemain / iOneDay;
lnRemain = lnRemain % iOneDay;
szDay = Long.toString(lnValue);
lnValue = lnRemain / iOneHour;
lnRemain = lnRemain % iOneHour;
szHour = Long.toString(lnValue);
lnValue = lnRemain / iOneMin;
lnRemain = lnRemain % iOneMin;
szMin = Long.toString(lnValue);
szSec = Long.toString(lnRemain);
szResult = szDay + "." + makeLen(szHour, 2, '0') + ":" + makeLen(szMin, 2, '0') + ":" + makeLen(szSec, 2, '0');
return szResult;
}
/**
* (5 -> 0005)
*
* @param szVictim String :
* @param iLength int : ?
* @param cMarker char :
* @return -
*/
public static String makeLen(String szVictim, int iLength, char cMarker) {
String szResult = new String("");
int iAddLen = 0;
if (szVictim.length() < iLength) {
iAddLen = iLength - szVictim.length();
for (int iIdx = 0; iIdx < iAddLen; iIdx++) {
szResult += cMarker;
}
szResult += szVictim;
} else {
szResult = szVictim;
}
return szResult;
}
/**
* / / .
*
* @param iYear
* @param iMonth
* @return
*/
public static int getLastDay(int iYear, int iMonth) {
int iDay = 0;
try {
oCal.set(Calendar.YEAR, iYear);
oCal.set(Calendar.MONTH, iMonth - 1);
iDay = oCal.getActualMaximum(Calendar.DAY_OF_MONTH);
} catch (Exception e) {
iDay = 30;
}
return iDay;
}
public static java.sql.Date tryParseDate(Object value) {
try {
java.text.SimpleDateFormat dateFormatSource = new java.text.SimpleDateFormat("yyyyMMdd");
java.util.Date date = dateFormatSource.parse((String) value);
return new java.sql.Date(date.getTime());
} catch (Exception e) {
return null;
}
}
}

@ -0,0 +1,81 @@
package com.inswave.util;
import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import websquare.http.MultiPartHttpServletRequest;
import websquare.http.WebSquareContext;
import websquare.upload.handl.AbstractUploadFileDefiner;
@SuppressFBWarnings
public class FileUploadDefinerImpl extends AbstractUploadFileDefiner {
/**
* @param <String:Y> clientFileName :
* @param <String:Y> originalFileName :
* @desc .
*/
@Override
public String getFileName(String clientFileName, String originalFileName) throws Exception {
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
Calendar c1 = Calendar.getInstance();
String strToday = sdf.format(c1.getTime());
System.out.println("today : [" + strToday + "]");
// 랜덤 8자리
int intRan = (int)(Math.random() * 100000000);
String strRan = String.valueOf(intRan);
if(strRan.length() != 8){
strRan = "0" + strRan; // 7자리 + "0"
}
// 물리적파일명 = 날짜 14자리 + 랜덤 8자리
originalFileName = strToday + strRan;
// 파일명에 대한 별도 변경 처리시 추가한다.
System.out.println("clientFileName : [" + clientFileName + "]");
System.out.println("originalFileName : [" + originalFileName + "]");
return originalFileName;
}
/**
* @param <String:Y> filePath :
* @desc .
*/
@Override
public String getFilePath(String filePath) throws Exception {
// 파일업로드는 WAS의 공유볼륨에 저장된다. 파일 저장위치는 {websquare_home}/config/websquare.xml 의 baseDir에 위치한다.)
// 업로드컴퍼넌트의 useDir 파라메타가 있을때 baseDir 하위에 폴더를 생성하고 저장한다.
HttpServletRequest request = WebSquareContext.getContext().getRequest();
MultiPartHttpServletRequest multiPartRequest = (MultiPartHttpServletRequest)request;
Map parmeterMap = multiPartRequest.getMultipartParameters();
String[] useDir = (String[])parmeterMap.get("useDir");
String _filePath = filePath.substring(0, filePath.lastIndexOf(File.separator));
StringBuffer rt = new StringBuffer(_filePath);
if (useDir != null) {
int iCnt = useDir.length;
for (int idx = 0; idx < iCnt; idx++) {
if (idx == 0) rt.append(File.separator);
rt.append(useDir[idx]);
}
}
System.out.println("filePath : [" + _filePath + "]");
System.out.println("rt.toString() : [" + rt.toString() + "]");
return rt.toString();
}
}

@ -0,0 +1,132 @@
package com.inswave.util;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class MapUtil {
public static Map merge(Map source, Map target) {
return merge(source, target, false);
}
public static Map merge(Map source, Map target, boolean exist) {
return merge(source, target, false, null);
}
public static Map merge(Map<String, Object> source, Map target, boolean exist, String[] arg) {
if (arg == null) {
for (Map.Entry entry : source.entrySet()) {
Object key = entry.getKey();
Object value = entry.getValue();
if (exist) {
if (target.containsKey(key)) {
target.put(key, value);
}
} else {
target.put(key, value);
}
}
} else {
for (int i = 0; i < arg.length; i++) {
if (exist) {
if (target.containsKey(arg[i])) {
target.put(arg[i], source.get(arg[i]));
}
} else {
target.put(arg[i], source.get(arg[i]));
}
}
}
return target;
}
public static List merge(Map source, List target) {
return merge(source, target, false);
}
public static List merge(Map source, List target, boolean exist) {
return merge(source, target, false, null);
}
public static List merge(Map source, List target, boolean exist, String[] arg) {
int cnt = target.size();
for (int i = 0; i < cnt; i++) {
Map data = (Map) target.get(i);
data = merge(source, data, exist, arg);
target.set(i, data);
}
return target;
}
/**
* List .
*
* @param resultList List
* @return String[]
*/
public static String[] hashMapValuesToArray(List<HashMap <String, String>> resultList) {
if (resultList.size() > 0) {
String strArr[] = new String[1];
try {
strArr = new String[resultList.size() * resultList.get(0).size()];
int idx = 0;
for (HashMap<String, String> map : resultList) {
for (String value : map.values()) {
if (value != null) {
strArr[idx] = value;
} else {
strArr[idx] = "";
}
idx++;
}
}
} catch (Exception ex) {
ex.printStackTrace();
}
return strArr;
} else {
return null;
}
}
public static String[] hashMapValuesToArray(List<HashMap <String, String>> resultList, String keyMap) {
if (keyMap == null || keyMap.equals("")) return hashMapValuesToArray(resultList);
if (resultList.size() > 0) {
String[] keyArr = keyMap.split(",");
String strArr[] = new String[resultList.size() * keyArr.length];
try {
int idx = 0;
for (HashMap<String, String> hashMap : resultList) {
for (int i=0; i < keyArr.length; i++) {
String value = hashMap.get(keyArr[i]);
if (value != null) {
strArr[idx] = value;
} else {
strArr[idx] = "";
}
idx++;
}
}
} catch (Exception ex) {
ex.printStackTrace();
}
return strArr;
} else {
return null;
}
}
}

@ -0,0 +1,95 @@
package com.inswave.util;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
@Component
public class PageURIUtil {
private static String DEF_INDEX_PAGE;
private static String TAB_INDEX;
private static String WIN_INDEX;
private static String LOGIN_PAGE;
private static String AUTH_CHECK;
@Value("${w5xml.defIndex}")
private void setDEF_INDEX_PAGE(String def_index) {
DEF_INDEX_PAGE = def_index;
}
@Value("${w5xml.main.tab}")
private void setTAB_INDEX(String tab_index) {
TAB_INDEX = tab_index;
}
@Value("${w5xml.main.win}")
private void setWIN_INDEX(String win_index) {
WIN_INDEX = win_index;
}
@Value("${w5xml.login}")
private void setLOGIN_PAGE(String login_page) {
LOGIN_PAGE = login_page;
}
@Value("${w5xml.auth.check}")
private void setAUTH_CHECK(String auth_check) {
AUTH_CHECK = auth_check;
}
/**
* getIndexPageURI Main Layout URI
*
* @date 2016. 08. 08
* @param {String} [default:def, tab, win, null]URI string.
* @returns {String} properties main layout URI . default w5xml.defIndex .
* @author InswaveSytems
* @example getIndexPageURI("def"); return : "/test/test.xml"
*/
public static String getIndexPageURI(String pageNm) {
String rsURI = DEF_INDEX_PAGE;
if (pageNm != null) {
if (pageNm.equals("T")) {
rsURI = TAB_INDEX;
} else if (pageNm.equals("W")) {
rsURI = WIN_INDEX;
}
}
return rsURI;
}
/**
* Default Main Layout URI
*
* @date 2016. 08. 08
* @returns {String} properties default main layout URI . default w5xml.defIndex .
* @author InswaveSytems
* @example getIndexPageURI(); return : "/test/test.xml"
*/
public static String getIndexPageURI() {
return getIndexPageURI("T");
}
/**
* Default login page URI
*
* @date 2016. 08. 08
* @returns {String} login page uri
* @author InswaveSystems
* @example getLoginPage(); return : "/test/test.xml"
*/
public static String getLoginPage() {
return LOGIN_PAGE;
}
/**
* page url
*
* @date 2016. 09. 12
* @returns {String} page url
* @author InswaveSystems
* @example getLoginPage(); return : "/test/test.xml"
*/
public static String getAuthCheck() {
return AUTH_CHECK;
}
}

@ -0,0 +1,212 @@
package com.inswave.util;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import gtpa.fis.comm.CommonUtil;
@SuppressFBWarnings
public class Result {
private Map<String, Object> resultMap = new HashMap<String, Object>();
// 성공메세지
public final static String STATUS_SUCESS = "S";
// 성공 메세지
public final static String STATUS_SUCESS_MESSAGE = "정상 처리되었습니다.";
// 오류메세지
public final static String STATUS_ERROR = "E";
// 기본 에러 상세 코드
public final static String STATUS_ERROR_DEFAULT_DETAIL_CODE = "E9999";
// 오류메세지
public final static String STATUS_ERROR_MESSAGE = "처리 도중 오류가 발생되었습니다.";
// 경고메세지
public final static String STATUS_WARNING = "W";
// 경고메세지
public final static String STATUS_WARNING_MESSAGE = "처리 도중 오류가 발생되었습니다.";
// 기본(map 타입) 웹스퀘어 view
public final static String VIEW_DEFAULT = "wqView";
// 결과값에 대한 메세지 key명
public final static String MESSAGE_KEY = "rsMsg";
// viewType이 VIEW_STRING 일 경우 참조하는 key
public final static String RESULT_KEY_DEFAULT = "result";
public void setData(String id, String data) {
resultMap.put(id, data);
}
public void setData(String id, Map data) {
resultMap.put(id, data);
}
public void setData(String id, List data) {
resultMap.put(id, data);
}
public Map<String, Object> getResult() {
if (resultMap.get(MESSAGE_KEY) == null) {
setMsg(STATUS_SUCESS);
}
return resultMap;
}
/**
* -
*
* @date 2017.12.02
* @memberOf
* @param {} status :
* @returns void
* @author Inswave
* @example WqModel.setMsg( STATUS_SUCCESS );
*/
public void setMsg(String status) {
String msg = "";
if (status == STATUS_ERROR) {
msg = STATUS_ERROR_MESSAGE;
} else if (status == STATUS_SUCESS) {
msg = STATUS_SUCESS_MESSAGE;
} else if (status == STATUS_WARNING) {
msg = STATUS_WARNING_MESSAGE;
}
setMsg(status, msg);
}
/**
*
*
* @date 2017.12.02
* @memberOf
* @param {} status : , message :
* @returns void
* @author Inswave
* @example WqModel.setMsg( STATUS_SUCCESS, "정상 처리되었습니다." );
*/
public void setMsg(String status, String message) {
setMsg(status, message, null);
}
/**
*
*
* @date 2017.12.02
* @memberOf
* @param {} status : , message :
* @returns void
* @author Inswave
* @example WqModel.setMsg(returnData, MsgUtil.STATUS_SUCCESS, "정상 처리되었습니다." , exception );
*/
public void setMsg(String status, String message, Exception ex) {
Map<String, Object> result = new HashMap<String, Object>();
if (status.equals(STATUS_SUCESS)) {
result.put("statusCode", STATUS_SUCESS);
result.put("message", getDefaultStatusMessage(message, STATUS_SUCESS_MESSAGE));
} else if (status.equals(STATUS_WARNING)) {
result.put("statusCode", STATUS_WARNING);
result.put("message", getDefaultStatusMessage(message, STATUS_WARNING_MESSAGE));
} else if (status.equals(STATUS_ERROR)) {
setErrorMsg(STATUS_ERROR_DEFAULT_DETAIL_CODE, message, ex);
return;
}
if (ex != null) {
result.put("messageDetail", ex.getMessage());
}
resultMap.put(MESSAGE_KEY, result);
}
/**
*
*
* @date 2017.12.02
* @memberOf
* @param {} status : , message :
* @returns void
* @author Inswave
* @example WqModel.setMsg(returnData, MsgUtil.STATUS_SUCCESS, "정상 처리되었습니다." , exception );
*/
public void setMsg(String status, String message, Exception ex, String messageDetail) {
Map<String, Object> result = new HashMap<String, Object>();
if (status.equals(STATUS_SUCESS)) {
result.put("statusCode", STATUS_SUCESS);
result.put("message", getDefaultStatusMessage(message, STATUS_SUCESS_MESSAGE));
} else if (status.equals(STATUS_WARNING)) {
result.put("statusCode", STATUS_WARNING);
result.put("message", getDefaultStatusMessage(message, STATUS_WARNING_MESSAGE));
} else if (status.equals(STATUS_ERROR)) {
setErrorMsg(STATUS_ERROR_DEFAULT_DETAIL_CODE, message, ex);
return;
}
if (ex != null) {
result.put("messageDetail", ex.getMessage());
}
if (CommonUtil.notEmpty(messageDetail)) {
result.put("messageDetail", messageDetail);
}
resultMap.put(MESSAGE_KEY, result);
}
/**
*
*
* @date 2017.12.02
* @memberOf
* @param {} errorCode : , message :
* @returns void
* @author Inswave
* @example WqModel.setErrorMsg("E0001", "세션이없습니다." );
*/
public void setErrorMsg(String errorCode, String message) {
setErrorMsg(errorCode, message, null);
}
/**
*
*
* @date 2017.12.02
* @memberOf
* @param {} errorCode : , message :
* @returns void
* @author Inswave
* @example WqModel.setErrorMsg("E0001", "세션이없습니다." , exception );
*/
public void setErrorMsg(String errorCode, String message, Exception ex) {
Map<String, Object> result = new HashMap<String, Object>();
result.put("statusCode", STATUS_ERROR);
result.put("errorCode", errorCode);
result.put("message", getDefaultStatusMessage(message, STATUS_ERROR_MESSAGE));
if (ex != null) {
result.put("messageDetail", "" + ex.getMessage());
}
resultMap.put(MESSAGE_KEY, result);
}
public String getDefaultStatusMessage(String message, String defMessage) {
if (message == null) {
return defMessage;
}
return message;
};
}

@ -0,0 +1,247 @@
package com.inswave.util;
import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.http.HttpSession;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Scope;
import org.springframework.context.annotation.ScopedProxyMode;
import org.springframework.stereotype.Component;
@Component
@Scope(value = "session", proxyMode = ScopedProxyMode.TARGET_CLASS)
public class UserInfo implements Serializable {
// USER_ID
private String userId;
// SSO Token
private String ssoToken;
// EMP_CD
private String userCode;
// EMP_NM
private String userName;
// 시스템 관리자 여부
private boolean isAdmin;
// MAIN_LAYOUT_PAGE_CODE - 메인화면 layout
private String mainLayoutCode;
// FAVORITE_STORAGE - 즐겨찾기 저장 위치
private String isUseShortCut;
@Value("${main.setting.default.layout}")
private String defaultMainLayoutCode;
@Value("${main.setting.default.isUseShortCut}")
private String defaultIsUseShortCut;
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
public String getSsoToken() {
return ssoToken;
}
public void setSsoToken(String ssoToken) {
this.ssoToken = ssoToken;
}
public String getUserCode() {
return userCode;
}
public void setUserCode(String userCode) {
this.userCode = userCode;
}
public String getUserName() {
return userName;
}
private void setUserName(String userName) {
this.userName = userName;
}
public boolean getIsAdmin() {
return isAdmin;
}
public void setIsAdmin(boolean isAdmin) {
this.isAdmin = isAdmin;
}
public String getMainLayoutCode() {
return mainLayoutCode;
}
public void setMainLayoutCode(String mainLayoutCode) {
if (mainLayoutCode == null || mainLayoutCode.equals("")) {
this.mainLayoutCode = this.defaultMainLayoutCode;
} else {
this.mainLayoutCode = mainLayoutCode;
}
}
public String getIsUseShortCut() {
return isUseShortCut;
}
public void setIsUseShortCut(String isUseShortCut) {
if (isUseShortCut == null || isUseShortCut.equals("")) {
this.isUseShortCut = this.defaultIsUseShortCut;
} else {
this.isUseShortCut = isUseShortCut;
}
}
public String getDefaultMainLayoutCode() {
return this.defaultMainLayoutCode;
}
public String getDefaultIsUseShortCut() {
return this.defaultIsUseShortCut;
}
public Map<String, Object> getUserInfo() {
Map<String, Object> userInfo = new HashMap<String, Object>();
userInfo.put("USER_ID", this.getUserId());
userInfo.put("EMP_CD", this.getUserCode());
userInfo.put("EMP_NM", this.getUserName());
userInfo.put("MAIN_LAYOUT", this.getMainLayoutCode());
userInfo.put("FV_STORAGE", this.getIsUseShortCut());
return userInfo;
}
public Map<String, Object> getUserInfoWithoutUserID() {
Map<String, Object> userInfo = new HashMap<String, Object>();
userInfo.put("EMP_NM", this.getUserName());
userInfo.put("MAIN_LAYOUT", this.getMainLayoutCode());
userInfo.put("FV_STORAGE", this.getIsUseShortCut());
return userInfo;
}
/**
* Map return.
*
* @date 2016.08.22
* @returns <Map> EMP_CD map
* @author InswaveSystems
* @example
* @todo
*/
public Map getUserInfoByBase() {
Map<String, Object> userInfo = new HashMap<String, Object>();
//userInfo.put("EMP_CD", this.getUserId());
userInfo.put("USER_ID", this.getUserId());
return userInfo;
}
/**
* session dataSetting
*
* @date 2016.08.19
* @param session session
* @author InswaveSystems
* @example
* @todo
*/
public void setUserInfo(HttpSession session) {
this.setUserId((String) session.getAttribute("USER_ID"));
this.setUserCode((String) session.getAttribute("EMP_CD"));
this.setUserName((String) session.getAttribute("EMP_NM"));
this.setIsAdmin((boolean) session.getAttribute("IS_ADMIN"));
this.setMainLayoutCode((String) session.getAttribute("MAIN_LAYOUT_PAGE_CODE"));
this.setIsUseShortCut((String) session.getAttribute("IS_USE_SHORTCUT"));
}
/**
* session Main Layout
*
* @date 2016. 8. 19.
* @param session session
* @author InswaveSystems
* @example
* @todo
*/
public void updateMainLayoutCode(HttpSession session, String mainLayoutPageCode) {
this.setMainLayoutCode(mainLayoutPageCode);
session.setAttribute("MAIN_LAYOUT_PAGE_CODE", this.getMainLayoutCode());
}
/**
* session dataSetting
*
* @date 2016. 8. 19.
* @param session session
* @author InswaveSystems
* @example
* @todo
*/
public void updateIsUseShortCut(HttpSession session, String isUseShortCut) {
this.setIsUseShortCut(isUseShortCut);
session.setAttribute("IS_USE_SHORTCUT", this.getIsUseShortCut());
}
/**
* Map dataSetting
*
* @date 2016. 8. 19.
* @param memberInfo map
* @author InswaveSystems
* @example
* @todo
*/
public void setUserInfo(Map memberInfo) {
this.setUserId((String) memberInfo.get("USER_ID"));
this.setUserCode((String) memberInfo.get("EMP_CD"));
this.setUserName((String) memberInfo.get("EMP_NM"));
this.setMainLayoutCode((String) memberInfo.get("MAIN_LAYOUT_PAGE_CODE"));
this.setIsUseShortCut((String) memberInfo.get("IS_USE_SHORTCUT"));
}
/**
* data
*
* @date 2016. 8. 19.
* @returns <void>
* @author InswaveSystems
* @example
* @todo
*/
public void init() {
this.setUserId(null);
this.setUserCode(null);
this.setUserName(null);
this.setMainLayoutCode(null);
this.setIsUseShortCut(null);
}
/**
* ()
*
* @date 2016. 8. 19.
* @returns <Boolean>
* @author InswaveSystems
* @example
* @todo
*/
public Boolean isLogined() {
String userId = this.getUserId();
if (userId == null || userId.equals("")) {
return false;
}
return true;
}
}

@ -0,0 +1,65 @@
package com.inswave.util;
import java.util.ArrayList;
import java.util.HashMap;
import org.apache.ibatis.session.ResultContext;
import org.apache.ibatis.session.ResultHandler;
public class WqExcelProviderHandler implements ResultHandler {
private ArrayList<Object> dataArr = null;
private String[] keyCode = new String[0];
/**
* Data getResult() .
*/
public WqExcelProviderHandler() {
dataArr = new ArrayList();
}
public void setKeyCode(String[] keys) {
keyCode = keys.clone();
}
@Override
public void handleResult(ResultContext context) {
HashMap data = (HashMap)context.getResultObject();
for (int i = 0; i < keyCode.length; i++) {
String key = keyCode[i];
if (data.get(key) == null) {
dataArr.add("");
} else {
dataArr.add(String.valueOf(data.get(key)));
}
}
}
/**
* String[] .
*
* @date 2016.08.17
* @returns <Object> String[]
* @author InswaveSystems
* @example
* @todo
*/
public Object getResult() {
/*
returnData = new String[dataArr.size()];
for (int i = 0; i < dataArr.size(); i++) {
returnData[i] = String.valueOf(dataArr.get(i));
}
*/
String returnData[] = new String[dataArr.size()];
dataArr.toArray(returnData);
return returnData;
}
public int getSize() {
return dataArr.size();
}
}

@ -0,0 +1,78 @@
package com.inswave.util;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import org.apache.ibatis.session.ResultContext;
import org.apache.ibatis.session.ResultHandler;
public class WqLargeResultHandler implements ResultHandler {
private int totRowCount = 0;
private int totColCount = 0;
private ArrayList<String> columnArr = null;
private ArrayList<Object> dataArr = null;
private Map<String, Object> result = null;
/**
* Data getResult() .
*/
public WqLargeResultHandler() {
dataArr = new ArrayList<Object>();
result = new HashMap<String, Object>();
}
@Override
public void handleResult(ResultContext context) {
mapTypeRowHandler((HashMap) context.getResultObject());
}
/**
* Map data .
*
* @date 2016.08.17
* @param rowMap row Map
* @author InswaveSystems
* @example
* @todo
*/
private void mapTypeRowHandler(HashMap rowMap) {
if (totRowCount == 0) {
columnArr = new ArrayList<String>();
Set keySet = rowMap.keySet();
Iterator<String> keys = keySet.iterator();
totColCount = keySet.size();
while (keys.hasNext()) {
String key = (String) keys.next();
columnArr.add(key);
}
}
for (int i = 0; i < totColCount; i++) {
dataArr.add(rowMap.get(columnArr.get(i)));
}
totRowCount++;
}
/**
* resultType Data .
*
* @date 2016.08.17
* @returns <Object> [Map, String] type .
* @author InswaveSystems
* @example new LargeDataHandler()<br/>
* - return Map : {columnInfo:[],data:[],rowCount:0,colCount:0}<br/>
* @todo
*/
public Object getResult() {
result.put("columnInfo", columnArr);
result.put("data", dataArr);
result.put("rowCount", "" + totRowCount);
result.put("colCount", "" + totColCount);
return result;
}
}

@ -0,0 +1,469 @@
/**
* @Class Name : ApiBlockChainController.java
* @Description : BlockChainController
* @Version 1.0
* @Since 2019. 07. 23
* @Author
* <pre>
*
* ------- ------------- ----------------------
*
* </pre>
*/
package gtpa.fis.api.bc.controller;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.lang3.StringUtils;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import gtpa.fis.api.bc.service.BlockChain;
import gtpa.fis.api.cm.service.CommonVerification;
import gtpa.fis.comm.ApiRespException;
import gtpa.fis.comm.CommonCode;
import gtpa.fis.comm.CommonErrCodeStatus;
/**
* @Class Name : ApiBlockChainController.java
* @Description : BlockChainController
* @Since 2019. 07. 23
* @Author
* <pre>
*
* ------- ------------- ----------------------
*
* </pre>
*/
@SuppressFBWarnings
@RestController
@RequestMapping("/fis/rest/api/bc/")
public class ApiBlockChainController {
static Logger logger = Logger.getLogger(ApiBlockChainController.class.getName());
@Autowired
private CommonVerification commonVerification;
@Autowired
private BlockChain blockChain;
/**
*
* @param
* @throws Exception
*/
@RequestMapping(value = "/regBlockChain", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
public @ResponseBody HashMap<String, Object> regBlockChain (HttpServletRequest request, @RequestBody Map<String, Object> params) throws RuntimeException, Exception {
HashMap<String, Object> rtnMap = new LinkedHashMap<String, Object>();
Map searchParam = (Map) params.get("dc_call");
String strSysId = (String) searchParam.get("sysId");
String strTranDate = (String) searchParam.get("tranDate");
String strTransId = (String) searchParam.get("transId");
// commonVerification.apiHdrVerification(strSysId, strTranDate, strTransId, request );
// logger.info("params : "+ searchParam);
//String strPdfConvertUrl = (String)params.get("pdfConvertUrl"); //민원신청서URL
String strUserId = (String)searchParam.get("userId"); //민원신청자ID
String strAttFiles = (String)searchParam.get("attFiles"); //첨부파일 arr
String strServiceId = (String)searchParam.get("serviceId"); //업무ID
String strServiceName = (String)searchParam.get("serviceName"); //업무명
//String strPdfFileNm = strServiceId + "_" + CommonUtil.getUniqueID("", 10) +".pdf" ; //pdf생성 파일 이름
String strPdfFileNm = (String)searchParam.get("pdfFileNm");//pdf명_서버 저장된 pdf명
// if(StringUtils.isEmpty(strPdfConvertUrl))
// {
// throw new ApiRespException(CommonErrCodeStatus.RequiredValueNotStringFormat.getCode(), String.format(CommonErrCodeStatus.RequiredValueNotStringFormat.getMessage(), "민원신청서URL"));
// }
if(StringUtils.isEmpty(strUserId))
{
//throw new ApiRespException(CommonErrCodeStatus.RequiredValueNotStringFormat.getCode(), String.format(CommonErrCodeStatus.RequiredValueNotStringFormat.getMessage(), "민원신청자ID"));
}
if(StringUtils.isEmpty(strServiceId))
{
throw new ApiRespException(CommonErrCodeStatus.RequiredValueNotStringFormat.getCode(), String.format(CommonErrCodeStatus.RequiredValueNotStringFormat.getMessage(), "업무ID"));
}
if(StringUtils.isEmpty(strServiceName))
{
throw new ApiRespException(CommonErrCodeStatus.RequiredValueNotStringFormat.getCode(), String.format(CommonErrCodeStatus.RequiredValueNotStringFormat.getMessage(), "업무명"));
}
HashMap<String, Object> bcMap = new HashMap<>();
bcMap.put("sysId", strSysId);
bcMap.put("pdfFileNm", strPdfFileNm);
//bcMap.put("pdfConvertUrl", strPdfConvertUrl);
bcMap.put("userId", strUserId);
bcMap.put("attFiles", strAttFiles);
bcMap.put("serviceId", strServiceId);
bcMap.put("serviceName", strServiceName);
bcMap.put("transId", strTransId);
HashMap<String, Object> retMap = blockChain.regBlockChain(bcMap, request);
logger.info("allanbc retMap : " + retMap);
if(retMap.get("result").equals("000"))//정상
{
retMap.remove("result");
rtnMap.put(CommonCode.fResult, CommonCode.fSUCCESS);
rtnMap.put(CommonCode.fResultCode, CommonErrCodeStatus.Success.getCode());
rtnMap.put(CommonCode.fResultMessage, CommonErrCodeStatus.Success.getMessage());
rtnMap.put(CommonCode.fData, retMap);
}else{
rtnMap.put(CommonCode.fResult, CommonCode.fFAIL);
rtnMap.put(CommonCode.fResultCode, retMap.get("result"));
rtnMap.put(CommonCode.fResultMessage, retMap.get("resultMessage"));
}
return rtnMap;
}
/**
*
* @param
* @throws Exception
*/
@RequestMapping(value = "/delBlockChain", method = RequestMethod.POST)
public @ResponseBody HashMap<String, Object> delBlockChain (HttpServletRequest request, @RequestBody Map<String, Object> params) throws RuntimeException, Exception {
HashMap<String, Object> rtnMap = new LinkedHashMap<String, Object>();
Map searchParam = (Map) params.get("dc_call");
String strSysId = (String) searchParam.get("sysId");
String strTranDate = (String) searchParam.get("tranDate");
String strTransId = (String) searchParam.get("transId");
commonVerification.apiHdrVerification(strSysId, strTranDate, strTransId, request );
logger.info("searchParam : "+ searchParam);
String strUserId = (String)searchParam.get("userId"); //민원신청자ID
String strDocId = (String)searchParam.get("docId"); //문서ID
String strServiceId = (String)searchParam.get("serviceId"); //업무ID
String strServiceName = (String)searchParam.get("serviceName"); //업무명
if(StringUtils.isEmpty(strUserId))
{
throw new ApiRespException(CommonErrCodeStatus.RequiredValueNotStringFormat.getCode(), String.format(CommonErrCodeStatus.RequiredValueNotStringFormat.getMessage(), "민원신청자ID"));
}
if(StringUtils.isEmpty(strDocId))
{
throw new ApiRespException(CommonErrCodeStatus.RequiredValueNotStringFormat.getCode(), String.format(CommonErrCodeStatus.RequiredValueNotStringFormat.getMessage(), "문서ID"));
}
if(StringUtils.isEmpty(strServiceId))
{
throw new ApiRespException(CommonErrCodeStatus.RequiredValueNotStringFormat.getCode(), String.format(CommonErrCodeStatus.RequiredValueNotStringFormat.getMessage(), "업무ID"));
}
if(StringUtils.isEmpty(strServiceName))
{
throw new ApiRespException(CommonErrCodeStatus.RequiredValueNotStringFormat.getCode(), String.format(CommonErrCodeStatus.RequiredValueNotStringFormat.getMessage(), "업무명"));
}
HashMap<String, Object> bcMap = new HashMap<>();
bcMap.put("sysId", strSysId);
bcMap.put("userId", strUserId);
bcMap.put("docId", strDocId);
bcMap.put("serviceId", strServiceId);
bcMap.put("serviceName", strServiceName);
bcMap.put("transId", strTransId);
HashMap<String, Object> retMap = blockChain.delBlockChain(bcMap, request);
if(retMap.get("result").equals("000"))//정상
{
retMap.remove("result");
rtnMap.put(CommonCode.fResult, CommonCode.fSUCCESS);
rtnMap.put(CommonCode.fResultCode, CommonErrCodeStatus.Success.getCode());
rtnMap.put(CommonCode.fResultMessage, CommonErrCodeStatus.Success.getMessage());
rtnMap.put(CommonCode.fData, retMap);
}else
{
rtnMap.put(CommonCode.fResult, CommonCode.fFAIL);
rtnMap.put(CommonCode.fResultCode, retMap.get("result"));
rtnMap.put(CommonCode.fResultMessage, retMap.get("resultMessage"));
}
return rtnMap;
}
/**
*
* @param
* @throws Exception
*/
@RequestMapping(value = "/updateBlockChain", method = RequestMethod.POST)
public @ResponseBody HashMap<String, Object> updateBlockChain (HttpServletRequest request, @RequestBody Map<String, Object> params) throws RuntimeException, Exception {
HashMap<String, Object> rtnMap = new LinkedHashMap<String, Object>();
Map searchParam = (Map) params.get("dc_call");
String strSysId = (String) searchParam.get("sysId");
String strTranDate = (String) searchParam.get("tranDate");
String strTransId = (String) searchParam.get("transId");
commonVerification.apiHdrVerification(strSysId, strTranDate, strTransId, request );
logger.info("searchParam : "+ searchParam);
String strDocId = (String)searchParam.get("docId"); //문서ID
//String strPdfConvertUrl = (String)params.get("pdfConvertUrl"); //민원신청서URL
String strUserId = (String)searchParam.get("userId"); //민원신청자ID
String strAttFiles = (String)searchParam.get("attFiles"); //첨부파일 arr
String strServiceId = (String)searchParam.get("serviceId"); //업무ID
String strServiceName = (String)searchParam.get("serviceName"); //업무명
//String strPdfFileNm = strServiceId + "_" + CommonUtil.getUniqueID("", 10) +".pdf" ; //pdf생성 파일 이름
String strPdfFileNm = (String)searchParam.get("pdfFileNm"); //pdf서버저장된
if(StringUtils.isEmpty(strDocId))
{
throw new ApiRespException(CommonErrCodeStatus.RequiredValueNotStringFormat.getCode(), String.format(CommonErrCodeStatus.RequiredValueNotStringFormat.getMessage(), "문서ID"));
}
// if(StringUtils.isEmpty(strPdfConvertUrl))
// {
// throw new ApiRespException(CommonErrCodeStatus.RequiredValueNotStringFormat.getCode(), String.format(CommonErrCodeStatus.RequiredValueNotStringFormat.getMessage(), "민원신청서URL"));
// }
if(StringUtils.isEmpty(strUserId))
{
throw new ApiRespException(CommonErrCodeStatus.RequiredValueNotStringFormat.getCode(), String.format(CommonErrCodeStatus.RequiredValueNotStringFormat.getMessage(), "민원신청자ID"));
}
if(StringUtils.isEmpty(strServiceId))
{
throw new ApiRespException(CommonErrCodeStatus.RequiredValueNotStringFormat.getCode(), String.format(CommonErrCodeStatus.RequiredValueNotStringFormat.getMessage(), "업무ID"));
}
if(StringUtils.isEmpty(strServiceName))
{
throw new ApiRespException(CommonErrCodeStatus.RequiredValueNotStringFormat.getCode(), String.format(CommonErrCodeStatus.RequiredValueNotStringFormat.getMessage(), "업무명"));
}
HashMap<String, Object> bcMap = new HashMap<>();
bcMap.put("sysId", strSysId);
bcMap.put("docId", strDocId);
bcMap.put("pdfFileNm", strPdfFileNm);
//bcMap.put("pdfConvertUrl", strPdfConvertUrl);
bcMap.put("userId", strUserId);
bcMap.put("attFiles", strAttFiles);
bcMap.put("serviceId", strServiceId);
bcMap.put("serviceName", strServiceName);
bcMap.put("transId", strTransId);
HashMap<String, Object> retMap = blockChain.updateBlockChain(bcMap, request);
if(retMap.get("result").equals("000"))//정상
{
retMap.remove("result");
rtnMap.put(CommonCode.fResult, CommonCode.fSUCCESS);
rtnMap.put(CommonCode.fResultCode, CommonErrCodeStatus.Success.getCode());
rtnMap.put(CommonCode.fResultMessage, CommonErrCodeStatus.Success.getMessage());
rtnMap.put(CommonCode.fData, retMap);
}else
{
rtnMap.put(CommonCode.fResult, CommonCode.fFAIL);
rtnMap.put(CommonCode.fResultCode, retMap.get("result"));
rtnMap.put(CommonCode.fResultMessage, retMap.get("resultMessage"));
}
return rtnMap;
}
/**
*
* @param
* @throws Exception
*/
@RequestMapping(value = "/verifyBlockChain", method = RequestMethod.POST)
public @ResponseBody HashMap<String, Object> verifyBlockChain (HttpServletRequest request, @RequestBody Map<String, Object> params) throws RuntimeException, Exception {
HashMap<String, Object> rtnMap = new LinkedHashMap<String, Object>();
String strSysId = (String) params.get("sysId");
String strTranDate = (String) params.get("tranDate");
String strTransId = (String) params.get("transId");
commonVerification.apiHdrVerification(strSysId, strTranDate, strTransId, request );
logger.info("params : "+ params);
String strUserId = (String)params.get("userId"); //민원신청자ID
String strPdfFileNm = (String)params.get("pdfFileNm"); //pdf파일명
String strAttFiles = (String)params.get("attFiles"); //첨부파일 arr
String strDocId = (String)params.get("docId"); //문서ID
String strServiceId = (String)params.get("serviceId"); //업무ID
String strServiceName = (String)params.get("serviceName"); //업무명
if(StringUtils.isEmpty(strUserId))
{
throw new ApiRespException(CommonErrCodeStatus.RequiredValueNotStringFormat.getCode(), String.format(CommonErrCodeStatus.RequiredValueNotStringFormat.getMessage(), "민원신청자ID"));
}
if(StringUtils.isEmpty(strPdfFileNm))
{
throw new ApiRespException(CommonErrCodeStatus.RequiredValueNotStringFormat.getCode(), String.format(CommonErrCodeStatus.RequiredValueNotStringFormat.getMessage(), "pdf파일명"));
}
if(StringUtils.isEmpty(strDocId))
{
throw new ApiRespException(CommonErrCodeStatus.RequiredValueNotStringFormat.getCode(), String.format(CommonErrCodeStatus.RequiredValueNotStringFormat.getMessage(), "문서ID"));
}
if(StringUtils.isEmpty(strServiceId))
{
throw new ApiRespException(CommonErrCodeStatus.RequiredValueNotStringFormat.getCode(), String.format(CommonErrCodeStatus.RequiredValueNotStringFormat.getMessage(), "업무ID"));
}
if(StringUtils.isEmpty(strServiceName))
{
throw new ApiRespException(CommonErrCodeStatus.RequiredValueNotStringFormat.getCode(), String.format(CommonErrCodeStatus.RequiredValueNotStringFormat.getMessage(), "업무명"));
}
HashMap<String, Object> bcMap = new HashMap<>();
bcMap.put("sysId", strSysId);
bcMap.put("pdfFileNm", strPdfFileNm);
bcMap.put("userId", strUserId);
bcMap.put("attFiles", strAttFiles);
bcMap.put("docId", strDocId);
bcMap.put("serviceId", strServiceId);
bcMap.put("serviceName", strServiceName);
bcMap.put("transId", strTransId);
HashMap<String, Object> retMap = blockChain.verifyBlockChain(bcMap, request);
if(retMap.get("result").equals("000"))//정상
{
retMap.remove("result");
rtnMap.put(CommonCode.fResult, CommonCode.fSUCCESS);
rtnMap.put(CommonCode.fResultCode, CommonErrCodeStatus.Success.getCode());
rtnMap.put(CommonCode.fResultMessage, CommonErrCodeStatus.Success.getMessage());
rtnMap.put(CommonCode.fData, retMap);
}else
{
rtnMap.put(CommonCode.fResult, CommonCode.fFAIL);
rtnMap.put(CommonCode.fResultCode, retMap.get("result"));
rtnMap.put(CommonCode.fResultMessage, retMap.get("resultMessage"));
}
return rtnMap;
}
/**
*
* @param
* @throws Exception
*/
@RequestMapping(value = "/queryBlockChain", method = RequestMethod.POST)
public @ResponseBody HashMap<String, Object> queryBlockChain (HttpServletRequest request, @RequestBody Map<String, Object> params) throws RuntimeException, Exception {
HashMap<String, Object> rtnMap = new LinkedHashMap<String, Object>();
String strSysId = (String) params.get("sysId");
String strTranDate = (String) params.get("tranDate");
String strTransId = (String) params.get("transId");
commonVerification.apiHdrVerification(strSysId, strTranDate, strTransId, request );
logger.info("params : "+ params);
String strUserId = (String)params.get("userId"); //민원신청자ID
String strDocId = (String)params.get("docId"); //문서ID
String strServiceId = (String)params.get("serviceId"); //업무ID
if(StringUtils.isEmpty(strUserId))
{
throw new ApiRespException(CommonErrCodeStatus.RequiredValueNotStringFormat.getCode(), String.format(CommonErrCodeStatus.RequiredValueNotStringFormat.getMessage(), "민원신청자ID"));
}
if(StringUtils.isEmpty(strDocId))
{
throw new ApiRespException(CommonErrCodeStatus.RequiredValueNotStringFormat.getCode(), String.format(CommonErrCodeStatus.RequiredValueNotStringFormat.getMessage(), "문서ID"));
}
if(StringUtils.isEmpty(strServiceId))
{
throw new ApiRespException(CommonErrCodeStatus.RequiredValueNotStringFormat.getCode(), String.format(CommonErrCodeStatus.RequiredValueNotStringFormat.getMessage(), "업무ID"));
}
HashMap<String, Object> bcMap = new HashMap<>();
bcMap.put("sysId", strSysId);
bcMap.put("userId", strUserId);
bcMap.put("docId", strDocId);
bcMap.put("serviceId", strServiceId);
bcMap.put("transId", strTransId);
HashMap<String, Object> retMap = blockChain.queryBlockChain(bcMap, request);
if(retMap.get("result").equals("000"))//정상
{
retMap.remove("result");
rtnMap.put(CommonCode.fResult, CommonCode.fSUCCESS);
rtnMap.put(CommonCode.fResultCode, CommonErrCodeStatus.Success.getCode());
rtnMap.put(CommonCode.fResultMessage, CommonErrCodeStatus.Success.getMessage());
rtnMap.put(CommonCode.fData, retMap);
}else
{
rtnMap.put(CommonCode.fResult, CommonCode.fFAIL);
rtnMap.put(CommonCode.fResultCode, retMap.get("result"));
rtnMap.put(CommonCode.fResultMessage, retMap.get("resultMessage"));
}
return rtnMap;
}
/**
*
* @param
* @throws Exception
*/
@RequestMapping(value = "/queryAllBlockChain", method = RequestMethod.POST)
public @ResponseBody HashMap<String, Object> queryAllBlockChain (HttpServletRequest request, @RequestBody Map<String, Object> params) throws RuntimeException, Exception {
HashMap<String, Object> rtnMap = new LinkedHashMap<String, Object>();
String strSysId = (String) params.get("sysId");
String strTranDate = (String) params.get("tranDate");
String strTransId = (String) params.get("transId");
commonVerification.apiHdrVerification(strSysId, strTranDate, strTransId, request );
logger.info("params : "+ params);
String strUserId = (String)params.get("userId"); //민원신청자ID
String strDocId = (String)params.get("docId"); //문서ID
String strServiceId = (String)params.get("serviceId"); //업무ID
String strServiceName = (String)params.get("serviceName"); //업무명
if(StringUtils.isEmpty(strUserId))
{
throw new ApiRespException(CommonErrCodeStatus.RequiredValueNotStringFormat.getCode(), String.format(CommonErrCodeStatus.RequiredValueNotStringFormat.getMessage(), "민원신청자ID"));
}
if(StringUtils.isEmpty(strDocId))
{
throw new ApiRespException(CommonErrCodeStatus.RequiredValueNotStringFormat.getCode(), String.format(CommonErrCodeStatus.RequiredValueNotStringFormat.getMessage(), "문서ID"));
}
if(StringUtils.isEmpty(strServiceId))
{
throw new ApiRespException(CommonErrCodeStatus.RequiredValueNotStringFormat.getCode(), String.format(CommonErrCodeStatus.RequiredValueNotStringFormat.getMessage(), "업무ID"));
}
if(StringUtils.isEmpty(strServiceName))
{
throw new ApiRespException(CommonErrCodeStatus.RequiredValueNotStringFormat.getCode(), String.format(CommonErrCodeStatus.RequiredValueNotStringFormat.getMessage(), "업무명"));
}
HashMap<String, Object> bcMap = new HashMap<>();
bcMap.put("sysId", strSysId);
bcMap.put("userId", strUserId);
bcMap.put("docId", strDocId);
bcMap.put("serviceId", strServiceId);
bcMap.put("serviceName", strServiceName);
bcMap.put("transId", strTransId);
HashMap<String, Object> retMap = blockChain.queryAllBlockChain(bcMap, request);
if(retMap.get("result").equals("000"))//정상
{
retMap.remove("result");
rtnMap.put(CommonCode.fResult, CommonCode.fSUCCESS);
rtnMap.put(CommonCode.fResultCode, CommonErrCodeStatus.Success.getCode());
rtnMap.put(CommonCode.fResultMessage, CommonErrCodeStatus.Success.getMessage());
rtnMap.put(CommonCode.fData, retMap);
}else
{
rtnMap.put(CommonCode.fResult, CommonCode.fFAIL);
rtnMap.put(CommonCode.fResultCode, retMap.get("result"));
rtnMap.put(CommonCode.fResultMessage, retMap.get("resultMessage"));
}
return rtnMap;
}
}

@ -0,0 +1,557 @@
/**
* @Class Name : BlockChain.java
* @Description :
* @Version 1.0
* @Since 2019. 07. 23
* @Author
* <pre>
*
* ------- ------------- ----------------------
*
* </pre>
*/
package gtpa.fis.api.bc.service;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import java.io.File;
import org.apache.commons.lang3.StringUtils;
import org.apache.log4j.Logger;
import org.springframework.stereotype.Component;
import com.hsecure.blockchain.BlockchainIF;
import com.hsecure.blockchain.GTP_Block;
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import gtpa.fis.comm.CommonCode.CommonCodeStatus;
import gtpa.fis.comm.CommonErrCodeStatus;
import gtpa.fis.comm.CommonUtil;
/**
* @Class Name : BlockChain.java
* @Description :
* @Since 2019. 07. 23
* @Author
* <pre>
*
* ------- ------------- ----------------------
*
* </pre>
*/
@SuppressFBWarnings
@Component
public class BlockChain {
static Logger logger = Logger.getLogger(BlockChain.class.getName());
String strRealUploadFilePath; //pdf생성경로
String strRealConfigPath;//블록체인 config경로
boolean bDebugLog;
String strHashType;
String striTextLic1; //라이센스 파일경로
String striTextLic2; //라이센스 파일경로
String strFontPath;//폰트path
String strStampFile;//스탬프파일 경로
String strConfigFile;//Config파일 경로
String pdfFilePath;//pdf저장경로
String[] arrAttFiles; //첨부파일 arr
private void init(String strSysId, HttpServletRequest request) {
// if("11-006".equals(strSysId)){
// strRealUploadFilePath = "/was_data/FIS/upload/" ;
// }else{
// strRealUploadFilePath = "/was_data/BRS/upload/" ;
// }
//strRealUploadFilePath
strRealConfigPath = request.getSession().getServletContext().getRealPath("/BlockChain/") ;
bDebugLog = true;
strHashType = "SHA-256";
striTextLic1 = strRealConfigPath + "/class" + File.separator+ "iTextLic" +File.separator+ "itextkey1562745932466_0.xml";
striTextLic2 = strRealConfigPath + "/class" + File.separator+ "iTextLic" +File.separator+ "itextkey1562745933383_0.xml";
strFontPath =strRealConfigPath + "/class" + File.separator+ "fonts" + File.separator;
strStampFile = strRealConfigPath + "/class" + File.separator+ "img" + File.separator + "stamp_backup.png";
strConfigFile = strRealConfigPath + "/config" + File.separator + "REST_Server.txt";
//pdfFilePath = strRealUploadFilePath + "blockChain" + File.separator; //블록체인 첨부파일 경로
//pdfFilePath = strRealUploadFilePath + "blockChain" + File.separator; //블록체인 첨부파일 경로
}
private String[] getArrAttFiles(String strAttFiles) {
strAttFiles = strAttFiles.replace("/", File.separator); // 윈도우 \ 리눅스는 /로 파일 path변경
String[] arrAttFilesSplit = strAttFiles.split(",");
arrAttFiles = new String[arrAttFilesSplit.length];
//logger.info("arrAttFiles.length : " + arrAttFiles.length);
for(int i = 0; i<arrAttFilesSplit.length; i++)
{
arrAttFiles[i] = arrAttFilesSplit[i];
// logger.info("arrAttFiles[i] : " + arrAttFiles[i]);
}
return arrAttFiles;
}
/**
*
* @param
*/
public HashMap<String, Object> regBlockChain(HashMap bcMap, HttpServletRequest request) {
String strSysId = (String)bcMap.get("sysId");
this.init(strSysId, request);
HashMap<String, Object> rtnMap = new LinkedHashMap<String, Object>();
logger.info("bcMap : " + bcMap);
// logger.info("striTextLic1 : " + striTextLic1);
// logger.info("striTextLic2 : " + striTextLic2);
// logger.info("strFontPath : " + strFontPath);
// logger.info("strStampFile : " + strStampFile);
// logger.info("strConfigFile : " + strConfigFile);
// Blockchain IF 생성
BlockchainIF bcif = new BlockchainIF(striTextLic1, striTextLic2, strFontPath, strStampFile, strConfigFile, bDebugLog);
bcif.setDelayTime(3000);
String StrPdfFileNm = (String)bcMap.get("pdfFileNm");
//String strPdfHash = null;
//String strPdfConvertUrl = (String)bcMap.get("pdfConvertUrl"); //민원신청서url
String strUserId = (String)bcMap.get("userId"); // 민원신청자 userId
String strDocId = CommonUtil.getUniqueID("B", 10); //민원신청서 문서ID Unique값
//String[] att_files = {"c:\\hancom_blockchain\\files/att1.png","c:\\hancom_blockchain\\files\\att2.pdf","c:\\hancom_blockchain\\files\\att3.pdf"};
String strAttFiles =(String)bcMap.get("attFiles");
String strTransId = (String)bcMap.get("transId");
logger.info("넘어온 strAttFiles : " + strAttFiles);
if(!StringUtils.isEmpty(strAttFiles)){
arrAttFiles = getArrAttFiles(strAttFiles);
}else{
arrAttFiles = null;
}
logger.info("넘어온 arrAttFiles : " + arrAttFiles);
String[] arrAttFilesHash = null;
String strServiceId = (String)bcMap.get("serviceId"); //"0987654321"; //업무ID
String strServiceName = (String)bcMap.get("serviceName"); //"과태료의견진술";//업무명
String strResult = null;
String strTimeStamp = null;
// try{
logger.info("register parameter::: " + StrPdfFileNm + ", " + strUserId + ", " + strDocId + ", " + arrAttFiles + ", " + strServiceId + ", " + strServiceName + ", " + strHashType);
//[Register]
//strResult = bcif.Register(strPdfFile, strPdfHash, strPdfConvertUrl, strUserId, strDocId , arrAttFiles, strServiceId, strServiceName, null, strHashType);
strResult = bcif.Register(StrPdfFileNm, strUserId, strDocId , arrAttFiles, strServiceId, strServiceName, strHashType);
if(strResult !=null && strResult.equals("000")){
logger.info("[Register-Result] "+strResult);
logger.info("bcif.getTimeStamp() : " + bcif.getTimeStamp());
logger.info("bcif.getPdfHash() " + bcif.getPdfHash());
strTimeStamp = CommonUtil.getISO8601ToLocalDateFormat(bcif.getTimeStamp());
logger.info("strTimeStamp " + strTimeStamp);
rtnMap.put("transId", strTransId);
rtnMap.put("pdfHash", bcif.getPdfHash());
rtnMap.put("timeStamp", strTimeStamp);
rtnMap.put("docId", strDocId);
rtnMap.put("pdfFileNm", StrPdfFileNm);
rtnMap.put("result", strResult);
}else{
logger.info("[Register-Result] str_result Run Error!! \n[Register-Result] "+strResult);
rtnMap.put("result", strResult);
rtnMap.put("resultMessage", bcif.getResultMessage());
}
/* }catch(RuntimeException e){
rtnMap.put("result", CommonCodeStatus.OtherErrors.getCode());
rtnMap.put("resultMessage", CommonErrCodeStatus.OtherErrors.getMessage());
}catch(Exception e){
rtnMap.put("result", CommonCodeStatus.OtherErrors.getCode());
rtnMap.put("resultMessage", CommonErrCodeStatus.OtherErrors.getMessage());
}*/
return rtnMap;
}
/**
*
* @param
*/
public HashMap<String, Object> delBlockChain(HashMap bcMap, HttpServletRequest request) {
String strSysId = (String)bcMap.get("sysId");
this.init(strSysId, request);
HashMap<String, Object> rtnMap = new LinkedHashMap<String, Object>();
// logger.info("strTextLic : " + striTextLic1);
// logger.info("strFontPath : " + strFontPath);
// logger.info("strStampFile : " + strStampFile);
// logger.info("strConfigFile : " + strConfigFile);
// Blockchain IF 생성
BlockchainIF bcif = new BlockchainIF(striTextLic1, striTextLic2, strFontPath, strStampFile, strConfigFile, bDebugLog);
bcif.setDelayTime(3000);
String strPdfHash = null;
String strUserId = (String)bcMap.get("userId"); // 민원신청자 userId
String strDocId = (String)bcMap.get("docId");; //민원신청서 문서ID Unique값
String strTransId = (String)bcMap.get("transId");
String strServiceId = (String)bcMap.get("serviceId"); //"0987654321"; //업무ID
String strServiceName = (String)bcMap.get("serviceName"); //"과태료의견진술";//업무명
String strTimeStamp=null;
String strFlag = "delete"; //삭제delete, 수정 update
String strResult = null;
try{
//[delete]
strResult = bcif.Update(null, null, null, strUserId, strDocId, null, null, strServiceId, strServiceName, strTimeStamp, strFlag, strHashType);
if(strResult !=null && strResult.equals("000")){
// logger.info("[Register-Result] "+strResult);
rtnMap.put("transId", strTransId);
rtnMap.put("result", strResult);
}
else
{
logger.info("[Register-Result] str_result Run Error!! \n[Register-Result] "+strResult);
rtnMap.put("result", strResult);
rtnMap.put("resultMessage", bcif.getResultMessage());
}
}catch(RuntimeException e){
rtnMap.put("result", CommonCodeStatus.OtherErrors.getCode());
rtnMap.put("resultMessage", CommonErrCodeStatus.OtherErrors.getMessage());
}catch(Exception e){
rtnMap.put("result", CommonCodeStatus.OtherErrors.getCode());
rtnMap.put("resultMessage", CommonErrCodeStatus.OtherErrors.getMessage());
}
return rtnMap;
}
/**
*
* @param
*/
public HashMap<String, Object> updateBlockChain(HashMap bcMap, HttpServletRequest request) {
String strSysId = (String)bcMap.get("sysId");
this.init(strSysId, request);
HashMap<String, Object> rtnMap = new LinkedHashMap<String, Object>();
// logger.info("strTextLic : " + striTextLic1);
// logger.info("strFontPath : " + strFontPath);
// logger.info("strStampFile : " + strStampFile);
// logger.info("strConfigFile : " + strConfigFile);
// Blockchain IF 생성
BlockchainIF bcif = new BlockchainIF(striTextLic1, striTextLic2, strFontPath, strStampFile, strConfigFile, bDebugLog);
bcif.setDelayTime(3000);
String StrPdfFileNm = (String)bcMap.get("pdfFileNm");
//String strPdfHash = null;
//String strPdfConvertUrl = (String)bcMap.get("pdfConvertUrl"); //민원신청서url
String strUserId = (String)bcMap.get("userId"); // 민원신청자 userId
String strDocId = (String)bcMap.get("docId"); //민원신청서 문서ID
//String[] att_files = {"c:\\hancom_blockchain\\files/att1.png","c:\\hancom_blockchain\\files\\att2.pdf","c:\\hancom_blockchain\\files\\att3.pdf"};
String strAttFiles =(String)bcMap.get("attFiles");
String strTransId = (String)bcMap.get("transId");
// logger.info("넘어온 strAttFiles : " + strAttFiles);
if(!StringUtils.isEmpty(strAttFiles))
{
arrAttFiles = getArrAttFiles(strAttFiles);
}else{
arrAttFiles = null;
}
logger.info("strPdfFile : " + StrPdfFileNm);
logger.info("strDocId : " + strDocId);
logger.info("strUserId : " + strUserId);
String[] arrAttFilesHash = null;
String strServiceId = (String)bcMap.get("serviceId"); //"0987654321"; //업무ID
String strServiceName = (String)bcMap.get("serviceName"); //"과태료의견진술";//업무명
String strInTimeStamp = null;
String strFlag = "update"; //삭제delete, 수정 update
String strResult = null;
String strTimeStamp = null;
try{
//[Update]
strResult = bcif.Update(StrPdfFileNm, strUserId, strDocId, arrAttFiles, arrAttFilesHash, strServiceId, strServiceName, strInTimeStamp, strFlag, strHashType);
if(strResult !=null && strResult.equals("000")){
logger.info("[Register-Result] "+strResult);
logger.info("bcif.getTimeStamp() : " + bcif.getTimeStamp());
logger.info("bcif.getPdfHash() " + bcif.getPdfHash());
strTimeStamp = CommonUtil.getISO8601ToLocalDateFormat(bcif.getTimeStamp());
// logger.info("localDateTime " + localDateTime);
// logger.info("strTimeStamp " + strTimeStamp);
rtnMap.put("transId", strTransId);
rtnMap.put("pdfHash", bcif.getPdfHash());
rtnMap.put("timeStamp", strTimeStamp);
rtnMap.put("docId", strDocId);
rtnMap.put("pdfFileNm", StrPdfFileNm);
rtnMap.put("result", strResult);
}
else
{
logger.info("[Register-Result] str_result Run Error!! \n[Register-Result] "+strResult);
rtnMap.put("result", strResult);
rtnMap.put("resultMessage", bcif.getResultMessage());
}
}catch(RuntimeException e){
rtnMap.put("result", CommonCodeStatus.OtherErrors.getCode());
rtnMap.put("resultMessage", CommonErrCodeStatus.OtherErrors.getMessage());
}catch(Exception e){
rtnMap.put("result", CommonCodeStatus.OtherErrors.getCode());
rtnMap.put("resultMessage", CommonErrCodeStatus.OtherErrors.getMessage());
}
return rtnMap;
}
/**
*
* @param
*/
public HashMap<String, Object> verifyBlockChain(HashMap bcMap, HttpServletRequest request) {
String strSysId = (String)bcMap.get("sysId");
this.init(strSysId, request);
HashMap<String, Object> rtnMap = new LinkedHashMap<String, Object>();
// logger.info("strTextLic : " + striTextLic1);
// logger.info("strFontPath : " + strFontPath);
// logger.info("strStampFile : " + strStampFile);
// logger.info("strConfigFile : " + strConfigFile);
// Blockchain IF 생성
BlockchainIF bcif = new BlockchainIF(striTextLic1, striTextLic2, strFontPath, strStampFile, strConfigFile, bDebugLog);
bcif.setDelayTime(3000);
String strPdfFile = (String)bcMap.get("pdfFileNm");
String strPdfHash = null;
String strUserId = (String)bcMap.get("userId"); // 민원신청자 userId
String strDocId = (String)bcMap.get("docId"); //민원신청서 문서ID Unique값
//String[] att_files = {"c:\\hancom_blockchain\\files/att1.png","c:\\hancom_blockchain\\files\\att2.pdf","c:\\hancom_blockchain\\files\\att3.pdf"};
String strAttFiles =(String)bcMap.get("attFiles");
String strTransId = (String)bcMap.get("transId");
//logger.info("넘어온 strPdfFile : " + strPdfFile);
if(!StringUtils.isEmpty(strAttFiles))
{
arrAttFiles = getArrAttFiles(strAttFiles);
}else{
arrAttFiles = null;
}
String[] arrAttFilesHash = null;
String strServiceId = (String)bcMap.get("serviceId"); //"0987654321"; //업무ID
String strServiceName = (String)bcMap.get("serviceName"); //"과태료의견진술";//업무명
String strResult = null;
try{
//[Verify]
strResult = bcif.Verify(strPdfFile, strPdfHash, arrAttFiles, arrAttFilesHash, strUserId, strDocId, strServiceId, strServiceName);
if(strResult !=null && strResult.equals("000")){
// logger.info("[Register-Result] "+strResult);
rtnMap.put("transId", strTransId);
rtnMap.put("result", strResult);
}
else
{
logger.info("[Register-Result] str_result Run Error!! \n[Register-Result] "+strResult);
rtnMap.put("result", strResult);
rtnMap.put("resultMessage", bcif.getResultMessage());
}
}catch(RuntimeException e){
rtnMap.put("result", CommonCodeStatus.OtherErrors.getCode());
rtnMap.put("resultMessage", CommonErrCodeStatus.OtherErrors.getMessage());
}catch(Exception e){
rtnMap.put("result", CommonCodeStatus.OtherErrors.getCode());
rtnMap.put("resultMessage", CommonErrCodeStatus.OtherErrors.getMessage());
}
return rtnMap;
}
/**
*
* @param
*/
public HashMap<String, Object> queryBlockChain(HashMap bcMap, HttpServletRequest request) {
String strSysId = (String)bcMap.get("sysId");
this.init(strSysId, request);
HashMap<String, Object> rtnMap = new LinkedHashMap<String, Object>();
// logger.info("strTextLic : " + striTextLic1);
// logger.info("strFontPath : " + strFontPath);
// logger.info("strStampFile : " + strStampFile);
// logger.info("strConfigFile : " + strConfigFile);
// Blockchain IF 생성
BlockchainIF bcif = new BlockchainIF(striTextLic1, striTextLic2, strFontPath, strStampFile, strConfigFile, bDebugLog);
bcif.setDelayTime(3000);
String strUserId = (String)bcMap.get("userId"); // 민원신청자 userId
String strDocId = (String)bcMap.get("docId"); //민원신청서 문서ID Unique값
String strTransId = (String)bcMap.get("transId");
String strServiceId = (String)bcMap.get("serviceId"); //"0987654321"; //업무ID
String strResult = null;
try{
//[Query]
strResult = bcif.Query(strUserId, strDocId, strServiceId);
if(strResult != null && strResult.equals("000")){
GTP_Block gtp = bcif.getGTP_Block();
HashMap<String, Object> gtpAttFileMap = new LinkedHashMap<String, Object>();
List<HashMap<String, Object>> listGtpAttFileMap = new ArrayList<HashMap<String, Object>>();
String strFullFileName=null;
String strFileName=null;
String strTimeStamp=null;
logger.info("[Register-Result] "+strResult);
logger.info("[gtp] "+gtp);
if(gtp != null)
{
rtnMap.put("transId", strTransId);
rtnMap.put("result", strResult);
rtnMap.put("userId", gtp.getStr_user_id());
rtnMap.put("docId", gtp.getStr_doc_id());
rtnMap.put("serviceId", gtp.getStr_service_id());
rtnMap.put("pdfHash", gtp.getStr_pdf_hash());
//logger.info("gtp.getAtt_files_hash()" + gtp.getAtt_files_hash());
if (gtp.getAtt_files_hash() != null)
{
for(int j=0; j<gtp.getAtt_files_hash().size(); j++)
{
gtpAttFileMap = new LinkedHashMap<String, Object>();
strFullFileName = gtp.getAtt_files_hash().get(j).getFileName();
if(!StringUtils.isEmpty(strFullFileName)){
strFileName = strFullFileName.substring(strFullFileName.lastIndexOf('\\') + 1);
}
gtpAttFileMap.put("attFile", strFileName);
gtpAttFileMap.put("attFileHash", gtp.getAtt_files_hash().get(j).getFileHash());
listGtpAttFileMap.add(gtpAttFileMap);
}
}
rtnMap.put("attFiles", listGtpAttFileMap);
strTimeStamp = CommonUtil.getISO8601ToLocalDateFormat(gtp.getStr_timestamp());
rtnMap.put("timeStamp", strTimeStamp);
}
else
{
rtnMap.put("result", CommonErrCodeStatus.BlockChainQueryNotFoundError.getCode());
rtnMap.put("resultMessage", CommonErrCodeStatus.BlockChainQueryNotFoundError.getMessage());
}
}
else
{
logger.info("[Register-Result] str_result Run Error!! \n[Register-Result] "+strResult);
rtnMap.put("result", strResult);
rtnMap.put("resultMessage", bcif.getResultMessage());
}
}catch(RuntimeException e){
rtnMap.put("result", CommonCodeStatus.OtherErrors.getCode());
rtnMap.put("resultMessage", CommonErrCodeStatus.OtherErrors.getMessage());
}catch(Exception e){
rtnMap.put("result", CommonCodeStatus.OtherErrors.getCode());
rtnMap.put("resultMessage", CommonErrCodeStatus.OtherErrors.getMessage());
}
return rtnMap;
}
/**
*
* @param
*/
public HashMap<String, Object> queryAllBlockChain(HashMap bcMap, HttpServletRequest request) {
String strSysId = (String)bcMap.get("sysId");
this.init(strSysId, request);
HashMap<String, Object> rtnMap = new LinkedHashMap<String, Object>();
// logger.info("strTextLic : " + striTextLic1);
// logger.info("strFontPath : " + strFontPath);
// logger.info("strStampFile : " + strStampFile);
// logger.info("strConfigFile : " + strConfigFile);
// Blockchain IF 생성
BlockchainIF bcif = new BlockchainIF(striTextLic1, striTextLic2, strFontPath, strStampFile, strConfigFile, bDebugLog);
bcif.setDelayTime(3000);
String strUserId = (String)bcMap.get("userId"); // 민원신청자 userId
String strDocId = (String)bcMap.get("docId"); //민원신청서 문서ID Unique값
String strTransId = (String)bcMap.get("transId");
String strServiceId = (String)bcMap.get("serviceId"); //"0987654321"; //업무ID
String strServiceName = (String)bcMap.get("serviceName"); //업무명
String strResult = null;
try{
//[Query]
strResult = bcif.QueryAll(strUserId, strDocId, strServiceId, strServiceName);
if(strResult != null && strResult.equals("000")){
GTP_Block[] gtp = bcif.getG_block_array();
// logger.info("[Register-Result] "+strResult);
HashMap<String, Object> gtpMap = new LinkedHashMap<String, Object>();
List<HashMap<String, Object>> listGtpMap = new ArrayList<HashMap<String, Object>>();
HashMap<String, Object> gtpAttFileMap = new LinkedHashMap<String, Object>();
List<HashMap<String, Object>> listGtpAttFileMap = new ArrayList<HashMap<String, Object>>();
String strFullFileName = null;
String strFileName = null;
String strTimeStamp=null;
if(gtp != null && gtp.length>0)
{
rtnMap.put("transId", strTransId);
rtnMap.put("result", strResult);
for(int i=0 ; i<gtp.length ; i++)
{
gtpMap = new LinkedHashMap<String, Object>();
listGtpAttFileMap = new ArrayList<HashMap<String, Object>>();
gtpMap.put("userId", gtp[i].getStr_user_id());
gtpMap.put("docId", gtp[i].getStr_doc_id());
gtpMap.put("serviceId", gtp[i].getStr_service_id());
gtpMap.put("pdfHash", gtp[i].getStr_pdf_hash());
if (gtp[i].getAtt_files_hash().size()>0)
{
for(int j=0; j<gtp[i].getAtt_files_hash().size(); j++)
{
gtpAttFileMap = new LinkedHashMap<String, Object>();
strFullFileName = gtp[i].getAtt_files_hash().get(j).getFileName();
if(!StringUtils.isEmpty(strFullFileName)){
strFileName = strFullFileName.substring(strFullFileName.lastIndexOf('\\') + 1);
}
gtpAttFileMap.put("attFile", strFileName);
gtpAttFileMap.put("attFileHash", gtp[i].getAtt_files_hash().get(j).getFileHash());
listGtpAttFileMap.add(gtpAttFileMap);
}
}
gtpMap.put("attFilesHash", listGtpAttFileMap);
strTimeStamp = CommonUtil.getISO8601ToLocalDateFormat(gtp[i].getStr_timestamp());
gtpMap.put("timeStamp", strTimeStamp);
listGtpMap.add(gtpMap);
}
rtnMap.put("reqs", listGtpMap);
}
else
{
rtnMap.put("result", CommonErrCodeStatus.BlockChainQueryNotFoundError.getCode());
rtnMap.put("resultMessage", CommonErrCodeStatus.BlockChainQueryNotFoundError.getMessage());
}
}
else
{
logger.info("[Register-Result] str_result Run Error!! \n[Register-Result] "+strResult);
rtnMap.put("result", strResult);
rtnMap.put("resultMessage", bcif.getResultMessage());
}
}catch(RuntimeException e){
rtnMap.put("result", CommonCodeStatus.OtherErrors.getCode());
rtnMap.put("resultMessage", CommonErrCodeStatus.OtherErrors.getMessage());
}catch(Exception e){
rtnMap.put("result", CommonCodeStatus.OtherErrors.getCode());
rtnMap.put("resultMessage", CommonErrCodeStatus.OtherErrors.getMessage());
}
return rtnMap;
}
}

@ -0,0 +1,322 @@
/**
* @Class Name : ApiCmDAO.java
* @Description : fis DAO
* @Version 1.0
* @Since 2019. 10. 17
* @Author
* <pre>
*
* ------- ------------- ----------------------
*
* </pre>
*/
package gtpa.fis.api.cm.dao;
import java.util.List;
import java.util.Map;
import org.springframework.stereotype.Repository;
import gtpa.fis.api.cm.service.impl.AddressVO;
import gtpa.fis.api.cm.service.impl.AtchFileVO;
import gtpa.fis.api.cm.service.impl.FISCNTCSYSMANAGEVO;
import gtpa.fis.api.cm.service.impl.FISOPINIONSTATMNTLISTVO;
import gtpa.fis.api.cm.service.impl.FISOPINIONSTATMNTVO;
import gtpa.fis.api.cm.service.impl.FISRCIVVO;
import gtpa.fis.api.cm.service.impl.FISREGLTPHOTOVO;
import gtpa.fis.api.cm.service.impl.FISSEIZRRELISREQUSTVO;
import gtpa.fis.api.cm.service.impl.FISSEIZRRELISVO;
import gtpa.fis.api.cm.service.impl.FISSEIZRREQUSTVO;
import gtpa.fis.api.cm.service.impl.FISSEIZRVO;
import gtpa.fis.api.cm.service.impl.FISSMSSNDNGMANAGEVO;
import gtpa.fis.api.cm.service.impl.PenaltyThroughSummaryVO;
import gtpa.fis.api.cm.service.impl.RegltImageSaveVO;
import gtpa.fis.api.cm.service.impl.TEMPFIVEGRADVO;
import gtpa.fis.api.cm.service.impl.VHCLEINFOVO;
/**
* @Class Name : ApiCmDAO.java
* @Description : fis DAO
* @Since 2019. 10. 17
* @Author
* <pre>
*
* ------- ------------- ----------------------
*
* </pre>
*/
@Repository("apicmDao")
public interface ApiCmDAO {
/**
*
*/
public List<RegltImageSaveVO> selectRegltImage(RegltImageSaveVO regltimageVO) ;
/**
*
*/
public RegltImageSaveVO selectRegltDisplayImage(RegltImageSaveVO regltimageVO) ;
/**
*
*/
public List<RegltImageSaveVO> selectRegltImageSingleItem(RegltImageSaveVO regltimageVO) ;
/**
*
*/
public void insertFISREGLTPHOTO(FISREGLTPHOTOVO fisregltphotoVO) ;
/**
*
*/
public void updateRegltImageProcess(RegltImageSaveVO regltImageVO) ;
/**
* 5
*/
public List<TEMPFIVEGRADVO> selectTEMPFIVEGRAD() ;
/**
* 5
*/
public void updateTEMPFIVEGRAD(TEMPFIVEGRADVO tempfivegradVO) ;
/**
*
*/
public List<VHCLEINFOVO> selectVHCLEINFO() ;
/**
*
*/
public void updateVHCLEINFO(VHCLEINFOVO vhcleinfoVO) ;
/**
*
*/
public AddressVO selectAddressRnCode(AddressVO addressVO) ;
/**
*
* <pre></pre>
*/
public List<Map> selectFISSEIZR(Map param);
/**
*
* <pre></pre>
*/
public List<Map> selectFISSEIZRREQUST(Map param);
/**
*
*/
public void insertFISSEIZR(FISSEIZRVO fisseizrVO) ;
/**
*
*/
public void insertFISSEIZRREQUST(FISSEIZRREQUSTVO fisseizrrequstVO) ;
/**
*
*/
public void updateFISSEIZR(FISSEIZRVO fisseizrVO) ;
/**
*
*/
public void updateFISSEIZRREQUST(FISSEIZRREQUSTVO fisseizrrequstVO) ;
/**
*
* <pre></pre>
*/
public List<Map> selectFISSEIZRRELIS(Map param);
/**
*
* <pre></pre>
*/
public List<Map> selectFISSEIZRRELISREQUST(Map param);
/**
*
*/
public void insertFISSEIZRRELIS(FISSEIZRRELISVO fisseizrrelisVO) ;
/**
*
*/
public void insertFISSEIZRRELISREQUST(FISSEIZRRELISREQUSTVO fisseizrrelisrequstVO) ;
/**
*
*/
public void updateFISSEIZRRELIS(FISSEIZRRELISVO fisseizrrelisVO) ;
/**
*
*/
public void updateFISSEIZRRELISREQUST(FISSEIZRRELISREQUSTVO fisseizrrelisrequstVO) ;
/**
*
*/
public void insertFISOPINIONSTATMNT(FISOPINIONSTATMNTVO fisopinionstatmntVO) ;
/**
*
*/
public List<FISOPINIONSTATMNTLISTVO> selectFISOPINIONSTATMNTLIST(FISOPINIONSTATMNTLISTVO fisopinionstatmntlistVO) ;
/**
*
*/
public FISOPINIONSTATMNTLISTVO selectFISOPINIONSTATMNTDETAIL(FISOPINIONSTATMNTLISTVO fisopinionstatmntlistVO) ;
/**
*
*/
public void updateFISOPINIONSTATMNT(FISOPINIONSTATMNTVO fisopinionstatmntVO) ;
/**
*
*/
public AtchFileVO selectAtchFile(AtchFileVO atchFileVO) ;
/**
*
*/
public AtchFileVO selectAtchFile_regltExcl(AtchFileVO atchFileVO) ;
/**
*
*/
public AtchFileVO selectAtchFile_erpp(AtchFileVO atchFileVO) ;
/**
* ()
*/
public AtchFileVO selectAtchFile_postpneUndvlop(AtchFileVO atchFileVO) ;
/**
* ( )
*/
public AtchFileVO selectAtchFile_postpneImprt(AtchFileVO atchFileVO) ;
/**
*
*/
public AtchFileVO selectAtchFile_reducReqst(AtchFileVO atchFileVO) ;
/**
*
*/
public AtchFileVO selectAtchFile_reducMntng(AtchFileVO atchFileVO) ;
/**
*
*/
public AtchFileVO selectAtchFile_taxpyer(AtchFileVO atchFileVO) ;
/**
*
*/
public AtchFileVO selectAtchFile_relis(AtchFileVO atchFileVO) ;
/**
*
*/
public AtchFileVO selectAtchFile_cvpl(AtchFileVO atchFileVO) ;
/**
*
*/
public FISCNTCSYSMANAGEVO selectFISCNTCSYSMANAGE(FISCNTCSYSMANAGEVO fiscntcsysmanageVO) ;
/**
* N
*/
public void updateRegltDownPhotoFail(FISREGLTPHOTOVO fisregltphotoVO) ;
/**
* sms
*/
public void insertFISSMSSNDNGMANAGE(FISSMSSNDNGMANAGEVO fissmssndngmanageVO) ;
/**
*
*/
public int selectOpinionStatmntCnt(FISOPINIONSTATMNTVO fisopinionstatmntVO) ;
/**
*
*/
public FISRCIVVO selectCertifiedElectHash(FISRCIVVO fisrcivVO) ;
/**
*
*/
public AddressVO selectLegalDongToZip(AddressVO addressVO) ;
/**
*
*/
public AddressVO selectLegalDongToAdres(AddressVO addressVO) ;
/**
*
*/
public PenaltyThroughSummaryVO selectPenaltyThroughSummary(PenaltyThroughSummaryVO penaltythroughsummaryVO);
/**
* +
* <pre></pre>
*/
public List<Map> selectFindAddress(AddressVO addressVO);
/**
* +
* <pre></pre>
*/
public int selectFindAddressCnt(AddressVO addressVO);
}

@ -0,0 +1,269 @@
/**
* @Class Name : ApiCntcCommonDAO.java
* @Description : api DAO
* @Version 1.0
* @Since 2019. 05. 23
* @Author
* <pre>
*
* ------- ------------- ----------------------
*
* </pre>
*/
package gtpa.fis.api.cm.dao;
import org.springframework.stereotype.Repository;
import gtpa.fis.api.cm.service.impl.FISALLCHLDRNCOQUALFATVO;
import gtpa.fis.api.cm.service.impl.FISCARBASSMATTERVO;
import gtpa.fis.api.cm.service.impl.FISCARINFOLGHVHCLVO;
import gtpa.fis.api.cm.service.impl.FISCARREPLCSEIZRVHCLEVO;
import gtpa.fis.api.cm.service.impl.FISCARSEIZRDTLSVO;
import gtpa.fis.api.cm.service.impl.FISCARSEIZRVO;
import gtpa.fis.api.cm.service.impl.FISCIVO;
import gtpa.fis.api.cm.service.impl.FISCNTCMASTRVO;
import gtpa.fis.api.cm.service.impl.FISDSPSNVHCLEATVO;
import gtpa.fis.api.cm.service.impl.FISERRORMANAGEVO;
import gtpa.fis.api.cm.service.impl.FISETAXRLTMRCIVINQIREVO;
import gtpa.fis.api.cm.service.impl.FISKAKAOELCTRNNTICEPROCEVO;
import gtpa.fis.api.cm.service.impl.FISKAKAOELCTRNNTICEREQUSVO;
import gtpa.fis.api.cm.service.impl.FISKTELCTRNNTICEPROCESSVO;
import gtpa.fis.api.cm.service.impl.FISKTELCTRNNTICEREQUSTVO;
import gtpa.fis.api.cm.service.impl.FISLEVYVO;
import gtpa.fis.api.cm.service.impl.FISLOWPOLUTNCARATVO;
import gtpa.fis.api.cm.service.impl.FISNATIONMERITERQUALFATVO;
import gtpa.fis.api.cm.service.impl.FISNATIONMERITERVHCLEINFOVO;
import gtpa.fis.api.cm.service.impl.FISNXRPDFCTDTAVO;
import gtpa.fis.api.cm.service.impl.FISNXRPLEVYDELETEVO;
import gtpa.fis.api.cm.service.impl.FISNXRPLEVYREGISTVO;
import gtpa.fis.api.cm.service.impl.FISNXRPNPYMDTAHISTVO;
import gtpa.fis.api.cm.service.impl.FISNXRPNPYMDTAVO;
import gtpa.fis.api.cm.service.impl.FISNXRPRCIVDTAVO;
import gtpa.fis.api.cm.service.impl.FISNXRPRDCAMTDTAVO;
import gtpa.fis.api.cm.service.impl.FISNXRPSIMPLLEVYINFOINVO;
import gtpa.fis.api.cm.service.impl.FISNXRPTAXITMINFOINQIREVO;
import gtpa.fis.api.cm.service.impl.FISNXRPUSERINFOINQIREVO;
import gtpa.fis.api.cm.service.impl.FISSEIZRRELISERRORMANAGEVO;
import gtpa.fis.api.cm.service.impl.FISTAXELSESEIZRREGISTVO;
import gtpa.fis.api.cm.service.impl.FISTAXELSESEIZRRELISVO;
import gtpa.fis.api.sp.service.impl.FISREGLTVO;
/**
* @Class Name : ApiCntcCommonDAO.java
* @Description : api DAO
* @Since 2019. 05. 23
* @Author
* <pre>
*
* ------- ------------- ----------------------
*
* </pre>
*/
@Repository("apicntccommonDao")
public interface ApiCntcCommonDAO {
/**
*
*/
public void insertFISCARBASSMATTER(FISCARBASSMATTERVO fiscarbassmatterVO) ;
/**
*
*/
public void insertFISCNTCMASTR(FISCNTCMASTRVO fiscntcmastrVO) ;
/**
* CI
*/
public void insertFISCI(FISCIVO fisciVO) ;
/**
*
*/
public void insertFISKAKAOELCTRNNTICEREQUS(FISKAKAOELCTRNNTICEREQUSVO fiskakaoelctrnnticerequsVO) ;
/**
*
*/
public void insertFISKAKAOELCTRNNTICEPROCE(FISKAKAOELCTRNNTICEPROCEVO fiskakaoelctrnnticeproceVO) ;
/**
*
*/
public void updtFISKAKAOELCTRNNTICEPROCE(FISKAKAOELCTRNNTICEPROCEVO fiskakaoelctrnnticeproceVO) ;
/**
* KT
*/
public void insertFISKTELCTRNNTICEREQUST(FISKTELCTRNNTICEREQUSTVO fisktelctrnnticerequstVO) ;
/**
* KT
*/
public void insertFISKTELCTRNNTICEPROCESS(FISKTELCTRNNTICEPROCESSVO fisktelctrnnticeprocessVO) ;
/**
*
*/
public void insertFISERRORMANAGE(FISERRORMANAGEVO fiserrormanageVO) ;
/**
*
*/
public void insertFISLOWPOLUTNCARAT(FISLOWPOLUTNCARATVO fislowpolutncaratVO) ;
/**
*
*/
public void insertFISNATIONMERITERVHCLEINFO(FISNATIONMERITERVHCLEINFOVO fisnationmeritervhcleinfoVO) ;
/**
*
*/
public void insertFISNATIONMERITERQUALFAT(FISNATIONMERITERQUALFATVO fisnationmeriterqualfatVO) ;
/**
*
*/
public void insertFISDSPSNVHCLEAT(FISDSPSNVHCLEATVO fisdspsnvhcleatVO) ;
/**
*
*/
public void insertFISCARINFOLGHVHCL(FISCARINFOLGHVHCLVO fiscarinfolghvhclVO) ;
/**
*
*/
public void insertFISALLCHLDRNCOQUALFAT(FISALLCHLDRNCOQUALFATVO fisallchldrncoqualfatVO) ;
/**
*
*/
public void insertFISCARREPLCSEIZRVHCLE(FISCARREPLCSEIZRVHCLEVO fiscarreplcseizrvhcleVO) ;
/**
*
*/
public void insertFISCARSEIZRDTLS(FISCARSEIZRDTLSVO fiscarseizrdtlsVO) ;
/**
*
*/
public void insertFISCARSEIZR(FISCARSEIZRVO fiscarseizrVO) ;
/**
*
*/
public void insertFISNXRPUSERINFOINQIRE(FISNXRPUSERINFOINQIREVO fisnxrpuserinfoinqireVO) ;
/**
*
*/
public void insertFISNXRPTAXITMINFOINQIRE(FISNXRPTAXITMINFOINQIREVO fisnxrptaxitminfoinqireVO) ;
/**
*
*/
public void insertFISNXRPLEVYREGIST(FISNXRPLEVYREGISTVO fisnxrplevyregistVO) ;
/**
*
*/
public void insertFISNXRPSIMPLLEVYINFOIN(FISNXRPSIMPLLEVYINFOINVO fisnxrpsimpllevyinfoinVO);
/**
*
*/
public void insertFISNXRPLEVYDELETE(FISNXRPLEVYDELETEVO fisnxrplevydeleteVO);
/**
* etax
*/
public void insertFISETAXRLTMRCIVINQIRE(FISETAXRLTMRCIVINQIREVO fisetaxrltmrcivinqireVO);
/**
* ftp
*/
public void insertFISNXRPNPYMDTA(FISNXRPNPYMDTAVO fisnxrpnpymdtaVO);
/**
* ftp
*/
public void insertFISNXRPNPYMDTAHIST(FISNXRPNPYMDTAVO fisnxrpnpymdtaVO);
/**
*
*/
public void deleteFISNXRPNPYMDTA(FISNXRPNPYMDTAVO fisnxrpnpymdtaVO);
/**
* ftp
*/
public void insertFISNXRPRCIVDTA(FISNXRPRCIVDTAVO fisnxrprcivdtaVO);
/**
* ftp
*/
public void insertFISNXRPRDCAMTDTA(FISNXRPRDCAMTDTAVO fisnxrprdcamtdtaVO);
/**
* ftp
*/
public void insertFISNXRPDFCTDTA(FISNXRPDFCTDTAVO fisnxrpdfctdtaVO);
/**
*
*/
public void updateSetleResultLevy(FISLEVYVO fislevyVO);
/**
*
*/
public void updateSetleResultReglt(FISREGLTVO fisregltVO);
/**
*
*/
public void insertFISTAXELSESEIZRREGIST(FISTAXELSESEIZRREGISTVO fistaxelseseizrregistVO);
/**
*
*/
public void insertFISTAXELSESEIZRRELIS(FISTAXELSESEIZRRELISVO fistaxelseseizrrelisVO);
/**
*
*/
public void insertFISSEIZRRELISERRORMANAGE(FISSEIZRRELISERRORMANAGEVO fisseizrreliserrormanageVO) ;
}

@ -0,0 +1,74 @@
/**
* @Class Name : ApiEPostDAO.java
* @Description : fis DAO
* @Version 1.0
* @Since 2019. 10. 17
* @Author
* <pre>
*
* ------- ------------- ----------------------
*
* </pre>
*/
package gtpa.fis.api.cm.dao;
import java.util.List;
import org.springframework.stereotype.Repository;
import gtpa.fis.api.cm.service.impl.EPostCntcSendVO;
import gtpa.fis.api.cm.service.impl.FISEPOSTCNTCREQUSTVO;
/**
* @Class Name : ApiEPostDAO.java
* @Description : DAO
* @Since 2019. 11. 26
* @Author
* <pre>
*
* ------- ------------- ----------------------
*
* </pre>
*/
@Repository("apiepostDao")
public interface ApiEPostDAO {
/**
*
*/
public FISEPOSTCNTCREQUSTVO selectEPostCntcRequst() ;
/**
*
*/
public FISEPOSTCNTCREQUSTVO selectEPostRegltImage(FISEPOSTCNTCREQUSTVO fisepostcntcrequstVO) ;
/**
*
*/
public List<EPostCntcSendVO> selectEPostCntcSend(EPostCntcSendVO epostcntcsendVO) ;
/**
* E
*/
public void updateEPostCntcRequstSttus(FISEPOSTCNTCREQUSTVO fisepostcntcrequstVO) ;
/**
* E
*/
public void updateEPostRceptReqstSttus(EPostCntcSendVO epostcntcsendVO) ;
}

@ -0,0 +1,65 @@
/**
* @Class Name : ApiKtSndngDAO.java
* @Description : DAO
* @Version 1.0
* @Since 2020. 10. 15
* @Author
* <pre>
*
* ------- ------------- ----------------------
*
* </pre>
*/
package gtpa.fis.api.cm.dao;
import java.util.List;
import org.springframework.stereotype.Repository;
import gtpa.fis.api.cm.service.impl.FISKTSNDNGVO;
/**
* @Class Name : ApiKtSndngDAO.java
* @Description : DAO
* @Since 2020. 10. 15
* @Author
* <pre>
*
* ------- ------------- ----------------------
*
* </pre>
*/
@Repository("apiktSndngDAO")
public interface ApiKtSndngDAO {
/**
*
*/
public List<FISKTSNDNGVO> selectFISKTSNDNG(FISKTSNDNGVO schVO);
/**
*
*/
public int insertFISKTSNDNGHIST(FISKTSNDNGVO fisktsndngVO);
/**
*
*/
public int updateFISKTSNDNG(FISKTSNDNGVO fisktsndngVO);
/**
* CI
*/
public int updateFISKTSNDNGCI(FISKTSNDNGVO fisktsndngVO);
}

@ -0,0 +1,198 @@
/**
* @Class Name : ApiNiceDAO.java
* @Description : DAO
* @Version 1.0
* @Since 2019. 12. 09
* @Author
* <pre>
*
* ------- ------------- ----------------------
*
* </pre>
*/
package gtpa.fis.api.cm.dao;
import java.util.List;
import org.springframework.stereotype.Repository;
import gtpa.fis.api.cm.service.impl.FISCPRDELNGINSTTINFODTLVO;
import gtpa.fis.api.cm.service.impl.FISCPRINQIREREQUSTVO;
import gtpa.fis.api.cm.service.impl.FISCPRINQIRERSPNSVO;
import gtpa.fis.api.cm.service.impl.FISCPRSSSBIZQITINFODTLVO;
import gtpa.fis.api.cm.service.impl.FISDPSTSEIZRCANCLREQUSTVO;
import gtpa.fis.api.cm.service.impl.FISDPSTSEIZRCANCLRSPNSVO;
import gtpa.fis.api.cm.service.impl.FISDPSTSEIZRINQIREDETAILVO;
import gtpa.fis.api.cm.service.impl.FISDPSTSEIZRINQIRELISTVO;
import gtpa.fis.api.cm.service.impl.FISDPSTSEIZRINQIREREQUSTVO;
import gtpa.fis.api.cm.service.impl.FISDPSTSEIZRINQIRERSPNSVO;
import gtpa.fis.api.cm.service.impl.FISDPSTSEIZRREGISTREQUSTVO;
import gtpa.fis.api.cm.service.impl.FISDPSTSEIZRREGISTRSPNSVO;
import gtpa.fis.api.cm.service.impl.FISDPSTSEIZRUSEDTLSREQUVO;
import gtpa.fis.api.cm.service.impl.FISDPSTSEIZRUSEDTLSRSPNVO;
import gtpa.fis.api.cm.service.impl.FISDPSTSEIZRUSEDTLSVO;
import gtpa.fis.api.cm.service.impl.FISINDVDLCSTMRINFODTLSVO;
import gtpa.fis.api.cm.service.impl.FISINDVDLDELNGINSTTINFOVO;
import gtpa.fis.api.cm.service.impl.FISINDVDLINQIREREQUSTVO;
import gtpa.fis.api.cm.service.impl.FISINDVDLINQIRERSPNSVO;
import gtpa.fis.api.cm.service.impl.FISINDVDLOWNHOMINFODTLSVO;
import gtpa.fis.api.cm.service.impl.FISINDVDLPYEONGPOINTINFOVO;
import gtpa.fis.api.cm.service.impl.FISINDVDLWRCINFODTLSVO;
/**
* @Class Name : ApiEPostDAO.java
* @Description : DAO
* @Since 2019. 12. 09
* @Author
* <pre>
*
* ------- ------------- ----------------------
*
* </pre>
*/
@Repository("apiniceDao")
public interface ApiNiceDAO {
/**
*
*/
public void insertFISINDVDLINQIREREQUST(FISINDVDLINQIREREQUSTVO fisindvdlinqirerequstVO) ;
/**
*
*/
public void insertFISINDVDLINQIRERSPNS(FISINDVDLINQIRERSPNSVO fisindvdlinqirerspnsVO) ;
/**
*
*/
public void insertFISINDVDLCSTMRINFODTLS(FISINDVDLCSTMRINFODTLSVO fisindvdlcstmrinfodtlsVO) ;
/**
*
*/
public void insertFISINDVDLOWNHOMINFODTLS(FISINDVDLOWNHOMINFODTLSVO fisindvdlownhominfodtlsVO) ;
/**
*
*/
public void insertFISINDVDLWRCINFODTLS(FISINDVDLWRCINFODTLSVO fisindvdlwrcinfodtlsVO) ;
/**
*
*/
public void insertFISINDVDLDELNGINSTTINFO(FISINDVDLDELNGINSTTINFOVO fisindvdldelnginsttinfoVO) ;
/**
*
*/
public void insertFISINDVDLPYEONGPOINTINFO(FISINDVDLPYEONGPOINTINFOVO fisindvdlpyeongpointinfoVO) ;
/**
*
*/
public void insertFISDPSTSEIZRREGISTREQUST(FISDPSTSEIZRREGISTREQUSTVO fisdpstseizrregistrequstVO) ;
/**
*
*/
public void insertFISDPSTSEIZRREGISTRSPNS(FISDPSTSEIZRREGISTRSPNSVO fisdpstseizrregistrspnsVO) ;
/**
*
*/
public void insertFISDPSTSEIZRCANCLREQUST(FISDPSTSEIZRCANCLREQUSTVO fisdpstseizrcanclrequstVO) ;
/**
*
*/
public void insertFISDPSTSEIZRCANCLRSPNS(FISDPSTSEIZRCANCLRSPNSVO fisdpstseizrcanclrspnsVO) ;
/**
*
*/
public void insertFISDPSTSEIZRINQIREREQUST(FISDPSTSEIZRINQIREREQUSTVO fisdpstseizrinqirerequstVO) ;
/**
*
*/
public void insertFISDPSTSEIZRINQIRERSPNS(FISDPSTSEIZRINQIRERSPNSVO fisdpstseizrinqirerspnsVO) ;
/**
*
*/
public void insertFISDPSTSEIZRINQIREDETAIL(FISDPSTSEIZRINQIREDETAILVO fisdpstseizrinqiredetailVO) ;
/**
*
*/
public void insertFISDPSTSEIZRINQIRELIST(FISDPSTSEIZRINQIRELISTVO fisdpstseizrinqirelistVO) ;
/**
*
*/
public void insertFISCPRINQIREREQUST(FISCPRINQIREREQUSTVO fiscprinqirerequstVO) ;
/**
*
*/
public void insertFISCPRINQIRERSPNS(FISCPRINQIRERSPNSVO fiscprinqirerspnsVO) ;
/**
*
*/
public void insertFISCPRDELNGINSTTINFODTL(FISCPRDELNGINSTTINFODTLVO fiscprdelnginsttinfodtlVO) ;
/**
*
*/
public void insertFISCPRSSSBIZQITINFODTL(FISCPRSSSBIZQITINFODTLVO fiscprsssbizqitinfodtlVO) ;
/**
*
*/
public void insertFISDPSTSEIZRUSEDTLSREQU(FISDPSTSEIZRUSEDTLSREQUVO fisdpstseizrusedtlsrequVO) ;
/**
*
*/
public void insertFISDPSTSEIZRUSEDTLSRSPN(FISDPSTSEIZRUSEDTLSRSPNVO fisdpstseizrusedtlsrspnVO) ;
/**
*
*/
public void insertFISDPSTSEIZRUSEDTLS(FISDPSTSEIZRUSEDTLSVO fisdpstseizrusedtlsVO) ;
}

@ -0,0 +1,179 @@
/**
* @Class Name : ApiNxrpComInfoDAO.java
* @Description : DAO
* @Version 1.0
* @Since 2019. 09. 19
* @Author
* <pre>
*
* ------- ------------- ----------------------
*
* </pre>
*/
package gtpa.fis.api.cm.dao;
import java.util.List;
import java.util.Map;
import org.springframework.stereotype.Repository;
import gtpa.fis.api.cm.service.impl.FISLEVYCANCLVO;
import gtpa.fis.api.cm.service.impl.FISLEVYVO;
import gtpa.fis.api.cm.service.impl.FISOVERRPAYVO;
import gtpa.fis.api.cm.service.impl.FISRCIVVO;
import gtpa.fis.api.cm.service.impl.FISSEIZRVO;
import gtpa.fis.api.cm.service.impl.FISTAXITMINFOVO;
import gtpa.fis.api.cm.service.impl.NxrpLevyVO;
/**
* @Class Name : ApiNxrpComInfoDAO.java
* @Description : DAO
* @Since 2019. 09. 19
* @Author
* <pre>
*
* ------- ------------- ----------------------
*
* </pre>
*/
@Repository("apinxrpcominfoDao")
public interface ApiNxrpComInfoDAO {
/**
*
*/
public void insertFISLEVY(FISLEVYVO fislevyVO) ;
/**
*
*/
public FISTAXITMINFOVO selectFISTAXITMINFO(FISTAXITMINFOVO fistaxitminfoVO);
/**
*
*/
public NxrpLevyVO selectNxrpLevy(NxrpLevyVO nxrplevyVO);
/**
*
*/
public int updateNxrpLevyProcessSttus(FISLEVYVO fislevyVO) ;
/**
*
*/
public void insertFISLEVYCANCL(FISLEVYCANCLVO fislevycanclVO);
/**
*
*/
public int selectFISLEVYDUP(FISLEVYVO fislevyVO) ;
/**
*
*/
public int updateNxrpLevySnReglt(FISLEVYVO fislevyVO) ;
/**
* ftp
*/
public void insertFISRCIV(FISRCIVVO fisrcivVO);
/**
* ftp
*/
public void updateSetleResultLevy(FISRCIVVO fisrcivVO);
/**
* ftp
*/
public void updateSetleResultReglt(FISRCIVVO fisrcivVO);
/**
*
*/
public NxrpLevyVO selectNxrpSeizrLevy(NxrpLevyVO nxrplevyVO);
/**
*
*/
public FISSEIZRVO selectNxrpSeizrCancelLevy(FISSEIZRVO seizrVO);
/**
* 2021.04.01
*
*/
public int selectFisErppcheck(FISOVERRPAYVO fisoverpayVO);
/**
* 2021.04.01
*
*/
public int selectFisOpinioncheck(FISOVERRPAYVO fisoverpayVO);
/**
* 2021.04.01
*
*/
public int selectFisLevyCanclecheck(FISOVERRPAYVO fisoverpayVO);
/**
* 2021.04.01
*
*/
public int selectFisDubleRcivcheck(FISOVERRPAYVO fisoverpayVO);
/**
* 2021.04.01
*
*/
public int selectFisLevyNocheck(FISOVERRPAYVO fisoverpayVO);
/**
* 2021.04.01
*
*/
public void insertFISOVERPAY(FISOVERRPAYVO fisoverpayVO);
/**
* 2021.04.01
* DELETE_AT='Y'
*/
public void updateFisRcivUpdateDelete_Y(FISOVERRPAYVO fisoverpayVO);
/**
* 2021.04.22
*
*/
public List<FISLEVYVO> selectFisLevySttusList();
/**
* 2021.04.22
*
*/
public void updateNxrpLevySttus(FISLEVYVO fislevyVO) ;
/**
* 2021.06.07
*
*/
public List<Map> selectFisSeizrCancelList();
}

@ -0,0 +1,212 @@
/**
* @Class Name : Address.java
* @Description :
* @Version 1.0
* @Since 2019. 10. 31
* @Author
* <pre>
*
* ------- ------------- ----------------------
*
* </pre>
*/
package gtpa.fis.api.cm.service;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import org.apache.commons.lang3.StringUtils;
import org.apache.log4j.Logger;
import org.springframework.stereotype.Component;
import gtpa.fis.api.cm.service.impl.AddressVO;
import gtpa.fis.comm.CommonCode;
import gtpa.fis.comm.CommonErrCodeStatus;
/**
* @Class Name : Address.java
* @Description : .
* @Since 2019. 10. 31
* @Author
* <pre>
*
* ------- ------------- ----------------------
*
* </pre>
*/
@Component
public class Address {
static Logger logger = Logger.getLogger(Address.class.getName());
@Resource(name = "apicmService")
private ApiCmService apicmService;
public HashMap<String, Object> getRnCodeAdres(HashMap adrMap){
HashMap<String, Object> rtnMap = new HashMap<String, Object>();
String strRnCode = (String)adrMap.get("rnCode");//도로명
String strBuldMnnm = (String)adrMap.get("buldMnnm");//건물본번
String strBuldSlno = (String)adrMap.get("buldSlno");//건물부번은 null이 들어올수있다. sql에서 0으로 치환
if(StringUtils.isEmpty(strRnCode) || StringUtils.isEmpty(strBuldMnnm)){
rtnMap.put(CommonCode.fResultCode, "N001");
rtnMap.put(CommonCode.fResultMessage, "도로명, 건물본번이 존재하지 않습니다.");
return rtnMap;
}
AddressVO addressVO = new AddressVO();
addressVO.setRN_CODE(strRnCode);
addressVO.setBULD_MNNM(strBuldMnnm);
addressVO.setBULD_SLNO(strBuldSlno);
try{
AddressVO rtnAddressVO = apicmService.selectAddressRnCode(addressVO);
if(rtnAddressVO == null){
rtnMap.put(CommonCode.fResultCode, "N002");
rtnMap.put(CommonCode.fResultMessage, "도로명 주소가 존재하지 않습니다.");
}else{
rtnMap.put(CommonCode.fResultCode, CommonErrCodeStatus.Success.getCode());
rtnMap.put(CommonCode.fResultMessage, CommonErrCodeStatus.Success.getMessage());
rtnMap.put("zip", rtnAddressVO.getZIP());
rtnMap.put("address", rtnAddressVO.getADRES());
}
} catch(RuntimeException e){
rtnMap.put(CommonCode.fResultCode, "N999");
rtnMap.put(CommonCode.fResultMessage, "도로명주소 조회 에러발생");
} catch(Exception e){
rtnMap.put(CommonCode.fResultCode, "N999");
rtnMap.put(CommonCode.fResultMessage, "도로명주소 조회 에러발생");
}
logger.info("도로명 코드 주소 : " + rtnMap);
return rtnMap;
}
/**
*
* @param adrMap
* @return Map
*/
public HashMap<String, Object> getLegalDongToZip(HashMap adrMap){
HashMap<String, Object> rtnMap = new HashMap<String, Object>();
String strLegalDongCode = (String)adrMap.get("legalDongCode");//사용본거지법정동code
String strLnmMnnm = (String)adrMap.get("lnmMnnm");//사용본거지번지
String strLnmSlno = (String)adrMap.get("lnmSlno");//사용본거지호
// if(StringUtils.isEmpty(strLegalDongCode) || StringUtils.isEmpty(strLnmMnnm)){
// rtnMap.put(CommonCode.fResultCode, "N001");
// rtnMap.put(CommonCode.fResultMessage, "사용본거지법정동, 번지 존재하지 않습니다.");
// return rtnMap;
// }
AddressVO addressVO = new AddressVO();
addressVO.setLEGALDONG_CODE(strLegalDongCode);
addressVO.setLNM_MNNM(strLnmMnnm);
addressVO.setLNM_SLNO(strLnmSlno);
try{
AddressVO rtnAddressVO = apicmService.selectLegalDongToZip(addressVO);
if(rtnAddressVO == null){
rtnMap.put(CommonCode.fResultCode, CommonErrCodeStatus.Success.getCode());
rtnMap.put(CommonCode.fResultMessage, CommonErrCodeStatus.Success.getMessage());
rtnMap.put("zip", "00000"); //우편번호 존재하지 않으면 00000
}else{
rtnMap.put(CommonCode.fResultCode, CommonErrCodeStatus.Success.getCode());
rtnMap.put(CommonCode.fResultMessage, CommonErrCodeStatus.Success.getMessage());
rtnMap.put("zip", rtnAddressVO.getZIP());
}
} catch(RuntimeException e){
rtnMap.put(CommonCode.fResultCode, "N999");
rtnMap.put(CommonCode.fResultMessage, "법정동코드로 우편번호 조회 에러발생");
} catch(Exception e){
rtnMap.put(CommonCode.fResultCode, "N999");
rtnMap.put(CommonCode.fResultMessage, "법정동코드로 우편번호 조회 에러발생");
}
logger.info("법정동코드로 우편번호 조회 주소 : " + rtnMap);
return rtnMap;
}
/**
*
* @param adrMap
* @return Map
*/
public HashMap<String, Object> getLegalDongToAdres(HashMap adrMap){
HashMap<String, Object> rtnMap = new HashMap<String, Object>();
String strLegalDongCode = (String)adrMap.get("legalDongCode");//사용본거지법정동code
// if(StringUtils.isEmpty(strLegalDongCode)){
// rtnMap.put(CommonCode.fResultCode, "N001");
// rtnMap.put(CommonCode.fResultMessage, "사용본거지법정동 존재하지 않습니다.");
// return rtnMap;
// }
AddressVO addressVO = new AddressVO();
addressVO.setLEGALDONG_CODE(strLegalDongCode);
try{
AddressVO rtnAddressVO = apicmService.selectLegalDongToAdres(addressVO);
if(rtnAddressVO == null){
rtnMap.put(CommonCode.fResultCode, "N002");
rtnMap.put(CommonCode.fResultMessage, "법정동 주소가 존재하지 않습니다.");
}else{
rtnMap.put(CommonCode.fResultCode, CommonErrCodeStatus.Success.getCode());
rtnMap.put(CommonCode.fResultMessage, CommonErrCodeStatus.Success.getMessage());
rtnMap.put("address", rtnAddressVO.getADRES());
}
} catch(RuntimeException e){
rtnMap.put(CommonCode.fResultCode, "N999");
rtnMap.put(CommonCode.fResultMessage, "법정동코드로 주소 조회 에러발생");
} catch(Exception e){
rtnMap.put(CommonCode.fResultCode, "N999");
rtnMap.put(CommonCode.fResultMessage, "법정동코드로 주소 조회 에러발생");
}
logger.info("법정동코드로 주소 조회 주소 : " + rtnMap);
return rtnMap;
}
/**
* +
* @param adrMap
* @return Map
*/
public HashMap<String, Object> getRnAdres(HashMap adrMap){
HashMap<String, Object> rtnMap = new HashMap<String, Object>();
String strRn = (String)adrMap.get("rn");//도로명
String strBuldMnnm = (String)adrMap.get("buldMnnm");//건물본번
String strStartIdx = (String)adrMap.get("START_IDX");//건물본번
String strEndIdx = (String)adrMap.get("END_IDX");//건물본번
if(StringUtils.isEmpty(strRn)){
rtnMap.put(CommonCode.fResultCode, "N001");
rtnMap.put(CommonCode.fResultMessage, "도로명, 건물본번이 존재하지 않습니다.");
return rtnMap;
}
AddressVO addressVO = new AddressVO();
addressVO.setRN(strRn);
addressVO.setBULD_MNNM(strBuldMnnm);
addressVO.setSTART_IDX(strStartIdx);
addressVO.setEND_IDX(strEndIdx);
try{
List<Map> rtnAddressMap = apicmService.selectFindAddress(addressVO);
rtnMap.put("cnt", 0);
if(rtnAddressMap == null){
rtnMap.put(CommonCode.fResultCode, "N002");
rtnMap.put(CommonCode.fResultMessage, "도로명 주소가 존재하지 않습니다.");
}else{
rtnMap.put(CommonCode.fResultCode, CommonErrCodeStatus.Success.getCode());
rtnMap.put(CommonCode.fResultMessage, CommonErrCodeStatus.Success.getMessage());
rtnMap.put("data", rtnAddressMap);
rtnMap.put("cnt", String.valueOf(apicmService.selectFindAddressCnt(addressVO)));
}
} catch(RuntimeException e){
rtnMap.put(CommonCode.fResultCode, "N999");
rtnMap.put(CommonCode.fResultMessage, "도로명주소 조회 에러발생");
} catch(Exception e){
rtnMap.put(CommonCode.fResultCode, "N999");
rtnMap.put(CommonCode.fResultMessage, "도로명주소 조회 에러발생");
}
logger.info("도로명 코드 주소 : " + rtnMap);
return rtnMap;
}
}

@ -0,0 +1,292 @@
/**
* @Class Name : ApiCmService.java
* @Description : fis
* @Version 1.0
* @Since 2019. 10. 18
* @Author
* <pre>
*
* ------- ------------- ----------------------
*
* </pre>
*/
package gtpa.fis.api.cm.service;
import java.util.List;
import java.util.Map;
import gtpa.fis.api.cm.service.impl.AddressVO;
import gtpa.fis.api.cm.service.impl.AtchFileVO;
import gtpa.fis.api.cm.service.impl.FISALLCHLDRNCOQUALFATVO;
import gtpa.fis.api.cm.service.impl.FISCARBASSMATTERVO;
import gtpa.fis.api.cm.service.impl.FISCARINFOLGHVHCLVO;
import gtpa.fis.api.cm.service.impl.FISCARREPLCSEIZRVHCLEVO;
import gtpa.fis.api.cm.service.impl.FISCARSEIZRDTLSVO;
import gtpa.fis.api.cm.service.impl.FISCARSEIZRVO;
import gtpa.fis.api.cm.service.impl.FISCIVO;
import gtpa.fis.api.cm.service.impl.FISCNTCMASTRVO;
import gtpa.fis.api.cm.service.impl.FISCNTCSYSMANAGEVO;
import gtpa.fis.api.cm.service.impl.FISDSPSNVHCLEATVO;
import gtpa.fis.api.cm.service.impl.FISERRORMANAGEVO;
import gtpa.fis.api.cm.service.impl.FISETAXRLTMRCIVINQIREVO;
import gtpa.fis.api.cm.service.impl.FISKAKAOELCTRNNTICEPROCEVO;
import gtpa.fis.api.cm.service.impl.FISKAKAOELCTRNNTICEREQUSVO;
import gtpa.fis.api.cm.service.impl.FISKTELCTRNNTICEPROCESSVO;
import gtpa.fis.api.cm.service.impl.FISKTELCTRNNTICEREQUSTVO;
import gtpa.fis.api.cm.service.impl.FISLOWPOLUTNCARATVO;
import gtpa.fis.api.cm.service.impl.FISNATIONMERITERQUALFATVO;
import gtpa.fis.api.cm.service.impl.FISNATIONMERITERVHCLEINFOVO;
import gtpa.fis.api.cm.service.impl.FISNXRPLEVYDELETEVO;
import gtpa.fis.api.cm.service.impl.FISNXRPLEVYREGISTVO;
import gtpa.fis.api.cm.service.impl.FISNXRPSIMPLLEVYINFOINVO;
import gtpa.fis.api.cm.service.impl.FISNXRPTAXITMINFOINQIREVO;
import gtpa.fis.api.cm.service.impl.FISNXRPUSERINFOINQIREVO;
import gtpa.fis.api.cm.service.impl.FISOPINIONSTATMNTLISTVO;
import gtpa.fis.api.cm.service.impl.FISOPINIONSTATMNTVO;
import gtpa.fis.api.cm.service.impl.FISRCIVVO;
import gtpa.fis.api.cm.service.impl.FISREGLTPHOTOVO;
import gtpa.fis.api.cm.service.impl.FISSEIZRRELISREQUSTVO;
import gtpa.fis.api.cm.service.impl.FISSEIZRRELISVO;
import gtpa.fis.api.cm.service.impl.FISSEIZRREQUSTVO;
import gtpa.fis.api.cm.service.impl.FISSEIZRVO;
import gtpa.fis.api.cm.service.impl.FISSMSSNDNGMANAGEVO;
import gtpa.fis.api.cm.service.impl.RegltImageSaveVO;
import gtpa.fis.api.cm.service.impl.TEMPFIVEGRADVO;
import gtpa.fis.api.cm.service.impl.VHCLEINFOVO;
import gtpa.fis.api.cm.service.impl.PenaltyThroughSummaryVO;
/**
* @Class Name : ApiCmService.java
* @Description : fis
* @Since 2019. 10. 18
* @Author
* <pre>
*
* ------- ------------- ----------------------
*
* </pre>
*/
public interface ApiCmService {
/**
*
*/
public List<RegltImageSaveVO> selectRegltImage(RegltImageSaveVO regltimageVO) ;
/**
*
*/
public RegltImageSaveVO selectRegltDisplayImage(RegltImageSaveVO regltimageVO) ;
/**
*
*/
public List<RegltImageSaveVO> selectRegltImageSingleItem(RegltImageSaveVO regltimageVO) ;
/**
*
*/
public void insertFISREGLTPHOTO(FISREGLTPHOTOVO fisregltphotoVO) ;
/**
*
*/
public void updateRegltImageProcess(RegltImageSaveVO regltImageVO) ;
/**
* 5
*/
public List<TEMPFIVEGRADVO> selectTEMPFIVEGRAD() ;
/**
* 5
*/
public void updateTEMPFIVEGRAD(TEMPFIVEGRADVO tempfivegradVO) ;
/**
*
*/
public List<VHCLEINFOVO> selectVHCLEINFO() ;
/**
*
*/
public void updateVHCLEINFO(VHCLEINFOVO vhcleinfoVO) ;
/**
*
*/
public AddressVO selectAddressRnCode(AddressVO addressVO) ;
/**
*
*/
public List<Map> selectFISSEIZR(Map param) ;
/**
*
*/
public List<Map> selectFISSEIZRREQUST(Map param) ;
/**
*
*/
public void insertFISSEIZR(FISSEIZRVO fisseizrVO) ;
/**
*
*/
public void insertFISSEIZRREQUST(FISSEIZRREQUSTVO fisseizrrequstVO) ;
/**
*
*/
public void updateFISSEIZR(FISSEIZRVO fisseizrVO) ;
/**
*
*/
public void updateFISSEIZRREQUST(FISSEIZRREQUSTVO fisseizrrequstVO) ;
/**
*
*/
public List<Map> selectFISSEIZRRELIS(Map param) ;
/**
*
*/
public List<Map> selectFISSEIZRRELISREQUST(Map param) ;
/**
*
*/
public void insertFISSEIZRRELIS(FISSEIZRRELISVO fisseizrrelisVO) ;
/**
*
*/
public void insertFISSEIZRRELISREQUST(FISSEIZRRELISREQUSTVO fisseizrrelisrequstVO) ;
/**
*
*/
public void updateFISSEIZRRELIS(FISSEIZRRELISVO fisseizrrelisVO) ;
/**
*
*/
public void updateFISSEIZRRELISREQUST(FISSEIZRRELISREQUSTVO fisseizrrelisrequstVO) ;
/**
*
*/
public void insertFISOPINIONSTATMNT(FISOPINIONSTATMNTVO fisopinionstatmntVO) ;
/**
*
*/
public List<FISOPINIONSTATMNTLISTVO> selectFISOPINIONSTATMNTLIST(FISOPINIONSTATMNTLISTVO fisopinionstatmntlistVO) ;
/**
*
*/
public FISOPINIONSTATMNTLISTVO selectFISOPINIONSTATMNTDETAIL(FISOPINIONSTATMNTLISTVO fisopinionstatmntlistVO) ;
/**
*
*/
public void updateFISOPINIONSTATMNT(FISOPINIONSTATMNTVO fisopinionstatmntVO) ;
/**
*
*/
public AtchFileVO selectAtchFile(AtchFileVO atchFileVO) ;
/**
*
*/
public FISCNTCSYSMANAGEVO selectFISCNTCSYSMANAGE(FISCNTCSYSMANAGEVO fiscntcsysmanageVO) ;
/**
* N
*/
public void updateRegltDownPhotoFail(FISREGLTPHOTOVO fisregltphotoVO) ;
/**
* sms
*/
public void insertFISSMSSNDNGMANAGE(FISSMSSNDNGMANAGEVO fissmssndngmanageVO) ;
/**
*
*/
public int selectOpinionStatmntCnt(FISOPINIONSTATMNTVO fisopinionstatmntVO);
/**
*
*/
public FISRCIVVO selectCertifiedElectHash(FISRCIVVO fisrcivVO);
/**
*
*/
public AddressVO selectLegalDongToZip(AddressVO addressVO) ;
/**
*
*/
public AddressVO selectLegalDongToAdres(AddressVO addressVO) ;
/**
*
*/
public PenaltyThroughSummaryVO selectPenaltyThroughSummary(PenaltyThroughSummaryVO penaltythroughsummaryVO);
/**
* +
*/
public List<Map> selectFindAddress(AddressVO addressVO) ;
/**
* +
*/
public int selectFindAddressCnt(AddressVO addressVO) ;
}

@ -0,0 +1,267 @@
/**
* @Class Name : ApiCommonService.java
* @Description : api
* @Version 1.0
* @Since 2019. 05. 23
* @Author
* <pre>
*
* ------- ------------- ----------------------
*
* </pre>
*/
package gtpa.fis.api.cm.service;
import gtpa.fis.api.cm.service.impl.FISALLCHLDRNCOQUALFATVO;
import gtpa.fis.api.cm.service.impl.FISCARBASSMATTERVO;
import gtpa.fis.api.cm.service.impl.FISCARINFOLGHVHCLVO;
import gtpa.fis.api.cm.service.impl.FISCARREPLCSEIZRVHCLEVO;
import gtpa.fis.api.cm.service.impl.FISCARSEIZRDTLSVO;
import gtpa.fis.api.cm.service.impl.FISCARSEIZRVO;
import gtpa.fis.api.cm.service.impl.FISCIVO;
import gtpa.fis.api.cm.service.impl.FISCNTCMASTRVO;
import gtpa.fis.api.cm.service.impl.FISDSPSNVHCLEATVO;
import gtpa.fis.api.cm.service.impl.FISERRORMANAGEVO;
import gtpa.fis.api.cm.service.impl.FISETAXRLTMRCIVINQIREVO;
import gtpa.fis.api.cm.service.impl.FISKAKAOELCTRNNTICEPROCEVO;
import gtpa.fis.api.cm.service.impl.FISKAKAOELCTRNNTICEREQUSVO;
import gtpa.fis.api.cm.service.impl.FISKTELCTRNNTICEPROCESSVO;
import gtpa.fis.api.cm.service.impl.FISKTELCTRNNTICEREQUSTVO;
import gtpa.fis.api.cm.service.impl.FISLEVYVO;
import gtpa.fis.api.cm.service.impl.FISLOWPOLUTNCARATVO;
import gtpa.fis.api.cm.service.impl.FISNATIONMERITERQUALFATVO;
import gtpa.fis.api.cm.service.impl.FISNATIONMERITERVHCLEINFOVO;
import gtpa.fis.api.cm.service.impl.FISNXRPDFCTDTAVO;
import gtpa.fis.api.cm.service.impl.FISNXRPLEVYDELETEVO;
import gtpa.fis.api.cm.service.impl.FISNXRPLEVYREGISTVO;
import gtpa.fis.api.cm.service.impl.FISNXRPNPYMDTAHISTVO;
import gtpa.fis.api.cm.service.impl.FISNXRPNPYMDTAVO;
import gtpa.fis.api.cm.service.impl.FISNXRPRCIVDTAVO;
import gtpa.fis.api.cm.service.impl.FISNXRPRDCAMTDTAVO;
import gtpa.fis.api.cm.service.impl.FISNXRPSIMPLLEVYINFOINVO;
import gtpa.fis.api.cm.service.impl.FISNXRPTAXITMINFOINQIREVO;
import gtpa.fis.api.cm.service.impl.FISNXRPUSERINFOINQIREVO;
import gtpa.fis.api.cm.service.impl.FISSEIZRRELISERRORMANAGEVO;
import gtpa.fis.api.cm.service.impl.FISTAXELSESEIZRREGISTVO;
import gtpa.fis.api.cm.service.impl.FISTAXELSESEIZRRELISVO;
import gtpa.fis.api.sp.service.impl.FISREGLTVO;
/**
* @Class Name : ApiCommonService.java
* @Description : api
* @Since 2019. 05. 23
* @Author
* <pre>
*
* ------- ------------- ----------------------
*
* </pre>
*/
public interface ApiCntcCommonService {
/**
*
*/
public void insertFISCARBASSMATTER(FISCARBASSMATTERVO fiscarbassmatterVO) ;
/**
*
*/
public void insertFISCNTCMASTR(FISCNTCMASTRVO fiscntcmastrVO) ;
/**
* CI
*/
public void insertFISCI(FISCIVO fisciVO) ;
/**
*
*/
public void insertFISKAKAOELCTRNNTICEREQUS(FISKAKAOELCTRNNTICEREQUSVO fiskakaoelctrnnticerequsVO) ;
/**
*
*/
public void insertFISKAKAOELCTRNNTICEPROCE(FISKAKAOELCTRNNTICEPROCEVO fiskakaoelctrnnticeproceVO) ;
/**
*
*/
public void updtFISKAKAOELCTRNNTICEPROCE(FISKAKAOELCTRNNTICEPROCEVO fiskakaoelctrnnticeproceVO);
/**
* KT
*/
public void insertFISKTELCTRNNTICEREQUST(FISKTELCTRNNTICEREQUSTVO fisktelctrnnticerequstVO) ;
/**
* KT
*/
public void insertFISKTELCTRNNTICEPROCESS(FISKTELCTRNNTICEPROCESSVO fisktelctrnnticeprocessVO) ;
/**
*
*/
public void insertFISERRORMANAGE(FISERRORMANAGEVO fiserrormanageVO) ;
/**
*
*/
public void insertFISLOWPOLUTNCARAT(FISLOWPOLUTNCARATVO fislowpolutncaratVO) ;
/**
*
*/
public void insertFISNATIONMERITERVHCLEINFO(FISNATIONMERITERVHCLEINFOVO fisnationmeritervhcleinfoVO) ;
/**
*
*/
public void insertFISNATIONMERITERQUALFAT(FISNATIONMERITERQUALFATVO fisnationmeriterqualfatVO) ;
/**
*
*/
public void insertFISDSPSNVHCLEAT(FISDSPSNVHCLEATVO fisdspsnvhcleatVO) ;
/**
*
*/
public void insertFISCARINFOLGHVHCL(FISCARINFOLGHVHCLVO fiscarinfolghvhclVO) ;
/**
*
*/
public void insertFISALLCHLDRNCOQUALFAT(FISALLCHLDRNCOQUALFATVO fisallchldrncoqualfatVO) ;
/**
*
*/
public void insertFISCARREPLCSEIZRVHCLE(FISCARREPLCSEIZRVHCLEVO fiscarreplcseizrvhcleVO) ;
/**
*
*/
public void insertFISCARSEIZRDTLS(FISCARSEIZRDTLSVO fiscarseizrdtlsVO) ;
/**
*
*/
public void insertFISCARSEIZR(FISCARSEIZRVO fiscarseizrVO) ;
/**
*
*/
public void insertFISNXRPUSERINFOINQIRE(FISNXRPUSERINFOINQIREVO fisnxrpuserinfoinqireVO) ;
/**
*
*/
public void insertFISNXRPTAXITMINFOINQIRE(FISNXRPTAXITMINFOINQIREVO fisnxrptaxitminfoinqireVO) ;
/**
*
*/
public void insertFISNXRPLEVYREGIST(FISNXRPLEVYREGISTVO fisnxrplevyregistVO) ;
/**
*
*/
public void insertFISNXRPSIMPLLEVYINFOIN(FISNXRPSIMPLLEVYINFOINVO fisnxrpsimpllevyinfoinVO);
/**
*
*/
public void insertFISNXRPLEVYDELETE(FISNXRPLEVYDELETEVO fisnxrplevydeleteVO);
/**
* etax
*/
public void insertFISETAXRLTMRCIVINQIRE(FISETAXRLTMRCIVINQIREVO fisetaxrltmrcivinqireVO);
/**
* ftp
*/
public void insertFISNXRPNPYMDTA(FISNXRPNPYMDTAVO fisnxrpnpymdtaVO);
/**
* ftp
*/
public void insertFISNXRPNPYMDTAHIST(FISNXRPNPYMDTAVO fisnxrpnpymdtaVO);
/**
*
*/
public void deleteFISNXRPNPYMDTA(FISNXRPNPYMDTAVO fisnxrpnpymdtaVO);
/**
* ftp
*/
public void insertFISNXRPRCIVDTA(FISNXRPRCIVDTAVO fisnxrprcivdtaVO);
/**
* ftp
*/
public void insertFISNXRPRDCAMTDTA(FISNXRPRDCAMTDTAVO fisnxrprdcamtdtaVO);
/**
* ftp
*/
public void insertFISNXRPDFCTDTA(FISNXRPDFCTDTAVO fisnxrpdfctdtaVO);
/**
*
*/
public void updateSetleResultLevy(FISLEVYVO fislevyVO);
/**
*
*/
public void updateSetleResultReglt(FISREGLTVO fisregltVO);
/**
*
*/
public void insertFISTAXELSESEIZRREGIST(FISTAXELSESEIZRREGISTVO fistaxelseseizrregistVO);
/**
*
*/
public void insertFISTAXELSESEIZRRELIS(FISTAXELSESEIZRRELISVO fistaxelseseizrrelisVO);
/**
*
*/
public void insertFISSEIZRRELISERRORMANAGE(FISSEIZRRELISERRORMANAGEVO fisseizrreliserrormanageVO) ;
}

@ -0,0 +1,66 @@
/**
* @Class Name : ApiPostService.java
* @Description : epost
* @Version 1.0
* @Since 2019. 11. 26
* @Author
* <pre>
*
* ------- ------------- ----------------------
*
* </pre>
*/
package gtpa.fis.api.cm.service;
import java.util.List;
import gtpa.fis.api.cm.service.impl.EPostCntcSendVO;
import gtpa.fis.api.cm.service.impl.FISEPOSTCNTCREQUSTVO;
/**
* @Class Name : ApiPostService.java
* @Description : epost
* @Since 2019. 11. 26
* @Author
* <pre>
*
* ------- ------------- ----------------------
*
* </pre>
*/
public interface ApiEPostService {
/**
*
*/
public FISEPOSTCNTCREQUSTVO selectEPostCntcRequst() ;
/**
*
*/
public FISEPOSTCNTCREQUSTVO selectEPostRegltImage(FISEPOSTCNTCREQUSTVO fisepostcntcrequstVO) ;
/**
*
*/
public List<EPostCntcSendVO> selectEPostCntcSend(EPostCntcSendVO epostcntcsendVO) ;
/**
* E
*/
public void updateEPostCntcRequstSttus(FISEPOSTCNTCREQUSTVO fisepostcntcrequstVO) ;
/**
* E
*/
public void updateEPostRceptReqstSttus(EPostCntcSendVO epostcntcsendVO) ;
}

@ -0,0 +1,58 @@
/**
* @Class Name : ApiKtSndngService.java
* @Description :
* @Version 1.0
* @Since 2020. 10. 15
* @Author
* <pre>
*
* ------- ------------- ----------------------
*
* </pre>
*/
package gtpa.fis.api.cm.service;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import gtpa.fis.api.cm.service.impl.FISKTSNDNGVO;
/**
* @Class Name : ApiKtSndngService.java
* @Description :
* @Since 2020. 10. 15
* @Author
* <pre>
*
* ------- ------------- ----------------------
*
* </pre>
*/
public interface ApiKtSndngService {
/**
*
*/
public List<FISKTSNDNGVO> selectFISKTSNDNG(FISKTSNDNGVO schVO);
/**
*
*/
public void getCarBasicInfo(FISKTSNDNGVO listVhcleNo);
/**
* CI
*/
public void getCIInfo(FISKTSNDNGVO listVhcleNoCI);
/**
* KT
*/
public HashMap<String, Object> getKtSend(FISKTSNDNGVO listVhcleNoSMS, Map<String, Object> params);
}

@ -0,0 +1,596 @@
/**
* @Class Name : ApiNiceProcess.java
* @Description :
* @Version 1.0
* @Since 2019. 12. 09
* @Author
* <pre>
*
* ------- ------------- ----------------------
*
* </pre>
*/
package gtpa.fis.api.cm.service;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import javax.annotation.Resource;
import org.apache.log4j.Logger;
import org.hsqldb.lib.StringUtil;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import gtpa.fis.api.cm.service.impl.FISALLCHLDRNCOQUALFATVO;
import gtpa.fis.api.cm.service.impl.FISCARBASSMATTERVO;
import gtpa.fis.api.cm.service.impl.FISCARINFOLGHVHCLVO;
import gtpa.fis.api.cm.service.impl.FISCARREPLCSEIZRVHCLEVO;
import gtpa.fis.api.cm.service.impl.FISCARSEIZRDTLSVO;
import gtpa.fis.api.cm.service.impl.FISCARSEIZRVO;
import gtpa.fis.api.cm.service.impl.FISCIVO;
import gtpa.fis.api.cm.service.impl.FISCNTCMASTRVO;
import gtpa.fis.api.cm.service.impl.FISCPRDELNGINSTTINFODTLVO;
import gtpa.fis.api.cm.service.impl.FISCPRINQIREREQUSTVO;
import gtpa.fis.api.cm.service.impl.FISCPRINQIRERSPNSVO;
import gtpa.fis.api.cm.service.impl.FISCPRSSSBIZQITINFODTLVO;
import gtpa.fis.api.cm.service.impl.FISDPSTSEIZRCANCLREQUSTVO;
import gtpa.fis.api.cm.service.impl.FISDPSTSEIZRCANCLRSPNSVO;
import gtpa.fis.api.cm.service.impl.FISDPSTSEIZRINQIREDETAILVO;
import gtpa.fis.api.cm.service.impl.FISDPSTSEIZRINQIRELISTVO;
import gtpa.fis.api.cm.service.impl.FISDPSTSEIZRINQIREREQUSTVO;
import gtpa.fis.api.cm.service.impl.FISDPSTSEIZRINQIRERSPNSVO;
import gtpa.fis.api.cm.service.impl.FISDPSTSEIZRREGISTREQUSTVO;
import gtpa.fis.api.cm.service.impl.FISDPSTSEIZRREGISTRSPNSVO;
import gtpa.fis.api.cm.service.impl.FISDPSTSEIZRUSEDTLSREQUVO;
import gtpa.fis.api.cm.service.impl.FISDPSTSEIZRUSEDTLSRSPNVO;
import gtpa.fis.api.cm.service.impl.FISDPSTSEIZRUSEDTLSVO;
import gtpa.fis.api.cm.service.impl.FISDSPSNVHCLEATVO;
import gtpa.fis.api.cm.service.impl.FISETAXRLTMRCIVINQIREVO;
import gtpa.fis.api.cm.service.impl.FISINDVDLCSTMRINFODTLSVO;
import gtpa.fis.api.cm.service.impl.FISINDVDLDELNGINSTTINFOVO;
import gtpa.fis.api.cm.service.impl.FISINDVDLINQIREREQUSTVO;
import gtpa.fis.api.cm.service.impl.FISINDVDLINQIRERSPNSVO;
import gtpa.fis.api.cm.service.impl.FISINDVDLOWNHOMINFODTLSVO;
import gtpa.fis.api.cm.service.impl.FISINDVDLPYEONGPOINTINFOVO;
import gtpa.fis.api.cm.service.impl.FISINDVDLWRCINFODTLSVO;
import gtpa.fis.api.cm.service.impl.FISKAKAOELCTRNNTICEPROCEVO;
import gtpa.fis.api.cm.service.impl.FISKAKAOELCTRNNTICEREQUSVO;
import gtpa.fis.api.cm.service.impl.FISKTELCTRNNTICEPROCESSVO;
import gtpa.fis.api.cm.service.impl.FISKTELCTRNNTICEREQUSTVO;
import gtpa.fis.api.cm.service.impl.FISLEVYVO;
import gtpa.fis.api.cm.service.impl.FISLOWPOLUTNCARATVO;
import gtpa.fis.api.cm.service.impl.FISNATIONMERITERQUALFATVO;
import gtpa.fis.api.cm.service.impl.FISNATIONMERITERVHCLEINFOVO;
import gtpa.fis.api.cm.service.impl.FISNXRPDFCTDTAVO;
import gtpa.fis.api.cm.service.impl.FISNXRPLEVYDELETEVO;
import gtpa.fis.api.cm.service.impl.FISNXRPLEVYREGISTVO;
import gtpa.fis.api.cm.service.impl.FISNXRPNPYMDTAVO;
import gtpa.fis.api.cm.service.impl.FISNXRPRCIVDTAVO;
import gtpa.fis.api.cm.service.impl.FISNXRPRDCAMTDTAVO;
import gtpa.fis.api.cm.service.impl.FISNXRPSIMPLLEVYINFOINVO;
import gtpa.fis.api.cm.service.impl.FISNXRPTAXITMINFOINQIREVO;
import gtpa.fis.api.cm.service.impl.FISNXRPUSERINFOINQIREVO;
import gtpa.fis.api.cm.service.impl.FISRCIVVO;
import gtpa.fis.api.cm.service.impl.FISTAXELSESEIZRREGISTVO;
import gtpa.fis.api.cm.service.impl.FISTAXELSESEIZRRELISVO;
import gtpa.fis.api.sp.service.impl.FISREGLTVO;
import gtpa.fis.api.ws.bg.client.Bu04BugaWSDTO;
import gtpa.fis.api.ws.bg.client.Bu04SemokWSDTO;
import gtpa.fis.api.ws.bg.client.Bu04SimpleBugaETCWSDTO;
import gtpa.fis.api.ws.bg.client.Bu04UserInfoWSDTO;
import gtpa.fis.api.ws.bg.client.StatusCodeWSDTO;
import gtpa.fis.api.ws.car.client.FindRegBasicReturnEaiResponse_rsRecord;
import gtpa.fis.api.ws.car.client.ResultMessage;
import gtpa.fis.api.ws.car.seizure.client.FindSeizureByVhrNoReturnEaiResponse_rsRecord;
import gtpa.fis.api.ws.car.seizure.reg.client.AddAutoSeizureByEttffReturnEaiResponse_rsRecord;
import gtpa.fis.api.ws.car.seizure.reg.client.FindAltrtvSeizureVhrnoReturnEaiResponse_rsRecord;
import gtpa.fis.comm.CommonCode;
import gtpa.fis.comm.CommonCode.CommonCodeStatus;
import gtpa.fis.comm.CommonUtil;
import gtpa.fis.comm.dao.FisCommDAO;
/**
* @Class Name : ApiNiceProcess.java
* @Description :
* @Since 2019. 12. 09
* @Author
* <pre>
*
* ------- ------------- ----------------------
*
* </pre>
*/
@SuppressFBWarnings
@Component
public class ApiNiceProcess {
static Logger logger = Logger.getLogger(ApiNiceProcess.class.getName());
@Resource(name = "apiniceService")
private ApiNiceService apiniceService;
@Resource(name = "apicntccommonService")
private ApiCntcCommonService apicntccommonService;
@Autowired
private FisCommDAO fiscommDao;
/**
*
*/
public boolean cntcFd1F003In(FISINDVDLINQIREREQUSTVO fisindvdlinqirerequstVO)
{
boolean bResult = true;
try{
apiniceService.insertFISINDVDLINQIREREQUST(fisindvdlinqirerequstVO);
}catch(RuntimeException e)
{
//logger.info("개인신용정보 조회 등록 에러 " + e.getMessage() );
bResult = false;
}catch(Exception e)
{
//logger.info("개인신용정보 조회 등록 에러 " + e.getMessage() );
bResult = false;
}
return bResult;
}
/**
*
*/
public boolean cntcFd1F003Out(FISINDVDLINQIRERSPNSVO fisindvdlinqirerspnsVO)
{
boolean bResult = true;
try{
apiniceService.insertFISINDVDLINQIRERSPNS(fisindvdlinqirerspnsVO);
}catch(RuntimeException e)
{
//logger.info("개인신용정보 공통응답 등록 에러 " + e.getMessage() );
bResult = false;
}catch(Exception e)
{
//logger.info("개인신용정보 공통응답 등록 에러 " + e.getMessage() );
bResult = false;
}
return bResult;
}
/**
*
*/
public boolean cntcFd1F003Out13(FISINDVDLCSTMRINFODTLSVO fisindvdlcstmrinfodtlsVO)
{
boolean bResult = true;
try{
apiniceService.insertFISINDVDLCSTMRINFODTLS(fisindvdlcstmrinfodtlsVO);
}catch(RuntimeException e)
{
//logger.info("고객정보내역 등록 에러 " + e.getMessage() );
bResult = false;
}catch(Exception e)
{
//logger.info("고객정보내역 등록 에러 " + e.getMessage() );
bResult = false;
}
return bResult;
}
/**
*
*/
public boolean cntcFd1F003Out29(FISINDVDLOWNHOMINFODTLSVO fisindvdlownhominfodtlsVO)
{
boolean bResult = true;
try{
apiniceService.insertFISINDVDLOWNHOMINFODTLS(fisindvdlownhominfodtlsVO);
}catch(RuntimeException e)
{
//logger.info("자택내역 등록 에러 " + e.getMessage() );
bResult = false;
}catch(Exception e)
{
//logger.info("자택정보내역 등록 에러 " + e.getMessage() );
bResult = false;
}
return bResult;
}
/**
*
*/
public boolean cntcFd1F003Out30(FISINDVDLWRCINFODTLSVO fisindvdlwrcinfodtlsVO)
{
boolean bResult = true;
try{
apiniceService.insertFISINDVDLWRCINFODTLS(fisindvdlwrcinfodtlsVO);
}catch(RuntimeException e)
{
//logger.info("직장내역 등록 에러 " + e.getMessage() );
bResult = false;
}catch(Exception e)
{
//logger.info("직장정보내역 등록 에러 " + e.getMessage() );
bResult = false;
}
return bResult;
}
/**
*
*/
public boolean cntcFd1F003Out45(FISINDVDLDELNGINSTTINFOVO fisindvdldelnginsttinfoVO)
{
boolean bResult = true;
try{
apiniceService.insertFISINDVDLDELNGINSTTINFO(fisindvdldelnginsttinfoVO);
}catch(RuntimeException e)
{
//logger.info("거래기관내역 등록 에러 " + e.getMessage() );
bResult = false;
}catch(Exception e)
{
//logger.info("거래기관내역 등록 에러 " + e.getMessage() );
bResult = false;
}
return bResult;
}
/**
*
*/
public boolean cntcFd1F003Out64(FISINDVDLPYEONGPOINTINFOVO fisindvdlpyeongpointinfoVO)
{
boolean bResult = true;
try{
apiniceService.insertFISINDVDLPYEONGPOINTINFO(fisindvdlpyeongpointinfoVO);
}catch(RuntimeException e)
{
//logger.info("평점정보 등록 에러 " + e.getMessage() );
bResult = false;
}catch(Exception e)
{
//logger.info("평점정보 등록 에러 " + e.getMessage() );
bResult = false;
}
return bResult;
}
/**
*
*/
public boolean cntcFd6H126In(FISDPSTSEIZRREGISTREQUSTVO fisdpstseizrregistrequstVO)
{
boolean bResult = true;
try{
apiniceService.insertFISDPSTSEIZRREGISTREQUST(fisdpstseizrregistrequstVO);
}catch(RuntimeException e)
{
//logger.info("예금압류 요청 등록 에러 " + e.getMessage() );
bResult = false;
}catch(Exception e)
{
//logger.info("예금압류 요청 등록 에러 " + e.getMessage() );
bResult = false;
}
return bResult;
}
/**
*
*/
public boolean cntcFd6H126Out(FISDPSTSEIZRREGISTRSPNSVO fisdpstseizrregistrspnsVO)
{
boolean bResult = true;
try{
apiniceService.insertFISDPSTSEIZRREGISTRSPNS(fisdpstseizrregistrspnsVO);
}catch(RuntimeException e)
{
//logger.info("예금압류 응답 등록 에러 " + e.getMessage() );
bResult = false;
}catch(Exception e)
{
//logger.info("예금압류 응답 등록 에러 " + e.getMessage() );
bResult = false;
}
return bResult;
}
/**
*
*/
public boolean cntcFd6H129In(FISDPSTSEIZRCANCLREQUSTVO fisdpstseizrcanclrequstVO)
{
boolean bResult = true;
try{
apiniceService.insertFISDPSTSEIZRCANCLREQUST(fisdpstseizrcanclrequstVO);
}catch(RuntimeException e)
{
//logger.info("예금압류 취소요청 등록 에러 " + e.getMessage() );
bResult = false;
}catch(Exception e)
{
//logger.info("예금압류 취소요청 등록 에러 " + e.getMessage() );
bResult = false;
}
return bResult;
}
/**
*
*/
public boolean cntcFd6H129Out(FISDPSTSEIZRCANCLRSPNSVO fisdpstseizrcanclrspnsVO)
{
boolean bResult = true;
try{
apiniceService.insertFISDPSTSEIZRCANCLRSPNS(fisdpstseizrcanclrspnsVO);
}catch(RuntimeException e)
{
//logger.info("예금압류 취소요청응답 등록 에러 " + e.getMessage() );
bResult = false;
}catch(Exception e)
{
//logger.info("예금압류 취소요청응답 등록 에러 " + e.getMessage() );
bResult = false;
}
return bResult;
}
/**
*
*/
public boolean cntcFd6H128In(FISDPSTSEIZRINQIREREQUSTVO fisdpstseizrinqirerequstVO)
{
boolean bResult = true;
try{
apiniceService.insertFISDPSTSEIZRINQIREREQUST(fisdpstseizrinqirerequstVO);
}catch(RuntimeException e)
{
//logger.info("예금압류조회요청 등록 에러 " + e.getMessage() );
bResult = false;
}catch(Exception e)
{
//logger.info("예금압류조회요청 등록 에러 " + e.getMessage() );
bResult = false;
}
return bResult;
}
/**
*
*/
public boolean cntcFd6H128Out(FISDPSTSEIZRINQIRERSPNSVO fisdpstseizrinqirerspnsVO)
{
boolean bResult = true;
try{
apiniceService.insertFISDPSTSEIZRINQIRERSPNS(fisdpstseizrinqirerspnsVO);
}catch(RuntimeException e)
{
//logger.info("예금압류조회응답 등록 에러 " + e.getMessage() );
bResult = false;
}catch(Exception e)
{
//logger.info("예금압류조회응답 등록 에러 " + e.getMessage() );
bResult = false;
}
return bResult;
}
/**
*
*/
public boolean cntcFd6H128OutSub(FISDPSTSEIZRINQIREDETAILVO fisdpstseizrinqiredetailVO)
{
boolean bResult = true;
try{
apiniceService.insertFISDPSTSEIZRINQIREDETAIL(fisdpstseizrinqiredetailVO);
}catch(RuntimeException e)
{
//logger.info("예금압류조회응답상세 등록 에러 " + e.getMessage() );
bResult = false;
}catch(Exception e)
{
//logger.info("예금압류조회응답상세 등록 에러 " + e.getMessage() );
bResult = false;
}
return bResult;
}
/**
*
*/
public boolean cntcFd6H128OutSub01(FISDPSTSEIZRINQIRELISTVO fisdpstseizrinqirelistVO)
{
boolean bResult = true;
try{
apiniceService.insertFISDPSTSEIZRINQIRELIST(fisdpstseizrinqirelistVO);
}catch(RuntimeException e)
{
//logger.info("예금압류조회응답상세 등록 에러 " + e.getMessage() );
bResult = false;
}catch(Exception e)
{
//logger.info("예금압류조회응답상세 등록 에러 " + e.getMessage() );
bResult = false;
}
return bResult;
}
/**
*
*/
public boolean cntcFd24001In(FISCPRINQIREREQUSTVO fiscprinqirerequstVO)
{
boolean bResult = true;
try{
apiniceService.insertFISCPRINQIREREQUST(fiscprinqirerequstVO);
}catch(RuntimeException e)
{
//logger.info("사업자기본정보 조회요청 등록 에러 " + e.getMessage() );
bResult = false;
}catch(Exception e)
{
//logger.info("사업자기본정보 조회요청 등록 에러 " + e.getMessage() );
bResult = false;
}
return bResult;
}
/**
*
*/
public boolean cntcFd24001Out(FISCPRINQIRERSPNSVO fiscprinqirerspnsVO)
{
boolean bResult = true;
try{
apiniceService.insertFISCPRINQIRERSPNS(fiscprinqirerspnsVO);
}catch(RuntimeException e)
{
//logger.info("사업자기본정보 조회요청 응답개별부 등록 에러 " + e.getMessage() );
bResult = false;
}catch(Exception e)
{
//logger.info("사업자기본정보 조회요청 응답개별부등록 에러 " + e.getMessage() );
bResult = false;
}
return bResult;
}
/**
*
*/
public boolean cntcFd24001Out34(FISCPRSSSBIZQITINFODTLVO fiscprsssbizqitinfodtlVO)
{
boolean bResult = true;
try{
apiniceService.insertFISCPRSSSBIZQITINFODTL(fiscprsssbizqitinfodtlVO);
}catch(RuntimeException e)
{
//logger.info("사업자기본정보 조회요청 응답 법인휴업폐업정보내역 등록 에러 " + e.getMessage() );
bResult = false;
}catch(Exception e)
{
//logger.info("사업자기본정보 조회요청 응답 법인휴업폐업정보내역 등록 에러 " + e.getMessage() );
bResult = false;
}
return bResult;
}
/**
*
*/
public boolean cntcFd24001Out45(FISCPRDELNGINSTTINFODTLVO fiscprdelnginsttinfodtlVO)
{
boolean bResult = true;
try{
apiniceService.insertFISCPRDELNGINSTTINFODTL(fiscprdelnginsttinfodtlVO);
}catch(RuntimeException e)
{
//logger.info("사업자기본정보 조회요청 응답 법인거래기관정보내역 등록 에러 " + e.getMessage() );
bResult = false;
}catch(Exception e)
{
//logger.info("사업자기본정보 조회요청 응답 법인거래기관정보내역 등록 에러 " + e.getMessage() );
bResult = false;
}
return bResult;
}
/**
*
*/
public boolean cntcFd6H177In(FISDPSTSEIZRUSEDTLSREQUVO fisdpstseizrusedtlsrequVO)
{
boolean bResult = true;
try{
apiniceService.insertFISDPSTSEIZRUSEDTLSREQU(fisdpstseizrusedtlsrequVO);
}catch(RuntimeException e)
{
//logger.info("예금압류사용내역요청 등록 에러 " + e.getMessage() );
bResult = false;
}catch(Exception e)
{
//logger.info("예금압류사용내역요청 등록 에러 " + e.getMessage() );
bResult = false;
}
return bResult;
}
/**
*
*/
public boolean cntcFd6H177Out(FISDPSTSEIZRUSEDTLSRSPNVO fisdpstseizrusedtlsrspnVO)
{
boolean bResult = true;
try{
apiniceService.insertFISDPSTSEIZRUSEDTLSRSPN(fisdpstseizrusedtlsrspnVO);
}catch(RuntimeException e)
{
//logger.info("예금압류사용내역응답 등록 에러 " + e.getMessage() );
bResult = false;
}catch(Exception e)
{
//logger.info("예금압류사용내역응답 등록 에러 " + e.getMessage() );
bResult = false;
}
return bResult;
}
/**
*
*/
public boolean cntcFd6H177OutSub(FISDPSTSEIZRUSEDTLSVO fisdpstseizrusedtlsVO)
{
boolean bResult = true;
try{
apiniceService.insertFISDPSTSEIZRUSEDTLS(fisdpstseizrusedtlsVO);
}catch(RuntimeException e)
{
//logger.info("예금압류사용내역반복부응답 등록 에러 " + e.getMessage() );
bResult = false;
}catch(Exception e)
{
//logger.info("예금압류사용내역반복부응답 등록 에러 " + e.getMessage() );
bResult = false;
}
return bResult;
}
}

@ -0,0 +1,189 @@
/**
* @Class Name : ApiNiceService.java
* @Description :
* @Version 1.0
* @Since 2019. 12. 09
* @Author
* <pre>
*
* ------- ------------- ----------------------
*
* </pre>
*/
package gtpa.fis.api.cm.service;
import java.util.List;
import gtpa.fis.api.cm.service.impl.FISCPRDELNGINSTTINFODTLVO;
import gtpa.fis.api.cm.service.impl.FISCPRINQIREREQUSTVO;
import gtpa.fis.api.cm.service.impl.FISCPRINQIRERSPNSVO;
import gtpa.fis.api.cm.service.impl.FISCPRSSSBIZQITINFODTLVO;
import gtpa.fis.api.cm.service.impl.FISDPSTSEIZRCANCLREQUSTVO;
import gtpa.fis.api.cm.service.impl.FISDPSTSEIZRCANCLRSPNSVO;
import gtpa.fis.api.cm.service.impl.FISDPSTSEIZRINQIREDETAILVO;
import gtpa.fis.api.cm.service.impl.FISDPSTSEIZRINQIRELISTVO;
import gtpa.fis.api.cm.service.impl.FISDPSTSEIZRINQIREREQUSTVO;
import gtpa.fis.api.cm.service.impl.FISDPSTSEIZRINQIRERSPNSVO;
import gtpa.fis.api.cm.service.impl.FISDPSTSEIZRREGISTREQUSTVO;
import gtpa.fis.api.cm.service.impl.FISDPSTSEIZRREGISTRSPNSVO;
import gtpa.fis.api.cm.service.impl.FISDPSTSEIZRUSEDTLSREQUVO;
import gtpa.fis.api.cm.service.impl.FISDPSTSEIZRUSEDTLSRSPNVO;
import gtpa.fis.api.cm.service.impl.FISDPSTSEIZRUSEDTLSVO;
import gtpa.fis.api.cm.service.impl.FISINDVDLCSTMRINFODTLSVO;
import gtpa.fis.api.cm.service.impl.FISINDVDLDELNGINSTTINFOVO;
import gtpa.fis.api.cm.service.impl.FISINDVDLINQIREREQUSTVO;
import gtpa.fis.api.cm.service.impl.FISINDVDLINQIRERSPNSVO;
import gtpa.fis.api.cm.service.impl.FISINDVDLOWNHOMINFODTLSVO;
import gtpa.fis.api.cm.service.impl.FISINDVDLPYEONGPOINTINFOVO;
import gtpa.fis.api.cm.service.impl.FISINDVDLWRCINFODTLSVO;
/**
* @Class Name : ApiNiceService.java
* @Description :
* @Since 2019. 12. 09
* @Author
* <pre>
*
* ------- ------------- ----------------------
*
* </pre>
*/
public interface ApiNiceService {
/**
*
*/
public void insertFISINDVDLINQIREREQUST(FISINDVDLINQIREREQUSTVO fisindvdlinqirerequstVO) ;
/**
*
*/
public void insertFISINDVDLINQIRERSPNS(FISINDVDLINQIRERSPNSVO fisindvdlinqirerspnsVO) ;
/**
*
*/
public void insertFISINDVDLCSTMRINFODTLS(FISINDVDLCSTMRINFODTLSVO fisindvdlcstmrinfodtlsVO) ;
/**
*
*/
public void insertFISINDVDLOWNHOMINFODTLS(FISINDVDLOWNHOMINFODTLSVO fisindvdlownhominfodtlsVO) ;
/**
*
*/
public void insertFISINDVDLWRCINFODTLS(FISINDVDLWRCINFODTLSVO fisindvdlwrcinfodtlsVO) ;
/**
*
*/
public void insertFISINDVDLDELNGINSTTINFO(FISINDVDLDELNGINSTTINFOVO fisindvdldelnginsttinfoVO) ;
/**
*
*/
public void insertFISINDVDLPYEONGPOINTINFO(FISINDVDLPYEONGPOINTINFOVO fisindvdlpyeongpointinfoVO) ;
/**
*
*/
public void insertFISDPSTSEIZRREGISTREQUST(FISDPSTSEIZRREGISTREQUSTVO fisdpstseizrregistrequstVO) ;
/**
*
*/
public void insertFISDPSTSEIZRREGISTRSPNS(FISDPSTSEIZRREGISTRSPNSVO fisdpstseizrregistrspnsVO) ;
/**
*
*/
public void insertFISDPSTSEIZRCANCLREQUST(FISDPSTSEIZRCANCLREQUSTVO fisdpstseizrcanclrequstVO) ;
/**
*
*/
public void insertFISDPSTSEIZRCANCLRSPNS(FISDPSTSEIZRCANCLRSPNSVO fisdpstseizrcanclrspnsVO) ;
/**
*
*/
public void insertFISDPSTSEIZRINQIREREQUST(FISDPSTSEIZRINQIREREQUSTVO fisdpstseizrinqirerequstVO) ;
/**
*
*/
public void insertFISDPSTSEIZRINQIRERSPNS(FISDPSTSEIZRINQIRERSPNSVO fisdpstseizrinqirerspnsVO) ;
/**
*
*/
public void insertFISDPSTSEIZRINQIREDETAIL(FISDPSTSEIZRINQIREDETAILVO fisdpstseizrinqiredetailVO) ;
/**
*
*/
public void insertFISDPSTSEIZRINQIRELIST(FISDPSTSEIZRINQIRELISTVO fisdpstseizrinqirelistVO) ;
/**
*
*/
public void insertFISCPRINQIREREQUST(FISCPRINQIREREQUSTVO fiscprinqirerequstVO) ;
/**
*
*/
public void insertFISCPRINQIRERSPNS(FISCPRINQIRERSPNSVO fiscprinqirerspnsVO) ;
/**
*
*/
public void insertFISCPRDELNGINSTTINFODTL(FISCPRDELNGINSTTINFODTLVO fiscprdelnginsttinfodtlVO) ;
/**
*
*/
public void insertFISCPRSSSBIZQITINFODTL(FISCPRSSSBIZQITINFODTLVO fiscprsssbizqitinfodtlVO) ;
/**
*
*/
public void insertFISDPSTSEIZRUSEDTLSREQU(FISDPSTSEIZRUSEDTLSREQUVO fisdpstseizrusedtlsrequVO) ;
/**
*
*/
public void insertFISDPSTSEIZRUSEDTLSRSPN(FISDPSTSEIZRUSEDTLSRSPNVO fisdpstseizrusedtlsrspnVO) ;
/**
*
*/
public void insertFISDPSTSEIZRUSEDTLS(FISDPSTSEIZRUSEDTLSVO fisdpstseizrusedtlsVO) ;
}

@ -0,0 +1,173 @@
/**
* @Class Name : ApiNxrpComInfoService.java
* @Description :
* @Version 1.0
* @Since 2019. 09. 19
* @Author
* <pre>
*
* ------- ------------- ----------------------
*
* </pre>
*/
package gtpa.fis.api.cm.service;
import java.util.List;
import java.util.Map;
import gtpa.fis.api.cm.service.impl.FISLEVYCANCLVO;
import gtpa.fis.api.cm.service.impl.FISLEVYVO;
import gtpa.fis.api.cm.service.impl.FISOVERRPAYVO;
import gtpa.fis.api.cm.service.impl.FISRCIVVO;
import gtpa.fis.api.cm.service.impl.FISSEIZRVO;
import gtpa.fis.api.cm.service.impl.FISTAXITMINFOVO;
import gtpa.fis.api.cm.service.impl.NxrpLevyVO;
/**
* @Class Name : ApiNxrpComInfoService.java
* @Description :
* @Since 2019. 09. 19
* @Author
* <pre>
*
* ------- ------------- ----------------------
*
* </pre>
*/
public interface ApiNxrpComInfoService {
/**
*
*/
public void insertFISLEVY(FISLEVYVO fislevyVO) ;
/**
*
*/
public FISTAXITMINFOVO selectFISTAXITMINFO(FISTAXITMINFOVO fistaxitminfoVO);
/**
*
*/
public NxrpLevyVO selectNxrpLevy(NxrpLevyVO nxrplevyVO);
/**
*
*/
public int updateNxrpLevyProcessSttus(FISLEVYVO fislevyVO) ;
/**
*
*/
public void insertFISLEVYCANCL(FISLEVYCANCLVO fislevycanclVO);
/**
*
*/
public int selectFISLEVYDUP(FISLEVYVO fislevyVO) ;
/**
*
*/
public int updateNxrpLevySnReglt(FISLEVYVO fislevyVO) ;
/**
* ftp
*/
public void insertFISRCIV(FISRCIVVO fisrcivVO);
/**
* ftp
*/
public void updateSetleResultLevy(FISRCIVVO fisrcivVO);
/**
* ftp
*/
public void updateSetleResultReglt(FISRCIVVO fisrcivVO);
/**
*
*/
public NxrpLevyVO selectNxrpSeizrLevy(NxrpLevyVO nxrplevyVO);
/**
*
*/
public FISSEIZRVO selectNxrpSeizrCancelLevy(FISSEIZRVO seizrVO);
/**
* 2021.04.01
*
*/
public int selectFisErppcheck(FISOVERRPAYVO fisoverpayVO);
/**
* 2021.04.01
*
*/
public int selectFisOpinioncheck(FISOVERRPAYVO fisoverpayVO);
/**
* 2021.04.01
*
*/
public int selectFisLevyCanclecheck(FISOVERRPAYVO fisoverpayVO);
/**
* 2021.04.01
*
*/
public int selectFisDubleRcivcheck(FISOVERRPAYVO fisoverpayVO);
/**
* 2021.04.01
*
*/
public int selectFisLevyNocheck(FISOVERRPAYVO fisoverpayVO);
/**
* 2021.04.01
*
*/
public void insertFISOVERPAY(FISOVERRPAYVO fisoverpayVO);
/**
* 2021.04.01
* DELETE_AT='Y'
*/
public void updateFisRcivUpdateDelete_Y(FISOVERRPAYVO fisoverpayVO);
/**
* 2021.04.22
*
*/
public List<FISLEVYVO> selectFisLevySttusList();
/**
* 2021.04.22
*
*/
public void updateNxrpLevySttus(FISLEVYVO fislevyVO) ;
/**
* 2021.06.07
*
*/
public List<Map> selectFisSeizrCancelList();
}

@ -0,0 +1,121 @@
/**
* @Class Name : AsyncConfig.java
* @Description :
* @Version 1.0
* @Since 2019. 07. 23
* @Author
* <pre>
*
* ------- ------------- ----------------------
*
* </pre>
*/
package gtpa.fis.api.cm.service;
import org.apache.log4j.Logger;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.task.AsyncTaskExecutor;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
import java.util.concurrent.Callable;
import java.util.concurrent.Executor;
import java.util.concurrent.Future;
/**
* @Class Name : AsyncConfig.java
* @Description :
* @Since 2019. 07. 23
* @Author
* <pre>
*
* ------- ------------- ----------------------
*
* </pre>
*/
@Configuration
@EnableAsync
public class AsyncConfig {
static Logger logger = Logger.getLogger(AsyncConfig.class.getName());
@Bean(name = "threadPoolApiTaskExecutor")
public Executor threadPoolTaskExecutor() {
ThreadPoolTaskExecutor taskExecutor = new ThreadPoolTaskExecutor();
taskExecutor.setCorePoolSize(50); //기본 쓰레드 개수
taskExecutor.setMaxPoolSize(Integer.MAX_VALUE);//최대갯수
taskExecutor.setQueueCapacity(3000);//대기큐 쓰레드가 꽉차면 추가생성
taskExecutor.setThreadNamePrefix("ApiExecutor-");
taskExecutor.initialize();
return new HandlingExecutor(taskExecutor); // HandlingExecutor로 wrapping 합니다.
}
public class HandlingExecutor implements AsyncTaskExecutor {
private AsyncTaskExecutor executor;
public HandlingExecutor(AsyncTaskExecutor executor) {
this.executor = executor;
}
@Override
public void execute(Runnable task) {
executor.execute(task);
}
@Override
public void execute(Runnable task, long startTimeout) {
executor.execute(createWrappedRunnable(task), startTimeout);
}
@Override
public Future<?> submit(Runnable task) {
return executor.submit(createWrappedRunnable(task));
}
@Override
public <T> Future<T> submit(final Callable<T> task) {
return executor.submit(createCallable(task));
}
private <T> Callable<T> createCallable(final Callable<T> task) {
return new Callable<T>() {
@Override
public T call() throws RuntimeException, Exception {
try {
return task.call();
} catch (RuntimeException ex) {
handle(ex);
throw ex;
} catch (Exception ex) {
handle(ex);
throw ex;
}
}
};
}
private Runnable createWrappedRunnable(final Runnable task) {
return new Runnable() {
@Override
public void run() {
try {
task.run();
} catch (RuntimeException ex) {
handle(ex);
}catch (Exception ex) {
handle(ex);
}
}
};
}
private void handle(Exception ex) {
logger.info("apiFailed to execute task. : {}" + ex.getMessage());
}
}
}

@ -0,0 +1,58 @@
/**
* @Class Name : AsyncRestConfig.java
* @Description : AsyncRest ,
* @Version 1.0
* @Since 2019. 06. 21
* @Author
* <pre>
*
* ------- ------------- ----------------------
*
* </pre>
*/
package gtpa.fis.api.cm.service;
import javax.net.ssl.SSLException;
import org.apache.log4j.Logger;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.client.Netty4ClientHttpRequestFactory;
import org.springframework.web.client.AsyncRestTemplate;
import io.netty.channel.nio.NioEventLoopGroup;
import io.netty.handler.ssl.SslContextBuilder;
/**
* @Class Name : AsyncRestConfig.java
* @Description : AsyncRest ,
* @Since 2019. 06. 21
* @Author
* <pre>
*
* ------- ------------- ----------------------
*
* </pre>
*/
@Configuration
public class AsyncRestConfig {
static Logger logger = Logger.getLogger(AsyncRestConfig.class.getName());
@Bean
public AsyncRestTemplate asyncRestTemplate(){
AsyncRestTemplate asyncRestTemplate = new AsyncRestTemplate();
Netty4ClientHttpRequestFactory netty = new Netty4ClientHttpRequestFactory(new NioEventLoopGroup(1));
// try {
// netty.setSslContext(SslContextBuilder.forClient().build());
// } catch (SSLException e) {
// // TODO Auto-generated catch block
// }
asyncRestTemplate.setAsyncRequestFactory(netty);
logger.info("setAsyncRequestFactory 실행?");
return asyncRestTemplate;
}
}

@ -0,0 +1,82 @@
/**
* @Class Name : AtchFileComm.java
* @Description : .
* @Version 1.0
* @Since 2019. 11. 27
* @Author
* <pre>
*
* ------- ------------- ----------------------
*
* </pre>
*/
package gtpa.fis.api.cm.service;
import java.util.HashMap;
import javax.annotation.Resource;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import gtpa.fis.api.cm.service.impl.AtchFileVO;
import gtpa.fis.api.cm.service.impl.RegltImageSaveVO;
import gtpa.fis.comm.CommonProperties;
import gtpa.fis.comm.CommonUtil;
/**
* @Class Name : AtchFileComm.java
* @Description : .
* @Since 2019. 11. 27
* @Author
* <pre>
*
* ------- ------------- ----------------------
*
* </pre>
*/
@SuppressFBWarnings
@Component
public class AtchFileComm {
static Logger logger = Logger.getLogger(AtchFileComm.class.getName());
@Resource(name = "apicmService")
private ApiCmService apicmService;
private CommonProperties commonProperties;
@Autowired
public AtchFileComm(CommonProperties commonProperties){
this.commonProperties = commonProperties;
commonProperties.getLocalIpAddress();
}
String strAnprImgUrl = null;//http Url
String strRegltLocalStorage = null; // localStorage root경로
/**
* view
*/
public HashMap<String, Object> getAtchFile(AtchFileVO atchFileVO){
HashMap<String, Object> rtnMap = new HashMap<>();
try{
AtchFileVO rtnAtchFileVO = apicmService.selectAtchFile(atchFileVO);
String strAtchFileNm = rtnAtchFileVO.getAtchFileNm();
rtnMap.put("filePath", strAtchFileNm);
}catch(RuntimeException e){
logger.info("에러");
}catch(Exception e){
logger.info("에러");
}
return rtnMap;
}
}

@ -0,0 +1,181 @@
/**
* @Class Name : CarReportStatistics.java
* @Description : .
* @Version 1.0
* @Since 2019. 10. 30
* @Author
* <pre>
*
* ------- ------------- ----------------------
*
* </pre>
*/
package gtpa.fis.api.cm.service;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Component;
import gtpa.fis.api.cm.service.impl.FISCARBASSMATTERVO;
import gtpa.fis.api.cm.service.impl.TEMPFIVEGRADVO;
import gtpa.fis.api.sp.service.RealVhcleReduComm;
import gtpa.fis.comm.CommonCode;
import gtpa.fis.comm.CommonErrCodeStatus;
import gtpa.fis.comm.CommonUtil;
/**
* @Class Name : CarReportStatistics.java
* @Description : .
* @Since 2019. 10. 30
* @Author
* <pre>
*
* ------- ------------- ----------------------
*
* </pre>
*/
@Component
public class CarReportStatistics {
static Logger logger = Logger.getLogger(CarReportStatistics.class.getName());
@Resource(name = "apicmService")
private ApiCmService apicmService;
@Autowired
private ECarBasicInfo ecarBasicInfo;
@Autowired
private PublicFacilityClient publicFacilityClient;
@Async("threadPoolApiTaskExecutor")
public void setCarReportStatistics(){
//HashMap<String, Object> rtnMap = new HashMap<String, Object>();
//차번호 조회
List<TEMPFIVEGRADVO> rtnGradVO = apicmService.selectTEMPFIVEGRAD();
TEMPFIVEGRADVO gradVO = new TEMPFIVEGRADVO();
HashMap<String, Object> carMap = new HashMap<>();
FISCARBASSMATTERVO matterVO = new FISCARBASSMATTERVO();
String strSysId = "11-006"; //과태료
for(int i=0 ; i < rtnGradVO.size(); i++){
logger.info(" allan4 " + (i + 1) +" 4대도성 5등급차량 시작 차량번호 : " + rtnGradVO.get(i).getVHCLE_NO() );
carMap = new HashMap<>();
matterVO = new FISCARBASSMATTERVO();
gradVO = new TEMPFIVEGRADVO();
gradVO.setSN(rtnGradVO.get(i).getSN());
gradVO.setVHCLE_NO(rtnGradVO.get(i).getVHCLE_NO());
gradVO.setVIN(rtnGradVO.get(i).getVIN());
carMap.put("levyStdde", CommonUtil.getToDay());
carMap.put("inqireSeCode", "3"); //자동차등록번호 조회 2: 차대번호 조회
carMap.put("vhrno", rtnGradVO.get(i).getVHCLE_NO());
carMap.put("rtnType", CommonCode.fExecptionType_NotReturn); //에러처리 안하고 코드값을 가져온다.
try{
matterVO = ecarBasicInfo.getECarBasicInfo(carMap);
gradVO.setERSR_REGIST_SE_CODE(matterVO.getERSR_REGIST_SE_CODE());//말소_등록_구분_코드
gradVO.setERSR_DE(matterVO.getERSR_REGIST_DE());//말소_일자
gradVO.setMANP_REGIST_DETAIL_CODE(matterVO.getMANP_REGIST_STTUS_CODE());//제원등록상세코드
gradVO.setSEIZR_CO(matterVO.getSEIZR_CO());//압류건수
}catch (RuntimeException e){
gradVO.setPROCESS_STTUS_CODE("-1");//처리_상태_코드
gradVO.setPROCESS_STTUS_MSSAGE("에러발생");//처리_상태_메시지
}catch (Exception e){
gradVO.setPROCESS_STTUS_CODE("-1");//처리_상태_코드
gradVO.setPROCESS_STTUS_MSSAGE("에러발생");//처리_상태_메시지
}
//국가유공자
String strTranDate = CommonUtil.getToDayMiss();
String strTransId = CommonUtil.getUniqueID("", 10);
HashMap<String, String> facMap = new HashMap<>();
HashMap<String, Object> resultMap = new LinkedHashMap<String, Object>();
facMap.put("sysId", strSysId);
facMap.put("tranDate", strTranDate);
facMap.put("transId", strTransId);
facMap.put("carNo", rtnGradVO.get(i).getVHCLE_NO());
try {
resultMap = publicFacilityClient.getMeritCarYnResponse(facMap);
logger.info("allan4 국가유공자 : " + resultMap );
if(resultMap.get("resultCode").equals(CommonErrCodeStatus.OtherErrors.getCode()))
{
gradVO.setPROCESS_STTUS_CODE("-2");//처리_상태_코드
gradVO.setPROCESS_STTUS_MSSAGE((String)resultMap.get(CommonCode.fResultMessage));//처리_상태_메시지
}else{
Map<String, Object> dataMap = (Map<String, Object>) resultMap.get("data");
// rtnMap.put(CommonCode.fResultCode, CommonErrCodeStatus.Success.getCode());
// rtnMap.put("resultCd", (String) dataMap.get("resultCd"));
gradVO.setNATIONMERITER_VHCLE_AT((String) dataMap.get("resultCd"));
}
} catch (RuntimeException e) {
// TODO Auto-generated catch block
gradVO.setPROCESS_STTUS_CODE("-3");//처리_상태_코드
gradVO.setPROCESS_STTUS_MSSAGE("에러발생");//처리_상태_메시지
} catch (Exception e) {
// TODO Auto-generated catch block
gradVO.setPROCESS_STTUS_CODE("-3");//처리_상태_코드
gradVO.setPROCESS_STTUS_MSSAGE("에러발생");//처리_상태_메시지
}
//장애인차량
strTranDate = CommonUtil.getToDayMiss();
strTransId = CommonUtil.getUniqueID("", 10);
facMap = new HashMap<>();
resultMap = new LinkedHashMap<String, Object>();
facMap.put("sysId", strSysId);
facMap.put("tranDate", strTranDate);
facMap.put("transId", strTransId);
facMap.put("carNo", rtnGradVO.get(i).getVHCLE_NO());
try {
resultMap = publicFacilityClient.getReductionDisabledCarYnResponse(facMap);
logger.info("allan4 장애인차량 : " + resultMap );
if(resultMap.get("resultCode").equals(CommonErrCodeStatus.OtherErrors.getCode()))
{
gradVO.setPROCESS_STTUS_CODE("-3");//처리_상태_코드
gradVO.setPROCESS_STTUS_MSSAGE((String)resultMap.get(CommonCode.fResultMessage));//처리_상태_메시지
}else{
Map<String, Object> dataMap = (Map<String, Object>) resultMap.get("data");
// rtnMap.put(CommonCode.fResultCode, CommonErrCodeStatus.Success.getCode());
// rtnMap.put("resultCd", (String) dataMap.get("qufyYn"));
gradVO.setDSPSN_VHCLE_AT((String) dataMap.get("qufyYn"));
}
} catch (RuntimeException e) {
// TODO Auto-generated catch block
gradVO.setPROCESS_STTUS_CODE("-4");//처리_상태_코드
gradVO.setPROCESS_STTUS_MSSAGE("에러발생");//처리_상태_메시지
} catch (Exception e) {
// TODO Auto-generated catch block
gradVO.setPROCESS_STTUS_CODE("-4");//처리_상태_코드
gradVO.setPROCESS_STTUS_MSSAGE("에러발생");//처리_상태_메시지
}
try{
logger.info(" allan4 4대도성 5등급차량 gradVO : " + gradVO);
apicmService.updateTEMPFIVEGRAD(gradVO);
Thread.sleep(500);
} catch (RuntimeException e) {
// TODO Auto-generated catch block
logger.info(" allan4 4대도성 5등급차량 에러");
} catch (Exception e) {
// TODO Auto-generated catch block
logger.info(" allan4 4대도성 5등급차량 에러");
}
}
//Loop 돌면서 차량번호 자망연계
logger.info(" allan4 4대도성 5등급차량 업데이트 종료 ");
}
}

@ -0,0 +1,150 @@
/**
* @Class Name : CommonVerification.java
* @Description :
* @Version 1.0
* @Since 2019. 06. 02
* @Author
* <pre>
*
* ------- ------------- ----------------------
*
* </pre>
*/
package gtpa.fis.api.cm.service;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.ListIterator;
import javax.servlet.http.HttpServletRequest;
import org.apache.axis.utils.StringUtils;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import gtpa.fis.comm.ApiRespException;
import gtpa.fis.comm.CommonErrCodeStatus;
import gtpa.fis.comm.dao.FisCommDAO;
/**
* @Class Name : CommonVerification.java
* @Description :
* @Since 2019. 06. 02
* @Author
* <pre>
*
* ------- ------------- ----------------------
*
* </pre>
*/
@Component
public class CommonVerification {
static Logger logger = Logger.getLogger(CommonVerification.class.getName());
@Autowired
private FisCommDAO fiscommDao;
/**
*
*/
public void apiHdrVerification(String sysId, String tranDate, String transId) throws RuntimeException, Exception
{
//logger.info("sysId : " + sysId);
//logger.info("tranDate" + tranDate);
//logger.info("transId : " + transId);
if (StringUtils.isEmpty(sysId)) {
throw new ApiRespException(CommonErrCodeStatus.RequiredValueNotStringFormat.getCode(), String.format(CommonErrCodeStatus.RequiredValueNotStringFormat.getMessage(),"시스템ID"));
}
if (StringUtils.isEmpty(tranDate)) {
throw new ApiRespException(CommonErrCodeStatus.RequiredValueNotStringFormat.getCode(), String.format(CommonErrCodeStatus.RequiredValueNotStringFormat.getMessage(),"전송일시"));
}
if (StringUtils.isEmpty(transId)) {
throw new ApiRespException(CommonErrCodeStatus.RequiredValueNotStringFormat.getCode(), String.format(CommonErrCodeStatus.RequiredValueNotStringFormat.getMessage(),"트랜잭션ID"));
}
HashMap<Object, Object> codeMap = new HashMap<>();
codeMap.put("CODE_GROUP_ID", "00029");
codeMap.put("CODE_ID", sysId);
int retCnt = fiscommDao.selectFisCodeCnt(codeMap);
if (retCnt==0)
{
throw new ApiRespException(CommonErrCodeStatus.SysIdError.getCode(), String.format(CommonErrCodeStatus.SysIdError.getMessage(),"sysId: " + sysId));
}
// if (!("11-001".equals(sysId) || "11-002".equals(sysId) || "11-003".equals(sysId))) { //시스템ID는 DB조회
// throw new ApiRespException(CommonErrCodeStatus.SysIdError.getCode(), String.format(CommonErrCodeStatus.SysIdError.getMessage(),"sysId: " + sysId));
// }
}
/**
*
*/
public void apiHdrVerification(String sysId, String tranDate, String transId, HttpServletRequest request) throws RuntimeException, Exception
{
if (StringUtils.isEmpty(sysId)) {
throw new ApiRespException(CommonErrCodeStatus.RequiredValueNotStringFormat.getCode(), String.format(CommonErrCodeStatus.RequiredValueNotStringFormat.getMessage(),"시스템ID"));
}
if (StringUtils.isEmpty(tranDate)) {
throw new ApiRespException(CommonErrCodeStatus.RequiredValueNotStringFormat.getCode(), String.format(CommonErrCodeStatus.RequiredValueNotStringFormat.getMessage(),"전송일시"));
}
if (StringUtils.isEmpty(transId)) {
throw new ApiRespException(CommonErrCodeStatus.RequiredValueNotStringFormat.getCode(), String.format(CommonErrCodeStatus.RequiredValueNotStringFormat.getMessage(),"트랜잭션ID"));
}
HashMap<Object, Object> codeMap = new HashMap<>();
codeMap.put("CODE_GROUP_ID", "00029");
codeMap.put("CODE_ID", sysId);
int retCnt = fiscommDao.selectFisCodeCnt(codeMap);
if (retCnt==0)
{
throw new ApiRespException(CommonErrCodeStatus.SysIdError.getCode(), String.format(CommonErrCodeStatus.SysIdError.getMessage(),"sysId: " + sysId));
}
// logger.info("HttpServletRequest request : " + request.getRemoteAddr());
String strReqIp = request.getRemoteAddr();
// logger.info("arrReqIp" + strReqIp);
String[] arrReqIp = strReqIp.split("\\.");
boolean isIpCheck = false;
List<String> listIp = new ArrayList<String>();
listIp.add("192");//IOT
listIp.add("98");//행망
listIp.add("127");//localhost test
listIp.add("175.193.200.84"); //5층 상황실
listIp.add("10"); //서소문청사
// logger.info("arrReqIp[0]" + arrReqIp[0]);
for(String ip : listIp){
// logger.info("ip : " + ip);
if(ip.equals(arrReqIp[0])){
isIpCheck = true;
}
}
if(!isIpCheck)
for(String ip : listIp){
// logger.info("ip : " + ip);
if(ip.equals(strReqIp)){
isIpCheck = true;
}
}
if(!isIpCheck)
throw new ApiRespException(CommonErrCodeStatus.AuthError.getCode(), CommonErrCodeStatus.AuthError.getMessage());
}
}

@ -0,0 +1,306 @@
/**
* @Class Name : ECarWSClient.java
* @Description : .
* @Version 1.0
* @Since 2019. 05. 15
* @Author
* <pre>
*
* ------- ------------- ----------------------
*
* </pre>
*/
package gtpa.fis.api.cm.service;
import java.rmi.RemoteException;
import java.util.HashMap;
import org.apache.commons.lang3.StringUtils;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import gtpa.fis.api.cm.service.impl.FISCARBASSMATTERVO;
import gtpa.fis.api.ws.car.client.CarRegBasicInfoProxy;
import gtpa.fis.api.ws.car.client.FindRegBasicParameterEaiRequest_rsRecord;
import gtpa.fis.api.ws.car.client.FindRegBasicReturn;
import gtpa.fis.api.ws.car.client.FindRegBasicReturnEaiResponse_rsRecord;
import gtpa.fis.api.ws.car.client.ResultMessage;
import gtpa.fis.api.ws.car.client.WsRequestContext;
import gtpa.fis.comm.ApiRespException;
import gtpa.fis.comm.CommonCode;
import gtpa.fis.comm.CommonErrCodeStatus;
/**
* @Class Name : ECarWSClient.java
* @Description : .
* @Since 2019. 05. 15
* @Author
* <pre>
*
* ------- ------------- ----------------------
*
* </pre>
*/
@Component
public class ECarBasicInfo {
static Logger logger = Logger.getLogger(ECarBasicInfo.class.getName());
@Autowired
private ApiCntcInfoProcess apicntcInfoProcess;
/**
*
*/
public synchronized FISCARBASSMATTERVO getECarBasicInfo(HashMap carMap)
{
// logger.info("기본사항 조회 carMap:: " + carMap);
FindRegBasicReturnEaiResponse_rsRecord[] eaiResponse_rs = null;
ResultMessage commonMessage = null;
FISCARBASSMATTERVO matterVO = new FISCARBASSMATTERVO();
String strWsdlUrl = "http://auto.car.go.kr:39700/lvis/services/WsFrontController";//테스트계 운영으로 기본사항조회
CommonCode.setFEcarWsdlUrl(strWsdlUrl);
String strSysId = (String)carMap.get("sysId");
String strChargerIhinum = null; //담당자키
String strChargercIpAdres = null; //담당자IP어드레스
String strChargerNm = null;//담당자명
String strChargerWrcTelno = null;//담당자연락처
String strInfoSysId = null;//정보시스템ID
String strInfoSysIp = null;//정보시스템IP
String strSigunguCode = null;//시군구코드
String strInfoSysMacaddress = null;//정보시스템MAC어드레스
String strSvcId = "A01"; //자동차기본사항
if(StringUtils.isEmpty(strSysId)) strSysId="11-006";//실시간 단속은 null
if("11-004".equals(strSysId)){ //공영주차장
strChargerIhinum = "1111111111111";
strChargercIpAdres = "98.42.34.216";
strChargerNm = "공영주차장";
strChargerWrcTelno = "120";
strInfoSysId = "11-264";
strInfoSysIp = "98.42.34.216";
strSigunguCode = "11000";
strInfoSysMacaddress = "40A8F03DC2FC";
}else{
strChargerIhinum = "1111111111111";
strChargercIpAdres = "98.42.34.216";
strChargerNm = "녹색교통";
strChargerWrcTelno = "120";
strInfoSysId = "11-261";
strInfoSysIp = "98.42.34.216";
strSigunguCode = "11000";
strInfoSysMacaddress = "40A8F03DC2FC";
}
long startTime = System.currentTimeMillis();
try{
// 1. proxy 생성
CarRegBasicInfoProxy proxy = new CarRegBasicInfoProxy();
// 2. parameter 작성
FindRegBasicParameterEaiRequest_rsRecord[] rsRecords = new FindRegBasicParameterEaiRequest_rsRecord[1];
FindRegBasicParameterEaiRequest_rsRecord rsRecord = new FindRegBasicParameterEaiRequest_rsRecord();
rsRecord.setINQIRE_SE_CODE((String) carMap.get("inqireSeCode"));
rsRecord.setLEVY_STDDE((String) carMap.get("levyStdde"));
rsRecord.setVHRNO((String) carMap.get("vhrno"));
rsRecords[0] = rsRecord;
WsRequestContext wsContext = new WsRequestContext();//모델
wsContext.setCharger_ihinum(strChargerIhinum);
wsContext.setCharger_ip_adres(strChargercIpAdres);
wsContext.setCharger_nm(strChargerNm);
wsContext.setCharger_wrc_telno(strChargerWrcTelno);
wsContext.setInfo_sys_id(strInfoSysId);
wsContext.setInfo_sys_ip(strInfoSysIp);
wsContext.setSigungu_code(strSigunguCode);
wsContext.setSvc_id(strSvcId);
wsContext.setEnc_key("");
wsContext.setEnc_key_group("");
wsContext.setEnc_key_no("");
wsContext.setInfo_sys_macaddress(strInfoSysMacaddress);
carMap.put("chargerIhinum", strChargerIhinum);
carMap.put("chargercIpAdres", strChargercIpAdres);
carMap.put("chargerNm", strChargerNm);
carMap.put("chargerWrcTelno", strChargerWrcTelno);
carMap.put("infoSysId", strInfoSysId);
carMap.put("infoSysIp", strInfoSysIp);
carMap.put("sigunguCode", strSigunguCode);
carMap.put("svcId", strSvcId);
carMap.put("infoSysMacaddress", strInfoSysMacaddress);
// logger.info("wsContext : " + wsContext);
// 4. 조회 올리기전에 항상 학인해야해요.
if(!true){
FindRegBasicReturn regBasicRtn = proxy.findRegBasic(rsRecords, wsContext);
eaiResponse_rs = regBasicRtn.getEaiResponse_rs();
commonMessage = regBasicRtn.getResultMessage();
String strMessageID = commonMessage.getMessageId();
carMap.put("cntcResult", ("MSG50000".equals(strMessageID) ? CommonCode.fSUCCESS : CommonCode.fFAIL) );
carMap.put("cntcResultCode", strMessageID);
carMap.put("cntcMessage", commonMessage.getMessageName());
matterVO = apicntcInfoProcess.cntcCarBasicInfoAdd(carMap, eaiResponse_rs, commonMessage);//자동차 기본사항 등록
//결과메세지 ID
if (carMap.get("rtnType").equals(CommonCode.fExecptionType_Return)) //RestAPI 반환할려면 Y
{
if (!(strMessageID.equals("MSG50000"))){
logger.info("자동차연계 조회에러 : ");
logger.info("결과메세지ID : " + commonMessage.getMessageId());
logger.info("결과메세지명 : " + commonMessage.getMessageName());
logger.info("결과메세지사유 : " + commonMessage.getMessageReason());
logger.info("결과메세지비고 : " + commonMessage.getMessageRemark());
logger.info("에러메시지STACK : " + commonMessage.getExceptionStackTrace());
throw new ApiRespException(CommonErrCodeStatus.CarLinkError.getCode(), String.format(CommonErrCodeStatus.CarLinkError.getMessage(),
"["+commonMessage.getMessageId()+"] " +commonMessage.getMessageName()));
}
}
} else{
eaiResponse_rs = new FindRegBasicReturnEaiResponse_rsRecord[1];
FindRegBasicReturnEaiResponse_rsRecord eaiResponse = new FindRegBasicReturnEaiResponse_rsRecord();
commonMessage = new ResultMessage();
commonMessage = testCarCommonInfo();
eaiResponse = testCarInfo();
eaiResponse_rs[0] = eaiResponse;
logger.info("자동차관리시스템 연계 getVHRNO : " + eaiResponse_rs[0].getVHRNO());
matterVO = apicntcInfoProcess.cntcCarBasicInfoAdd(carMap, eaiResponse_rs, commonMessage);//자동차 기본사항 등록
logger.info("자동차관리시스템 연계 결과: " + matterVO);
}
}catch(RemoteException e){
logger.info("자동차관리시스템 RemoteException 연계에러 : " + e);
carMap.put("cntcResult", CommonCode.fFAIL );
carMap.put("cntcResultCode", CommonErrCodeStatus.CarRemoteExceptionError.getCode());
carMap.put("cntcMessage", CommonErrCodeStatus.CarRemoteExceptionError.getMessage());
eaiResponse_rs = new FindRegBasicReturnEaiResponse_rsRecord[1];
FindRegBasicReturnEaiResponse_rsRecord eaiResponse = new FindRegBasicReturnEaiResponse_rsRecord();
eaiResponse_rs[0] = eaiResponse;
commonMessage = new ResultMessage();
matterVO = apicntcInfoProcess.cntcCarBasicInfoAdd(carMap, eaiResponse_rs, commonMessage);//자동차 기본사항 등록
matterVO.setRESULT_MSSAGE_ID(CommonErrCodeStatus.CarRemoteExceptionError.getCode());
}catch(Exception e){
logger.info("자동차관리시스템 연계에러 : ");
carMap.put("cntcResult", CommonCode.fFAIL );
carMap.put("cntcResultCode", CommonErrCodeStatus.OtherErrors.getCode());
carMap.put("cntcMessage", "");
//Connection timed out 일시 저장할때 개체 생성안하면 오류남 무조건 null저장
eaiResponse_rs = new FindRegBasicReturnEaiResponse_rsRecord[1];
FindRegBasicReturnEaiResponse_rsRecord eaiResponse = new FindRegBasicReturnEaiResponse_rsRecord();
eaiResponse_rs[0] = eaiResponse;
commonMessage = new ResultMessage();
matterVO = apicntcInfoProcess.cntcCarBasicInfoAdd(carMap, eaiResponse_rs, commonMessage);//자동차 기본사항 등록
} finally{
// logger.info("allanCar 응답시간 : " + (System.currentTimeMillis() - startTime) / 1000 + " s");
}
return matterVO;
}
//자동차정보 조회공통임시데이터
public ResultMessage testCarCommonInfo()
{
ResultMessage commonMessage = new ResultMessage();
commonMessage.setMessageId("MSG50000");
commonMessage.setMessageName("성공");
commonMessage.setMessageReason("ok");
commonMessage.setMessageRemark("mark");
commonMessage.setExceptionStackTrace("trace");
logger.info("getMessageId : " + commonMessage.getMessageId());
return commonMessage;
}
public FindRegBasicReturnEaiResponse_rsRecord testCarInfo()
{
FindRegBasicReturnEaiResponse_rsRecord eaiResponse = new FindRegBasicReturnEaiResponse_rsRecord();
eaiResponse.setPRYE("prye");
eaiResponse.setREGIST_DE("20190527");
eaiResponse.setERSR_REGIST_SE_CODE("01");
eaiResponse.setERSR_REGIST_SE_NM("폐차");
eaiResponse.setERSR_REGIST_DE("20180515");
eaiResponse.setREGIST_DETAIL_CODE("BB");
eaiResponse.setDSPLVL("2000CC");
eaiResponse.setUSE_STRNGHLD_LEGALDONG_CODE("711111");
eaiResponse.setUSE_STRNGHLD_ADSTRD_CODE("85966544");
eaiResponse.setUSE_STRNGHLD_MNTN("11");
eaiResponse.setUSE_STRNGHLD_LNBR("");
eaiResponse.setUSE_STRNGHLD_HO("3");
eaiResponse.setUSE_STRNGHLD_ADRES_NM("종로구 빌딩");
eaiResponse.setUSE_STRNGHLD_ROAD_NM_CODE("116802000003");//사용본거지 도로명코드
eaiResponse.setUSGSRHLD_UNDGRND_BULD_SE_CODE("1");
eaiResponse.setUSE_STRNGHLD_BULD_MAIN_NO("2911");//건물본번
eaiResponse.setUSE_STRNGHLD_BULD_SUB_NO("");//건물부번
eaiResponse.setMBER_SE_CODE("11");
eaiResponse.setMBER_NM("박영수");
eaiResponse.setMBER_SE_NO("7506201");
eaiResponse.setTELNO("0285964125");
eaiResponse.setOWNER_LEGALDONG_CODE("125266333");
eaiResponse.setOWNER_ADSTRD_CODE("9856222");
eaiResponse.setOWNER_MNTN("1");
eaiResponse.setOWNER_LNBR("55");
eaiResponse.setOWNER_HO("20");
eaiResponse.setOWNER_ADRES_NM("안국동 123");
eaiResponse.setOWNER_ROAD_NM_CODE("65236");
eaiResponse.setOWNER_UNDGRND_BULD_SE_CODE("1");
eaiResponse.setOWNER_BULD_MAIN_NO("12");
eaiResponse.setOWNER_BULD_SUB_NO("3");
eaiResponse.setOWNER_ADRES_FULL("서울시 종로구 학의천12563");
eaiResponse.setAFTR_VHRNO("12호2563");
eaiResponse.setUSE_FUEL_CODE("b");//가솔린a , 경유b
eaiResponse.setPRPOS_SE_CODE("1");
eaiResponse.setMTRS_FOM_NM("가솔린");
eaiResponse.setFRNT_VHRNO("32호5286");
eaiResponse.setVHRNO("45하3138");//저감장치 장착(68주7273) 5등급: 68주7273
eaiResponse.setVIN("KNAJC52136A592693");//저감장치 장착(KNMA4C2BM9P346171) 5등급:00000000CN42C0958 KMHGM41DDHU198668 - 2등급
eaiResponse.setCNM("쏘나타");
eaiResponse.setVHCLE_TOT_WT("300kg");
eaiResponse.setCAAG_ENDDE("2012522");
eaiResponse.setCHANGE_DE("20180412");
eaiResponse.setVHCTY_ASORT_CODE("1");
eaiResponse.setVHCTY_TY_CODE("2");
eaiResponse.setVHCTY_SE_CODE("3");
eaiResponse.setMXMM_LDG("30kg");
eaiResponse.setVHCTY_ASORT_NM("국산");
eaiResponse.setVHCTY_TY_NM("화물");
eaiResponse.setVHCTY_SE_NM("분류 ");
eaiResponse.setFRST_REGIST_DE("20140125");
eaiResponse.setFOM_NM("형식");
eaiResponse.setACQS_DE("20150201");
eaiResponse.setACQS_END_DE("20170105");
eaiResponse.setYBL_MD("20020101");//제작년월일 20011231
eaiResponse.setTRANSR_REGIST_DE("20170102");
eaiResponse.setSPCF_REGIST_STTUS_CODE("34040"); //제원등록상태코드 340400(소방차) 긴급자동차
eaiResponse.setCOLOR_NM("파랑");
eaiResponse.setMRTG_CO("1");
eaiResponse.setSEIZR_CO("2");
eaiResponse.setSTMD_CO("0");
eaiResponse.setNMPL_CSDY_AT("Y");
eaiResponse.setNMPL_CSDY_REMNR_DE("20150501");
eaiResponse.setORIGIN_SE_CODE("1");
eaiResponse.setNMPL_STNDRD_CODE("2");
eaiResponse.setACQS_AMOUNT("2500000");
eaiResponse.setINSPT_VALID_PD_BGNDE("20200102");
eaiResponse.setINSPT_VALID_PD_ENDDE("20210102");
eaiResponse.setCHCK_VALID_PD_BGNDE("20220503");
eaiResponse.setCHCK_VALID_PD_ENDDE("20230809");
eaiResponse.setUSE_STRNGHLD_GRC_CODE("472k");
eaiResponse.setTKCAR_PSCAP_CO("5");
eaiResponse.setSPMNNO("85965526k");
eaiResponse.setTRVL_DSTNC("15000");
eaiResponse.setFRST_REGIST_RQRCNO("258K152663211");
eaiResponse.setVLNT_ERSR_PRVNTC_NTICE_DE("20190601");
eaiResponse.setREGIST_INSTT_NM("포항");
eaiResponse.setPROCESS_IMPRTY_RESN_CODE("00");
eaiResponse.setPROCESS_IMPRTY_RESN_DTLS("성공");
return eaiResponse;
}
}

@ -0,0 +1,150 @@
/**
* @Class Name : ECarReadngInfo.java
* @Description :
* @Version 1.0
* @Since 2019. 08. 16
* @Author
* <pre>
*
* ------- ------------- ----------------------
*
* </pre>
*/
package gtpa.fis.api.cm.service;
import java.util.HashMap;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import gtpa.fis.api.ws.car.seizure.client.CarSeizureProxy;
import gtpa.fis.api.ws.car.seizure.client.FindSeizureByVhrNoParameterEaiRequest_rsRecord;
import gtpa.fis.api.ws.car.seizure.client.FindSeizureByVhrNoReturn;
import gtpa.fis.api.ws.car.seizure.client.FindSeizureByVhrNoReturnEaiResponse_rsRecord;
import gtpa.fis.api.ws.car.client.WsRequestContext;
import gtpa.fis.api.ws.car.readng.client.CarReadngProxy;
import gtpa.fis.api.ws.car.readng.client.FindFrmrWlthReadngParameterEaiRequest_rsRecord;
import gtpa.fis.api.ws.car.readng.client.FindFrmrWlthReadngReturn;
import gtpa.fis.api.ws.car.readng.client.FindFrmrWlthReadngReturnEaiResponse_rs1Record;
import gtpa.fis.api.ws.car.readng.client.FindFrmrWlthReadngReturnEaiResponse_rsRecord;
import gtpa.fis.comm.CommonCode;
/**
* @Class Name : ECarReadngInfo.java
* @Description :
* @Since 2019. 08. 16
* @Author
* <pre>
*
* ------- ------------- ----------------------
*
* </pre>
*/
@Component
public class ECarReadngInfo {
static Logger logger = Logger.getLogger(ECarReadngInfo.class.getName());
@Value("${Globals.CarBasicInfo.Wsdl.URL.Dev}")
private String wsdlUrl;
@Value("${Globals.Car.Charger.Ihinum}")
private String chargerIhinum;
@Value("${Globals.Car.ChargercIp.Adres}")
private String chargercIpAdres;
@Value("${Globals.Car.Charger.Nm}")
private String chargerNm;
@Value("${Globals.Car.Charger.Wrc.Telno}")
private String chargerWrcTelno;
@Value("${Globals.Car.Info.Sys.Id}")
private String infoSysId;
@Value("${Globals.Car.Info.Sys.Ip}")
private String infoSysIp;
@Value("${Globals.Car.Sigungu.Code}")
private String sigunguCode;
@Value("${Globals.Car.Info.Sys.Macaddress}")
private String infoSysMacaddress;
private final String strSvcId = "A02"; // 자동차등록원부 갑부조회
@Autowired
private ApiCntcInfoProcess apicntcInfoProcess;
/**
*
*/
public FindFrmrWlthReadngReturn getECarReadngInfo(HashMap carMap)
{
// FindFrmrWlthReadngReturnEaiResponse_rsRecord[] eaiResponse_rs = null;
// FindFrmrWlthReadngReturnEaiResponse_rs1Record[] eaiResponse_rs1 = null;
// gtpa.fis.api.ws.car.client.ResultMessage commonMessage = null;
FindFrmrWlthReadngReturn rtnReadng = null;
//자동차관리시스템 wsdl
//wsdlUrl = "http://10.98.198.199:9700/lvis/services/WsFrontController";//개발(운영에서 테스트계 호출하기 위해서
String wsdlUrl = "http://auto.car.go.kr:39700/lvis/services/WsFrontController";//운영으로 기본사항조회
CommonCode.setFEcarWsdlUrl(wsdlUrl);
//logger.info("ecarWsdlUrl : " + CommonCode.getFEcarWsdlUrl());
try{
// 1. proxy 생성
CarReadngProxy proxy = new CarReadngProxy();
// 2. parameter 작성
FindFrmrWlthReadngParameterEaiRequest_rsRecord[] rsRecords = new FindFrmrWlthReadngParameterEaiRequest_rsRecord[1];
FindFrmrWlthReadngParameterEaiRequest_rsRecord rsRecord = new FindFrmrWlthReadngParameterEaiRequest_rsRecord();
rsRecord.setVHRNO((String)carMap.get("vhrno")); //차량번호
rsRecord.setONES_INFORMATION_OPEN((String)carMap.get("onesInformationOpen"));
rsRecord.setCPTTR_NM((String)carMap.get("cpttrNm"));
rsRecord.setCPTTR_IHIDNUM((String)carMap.get("cpttrIhidNum"));
rsRecord.setCPTTR_LEGALDONG_CODE((String)carMap.get("cpttrLegaldongCode"));
rsRecord.setROUTE_SE_CODE((String)carMap.get("routeSeCode"));
rsRecord.setDETAIL_EXPRESSION((String)carMap.get("detailExpression"));
rsRecord.setINQIRE_SE_CODE((String)carMap.get("inqireSeCode"));
rsRecords[0] = rsRecord;
WsRequestContext wsContext = new WsRequestContext();//모델
wsContext.setCharger_ihinum(chargerIhinum); // 담당자주민등록번호
wsContext.setCharger_ip_adres(chargercIpAdres); // 담당자IP어드레스
wsContext.setCharger_nm(chargerNm); // 담당자명
wsContext.setCharger_wrc_telno(chargerWrcTelno); // 담당자연락처
wsContext.setInfo_sys_id(infoSysId); // 정보시스템ID
wsContext.setInfo_sys_ip(infoSysIp); // 정보시스템IP
wsContext.setSigungu_code(sigunguCode); // 시군구코드
wsContext.setSvc_id(strSvcId); // 서비스ID
wsContext.setEnc_key(""); // 암호화키
wsContext.setEnc_key_group(""); // 암호화키그룹
wsContext.setEnc_key_no(""); // 암호화키번호
wsContext.setInfo_sys_macaddress(infoSysMacaddress); // 정보시스템MAC어드레스
rtnReadng = proxy.findFrmrWlthReadng(rsRecords, wsContext);
// eaiResponse_rs = rtnReadng.getEaiResponse_rs();
// eaiResponse_rs1 = rtnReadng.getEaiResponse_rs1();
// commonMessage = rtnReadng.getResultMessage();
//DB저장안함
//matterVO = apicntcInfoProcess.cntcCarBasicInfoAdd(carMap, eaiResponse_rs, commonMessage);//자동차 기본사항 등록
}catch(RuntimeException ex)
{
logger.info("에러");
}catch(Exception ex)
{
logger.info("에러");
}
return rtnReadng;
}
}

@ -0,0 +1,187 @@
/**
* @Class Name : ECarSeizureAltrtvInfo.java
* @Description : .
* @Version 1.0
* @Since 2019. 08. 16
* @Author
* <pre>
*
* ------- ------------- ----------------------
*
* </pre>
*/
package gtpa.fis.api.cm.service;
import java.rmi.RemoteException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import gtpa.fis.api.cm.service.impl.FISCARREPLCSEIZRVHCLEVO;
import gtpa.fis.api.ws.car.client.ResultMessage;
import gtpa.fis.api.ws.car.client.WsRequestContext;
import gtpa.fis.api.ws.car.seizure.reg.client.FindAltrtvSeizureVhrnoParameterEaiRequest_rsRecord;
import gtpa.fis.api.ws.car.seizure.reg.client.FindAltrtvSeizureVhrnoReturn;
import gtpa.fis.api.ws.car.seizure.reg.client.FindAltrtvSeizureVhrnoReturnEaiResponse_rsRecord;
import gtpa.fis.api.ws.car.seizure.reg.client.SeizureProxy;
import gtpa.fis.comm.CommonCode;
import gtpa.fis.comm.CommonErrCodeStatus;
/**
* @Class Name : ECarSeizureAltrtvInfo.java
* @Description : .
* @Since 2019. 08. 16
* @Author
* <pre>
*
* ------- ------------- ----------------------
*
* </pre>
*/
@Component
public class ECarSeizureAltrtvInfo {
static Logger logger = Logger.getLogger(ECarSeizureAltrtvInfo.class.getName());
@Value("${Globals.CarBasicInfo.Wsdl.URL.Dev}")
private String wsdlUrl;
@Value("${Globals.Car.Charger.Ihinum}")
private String chargerIhinum;
@Value("${Globals.Car.ChargercIp.Adres}")
private String chargercIpAdres;
@Value("${Globals.Car.Charger.Nm}")
private String chargerNm;
@Value("${Globals.Car.Charger.Wrc.Telno}")
private String chargerWrcTelno;
@Value("${Globals.Car.Info.Sys.Id}")
private String infoSysId;
@Value("${Globals.Car.Info.Sys.Ip}")
private String infoSysIp;
@Value("${Globals.Car.Sigungu.Code}")
private String sigunguCode;
@Value("${Globals.Car.Info.Sys.Macaddress}")
private String infoSysMacaddress;
private final String strSvcId = "B03"; //대체압류차량
@Autowired
private ApiCntcInfoProcess apicntcInfoProcess;
/**
*
*/
public List<FISCARREPLCSEIZRVHCLEVO> getECarSeizureAltrtvInfo(HashMap carMap)
{
FindAltrtvSeizureVhrnoReturnEaiResponse_rsRecord[] eaiResponse_rs = null;
gtpa.fis.api.ws.car.client.ResultMessage commonMessage = null;
List<FISCARREPLCSEIZRVHCLEVO> seizureVO = new ArrayList<FISCARREPLCSEIZRVHCLEVO>();
//자동차관리시스템 wsdl
//wsdlUrl = "http://10.98.198.199:9700/lvis/services/WsFrontController";//개발(운영에서 테스트계 호출하기 위해서
String wsdlUrl = "http://auto.car.go.kr:39700/lvis/services/WsFrontController";//운영으로 기본사항조회
CommonCode.setFEcarWsdlUrl(wsdlUrl);
//logger.info("ecarWsdlUrl : " + CommonCode.getFEcarWsdlUrl());
try{
// 1. proxy 생성
SeizureProxy proxy = new SeizureProxy();
// 2. parameter 작성
FindAltrtvSeizureVhrnoParameterEaiRequest_rsRecord[] rsRecords = new FindAltrtvSeizureVhrnoParameterEaiRequest_rsRecord[1];
FindAltrtvSeizureVhrnoParameterEaiRequest_rsRecord rsRecord = new FindAltrtvSeizureVhrnoParameterEaiRequest_rsRecord();
//rsRecord.setVHRNO((String)carMap.get("vhrno"));//차량번호 1바이트 확인요
rsRecord.setVHRNO("");//차량번호 입력 시 대체차량번호 못 가져와서 없는 값으로 처리
rsRecord.setIHIDNUM((String)carMap.get("ihidNum"));//대표소유자주민번호
rsRecords[0] = rsRecord;
WsRequestContext wsContext = new WsRequestContext();//모델
wsContext.setCharger_ihinum(chargerIhinum); // 담당자주민등록번호
wsContext.setCharger_ip_adres(chargercIpAdres); // 담당자IP어드레스
wsContext.setCharger_nm(chargerNm); // 담당자명
wsContext.setCharger_wrc_telno(chargerWrcTelno); // 담당자연락처
wsContext.setInfo_sys_id(infoSysId); // 정보시스템ID
wsContext.setInfo_sys_ip(infoSysIp); // 정보시스템IP
wsContext.setSigungu_code(sigunguCode); // 시군구코드
wsContext.setSvc_id(strSvcId); // 서비스ID
wsContext.setEnc_key(""); // 암호화키
wsContext.setEnc_key_group(""); // 암호화키그룹
wsContext.setEnc_key_no(""); // 암호화키번호
wsContext.setInfo_sys_macaddress(infoSysMacaddress); // 정보시스템MAC어드레스
carMap.put("chargerIhinum", chargerIhinum);
carMap.put("chargercIpAdres", chargercIpAdres);
carMap.put("chargerNm", chargerNm);
carMap.put("chargerWrcTelno", chargerWrcTelno);
carMap.put("infoSysId", infoSysId);
carMap.put("infoSysIp", infoSysIp);
carMap.put("sigunguCode", sigunguCode);
carMap.put("svcId", strSvcId);
carMap.put("infoSysMacaddress", infoSysMacaddress);
if(true){
FindAltrtvSeizureVhrnoReturn rtnSeizure = proxy.findAltrtvSeizureVhrno(rsRecords, wsContext);
eaiResponse_rs = rtnSeizure.getEaiResponse_rs();
commonMessage = rtnSeizure.getResultMessage();
//logger.info("eaiResponse_rs.length : " + eaiResponse_rs.length);
seizureVO = apicntcInfoProcess.cntcCarSeizureAltrtvInfo(carMap, eaiResponse_rs, commonMessage);//대체압류차량조회
}else{
eaiResponse_rs = new FindAltrtvSeizureVhrnoReturnEaiResponse_rsRecord[1];
FindAltrtvSeizureVhrnoReturnEaiResponse_rsRecord eaiResponse = new FindAltrtvSeizureVhrnoReturnEaiResponse_rsRecord();
commonMessage = new ResultMessage();
//commonMessage = testCarCommonInfo();
//eaiResponse = testCarInfo();
//eaiResponse_rs[0] = eaiResponse;
//logger.info("자동차관리시스템 연계 getVHRNO : " + eaiResponse_rs[0].getVHRNO());
//matterVO = apicntcInfoProcess.cntcCarBasicInfoAdd(carMap, eaiResponse_rs, commonMessage);//대체압류차량조회
//logger.info("자동차관리시스템 연계 결과: " + matterVO);
}
}catch(RemoteException e){
logger.info("자동차관리시스템 RemoteException 연계에러 : " + e);
carMap.put("cntcResult", CommonCode.fFAIL );
carMap.put("cntcResultCode", CommonErrCodeStatus.CarRemoteExceptionError.getCode());
carMap.put("cntcMessage", CommonErrCodeStatus.CarRemoteExceptionError.getMessage());
eaiResponse_rs = new FindAltrtvSeizureVhrnoReturnEaiResponse_rsRecord[1];
FindAltrtvSeizureVhrnoReturnEaiResponse_rsRecord eaiResponse = new FindAltrtvSeizureVhrnoReturnEaiResponse_rsRecord();
eaiResponse_rs[0] = eaiResponse;
commonMessage = new ResultMessage();
commonMessage.setMessageId("9999");
commonMessage.setMessageReason(e.getMessage());
seizureVO = apicntcInfoProcess.cntcCarSeizureAltrtvInfo(carMap, eaiResponse_rs, commonMessage);//대체압류차량조회
}catch(Exception e){
logger.info("자동차관리시스템 대체압류차량 연계에러 : " + e);
//Connection timed out 일시 저장할때 개체 생성안하면 오류남 무조건 null저장
carMap.put("cntcResult", CommonCode.fFAIL );
carMap.put("cntcResultCode", CommonErrCodeStatus.OtherErrors.getCode());
carMap.put("cntcMessage", "");
eaiResponse_rs = new FindAltrtvSeizureVhrnoReturnEaiResponse_rsRecord[1];
FindAltrtvSeizureVhrnoReturnEaiResponse_rsRecord eaiResponse = new FindAltrtvSeizureVhrnoReturnEaiResponse_rsRecord();
eaiResponse_rs[0] = eaiResponse;
commonMessage = new ResultMessage();
commonMessage.setMessageId("9999");
commonMessage.setMessageReason(e.getMessage());
seizureVO = apicntcInfoProcess.cntcCarSeizureAltrtvInfo(carMap, eaiResponse_rs, commonMessage);//대체압류차량조회
}
return seizureVO;
}
}

@ -0,0 +1,183 @@
/**
* @Class Name : ECarSeizureInfo.java
* @Description : .
* @Version 1.0
* @Since 2019. 08. 16
* @Author
* <pre>
*
* ------- ------------- ----------------------
*
* </pre>
*/
package gtpa.fis.api.cm.service;
import java.net.URL;
import java.rmi.RemoteException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import gtpa.fis.api.ws.car.seizure.client.CarSeizureProxy;
import gtpa.fis.api.ws.car.seizure.client.FindSeizureByVhrNoParameterEaiRequest_rsRecord;
import gtpa.fis.api.ws.car.seizure.client.FindSeizureByVhrNoReturn;
import gtpa.fis.api.ws.car.seizure.client.FindSeizureByVhrNoReturnEaiResponse_rsRecord;
import gtpa.fis.api.cm.service.impl.FISCARSEIZRDTLSVO;
import gtpa.fis.api.ws.car.client.ResultMessage;
import gtpa.fis.api.ws.car.client.WsRequestContext;
import gtpa.fis.comm.CommonCode;
import gtpa.fis.comm.CommonErrCodeStatus;
/**
* @Class Name : ECarSeizureInfo.java
* @Description : .
* @Since 2019. 08. 16
* @Author
* <pre>
*
* ------- ------------- ----------------------
*
* </pre>
*/
@Component
public class ECarSeizureInfo {
static Logger logger = Logger.getLogger(ECarSeizureInfo.class.getName());
@Value("${Globals.CarBasicInfo.Wsdl.URL.Dev}")
private String wsdlUrl;
@Value("${Globals.Car.Charger.Ihinum}")
private String chargerIhinum;
@Value("${Globals.Car.ChargercIp.Adres}")
private String chargercIpAdres;
@Value("${Globals.Car.Charger.Nm}")
private String chargerNm;
@Value("${Globals.Car.Charger.Wrc.Telno}")
private String chargerWrcTelno;
@Value("${Globals.Car.Info.Sys.Id}")
private String infoSysId;
@Value("${Globals.Car.Info.Sys.Ip}")
private String infoSysIp;
@Value("${Globals.Car.Sigungu.Code}")
private String sigunguCode;
@Value("${Globals.Car.Info.Sys.Macaddress}")
private String infoSysMacaddress;
private final String strSvcId = "B01"; //압류내역 조회
@Autowired
private ApiCntcInfoProcess apicntcInfoProcess;
//private static final QName SERVICE_NAME = new QName("componentNs:carseizure.reg.service.lvis/service.reg.CarSeizure", "CarSeizureService");
/**
*
*/
public List<FISCARSEIZRDTLSVO> getECarSeizureInfo(HashMap carMap)
{
FindSeizureByVhrNoReturnEaiResponse_rsRecord[] eaiResponse_rs = null;
gtpa.fis.api.ws.car.client.ResultMessage commonMessage = null;
List<FISCARSEIZRDTLSVO> seizrDtlsVO = new ArrayList<FISCARSEIZRDTLSVO>();
//자동차관리시스템 wsdl
//wsdlUrl = "http://10.98.198.199:9700/lvis/services/WsFrontController";//개발(운영에서 테스트계 호출하기 위해서
String wsdlUrl = "http://auto.car.go.kr:39700/lvis/services/WsFrontController";//운영으로 기본사항조회
CommonCode.setFEcarWsdlUrl(wsdlUrl);
//logger.info("ecarWsdlUrl : " + CommonCode.getFEcarWsdlUrl());
try{
// 1. proxy 생성
CarSeizureProxy proxy = new CarSeizureProxy();
// 2. parameter 작성
FindSeizureByVhrNoParameterEaiRequest_rsRecord[] rsRecords = new FindSeizureByVhrNoParameterEaiRequest_rsRecord[1];
FindSeizureByVhrNoParameterEaiRequest_rsRecord rsRecord = new FindSeizureByVhrNoParameterEaiRequest_rsRecord();
rsRecord.setINQIRE_SE_CODE((String)carMap.get("inqireSeCode"));//차량번호
rsRecord.setVHRNO((String)carMap.get("vhrno"));
rsRecord.setDETAIL_EXPRESSION((String)carMap.get("detailExpression"));
rsRecords[0] = rsRecord;
WsRequestContext wsContext = new WsRequestContext();//모델
wsContext.setCharger_ihinum(chargerIhinum); // 담당자주민등록번호
wsContext.setCharger_ip_adres(chargercIpAdres); // 담당자IP어드레스
wsContext.setCharger_nm(chargerNm); // 담당자명
wsContext.setCharger_wrc_telno(chargerWrcTelno); // 담당자연락처
wsContext.setInfo_sys_id(infoSysId); // 정보시스템ID
wsContext.setInfo_sys_ip(infoSysIp); // 정보시스템IP
wsContext.setSigungu_code(sigunguCode); // 시군구코드
wsContext.setSvc_id(strSvcId); // 서비스ID
wsContext.setEnc_key(""); // 암호화키
wsContext.setEnc_key_group(""); // 암호화키그룹
wsContext.setEnc_key_no(""); // 암호화키번호
wsContext.setInfo_sys_macaddress(infoSysMacaddress); // 정보시스템MAC어드레스
carMap.put("chargerIhinum", chargerIhinum);
carMap.put("chargercIpAdres", chargercIpAdres);
carMap.put("chargerNm", chargerNm);
carMap.put("chargerWrcTelno", chargerWrcTelno);
carMap.put("infoSysId", infoSysId);
carMap.put("infoSysIp", infoSysIp);
carMap.put("sigunguCode", sigunguCode);
carMap.put("svcId", strSvcId);
carMap.put("infoSysMacaddress", infoSysMacaddress);
if(true){
FindSeizureByVhrNoReturn regBasicRtn = proxy.findSeizureByVhrNo(rsRecords, wsContext);
eaiResponse_rs = regBasicRtn.getEaiResponse_rs();
commonMessage = regBasicRtn.getResultMessage();
//logger.info("eaiResponse_rs.length : " + eaiResponse_rs.length);
seizrDtlsVO = apicntcInfoProcess.cntcCarSeizureInfo(carMap, eaiResponse_rs, commonMessage);//압류내역조회
}else{
eaiResponse_rs = new FindSeizureByVhrNoReturnEaiResponse_rsRecord[1];
FindSeizureByVhrNoReturnEaiResponse_rsRecord eaiResponse = new FindSeizureByVhrNoReturnEaiResponse_rsRecord();
commonMessage = new ResultMessage();
//commonMessage = testCarCommonInfo();
//eaiResponse = testCarInfo();
//eaiResponse_rs[0] = eaiResponse;
//logger.info("자동차관리시스템 연계 getVHRNO : " + eaiResponse_rs[0].getVHRNO());
//matterVO = apicntcInfoProcess.cntcCarBasicInfoAdd(carMap, eaiResponse_rs, commonMessage);//대체압류차량조회
//logger.info("자동차관리시스템 연계 결과: " + matterVO);
}
}catch(RemoteException e){
logger.info("자동차관리시스템 RemoteException 연계에러 : " + e);
carMap.put("cntcResult", CommonCode.fFAIL );
carMap.put("cntcResultCode", CommonErrCodeStatus.CarRemoteExceptionError.getCode());
carMap.put("cntcMessage", CommonErrCodeStatus.CarRemoteExceptionError.getMessage());
eaiResponse_rs = new FindSeizureByVhrNoReturnEaiResponse_rsRecord[1];
FindSeizureByVhrNoReturnEaiResponse_rsRecord eaiResponse = new FindSeizureByVhrNoReturnEaiResponse_rsRecord();
eaiResponse_rs[0] = eaiResponse;
commonMessage = new ResultMessage();
seizrDtlsVO = apicntcInfoProcess.cntcCarSeizureInfo(carMap, eaiResponse_rs, commonMessage);//압류내역조회
} catch(Exception e){
logger.info("자동차관리시스템 압류내역조회 연계에러 : " );
carMap.put("cntcResult", CommonCode.fFAIL );
carMap.put("cntcResultCode", CommonErrCodeStatus.OtherErrors.getCode());
carMap.put("cntcMessage", "");
eaiResponse_rs = new FindSeizureByVhrNoReturnEaiResponse_rsRecord[1];
FindSeizureByVhrNoReturnEaiResponse_rsRecord eaiResponse = new FindSeizureByVhrNoReturnEaiResponse_rsRecord();
eaiResponse_rs[0] = eaiResponse;
commonMessage = new ResultMessage();
seizrDtlsVO = apicntcInfoProcess.cntcCarSeizureInfo(carMap, eaiResponse_rs, commonMessage);//압류내역조회
}
return seizrDtlsVO;
}
}

@ -0,0 +1,206 @@
/**
* @Class Name : ECarSeizureReg.java
* @Description : .
* @Version 1.0
* @Since 2019. 08. 16
* @Author
* <pre>
*
* ------- ------------- ----------------------
*
* </pre>
*/
package gtpa.fis.api.cm.service;
import java.rmi.RemoteException;
import java.util.HashMap;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import gtpa.fis.api.cm.service.impl.FISCARSEIZRVO;
import gtpa.fis.api.ws.car.client.ResultMessage;
import gtpa.fis.api.ws.car.client.WsRequestContext;
import gtpa.fis.api.ws.car.seizure.reg.client.AddAutoSeizureByEttffParameterEaiRequest_rsRecord;
import gtpa.fis.api.ws.car.seizure.reg.client.AddAutoSeizureByEttffReturn;
import gtpa.fis.api.ws.car.seizure.reg.client.AddAutoSeizureByEttffReturnEaiResponse_rsRecord;
import gtpa.fis.api.ws.car.seizure.reg.client.SeizureProxy;
import gtpa.fis.comm.CommonCode;
import gtpa.fis.comm.CommonErrCodeStatus;
/**
* @Class Name : ECarSeizureReg.java
* @Description : .
* @Since 2019. 08. 16
* @Author
* <pre>
*
* ------- ------------- ----------------------
*
* </pre>
*/
@Component
public class ECarSeizureReg {
static Logger logger = Logger.getLogger(ECarSeizureReg.class.getName());
@Value("${Globals.CarBasicInfo.Wsdl.URL.Dev}")
private String wsdlUrl;
@Value("${Globals.Car.Charger.Ihinum}")
private String chargerIhinum;
@Value("${Globals.Car.ChargercIp.Adres}")
private String chargercIpAdres;
@Value("${Globals.Car.Charger.Nm}")
private String chargerNm;
@Value("${Globals.Car.Charger.Wrc.Telno}")
private String chargerWrcTelno;
@Value("${Globals.Car.Info.Sys.Id}")
private String infoSysId;
@Value("${Globals.Car.Info.Sys.Ip}")
private String infoSysIp;
@Value("${Globals.Car.Sigungu.Code}")
private String sigunguCode;
@Value("${Globals.Car.Info.Sys.Macaddress}")
private String infoSysMacaddress;
private final String strSvcId = "B02"; //압류연계등록
@Autowired
private ApiCntcInfoProcess apicntcInfoProcess;
/**
*
*/
public FISCARSEIZRVO getECarSeizureReg(HashMap carMap)
{
AddAutoSeizureByEttffReturnEaiResponse_rsRecord[] eaiResponse_rs = null;
gtpa.fis.api.ws.car.client.ResultMessage commonMessage = null;
FISCARSEIZRVO seizrVO = new FISCARSEIZRVO();
//wsdlUrl = "http://10.98.198.199:9700/lvis/services/WsFrontController";//개발(운영에서 테스트계 호출하기 위해서
String wsdlUrl = "http://auto.car.go.kr:39700/lvis/services/WsFrontController";//운영으로 기본사항조회
CommonCode.setFEcarWsdlUrl(wsdlUrl);
//logger.info("ecarWsdlUrl : " + CommonCode.getFEcarWsdlUrl());
try{
// 1. proxy 생성
SeizureProxy proxy = new SeizureProxy();
// 2. parameter 작성
AddAutoSeizureByEttffParameterEaiRequest_rsRecord[] rsRecords = new AddAutoSeizureByEttffParameterEaiRequest_rsRecord[1];
AddAutoSeizureByEttffParameterEaiRequest_rsRecord rsRecord = new AddAutoSeizureByEttffParameterEaiRequest_rsRecord();
rsRecord.setVHRNO((String) carMap.get("vhrno"));//차량번호
rsRecord.setUSR_MBER_NM((String) carMap.get("usrMberNm"));//소유자명
rsRecord.setUSR_MBER_NO((String) carMap.get("usrMberNo"));//소유자주민번호
rsRecord.setSEIZR_REGIST_SE_CODE((String) carMap.get("seizrRegistSeCode"));//압류등록구분코드
rsRecord.setOFLDC_NO((String) carMap.get("ofldcNo"));//압류공문서번호
rsRecord.setETTFF_GRC_NM((String) carMap.get("ettffGrcNm"));//압류촉탁기관명
rsRecord.setSEIZR_DT((String) carMap.get("seizrDt"));//압류촉탁일, 압류상태코드가 '0' 일경우에는 압류촉탁일, '1'일경우에는 압류해제촉탁일
rsRecord.setREG_DT((String) carMap.get("regDt"));//압류촉탁등록일, 압류상태코드가 '0' 일경우에는 압류촉탁등록일, '1'일경우에는 압류해제촉탁등록일
rsRecord.setSEIZR_DTLS((String) carMap.get("seizrDtls"));//압류내역
rsRecord.setSEIZR_AMOUNT((String) carMap.get("seizrAmount"));//압류금액
rsRecord.setETTFF_GRC_TELNO((String) carMap.get("ettffGrcTelno"));//촉탁기관전화번호
rsRecord.setREG_LEGALDONG_CODE((String) carMap.get("regLegaldongCode"));//등록권리자법정동코드
rsRecord.setREG_ADSTRD_CODE((String) carMap.get("regAdstrdCode"));//등록권리자행정동코드
rsRecord.setREG_MNTN((String) carMap.get("regMntn"));//등록권리자 산
rsRecord.setREG_LNBR((String) carMap.get("regLnbr"));//등록권리자 번지
rsRecord.setREG_HO((String) carMap.get("regHo"));//등록권리자 호
rsRecord.setREG_ADRES_NM((String) carMap.get("regAdresNm"));//등록권리자 상세주소
rsRecord.setREG_ROAD_NM_CODE((String) carMap.get("regRoadNmCode"));//등록권리자 도로명코드
rsRecord.setREG_UNDGRND_BULD_SE_CODE((String) carMap.get("regUndgrndBuldSeCode"));//등록권리자지하건물구분코드 1:지하건물
rsRecord.setREG_BULD_MAIN_NO((String) carMap.get("regBuldMainNo"));//등록권리자건물주요번호
rsRecord.setREG_BULD_SUB_NO((String) carMap.get("regBuldSubNo"));//등록권리자건물부번호
rsRecord.setREG_MBER_NM((String) carMap.get("regMberNm"));//등록권리자성명
rsRecord.setREG_MBER_NO((String) carMap.get("regMberNo")); //등록권리자주민번호
rsRecord.setSEIZR_REQUST_SE_CODE((String) carMap.get("seizrRequstSeCode"));//압류요청구분코드, 압류등록관청 법정동 코드 또는 연계기관코드
rsRecord.setSEIZR_SE_CODE((String) carMap.get("seizrSeCode"));//압류구분코드 fixed "1" -->압류
rsRecord.setSEIZR_STTUS_CODE((String) carMap.get("seizrSttusCode"));//압류상태코드 0:압류, 1:압류해제
rsRecord.setNTIC_NO((String) carMap.get("nticNo"));//고지번호
rsRecord.setSEIZR_MANAGE_NO((String) carMap.get("seizrManageNo"));//압류관리번호
rsRecord.setSEIZR_ETTFF_GRC_CODE((String) carMap.get("seizrEttffGrcCode")); //압류촉탁기관코드 'AW0'으로 fix
rsRecords[0] = rsRecord;
WsRequestContext wsContext = new WsRequestContext();//모델
wsContext.setCharger_ihinum(chargerIhinum); // 담당자주민등록번호
wsContext.setCharger_ip_adres(chargercIpAdres); // 담당자IP어드레스
wsContext.setCharger_nm(chargerNm); // 담당자명
wsContext.setCharger_wrc_telno(chargerWrcTelno); // 담당자연락처
wsContext.setInfo_sys_id(infoSysId); // 정보시스템ID
wsContext.setInfo_sys_ip(infoSysIp); // 정보시스템IP
wsContext.setSigungu_code(sigunguCode); // 시군구코드
wsContext.setSvc_id(strSvcId); // 서비스ID
wsContext.setEnc_key(""); // 암호화키
wsContext.setEnc_key_group(""); // 암호화키그룹
wsContext.setEnc_key_no(""); // 암호화키번호
wsContext.setInfo_sys_macaddress(infoSysMacaddress); // 정보시스템MAC어드레스
carMap.put("chargerIhinum", chargerIhinum);
carMap.put("chargercIpAdres", chargercIpAdres);
carMap.put("chargerNm", chargerNm);
carMap.put("chargerWrcTelno", chargerWrcTelno);
carMap.put("infoSysId", infoSysId);
carMap.put("infoSysIp", infoSysIp);
carMap.put("sigunguCode", sigunguCode);
carMap.put("svcId", strSvcId);
carMap.put("infoSysMacaddress", infoSysMacaddress);
if(true){
AddAutoSeizureByEttffReturn rtnSeizure = proxy.addAutoSeizureByEttff(rsRecords, wsContext);
eaiResponse_rs = rtnSeizure.getEaiResponse_rs();
commonMessage = rtnSeizure.getResultMessage();
//logger.info("eaiResponse_rs.length : " + eaiResponse_rs.length);
seizrVO = apicntcInfoProcess.cntcCarSeizureReg(carMap, eaiResponse_rs, commonMessage);//압류등록
}else{
eaiResponse_rs = new AddAutoSeizureByEttffReturnEaiResponse_rsRecord[1];
AddAutoSeizureByEttffReturnEaiResponse_rsRecord eaiResponse = new AddAutoSeizureByEttffReturnEaiResponse_rsRecord();
commonMessage = new ResultMessage();
//commonMessage = testCarCommonInfo();
//eaiResponse = testCarInfo();
//eaiResponse_rs[0] = eaiResponse;
//logger.info("자동차관리시스템 연계 getVHRNO : " + eaiResponse_rs[0].getVHRNO());
//matterVO = apicntcInfoProcess.cntcCarBasicInfoAdd(carMap, eaiResponse_rs, commonMessage);//압류등록
//logger.info("자동차관리시스템 연계 결과: " + matterVO);
}
} catch(RemoteException e){
logger.info("자동차관리시스템 RemoteException 연계에러 : " + e);
carMap.put("cntcResult", CommonCode.fFAIL );
carMap.put("cntcResultCode", CommonErrCodeStatus.CarRemoteExceptionError.getCode());
carMap.put("cntcMessage", CommonErrCodeStatus.CarRemoteExceptionError.getMessage());
eaiResponse_rs = new AddAutoSeizureByEttffReturnEaiResponse_rsRecord[1];
AddAutoSeizureByEttffReturnEaiResponse_rsRecord eaiResponse = new AddAutoSeizureByEttffReturnEaiResponse_rsRecord();
eaiResponse_rs[0] = eaiResponse;
commonMessage = new ResultMessage();
eaiResponse_rs[0].setPROCESS_IMPRTY_RESN_DTLS("");
seizrVO = apicntcInfoProcess.cntcCarSeizureReg(carMap, eaiResponse_rs, commonMessage);//압류등록
} catch(Exception e){
logger.info("자동차관리시스템 압류등록 연계에러 : " );
carMap.put("cntcResult", CommonCode.fFAIL );
carMap.put("cntcResultCode", CommonErrCodeStatus.OtherErrors.getCode());
carMap.put("cntcMessage", "");
eaiResponse_rs = new AddAutoSeizureByEttffReturnEaiResponse_rsRecord[1];
AddAutoSeizureByEttffReturnEaiResponse_rsRecord eaiResponse = new AddAutoSeizureByEttffReturnEaiResponse_rsRecord();
eaiResponse_rs[0] = eaiResponse;
commonMessage = new ResultMessage();
eaiResponse_rs[0].setPROCESS_IMPRTY_RESN_DTLS("");
seizrVO = apicntcInfoProcess.cntcCarSeizureReg(carMap, eaiResponse_rs, commonMessage);//압류등록
}
return seizrVO;
}
}

@ -0,0 +1,979 @@
/**
* @Class Name : EPostSend.java
* @Description :
* @Version 1.0
* @Since 2019. 11. 27
* @Author
* <pre>
*
* ------- ------------- ----------------------
*
* </pre>
*/
package gtpa.fis.api.cm.service;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.StandardCopyOption;
import java.util.HashMap;
import java.util.List;
import javax.annotation.Resource;
import org.apache.commons.compress.archivers.zip.ZipArchiveEntry;
import org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream;
import org.apache.commons.lang3.StringUtils;
import org.apache.log4j.Logger;
import org.hsqldb.lib.StringUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import com.clipsoft.lowagie.text.pdf.OutputStreamCounter;
import com.clipsoft.org.apache.commons.io.FileUtils;
import gtpa.fis.api.cm.service.impl.EPostCntcSendVO;
import gtpa.fis.api.cm.service.impl.FISEPOSTCNTCREQUSTVO;
import gtpa.fis.comm.CommonCode;
import gtpa.fis.comm.CommonErrCodeStatus;
import gtpa.fis.comm.CommonProperties;
import gtpa.fis.comm.CommonUtil;
import gtpa.fis.comm.FtpUtil;
import gtpa.fis.comm.TraceToRouteFileService;
import gtpa.fis.comm.CommonCode.CommonCodeStatus;
/**
* @Class Name : EPostSend.java
* @Description :
* @Since 2019. 11. 27
* @Author
* <pre>
*
* ------- ------------- ----------------------
*
* </pre>
*/
@Component
public class EPostSend {
static Logger logger = Logger.getLogger(EPostSend.class.getName());
@Resource(name = "apiepostService")
private ApiEPostService apiepostService;
@Autowired
private RegltImageSave regltImageSave;
@Autowired
private FtpUtil ftpUtil;
private CommonProperties commonProperties;
@Autowired
public EPostSend(CommonProperties commonProperties)
{
this.commonProperties = commonProperties;
commonProperties.initEpostCommonProperties();
}
public HashMap<String, Object> sendEPost(){
HashMap<String, Object> rtnMap = new HashMap<>();
FISEPOSTCNTCREQUSTVO rtnepostcntcrequstVO = new FISEPOSTCNTCREQUSTVO();
String strMethodName = "EPost";
String strLogFileName = strMethodName + "_" +CommonUtil.getToDayMiss()+".log";
String strLogMessage=null;
String strExtrlCntcIdntfcNo = null; //외부연계식별번호
String strEPostRceptTrnsmisDe = null;//전송일자
String strEPostRceptTrnsmisTime = null;//전송시간
//테스트용
if(!true){
//String strFtpFileName = commonProperties.getStrEPostFirstFileNm()+strExtrlCntcIdntfcNo+".zip"; //압축파일명
//String strSaveDirPathZip = strSaveDirPathImg+".zip"; //압축파일
String strFtpFileName3 = "LGRDFB$0009900002W120191125116005.zip"; //압축파일명
String strSaveDirPathZip3 = "/was_data/FIS/EPOST/LGRDFB$0009900002W120191125116005.zip"; //압축파일
logger.info("strFtpFileName : " + strFtpFileName3);
logger.info("strSaveDirPathZip : " + strSaveDirPathZip3);
HashMap<String, Object> rtnResultChMap3 = ftpUtil.ftpFileUpLoad(commonProperties.getEpostFtpIp()
, commonProperties.getEpostFtpId()
, commonProperties.getEpostFtpPw()
, commonProperties.getEpostFtpPort()
, strFtpFileName3
, strSaveDirPathZip3
, commonProperties.getEpostDir()
);
// String strFtpFileName2 = commonProperties.getStrEPostFirstFileNm()+strExtrlCntcIdntfcNo+".txt"; //txt파일명
// String strSaveDirPathZip2 = strSaveDirPathImg+"txt"; //txt파일
String strFtpFileName4 = "LGRDFB$0009900002W120191125116005.txt"; //txt파일명
String strSaveDirPathZip4 = "/was_data/FIS/EPOST/LGRDFB$0009900002W120191125116005.txt"; //txt파일
logger.info("strFtpFileName2 : " + strFtpFileName4);
logger.info("strSaveDirPathZip2 : " + strSaveDirPathZip4);
HashMap<String, Object> rtnResultChMap4 = ftpUtil.ftpFileUpLoad(commonProperties.getEpostFtpIp()
, commonProperties.getEpostFtpId()
, commonProperties.getEpostFtpPw()
, commonProperties.getEpostFtpPort()
, strFtpFileName4
, strSaveDirPathZip4
, commonProperties.getEpostDir()
);
}
List<EPostCntcSendVO> rtnepostcntcsendVO = null;
String strSaveDirPathImg=null;
if(true){
try{
rtnepostcntcrequstVO = apiepostService.selectEPostCntcRequst();
logger.info("연계자료내역 조회 시작:" + rtnepostcntcrequstVO);
strLogMessage = "epost전송시작";
TraceToRouteFileService.writeBatchMessage(strMethodName, strLogMessage, strLogFileName);
}catch(RuntimeException e){
logger.info("allanpost e : " + e);
strLogMessage = "연계자료내역 조회 에러";
TraceToRouteFileService.writeBatchMessage(strMethodName, strLogMessage, strLogFileName);
rtnMap.put(CommonCode.fResult, CommonCode.fFAIL);
rtnMap.put(CommonCode.fResultCode, CommonErrCodeStatus.OtherErrors.getCode());
rtnMap.put(CommonCode.fResultMessage, CommonErrCodeStatus.OtherErrors.getMessage());
return rtnMap;
}catch(Exception e){
logger.info("allanpost e : " + e);
strLogMessage = "연계자료내역 조회 에러";
TraceToRouteFileService.writeBatchMessage(strMethodName, strLogMessage, strLogFileName);
rtnMap.put(CommonCode.fResult, CommonCode.fFAIL);
rtnMap.put(CommonCode.fResultCode, CommonErrCodeStatus.OtherErrors.getCode());
rtnMap.put(CommonCode.fResultMessage, CommonErrCodeStatus.OtherErrors.getMessage());
return rtnMap;
}
if(rtnepostcntcrequstVO == null){
rtnMap.put(CommonCode.fResult, CommonCode.fFAIL);
rtnMap.put(CommonCode.fResultCode, CommonErrCodeStatus.OtherErrors.getCode());
rtnMap.put(CommonCode.fResultMessage, "조회된 연계자료 내역이 없습니다.");
return rtnMap;
}
//이미지copy
int iImageErrorCopyCnt = 0; //이미지 copy시 에러건수
//전송할 내역조회
EPostCntcSendVO epostcntcsendVO = new EPostCntcSendVO();
epostcntcsendVO.setSETLE_DEPT_CODE_IN(rtnepostcntcrequstVO.getSETLE_DEPT_CODE());
epostcntcsendVO.setHR_REPLC_KEY(rtnepostcntcrequstVO.getHR_REPLC_KEY());
epostcntcsendVO.setPSTMTR_TY_CODE(rtnepostcntcrequstVO.getPSTMTR_TY_CODE());
epostcntcsendVO.setE_POST_CNTC_REQUST_DE(rtnepostcntcrequstVO.getE_POST_CNTC_REQUST_DE());
epostcntcsendVO.setE_POST_CNTC_REQUST_SN(rtnepostcntcrequstVO.getE_POST_CNTC_REQUST_SN());
rtnepostcntcsendVO = apiepostService.selectEPostCntcSend(epostcntcsendVO);
if(rtnepostcntcsendVO.size()==0){
rtnMap.put(CommonCode.fResult, CommonCode.fFAIL);
rtnMap.put(CommonCode.fResultCode, CommonErrCodeStatus.OtherErrors.getCode());
rtnMap.put(CommonCode.fResultMessage, "조회된 연계자료상세 내역이 없습니다.");
return rtnMap;
}
strExtrlCntcIdntfcNo = rtnepostcntcsendVO.get(0).getEXTRL_CNTC_IDNTFC_NO();
strEPostRceptTrnsmisDe = rtnepostcntcsendVO.get(0).getSEND_DATE();
strEPostRceptTrnsmisTime = rtnepostcntcsendVO.get(0).getSEND_DATE();
logger.info("외부 연계 식별 번호 : strExtrlCntcIdntfcNo " + strExtrlCntcIdntfcNo);
strSaveDirPathImg = commonProperties.getStrEPostSendLocalStorage()+commonProperties.getStrEPostFirstFileNm()+strExtrlCntcIdntfcNo ;//이미지 저장할 폴더 경로
String strSaveDirPathTxt = null; //txt경로명
String strSaveDirPathZip = null; //zip경로명
File saveDirImgFile = TraceToRouteFileService.checkFileDirectory ( strSaveDirPathImg );
if("V".equals(epostcntcsendVO.getPSTMTR_TY_CODE().substring(0,1))){ //V시각하는애들만 이미지 COPY
//이미지 COPY
strLogMessage = "이미지 copy시작" ;
TraceToRouteFileService.writeBatchMessage(strMethodName, strLogMessage, strLogFileName);
for(int i=0; i<rtnepostcntcsendVO.size(); i++){
FISEPOSTCNTCREQUSTVO fisepostcntcrequstVO = new FISEPOSTCNTCREQUSTVO();
fisepostcntcrequstVO.setREGLT_ID(rtnepostcntcsendVO.get(i).getREGLT_ID());
logger.info("allanepost : rtnepostcntcsendVO.get(i).getREGLT_ID()" + rtnepostcntcsendVO.get(i).getREGLT_ID());
//단속ID로 이미지 경로 조회
FISEPOSTCNTCREQUSTVO regltImageVO = apiepostService.selectEPostRegltImage(fisepostcntcrequstVO);
String strNopleImageCours = regltImageVO.getNOPLT_IMAGE_COURS();//번호판이미지
String strVhcleImageCours = regltImageVO.getVHCLE_IMAGE_COURS();//마스킹이미지
logger.info("allanepost : strNopleImageCours" + strNopleImageCours);
logger.info("allanepost : strVhcleImageCours" + strVhcleImageCours);
String strCPVhcleImageCours = "P"+CommonCodeStatus.SignguCode_00007_11000.getCode()+rtnepostcntcsendVO.get(i).getREGLT_ID()+"A.jpg";//P + SIGNGU_CODE + REGLT_ID + A.jpg
FileInputStream fis = null;
FileOutputStream fos = null;
try {
File oriFile = new File(strVhcleImageCours); //마스킹이미지 경로
File copyFile = new File(strSaveDirPathImg + "/" + strCPVhcleImageCours); //copy이미지 경로
fis = new FileInputStream(oriFile);
fos = new FileOutputStream(copyFile);
int fileByte = 0;
while((fileByte = fis.read()) != -1) {
fos.write(fileByte);
}
} catch (RuntimeException e) {
logger.info("allanpost 이미지copy에러e1 : " + e);
strLogMessage = "마스킹이미지 copy 에러 : " + strVhcleImageCours + "단속ID : " + rtnepostcntcsendVO.get(i).getREGLT_ID();
TraceToRouteFileService.writeBatchMessage(strMethodName, strLogMessage, strLogFileName);
iImageErrorCopyCnt++;
} catch (Exception e) {
logger.info("allanpost 이미지copy에러e1 : " + e);
strLogMessage = "마스킹이미지 copy 에러 : " + strVhcleImageCours + "단속ID : " + rtnepostcntcsendVO.get(i).getREGLT_ID();
TraceToRouteFileService.writeBatchMessage(strMethodName, strLogMessage, strLogFileName);
iImageErrorCopyCnt++;
}finally{
try {
if(fis != null){
fis.close();
}
} catch (IOException e) {
logger.info("allanpost fis.close error : " + e);
}
try {
if(fos != null){
fos.close();
}
} catch (IOException e) {
logger.info("allanpost fos.close error : " + e);
}
}
if(!StringUtils.isEmpty(strNopleImageCours)){//번호판이미지 없는것도 있음
//번호판이미지 copy
String strCPNopleImageCours = "P"+CommonCodeStatus.SignguCode_00007_11000.getCode()+rtnepostcntcsendVO.get(i).getREGLT_ID()+"B.jpg"; //P + SIGNGU_CODE + REGLT_ID + B.jpg
FileInputStream fis2 = null;
FileOutputStream fos2 = null;
try {
File oriFile2 = new File(strNopleImageCours); //번호판이미지 경로
File copyFile2 = new File(strSaveDirPathImg + "/" + strCPNopleImageCours);
fis2 = new FileInputStream(oriFile2);
fos2 = new FileOutputStream(copyFile2);
int fileByte = 0;
while((fileByte = fis2.read()) != -1) {
fos2.write(fileByte);
}
//fis2.close();
//fos2.close();
} catch (RuntimeException e) {
logger.info("allanpost 이미지copy에러e3 : " + e);
strLogMessage = "번호판이미지 copy 에러 : " + strNopleImageCours + "단속ID : " + rtnepostcntcsendVO.get(i).getREGLT_ID();
TraceToRouteFileService.writeBatchMessage(strMethodName, strLogMessage, strLogFileName);
iImageErrorCopyCnt++;
} catch (Exception e) {
logger.info("allanpost 이미지copy에러e3 : " + e);
strLogMessage = "번호판이미지 copy 에러 : " + strNopleImageCours + "단속ID : " + rtnepostcntcsendVO.get(i).getREGLT_ID();
TraceToRouteFileService.writeBatchMessage(strMethodName, strLogMessage, strLogFileName);
iImageErrorCopyCnt++;
} finally{
try {
if(fis2 != null){
fis2.close();
}
} catch (IOException e) {
logger.info("allanpost fis2.close error : " + e);
}
try {
if(fos2 !=null){
fos2.close();
}
} catch (IOException e) {
logger.info("allanpost fos2.close error : " + e);
}
}
}
try {
Thread.sleep(100);
} catch (InterruptedException e) {
logger.info("allanpost InterruptedException error : " + e);
}
}//end for
if(iImageErrorCopyCnt>0){
rtnMap.put(CommonCode.fResult, CommonCode.fFAIL);
rtnMap.put(CommonCode.fResultCode, CommonErrCodeStatus.OtherErrors.getCode());
rtnMap.put(CommonCode.fResultMessage, "마스킹 이미지 COPY중 에러가 발생하였습니다.");
return rtnMap;
}
} //사전통지서 이미지 copy
//전송할 txt파일 조립
try{
String strRtnText = null;
//logger.info("allanepost rtnepostcntcsendVO.size() : " + rtnepostcntcsendVO.size());
strLogMessage = "전송데이터 개수 : " + rtnepostcntcsendVO.size();
TraceToRouteFileService.writeBatchMessage(strMethodName, strLogMessage, strLogFileName);
//파일 조립
for(int i=0; i<rtnepostcntcsendVO.size(); i++){
//logger.info("allanepost rtnepostcntcsendVO.get(i) : " + rtnepostcntcsendVO.get(i));
if(i==0){
strRtnText = setFileText(rtnepostcntcsendVO.get(i));
}else{
strRtnText += setFileText(rtnepostcntcsendVO.get(i));
}
}
if(StringUtil.isEmpty(strRtnText)){
logger.info("allanpost 전송할 전문이 존재하지 않습니다. ");
strLogMessage = "전송할 전문이 존재하지 않습니다." ;
TraceToRouteFileService.writeBatchMessage(strMethodName, strLogMessage, strLogFileName);
rtnMap.put(CommonCode.fResult, CommonCode.fFAIL);
rtnMap.put(CommonCode.fResultCode, CommonErrCodeStatus.OtherErrors.getCode());
rtnMap.put(CommonCode.fResultMessage, "전송할 전문이 존재하지 않습니다.");
return rtnMap;
}
if(!StringUtils.isEmpty(strExtrlCntcIdntfcNo)){
//스토리지 파일저장
strLogMessage = "txt 파일 저장" ;
TraceToRouteFileService.writeBatchMessage(strMethodName, strLogMessage, strLogFileName);
String strSaveDirPath = commonProperties.getStrEPostSendLocalStorage() ;
File saveDirFile = TraceToRouteFileService.checkFileDirectory ( strSaveDirPath );
strSaveDirPathTxt = commonProperties.getStrEPostSendLocalStorage()+commonProperties.getStrEPostFirstFileNm()+strExtrlCntcIdntfcNo+".txt";//파일저장위치
BufferedWriter writer = null;
OutputStreamWriter streamWriter = null;
FileOutputStream outStream = null;
try {
outStream = new FileOutputStream(strSaveDirPathTxt);
streamWriter = new OutputStreamWriter(outStream, "UTF-8");
//writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(strSaveDirPathTxt), "UTF-8")); //시큐어코등으로..변경..ㅠㅠ
writer = new BufferedWriter(streamWriter);
writer.write(strRtnText);
writer.flush();
//writer.close();
} catch(IOException e) {
logger.info(e);
} catch(Exception e) {
logger.info(e);
} finally {
try {
if(writer != null){
writer.close();
}
if(outStream !=null){
outStream.close();
}
if(streamWriter != null){
streamWriter.close();
}
} catch(IOException e) {
logger.info("IOException");
} catch(Exception e) {
logger.info("Exception");
}
}
}
}catch(RuntimeException e){
logger.info("allanpost txt파일저장에러e : " + e);
strLogMessage = "txt 파일 저장에러" ;
TraceToRouteFileService.writeBatchMessage(strMethodName, strLogMessage, strLogFileName);
rtnMap.put(CommonCode.fResult, CommonCode.fFAIL);
rtnMap.put(CommonCode.fResultCode, CommonErrCodeStatus.OtherErrors.getCode());
rtnMap.put(CommonCode.fResultMessage, "전문 조립중 에러가 발생하였습니다.");
return rtnMap;
}catch(Exception e){
logger.info("allanpost txt파일저장에러e : " + e);
strLogMessage = "txt 파일 저장에러" ;
TraceToRouteFileService.writeBatchMessage(strMethodName, strLogMessage, strLogFileName);
rtnMap.put(CommonCode.fResult, CommonCode.fFAIL);
rtnMap.put(CommonCode.fResultCode, CommonErrCodeStatus.OtherErrors.getCode());
rtnMap.put(CommonCode.fResultMessage, "전문 조립중 에러가 발생하였습니다.");
return rtnMap;
}
if("V".equals(epostcntcsendVO.getPSTMTR_TY_CODE().substring(0,1))){
//파일압축
try{
strLogMessage = "파일압축시작" ;
TraceToRouteFileService.writeBatchMessage(strMethodName, strLogMessage, strLogFileName);
boolean bResult = isSetZipArchive(strSaveDirPathImg);
logger.info("allanepost bResult : " + bResult);
if(!bResult){
rtnMap.put(CommonCode.fResult, CommonCode.fFAIL);
rtnMap.put(CommonCode.fResultCode, CommonErrCodeStatus.OtherErrors.getCode());
rtnMap.put(CommonCode.fResultMessage, "파일압축중 에러가 발생하였습니다.");
return rtnMap;
}
}catch(RuntimeException e){
logger.info("allanpost 파일압축에러e : " + e);
rtnMap.put(CommonCode.fResult, CommonCode.fFAIL);
rtnMap.put(CommonCode.fResultCode, CommonErrCodeStatus.OtherErrors.getCode());
rtnMap.put(CommonCode.fResultMessage, "파일압축중 에러가 발생하였습니다e.");
return rtnMap;
}catch(Exception e){
logger.info("allanpost 파일압축에러e : " + e);
rtnMap.put(CommonCode.fResult, CommonCode.fFAIL);
rtnMap.put(CommonCode.fResultCode, CommonErrCodeStatus.OtherErrors.getCode());
rtnMap.put(CommonCode.fResultMessage, "파일압축중 에러가 발생하였습니다e.");
return rtnMap;
}
} //사전통지서 이미지 압축
//ftp전송
try{
boolean bZipImgSuccess = true;
boolean bZipTxtSuccess = true;
if("V".equals(epostcntcsendVO.getPSTMTR_TY_CODE().substring(0,1))){
//사전통지만 사진파일 ftp전송
String strFtpFileName = commonProperties.getStrEPostFirstFileNm()+strExtrlCntcIdntfcNo+".zip"; //압축파일명
strSaveDirPathZip = strSaveDirPathImg+".zip"; //압축파일
logger.info("strFtpFileName : " + strFtpFileName);
logger.info("strSaveDirPathZip : " + strSaveDirPathZip);
strLogMessage = "ftp압축파일전송시작 : " + strFtpFileName ;
TraceToRouteFileService.writeBatchMessage(strMethodName, strLogMessage, strLogFileName);
HashMap<String, Object> rtnResultMap = ftpUtil.ftpFileUpLoad(commonProperties.getEpostFtpIp()
, commonProperties.getEpostFtpId()
, commonProperties.getEpostFtpPw()
, commonProperties.getEpostFtpPort()
, strFtpFileName
, strSaveDirPathZip
, commonProperties.getEpostDir()
);
logger.info("allanpost rtnResultMap1 : " + rtnResultMap);
if(!CommonCode.fSUCCESS.equals(rtnResultMap.get(CommonCode.fResult))){
bZipImgSuccess = false;
}
}//사전통지서 이미지 ftp전송
String strFtpFileName2 = commonProperties.getStrEPostFirstFileNm()+strExtrlCntcIdntfcNo+".txt"; //txt파일명
String strSaveDirPathZip2 = strSaveDirPathImg+".txt"; //txt파일
logger.info("allanpost strFtpFileName2 : " + strFtpFileName2);
logger.info("allanpost strSaveDirPathZip2 : " + strSaveDirPathZip2);
strLogMessage = "ftp txt파일전송시작 : " + strFtpFileName2 ;
TraceToRouteFileService.writeBatchMessage(strMethodName, strLogMessage, strLogFileName);
HashMap<String, Object> rtnResultMap2 = ftpUtil.ftpFileUpLoad(commonProperties.getEpostFtpIp()
, commonProperties.getEpostFtpId()
, commonProperties.getEpostFtpPw()
, commonProperties.getEpostFtpPort()
, strFtpFileName2
, strSaveDirPathZip2
, commonProperties.getEpostDir()
);
logger.info("allanpost rtnResultMap2 : " + rtnResultMap2);
if(!CommonCode.fSUCCESS.equals(rtnResultMap2.get(CommonCode.fResult))){
bZipTxtSuccess = false;
}
if(bZipImgSuccess && bZipTxtSuccess){//성공전송이면
logger.info("allanpost 전송성공");
if(!isUpdateEPostCntcRequstSttus(rtnepostcntcrequstVO)){//E우편연계요청 상태 업데이트
strLogMessage = "E우편연계요청 상태 업데이트 에러가 발생하였습니다. 관리자에게 문의하세요.\n외부연계식별번호 : " + strExtrlCntcIdntfcNo ;
TraceToRouteFileService.writeBatchMessage(strMethodName, strLogMessage, strLogFileName);
return null;
}
if(!isUpdateEPostRceptReqstSttus(rtnepostcntcrequstVO, strExtrlCntcIdntfcNo, strEPostRceptTrnsmisDe, strEPostRceptTrnsmisTime)){//E우편접수신청마스타 업데이트
strLogMessage = "E우편접수신청마스타 상태 업데이트 에러가 발생하였습니다. 관리자에게 문의하세요.\n외부연계식별번호 : " + strExtrlCntcIdntfcNo ;
TraceToRouteFileService.writeBatchMessage(strMethodName, strLogMessage, strLogFileName);
return null;
}
this.cpFile(strSaveDirPathImg, strSaveDirPathTxt, strSaveDirPathZip, strExtrlCntcIdntfcNo);//cp copy
strLogMessage = "ftp 전송성공" ;
TraceToRouteFileService.writeBatchMessage(strMethodName, strLogMessage, strLogFileName);
}else{
strLogMessage = "ftp 전송실패" ;
TraceToRouteFileService.writeBatchMessage(strMethodName, strLogMessage, strLogFileName);
logger.info("allanpost 전송실패");
rtnMap.put(CommonCode.fResult, CommonCode.fFAIL);
rtnMap.put(CommonCode.fResultCode, CommonErrCodeStatus.OtherErrors.getCode());
rtnMap.put(CommonCode.fResultMessage, "ftp전송중 에러가 발생하였습니다.");
return rtnMap;
}
}catch(RuntimeException e){
logger.info("allanpost ftp전송에러e : " + e);
strLogMessage = "ftp 전송실패e" ;
TraceToRouteFileService.writeBatchMessage(strMethodName, strLogMessage, strLogFileName);
rtnMap.put(CommonCode.fResult, CommonCode.fFAIL);
rtnMap.put(CommonCode.fResultCode, CommonErrCodeStatus.OtherErrors.getCode());
rtnMap.put(CommonCode.fResultMessage, "ftp전송중 에러가 발생하였습니다e.");
return rtnMap;
}catch(Exception e){
logger.info("allanpost ftp전송에러e : " + e);
strLogMessage = "ftp 전송실패e" ;
TraceToRouteFileService.writeBatchMessage(strMethodName, strLogMessage, strLogFileName);
rtnMap.put(CommonCode.fResult, CommonCode.fFAIL);
rtnMap.put(CommonCode.fResultCode, CommonErrCodeStatus.OtherErrors.getCode());
rtnMap.put(CommonCode.fResultMessage, "ftp전송중 에러가 발생하였습니다e.");
return rtnMap;
}
}
rtnMap.put(CommonCode.fResult, CommonCode.fSUCCESS);
rtnMap.put(CommonCode.fResultCode, CommonErrCodeStatus.Success.getCode());
rtnMap.put(CommonCode.fResultMessage, CommonErrCodeStatus.Success.getMessage());
return rtnMap;
}
/**
* Text
* @param EPostCntcSendVO
* @return String
*/
private String setFileText(EPostCntcSendVO epostcntcsendVO){
StringBuffer strSb = new StringBuffer();
logger.info("epostcntcsendVO : " + epostcntcsendVO);
final String strLineSplit= "|";
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getEXTRL_INSTT_SE_CODE()) ? "" : epostcntcsendVO.getEXTRL_INSTT_SE_CODE());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getRCEPT_PSTOFC_NLGHO()) ? "" : epostcntcsendVO.getRCEPT_PSTOFC_NLGHO());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getRCEPT_REQST_MASTR_RCEPT_CODE()) ? "" : epostcntcsendVO.getRCEPT_REQST_MASTR_RCEPT_CODE());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getTRTMNT_SE_CODE()) ? "" : epostcntcsendVO.getTRTMNT_SE_CODE());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getSANCTN_MTH_CODE()) ? "" : epostcntcsendVO.getSANCTN_MTH_CODE());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getCNDOOR_TY_CODE()) ? "" : epostcntcsendVO.getCNDOOR_TY_CODE());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getCNDOOR_DETAIL_END_CODE()) ? "" : epostcntcsendVO.getCNDOOR_DETAIL_END_CODE());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getCNDOOR_KND_CODE()) ? "" : epostcntcsendVO.getCNDOOR_KND_CODE());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getCNDOOR_NMRS()) ? "" : epostcntcsendVO.getCNDOOR_NMRS());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getADDRSE_CO()) ? "" : epostcntcsendVO.getADDRSE_CO());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getENVLP_KND_CODE()) ? "" : epostcntcsendVO.getENVLP_KND_CODE());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getCOLOR_PSTMTR_AT_CODE()) ? "" : epostcntcsendVO.getCOLOR_PSTMTR_AT_CODE());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getEMAIL_MERGE_AT_CODE()) ? "" : epostcntcsendVO.getEMAIL_MERGE_AT_CODE());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getOTHSD_SE_CODE()) ? "" : epostcntcsendVO.getOTHSD_SE_CODE());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getDM_CO()) ? "" : epostcntcsendVO.getDM_CO());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getRETRN_NDLS_AT_CODE()) ? "" : epostcntcsendVO.getRETRN_NDLS_AT_CODE());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getE_POST_RCEPT_CONFM_NO()) ? "" : epostcntcsendVO.getE_POST_RCEPT_CONFM_NO());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getSEND_DATE()) ? "" : epostcntcsendVO.getSEND_DATE());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getSEND_TIME()) ? "" : epostcntcsendVO.getSEND_TIME());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getEXTRL_CNTC_IDNTFC_NO()) ? "" : epostcntcsendVO.getEXTRL_CNTC_IDNTFC_NO());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getSETLE_DEPT_CODE()) ? "" : epostcntcsendVO.getSETLE_DEPT_CODE());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getEXTRL_CNTC_ADIT_DATA()) ? "" : epostcntcsendVO.getEXTRL_CNTC_ADIT_DATA());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getSNDNGPSN_NM()) ? "" : epostcntcsendVO.getSNDNGPSN_NM());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getSNDNGPSN_ZIP()) ? "" : epostcntcsendVO.getSNDNGPSN_ZIP());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getSNDNGPSN_ADRES()) ? "" : epostcntcsendVO.getSNDNGPSN_ADRES());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getSNDNGPSN_DETAIL_ADRES()) ? "" : epostcntcsendVO.getSNDNGPSN_DETAIL_ADRES());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getSNDNGPSN_ADIT_DATA()) ? "" : epostcntcsendVO.getSNDNGPSN_ADIT_DATA());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getADDRSE_SN()) ? "" : epostcntcsendVO.getADDRSE_SN());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getADDRSE_NM()) ? "" : epostcntcsendVO.getADDRSE_NM());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getADDRSE_ZIP()) ? "" : epostcntcsendVO.getADDRSE_ZIP());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getADDRSE_ADRES()) ? "" : epostcntcsendVO.getADDRSE_ADRES());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getADDRSE_DETAIL_ADRES()) ? "" : epostcntcsendVO.getADDRSE_DETAIL_ADRES());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getRGIST_NO()) ? "" : epostcntcsendVO.getRGIST_NO());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getADDRSE_DATA()) ? "" : epostcntcsendVO.getADDRSE_DATA());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getADDRSEACCTO_TLPHON_NO_PRE()) ? "" : epostcntcsendVO.getADDRSEACCTO_TLPHON_NO_PRE());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getADDRSEACCTO_TLPHON_NO_MIDDLE()) ? "" : epostcntcsendVO.getADDRSEACCTO_TLPHON_NO_MIDDLE());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getADDRSEACCTO_TLPHON_NO_END()) ? "" : epostcntcsendVO.getADDRSEACCTO_TLPHON_NO_END());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getADDRSEACCTO_MOBLPHON_NO_PRE()) ? "" : epostcntcsendVO.getADDRSEACCTO_MOBLPHON_NO_PRE());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getADDRSEACCTO_MOBLPHON_NO_MIDDLE()) ? "" : epostcntcsendVO.getADDRSEACCTO_MOBLPHON_NO_MIDDLE());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getADDRSEACCTO_MOBLPHON_NO_END()) ? "" : epostcntcsendVO.getADDRSEACCTO_MOBLPHON_NO_END());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getRPLYOFFIC()) ? "" : epostcntcsendVO.getRPLYOFFIC());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getRPLYOFFIC_ZIP()) ? "" : epostcntcsendVO.getRPLYOFFIC_ZIP());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getRPLYOFFIC_ADRES()) ? "" : epostcntcsendVO.getRPLYOFFIC_ADRES());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getRPLYOFFIC_DETAIL_ADRES()) ? "" : epostcntcsendVO.getRPLYOFFIC_DETAIL_ADRES());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getE_POST_RCEPT_ATCH_FILE()) ? "" : epostcntcsendVO.getE_POST_RCEPT_ATCH_FILE());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getSIGNGU_CODE()) ? "" : epostcntcsendVO.getSIGNGU_CODE());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getFFNLG_CODE()) ? "" : epostcntcsendVO.getFFNLG_CODE());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getFFNLG_NM()) ? "" : epostcntcsendVO.getFFNLG_NM());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getISTDR_NM()) ? "" : epostcntcsendVO.getISTDR_NM());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getADDRSE_ADRES1()) ? "" : epostcntcsendVO.getADDRSE_ADRES1());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getADDRSE_DETAIL_ADRES1()) ? "" : epostcntcsendVO.getADDRSE_DETAIL_ADRES1());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getRCEPT_REQST_SNDNGPSN_ADRES()) ? "" : epostcntcsendVO.getRCEPT_REQST_SNDNGPSN_ADRES());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getRCEPT_REQST_SNDNGPSN_ZIP()) ? "" : epostcntcsendVO.getRCEPT_REQST_SNDNGPSN_ZIP());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getRCEPT_REQST_SNDNGPSN_TLPHON_NO()) ? "" : epostcntcsendVO.getRCEPT_REQST_SNDNGPSN_TLPHON_NO());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getRCEPT_REQST_SNDNGPSN_FAX_NO()) ? "" : epostcntcsendVO.getRCEPT_REQST_SNDNGPSN_FAX_NO());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getRCEPT_REQST_SNDNGPSN_DEPT_NM()) ? "" : epostcntcsendVO.getRCEPT_REQST_SNDNGPSN_DEPT_NM());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getRCEPT_REQST_SNDNGPSN_HMPG()) ? "" : epostcntcsendVO.getRCEPT_REQST_SNDNGPSN_HMPG());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getRCEPT_REQST_GUIDANCE_ONE()) ? "" : epostcntcsendVO.getRCEPT_REQST_GUIDANCE_ONE());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getRCEPT_REQST_GUIDANCE_TWO()) ? "" : epostcntcsendVO.getRCEPT_REQST_GUIDANCE_TWO());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getRCEPT_REQST_SNDNGPSN_LESSEE_HM()) ? "" : epostcntcsendVO.getRCEPT_REQST_SNDNGPSN_LESSEE_HM());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getRCEPT_REQST_SNDNGPSN_LESSEE_ME()) ? "" : epostcntcsendVO.getRCEPT_REQST_SNDNGPSN_LESSEE_ME());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getRCEPT_REQST_SNDNGPSN_LESSEE_RA()) ? "" : epostcntcsendVO.getRCEPT_REQST_SNDNGPSN_LESSEE_RA());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getOPRATMAN_CNFIRM_IHIDNUM()) ? "" : epostcntcsendVO.getOPRATMAN_CNFIRM_IHIDNUM());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getRGLARTACTIONREGLLAW_OPERTN_GUI()) ? "" : epostcntcsendVO.getRGLARTACTIONREGLLAW_OPERTN_GUI());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getOPNSTEM_CTTPC_GUIDANCE()) ? "" : epostcntcsendVO.getOPNSTEM_CTTPC_GUIDANCE());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getVOLUN_PAY_GUIDANCE_ONE()) ? "" : epostcntcsendVO.getVOLUN_PAY_GUIDANCE_ONE());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getVOLUN_PAY_GUIDANCE_TWO()) ? "" : epostcntcsendVO.getVOLUN_PAY_GUIDANCE_TWO());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getOPNSTEM_USE_PD_GUIDANCE()) ? "" : epostcntcsendVO.getOPNSTEM_USE_PD_GUIDANCE());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getREGLT_ID()) ? "" : epostcntcsendVO.getREGLT_ID());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getSNDNG_ID()) ? "" : epostcntcsendVO.getSNDNG_ID());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getBRCD_1D()) ? "" : epostcntcsendVO.getBRCD_1D());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getBRCD_2D()) ? "" : epostcntcsendVO.getBRCD_2D());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getREGLT_SE_NM()) ? "" : epostcntcsendVO.getREGLT_SE_NM());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getVHCLE_NO()) ? "" : epostcntcsendVO.getVHCLE_NO());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getREGLT_DT_OUTPT()) ? "" : epostcntcsendVO.getREGLT_DT_OUTPT());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getREGLT_AREA()) ? "" : epostcntcsendVO.getREGLT_AREA());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getREGLT_PLACE()) ? "" : epostcntcsendVO.getREGLT_PLACE());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getREGLT_CN()) ? "" : epostcntcsendVO.getREGLT_CN());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getVHCTY_ASORT_NM()) ? "" : epostcntcsendVO.getVHCTY_ASORT_NM());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getBRWDNM()) ? "" : epostcntcsendVO.getBRWDNM());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getMOSC_X()) ? "" : epostcntcsendVO.getMOSC_X());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getMOSC_Y()) ? "" : epostcntcsendVO.getMOSC_Y());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getPHOTO_NMRS()) ? "" : epostcntcsendVO.getPHOTO_NMRS());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getTIME_EXCESS_AMOUNT_RDCAMT_GUID()) ? "" : epostcntcsendVO.getTIME_EXCESS_AMOUNT_RDCAMT_GUID());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getCHILD_PRTC_ZONE()) ? "" : epostcntcsendVO.getCHILD_PRTC_ZONE());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getSOCTY_WKSN()) ? "" : epostcntcsendVO.getSOCTY_WKSN());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getNHT_DOC_KND()) ? "" : epostcntcsendVO.getNHT_DOC_KND());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getOUTPT_DE()) ? "" : epostcntcsendVO.getOUTPT_DE());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getNTIC_NO()) ? "" : epostcntcsendVO.getNTIC_NO());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getREGLT_PRNCPAL()) ? "" : epostcntcsendVO.getREGLT_PRNCPAL());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getFFNLG_INFO_GUIDANCE()) ? "" : epostcntcsendVO.getFFNLG_INFO_GUIDANCE());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getDEDT_DE()) ? "" : epostcntcsendVO.getDEDT_DE());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getOUTPT_DEDT_AMOUNT()) ? "" : epostcntcsendVO.getOUTPT_DEDT_AMOUNT());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getDEDT_AFT_DE()) ? "" : epostcntcsendVO.getDEDT_AFT_DE());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getOUTPT_DEDT_AFT_AMOUNT()) ? "" : epostcntcsendVO.getOUTPT_DEDT_AFT_AMOUNT());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getBAND_ZERO()) ? "" : epostcntcsendVO.getBAND_ZERO());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getBAND_ONE()) ? "" : epostcntcsendVO.getBAND_ONE());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getBAND_TWO()) ? "" : epostcntcsendVO.getBAND_TWO());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getBAND_THREE()) ? "" : epostcntcsendVO.getBAND_THREE());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getBAND_FOUR()) ? "" : epostcntcsendVO.getBAND_FOUR());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getBAND_FIVE()) ? "" : epostcntcsendVO.getBAND_FIVE());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getBAND_SIX()) ? "" : epostcntcsendVO.getBAND_SIX());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getBAND_SEVEN()) ? "" : epostcntcsendVO.getBAND_SEVEN());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getBAND_EIGHT()) ? "" : epostcntcsendVO.getBAND_EIGHT());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getELCTRN_PAY_NO_OUTPT()) ? "" : epostcntcsendVO.getELCTRN_PAY_NO_OUTPT());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getVIRTL_ACNUT_INFO()) ? "" : epostcntcsendVO.getVIRTL_ACNUT_INFO());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getOPINION_STATMNT_PD()) ? "" : epostcntcsendVO.getOPINION_STATMNT_PD());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getOPINION_STATMNT_RCEPT_NO()) ? "" : epostcntcsendVO.getOPINION_STATMNT_RCEPT_NO());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getOPINION_STATMNT_DLBRT_RESULT_G()) ? "" : epostcntcsendVO.getOPINION_STATMNT_DLBRT_RESULT_G());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getOPINION_STATMNT_ANSWER_CN()) ? "" : epostcntcsendVO.getOPINION_STATMNT_ANSWER_CN());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getRELEVY_NM()) ? "" : epostcntcsendVO.getRELEVY_NM());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getSEIZR_VHCLE_NO()) ? "" : epostcntcsendVO.getSEIZR_VHCLE_NO());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getSEIZR_ETYDOOR_NO()) ? "" : epostcntcsendVO.getSEIZR_ETYDOOR_NO());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getSEIZR_DE()) ? "" : epostcntcsendVO.getSEIZR_DE());
strSb.append(strLineSplit);
strSb.append(StringUtils.isEmpty(epostcntcsendVO.getOPRATMAN_CNFIRM_RPLY_DE()) ? "" : epostcntcsendVO.getOPRATMAN_CNFIRM_RPLY_DE());
strSb.append(strLineSplit);
strSb.append(System.getProperty("line.separator"));
logger.info("strSb : " + strSb);
return strSb.toString();
}
/**
*
* @param strDirFolder
* @return boolean
*/
private boolean isSetZipArchive(String strDirFolder){
boolean bResult=true;
String files[] = null;
File file = new File(strDirFolder);
//파일이 디렉토리 일경우 리스트를 읽어오고
//파일이 디렉토리가 아니면 첫번째 배열에 파일이름을 넣는다.
if( file.isDirectory() ){
files = file.list();
}else{
files = new String[1];
files[0] = file.getName();
logger.info((file.getName().getBytes()));
}
int size = 1024;
byte[] buf = new byte[size];
String outZipNm = strDirFolder+".zip";
FileInputStream fis = null;
ZipArchiveOutputStream zos = null;
BufferedInputStream bis = null;
try {
// Zip 파일생성
zos = new ZipArchiveOutputStream(new BufferedOutputStream(new FileOutputStream(outZipNm)));
for( int i=0; i < files.length; i++ ){
if( new File(strDirFolder+"/"+files[i]).isDirectory() ){
continue;
}
//encoding 설정
zos.setEncoding("UTF-8");
fis = new FileInputStream(strDirFolder + "/" + files[i]);
bis = new BufferedInputStream(fis,size);
zos.putArchiveEntry(new ZipArchiveEntry(files[i]));
int len;
while((len = bis.read(buf,0,size)) != -1){
zos.write(buf,0,len);
}
//bis.close();
//fis.close();
zos.closeArchiveEntry();
}
//zos.close();
} catch (FileNotFoundException e) {
logger.info(e);
bResult = false;
} catch (IOException e) {
logger.info(e);
bResult = false;
} catch (Exception e) {
logger.info(e);
bResult = false;
} finally{
if( zos != null ){
try {
zos.close();
} catch (IOException e) {
logger.info(e);
} catch (Exception e) {
logger.info(e);
}
}
if( fis != null ){
try {
fis.close();
} catch (IOException e) {
logger.info(e);
} catch (Exception e) {
logger.info(e);
}
}
if( bis != null ){
try {
bis.close();
} catch (IOException e) {
logger.info(e);
} catch (Exception e) {
logger.info(e);
}
}
}
return bResult;
}
/**
* FTP
* @param strSaveDirPathImg
* @param strSaveDirPathTxt
* @param strSaveDirPathZip
* @param strExtrlCntcIdntfcNo
* @return boolean
*/
private void cpFile(String strSaveDirPathImg, String strSaveDirPathTxt, String strSaveDirPathZip, String strExtrlCntcIdntfcNo){
//이미지 copy에러
//전송안해야함
String strTargetDir = commonProperties.getStrEPostSendLocalStorage() + CommonUtil.getToDay() + "/";
String strTxtFileName = strSaveDirPathTxt.substring( strSaveDirPathTxt.lastIndexOf(File.separator)+1, strSaveDirPathTxt.length() );
String strZipFileName = strSaveDirPathTxt.substring( strSaveDirPathZip.lastIndexOf(File.separator)+1, strSaveDirPathZip.length() );
File saveDirFile = TraceToRouteFileService.checkFileDirectory ( strTargetDir );
cpFile(strSaveDirPathTxt, strTargetDir + strTxtFileName);//txt파일
cpFile(strSaveDirPathZip, strTargetDir + strZipFileName);//zip파일
cpDirect(strSaveDirPathImg, strSaveDirPathImg + File.separator +strExtrlCntcIdntfcNo);//폴더
}
/**
* copy
* @param strSource
* @param strTarget Target
*/
private void cpFile(String strSource, String strTarget){
logger.info("strSource : " + strSource + "strTarget : " + strTarget );
Path pathTxtSource = Paths.get(strSource);
Path pathTxtTarget = Paths.get(strTarget);
try {
if(Files.exists(pathTxtSource)){
Files.copy(pathTxtSource, pathTxtTarget, StandardCopyOption.REPLACE_EXISTING);
Files.delete(pathTxtSource);
}
} catch (IOException e) {
// TODO Auto-generated catch block
logger.info("파일CP에러");
} catch (Exception e) {
// TODO Auto-generated catch block
logger.info("파일CP에러");
}
}
/**
* copy
* @param strDirSource
* @param strDirTarget Target
*/
private void cpDirect(String strDirSource, String strDirTarget){
File fileDirSource = new File(strDirSource);
File fileDirTarget = new File(strDirTarget);
try {
FileUtils.copyDirectory(fileDirSource, fileDirTarget);
} catch (IOException e) {
logger.info("디렉터리 카피에러");
} catch (Exception e) {
logger.info("디렉터리 카피에러");
}
}
/**
* E
* @param FISEPOSTCNTCREQUSTVO
* @return boolean
*/
private boolean isUpdateEPostCntcRequstSttus(FISEPOSTCNTCREQUSTVO epostcntcrequstVO){
boolean bResult = true;
try{
epostcntcrequstVO.setE_POST_CNTC_REQUST_PROCESS_STT("6");
apiepostService.updateEPostCntcRequstSttus(epostcntcrequstVO);
} catch(RuntimeException e){
bResult = false;
logger.info("E우편연계요청 상태 업데이트 에러 : ");
} catch(Exception e){
bResult = false;
logger.info("E우편연계요청 상태 업데이트 에러 : ");
}
return bResult;
}
/**
* E
* @param FISEPOSTCNTCREQUSTVO
* @return boolean
*/
private boolean isUpdateEPostRceptReqstSttus(FISEPOSTCNTCREQUSTVO epostcntcrequstVO, String strExtrlCntcIdntfcNo, String strEPostRceptTrnsmisDe, String strEPostRceptTrnsmisTime){
boolean bResult = true;
try{
EPostCntcSendVO epostcntcsendVO = new EPostCntcSendVO();
epostcntcsendVO.setRCEPT_REQST_MASTR_PROCESS_STTU("2");
epostcntcsendVO.setSETLE_DEPT_CODE(epostcntcrequstVO.getSETLE_DEPT_CODE());
epostcntcsendVO.setHR_REPLC_KEY(epostcntcrequstVO.getHR_REPLC_KEY());
epostcntcsendVO.setPSTMTR_TY_CODE(epostcntcrequstVO.getPSTMTR_TY_CODE());
epostcntcsendVO.setE_POST_CNTC_REQUST_DE(epostcntcrequstVO.getE_POST_CNTC_REQUST_DE());
epostcntcsendVO.setE_POST_CNTC_REQUST_SN(epostcntcrequstVO.getE_POST_CNTC_REQUST_SN());
epostcntcsendVO.setEXTRL_CNTC_IDNTFC_NO(strExtrlCntcIdntfcNo);
apiepostService.updateEPostRceptReqstSttus(epostcntcsendVO);
} catch(RuntimeException e){
bResult = false;
logger.info("E우편접수신청마스타 상태 업데이트 에러 : " + e);
} catch(Exception e){
bResult = false;
logger.info("E우편접수신청마스타 상태 업데이트 에러 : " + e);
}
return bResult;
}
}

@ -0,0 +1,255 @@
/**
* @Class Name : EtaxRealStorageStatus.java
* @Description : Etax .
* @Version 1.0
* @Since 2019. 10. 07
* @Author
* <pre>
*
* ------- ------------- ----------------------
*
* </pre>
*/
package gtpa.fis.api.cm.service;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.List;
import javax.annotation.Resource;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.ByteArrayEntity;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ArrayNode;
import gtpa.fis.comm.CommonCode;
import gtpa.fis.comm.CommonErrCodeStatus;
import gtpa.fis.comm.CommonProperties;
import gtpa.fis.comm.CommonUtil;
import gtpa.fis.sy.dao.SySt0060DAO;
/**
* @Class Name : EtaxRealStorageStatus.java
* @Description : Etax .
* @Since 2019. 10. 07
* @Author
* <pre>
*
* ------- ------------- ----------------------
*
* </pre>
*/
@Component
public class EtaxRealStorageStatus {
static Logger logger = Logger.getLogger(EtaxRealStorageStatus.class.getName());
@Autowired
private ApiCntcInfoProcess apicntcInfoProcess;
private CommonProperties commonProperties;
@Autowired
public EtaxRealStorageStatus(CommonProperties commonProperties)
{
this.commonProperties = commonProperties;
commonProperties.initEtaxCommonProperties();
}
@Resource(name = "syst0060Dao")
private SySt0060DAO syst0060Dao;
/**
* Etax
* @param etaxMap
* @return Map
*/
public HashMap<String, Object> getEtaxRealStorageStatus(HashMap etaxMap) throws RuntimeException, Exception{
HashMap<String, Object> rtnMap = new LinkedHashMap<String, Object>();
HashMap<String, Object> respMap = new LinkedHashMap<String, Object>();
HashMap<String, Object> dataMap = new LinkedHashMap<String, Object>();
List<HashMap<String, Object>> arrRespMap = new ArrayList<HashMap<String, Object>>();
String strComReqMeche = commonProperties.getComReqMeche(); //요청매체
String strComReqDt = CommonUtil.getToDay();//요청일자
String strComReqTm = CommonUtil.getToDayHHmmss();//요청시간
String strComReqTrnNo = CommonUtil.getEtaxUniqueID();//요청전문관리번호
String strAccessKey=commonProperties.getAccessKey();//접근키
String strOrgC=commonProperties.getOrgC();//기관코드
etaxMap.put("comReqMeche", strComReqMeche);
etaxMap.put("comReqDt", strComReqDt);
etaxMap.put("comReqTm", strComReqTm);
etaxMap.put("comReqTrnNo", strComReqTrnNo);
etaxMap.put("accessKey", strAccessKey);
etaxMap.put("orgC", strOrgC);
String strPayNoG = (String)etaxMap.get("payNoG");//납부번호구분(TPN : 납세번호, EPN : 전자납부번호 QRN: 108밴드)
String strTpayNo = (String)etaxMap.get("tpayNo");//납세번호 (PAYNO_G:TPN인 경우 필수)
String strEpayNo = (String)etaxMap.get("epayNo");//전자납부번호 (PAYNO_G:EPN인 경우 필수)
String strQrNo = (String)etaxMap.get("qrNo");//R 108밴드 데이터 (PAYNO_G:QRN인 경우 필수)
HashMap<String, Object> jsonMap = new LinkedHashMap<String, Object>();
HashMap<String, Object> reqsMap = new LinkedHashMap<String, Object>();
List<HashMap<String, Object>> listReqsMap = new ArrayList<HashMap<String, Object>>();
jsonMap.put("COM_REQ_MECHE", strComReqMeche);
jsonMap.put("COM_REQ_DT", strComReqDt);
jsonMap.put("COM_REQ_TM", strComReqTm);
jsonMap.put("COM_REQ_TRN_NO", strComReqTrnNo);
jsonMap.put("ACCESS_KEY", strAccessKey);
jsonMap.put("ORG_C", strOrgC);
reqsMap.put("PAYNO_G", strPayNoG);
reqsMap.put("TPAY_NO", strTpayNo);
reqsMap.put("EPAY_NO", strEpayNo);
reqsMap.put("QR_NO", strQrNo);
listReqsMap.add(reqsMap);
jsonMap.put("REQ_DATA", listReqsMap);
ObjectMapper reqMapper = new ObjectMapper();
String etaxReqJson = null;;
JsonNode rtnNode = null;
HashMap<String, Object> cntcMap = new HashMap<String, Object>();
try {
etaxReqJson = reqMapper.writeValueAsString(jsonMap);
logger.info("etax 발송 json : " + etaxReqJson );
logger.info("url : " + commonProperties.getEtaxStatusUrl());
HttpClient client = HttpClientBuilder.create().build();
HttpPost post = new HttpPost(commonProperties.getEtaxStatusUrl());
post.addHeader("Content-Type", "application/json");
HttpEntity entity = new ByteArrayEntity(etaxReqJson.getBytes("euc-kr"));
post.setEntity(entity);
HttpResponse response = client.execute(post);
int responseCode = response.getStatusLine().getStatusCode();
logger.info("post : " + post);
logger.info("responseCode : " + responseCode);
if(responseCode !=200){
rtnMap.put(CommonCode.fResult, CommonCode.fFAIL);
rtnMap.put(CommonCode.fResultCode, responseCode);
rtnMap.put(CommonCode.fResultMessage, "Http Status Error");
return rtnMap;
}
//JSON 형태 반환값 처리
ObjectMapper mapper = new ObjectMapper();
rtnNode = mapper.readTree(response.getEntity().getContent());
logger.info("rtnNode : " + rtnNode);
String strRstCd = rtnNode.get("RST_CD").asText();//응답코드
String strRstMsg = rtnNode.get("RST_MSG").asText();//응답메세지
String strRtnComResTrnNo = rtnNode.get("COM_RES_TRN_NO").asText();//응답전문관리번호
etaxMap.put("rstCd", strRstCd);
etaxMap.put("rstMsg", strRstMsg);
etaxMap.put("comResTrnNo", strRtnComResTrnNo);
cntcMap.putAll(etaxMap);
//return data
dataMap.put("transId", (String)etaxMap.get("transId"));
dataMap.put("rstCd", strRstCd);
dataMap.put("rstMsg", strRstMsg);
dataMap.put("comReqTrnNo", strComReqTrnNo);//요청관리전문번호
if( rtnNode.path("RES_DATA").isArray() ){
ArrayNode arrRespData=(ArrayNode)rtnNode.get("RES_DATA");
logger.info("arrRespData : " +arrRespData);
for (JsonNode jsonNode : arrRespData) {
respMap = new LinkedHashMap<String, Object>();
respMap.put("tpayNo", jsonNode.get("TPAY_NO").asText());//납세번호
respMap.put("epayNo", jsonNode.get("EPAY_NO").asText());//전자납부번호
respMap.put("qrNo", jsonNode.get("QR_NO").asText());//QR108밴드 데이터
respMap.put("sunapYn", jsonNode.get("SUNAP_YN").asText());//수납여부
respMap.put("semokNm", jsonNode.get("SEMOK_NM").asText());//세목명
respMap.put("sunapMeche", jsonNode.get("SUNAP_MECHE").asText());//수납매체명
respMap.put("sunapDttm", jsonNode.get("SUNAP_DTTM").asText());//수납일시
respMap.put("amtTotal", jsonNode.get("AMT_TOTAL").asText());//수납금액
respMap.put("ilbunapYn", jsonNode.get("ILBUNAP_YN").asText());//일부납여부
respMap.put("rmTotal", jsonNode.get("RM_TOTAL").asText());//일부납잔액
if(jsonNode.get("RST_CD") != null && !jsonNode.get("RST_CD").isNull())//개별부 에러 발생시 공동부 응답코드로
dataMap.put("rstCd", jsonNode.get("RST_CD").asText());
if(jsonNode.get("RST_MSG") != null && !jsonNode.get("RST_MSG").isNull())
dataMap.put("rstMsg", jsonNode.get("RST_MSG").asText());
arrRespMap.add(respMap);
cntcMap.putAll(respMap);
cntcMap.put("cntcResult", CommonCode.fSUCCESS);
cntcMap.put("cntcResultCode", (String)etaxMap.get("rstCd"));
cntcMap.put("cntcMessage", (String)etaxMap.get("rstMsg"));
/*연계마스터 저장*/
apicntcInfoProcess.cntcEtaxRltmRcivAdd(cntcMap);
}
}
if("100".equals(strRstCd)){
rtnMap.put(CommonCode.fResult, CommonCode.fSUCCESS);
rtnMap.put(CommonCode.fResultCode, CommonErrCodeStatus.Success.getCode());
rtnMap.put(CommonCode.fResultMessage, CommonErrCodeStatus.Success.getMessage());
}else{
rtnMap.put(CommonCode.fResult, CommonCode.fSUCCESS);
rtnMap.put(CommonCode.fResultCode, (String)etaxMap.get("rstCd"));
rtnMap.put(CommonCode.fResultMessage, (String)etaxMap.get("rstMsg"));
}
dataMap.put("resp", arrRespMap);
rtnMap.put(CommonCode.fData, dataMap);
}catch(RuntimeException e)
{
cntcMap.put("cntcResult", CommonCode.fFAIL);
cntcMap.put("cntcResultCode", CommonErrCodeStatus.OtherErrors.getCode());
cntcMap.put("cntcMessage", "에러발생");
/*연계마스터 저장*/
cntcMap.putAll(etaxMap);
apicntcInfoProcess.cntcEtaxRltmRcivAdd(cntcMap);
rtnMap.put(CommonCode.fResult, CommonCode.fFAIL);
rtnMap.put(CommonCode.fResultCode, CommonErrCodeStatus.OtherErrors.getCode());
rtnMap.put(CommonCode.fResultMessage, "에러발생");
/* 210525 서주희 - 연계 오류 관리 등록 */
StackTraceElement[] ste = e.getStackTrace();
HashMap<String, Object> cntcErrorMap = new LinkedHashMap<String, Object>();
cntcErrorMap.put("INTRFC_ID","ETAX_REAL_STORAGE_STATUS");
cntcErrorMap.put("CNTC_ERROR_MSSAGE",e.getMessage());
cntcErrorMap.put("CNTC_ERROR_LINECO",ste[0].getLineNumber());
cntcErrorMap.put("CNTC_SUCCES_AT","N");
syst0060Dao.insertProc(cntcErrorMap);
return rtnMap;
}catch(Exception e)
{
cntcMap.put("cntcResult", CommonCode.fFAIL);
cntcMap.put("cntcResultCode", CommonErrCodeStatus.OtherErrors.getCode());
cntcMap.put("cntcMessage", "에러발생");
/*연계마스터 저장*/
cntcMap.putAll(etaxMap);
apicntcInfoProcess.cntcEtaxRltmRcivAdd(cntcMap);
rtnMap.put(CommonCode.fResult, CommonCode.fFAIL);
rtnMap.put(CommonCode.fResultCode, CommonErrCodeStatus.OtherErrors.getCode());
rtnMap.put(CommonCode.fResultMessage, "에러발생");
/* 210525 서주희 - 연계 오류 관리 등록 */
StackTraceElement[] ste = e.getStackTrace();
HashMap<String, Object> cntcErrorMap = new LinkedHashMap<String, Object>();
cntcErrorMap.put("INTRFC_ID","ETAX_REAL_STORAGE_STATUS");
cntcErrorMap.put("CNTC_ERROR_MSSAGE",e.getMessage());
cntcErrorMap.put("CNTC_ERROR_LINECO",ste[0].getLineNumber());
cntcErrorMap.put("CNTC_SUCCES_AT","N");
syst0060Dao.insertProc(cntcErrorMap);
return rtnMap;
}
return rtnMap;
}
}

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

Loading…
Cancel
Save