최초커밋(일부)

main
이범준 11 months ago
parent 3bad0c22a9
commit 85a5f4cadc

@ -0,0 +1,547 @@
<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>ICSMW</groupId>
<artifactId>ICSMW</artifactId>
<packaging>war</packaging>
<version>1.0.0</version>
<name>ICSMW</name>
<url>http://www.egovframe.go.kr</url>
<licenses>
<license>
<name>The Apache Software License, Version 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
</license>
</licenses>
<properties>
<spring.maven.artifact.version>4.1.36.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>
</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>egovframework.rte</groupId>
<artifactId>egovframework.rte.fdl.string</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>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>taglibs</groupId>
<artifactId>standard</artifactId>
<version>1.1.2</version>
</dependency>
<dependency>
<groupId>cglib</groupId>
<artifactId>cglib</artifactId>
<version>3.1</version>
</dependency>
<dependency>
<groupId>org.antlr</groupId>
<artifactId>antlr</artifactId>
<version>3.5</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>org.hsqldb</groupId>
<artifactId>hsqldb</artifactId>
<version>2.3.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.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>1.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.3643B.20190521.175836_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>
</dependencies>
<build>
<defaultGoal>install</defaultGoal>
<directory>${basedir}/target</directory>
<finalName>ICSMW</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>
</plugin>
<!-- EMMA -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>emma-maven-plugin</artifactId>
<version>1.0-alpha-3</version>
</plugin>
<!-- PMD manven plugin -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<version>3.1</version>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<!-- EMMA -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skipTests>true</skipTests>
<forkMode>once</forkMode>
<reportFormat>xml</reportFormat>
<excludes>
<exclude>**/Abstract*.java</exclude>
<exclude>**/*Suite.java</exclude>
</excludes>
<includes>
<include>**/*Test.java</include>
</includes>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>emma-maven-plugin</artifactId>
<inherited>true</inherited>
</plugin>
<!-- JavaDoc -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.9.1</version>
</plugin>
</plugins>
</build>
<reporting>
<outputDirectory>${basedir}/target/site</outputDirectory>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>2.7</version>
<reportSets>
<reportSet>
<id>sunlink</id>
<reports>
<report>javadoc</report>
</reports>
<inherited>true</inherited>
<configuration>
<links>
<link>http://docs.oracle.com/javase/6/docs/api/</link>
</links>
</configuration>
</reportSet>
</reportSets>
</plugin>
<!-- JUnit Test Results & EMMA Coverage Reporting -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>emma-maven-plugin</artifactId>
<inherited>true</inherited>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>surefire-report-maven-plugin</artifactId>
<inherited>true</inherited>
<reportSets>
<reportSet>
<reports>
<report>report-only</report>
</reports>
</reportSet>
</reportSets>
</plugin>
<!-- Generating JavaDoc Report -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<minmemory>128m</minmemory>
<maxmemory>512m</maxmemory>
<encoding>${encoding}</encoding>
<docencoding>${encoding}</docencoding>
<charset>${encoding}</charset>
</configuration>
</plugin>
<!-- Generating Java Source in HTML -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jxr-plugin</artifactId>
<configuration>
<inputEncoding>${encoding}</inputEncoding>
<outputEncoding>${encoding}</outputEncoding>
<linkJavadoc>true</linkJavadoc>
<javadocDir>apidocs</javadocDir>
</configuration>
</plugin>
</plugins>
</reporting>
</project>

@ -0,0 +1,110 @@
package egovframework.com.cmm;
/*
* Copyright 2002-2005 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import java.io.IOException;
import java.io.Reader;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.jdbc.support.lob.LobCreator;
import org.springframework.jdbc.support.lob.LobHandler;
import egovframework.rte.psl.orm.ibatis.support.AbstractLobTypeHandler;
/**
* iBATIS TypeHandler implementation for Strings that get mapped to CLOBs.
* Retrieves the LobHandler to use from SqlMapClientFactoryBean at config time.
*
* <p>Particularly useful for storing Strings with more than 4000 characters in an
* Oracle database (only possible via CLOBs), in combination with OracleLobHandler.
*
* <p>Can also be defined in generic iBATIS mappings, as DefaultLobCreator will
* work with most JDBC-compliant database drivers. In this case, the field type
* does not have to be BLOB: For databases like MySQL and MS SQL Server, any
* large enough binary type will work.
*
* @author Juergen Hoeller
* @since 1.1.5
* @see org.springframework.orm.ibatis.SqlMapClientFactoryBean#setLobHandler
*/
@SuppressWarnings("deprecation")
public class AltibaseClobStringTypeHandler extends AbstractLobTypeHandler {
private static final Logger LOGGER = LoggerFactory.getLogger(AltibaseClobStringTypeHandler.class);
/**
* Constructor used by iBATIS: fetches config-time LobHandler from
* SqlMapClientFactoryBean.
* @see org.springframework.orm.ibatis.SqlMapClientFactoryBean#getConfigTimeLobHandler
*/
public AltibaseClobStringTypeHandler() {
super();
}
/**
* Constructor used for testing: takes an explicit LobHandler.
*/
protected AltibaseClobStringTypeHandler(LobHandler lobHandler) {
super(lobHandler);
}
protected void setParameterInternal(
PreparedStatement ps, int index, Object value, String jdbcType, LobCreator lobCreator)
throws SQLException {
lobCreator.setClobAsString(ps, index, (String) value);
}
protected Object getResultInternal(ResultSet rs, int index, LobHandler lobHandler)
throws SQLException {
StringBuffer read_data = new StringBuffer("");
int read_length;
char [] buf = new char[1024];
Reader rd = lobHandler.getClobAsCharacterStream(rs, index);
try {
while( (read_length=rd.read(buf)) != -1) {
read_data.append(buf, 0, read_length);
}
} catch (IOException ie) {
LOGGER.debug("ie: {}", ie);//SQLException sqle = new SQLException(ie.getMessage());
//throw sqle;
// 2011.10.10 보안점검 후속조치
} finally {
if (rd != null) {
try {
rd.close();
} catch (Exception ignore) {
LOGGER.debug("IGNORE: {}", ignore.getMessage());
}
}
}
return read_data.toString();
//return lobHandler.getClobAsString(rs, index);
}
public Object valueOf(String s) {
return s;
}
}

@ -0,0 +1,189 @@
package egovframework.com.cmm;
import java.io.Serializable;
import org.apache.commons.lang3.builder.ToStringBuilder;
/**
*
* @author
* @since 2009.06.01
* @version 1.0
* @see
*
* <pre>
* << (Modification Information) >>
*
*
* ------- -------- ---------------------------
* 2009.3.11
*
* </pre>
*/
public class ComDefaultCodeVO implements Serializable {
/**
* serialVersion UID
*/
private static final long serialVersionUID = -2020648489890016404L;
/** 코드 ID */
private String codeId = "";
/** 상세코드 */
private String code = "";
/** 코드명 */
private String codeNm = "";
/** 코드설명 */
private String codeDc = "";
/** 특정테이블명 */
private String tableNm = ""; //특정테이블에서 코드정보를추출시 사용
/** 상세 조건 여부 */
private String haveDetailCondition = "N";
/** 상세 조건 */
private String detailCondition = "";
/**
* codeId attribute .
*
* @return the codeId
*/
public String getCodeId() {
return codeId;
}
/**
* codeId attribute .
*
* @param codeId
* the codeId to set
*/
public void setCodeId(String codeId) {
this.codeId = codeId;
}
/**
* code attribute .
*
* @return the code
*/
public String getCode() {
return code;
}
/**
* code attribute .
*
* @param code
* the code to set
*/
public void setCode(String code) {
this.code = code;
}
/**
* codeNm attribute .
*
* @return the codeNm
*/
public String getCodeNm() {
return codeNm;
}
/**
* codeNm attribute .
*
* @param codeNm
* the codeNm to set
*/
public void setCodeNm(String codeNm) {
this.codeNm = codeNm;
}
/**
* codeDc attribute .
*
* @return the codeDc
*/
public String getCodeDc() {
return codeDc;
}
/**
* codeDc attribute .
*
* @param codeDc
* the codeDc to set
*/
public void setCodeDc(String codeDc) {
this.codeDc = codeDc;
}
/**
* tableNm attribute .
*
* @return the tableNm
*/
public String getTableNm() {
return tableNm;
}
/**
* tableNm attribute .
*
* @param tableNm
* the tableNm to set
*/
public void setTableNm(String tableNm) {
this.tableNm = tableNm;
}
/**
* haveDetailCondition attribute .
*
* @return the haveDetailCondition
*/
public String getHaveDetailCondition() {
return haveDetailCondition;
}
/**
* haveDetailCondition attribute .
*
* @param haveDetailCondition
* the haveDetailCondition to set
*/
public void setHaveDetailCondition(String haveDetailCondition) {
this.haveDetailCondition = haveDetailCondition;
}
/**
* detailCondition attribute .
*
* @return the detailCondition
*/
public String getDetailCondition() {
return detailCondition;
}
/**
* detailCondition attribute .
*
* @param detailCondition
* the detailCondition to set
*/
public void setDetailCondition(String detailCondition) {
this.detailCondition = detailCondition;
}
/**
* toString .
*/
public String toString() {
return ToStringBuilder.reflectionToString(this);
}
}

@ -0,0 +1,167 @@
package egovframework.com.cmm;
import java.io.Serializable;
import org.apache.commons.lang3.builder.ToStringBuilder;
/**
* @Class Name : ComDefaultVO.java
* @Description : ComDefaultVO class
* @Modification Information
* @
* @
* @ ------- -------- ---------------------------
* @ 2009.02.01
*
* @author
* @since 2009.02.01
* @version 1.0
* @see
*
*/
public class ComDefaultVO implements Serializable {
private static final long serialVersionUID = 1L;
/** 검색조건 */
private String searchCondition = "";
/** 검색Keyword */
private String searchKeyword = "";
/** 검색사용여부 */
private String searchUseYn = "";
/** 현재페이지 */
private int pageIndex = 1;
/** 페이지갯수 */
private int pageUnit = 10;
/** 페이지사이즈 */
private int pageSize = 10;
/** firstIndex */
private int firstIndex = 1;
/** lastIndex */
private int lastIndex = 1;
/** recordCountPerPage */
private int recordCountPerPage = 10;
/** 검색KeywordFrom */
private String searchKeywordFrom = "";
/** 검색KeywordTo */
private String searchKeywordTo = "";
public int getFirstIndex() {
return firstIndex;
}
public void setFirstIndex(int firstIndex) {
this.firstIndex = firstIndex;
}
public int getLastIndex() {
return lastIndex;
}
public void setLastIndex(int lastIndex) {
this.lastIndex = lastIndex;
}
public int getRecordCountPerPage() {
return recordCountPerPage;
}
public void setRecordCountPerPage(int recordCountPerPage) {
this.recordCountPerPage = recordCountPerPage;
}
public String getSearchCondition() {
return searchCondition;
}
public void setSearchCondition(String searchCondition) {
this.searchCondition = searchCondition;
}
public String getSearchKeyword() {
return searchKeyword;
}
public void setSearchKeyword(String searchKeyword) {
this.searchKeyword = searchKeyword;
}
public String getSearchUseYn() {
return searchUseYn;
}
public void setSearchUseYn(String searchUseYn) {
this.searchUseYn = searchUseYn;
}
public int getPageIndex() {
return pageIndex;
}
public void setPageIndex(int pageIndex) {
this.pageIndex = pageIndex;
}
public int getPageUnit() {
return pageUnit;
}
public void setPageUnit(int pageUnit) {
this.pageUnit = pageUnit;
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public String toString() {
return ToStringBuilder.reflectionToString(this);
}
/**
* searchKeywordFrom attribute .
* @return String
*/
public String getSearchKeywordFrom() {
return searchKeywordFrom;
}
/**
* searchKeywordFrom attribute .
* @param searchKeywordFrom String
*/
public void setSearchKeywordFrom(String searchKeywordFrom) {
this.searchKeywordFrom = searchKeywordFrom;
}
/**
* searchKeywordTo attribute .
* @return String
*/
public String getSearchKeywordTo() {
return searchKeywordTo;
}
/**
* searchKeywordTo attribute .
* @param searchKeywordTo String
*/
public void setSearchKeywordTo(String searchKeywordTo) {
this.searchKeywordTo = searchKeywordTo;
}
}

@ -0,0 +1,408 @@
package egovframework.com.cmm;
import java.io.IOException;
import java.io.Reader;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.PageContext;
import javax.servlet.jsp.tagext.BodyTagSupport;
import org.apache.taglibs.standard.tag.common.core.Util;
/**
* Cross-Site Scripting JSP TLD,
*
* @author
* @since 2010.11.09
* @version 1.0
* @see <pre>
* &lt;&lt; (Modification Information) &gt;&gt;
*
*
* ------- -------- ---------------------------
* 2010.11.09
*
* </pre>
*/
public class EgovComCrossSiteHndlr extends BodyTagSupport {
/*
* (One almost wishes XML and JSP could support "anonymous tags," given the
* amount of trouble we had naming this one!) :-) - sb
*/
// *********************************************************************
// Internal state
private static final long serialVersionUID = -6750233818675360686L;
protected Object value; // tag attribute
protected String def; // tag attribute
protected boolean escapeXml; // tag attribute
private boolean needBody; // non-space body needed?
// *********************************************************************
// Construction and initialization
private String m_sDiffChar ="()[]{}\"',:;= \t\r\n%!+-";
//private String m_sDiffChar ="()[]{}\"',:;=%!+-";
private String m_sArrDiffChar [] = {
"&#40;","&#41;",
"&#91;","&#93;",
"&#123;","&#125;",
"&#34;","&#39;",
"&#44;","&#58;",
"&#59;","&#61;",
" ","\t", //" ","\t",
"\r","\n", //"\r","\n",
"&#37;","&#33;",
"&#43;","&#45;"
};
/**
* Constructs a new handler. As with TagSupport, subclasses should not
* provide other constructors and are expected to call the superclass
* constructor.
*/
public EgovComCrossSiteHndlr() {
super();
init();
}
// resets local state
private void init() {
value = def = null;
escapeXml = true;
needBody = false;
}
// Releases any resources we may have (or inherit)
@Override
public void release() {
super.release();
init();
}
// *********************************************************************
// Tag logic
// evaluates 'value' and determines if the body should be evaluted
@Override
public int doStartTag() throws JspException {
needBody = false; // reset state related to 'default'
this.bodyContent = null; // clean-up body (just in case container is
// pooling tag handlers)
JspWriter out = pageContext.getOut();
//System.out.println("EgovComCrossSiteFilter> ============================");
try {
// print value if available; otherwise, try 'default'
if (value != null) {
//System.out.println("EgovComCrossSiteFilter> =value");
String sWriteEscapedXml = getWriteEscapedXml();
//System.out.println("EgovComCrossSiteFilter sWriteEscapedXml>" + sWriteEscapedXml);
out.print(sWriteEscapedXml);
return SKIP_BODY;
} else {
// if we don't have a 'default' attribute, just go to the body
if (def == null) {
needBody = true;
return EVAL_BODY_BUFFERED;
}
//System.out.println("EgovComCrossSiteFilter def> ="+def);
// if we do have 'default', print it
if (def != null) {
// good 'default'
out(pageContext, escapeXml, def);
//System.out.println("EgovComCrossSiteFilter> ="+def);
}
return SKIP_BODY;
}
} catch (IOException ex) {
throw new JspException(ex.toString(), ex);
}
}
// prints the body if necessary; reports errors
@Override
public int doEndTag() throws JspException {
try {
//System.out.println("EgovComCrossSiteFilter ==== doEndTag");
if (!needBody){
return EVAL_PAGE; // nothing more to do
}
// trim and print out the body
if (bodyContent != null && bodyContent.getString() != null){
//String sWriteEscapedXml = getWriteEscapedXml();
//out2(pageContext, escapeXml, sWriteEscapedXml.toString());
//System.out.println("EgovComCrossSiteFilter> end");
//System.out.println("EgovComCrossSiteFilter sWriteEscapedXml > sWriteEscapedXml");
out(pageContext, escapeXml, bodyContent.getString().trim());
}
return EVAL_PAGE;
} catch (IOException ex) {
throw new JspException(ex.toString(), ex);
}
}
// *********************************************************************
// Public utility methods
/**
* Outputs <tt>text</tt> to <tt>pageContext</tt>'s current JspWriter. If
* <tt>escapeXml</tt> is true, performs the following substring replacements
* (to facilitate output to XML/HTML pages):
*
* & -> &amp; < -> &lt; > -> &gt; " -> &#034; ' -> &#039;
*
* See also Util.escapeXml().
*/
public static void out(PageContext pageContext, boolean escapeXml,
Object obj) throws IOException {
JspWriter w = pageContext.getOut();
if (!escapeXml) {
// write chars as is
if (obj instanceof Reader) {
Reader reader = (Reader) obj;
char[] buf = new char[4096];
int count;
while ((count = reader.read(buf, 0, 4096)) != -1) {
w.write(buf, 0, count);
}
} else {
w.write(obj.toString());
}
} else {
// escape XML chars
if (obj instanceof Reader) {
Reader reader = (Reader) obj;
char[] buf = new char[4096];
int count;
while ((count = reader.read(buf, 0, 4096)) != -1) {
writeEscapedXml(buf, count, w);
}
} else {
String text = obj.toString();
writeEscapedXml(text.toCharArray(), text.length(), w);
}
}
}
public static void out2(PageContext pageContext, boolean escapeXml,
Object obj) throws IOException {
JspWriter w = pageContext.getOut();
w.write(obj.toString());
}
/**
*
* Optimized to create no extra objects and write directly to the JspWriter
* using blocks of escaped and unescaped characters
*
*/
private static void writeEscapedXml(char[] buffer, int length, JspWriter w)
throws IOException {
int start = 0;
for (int i = 0; i < length; i++) {
char c = buffer[i];
if (c <= Util.HIGHEST_SPECIAL) {
char[] escaped = Util.specialCharactersRepresentation[c];
if (escaped != null) {
// add unescaped portion
if (start < i) {
w.write(buffer, start, i - start);
}
// add escaped xml
w.write(escaped);
start = i + 1;
}
}
}
// add rest of unescaped portion
if (start < length) {
w.write(buffer, start, length - start);
}
}
/**
*
* Optimized to create no extra objects and write directly to the JspWriter
* using blocks of escaped and unescaped characters
*
*/
@SuppressWarnings("unused")
private String getWriteEscapedXml() throws IOException {
String sRtn = "";
Object obj = this.value;
int start = 0;
String text = obj.toString();
int length = text.length();
char[] buffer = text.toCharArray();
boolean booleanDiff = false;
//String sDiffChar
//String sArrDiffChar
char[] cDiffChar = this.m_sDiffChar.toCharArray();
for(int i = 0; i < length; i++) {
char c = buffer[i];
booleanDiff = false;
for(int k = 0; k < cDiffChar.length; k++){
if(c == cDiffChar[k]){
sRtn = sRtn + m_sArrDiffChar[k];
booleanDiff = true;
continue;
}
}
if(booleanDiff) continue;
if (c <= Util.HIGHEST_SPECIAL) {
char[] escaped = Util.specialCharactersRepresentation[c];
if (escaped != null) {
// add unescaped portion
//if (start < i) {
// sRtn = sRtn + text.substring(start, i - start);
//}
// add escaped xml
//sRtn = sRtn + escaped;
//System.out.println(buffer[i]+" :: " + escaped);
for (int j = 0; j < escaped.length; j++) {
//System.out.println(buffer[i]+" :>: " + escaped[j]);
sRtn = sRtn + escaped[j];
}
//sRtn = sRtn+ escaped.toString();
//sRtn = sRtn + String.valueOf(buffer[i]);
start = i + 1;
}else{
sRtn = sRtn + c;
}
}else{
sRtn = sRtn + c;
}
}
return sRtn;
}
/**
*
* Optimized to create no extra objects and write directly to the JspWriter
* using blocks of escaped and unescaped characters
*
*/
@SuppressWarnings("unused")
private String getWriteEscapedXml(String sWriteString) throws IOException {
String sRtn = "";
Object obj = sWriteString;
int start = 0;
String text = obj.toString();
int length = text.length();
char[] buffer = text.toCharArray();
boolean booleanDiff = false;
//String sDiffChar
//String sArrDiffChar
char[] cDiffChar = this.m_sDiffChar.toCharArray();
for(int i = 0; i < length; i++) {
char c = buffer[i];
booleanDiff = false;
for(int k = 0; k < cDiffChar.length; k++){
if(c == cDiffChar[k]){
sRtn = sRtn + m_sArrDiffChar[k];
booleanDiff = true;
continue;
}
}
if(booleanDiff) continue;
if (c <= Util.HIGHEST_SPECIAL) {
char[] escaped = Util.specialCharactersRepresentation[c];
if (escaped != null) {
// add unescaped portion
//if (start < i) {
// sRtn = sRtn + text.substring(start, i - start);
//}
// add escaped xml
//sRtn = sRtn + escaped;
//System.out.println(buffer[i]+" :: " + escaped);
for (int j = 0; j < escaped.length; j++) {
//System.out.println(buffer[i]+" :>: " + escaped[j]);
sRtn = sRtn + escaped[j];
}
//sRtn = sRtn+ escaped.toString();
//sRtn = sRtn + String.valueOf(buffer[i]);
start = i + 1;
}else{
sRtn = sRtn + c;
}
}else{
sRtn = sRtn + c;
}
}
return sRtn;
}
// for tag attribute
public void setValue(Object value) {
this.value = value;
}
// for tag attribute
public void setDefault(String def) {
this.def = def;
}
// for tag attribute
public void setEscapeXml(boolean escapeXml) {
this.escapeXml = escapeXml;
}
/*
public static void main(String[] args) throws IOException
{
EgovComCrossSiteHndlr egovComCrossSiteHndlr = new EgovComCrossSiteHndlr();
egovComCrossSiteHndlr.value = "TRNSMIT";
String sCrossSiteHndlr = egovComCrossSiteHndlr.getWriteEscapedXml();
//System.out.println("writeEscapedXml " + egovComCrossSiteHndlr.getWriteEscapedXml());
System.out.println("sCrossSiteHndlr|"+ sCrossSiteHndlr + "|");
try{
System.out.println("TRY TEST 1");
throw new Exception();
}catch(Exception e){
System.out.println("TRY TEST 2");
}finally{
System.out.println("TRY TEST 3");
}
}
*/
}

@ -0,0 +1,34 @@
package egovframework.com.cmm;
import egovframework.rte.fdl.cmmn.exception.handler.ExceptionHandler;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* @Class Name : EgovComExcepHndlr.java
* @Description : exception
* @Modification Information
*
*
* ------- ------- -------------------
* 2009. 3. 13.
*
* @author
* @since 2009. 3. 13.
* @version
* @see
*
*/
public class EgovComExcepHndlr implements ExceptionHandler {
private static final Logger LOGGER = LoggerFactory.getLogger(EgovComExcepHndlr.class);
/**
* Exception .
*/
public void occur(Exception ex, String packageName) {
LOGGER.debug("[HANDLER][PACKAGE]::: {}", packageName);
LOGGER.debug("[HANDLER][Exception]:::", ex);
}
}

@ -0,0 +1,16 @@
package egovframework.com.cmm;
import egovframework.rte.fdl.cmmn.exception.handler.ExceptionHandler;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class EgovComOthersExcepHndlr implements ExceptionHandler {
private static final Logger LOGGER = LoggerFactory.getLogger(EgovComOthersExcepHndlr.class);
public void occur(Exception exception, String packageName) {
//log.debug(" EgovServiceExceptionHandler run...............");
LOGGER.error(packageName, exception);
}
}

@ -0,0 +1,34 @@
package egovframework.com.cmm;
import egovframework.rte.fdl.cmmn.trace.handler.TraceHandler;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* @Class Name : EgovComTraceHandler.java
* @Description : trace
* @Modification Information
*
*
* ------- ------- -------------------
* 2011. 09. 30. JJY
*
* @author JJY
* @since 2011. 9. 30.
*
*/
public class EgovComTraceHandler implements TraceHandler {
private static final Logger LOGGER = LoggerFactory.getLogger(EgovComTraceHandler.class);
/**
* .
*/
public void todo(Class<?> clazz, String message) {
//System.out.println("log ==> DefaultTraceHandler run...............");
LOGGER.debug("[TRACE]CLASS::: {}", clazz.getName());
LOGGER.debug("[TRACE]MESSAGE::: {}", message);
//이곳에서 후속처리로 필요한 액션을 취할 수 있다.
}
}

@ -0,0 +1,63 @@
package egovframework.com.cmm;
import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.NoSuchBeanDefinitionException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Service;
/**
* EgovComUtil
*
* @author
* @since 2011.09.15
* @version 1.0
* @see
*
* <pre>
* << (Modification Information) >>
*
*
* ------- ------------- ----------------------
* 2011.09.15
* </pre>
*/
@Service("egovUtil")
public class EgovComponentChecker extends EgovAbstractServiceImpl implements ApplicationContextAware{
public static ApplicationContext context;
@Override
@SuppressWarnings("static-access")
public void setApplicationContext(ApplicationContext context)
throws BeansException {
this.context = context;
}
/**
* Spring MVC ()
*
*/
public static boolean hasComponent(String componentName){
try{
Object component = context.getBean(componentName);
if(component == null){
return false;
}else{
return true;
}
}catch(NoSuchBeanDefinitionException ex){// 해당 컴포넌트를 찾을 수없을 경우 false반환
return false;
}
}
}

@ -0,0 +1,55 @@
package egovframework.com.cmm;
import java.util.Locale;
import org.springframework.context.MessageSource;
import org.springframework.context.support.ReloadableResourceBundleMessageSource;
/**
* MessageSource ReloadableResourceBundleMessageSource
* @author
* @since 2009.06.01
* @version 1.0
* @see
*
* <pre>
* << (Modification Information) >>
*
*
* ------- -------- ---------------------------
* 2009.03.11
*
* </pre>
*/
public class EgovMessageSource extends ReloadableResourceBundleMessageSource implements MessageSource {
private ReloadableResourceBundleMessageSource reloadableResourceBundleMessageSource;
/**
* getReloadableResourceBundleMessageSource()
* @param reloadableResourceBundleMessageSource - resource MessageSource
* @return ReloadableResourceBundleMessageSource
*/
public void setReloadableResourceBundleMessageSource(ReloadableResourceBundleMessageSource reloadableResourceBundleMessageSource) {
this.reloadableResourceBundleMessageSource = reloadableResourceBundleMessageSource;
}
/**
* getReloadableResourceBundleMessageSource()
* @return ReloadableResourceBundleMessageSource
*/
public ReloadableResourceBundleMessageSource getReloadableResourceBundleMessageSource() {
return reloadableResourceBundleMessageSource;
}
/**
*
* @param code -
* @return String
*/
public String getMessage(String code) {
return getReloadableResourceBundleMessageSource().getMessage(code, null, Locale.getDefault());
}
}

@ -0,0 +1,48 @@
package egovframework.com.cmm;
import egovframework.rte.ptl.mvc.tags.ui.pagination.AbstractPaginationRenderer;
import javax.servlet.ServletContext;
import org.springframework.web.context.ServletContextAware;
/**
* ImagePaginationRenderer.java
*
* @author
* @since 2011. 9. 16.
* @version 1.0
* @see
*
* <pre>
* << (Modification Information) >>
*
*
* ------- ------------- ----------------------
* 2011. 9. 16. ContextPath
* </pre>
*/
public class ImagePaginationRenderer extends AbstractPaginationRenderer implements ServletContextAware{
private ServletContext servletContext;
public ImagePaginationRenderer() {
}
public void initVariables(){
firstPageLabel = "<li>&#160;</li><li><a href=\"?pageIndex={1}\" onclick=\"{0}({1});return false; \"><img src=\"" + servletContext.getContextPath() + "/images/egovframework/com/cmm/mod/icon/icon_prevend.gif\" alt=\"처음\" border=\"0\"/></a></li>";
previousPageLabel = "<li><a href=\"?pageIndex={1}\" onclick=\"{0}({1});return false; \"><img src=\"" + servletContext.getContextPath() + "/images/egovframework/com/cmm/mod/icon/icon_prev.gif\" alt=\"이전\" border=\"0\"/></a></li>";
currentPageLabel = "<li><strong>{0}</strong></li>";
otherPageLabel = "<li><a href=\"?pageIndex={1}\" onclick=\"{0}({1});return false; \">{2}</a></li>";
nextPageLabel = "<li>&#160;<a href=\"?pageIndex={1}\" onclick=\"{0}({1});return false; \"><img src=\"" + servletContext.getContextPath() + "/images/egovframework/com/cmm/mod/icon/icon_next.gif\" alt=\"다음\" border=\"0\"/></a></li>";
lastPageLabel = "<li><a href=\"?pageIndex={1}\" onclick=\"{0}({1});return false; \"><img src=\"" + servletContext.getContextPath() + "/images/egovframework/com/cmm/mod/icon/icon_nextend.gif\" alt=\"마지막\" border=\"0\"/></a></li>";
}
public void setServletContext(ServletContext servletContext) {
this.servletContext = servletContext;
initVariables();
}
}

@ -0,0 +1,50 @@
package egovframework.com.cmm;
/**
* IncludedInfo annotation VO
* @author
* @since 2011.08.26
* @version 2.0.0
* @see
*
* <pre>
* << (Modification Information) >>
*
*
* ------- -------- ---------------------------
* 2011.08.26
*
* </pre>
*/
public class IncludedCompInfoVO {
private String name;
private String listUrl;
private int order;
private int gid;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getListUrl() {
return listUrl;
}
public void setListUrl(String listUrl) {
this.listUrl = listUrl;
}
public int getOrder() {
return order;
}
public void setOrder(int order) {
this.order = order;
}
public int getGid() {
return gid;
}
public void setGid(int gid) {
this.gid = gid;
}
}

@ -0,0 +1,270 @@
package egovframework.com.cmm;
import java.io.Serializable;
/**
* @Class Name : LoginVO.java
* @Description : Login VO class
* @Modification Information
* @
* @
* @ ------- -------- ---------------------------
* @ 2009.03.03
*
* @author
* @since 2009.03.03
* @version 1.0
* @see
*
*/
public class LoginVO implements Serializable{
/**
*
*/
private static final long serialVersionUID = -8274004534207618049L;
/** 아이디 */
private String id;
/** 이름 */
private String name;
/** 주민등록번호 */
private String ihidNum;
/** 이메일주소 */
private String email;
/** 비밀번호 */
private String password;
/** 비밀번호 힌트 */
private String passwordHint;
/** 비밀번호 정답 */
private String passwordCnsr;
/** 사용자구분 */
private String userSe;
/** 조직(부서)ID */
private String orgnztId;
/** 조직(부서)명 */
private String orgnztNm;
/** 고유아이디 */
private String uniqId;
/** 로그인 후 이동할 페이지 */
private String url;
/** 사용자 IP정보 */
private String ip;
/** GPKI인증 DN */
private String dn;
/**
* id attribute .
* @return String
*/
public String getId() {
return id;
}
/**
* id attribute .
* @param id String
*/
public void setId(String id) {
this.id = id;
}
/**
* name attribute .
* @return String
*/
public String getName() {
return name;
}
/**
* name attribute .
* @param name String
*/
public void setName(String name) {
this.name = name;
}
/**
* ihidNum attribute .
* @return String
*/
public String getIhidNum() {
return ihidNum;
}
/**
* ihidNum attribute .
* @param ihidNum String
*/
public void setIhidNum(String ihidNum) {
this.ihidNum = ihidNum;
}
/**
* email attribute .
* @return String
*/
public String getEmail() {
return email;
}
/**
* email attribute .
* @param email String
*/
public void setEmail(String email) {
this.email = email;
}
/**
* password attribute .
* @return String
*/
public String getPassword() {
return password;
}
/**
* password attribute .
* @param password String
*/
public void setPassword(String password) {
this.password = password;
}
/**
* passwordHint attribute .
* @return String
*/
public String getPasswordHint() {
return passwordHint;
}
/**
* passwordHint attribute .
* @param passwordHint String
*/
public void setPasswordHint(String passwordHint) {
this.passwordHint = passwordHint;
}
/**
* passwordCnsr attribute .
* @return String
*/
public String getPasswordCnsr() {
return passwordCnsr;
}
/**
* passwordCnsr attribute .
* @param passwordCnsr String
*/
public void setPasswordCnsr(String passwordCnsr) {
this.passwordCnsr = passwordCnsr;
}
/**
* userSe attribute .
* @return String
*/
public String getUserSe() {
return userSe;
}
/**
* userSe attribute .
* @param userSe String
*/
public void setUserSe(String userSe) {
this.userSe = userSe;
}
/**
* orgnztId attribute .
* @return String
*/
public String getOrgnztId() {
return orgnztId;
}
/**
* orgnztId attribute .
* @param orgnztId String
*/
public void setOrgnztId(String orgnztId) {
this.orgnztId = orgnztId;
}
/**
* uniqId attribute .
* @return String
*/
public String getUniqId() {
return uniqId;
}
/**
* uniqId attribute .
* @param uniqId String
*/
public void setUniqId(String uniqId) {
this.uniqId = uniqId;
}
/**
* url attribute .
* @return String
*/
public String getUrl() {
return url;
}
/**
* url attribute .
* @param url String
*/
public void setUrl(String url) {
this.url = url;
}
/**
* ip attribute .
* @return String
*/
public String getIp() {
return ip;
}
/**
* ip attribute .
* @param ip String
*/
public void setIp(String ip) {
this.ip = ip;
}
/**
* dn attribute .
* @return String
*/
public String getDn() {
return dn;
}
/**
* dn attribute .
* @param dn String
*/
public void setDn(String dn) {
this.dn = dn;
}
/**
* @return the orgnztNm
*/
public String getOrgnztNm() {
return orgnztNm;
}
/**
* @param orgnztNm the orgnztNm to set
*/
public void setOrgnztNm(String orgnztNm) {
this.orgnztNm = orgnztNm;
}
@Override
public String toString() {
final StringBuffer sb = new StringBuffer("LoginVO{");
sb.append("id='").append(id).append('\'');
sb.append(", name='").append(name).append('\'');
sb.append(", ihidNum='").append(ihidNum).append('\'');
sb.append(", email='").append(email).append('\'');
sb.append(", password='").append(password).append('\'');
sb.append(", passwordHint='").append(passwordHint).append('\'');
sb.append(", passwordCnsr='").append(passwordCnsr).append('\'');
sb.append(", userSe='").append(userSe).append('\'');
sb.append(", orgnztId='").append(orgnztId).append('\'');
sb.append(", orgnztNm='").append(orgnztNm).append('\'');
sb.append(", uniqId='").append(uniqId).append('\'');
sb.append(", url='").append(url).append('\'');
sb.append(", ip='").append(ip).append('\'');
sb.append(", dn='").append(dn).append('\'');
sb.append('}');
return sb.toString();
}
}

@ -0,0 +1,120 @@
package egovframework.com.cmm;
import java.io.Serializable;
/**
* VO
* @author
* @since 2009.03.06
* @version 1.0
* @see
*
* <pre>
* << (Modification Information) >>
*
*
* ------- -------- ---------------------------
* 2009.03.06
*
* </pre>
*/
public class SessionVO implements Serializable {
private static final long serialVersionUID = -2848741427493626376L;
/** 아이디 */
private String sUserId;
/** 이름 */
private String sUserNm;
/** 이메일 */
private String sEmail;
/** 사용자구분 */
private String sUserSe;
/** 조직(부서)ID */
private String orgnztId;
/** 고유아이디 */
private String uniqId;
/**
* sUserId attribute .
* @return String
*/
public String getSUserId() {
return sUserId;
}
/**
* sUserId attribute .
* @param sUserId String
*/
public void setSUserId(String userId) {
sUserId = userId;
}
/**
* sUserNm attribute .
* @return String
*/
public String getSUserNm() {
return sUserNm;
}
/**
* sUserNm attribute .
* @param sUserNm String
*/
public void setSUserNm(String userNm) {
sUserNm = userNm;
}
/**
* sEmail attribute .
* @return String
*/
public String getSEmail() {
return sEmail;
}
/**
* sEmail attribute .
* @param sEmail String
*/
public void setSEmail(String email) {
sEmail = email;
}
/**
* sUserSe attribute .
* @return String
*/
public String getSUserSe() {
return sUserSe;
}
/**
* sUserSe attribute .
* @param sUserSe String
*/
public void setSUserSe(String userSe) {
sUserSe = userSe;
}
/**
* orgnztId attribute .
* @return String
*/
public String getOrgnztId() {
return orgnztId;
}
/**
* orgnztId attribute .
* @param orgnztId String
*/
public void setOrgnztId(String orgnztId) {
this.orgnztId = orgnztId;
}
/**
* uniqId attribute .
* @return String
*/
public String getUniqId() {
return uniqId;
}
/**
* uniqId attribute .
* @param uniqId String
*/
public void setUniqId(String uniqId) {
this.uniqId = uniqId;
}
}

@ -0,0 +1,33 @@
package egovframework.com.cmm.annotation;
/**
* annotation
* Controller annotation ,
* Controller url mapping
* annotation .
* @author
* @since 2011.08.26
* @version 2.0.0
* @see
*
* <pre>
* << (Modification Information) >>
*
*
* ------- -------- ---------------------------
* 2011.08.26
*
* </pre>
*/
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
@Retention(RetentionPolicy.RUNTIME)
public @interface IncludedInfo {
String name() default ""; // 컴포넌트의 한글 이름
String listUrl() default ""; // 컴포넌트의 목록정보조회를 위한 URL
int order() default 0; // 자동 생성되는 메뉴 목록에 표시되는 순서
int gid() default 0; // 컴포넌트의 Group ID(대분류 구분)
}

@ -0,0 +1,46 @@
/*
* Copyright 2008-2009 MOPAS(Ministry of Public Administration and Security).
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package egovframework.com.cmm.filter;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
public class HTMLTagFilter implements Filter{
@SuppressWarnings("unused")
private FilterConfig config;
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
chain.doFilter(new HTMLTagFilterRequestWrapper((HttpServletRequest)request), response);
}
public void init(FilterConfig config) throws ServletException {
this.config = config;
}
public void destroy() {
}
}

@ -0,0 +1,109 @@
/*
* Copyright 2008-2009 MOPAS(Ministry of Public Administration and Security).
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package egovframework.com.cmm.filter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletRequestWrapper;
public class HTMLTagFilterRequestWrapper extends HttpServletRequestWrapper {
public HTMLTagFilterRequestWrapper(HttpServletRequest request) {
super(request);
}
public String[] getParameterValues(String parameter) {
String[] values = super.getParameterValues(parameter);
if(values==null){
return null;
}
for (int i = 0; i < values.length; i++) {
if (values[i] != null) {
StringBuffer strBuff = new StringBuffer();
for (int j = 0; j < values[i].length(); j++) {
char c = values[i].charAt(j);
switch (c) {
case '<':
strBuff.append("&lt;");
break;
case '>':
strBuff.append("&gt;");
break;
//case '&':
//strBuff.append("&amp;");
//break;
case '"':
strBuff.append("&quot;");
break;
case '\'':
strBuff.append("&apos;");
break;
default:
strBuff.append(c);
break;
}
}
values[i] = strBuff.toString();
} else {
values[i] = null;
}
}
return values;
}
public String getParameter(String parameter) {
String value = super.getParameter(parameter);
if(value==null){
return null;
}
StringBuffer strBuff = new StringBuffer();
for (int i = 0; i < value.length(); i++) {
char c = value.charAt(i);
switch (c) {
case '<':
strBuff.append("&lt;");
break;
case '>':
strBuff.append("&gt;");
break;
case '&':
strBuff.append("&amp;");
break;
case '"':
strBuff.append("&quot;");
break;
case '\'':
strBuff.append("&apos;");
break;
default:
strBuff.append(c);
break;
}
}
value = strBuff.toString();
return value;
}
}

@ -0,0 +1,60 @@
package egovframework.com.cmm.interceptor;
import egovframework.com.cmm.LoginVO;
import egovframework.com.cmm.util.EgovUserDetailsHelper;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.ModelAndViewDefiningException;
import org.springframework.web.servlet.mvc.WebContentInterceptor;
import java.io.IOException;
/**
*
* @author
* @since 2011.07.01
* @version 1.0
* @see
*
* <pre>
* << (Modification Information) >>
*
*
* ------- -------- ---------------------------
* 2011.07.01
* 2011.09.07 URL
* 2014.06.11 URL (xml )
* </pre>
*/
public class AuthenticInterceptor extends WebContentInterceptor {
/**
* (LoginVO) .
* (LoginVO) , .
*/
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws ServletException {
LoginVO loginVO = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser();
boolean isBool = EgovUserDetailsHelper.isAuthenticated();
//System.out.println(isBool);
Object loginSession = request.getSession().getAttribute("LoginVO");
//System.out.println(loginVO);
//System.out.println(loginSession);
String reqUrl = request.getRequestURI();
String w2xPath = request.getParameter("w2xPath");
if (loginSession != null) {
return true;
} else {
ModelAndView modelAndView = new ModelAndView("redirect:/login/loginUsr.do");
throw new ModelAndViewDefiningException(modelAndView);
}
}
}

@ -0,0 +1,194 @@
package egovframework.com.cmm.service;
import java.io.Serializable;
/**
*
* @author
* @since 2009.04.01
* @version 1.0
* @see
*
* <pre>
* << (Modification Information) >>
*
*
* ------- -------- ---------------------------
* 2009.04.01
*
* </pre>
*/
public class CmmnDetailCode implements Serializable {
private static final long serialVersionUID = -6508801327314181679L;
/*
* ID
*/
private String codeId = "";
/*
* ID
*/
private String codeIdNm = "";
/*
*
*/
private String code = "";
/*
*
*/
private String codeNm = "";
/*
*
*/
private String codeDc = "";
/*
*
*/
private String useAt = "";
/*
* ID
*/
private String frstRegisterId = "";
/*
* ID
*/
private String lastUpdusrId = "";
/**
* codeId attribute .
* @return String
*/
public String getCodeId() {
return codeId;
}
/**
* codeId attribute .
* @param codeId String
*/
public void setCodeId(String codeId) {
this.codeId = codeId;
}
/**
* codeIdNm attribute .
* @return String
*/
public String getCodeIdNm() {
return codeIdNm;
}
/**
* codeIdNm attribute .
* @param codeIdNm String
*/
public void setCodeIdNm(String codeIdNm) {
this.codeIdNm = codeIdNm;
}
/**
* code attribute .
* @return String
*/
public String getCode() {
return code;
}
/**
* code attribute .
* @param code String
*/
public void setCode(String code) {
this.code = code;
}
/**
* codeNm attribute .
* @return String
*/
public String getCodeNm() {
return codeNm;
}
/**
* codeNm attribute .
* @param codeNm String
*/
public void setCodeNm(String codeNm) {
this.codeNm = codeNm;
}
/**
* codeDc attribute .
* @return String
*/
public String getCodeDc() {
return codeDc;
}
/**
* codeDc attribute .
* @param codeDc String
*/
public void setCodeDc(String codeDc) {
this.codeDc = codeDc;
}
/**
* useAt attribute .
* @return String
*/
public String getUseAt() {
return useAt;
}
/**
* useAt attribute .
* @param useAt String
*/
public void setUseAt(String useAt) {
this.useAt = useAt;
}
/**
* frstRegisterId attribute .
* @return String
*/
public String getFrstRegisterId() {
return frstRegisterId;
}
/**
* frstRegisterId attribute .
* @param frstRegisterId String
*/
public void setFrstRegisterId(String frstRegisterId) {
this.frstRegisterId = frstRegisterId;
}
/**
* lastUpdusrId attribute .
* @return String
*/
public String getLastUpdusrId() {
return lastUpdusrId;
}
/**
* lastUpdusrId attribute .
* @param lastUpdusrId String
*/
public void setLastUpdusrId(String lastUpdusrId) {
this.lastUpdusrId = lastUpdusrId;
}
}

@ -0,0 +1,64 @@
package egovframework.com.cmm.service;
import java.util.List;
import java.util.Map;
import egovframework.com.cmm.ComDefaultCodeVO;
/**
*
*
* @author
* @since 2009.04.01
* @version 1.0
* @see
*
* <pre>
* << (Modification Information) >>
*
*
* ------- -------- ---------------------------
* 2009.03.11
*
* </pre>
*/
public interface EgovCmmUseService {
/**
* .
*
* @param vo
* @return List()
* @throws Exception
*/
public List<CmmnDetailCode> selectCmmCodeDetail(ComDefaultCodeVO vo) throws Exception;
/**
* ComDefaultCodeVO .
*
* @param voList
* @return Map()
* @throws Exception
*/
public Map<String, List<CmmnDetailCode>> selectCmmCodeDetails(List<?> voList) throws Exception;
/**
* .
*
* @param vo
* @return List
* @throws Exception
*/
public List<CmmnDetailCode> selectOgrnztIdDetail(ComDefaultCodeVO vo) throws Exception;
/**
* .
*
* @param vo
* @return List
* @throws Exception
*/
public List<CmmnDetailCode> selectGroupIdDetail(ComDefaultCodeVO vo) throws Exception;
}

@ -0,0 +1,115 @@
package egovframework.com.cmm.service;
import java.util.List;
import java.util.Map;
/**
* @Class Name : EgovFileMngService.java
* @Description :
* @Modification Information
*
*
* ------- ------- -------------------
* 2009. 3. 25.
*
* @author
* @since 2009. 3. 25.
* @version
* @see
*
*/
public interface EgovFileMngService {
/**
* .
*
* @param fvo
* @return
* @throws Exception
*/
public List<FileVO> selectFileInfs(FileVO fvo) throws Exception;
/**
* ( ) .
*
* @param fvo
* @throws Exception
*/
public String insertFileInf(FileVO fvo) throws Exception;
/**
* ( ) .
*
* @param fvoList
* @throws Exception
*/
public String insertFileInfs(List<?> fvoList) throws Exception;
/**
* ( ) .
*
* @param fvoList
* @throws Exception
*/
public void updateFileInfs(List<?> fvoList) throws Exception;
/**
* .
*
* @param fvoList
* @throws Exception
*/
public void deleteFileInfs(List<?> fvoList) throws Exception;
/**
* .
*
* @param fvo
* @throws Exception
*/
public void deleteFileInf(FileVO fvo) throws Exception;
/**
* .
*
* @param fvo
* @return
* @throws Exception
*/
public FileVO selectFileInf(FileVO fvo) throws Exception;
/**
* .
*
* @param fvo
* @return
* @throws Exception
*/
public int getMaxFileSN(FileVO fvo) throws Exception;
/**
* .
*
* @param fvo
* @throws Exception
*/
public void deleteAllFileInf(FileVO fvo) throws Exception;
/**
* .
*
* @param fvo
* @return
* @throws Exception
*/
public Map<String, Object> selectFileListByFileNm(FileVO fvo) throws Exception;
/**
* .
*
* @param vo
* @return
* @throws Exception
*/
public List<FileVO> selectImageFileList(FileVO vo) throws Exception;
}

@ -0,0 +1,244 @@
package egovframework.com.cmm.service;
import java.io.File;
import java.io.FileInputStream;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Map;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
//import java.io.FileNotFoundException;
//import java.io.IOException;
//import java.util.Properties;
/**
* Class Name : EgovProperties.java
* Description : properties Globals
* .
* Modification Information
*
*
* ------- -------- ---------------------------
* 2009.01.19
* 2011.07.20 Globals
* 2011.08.31 JJY 릿
*
* @author
* @since 2009. 01. 19
* @version 1.0
* @see
*
*/
public class EgovProperties{
private static final Logger LOGGER = LoggerFactory.getLogger(EgovProperties.class);
//프로퍼티값 로드시 에러발생하면 반환되는 에러문자열
public static final String ERR_CODE =" EXCEPTION OCCURRED";
public static final String ERR_CODE_FNFE =" EXCEPTION(FNFE) OCCURRED";
public static final String ERR_CODE_IOE =" EXCEPTION(IOE) OCCURRED";
//파일구분자
static final char FILE_SEPARATOR = File.separatorChar;
//프로퍼티 파일의 물리적 위치
/*public static final String GLOBALS_PROPERTIES_FILE
= System.getProperty("user.home") + System.getProperty("file.separator") + "egovProps"
+ System.getProperty("file.separator") + "globals.properties";*/
public static final String RELATIVE_PATH_PREFIX = EgovProperties.class.getResource("").getPath()
+ System.getProperty("file.separator") + ".." + System.getProperty("file.separator")
+ ".." + System.getProperty("file.separator") + ".." + System.getProperty("file.separator");
public static final String GLOBALS_PROPERTIES_FILE
= RELATIVE_PATH_PREFIX + "egovProps" + System.getProperty("file.separator") + "globals.properties";
/**
* Key (Globals.java )
* @param keyName String
* @return String
public static String getPathProperty(String keyName){
String value = ERR_CODE;
value="99";
debug(GLOBALS_PROPERTIES_FILE + " : " + keyName);
FileInputStream fis = null;
try{
Properties props = new Properties();
fis = new FileInputStream(GLOBALS_PROPERTIES_FILE);
props.load(new java.io.BufferedInputStream(fis));
value = props.getProperty(keyName).trim();
value = RELATIVE_PATH_PREFIX + "egovProps" + System.getProperty("file.separator") + value;
}catch(FileNotFoundException fne){
debug(fne);
}catch(IOException ioe){
debug(ioe);
}catch(Exception e){
debug(e);
}finally{
try {
if (fis != null) fis.close();
} catch (Exception ex) {
ex.printStackTrace();
}
}
return value;
}
*/
/**
* Key (Globals.java )
* @param keyName String
* @return String
public static String getProperty(String keyName){
String value = ERR_CODE;
value="99";
debug(GLOBALS_PROPERTIES_FILE + " : " + keyName);
FileInputStream fis = null;
try{
Properties props = new Properties();
fis = new FileInputStream(GLOBALS_PROPERTIES_FILE);
props.load(new java.io.BufferedInputStream(fis));
value = props.getProperty(keyName).trim();
}catch(FileNotFoundException fne){
debug(fne);
}catch(IOException ioe){
debug(ioe);
}catch(Exception e){
debug(e);
}finally{
try {
if (fis != null) fis.close();
} catch (Exception ex) {
ex.printStackTrace();
}
}
return value;
}
*/
/**
* Key
* @param fileName String
* @param key String
* @return String
public static String getPathProperty(String fileName, String key){
FileInputStream fis = null;
try{
java.util.Properties props = new java.util.Properties();
fis = new FileInputStream(fileName);
props.load(new java.io.BufferedInputStream(fis));
fis.close();
String value = props.getProperty(key);
value = RELATIVE_PATH_PREFIX + "egovProps" + System.getProperty("file.separator") + value;
return value;
}catch(java.io.FileNotFoundException fne){
return ERR_CODE_FNFE;
}catch(java.io.IOException ioe){
return ERR_CODE_IOE;
}finally{
try {
if (fis != null) fis.close();
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
*/
/**
* Key
* @param fileName String
* @param key String
* @return String
public static String getProperty(String fileName, String key){
FileInputStream fis = null;
try{
java.util.Properties props = new java.util.Properties();
fis = new FileInputStream(fileName);
props.load(new java.io.BufferedInputStream(fis));
fis.close();
String value = props.getProperty(key);
return value;
}catch(java.io.FileNotFoundException fne){
return ERR_CODE_FNFE;
}catch(java.io.IOException ioe){
return ERR_CODE_IOE;
}finally{
try {
if (fis != null) fis.close();
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
*/
/**
* (key-value) .
* @param property String
* @return ArrayList
*/
@SuppressWarnings("unused")
public static ArrayList<Map<String, String>> loadPropertyFile(String property){
// key - value 형태로 된 배열 결과
ArrayList<Map<String, String>> keyList = new ArrayList<Map<String, String>>();
String src = property.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR);
FileInputStream fis = null;
try
{
File srcFile = new File(src);
if (srcFile.exists()) {
java.util.Properties props = new java.util.Properties();
fis = new FileInputStream(src);
props.load(new java.io.BufferedInputStream(fis));
fis.close();
int i = 0;
Enumeration<?> plist = props.propertyNames();
if (plist != null) {
while (plist.hasMoreElements()) {
Map<String, String> map = new HashMap<String, String>();
String key = (String)plist.nextElement();
map.put(key, props.getProperty(key));
keyList.add(map);
}
}
}
} catch (Exception ex){
debug("EX:"+ex);
} finally {
try {
if (fis != null) fis.close();
} catch (Exception ex) {
debug("EX:"+ex);
}
}
return keyList;
}
/**
* .
* @param obj Object
*/
private static void debug(Object obj) {
if (obj instanceof java.lang.Exception) {
LOGGER.debug("IGNORED: {}", ((Exception)obj).getMessage());
}
}
}

@ -0,0 +1,26 @@
package egovframework.com.cmm.service;
import java.util.List;
public interface EgovUserDetailsService {
/**
* VO .
* @return Object - ValueObject
*/
public Object getAuthenticatedUser();
/**
* .
* ) [ROLE_ADMIN, ROLE_USER, ROLE_A, ROLE_B, ROLE_RESTRICTED, IS_AUTHENTICATED_FULLY, IS_AUTHENTICATED_REMEMBERED, IS_AUTHENTICATED_ANONYMOUSLY]
* @return List -
*/
public List<String> getAuthorities();
/**
* .
* @return Boolean - (TRUE / FALSE)
*/
public Boolean isAuthenticated();
}

@ -0,0 +1,243 @@
package egovframework.com.cmm.service;
import java.io.Serializable;
import org.apache.commons.lang3.builder.ToStringBuilder;
/**
* @Class Name : FileVO.java
* @Description : VO
* @Modification Information
*
*
* ------- ------- -------------------
* 2009. 3. 25.
*
* @author
* @since 2009. 3. 25.
* @version
* @see
*
*/
public class FileVO implements Serializable {
/**
* serialVersion UID
*/
private static final long serialVersionUID = -287950405903719128L;
/**
*
*/
public String atchFileId = "";
/**
*
*/
public String creatDt = "";
/**
*
*/
public String fileCn = "";
/**
*
*/
public String fileExtsn = "";
/**
*
*/
public String fileMg = "";
/**
*
*/
public String fileSn = "";
/**
*
*/
public String fileStreCours = "";
/**
*
*/
public String orignlFileNm = "";
/**
*
*/
public String streFileNm = "";
/**
* atchFileId attribute .
*
* @return the atchFileId
*/
public String getAtchFileId() {
return atchFileId;
}
/**
* atchFileId attribute .
*
* @param atchFileId
* the atchFileId to set
*/
public void setAtchFileId(String atchFileId) {
this.atchFileId = atchFileId;
}
/**
* creatDt attribute .
*
* @return the creatDt
*/
public String getCreatDt() {
return creatDt;
}
/**
* creatDt attribute .
*
* @param creatDt
* the creatDt to set
*/
public void setCreatDt(String creatDt) {
this.creatDt = creatDt;
}
/**
* fileCn attribute .
*
* @return the fileCn
*/
public String getFileCn() {
return fileCn;
}
/**
* fileCn attribute .
*
* @param fileCn
* the fileCn to set
*/
public void setFileCn(String fileCn) {
this.fileCn = fileCn;
}
/**
* fileExtsn attribute .
*
* @return the fileExtsn
*/
public String getFileExtsn() {
return fileExtsn;
}
/**
* fileExtsn attribute .
*
* @param fileExtsn
* the fileExtsn to set
*/
public void setFileExtsn(String fileExtsn) {
this.fileExtsn = fileExtsn;
}
/**
* fileMg attribute .
*
* @return the fileMg
*/
public String getFileMg() {
return fileMg;
}
/**
* fileMg attribute .
*
* @param fileMg
* the fileMg to set
*/
public void setFileMg(String fileMg) {
this.fileMg = fileMg;
}
/**
* fileSn attribute .
*
* @return the fileSn
*/
public String getFileSn() {
return fileSn;
}
/**
* fileSn attribute .
*
* @param fileSn
* the fileSn to set
*/
public void setFileSn(String fileSn) {
this.fileSn = fileSn;
}
/**
* fileStreCours attribute .
*
* @return the fileStreCours
*/
public String getFileStreCours() {
return fileStreCours;
}
/**
* fileStreCours attribute .
*
* @param fileStreCours
* the fileStreCours to set
*/
public void setFileStreCours(String fileStreCours) {
this.fileStreCours = fileStreCours;
}
/**
* orignlFileNm attribute .
*
* @return the orignlFileNm
*/
public String getOrignlFileNm() {
return orignlFileNm;
}
/**
* orignlFileNm attribute .
*
* @param orignlFileNm
* the orignlFileNm to set
*/
public void setOrignlFileNm(String orignlFileNm) {
this.orignlFileNm = orignlFileNm;
}
/**
* streFileNm attribute .
*
* @return the streFileNm
*/
public String getStreFileNm() {
return streFileNm;
}
/**
* streFileNm attribute .
*
* @param streFileNm
* the streFileNm to set
*/
public void setStreFileNm(String streFileNm) {
this.streFileNm = streFileNm;
}
/**
* toString .
*/
public String toString() {
return ToStringBuilder.reflectionToString(this);
}
}

@ -0,0 +1,30 @@
package egovframework.com.cmm.service;
/**
* Class Name : Globals.java
* Description : .
* Modification Information
*
*
* ------- -------- ---------------------------
* 2009.01.19
*
* @author
* @since 2009. 01. 19
* @version 1.0
* @see
*
*/
public class Globals {
//파일 업로드 원 파일명
public static final String ORIGIN_FILE_NM = "originalFileName";
//파일 확장자
public static final String FILE_EXT = "fileExtension";
//파일크기
public static final String FILE_SIZE = "fileSize";
//업로드된 파일명
public static final String UPLOAD_FILE_NM = "uploadFileName";
//파일경로
public static final String FILE_PATH = "filePath";
}

@ -0,0 +1,63 @@
package egovframework.com.cmm.service.impl;
import java.util.List;
import egovframework.com.cmm.ComDefaultCodeVO;
import egovframework.com.cmm.service.CmmnDetailCode;
import org.springframework.stereotype.Repository;
/**
* @Class Name : CmmUseDAO.java
* @Description :
* @Modification Information
*
*
* ------- ------- -------------------
* 2009. 3. 11.
*
* @author
* @since 2009. 3. 11.
* @version
* @see
*
*/
@Repository("cmmUseDAO")
public class CmmUseDAO extends EgovComAbstractDAO {
/**
* .
*
* @param vo
* @return
* @throws Exception
*/
@SuppressWarnings("unchecked")
public List<CmmnDetailCode> selectCmmCodeDetail(ComDefaultCodeVO vo) throws Exception {
return (List<CmmnDetailCode>) list("CmmUseDAO.selectCmmCodeDetail", vo);
}
/**
* .
*
* @param vo
* @return
* @throws Exception
*/
@SuppressWarnings("unchecked")
public List<CmmnDetailCode> selectOgrnztIdDetail(ComDefaultCodeVO vo) throws Exception {
return (List<CmmnDetailCode>) list("CmmUseDAO.selectOgrnztIdDetail", vo);
}
/**
* .
*
* @param vo
* @return
* @throws Exception
*/
@SuppressWarnings("unchecked")
public List<CmmnDetailCode> selectGroupIdDetail(ComDefaultCodeVO vo) throws Exception {
return (List<CmmnDetailCode>) list("CmmUseDAO.selectGroupIdDetail", vo);
}
}

@ -0,0 +1,95 @@
package egovframework.com.cmm.service.impl;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import egovframework.com.cmm.ComDefaultCodeVO;
import egovframework.com.cmm.service.CmmnDetailCode;
import egovframework.com.cmm.service.EgovCmmUseService;
import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
/**
* @Class Name : EgovCmmUseServiceImpl.java
* @Description :
* @Modification Information
*
*
* ------- ------- -------------------
* 2009. 3. 11.
*
* @author
* @since 2009. 3. 11.
* @version
* @see
*
*/
@Service("EgovCmmUseService")
public class EgovCmmUseServiceImpl extends EgovAbstractServiceImpl implements EgovCmmUseService {
@Resource(name = "cmmUseDAO")
private CmmUseDAO cmmUseDAO;
/**
* .
*
* @param vo
* @return
* @throws Exception
*/
@Override
public List<CmmnDetailCode> selectCmmCodeDetail(ComDefaultCodeVO vo) throws Exception {
return cmmUseDAO.selectCmmCodeDetail(vo);
}
/**
* ComDefaultCodeVO .
*
* @param voList
* @return
* @throws Exception
*/
@Override
public Map<String, List<CmmnDetailCode>> selectCmmCodeDetails(List<?> voList) throws Exception {
ComDefaultCodeVO vo;
Map<String, List<CmmnDetailCode>> map = new HashMap<String, List<CmmnDetailCode>>();
Iterator<?> iter = voList.iterator();
while (iter.hasNext()) {
vo = (ComDefaultCodeVO) iter.next();
map.put(vo.getCodeId(), cmmUseDAO.selectCmmCodeDetail(vo));
}
return map;
}
/**
* .
*
* @param vo
* @return List
* @throws Exception
*/
@Override
public List<CmmnDetailCode> selectOgrnztIdDetail(ComDefaultCodeVO vo) throws Exception {
return cmmUseDAO.selectOgrnztIdDetail(vo);
}
/**
* .
*
* @param vo
* @return List
* @throws Exception
*/
@Override
public List<CmmnDetailCode> selectGroupIdDetail(ComDefaultCodeVO vo) throws Exception {
return cmmUseDAO.selectGroupIdDetail(vo);
}
}

@ -0,0 +1,34 @@
package egovframework.com.cmm.service.impl;
import egovframework.rte.psl.dataaccess.EgovAbstractDAO;
import javax.annotation.Resource;
import com.ibatis.sqlmap.client.SqlMapClient;
/**
* EgovComAbstractDAO.java
*
* @author
* @since 2011. 9. 23.
* @version 1.0
* @see
*
* <pre>
* << (Modification Information) >>
*
*
* ------- ------------- ----------------------
* 2011. 9. 23.
* </pre>
*/
public abstract class EgovComAbstractDAO extends EgovAbstractDAO{
@Resource(name="egov.sqlMapClient")
public void setSuperSqlMapClient(SqlMapClient sqlMapClient) {
super.setSuperSqlMapClient(sqlMapClient);
}
}

@ -0,0 +1,167 @@
package egovframework.com.cmm.service.impl;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import egovframework.com.cmm.service.EgovFileMngService;
import egovframework.com.cmm.service.FileVO;
import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
/**
* @Class Name : EgovFileMngServiceImpl.java
* @Description :
* @Modification Information
*
*
* ------- ------- -------------------
* 2009. 3. 25.
*
* @author
* @since 2009. 3. 25.
* @version
* @see
*
*/
@Service("EgovFileMngService")
public class EgovFileMngServiceImpl extends EgovAbstractServiceImpl implements EgovFileMngService {
@Resource(name = "FileManageDAO")
private FileManageDAO fileMngDAO;
/**
* .
*
* @see egovframework.com.cmm.service.EgovFileMngService#deleteFileInfs(java.util.List)
*/
@Override
public void deleteFileInfs(List<?> fvoList) throws Exception {
fileMngDAO.deleteFileInfs(fvoList);
}
/**
* ( ) .
*
* @see egovframework.com.cmm.service.EgovFileMngService#insertFileInf(egovframework.com.cmm.service.FileVO)
*/
@Override
public String insertFileInf(FileVO fvo) throws Exception {
String atchFileId = fvo.getAtchFileId();
fileMngDAO.insertFileInf(fvo);
return atchFileId;
}
/**
* ( ) .
*
* @see egovframework.com.cmm.service.EgovFileMngService#insertFileInfs(java.util.List)
*/
@Override
public String insertFileInfs(List<?> fvoList) throws Exception {
String atchFileId = "";
if (fvoList.size() != 0) {
atchFileId = fileMngDAO.insertFileInfs(fvoList);
}
if(atchFileId == ""){
atchFileId = null;
}
return atchFileId;
}
/**
* .
*
* @see egovframework.com.cmm.service.EgovFileMngService#selectFileInfs(egovframework.com.cmm.service.FileVO)
*/
@Override
public List<FileVO> selectFileInfs(FileVO fvo) throws Exception {
return fileMngDAO.selectFileInfs(fvo);
}
/**
* ( ) .
*
* @see egovframework.com.cmm.service.EgovFileMngService#updateFileInfs(java.util.List)
*/
@Override
public void updateFileInfs(List<?> fvoList) throws Exception {
//Delete & Insert
fileMngDAO.updateFileInfs(fvoList);
}
/**
* .
*
* @see egovframework.com.cmm.service.EgovFileMngService#deleteFileInf(egovframework.com.cmm.service.FileVO)
*/
@Override
public void deleteFileInf(FileVO fvo) throws Exception {
fileMngDAO.deleteFileInf(fvo);
}
/**
* .
*
* @see egovframework.com.cmm.service.EgovFileMngService#selectFileInf(egovframework.com.cmm.service.FileVO)
*/
@Override
public FileVO selectFileInf(FileVO fvo) throws Exception {
return fileMngDAO.selectFileInf(fvo);
}
/**
* .
*
* @see egovframework.com.cmm.service.EgovFileMngService#getMaxFileSN(egovframework.com.cmm.service.FileVO)
*/
@Override
public int getMaxFileSN(FileVO fvo) throws Exception {
return fileMngDAO.getMaxFileSN(fvo);
}
/**
* .
*
* @see egovframework.com.cmm.service.EgovFileMngService#deleteAllFileInf(egovframework.com.cmm.service.FileVO)
*/
@Override
public void deleteAllFileInf(FileVO fvo) throws Exception {
fileMngDAO.deleteAllFileInf(fvo);
}
/**
* .
*
* @see egovframework.com.cmm.service.EgovFileMngService#selectFileListByFileNm(egovframework.com.cmm.service.FileVO)
*/
@Override
public Map<String, Object> selectFileListByFileNm(FileVO fvo) throws Exception {
List<FileVO> result = fileMngDAO.selectFileListByFileNm(fvo);
int cnt = fileMngDAO.selectFileListCntByFileNm(fvo);
Map<String, Object> map = new HashMap<String, Object>();
map.put("resultList", result);
map.put("resultCnt", Integer.toString(cnt));
return map;
}
/**
* .
*
* @see egovframework.com.cmm.service.EgovFileMngService#selectImageFileList(egovframework.com.cmm.service.FileVO)
*/
@Override
public List<FileVO> selectImageFileList(FileVO vo) throws Exception {
return fileMngDAO.selectImageFileList(vo);
}
}

@ -0,0 +1,87 @@
package egovframework.com.cmm.service.impl;
import java.util.ArrayList;
import java.util.List;
import egovframework.com.cmm.LoginVO;
import egovframework.com.cmm.service.EgovUserDetailsService;
import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
/**
*
* @author
* @since 2011. 8. 12.
* @version 1.0
* @see
*
* <pre>
* (Modification Information)
*
*
* ------- -------- ---------------------------
* 2011. 8. 12.
*
* </pre>
*/
public class EgovTestUserDetailsServiceImpl extends EgovAbstractServiceImpl implements
EgovUserDetailsService {
@Override
public Object getAuthenticatedUser() {
LoginVO loginVO = new LoginVO();
loginVO.setId("TEST1");
loginVO.setPassword("raHLBnHFcunwNzcDcfad4PhD11hHgXSUr7fc1Jk9uoQ=");
loginVO.setUserSe("USR");
loginVO.setEmail("egovframe@nia.or.kr");
loginVO.setIhidNum("");
loginVO.setName("더미사용자");
loginVO.setOrgnztId("ORGNZT_0000000000000");
loginVO.setUniqId("USRCNFRM_00000000000");
return loginVO;
// return
// RequestContextHolder.getRequestAttributes().getAttribute("loginVO",
// RequestAttributes.SCOPE_SESSION);
}
@Override
public List<String> getAuthorities() {
// 권한 설정을 리턴한다.
List<String> listAuth = new ArrayList<String>();
listAuth.add("IS_AUTHENTICATED_ANONYMOUSLY");
listAuth.add("IS_AUTHENTICATED_FULLY");
listAuth.add("IS_AUTHENTICATED_REMEMBERED");
listAuth.add("ROLE_ADMIN");
listAuth.add("ROLE_ANONYMOUS");
listAuth.add("ROLE_RESTRICTED");
listAuth.add("ROLE_USER");
return listAuth;
}
@Override
public Boolean isAuthenticated() {
// 인증된 유저인지 확인한다.
/*if (RequestContextHolder.getRequestAttributes() == null) {
return false;
} else {
if (RequestContextHolder.getRequestAttributes().getAttribute(
"loginVO", RequestAttributes.SCOPE_SESSION) == null) {
return false;
} else {
return true;
}
}*/
return true;
}
}

@ -0,0 +1,67 @@
package egovframework.com.cmm.service.impl;
import java.util.ArrayList;
import java.util.List;
import egovframework.com.cmm.service.EgovUserDetailsService;
import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
import org.springframework.web.context.request.RequestAttributes;
import org.springframework.web.context.request.RequestContextHolder;
/**
*
* @author
* @since 2011. 6. 25.
* @version 1.0
* @see
*
* <pre>
* (Modification Information)
*
*
* ------- -------- ---------------------------
* 2011. 8. 12.
*
* </pre>
*/
public class EgovUserDetailsSessionServiceImpl extends EgovAbstractServiceImpl implements
EgovUserDetailsService {
public Object getAuthenticatedUser() {
return RequestContextHolder.getRequestAttributes().getAttribute("loginVO", RequestAttributes.SCOPE_SESSION);
}
public List<String> getAuthorities() {
// 권한 설정을 리턴한다.
List<String> listAuth = new ArrayList<String>();
return listAuth;
}
public Boolean isAuthenticated() {
// 인증된 유저인지 확인한다.
if (RequestContextHolder.getRequestAttributes() == null) {
return false;
} else {
if (RequestContextHolder.getRequestAttributes().getAttribute(
"loginVO", RequestAttributes.SCOPE_SESSION) == null) {
return false;
} else {
return true;
}
}
}
}

@ -0,0 +1,182 @@
package egovframework.com.cmm.service.impl;
import java.util.Iterator;
import java.util.List;
import egovframework.com.cmm.service.FileVO;
import org.springframework.stereotype.Repository;
/**
* @Class Name : EgovFileMngDAO.java
* @Description :
* @Modification Information
*
*
* ------- ------- -------------------
* 2009. 3. 25.
*
* @author
* @since 2009. 3. 25.
* @version
* @see
*
*/
@Repository("FileManageDAO")
public class FileManageDAO extends EgovComAbstractDAO {
/**
* ( ) .
*
* @param fileList
* @return
* @throws Exception
*/
public String insertFileInfs(List<?> fileList) throws Exception {
FileVO vo = (FileVO) fileList.get(0);
String atchFileId = vo.getAtchFileId();
insert("FileManageDAO.insertFileMaster", vo);
Iterator<?> iter = fileList.iterator();
while (iter.hasNext()) {
vo = (FileVO) iter.next();
insert("FileManageDAO.insertFileDetail", vo);
}
return atchFileId;
}
/**
* ( ) .
*
* @param vo
* @throws Exception
*/
public void insertFileInf(FileVO vo) throws Exception {
insert("FileManageDAO.insertFileMaster", vo);
insert("FileManageDAO.insertFileDetail", vo);
}
/**
* ( ) .
*
* @param fileList
* @throws Exception
*/
public void updateFileInfs(List<?> fileList) throws Exception {
FileVO vo;
Iterator<?> iter = fileList.iterator();
while (iter.hasNext()) {
vo = (FileVO) iter.next();
insert("FileManageDAO.insertFileDetail", vo);
}
}
/**
* .
*
* @param fileList
* @throws Exception
*/
public void deleteFileInfs(List<?> fileList) throws Exception {
Iterator<?> iter = fileList.iterator();
FileVO vo;
while (iter.hasNext()) {
vo = (FileVO) iter.next();
delete("FileManageDAO.deleteFileDetail", vo);
}
}
/**
* .
*
* @param fvo
* @throws Exception
*/
public void deleteFileInf(FileVO fvo) throws Exception {
delete("FileManageDAO.deleteFileDetail", fvo);
}
/**
* .
*
* @param vo
* @return
* @throws Exception
*/
@SuppressWarnings("unchecked")
public List<FileVO> selectFileInfs(FileVO vo) throws Exception {
return (List<FileVO>) list("FileManageDAO.selectFileList", vo);
}
/**
* .
*
* @param fvo
* @return
* @throws Exception
*/
public int getMaxFileSN(FileVO fvo) throws Exception {
return (Integer) select("FileManageDAO.getMaxFileSN", fvo);
}
/**
* .
*
* @param fvo
* @return
* @throws Exception
*/
public FileVO selectFileInf(FileVO fvo) throws Exception {
return (FileVO) select("FileManageDAO.selectFileInf", fvo);
}
/**
* .
*
* @param fvo
* @throws Exception
*/
public void deleteAllFileInf(FileVO fvo) throws Exception {
update("FileManageDAO.deleteCOMTNFILE", fvo);
}
/**
* .
*
* @param vo
* @return
* @throws Exception
*/
@SuppressWarnings("unchecked")
public List<FileVO> selectFileListByFileNm(FileVO fvo) throws Exception {
return (List<FileVO>) list("FileManageDAO.selectFileListByFileNm", fvo);
}
/**
* .
*
* @param fvo
* @return
* @throws Exception
*/
public int selectFileListCntByFileNm(FileVO fvo) throws Exception {
return (Integer) select("FileManageDAO.selectFileListCntByFileNm", fvo);
}
/**
* .
*
* @param vo
* @return
* @throws Exception
*/
@SuppressWarnings("unchecked")
public List<FileVO> selectImageFileList(FileVO vo) throws Exception {
return (List<FileVO>) list("FileManageDAO.selectImageFileList", vo);
}
}

@ -0,0 +1,72 @@
package egovframework.com.cmm.util;
import java.util.ArrayList;
import java.util.List;
import egovframework.com.cmm.LoginVO;
import egovframework.rte.fdl.string.EgovObjectUtil;
import org.springframework.web.context.request.RequestAttributes;
import org.springframework.web.context.request.RequestContextHolder;
/**
* EgovUserDetails Helper
*
* @author sjyoon
* @since 2009.06.01
* @version 1.0
* @see
*
* <pre>
* << (Modification Information) >>
*
*
* ------- ------------- ----------------------
* 2009.03.10 sjyoon
* 2011.08.31 JJY 릿
*
* </pre>
*/
public class EgovUserDetailsHelper {
/**
* VO .
* @return Object - ValueObject
*/
public static Object getAuthenticatedUser() {
return (LoginVO)RequestContextHolder.getRequestAttributes().getAttribute("LoginVO", RequestAttributes.SCOPE_SESSION)==null ?
new LoginVO() : (LoginVO) RequestContextHolder.getRequestAttributes().getAttribute("LoginVO", RequestAttributes.SCOPE_SESSION);
}
/**
* .
* ) [ROLE_ADMIN, ROLE_USER, ROLE_A, ROLE_B, ROLE_RESTRICTED, IS_AUTHENTICATED_FULLY, IS_AUTHENTICATED_REMEMBERED, IS_AUTHENTICATED_ANONYMOUSLY]
* @return List -
*/
public static List<String> getAuthorities() {
List<String> listAuth = new ArrayList<String>();
if (EgovObjectUtil.isNull((LoginVO) RequestContextHolder.getRequestAttributes().getAttribute("LoginVO", RequestAttributes.SCOPE_SESSION))) {
// log.debug("## authentication object is null!!");
return null;
}
return listAuth;
}
/**
* .
* @return Boolean - (TRUE / FALSE)
*/
public static Boolean isAuthenticated() {
if (EgovObjectUtil.isNull((LoginVO) RequestContextHolder.getRequestAttributes().getAttribute("LoginVO", RequestAttributes.SCOPE_SESSION))) {
// log.debug("## authentication object is null!!");
return Boolean.FALSE;
}
return Boolean.TRUE;
}
}

@ -0,0 +1,22 @@
package egovframework.com.cmm.web;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.springframework.beans.propertyeditors.CustomDateEditor;
import org.springframework.beans.propertyeditors.StringTrimmerEditor;
import org.springframework.web.bind.WebDataBinder;
import org.springframework.web.bind.support.WebBindingInitializer;
import org.springframework.web.context.request.WebRequest;
public class EgovBindingInitializer implements WebBindingInitializer {
public void initBinder(WebDataBinder binder, WebRequest request) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
dateFormat.setLenient(false);
binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, false));
binder.registerCustomEditor(String.class, new StringTrimmerEditor(false));
}
}

@ -0,0 +1,80 @@
package egovframework.com.cmm.web;
import egovframework.rte.fdl.property.EgovPropertyService;
import javax.annotation.Resource;
import javax.servlet.http.HttpSession;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
/**
* Controller
* @author JJY
* @since 2009.03.02
* @version 1.0
* @see
*
* <pre>
* << (Modification Information) >>
*
*
* ------- -------- ---------------------------
* 2009.03.02 JJY
* 2011.08.31 JJY 릿
*
* </pre>
*/
@Controller
public class EgovComUtlController {
/** EgovPropertyService */
@Resource(name = "propertiesService")
protected EgovPropertyService propertiesService;
/**
* JSP
*/
@RequestMapping(value="/EgovPageLink.do")
public String moveToPage(@RequestParam("link") String linkPage,
HttpSession session,
@RequestParam(value="menuNo", required=false) String menuNo){
String link = linkPage;
// service 사용하여 리턴할 결과값 처리하는 부분은 생략하고 단순 페이지 링크만 처리함
if (linkPage==null || linkPage.equals("")){
link="cmm/egovError";
}else{
if(link.indexOf(",")>-1){
link=link.substring(0,link.indexOf(","));
}
}
// 선택된 메뉴정보를 세션으로 등록한다.
if (menuNo!=null && !menuNo.equals("")){
session.setAttribute("menuNo",menuNo);
}
return link;
}
/**
* JSP
*/
@RequestMapping(value="/EgovPageLink.action")
public String moveToPage_action(@RequestParam("link") String linkPage){
String link = linkPage;
// service 사용하여 리턴할 결과값 처리하는 부분은 생략하고 단순 페이지 링크만 처리함
if (linkPage==null || linkPage.equals("")){
link="cmm/egovError";
}
return link;
}
/**
* validation rule dynamic java script
*/
@RequestMapping("/validator.do")
public String validate(){
return "cmm/validator";
}
}

@ -0,0 +1,201 @@
package egovframework.com.cmm.web;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.PrintWriter;
import java.net.URLEncoder;
import java.util.Map;
import egovframework.com.cmm.service.EgovFileMngService;
import egovframework.com.cmm.service.FileVO;
import egovframework.com.cmm.util.EgovUserDetailsHelper;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.util.FileCopyUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
/**
*
* @author
* @since 2009.06.01
* @version 1.0
* @see
*
* <pre>
* << (Modification Information) >>
*
*
* ------- -------- ---------------------------
* 2009.3.25
*
* Copyright (C) 2009 by MOPAS All right reserved.
* </pre>
*/
@Controller
public class EgovFileDownloadController {
@Resource(name = "EgovFileMngService")
private EgovFileMngService fileService;
private static final Logger LOGGER = LoggerFactory.getLogger(EgovFileDownloadController.class);
/**
* .
*
* @param request
* @return
*/
private String getBrowser(HttpServletRequest request) {
String header = request.getHeader("User-Agent");
if (header.indexOf("MSIE") > -1) {
return "MSIE";
} else if (header.indexOf("Trident") > -1) { // IE11 문자열 깨짐 방지
return "Trident";
} else if (header.indexOf("Chrome") > -1) {
return "Chrome";
} else if (header.indexOf("Opera") > -1) {
return "Opera";
}
return "Firefox";
}
/**
* Disposition .
*
* @param filename
* @param request
* @param response
* @throws Exception
*/
private void setDisposition(String filename, HttpServletRequest request, HttpServletResponse response) throws Exception {
String browser = getBrowser(request);
String dispositionPrefix = "attachment; filename=";
String encodedFilename = null;
if (browser.equals("MSIE")) {
encodedFilename = URLEncoder.encode(filename, "UTF-8").replaceAll("\\+", "%20");
} else if (browser.equals("Trident")) { // IE11 문자열 깨짐 방지
encodedFilename = URLEncoder.encode(filename, "UTF-8").replaceAll("\\+", "%20");
} else if (browser.equals("Firefox")) {
encodedFilename = "\"" + new String(filename.getBytes("UTF-8"), "8859_1") + "\"";
} else if (browser.equals("Opera")) {
encodedFilename = "\"" + new String(filename.getBytes("UTF-8"), "8859_1") + "\"";
} else if (browser.equals("Chrome")) {
StringBuffer sb = new StringBuffer();
for (int i = 0; i < filename.length(); i++) {
char c = filename.charAt(i);
if (c > '~') {
sb.append(URLEncoder.encode("" + c, "UTF-8"));
} else {
sb.append(c);
}
}
encodedFilename = sb.toString();
} else {
//throw new RuntimeException("Not supported browser");
throw new IOException("Not supported browser");
}
response.setHeader("Content-Disposition", dispositionPrefix + encodedFilename);
if ("Opera".equals(browser)) {
response.setContentType("application/octet-stream;charset=UTF-8");
}
}
/**
* .
*
* @param commandMap
* @param response
* @throws Exception
*/
@RequestMapping(value = "/cmm/fms/FileDown.do")
public void cvplFileDownload(@RequestParam Map<String, Object> commandMap, HttpServletRequest request, HttpServletResponse response) throws Exception {
String atchFileId = (String) commandMap.get("atchFileId");
String fileSn = (String) commandMap.get("fileSn");
Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
if (isAuthenticated) {
FileVO fileVO = new FileVO();
fileVO.setAtchFileId(atchFileId);
fileVO.setFileSn(fileSn);
FileVO fvo = fileService.selectFileInf(fileVO);
File uFile = new File(fvo.getFileStreCours(), fvo.getStreFileNm());
long fSize = uFile.length();
if (fSize > 0) {
String mimetype = "application/x-msdownload";
//response.setBufferSize(fSize); // OutOfMemeory 발생
response.setContentType(mimetype);
//response.setHeader("Content-Disposition", "attachment; filename=\"" + URLEncoder.encode(fvo.getOrignlFileNm(), "utf-8") + "\"");
setDisposition(fvo.getOrignlFileNm(), request, response);
//response.setContentLength(fSize);
/*
* FileCopyUtils.copy(in, response.getOutputStream());
* in.close();
* response.getOutputStream().flush();
* response.getOutputStream().close();
*/
BufferedInputStream in = null;
BufferedOutputStream out = null;
try {
in = new BufferedInputStream(new FileInputStream(uFile));
out = new BufferedOutputStream(response.getOutputStream());
FileCopyUtils.copy(in, out);
out.flush();
} catch (Exception ex) {
// 다음 Exception 무시 처리
// Connection reset by peer: socket write error
LOGGER.debug("IGNORED: {}", ex.getMessage());
} finally {
if (in != null) {
try {
in.close();
} catch (Exception ignore) {
LOGGER.debug("IGNORED: {}", ignore.getMessage());
}
}
if (out != null) {
try {
out.close();
} catch (Exception ignore) {
LOGGER.debug("IGNORED: {}", ignore.getMessage());
}
}
}
} else {
response.setContentType("application/x-msdownload");
PrintWriter printwriter = response.getWriter();
printwriter.println("<html>");
printwriter.println("<br><br><br><h2>Could not get file name:<br>" + fvo.getOrignlFileNm() + "</h2>");
printwriter.println("<br><br><br><center><h3><a href='javascript: history.go(-1)'>Back</a></h3></center>");
printwriter.println("<br><br><br>&copy; webAccess");
printwriter.println("</html>");
printwriter.flush();
printwriter.close();
}
}
}
}

@ -0,0 +1,157 @@
package egovframework.com.cmm.web;
import java.util.List;
import java.util.Map;
import egovframework.com.cmm.service.EgovFileMngService;
import egovframework.com.cmm.service.FileVO;
import egovframework.com.cmm.util.EgovUserDetailsHelper;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
/**
* , ,
* @author
* @since 2009.06.01
* @version 1.0
* @see
*
* <pre>
* << (Modification Information) >>
*
*
* ------- -------- ---------------------------
* 2009.03.25
* 2011.08.31 JJY 릿
*
* </pre>
*/
@Controller
public class EgovFileMngController {
@Resource(name = "EgovFileMngService")
private EgovFileMngService fileService;
/**
* .
*
* @param fileVO
* @param atchFileId
* @param sessionVO
* @param model
* @return
* @throws Exception
*/
@RequestMapping("/cmm/fms/selectFileInfs.do")
public String selectFileInfs(@ModelAttribute("searchVO") FileVO fileVO, @RequestParam Map<String, Object> commandMap, ModelMap model) throws Exception {
String atchFileId = (String)commandMap.get("param_atchFileId");
fileVO.setAtchFileId(atchFileId);
List<FileVO> result = fileService.selectFileInfs(fileVO);
model.addAttribute("fileList", result);
model.addAttribute("updateFlag", "N");
model.addAttribute("fileListCnt", result.size());
model.addAttribute("atchFileId", atchFileId);
return "cmm/fms/EgovFileList";
}
/**
* .
*
* @param fileVO
* @param atchFileId
* @param sessionVO
* @param model
* @return
* @throws Exception
*/
@RequestMapping("/cmm/fms/selectFileInfsForUpdate.do")
public String selectFileInfsForUpdate(@ModelAttribute("searchVO") FileVO fileVO, @RequestParam Map<String, Object> commandMap,
ModelMap model) throws Exception {
String atchFileId = (String)commandMap.get("param_atchFileId");
fileVO.setAtchFileId(atchFileId);
List<FileVO> result = fileService.selectFileInfs(fileVO);
model.addAttribute("fileList", result);
model.addAttribute("updateFlag", "Y");
model.addAttribute("fileListCnt", result.size());
model.addAttribute("atchFileId", atchFileId);
return "cmm/fms/EgovFileList";
}
/**
* .
*
* @param fileVO
* @param returnUrl
* @param sessionVO
* @param model
* @return
* @throws Exception
*/
@RequestMapping("/cmm/fms/deleteFileInfs.do")
public String deleteFileInf(@ModelAttribute("searchVO") FileVO fileVO, @RequestParam("returnUrl") String returnUrl,
HttpServletRequest request,
ModelMap model) throws Exception {
Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
if (isAuthenticated) {
fileService.deleteFileInf(fileVO);
}
//--------------------------------------------
// contextRoot가 있는 경우 제외 시켜야 함
//--------------------------------------------
////return "forward:/cmm/fms/selectFileInfs.do";
//return "forward:" + returnUrl;
if ("".equals(request.getContextPath()) || "/".equals(request.getContextPath())) {
return "forward:" + returnUrl;
}
if (returnUrl.startsWith(request.getContextPath())) {
return "forward:" + returnUrl.substring(returnUrl.indexOf("/", 1));
} else {
return "forward:" + returnUrl;
}
////------------------------------------------
}
/**
* .
*
* @param fileVO
* @param atchFileId
* @param sessionVO
* @param model
* @return
* @throws Exception
*/
@RequestMapping("/cmm/fms/selectImageFileInfs.do")
public String selectImageFileInfs(@ModelAttribute("searchVO") FileVO fileVO, @RequestParam Map<String, Object> commandMap,
ModelMap model) throws Exception {
String atchFileId = (String)commandMap.get("atchFileId");
fileVO.setAtchFileId(atchFileId);
List<FileVO> result = fileService.selectImageFileList(fileVO);
model.addAttribute("fileList", result);
return "cmm/fms/EgovImgFileList";
}
}

@ -0,0 +1,145 @@
package egovframework.com.cmm.web;
import java.io.BufferedInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.util.Map;
import egovframework.com.cmm.SessionVO;
import egovframework.com.cmm.service.EgovFileMngService;
import egovframework.com.cmm.service.FileVO;
import javax.annotation.Resource;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletResponse;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
/**
* @Class Name : EgovImageProcessController.java
* @Description :
* @Modification Information
*
*
* ------- ------- -------------------
* 2009. 4. 2.
* 2011.08.31. JJY 릿
*
* @author
* @since 2009. 4. 2.
* @version
* @see
*
*/
@Controller
public class EgovImageProcessController extends HttpServlet {
/**
* serialVersion UID
*/
private static final long serialVersionUID = -6339945210971171173L;
@Resource(name = "EgovFileMngService")
private EgovFileMngService fileService;
private static final Logger LOGGER = LoggerFactory.getLogger(EgovImageProcessController.class);
/**
* .
*
* @param atchFileId
* @param fileSn
* @param sessionVO
* @param model
* @param response
* @throws Exception
*/
@SuppressWarnings("resource")
@RequestMapping("/cmm/fms/getImage.do")
public void getImageInf(SessionVO sessionVO, ModelMap model, @RequestParam Map<String, Object> commandMap, HttpServletResponse response) throws Exception {
//@RequestParam("atchFileId") String atchFileId,
//@RequestParam("fileSn") String fileSn,
String atchFileId = (String)commandMap.get("atchFileId");
String fileSn = (String)commandMap.get("fileSn");
FileVO vo = new FileVO();
vo.setAtchFileId(atchFileId);
vo.setFileSn(fileSn);
FileVO fvo = fileService.selectFileInf(vo);
//String fileLoaction = fvo.getFileStreCours() + fvo.getStreFileNm();
File file = new File(fvo.getFileStreCours(), fvo.getStreFileNm());
FileInputStream fis = null; new FileInputStream(file);
BufferedInputStream in = null;
ByteArrayOutputStream bStream = null;
try{
fis = new FileInputStream(file);
in = new BufferedInputStream(fis);
bStream = new ByteArrayOutputStream();
int imgByte;
while ((imgByte = in.read()) != -1) {
bStream.write(imgByte);
}
String type = "";
if (fvo.getFileExtsn() != null && !"".equals(fvo.getFileExtsn())) {
if ("jpg".equals(fvo.getFileExtsn().toLowerCase())) {
type = "image/jpeg";
} else {
type = "image/" + fvo.getFileExtsn().toLowerCase();
}
type = "image/" + fvo.getFileExtsn().toLowerCase();
} else {
LOGGER.debug("Image fileType is null.");
}
response.setHeader("Content-Type", type);
response.setContentLength(bStream.size());
bStream.writeTo(response.getOutputStream());
response.getOutputStream().flush();
response.getOutputStream().close();
}catch(Exception e){
LOGGER.debug("{}", e);
}finally{
if (bStream != null) {
try {
bStream.close();
} catch (Exception est) {
LOGGER.debug("IGNORED: {}", est.getMessage());
}
}
if (in != null) {
try {
in.close();
} catch (Exception ei) {
LOGGER.debug("IGNORED: {}", ei.getMessage());
}
}
if (fis != null) {
try {
fis.close();
} catch (Exception efis) {
LOGGER.debug("IGNORED: {}", efis.getMessage());
}
}
}
}
}

@ -0,0 +1,134 @@
package egovframework.com.cmm.web;
/*
* Copyright 2001-2006 The Apache Software Foundation.
*
* Licensed under the Apache License, Version 2.0 (the ";License&quot;);
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS"; BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import javax.servlet.ServletContext;
import org.apache.commons.fileupload.FileItem;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import org.springframework.util.StringUtils;
import org.springframework.web.multipart.MultipartException;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.commons.CommonsMultipartFile;
import org.springframework.web.multipart.commons.CommonsMultipartResolver;
/**
*
* @author
* @since 2009.06.01
* @version 1.0
* @see
*
* <pre>
* << (Modification Information) >>
*
*
* ------- -------- ---------------------------
* 2009.3.25
* 2011.06.11 3.0 API
*
* </pre>
*/
public class EgovMultipartResolver extends CommonsMultipartResolver {
public EgovMultipartResolver() {
}
/**
* multipart resolver .
*
* @param servletContext
*/
public EgovMultipartResolver(ServletContext servletContext) {
super(servletContext);
}
/**
* multipart parsing .
*/
@SuppressWarnings("rawtypes")
@Override
protected MultipartParsingResult parseFileItems(List fileItems, String encoding) {
//스프링 3.0변경으로 수정한 부분
MultiValueMap<String, MultipartFile> multipartFiles = new LinkedMultiValueMap<String, MultipartFile>();
Map<String, String[]> multipartParameters = new HashMap<String, String[]>();
// Extract multipart files and multipart parameters.
for (Iterator<?> it = fileItems.iterator(); it.hasNext();) {
FileItem fileItem = (FileItem)it.next();
if (fileItem.isFormField()) {
String value = null;
if (encoding != null) {
try {
value = fileItem.getString(encoding);
} catch (UnsupportedEncodingException ex) {
if (logger.isWarnEnabled()) {
logger.warn("Could not decode multipart item '" + fileItem.getFieldName() + "' with encoding '" + encoding
+ "': using platform default");
}
value = fileItem.getString();
}
} else {
value = fileItem.getString();
}
String[] curParam = multipartParameters.get(fileItem.getFieldName());
if (curParam == null) {
// simple form field
multipartParameters.put(fileItem.getFieldName(), new String[] { value });
} else {
// array of simple form fields
String[] newParam = StringUtils.addStringToArray(curParam, value);
multipartParameters.put(fileItem.getFieldName(), newParam);
}
} else {
if (fileItem.getSize() > 0) {
// multipart file field
CommonsMultipartFile file = new CommonsMultipartFile(fileItem);
//스프링 3.0 업그레이드 API변경으로인한 수정
List<MultipartFile> fileList = new ArrayList<MultipartFile>();
fileList.add(file);
if (multipartFiles.put(fileItem.getName(), fileList) != null) { // CHANGED!!
throw new MultipartException("Multiple files for field name [" + file.getName()
+ "] found - not supported by MultipartResolver");
}
if (logger.isDebugEnabled()) {
logger.debug("Found multipart file [" + file.getName() + "] of size " + file.getSize() + " bytes with original filename ["
+ file.getOriginalFilename() + "], stored " + file.getStorageDescription());
}
}
}
}
return new MultipartParsingResult(multipartFiles, multipartParameters, null);
}
}

@ -0,0 +1,20 @@
package gtpa.icsmw.common.service;
import java.util.List;
import java.util.Map;
/**
* /////////////////////////////////////////////////////
* Company : MQNIC
* Create : seunghyun
* Date : 23/04/2019
* TIME : 1:30 PM
* Project : icsmw
* Class : CommonService
* Desc :
* /////////////////////////////////////////////////////
*/
public interface CommonService {
List<Map> getCommonCode();
List<Map> getCommonCode(Map param);
}

@ -0,0 +1,31 @@
package gtpa.icsmw.common.service.impl;
import egovframework.rte.psl.dataaccess.EgovAbstractMapper;
import org.springframework.stereotype.Repository;
import java.util.List;
import java.util.Map;
/**
* /////////////////////////////////////////////////////
* Company : MQNIC
* Create : seunghyun
* Date : 23/04/2019
* TIME : 1:33 PM
* Project : icsmw
* Class : CommonMapper
* Desc :
* /////////////////////////////////////////////////////
*/
@Repository("commonDao")
public class CommonMapper extends EgovAbstractMapper{
private String NAMESPACE = "CommonDAO";
public List<Map> getCommonCode() {
return selectList(NAMESPACE+".getAllCommonCode");
}
public List<Map> getCommonCode(Map param) {
return selectList(NAMESPACE+".getCommonCode",param);
}
}

@ -0,0 +1,36 @@
package gtpa.icsmw.common.service.impl;
import gtpa.icsmw.common.service.CommonService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
/**
* /////////////////////////////////////////////////////
* Company : MQNIC
* Create : seunghyun
* Date : 23/04/2019
* TIME : 1:32 PM
* Project : icsmw
* Class : CommonServiceImpl
* Desc :
* /////////////////////////////////////////////////////
*/
@Service("commonService")
public class CommonServiceImpl implements CommonService{
@Resource(name = "commonDao")
CommonMapper commonMapper;
@Override
public List<Map> getCommonCode() {
return commonMapper.getCommonCode();
}
@Override
public List<Map> getCommonCode(Map param) {
return commonMapper.getCommonCode(param);
}
}

@ -0,0 +1,28 @@
package gtpa.icsmw.common.web;
import java.util.Enumeration;
import javax.servlet.http.HttpServletRequest;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.MessageSource;
public class BaseController{
private Logger logger = LoggerFactory.getLogger(BaseController.class);
@Autowired
protected MessageSource messageSource;
public void printRequest(HttpServletRequest pReq) {
Enumeration<?> eParam = pReq.getParameterNames();
while (eParam.hasMoreElements()) {
String pName = (String) eParam.nextElement();
String pValue = pReq.getParameter(pName);
logger.info("#### RequestParamMap = " + pName + " : " + pValue);
}
}
}

@ -0,0 +1,76 @@
package gtpa.icsmw.common.web;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
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.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import gtpa.icsmw.common.service.CommonService;
import gtpa.icsmw.util.Result;
/**
* /////////////////////////////////////////////////////
* Company : MQNIC
* Create : seunghyun
* Date : 23/04/2019
* TIME : 1:30 PM
* Project : icsmw
* Class : CommonController
* Desc :
* /////////////////////////////////////////////////////
*/
@Controller
public class CommonController {
private Logger logger = LoggerFactory.getLogger(CommonController.class);
@Autowired
CommonService commonService;
@RequestMapping(value = "/common/getCommonCode.do", method = RequestMethod.GET)
public @ResponseBody
Result getCommonCode() {
Result result = new Result();
List<Map> codeList = new ArrayList<>();
try {
codeList = commonService.getCommonCode();
} catch (RuntimeException re) {
logger.error("[RuntimeException::" + "" + "]", re);
result.setMsg(Result.STATUS_ERROR, Result.STATUS_ERROR_MESSAGE,re);
} catch (Exception e) {
logger.error("[process error::" + "" + "]", e);
result.setMsg(Result.STATUS_ERROR, Result.STATUS_ERROR_MESSAGE,e);
} finally {
result.setData("code", codeList);
}
return result;
}
@RequestMapping(value = "/common/getCommonCode.do", method = RequestMethod.POST)
public @ResponseBody
Result getCommonCode(@RequestBody Map<String, Object> param) {
Result result = new Result();
List<Map> codeList = new ArrayList<>();
Map<String, Object> params = (Map) param.get("param");
try {
codeList = commonService.getCommonCode(params);
} catch (RuntimeException re) {
logger.error("[RuntimeException::" + "" + "]", re);
result.setMsg(Result.STATUS_ERROR, Result.STATUS_ERROR_MESSAGE,re);
} catch (Exception e) {
logger.error("[process error::" + "" + "]", e);
result.setMsg(Result.STATUS_ERROR, Result.STATUS_ERROR_MESSAGE,e);
} finally {
result.setData("code", codeList);
}
return result;
}
}

@ -0,0 +1,45 @@
package gtpa.icsmw.handler;
import org.apache.ibatis.type.BaseTypeHandler;
import org.apache.ibatis.type.JdbcType;
import org.apache.ibatis.type.MappedJdbcTypes;
import java.sql.CallableStatement;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
/**
* /////////////////////////////////////////////////////
* Company : MQNIC
* Create : seunghyun
* Date : 23/04/2019
* TIME : 2:13 PM
* Project : icsmw
* Class : ClobTypeHandler
* Desc :
* /////////////////////////////////////////////////////
*/
@MappedJdbcTypes(value = {JdbcType.CLOB})
public class ClobTypeHandler extends BaseTypeHandler<String>{
@Override
public void setNonNullParameter(PreparedStatement preparedStatement, int i, String s, JdbcType jdbcType) throws SQLException {
preparedStatement.setString(i,s);
}
@Override
public String getNullableResult(ResultSet resultSet, String s) throws SQLException {
return resultSet.getString(s);
}
@Override
public String getNullableResult(ResultSet resultSet, int i) throws SQLException {
return resultSet.getString(i);
}
@Override
public String getNullableResult(CallableStatement callableStatement, int i) throws SQLException {
return callableStatement.getString(i);
}
}

@ -0,0 +1,58 @@
package gtpa.icsmw.handler;
import org.apache.ibatis.type.BaseTypeHandler;
import org.apache.ibatis.type.JdbcType;
import org.apache.ibatis.type.MappedJdbcTypes;
import java.sql.CallableStatement;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
/**
* /////////////////////////////////////////////////////
* Company : MQNIC
* Create : seunghyun
* Date : 23/04/2019
* TIME : 2:01 PM
* Project : icsmw
* Class : StringTypeHandler
* Desc :
* /////////////////////////////////////////////////////
*/
@MappedJdbcTypes(value = {JdbcType.VARCHAR,JdbcType.CHAR})
public class StringTypeHandler extends BaseTypeHandler<String>{
@Override
public void setNonNullParameter(PreparedStatement preparedStatement, int i, String s, JdbcType jdbcType) throws SQLException {
preparedStatement.setString(i,s);
}
@Override
public String getNullableResult(ResultSet resultSet, String s) throws SQLException {
if(resultSet.getString(s) != null){
return resultSet.getString(s).trim();
}else{
return resultSet.getString(s);
}
}
@Override
public String getNullableResult(ResultSet resultSet, int i) throws SQLException {
if(resultSet.getString(i) != null){
return resultSet.getString(i).trim();
}else{
return resultSet.getString(i);
}
}
@Override
public String getNullableResult(CallableStatement callableStatement, int i) throws SQLException {
if(callableStatement.getString(i) != null){
return callableStatement.getString(i).trim();
}else{
return callableStatement.getString(i);
}
}
}

@ -0,0 +1,188 @@
package gtpa.icsmw.home.web;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import gtpa.icsmw.user.dto.UserInfo;
import gtpa.icsmw.util.PageURIUtil;
import gtpa.icsmw.util.Result;
import eu.bitwalker.useragentutils.DeviceType;
import eu.bitwalker.useragentutils.OperatingSystem;
import eu.bitwalker.useragentutils.UserAgent;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
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 org.springframework.web.servlet.ModelAndView;
import java.util.Map;
@Controller
public class InitController {
private Logger logger = LoggerFactory.getLogger(InitController.class);
@Autowired
private UserInfo userInfo;
@Autowired
private PageURIUtil pageURIUtil;
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) {
model.addAttribute("movePage", getInitPage(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 {
return "redirect:/ws.do";
}*/
@RequestMapping(value = "/ws.do", method = RequestMethod.GET)
public ModelAndView IndexHideBase(HttpServletRequest request, HttpServletResponse response) {
ModelAndView mv = new ModelAndView();
HttpSession session = request.getSession(false);
String movePage = request.getParameter("w2xPath");
String linkPage = request.getParameter("link");
if(session.getAttribute("w2xPath") != null){
movePage = (String)session.getAttribute("w2xPath");
session.removeAttribute("w2xPath");
}else{
if (movePage == null || movePage.equals("")) {
movePage = getInitPage(movePage);
}
}
if(linkPage == null && session.getAttribute("link") != null){
linkPage = (String)session.getAttribute("link");
session.removeAttribute("link");
}
mv.setViewName("websquare/websquare");
mv.addObject("movePage", movePage);
mv.addObject("link", linkPage);
logger.info("movePage ::" + movePage);
logger.info("link ::" + linkPage);
UserAgent agent = UserAgent.parseUserAgentString(request.getHeader("user-agent"));
// operating system
OperatingSystem os = agent.getOperatingSystem();
// device type
DeviceType deviceType = os.getDeviceType();
logger.info("*Device: " + deviceType.getName());
return mv;
}
/**
* SPA IFrame Blank .
*
* @param request
* @param model
* @return
* @throws Exception
*/
@RequestMapping(value = "/blank.xml", method = RequestMethod.GET)
public String callBlankPage(HttpServletRequest request, Model model) {
return "websquare/blank";
}
/**
* Url .
*
* @param w2xPath w2xPath
* @return Url
*/
private String getInitPage(String w2xPath) {
String movePage = w2xPath;
// session이 없을 경우 login 화면으로 이동.
if (!userInfo.isLogined()) {
// session이 있고 w2xPath가 없을 경우 index화면으로 이동.
if (movePage == null) {
//movePage = pageURIUtil.getLoginPage();
movePage = pageURIUtil.getIndexPage();
} else if (w2xPath.indexOf("/cm/main/") < 0) {
//movePage = pageURIUtil.getLoginPage();
movePage = pageURIUtil.getIndexPage();
} else if (w2xPath.indexOf("/cm/join/") < 0) {
// System.out.println(w2xPath);
}
} else {
if (movePage == null) {
// DB 설정조회 초기 page 구성
movePage = pageURIUtil.getIndexPageURI();
// DB에 값이 저장되어 있지 않은 경우 기본 index화면으로 이동
if (movePage == null) {
movePage = pageURIUtil.getIndexPageURI();
}
}
}
logger.info("getInit movePage ::" + movePage);
return movePage;
}
@RequestMapping(value = "/initTempData.do", method = RequestMethod.POST)
public @ResponseBody
Map initTempData(HttpServletRequest request) {
Result result = new Result();
try {
HttpSession session = request.getSession(false);
if (session != null && session.getAttribute("scopedTarget.tempUserSessionInfoDTO") != null) {
session.invalidate();
}
result.setMsg(Result.STATUS_SUCESS, Result.STATUS_SUCESS_MESSAGE);
} catch (RuntimeException re) {
logger.error("[RuntimeException::" + "" + "]", re);
result.setMsg(Result.STATUS_ERROR, Result.STATUS_ERROR_MESSAGE,re);
} catch (Exception e) {
logger.error("[process error::" + "" + "]", e);
result.setMsg(Result.STATUS_ERROR, Result.STATUS_ERROR_MESSAGE,e);
}
return result.getResult();
}
@RequestMapping(value = "/refreshPage.do", method = RequestMethod.POST)
public @ResponseBody
Map refreshPage(HttpServletRequest request, @RequestBody Map param) {
Result result = new Result();
try {
HttpSession session = request.getSession(false);
if (session != null) {
session.setAttribute("link",param.get("link"));
}
result.setMsg(Result.STATUS_SUCESS, Result.STATUS_SUCESS_MESSAGE);
} catch (RuntimeException re) {
logger.error("[RuntimeException::" + "" + "]", re);
result.setMsg(Result.STATUS_ERROR, Result.STATUS_ERROR_MESSAGE,re);
} catch (Exception e) {
logger.error("[process error::" + "" + "]", e);
result.setMsg(Result.STATUS_ERROR, Result.STATUS_ERROR_MESSAGE,e);
}
return result.getResult();
}
}

@ -0,0 +1,53 @@
package gtpa.icsmw.icsmanager.service;
import java.util.List;
import java.util.Map;
public interface IcsManagerService {
// ICS 관리 메인 메소드
public List getIcsOperTroblMainList(Map param);
public List getIcsMainList(Map param);
// CCTV 관련 메소드
public List getCctvList(Map param);
public Map getCctvView(Map param);
public Map getCctvErrorInfoView(Map param);
public Map cctvErrorActionMemoSave(Map param);
// ANPR 관련 메소드
public List getAnprList(Map param);
public Map getAnprView(Map param);
public Map getAnprErrorInfoView(Map param);
public Map anprErrorActionMemoSave(Map param);
// VMS 관련 메소드
public List getVmsList(Map param);
public Map getVmsView(Map param);
public Map getVmsErrorInfoView(Map param);
public Map vmsErrorActionMemoSave(Map param);
public Map errorActionMemoSave(Map param1, Map param2);
public Map rtuReset(Map param);
}

@ -0,0 +1,111 @@
package gtpa.icsmw.icsmanager.service.impl;
import java.util.List;
import java.util.Map;
import org.springframework.stereotype.Repository;
import egovframework.rte.psl.dataaccess.EgovAbstractMapper;
/**
* /////////////////////////////////////////////////////
* Company : MQNIC
* Create : jackt
* <p>
* Date : 08/08/2019
* TIME : 9:34 AM
* Project : icsmw
* Class : IcsManagerMapper
* Desc :
* /////////////////////////////////////////////////////
*/
@Repository("icsManagerDao")
public class IcsManagerMapper extends EgovAbstractMapper {
private String NAMESPACE = "IcsManagerDao";
//장애관리 메인 목록
public List getOperTroblManagerList(Map param) {
return selectList(NAMESPACE + ".getOperTroblManagerList", param);
}
;
//현장장비 메인 검색 목록
public List getCctvAnprVmsList(Map param) {
return selectList(NAMESPACE + ".getCctvAnprVmsList", param);
}
;
// cctv 현장장비 검색 목록
public List getCctvList(Map param) {
return selectList(NAMESPACE + ".getCctvList", param);
}
;
// anpr 현장장비 검색 목록
public List getAnprList(Map param) {
return selectList(NAMESPACE + ".getAnprList", param);
}
;
// cctv, anpr 현장장비 검색 목록
public List getCctvAnprList(Map param) {
return selectList(NAMESPACE + ".getCctvAnprList", param);
}
;
// 장애내역 처리 공통 메퍼 Start
// cctv anpr 현장장비 상세
public Map getCctvAnprView(Map param) {
return selectOne(NAMESPACE + ".getCctvAnprView", param);
}
;
// cctv anpr 장애내역 상세
public Map getErrorInfoView(Map param) {
return selectOne(NAMESPACE + ".getErrorInfoView", param);
}
;
// 장애내역 신규생성 및 업데이트
public int errorActionMemoSave(Map param) {
return insert(NAMESPACE + ".errorActionMemoSave", param);
}
;
// 장애내역 처리 공통 메퍼 End
// vms 현장장비 검색 목록
public List getVmsList(Map param) {
return selectList(NAMESPACE + ".getVmsList", param);
}
;
// vms 현장장비 상세
public Map getVmsView(Map param) {
return selectOne(NAMESPACE + ".getVmsView", param);
}
;
// vms 장애내역 상세
public Map getVmsErrorInfoView(Map param) {
return selectOne(NAMESPACE + ".getVmsErrorInfoView", param);
}
;
}

@ -0,0 +1,318 @@
package gtpa.icsmw.icsmanager.service.impl;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import javax.annotation.Resource;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.ResponseHandler;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.BasicResponseHandler;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.message.BasicNameValuePair;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;
import gtpa.icsmw.icsmanager.service.IcsManagerService;
@Service
public class IcsManagerServiceImpl implements IcsManagerService {
@Resource(name = "icsManagerDao")
private IcsManagerMapper icsManagerMapper;
@Resource(name = "globalsProperties")
private Properties env;
private Logger logger = LoggerFactory.getLogger(IcsManagerServiceImpl.class);
// 장애관리 메인 목록
@Override
public List getIcsOperTroblMainList(Map param) {
List<Map> rsList = new ArrayList<>();
rsList = icsManagerMapper.getOperTroblManagerList(param);
logger.info("rsList : " + rsList);
return rsList;
}
// 현장장비 검색 메인 목록
@Override
public List getIcsMainList(Map param) {
List<Map> rsList = new ArrayList<>();
rsList = icsManagerMapper.getCctvAnprVmsList(param);
return rsList;
}
@Override
public List getCctvList(Map param) {
List<Map> rsList = new ArrayList<>();
rsList = icsManagerMapper.getCctvList(param);
logger.info("rsList : " + rsList);
return rsList;
}
@Override
public Map getCctvView(Map param) {
Map tmpInfo = icsManagerMapper.getCctvAnprView(param);
logger.info("tmpInfo : " + tmpInfo);
return tmpInfo;
}
@Override
public Map getCctvErrorInfoView(Map param) {
Map tmpInfo = icsManagerMapper.getErrorInfoView(param);
logger.info("tmpInfo : " + tmpInfo);
return tmpInfo;
}
@Override
public Map cctvErrorActionMemoSave(Map param) {
int cnt = 0;
cnt = icsManagerMapper.errorActionMemoSave(param);
HashMap result = new HashMap();
if(cnt > 0) {
result.put("STATUS", "S");
} else {
result.put("STATUS", "F");
}
return result;
}
@Override
public List getAnprList(Map param) {
List<Map> rsList = new ArrayList<>();
rsList = icsManagerMapper.getAnprList(param);
logger.info("rsList : " + rsList);
return rsList;
}
@Override
public Map getAnprView(Map param) {
Map tmpInfo = icsManagerMapper.getCctvAnprView(param);
logger.info("tmpInfo : " + tmpInfo);
return tmpInfo;
}
@Override
public Map getAnprErrorInfoView(Map param) {
Map tmpInfo = icsManagerMapper.getErrorInfoView(param);
logger.info("tmpInfo : " + tmpInfo);
return tmpInfo;
}
@Override
public Map anprErrorActionMemoSave(Map param) {
int cnt = 0;
cnt = icsManagerMapper.errorActionMemoSave(param);
HashMap result = new HashMap();
if(cnt > 0) {
result.put("STATUS", "S");
} else {
result.put("STATUS", "F");
}
return result;
}
@Override
public List getVmsList(Map param) {
List<Map> rsList = new ArrayList<>();
rsList = icsManagerMapper.getVmsList(param);
logger.info("rsList : " + rsList);
return rsList;
}
@Override
public Map getVmsView(Map param) {
Map tmpInfo = icsManagerMapper.getVmsView(param);
logger.info("tmpInfo : " + tmpInfo);
return tmpInfo;
}
@Override
public Map getVmsErrorInfoView(Map param) {
Map tmpInfo = icsManagerMapper.getVmsErrorInfoView(param);
logger.info("tmpInfo : " + tmpInfo);
return tmpInfo;
}
@Override
public Map vmsErrorActionMemoSave(Map param) {
int cnt = 0;
cnt = icsManagerMapper.errorActionMemoSave(param);
HashMap result = new HashMap();
if(cnt > 0) {
result.put("STATUS", "S");
} else {
result.put("STATUS", "F");
}
return result;
}
@Override
public Map errorActionMemoSave(Map param1, Map param2) {
logger.info("param1::" + param1);
logger.info("param2::" + param2);
param2.put("cctvAnprId", param1.get("cctvAnprId"));
param2.put("troblDt", param1.get("troblDt"));
int cnt = 0;
cnt = icsManagerMapper.errorActionMemoSave(param2);
HashMap result = new HashMap();
if(cnt > 0) {
result.put("STATUS", "S");
} else {
result.put("STATUS", "F");
}
result.put("cctvAnprId", param1.get("cctvAnprId"));
result.put("troblDt", param1.get("troblDt"));
return result;
}
@Override
public Map rtuReset(Map param) {
Map result = null;
String url = env.getProperty("Globals.SmartPlatform.Url") + env.getProperty("Globals.SmartPlatform.RTUResetURL");
String ip = (String) param.get("IP_ADRES");
int port = (int) param.get("PORT");
String macAddress = (String) param.get("MAC_ADRES");
String relayNum = (String) param.get("RELAY_NO");
Map reqData = new LinkedHashMap();
reqData.put("ip", ip);
reqData.put("port", port);
//reqData.put("macAddress", macAddress);
reqData.put("macAddress", "000000000000");//맥 어드레스는 0 12자리로.
reqData.put("relayNum", 1+relayNum);
reqData.put("state", "2");//( 0 : off, 1:on, 2:reset(default)
logger.info("url::" + url);
logger.info("reqData::" + reqData);
result = requestRtuResetApi(url, reqData);
logger.info("result:: " + result);
return result;
}
public Map requestRtuResetApi(String requestURL,
Map reqData
) {
Map result = new HashMap();
//CloseableHttpClient client = HttpClients.createDefault();
RequestConfig defaultRequestConfig = RequestConfig.custom()
.setSocketTimeout(10000)
.setConnectTimeout(10000)
.setConnectionRequestTimeout(10000)
.setStaleConnectionCheckEnabled(true)
.build();
CloseableHttpClient client = HttpClients.custom()
.setDefaultRequestConfig(defaultRequestConfig)
.build();
try {
String token = env.getProperty("Globals.SmartPlatform.token");
HttpPost postRequest = new HttpPost(requestURL); //POST 메소드 URL 새성
postRequest.setHeader("Accept", "application/json");
postRequest.setHeader("BROKER_TOKEN", token);
List<NameValuePair> pairs = new ArrayList<>();
Iterator<String> keys = reqData.keySet().iterator();
while (keys.hasNext()) {
String key = keys.next();
String val = "";
if("port".equals(key)) {
int port = (int) reqData.get("port");
val = String.valueOf(port);
} else {
val = (String)reqData.get(key);
}
pairs.add(new BasicNameValuePair(key, val));
}
postRequest.setEntity(new UrlEncodedFormEntity(pairs, "UTF-8"));
HttpResponse response = client.execute(postRequest);
//Response 출력
if (response.getStatusLine().getStatusCode() == 200) {
ResponseHandler<String> handler = new BasicResponseHandler();
String body = handler.handleResponse(response);
JSONParser parser = new JSONParser();
Object obj = parser.parse(body);
JSONObject jsonObj = (JSONObject) obj;
JSONArray datas = (JSONArray) jsonObj.get("data");
logger.info("body::" + jsonObj.toJSONString());
if (jsonObj.get("result").equals("SUCCESS")) {
if (jsonObj.get("resultCode").equals("")) {
result.put("rspnsResult", "S");
result.put("data", datas);
} else {
result.put("rspnsResult", "E");
}
result.put("rspnsCode", "0000");
result.put("rspnsMssage", jsonObj.get("rspnsMssage"));
} else {
result.put("rspnsResult", "E");
result.put("rspnsCode", "9999");
result.put("rspnsMssage", jsonObj.get("resultMessage"));
}
} else {
logger.error("response is error : " + response.getStatusLine().getStatusCode());
result.put("rspnsResult", "E");
result.put("rspnsCode", "9999");
result.put("rspnsMssage", "response is error");
}
} catch (RuntimeException re) {
logger.error("[RuntimeException::" + "" + "]", re);
result.put("rspnsResult", "E");
result.put("rspnsCode", "9999");
result.put("rspnsMssage", "시스템 오류가 발생하였습니다.");
} catch (Exception e) {
logger.error("[process error::" + "" + "]", e);
result.put("rspnsResult", "E");
result.put("rspnsCode", "9999");
result.put("rspnsMssage", "연결 오류가 발생하였습니다.");
} finally {
try {
client.close();
} catch (IOException io) {
logger.error("[process error::" + "" + "]", io);
}
}
return result;
}
}

@ -0,0 +1,558 @@
package gtpa.icsmw.icsmanager.web;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
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.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import gtpa.icsmw.user.dto.UserInfo;
import gtpa.icsmw.common.web.BaseController;
import gtpa.icsmw.icsmanager.service.IcsManagerService;
import gtpa.icsmw.util.Result;
/**
* /////////////////////////////////////////////////////
* Company : MQNIC
* Create : jackt
* Date : 22/07/2019
* TIME : 14:00 PM
* Project : ICSMOBILE
* Class : IcsManagerController
* Desc :
* /////////////////////////////////////////////////////
*/
@Controller
public class IcsManagerController extends BaseController {
@Autowired
private IcsManagerService icsManagerService;
@Autowired
private UserInfo userInfo;
private Logger logger = LoggerFactory.getLogger(IcsManagerController.class);
/**
*
*
* @param param the param
* @return the ics oper trobl main list
*/
@RequestMapping(value = "/icsmanager/getIcsOperTroblMainList.do", method = RequestMethod.POST)
public @ResponseBody
Map<String, Object> getIcsOperTroblMainList(@RequestBody Map<String, Object> param) {
Result result = new Result();
try {
logger.info("====#####== getIcsOperTroblMainList POST =======");
logger.info("Param Data : " + (Map) param.get("dma_searchParm"));
Map dbParam = (Map) param.get("dma_searchParm");
result.setData("dlt_resultIcsOperTroblMainList", icsManagerService.getIcsOperTroblMainList(dbParam));
logger.info("getIcsOperTroblMainList Result Data: " + result.getResult());
result.setMsg(result.STATUS_SUCESS, "정상적으로 죄회되었습니다.");
} catch (RuntimeException re) {
logger.error("[RuntimeException::" + "" + "]", re);
result.setMsg(Result.STATUS_ERROR, "조회시 에러가 발생하였습니다.",re);
} catch (Exception ex) {
result.setMsg(result.STATUS_ERROR, "조회시 에러가 발생하였습니다.", ex);
}
return result.getResult();
}
/**
*
*
* @param param the param
* @return the ics main list
*/
@RequestMapping(value = "/icsmanager/getIcsMainList.do", method = RequestMethod.POST)
public @ResponseBody
Map<String, Object> getIcsMainList(@RequestBody Map<String, Object> param) {
Result result = new Result();
try {
logger.info("====#####== getIcsMainList POST =======");
logger.info("Param Data : " + (Map) param.get("dma_searchParm"));
Map dbParam = (Map) param.get("dma_searchParm");
List<Map> resultList = new ArrayList<>();
resultList = icsManagerService.getIcsMainList(dbParam);
result.setData("dlt_resultIcsMainList", resultList);
logger.info("getIcsMainList Result Data: " + result.getResult());
result.setMsg(result.STATUS_SUCESS, "정상적으로 죄회되었습니다.");
} catch (RuntimeException re) {
logger.error("[RuntimeException::" + "" + "]", re);
result.setMsg(Result.STATUS_ERROR, "조회시 에러가 발생하였습니다.",re);
} catch (Exception ex) {
result.setMsg(result.STATUS_ERROR, "조회시 에러가 발생하였습니다.", ex);
}
return result.getResult();
}
/**
* CCTV
*
* @param param the param
* @return the cctv list
*/
@RequestMapping(value = "/icsmanager/getCctvList.do", method = RequestMethod.POST)
public @ResponseBody
Map<String, Object> getCctvList(@RequestBody Map<String, Object> param) {
Result result = new Result();
try {
logger.info("====#####== getCctvList POST =======");
logger.info("Param Data : " + (Map) param.get("dma_searchParm"));
Map dbParam = (Map) param.get("dma_searchParm");
result.setData("dlt_resultList", icsManagerService.getCctvList(dbParam));
logger.info("Result Data: " + result.getResult());
result.setMsg(result.STATUS_SUCESS, "정상적으로 죄회되었습니다.");
} catch (RuntimeException re) {
logger.error("[RuntimeException::" + "" + "]", re);
result.setMsg(Result.STATUS_ERROR, "조회시 에러가 발생하였습니다.",re);
} catch (Exception ex) {
result.setMsg(result.STATUS_ERROR, "조회시 에러가 발생하였습니다.", ex);
}
return result.getResult();
}
/**
* CCTV
*
* @param param the param
* @return the cctv view
*/
@RequestMapping(value = "/icsmanager/getCctvView.do", method = RequestMethod.POST)
public @ResponseBody
Map<String, Object> getCctvView(@RequestBody Map<String, Object> param) {
Result result = new Result();
try {
logger.info("====#####== getCctvView POST =======");
logger.info("Param Data : " + (Map) param.get("dma_searchParm"));
Map dbParam = (Map) param.get("dma_searchParm");
result.setData("dma_result", icsManagerService.getCctvView(dbParam));
logger.info("Result Data: " + result.getResult());
result.setMsg(result.STATUS_SUCESS, "정상적으로 죄회되었습니다.");
} catch (RuntimeException re) {
logger.error("[RuntimeException::" + "" + "]", re);
result.setMsg(Result.STATUS_ERROR, "조회시 에러가 발생하였습니다.",re);
} catch (Exception ex) {
result.setMsg(result.STATUS_ERROR, "조회시 에러가 발생하였습니다.", ex);
}
return result.getResult();
}
/**
* CCTV
*
* @param param the param
* @return the cctv error info view
*/
@RequestMapping(value = "/icsmanager/getCctvErrorInfoView.do", method = RequestMethod.POST)
public @ResponseBody
Map<String, Object> getCctvErrorInfoView(@RequestBody Map<String, Object> param) {
Result result = new Result();
try {
logger.info("====#####== getCctvErrorInfoView POST =======");
logger.info("Param Data : " + (Map) param.get("dma_searchParm"));
Map dbParam = (Map) param.get("dma_searchParm");
result.setData("dma_result", icsManagerService.getCctvErrorInfoView(dbParam));
logger.info("Result Data: " + result.getResult());
result.setMsg(result.STATUS_SUCESS, "정상적으로 죄회되었습니다.");
} catch (RuntimeException re) {
logger.error("[RuntimeException::" + "" + "]", re);
result.setMsg(Result.STATUS_ERROR, "조회시 에러가 발생하였습니다.",re);
} catch (Exception ex) {
result.setMsg(result.STATUS_ERROR, "조회시 에러가 발생하였습니다.", ex);
}
return result.getResult();
}
/**
* CCTV
*
* @param param the param
* @return the map
*/
@RequestMapping(value = "/icsmanager/cctvErrorActionMemoSave.do", method = RequestMethod.POST)
public @ResponseBody
Map<String, Object> cctvErrorActionMemoSave(@RequestBody Map<String, Object> param) {
Result result = new Result();
try {
logger.info("====#####== cctvErrorActionMemoSave POST =======");
logger.info("Param Data : " + (Map) param.get("dma_saveParm"));
Map dbParam = (Map) param.get("dma_saveParm");
result.setData("dma_result", icsManagerService.cctvErrorActionMemoSave(dbParam));
logger.info("Result Data: " + result.getResult());
result.setMsg(result.STATUS_SUCESS, "정상적으로 죄회되었습니다.");
} catch (RuntimeException re) {
logger.error("[RuntimeException::" + "" + "]", re);
result.setMsg(Result.STATUS_WARNING, "저장시 에러가 발생하였습니다.<br>입력파라미터 또는 로그를 확인해주세요.",re);
} catch (Exception ex) {
result.setMsg(result.STATUS_ERROR, "저장시 에러가 발생하였습니다.", ex);
}
return result.getResult();
}
/**
* ANPR
*
* @param param the param
* @return the anpr list
*/
@RequestMapping(value = "/icsmanager/getAnprList.do", method = RequestMethod.POST)
public @ResponseBody
Map<String, Object> getAnprList(@RequestBody Map<String, Object> param) {
Result result = new Result();
try {
logger.info("====#####== getAnprList POST =======");
logger.info("Param Data : " + (Map) param.get("dma_searchParm"));
Map dbParam = (Map) param.get("dma_searchParm");
result.setData("dlt_resultList", icsManagerService.getAnprList(dbParam));
logger.info("Result Data: " + result.getResult());
result.setMsg(result.STATUS_SUCESS, "정상적으로 죄회되었습니다.");
} catch (RuntimeException re) {
logger.error("[RuntimeException::" + "" + "]", re);
result.setMsg(Result.STATUS_ERROR, "조회시 에러가 발생하였습니다.",re);
} catch (Exception ex) {
result.setMsg(result.STATUS_ERROR, "조회시 에러가 발생하였습니다.", ex);
}
return result.getResult();
}
/**
* ANPR
*
* @param param the param
* @return the anpr view
*/
@RequestMapping(value = "/icsmanager/getAnprView.do", method = RequestMethod.POST)
public @ResponseBody
Map<String, Object> getAnprView(@RequestBody Map<String, Object> param) {
Result result = new Result();
try {
logger.info("====#####== getAnprView POST =======");
logger.info("Param Data : " + (Map) param.get("dma_searchParm"));
Map dbParam = (Map) param.get("dma_searchParm");
result.setData("dma_result", icsManagerService.getAnprView(dbParam));
logger.info("Result Data: " + result.getResult());
result.setMsg(result.STATUS_SUCESS, "정상적으로 죄회되었습니다.");
} catch (RuntimeException re) {
logger.error("[RuntimeException::" + "" + "]", re);
result.setMsg(Result.STATUS_ERROR, "조회시 에러가 발생하였습니다.",re);
} catch (Exception ex) {
result.setMsg(result.STATUS_ERROR, "조회시 에러가 발생하였습니다.", ex);
}
return result.getResult();
}
/**
* ANPR
*
* @param param the param
* @return the anpr error info view
*/
@RequestMapping(value = "/icsmanager/getAnprErrorInfoView.do", method = RequestMethod.POST)
public @ResponseBody
Map<String, Object> getAnprErrorInfoView(@RequestBody Map<String, Object> param) {
Result result = new Result();
try {
logger.info("====#####== getAnprErrorInfoView POST =======");
logger.info("Param Data : " + (Map) param.get("dma_searchParm"));
Map dbParam = (Map) param.get("dma_searchParm");
result.setData("dma_result", icsManagerService.getAnprErrorInfoView(dbParam));
logger.info("Result Data: " + result.getResult());
result.setMsg(result.STATUS_SUCESS, "정상적으로 죄회되었습니다.");
} catch (RuntimeException re) {
logger.error("[RuntimeException::" + "" + "]", re);
result.setMsg(Result.STATUS_ERROR, "조회시 에러가 발생하였습니다.",re);
} catch (Exception ex) {
result.setMsg(result.STATUS_ERROR, "조회시 에러가 발생하였습니다.", ex);
}
return result.getResult();
}
/**
* ANPR
*
* @param param the param
* @return the map
*/
@RequestMapping(value = "/icsmanager/anprErrorActionMemoSave.do", method = RequestMethod.POST)
public @ResponseBody
Map<String, Object> anprErrorActionMemoSave(@RequestBody Map<String, Object> param) {
Result result = new Result();
try {
logger.info("====#####== anprErrorActionMemoSave POST =======");
logger.info("Param Data : " + (Map) param.get("dma_searchParm"));
logger.info("Param Data : " + (Map) param.get("dma_result"));
Map dbParam = (Map) param.get("dma_saveParm");
result.setData("dma_result", icsManagerService.anprErrorActionMemoSave(dbParam));
logger.info("Result Data: " + result.getResult());
result.setMsg(result.STATUS_SUCESS, "정상적으로 죄회되었습니다.");
} catch (RuntimeException re) {
logger.error("[RuntimeException::" + "" + "]", re);
result.setMsg(Result.STATUS_WARNING, "저장시 에러가 발생하였습니다.<br>입력파라미터 또는 로그를 확인해주세요.",re);
} catch (Exception ex) {
result.setMsg(result.STATUS_ERROR, "저장시 에러가 발생하였습니다.", ex);
}
return result.getResult();
}
/**
* VMS
*
* @param param the param
* @return the vms list
*/
@RequestMapping(value = "/icsmanager/getVmsList.do", method = RequestMethod.POST)
public @ResponseBody
Map<String, Object> getVmsList(@RequestBody Map<String, Object> param) {
Result result = new Result();
try {
logger.info("====#####== getVmsList POST =======");
logger.info("Param Data : " + (Map) param.get("dma_searchParm"));
Map dbParam = (Map) param.get("dma_searchParm");
result.setData("dlt_resultList", icsManagerService.getVmsList(dbParam));
logger.info("Result Data: " + result.getResult());
result.setMsg(result.STATUS_SUCESS, "정상적으로 죄회되었습니다.");
} catch (RuntimeException re) {
logger.error("[RuntimeException::" + "" + "]", re);
result.setMsg(Result.STATUS_ERROR, "조회시 에러가 발생하였습니다.",re);
} catch (Exception ex) {
result.setMsg(result.STATUS_ERROR, "조회시 에러가 발생하였습니다.", ex);
}
return result.getResult();
}
/**
* VMS
*
* @param param the param
* @return the vms view
*/
@RequestMapping(value = "/icsmanager/getVmsView.do", method = RequestMethod.POST)
public @ResponseBody
Map<String, Object> getVmsView(@RequestBody Map<String, Object> param) {
Result result = new Result();
try {
logger.info("====#####== getVmsView POST =======");
logger.info("Param Data : " + (Map) param.get("dma_searchParm"));
Map dbParam = (Map) param.get("dma_searchParm");
result.setData("dma_result", icsManagerService.getVmsView(dbParam));
logger.info("Result Data: " + result.getResult());
result.setMsg(result.STATUS_SUCESS, "정상적으로 죄회되었습니다.");
} catch (RuntimeException re) {
logger.error("[RuntimeException::" + "" + "]", re);
result.setMsg(Result.STATUS_ERROR, "조회시 에러가 발생하였습니다.",re);
} catch (Exception ex) {
result.setMsg(result.STATUS_ERROR, "조회시 에러가 발생하였습니다.", ex);
}
return result.getResult();
}
/**
* VMS
*
* @param param the param
* @return the vms error info view
*/
@RequestMapping(value = "/icsmanager/getVmsErrorInfoView.do", method = RequestMethod.POST)
public @ResponseBody
Map<String, Object> getVmsErrorInfoView(@RequestBody Map<String, Object> param) {
Result result = new Result();
try {
logger.info("====#####== getVmsErrorInfoView POST =======");
logger.info("Param Data : " + (Map) param.get("dma_searchParm"));
Map dbParam = (Map) param.get("dma_searchParm");
result.setData("dma_result", icsManagerService.getVmsErrorInfoView(dbParam));
logger.info("Result Data: " + result.getResult());
result.setMsg(result.STATUS_SUCESS, "정상적으로 죄회되었습니다.");
} catch (RuntimeException re) {
logger.error("[RuntimeException::" + "" + "]", re);
result.setMsg(Result.STATUS_ERROR, "조회시 에러가 발생하였습니다.",re);
} catch (Exception ex) {
result.setMsg(result.STATUS_ERROR, "조회시 에러가 발생하였습니다.", ex);
}
return result.getResult();
}
/**
* VMS
*
* @param param the param
* @return the map
*/
@RequestMapping(value = "/icsmanager/vmsErrorActionMemoSave.do", method = RequestMethod.POST)
public @ResponseBody
Map<String, Object> vmsErrorActionMemoSave(@RequestBody Map<String, Object> param) {
Result result = new Result();
try {
logger.info("====#####== vmsErrorActionMemoSave POST =======");
logger.info("Param Data : " + (Map) param.get("dma_saveParm"));
Map dbParam = (Map) param.get("dma_saveParm");
result.setData("dma_result", icsManagerService.vmsErrorActionMemoSave(dbParam));
logger.info("Result Data: " + result.getResult());
result.setMsg(result.STATUS_SUCESS, "정상적으로 죄회되었습니다.");
} catch (RuntimeException re) {
logger.error("[RuntimeException::" + "" + "]", re);
result.setMsg(Result.STATUS_WARNING, "저장시 에러가 발생하였습니다.<br>입력파라미터 또는 로그를 확인해주세요.",re);
} catch (Exception ex) {
result.setMsg(result.STATUS_ERROR, "저장시 에러가 발생하였습니다.", ex);
}
return result.getResult();
}
/**
* ANPR
*
* @param param the param
* @return the map
*/
@RequestMapping(value = "/icsmanager/errorActionMemoSave.do", method = RequestMethod.POST)
public @ResponseBody
Map<String, Object> errorActionMemoSave(@RequestBody Map<String, Object> param) {
Result result = new Result();
try {
logger.info("====#####== anprErrorActionMemoSave POST =======");
Map<String, Object> resultMap = new HashMap<String, Object>();
Map dbSearchParam = (Map) param.get("dma_searchParm");
Map dbInputParam = (Map) param.get("dma_result");
resultMap = userInfo.getUserInfoByBase();
logger.info("dbSearchParam::" + dbSearchParam);
logger.info("dbInputParam::" + dbInputParam);
logger.info("resultMap::" + resultMap);
dbInputParam.put("MBER_ID", resultMap.get("MBER_ID"));
result.setData("dma_result", icsManagerService.errorActionMemoSave(dbSearchParam, dbInputParam));
logger.info("Result Data: " + result.getResult());
result.setMsg(result.STATUS_SUCESS, "정상적으로 저장되었습니다.");
} catch (RuntimeException re) {
logger.error("[RuntimeException::" + "" + "]", re);
result.setMsg(Result.STATUS_WARNING, "저장시 에러가 발생하였습니다.<br>입력파라미터 또는 로그를 확인해주세요.",re);
} catch (Exception ex) {
result.setMsg(result.STATUS_ERROR, "저장시 에러가 발생하였습니다.", ex);
}
return result.getResult();
}
/**
* API
*
* @param param the param
* @return the map
*/
@RequestMapping(value = "/icsmanager/rtuReset.do", method = RequestMethod.POST)
public @ResponseBody
Map<String, Object> rtuReset(@RequestBody Map<String, Object> param) {
Result result = new Result();
try {
logger.info("====#####== rtuReset POST =======");
Map<String, Object> resultMap = new HashMap<String, Object>();
Map resetParam = (Map) param.get("dma_rtu_reset");
logger.info("resetParam::" + resetParam);
resultMap = icsManagerService.rtuReset(resetParam);
logger.info("resultMap::" + resultMap);
result.setData("dma_rtu_reset", resultMap);
logger.info("Result Data: " + result.getResult());
result.setMsg(result.STATUS_SUCESS, "정상적으로 전송되었습니다.");
} catch (RuntimeException re) {
logger.error("[RuntimeException::" + "" + "]", re);
result.setMsg(Result.STATUS_ERROR, "전송시 에러가 발생하였습니다.",re);
} catch (Exception ex) {
logger.error("[process error::" + "" + "]", ex);
result.setMsg(result.STATUS_ERROR, "전송시 에러가 발생하였습니다.", ex);
}
return result.getResult();
}
}

@ -0,0 +1,59 @@
package gtpa.icsmw.interceptor;
import eu.bitwalker.useragentutils.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.servlet.mvc.WebContentInterceptor;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* /////////////////////////////////////////////////////
* Company : MQNIC
* Create : seunghyun
* Date : 31/05/2019
* TIME : 5:30 PM
* Project : icsmw
* Class : AccessStaticInterceptor
* Desc :
* /////////////////////////////////////////////////////
*/
public class AccessStaticInterceptor extends WebContentInterceptor {
private Logger logger = LoggerFactory.getLogger(AccessStaticInterceptor.class);
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws ServletException {
logger.info("=== refresh browser");
logger.info("=== access Browser:"+request.getHeader("user-agent"));
UserAgent agent = UserAgent.parseUserAgentString(request.getHeader("user-agent"));
// browser
Browser browser = agent.getBrowser();
logger.info("Browser type: " + browser.getBrowserType().getName());
logger.info("*Browser name: " + browser.getName());
logger.info("Browser render engine: " + browser.getRenderingEngine());
Version version = agent.getBrowserVersion();
if (version != null){
logger.info("*Browser version: " + version.getVersion());
logger.info("Browser major version: " + version.getMajorVersion());
logger.info("Browser minor version: " + version.getMinorVersion());
}
logger.info("Browser manufacturer: " + browser.getManufacturer().getName());
// operating system
OperatingSystem os = agent.getOperatingSystem();
logger.info("*OS Name: " + os.getName());
logger.info("OS Manufacturer: " + os.getManufacturer());
OperatingSystem group = os.getGroup();
logger.info("OS group: " + group.getName());
// device type
DeviceType deviceType = os.getDeviceType();
logger.info("*Device: " + deviceType.getName());
return super.preHandle(request, response, handler);
}
}

@ -0,0 +1,75 @@
package gtpa.icsmw.interceptor;
import gtpa.icsmw.user.dto.UserInfo;
import gtpa.icsmw.util.Result;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.method.HandlerMethod;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.WebContentInterceptor;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.lang.reflect.Method;
/**
* /////////////////////////////////////////////////////
* Company : MQNIC
* Create : seunghyun
* Date : 17/04/2019
* TIME : 5:59 PM
* Project : icsmw
* Class : AuthenticInterceptor
* Desc :
* /////////////////////////////////////////////////////
*/
public class AuthenticInterceptor extends WebContentInterceptor {
private Logger logger = LoggerFactory.getLogger(AuthenticInterceptor.class);
@Autowired
private UserInfo userInfo;
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws ServletException {
boolean result = true;
try {
logger.info("== AuthenticInterceptor preHandle start =======" + request.getRequestURI());
HandlerMethod handlerMethod = (HandlerMethod) handler;
Method method = handlerMethod.getMethod();
logger.info("== method ======" + method);
logger.info("== bean ======" + handlerMethod.getBean());
//logger.info("== UserInfo ============================" + userInfo.getUserInfo());
if(request.getSession(false) != null){
logger.info("== tempUserSessionInfoDTO =====================" + request.getSession(false).getAttribute("scopedTarget.tempUserSessionInfoDTO"));
}
if (userInfo.getUserId() != null) {
result = true;
} else {
result = false;
response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
response.getWriter().write("{\"rsMsg\":{\"statusCode\":\"E\", \"errorCode\" : \"E0001\", \"message\":\"장시간 서비스 이용이 없어 접속 종료되었습니다.\",\"status\":\"Error\"}}");
}
} catch (RuntimeException re) {
logger.error("[RuntimeException::" + "" + "]", re);
} catch (Exception e) {
logger.error("[process error::" + "" + "]", e);
}finally {
logger.info("== result ============================" + result);
}
return result;
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
super.postHandle(request, response, handler, modelAndView);
logger.info("== AuthenticInterceptor postHandle start =======" + request.getRequestURI());
}
}

@ -0,0 +1,100 @@
package gtpa.icsmw.interceptor;
import gtpa.icsmw.login.service.LoginService;
import eu.bitwalker.useragentutils.*;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.EnableAspectJAutoProxy;
import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
import java.util.Arrays;
import java.util.HashMap;
@Aspect // AOP bean : AOP 애노테이션
@Component
@EnableAspectJAutoProxy
public class MessageAdvice {
@Autowired
private LoginService loginService;
private Logger logger = LoggerFactory.getLogger(MessageAdvice.class);
// 매개변수 확인, @Before(대상:호출전)
@Before("execution(* gtpa.icsmw.login.web.LoginController.login(..)) || execution(* gtpa.icsmw.login.web.LoginController.deUserLogin(..))")
public void startLog(JoinPoint jp){
// 핵심업무의 클래스,매서드, 매개변수 로깅
logger.info("핵심업무 코드정보 : "+jp.getSignature());
logger.info("메서드 : "+jp.getSignature().getName());
logger.info("매개변수:"+ Arrays.toString(jp.getArgs()));
}
// method 실행 시간 확인, @Around : 핵심업무 전후에 자동호출, ProceedingJoinPoint
@Around("execution(* gtpa.icsmw.login.web.LoginController.login(..)) || execution(* gtpa.icsmw.login.web.LoginController.deUserLogin(..))")
public Object timeLog(ProceedingJoinPoint pjp) throws Throwable {
// 핵심업무 실행 전
long start = System.currentTimeMillis();
// 핵심업무 실행
Object result = pjp.proceed();
// 핵심업무 실행 후
long end = System.currentTimeMillis();
// 핵심업무 실행시간 연산
logger.info("매개변수:"+Arrays.toString(pjp.getArgs()));
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.currentRequestAttributes()).getRequest();
UserAgent agent = UserAgent.parseUserAgentString(request.getHeader("user-agent"));
// browser
Browser browser = agent.getBrowser();
//logger.info("Browser type: " + browser.getBrowserType().getName());
logger.info("*Browser name: " + browser.getName());
//logger.info("Browser render engine: " + browser.getRenderingEngine());
Version version = agent.getBrowserVersion();
if (version != null){
//logger.info("Browser version: " + version.getVersion());
//logger.info("Browser major version: " + version.getMajorVersion());
//logger.info("Browser minor version: " + version.getMinorVersion());
}
//logger.info("Browser manufacturer: " + browser.getManufacturer().getName());
// operating system
OperatingSystem os = agent.getOperatingSystem();
//logger.info("*OS Name: " + os.getName());
//logger.info("OS Manufacturer: " + os.getManufacturer());
OperatingSystem group = os.getGroup();
//logger.info("*OS group: " + group.getName());
// device type
DeviceType deviceType = os.getDeviceType();
logger.info("**Device: " + deviceType.getName());
logger.info("SESSION::"+request.getSession().getAttribute("MBER_NO"));
HashMap param = new HashMap();
param.put("MBER_NO",request.getSession().getAttribute("MBER_NO"));
param.put("DEVICE",deviceType.getName());
param.put("BROWSER",browser.getName());
boolean isLogined = false;
boolean isTempMber = false;
if(request.getSession().getAttribute("IS_LOGIN") != null) {
isLogined = (boolean)request.getSession().getAttribute("IS_LOGIN");
if(request.getSession().getAttribute("IS_TEMPMBER") != null){
isTempMber = (boolean)request.getSession().getAttribute("IS_TEMPMBER");
}
}
if(isLogined) {
if(isTempMber){
param.put("MBER_NO",request.getSession().getAttribute("MBER_ID"));
}
//loginService.insertConnInfo(param);
}
logger.info(pjp.getSignature().getName()+"메서드 실행시간:"+(end-start));
logger.info("==========================================");
return result;
}
}

@ -0,0 +1,122 @@
package gtpa.icsmw.interceptor;
import gtpa.icsmw.user.dto.UserInfo;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
/**
* /////////////////////////////////////////////////////
* Company : MQNIC
* Create : seunghyun
* Date : 11/04/2019
* TIME : 2:57 PM
* Project : icsmw
* Class : SessionCheckInterceptor
* Desc :
* /////////////////////////////////////////////////////
*/
public class SessionCheckInterceptor extends HandlerInterceptorAdapter {
private Logger logger = LoggerFactory.getLogger(SessionCheckInterceptor.class);
@Autowired
private UserInfo userInfo;
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
String loginInfo;
HttpSession session = request.getSession();
String reqUrl = request.getRequestURI();
String w2xPath = request.getParameter("w2xPath");
String link = request.getParameter("link");
logger.info("== sessionId ============================" + session.getId());
logger.info("== preHandle start ============================" + reqUrl);
logger.info("== w2xPath ============================" + w2xPath);
logger.info("== link ============================" + link);
//logger.info("== userInfo =====================" + userInfo.getUserInfo());
boolean result = true;
try {
loginInfo = (String) session.getAttribute("MBER_ID");
logger.info("== loginInfo =====================" + loginInfo);
if (loginInfo != null) {
userInfo.setUserInfo(session);
} else {
if (!isSkipURI(request)) {
if ((w2xPath != null) || (reqUrl.indexOf(".xml") > -1)) {
// 웹스퀘어 화면 호출 시 세션이 종료된 경우, 로그인 페이지로 Redirect 처리한다.
result = false;
//response.sendRedirect("/ws.do?w2xPath=/cm/main/sub.xml&link=/cm/main/auth_check.xml");
session.setAttribute("w2xPath", "/cm/main/auth_check.xml");
response.sendRedirect("/");
} else {
// 서비스 호출 시 세션이 종료된 경우, Session 종료 Alert 후, 로그인 페이지로 Redirect 처리 한다.
result = false;
response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
response.getWriter().write("{\"rsMsg\":{\"statusCode\":\"E\", \"errorCode\" : \"E0001\", \"message\":\"장시간 서비스 이용이 없어 접속 종료되었습니다.\",\"status\":\"Error\"}}");
/*response.getWriter().write("{\"statusCode\":\"E\", \"errorCode\" : \"E0001\", \"message\":\"Session이 종료 되었습니다.\",\"status\":\"Error\"}");*/
}
}
if (link != null) {
if (link.indexOf("/ui") > -1) {
result = false;
//response.sendRedirect("/ws.do?w2xPath=/cm/main/sub.xml&link=/cm/main/auth_check.xml");
session.setAttribute("w2xPath", "/cm/main/auth_check.xml");
response.sendRedirect("/");
}
}
}
} catch (RuntimeException re) {
logger.error("[RuntimeException::" + "" + "]", re);
} catch (Exception e) {
logger.error("[process error::" + "" + "]", e);
} finally {
logger.info("== result ============================" + result);
}
return result;
}
/**
* Session URI
*
* @param request
* @date 2016. 8. 29.
* @returns <boolean>
* @author InswaveSystems
* @example
*/
private boolean isSkipURI(HttpServletRequest request) {
String[] skipUrl = {"/", "/I18N", "/ws.do"};
String[] skipw2xPath = {"/cm", "/pub"};
boolean result = false;
String uri = (request.getRequestURI()).replace(request.getContextPath(), "");
String w2xPath = request.getParameter("w2xPath");
for (int i = 0; i < skipUrl.length; i++) {
if (uri.equals(skipUrl[i])) {
result = true;
break;
}
}
if (w2xPath != null) {
for (int i = 0; i < skipw2xPath.length; i++) {
if (w2xPath.contains(skipw2xPath[i])) {
if (!result) result = true;
break;
} else {
result = false;
}
}
}
return result;
}
}

@ -0,0 +1,12 @@
package gtpa.icsmw.login.service;
import java.util.Map;
public interface LoginService {
// 사용자 정보 조회 (로그인 체크용도로 사용 )
Map selectMemberInfoForLogin(Map param);
Map checkSecsnAt(Map defInfo);
}

@ -0,0 +1,23 @@
package gtpa.icsmw.login.service.impl;
import java.util.Map;
import egovframework.rte.psl.dataaccess.EgovAbstractMapper;
import org.springframework.stereotype.Repository;
@Repository("loginDao")
public class LoginMapper extends EgovAbstractMapper {
private String NAMESPACE = "LoginDAO";
public Map selectMemberInfoForLogin(Map param){
return selectOne(NAMESPACE+".selectMemberInfoForLogin",param);
}
public Map checkSecsnAt(Map defInfo) {
return selectOne(NAMESPACE+".checkSecsnAt",defInfo);
}
public void updateMemberLoginErrCount(Map param) {
update(NAMESPACE + ".updateMemberLoginErrCount", param);
}
}

@ -0,0 +1,77 @@
package gtpa.icsmw.login.service.impl;
import java.util.HashMap;
import java.util.Map;
import javax.annotation.Resource;
import gtpa.icsmw.login.service.LoginService;
import org.springframework.stereotype.Service;
@Service
public class LoginServiceImpl implements LoginService {
@Resource(name = "loginDao")
private LoginMapper loginMapper;
//@Value("${system.admin.id}")
private String adminId = "admin";
/**
* ( )
*/
@Override
public Map selectMemberInfoForLogin(Map param) {
Map memberMap = loginMapper.selectMemberInfoForLogin(param);
// 사용자가 존재하지 않을 경우
if (memberMap == null) {
memberMap = new HashMap();
memberMap.put("LOGIN", "notexist");
// 사용자가 존재할 경우
} else {
int promptLogin = Integer.parseInt(String.valueOf(memberMap.get("CONECT_FAILR_CO")));
if( promptLogin > 4) {
memberMap.put("LOGIN", "promptover");
return memberMap;
}
String PASSWORD = (String) memberMap.get("PASSWORD");
//String reqPASSWORD = (String) param.get("pw");
//reqPASSWORD = SHA256Util.encryptSHA256(reqPASSWORD);
String pw = (String) param.get("pw");
// 패스워드 일치
if (PASSWORD.equals(pw)) {
//memberMap.put("PW", "");
memberMap.put("LOGIN", "success");
} else { // 패스워드 불일치
memberMap.put("LOGIN", "error");
promptLogin = promptLogin + 1;
memberMap.put("CONECT_FAILR_CO",promptLogin);
loginMapper.updateMemberLoginErrCount(memberMap);
}
}
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 Map checkSecsnAt(Map defInfo) {
return loginMapper.checkSecsnAt(defInfo);
}
}

@ -0,0 +1,247 @@
package gtpa.icsmw.login.web;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
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.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import gtpa.icsmw.common.web.BaseController;
import gtpa.icsmw.login.service.LoginService;
import gtpa.icsmw.user.dto.UserInfo;
import gtpa.icsmw.util.Result;
/**
* The type Login controller.
*/
@Controller
public class LoginController extends BaseController {
@Autowired
private UserInfo userInfo;
@Autowired
private LoginService loginService;
@Resource(name = "globalsProperties")
private Properties env;
private Logger logger = LoggerFactory.getLogger(LoginController.class);
/**
* Gets init main info.
*
* @param request the request
* @return the init main info
*/
@RequestMapping("/common/init.do")
public @ResponseBody Map<String, Object> getInitMainInfo(HttpServletRequest request) {
Result result = new Result();
//Map memberParam = null;
//Map setInfo = null;
Map defInfo = null;
try {
//memberParam = userInfo.getUserInfoByBase();
defInfo = new HashMap();
//request.getSession().invalidate();
String loginInfo = (String) request.getSession().getAttribute("MBER_ID");
if (loginInfo != null) {
userInfo.setUserInfo(request.getSession());
}
defInfo.put("MBER_NO", userInfo.getUserNo());
defInfo.put("MBER_ID", userInfo.getUserId());
defInfo.put("MBER_NM", userInfo.getUserName());
//defInfo.put("IS_ADMIN", userInfo.getIsAdmin());
//defInfo.put("IS_TEMPMBER", userInfo.isTempMber());
defInfo.put("IS_ADMIN", "");
defInfo.put("IS_TEMPMBER", "");
defInfo.put("IS_LOGIN",userInfo.isLogined());
/*if(!"".equals(loginInfo)){
Map checkData = loginService.checkSecsnAt(defInfo);
if(checkData!= null && "Y".equals(checkData.get("SECSN_AT"))){
request.getSession().invalidate();
}else{
result.setData("dma_defInfo", defInfo);
}
}else{
result.setData("dma_defInfo", defInfo);
}*/
logger.info("dma_defInfo::" + defInfo);
result.setData("dma_defInfo", defInfo);
/*result.setData("dlt_menu", commonService.selectMenuList(memberParam));
result.setData("dlt_fav", commonService.selectFavListByEmpCd(user.getUserId()));
result.setData("dlt_programAuthority", commonService.selectProgramAuthorityList(memberParam));*/
result.setMsg(Result.STATUS_SUCESS, Result.STATUS_SUCESS_MESSAGE);
} catch (RuntimeException re) {
logger.error("[RuntimeException::" + "" + "]", re);
result.setMsg(Result.STATUS_ERROR, Result.STATUS_ERROR_MESSAGE,re);
} catch (Exception ex) {
logger.error("[process error::" + "" + "]", ex);
result.setMsg(Result.STATUS_ERROR, Result.STATUS_ERROR_MESSAGE, ex);
}finally {
request.getSession().setAttribute("IS_LOGIN", userInfo.isLogined());
}
return result.getResult();
}
/**
* Session check map.
*
* @param session the session
* @return the map
*/
@RequestMapping(value = "/login/sessionCheck.do", method = RequestMethod.GET)
public @ResponseBody
Map<String, Object> sessionCheck(HttpSession session) {
Map<String, Object> result = new HashMap<String, Object>();
Map<String, Object> header = new HashMap<String, Object>();
try {
logger.info("sessionCheck");
if (session.getAttribute("LoginVO") != null) {
header.put("resultCode", "001");
header.put("resultMessage", "성공했습니다.");
} else {
header.put("resultCode", "002");
header.put("resultMessage", "실패했습니다.");
}
result.put("header", header);
} catch (RuntimeException re) {
logger.error("[process error::" + "" + "]", re);
header.put("resultCode", "002");
header.put("resultMessage", "오류가 발생하였습니다.");
} catch (Exception e) {
logger.error("[process error::" + "" + "]", e);
header.put("resultCode", "002");
header.put("resultMessage", "오류가 발생하였습니다.");
}
return result;
}
/**
* Login map.
*
* @param param the param
* @param request the request
* @param response the response
* @return the map
*/
@RequestMapping(value = "/login/login.do")
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();
if (session.getAttribute("IS_LOGIN") != null && (boolean) session.getAttribute("IS_LOGIN") == true) {
result.setMsg(Result.STATUS_WARNING, "이미 로그인중입니다.");
return result.getResult();
}
try {
// loginParam은 param(EMP_CD/PW)의 값을 꺼내는 용도
loginParam = (Map) param.get("dma_loginCheck");
memberMap = loginService.selectMemberInfoForLogin(loginParam);
status = (String) memberMap.get("LOGIN");
// 로그인 성공
if (status.equals("success")) {
//String mainLayout = (String) memberMap.get("MAIN_LAYOUT_PAGE_CODE");
// main setting에 값이 저장되어 있지 않는 경우 insert.
//if (mainLayout == null) {
//mainLayout = userInfo.getDefaultMainLayoutCode();
//}
userInfo.setUserInfo(memberMap);
//session.setAttribute("MBER_CI", memberMap.get("MBER_CI"));
session.setAttribute("MBER_NO", memberMap.get("MBER_NO"));
session.setAttribute("MBER_ID", memberMap.get("MBER_ID"));
session.setAttribute("MBER_NM", memberMap.get("MBER_NM"));
//session.setAttribute("MBER_TY", memberMap.get("MBER_TY"));
//session.setAttribute("MAIN_LAYOUT_PAGE_CODE", mainLayout);
// 로그인한 아이디가 시스템 관리자인지 여부를 체크한다.
// 시스템 관리자 아이디는 websquareConfig.properties 파일의 system.admin.id 속성에 정의하면 된다.
// 시스템 관자자 아이디가 여러 개일 경우 콤마(",") 구분해서 작성할 수 있다.
//boolean isAdmin = loginService.isAdmin((String) memberMap.get("MBER_ID"));
//session.setAttribute("IS_ADMIN", isAdmin);
//session.setAttribute("IS_ADMIN", "");
//session.setAttribute("IS_TEMPMBER", false);
// 클라이언트(UI)에 전달하는 IS_ADMIN 정보는 관리자인지의 여부에 따라 화면 제어가 필요한 로직 처리를 위해서만 사용한다.
// 서버 서비스에서의 로직 처리는 보안을 위해서 클라이언트에서 전달하는 IS_ADMIN 정보가 아닌
// 서버 서비스에서 관리하는 UserInfo.getIsAdmin()에서 관리자 여부를 받아와서 판단해야 한다.
session.setMaxInactiveInterval(60 * 60);
userInfo.setUserInfo(session);
logger.info("UserLogin after::" + userInfo.toString());
result.setMsg(Result.STATUS_SUCESS, "로그인 성공");
result.setData("dc_result", memberMap);
} else if (status.equals("promptover")) {
result.setMsg("O", "비밀번호 오류가 5회이상 발생하여 로그인이 불가하오니<br>관리자를 통하여 로그인횟수 초기화 후 다시 로그인하여 주시기 바랍니다.");
return result.getResult();
} else if (status.equals("error")) {
result.setMsg(result.STATUS_ERROR, "아이디 또는 패스워드가 잘못 되었습니다.");
} else {
result.setMsg(result.STATUS_ERROR, "아이디 또는 패스워드가 잘못 되었습니다.");
}
} catch (RuntimeException re) {// DB커넥션 없음
logger.error("[process error::" + "" + "]", re);
result.setMsg(result.STATUS_ERROR, result.STATUS_ERROR_MESSAGE, re);
} catch (Exception ex) {// DB커넥션 없음
logger.error("[process error::" + "" + "]", ex);
result.setMsg(result.STATUS_ERROR, result.STATUS_ERROR_MESSAGE, ex);
} finally {
session.setAttribute("IS_LOGIN", userInfo.isLogined());
}
return result.getResult();
}
/**
* Logout map.
*
* @param request the request
* @param response the response
* @return the map
*/
@RequestMapping(value = "/login/logout.do")
public @ResponseBody
Map<String, Object> logout(HttpServletRequest request, HttpServletResponse response) {
Result result = new Result();
try {
result.setMsg(Result.STATUS_SUCESS, "정상적으로 로그아웃 되었습니다.");
} catch (RuntimeException re) {// DB커넥션 없음
logger.error("[process error::" + "" + "]", re);
result.setMsg(result.STATUS_ERROR, result.STATUS_ERROR_MESSAGE, re);
} catch (Exception ex) {
logger.error("[process error::" + "" + "]", ex);
result.setMsg(Result.STATUS_ERROR, "로그아웃 도중 오류가 발생하였습니다.", ex);
} finally {
request.getSession().invalidate();
userInfo.init();
logger.info(userInfo.toString());
}
return result.getResult();
}
}

@ -0,0 +1,123 @@
package gtpa.icsmw.user.dto;
/**
* /////////////////////////////////////////////////////
* Company : MQNIC
* Create : seunghyun
* Date : 12/04/2019
* TIME : 4:04 PM
* Project : icsmw
* Class : TempCarInfo
* Desc :
* /////////////////////////////////////////////////////
*/
public class TempCarInfo {
//차량정보
String mberNo = "";
String vhcleManageNo = "";
String vhclePosesnTy= "";
String vhcleNo= "";
String vhcleOwnerCi= "";
String useBeginDt= "";
String useEndDt= "";
String vhcleSttusTy= "";
String setleAgreTy= "";
String penaltyAgreTy= "";
public String getMberNo() {
return mberNo;
}
public void setMberNo(String mberNo) {
this.mberNo = mberNo;
}
public String getVhcleManageNo() {
return vhcleManageNo;
}
public void setVhcleManageNo(String vhcleManageNo) {
this.vhcleManageNo = vhcleManageNo;
}
public String getVhclePosesnTy() {
return vhclePosesnTy;
}
public void setVhclePosesnTy(String vhclePosesnTy) {
this.vhclePosesnTy = vhclePosesnTy;
}
public String getVhcleNo() {
return vhcleNo;
}
public void setVhcleNo(String vhcleNo) {
this.vhcleNo = vhcleNo;
}
public String getVhcleOwnerCi() {
return vhcleOwnerCi;
}
public void setVhcleOwnerCi(String vhcleOwnerCi) {
this.vhcleOwnerCi = vhcleOwnerCi;
}
public String getUseBeginDt() {
return useBeginDt;
}
public void setUseBeginDt(String useBeginDt) {
this.useBeginDt = useBeginDt;
}
public String getUseEndDt() {
return useEndDt;
}
public void setUseEndDt(String useEndDt) {
this.useEndDt = useEndDt;
}
public String getVhcleSttusTy() {
return vhcleSttusTy;
}
public void setVhcleSttusTy(String vhcleSttusTy) {
this.vhcleSttusTy = vhcleSttusTy;
}
public String getSetleAgreTy() {
return setleAgreTy;
}
public void setSetleAgreTy(String setleAgreTy) {
this.setleAgreTy = setleAgreTy;
}
public String getPenaltyAgreTy() {
return penaltyAgreTy;
}
public void setPenaltyAgreTy(String penaltyAgreTy) {
this.penaltyAgreTy = penaltyAgreTy;
}
@Override
public String toString() {
final StringBuffer sb = new StringBuffer("TempCarInfo{");
sb.append("mberNo='").append(mberNo).append('\'');
sb.append(", vhcleManageNo='").append(vhcleManageNo).append('\'');
sb.append(", vhclePosesnTy='").append(vhclePosesnTy).append('\'');
sb.append(", vhcleNo='").append(vhcleNo).append('\'');
sb.append(", vhcleOwnerCi='").append(vhcleOwnerCi).append('\'');
sb.append(", useBeginDt='").append(useBeginDt).append('\'');
sb.append(", useEndDt='").append(useEndDt).append('\'');
sb.append(", vhcleSttusTy='").append(vhcleSttusTy).append('\'');
sb.append(", setleAgreTy='").append(setleAgreTy).append('\'');
sb.append(", penaltyAgreTy='").append(penaltyAgreTy).append('\'');
sb.append('}');
return sb.toString();
}
}

@ -0,0 +1,73 @@
package gtpa.icsmw.user.dto;
/**
* /////////////////////////////////////////////////////
* Company : MQNIC
* Create : seunghyun
* Date : 12/04/2019
* TIME : 4:04 PM
* Project : icsmw
* Class : TempCarInfo
* Desc :
* /////////////////////////////////////////////////////
*/
public class TempPayInfo {
//결제수단
String payOrd;
String payType;
String payComp;
String payName;
String payKey;
public String getPayOrd() {
return payOrd;
}
public void setPayOrd(String payOrd) {
this.payOrd = payOrd;
}
public String getPayType() {
return payType;
}
public void setPayType(String payType) {
this.payType = payType;
}
public String getPayComp() {
return payComp;
}
public void setPayComp(String payComp) {
this.payComp = payComp;
}
public String getPayName() {
return payName;
}
public void setPayName(String payName) {
this.payName = payName;
}
public String getPayKey() {
return payKey;
}
public void setPayKey(String payKey) {
this.payKey = payKey;
}
@Override
public String toString() {
final StringBuffer sb = new StringBuffer("TempPayInfo{");
sb.append("payOrd='").append(payOrd).append('\'');
sb.append(", payType='").append(payType).append('\'');
sb.append(", payComp='").append(payComp).append('\'');
sb.append(", payName='").append(payName).append('\'');
sb.append(", payKey='").append(payKey).append('\'');
sb.append('}');
return sb.toString();
}
}

@ -0,0 +1,283 @@
package gtpa.icsmw.user.dto;
import gtpa.icsmw.util.SHA256Util;
import org.springframework.context.annotation.Scope;
import org.springframework.context.annotation.ScopedProxyMode;
import org.springframework.stereotype.Component;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
* /////////////////////////////////////////////////////
* Company : MQNIC
* Create : seunghyun
* Date : 12/04/2019
* TIME : 10:25 AM
* Project : icsmw
* Class : TempUserSessionDTO
* Desc :
* /////////////////////////////////////////////////////
*/
@Component
@Scope(value = "session", proxyMode = ScopedProxyMode.TARGET_CLASS)
public class TempUserSessionInfoDTO implements Serializable {
public Date makeTime;
// 회원정보
public String mberNo;
public String mberId;
public String mberty;
public String mberPw;
public String mberNm;
public String mberCi;
// 사업자정보
public String entrprsNm ;
public String bsnmRegistNo;
public String cprRegistNo;
public String chargerNm;
public String chargerCi;
public String infoProvdAgreAt;
public Map tempUserInfo;
public List<Map> tempCarInfos;
public List<Map> tempCreditInfos;
public List<Map> tempBankInfos;
//약관동의
public String termsCheck1;
public String termsCheck2;
public String termsCheck3;
public String termsCheck4;
public String termsCheck5;
//문자인증키
public String phoneNum;
public String smsKey;
public TempUserSessionInfoDTO() {
this.makeTime = new Date();
}
public long getMakeTime() {
return makeTime.getTime();
}
public Map getTempUserInfo() {
return tempUserInfo;
}
public void setTempUserInfo(Map tempUserInfo) {
this.tempUserInfo = tempUserInfo;
}
public String getMberNo() {
return mberNo;
}
public void setMberNo(String mberNo) {
this.mberNo = mberNo;
}
public String getMberId() {
return mberId;
}
public void setMberId(String mberId) {
this.mberId = mberId;
}
public String getMberty() {
return mberty;
}
public void setMberty(String mberty) {
this.mberty = mberty;
}
public String getMberPw() {
return mberPw;
}
public void setMberPw(String mberPw) {
this.mberPw = SHA256Util.encryptSHA256(mberPw);
}
public String getMberNm() {
return mberNm;
}
public void setMberNm(String mberNm) {
this.mberNm = mberNm;
}
public String getMberCi() {
return mberCi;
}
public void setMberCi(String mberCi) {
this.mberCi = mberCi;
}
public String getEntrprsNm() {
return entrprsNm;
}
public void setEntrprsNm(String entrprsNm) {
this.entrprsNm = entrprsNm;
}
public String getBsnmRegistNo() {
return bsnmRegistNo;
}
public void setBsnmRegistNo(String bsnmRegistNo) {
this.bsnmRegistNo = bsnmRegistNo;
}
public String getCprRegistNo() {
return cprRegistNo;
}
public void setCprRegistNo(String cprRegistNo) {
this.cprRegistNo = cprRegistNo;
}
public String getChargerNm() {
return chargerNm;
}
public void setChargerNm(String chargerNm) {
this.chargerNm = chargerNm;
}
public String getChargerCi() {
return chargerCi;
}
public void setChargerCi(String chargerCi) {
this.chargerCi = chargerCi;
}
public String getInfoProvdAgreAt() {
return infoProvdAgreAt;
}
public void setInfoProvdAgreAt(String infoProvdAgreAt) {
this.infoProvdAgreAt = infoProvdAgreAt;
}
public List<Map> getTempCarInfos() {
return tempCarInfos;
}
public void setTempCarInfos(List<Map> tempCarInfos) {
for (Map carInfo: tempCarInfos) {
carInfo.put("mberNo",this.mberNo);
}
this.tempCarInfos = tempCarInfos;
}
public List<Map> getTempCreditInfos() {
return tempCreditInfos;
}
public void setTempCreditInfos(List<Map> tempCreditInfos) {
this.tempCreditInfos = tempCreditInfos;
}
public List<Map> getTempBankInfos() {
return tempBankInfos;
}
public void setTempBankInfos(List<Map> tempBankInfos) {
this.tempBankInfos = tempBankInfos;
}
public String getTermsCheck1() {
return termsCheck1;
}
public void setTermsCheck1(String termsCheck1) {
this.termsCheck1 = termsCheck1;
}
public String getTermsCheck2() {
return termsCheck2;
}
public void setTermsCheck2(String termsCheck2) {
this.termsCheck2 = termsCheck2;
}
public String getTermsCheck3() {
return termsCheck3;
}
public void setTermsCheck3(String termsCheck3) {
this.termsCheck3 = termsCheck3;
}
public String getTermsCheck4() {
return termsCheck4;
}
public void setTermsCheck4(String termsCheck4) {
this.termsCheck4 = termsCheck4;
}
public String getTermsCheck5() {
return termsCheck5;
}
public void setTermsCheck5(String termsCheck5) {
this.termsCheck5 = termsCheck5;
}
public String getPhoneNum() {
return phoneNum;
}
public void setPhoneNum(String phoneNum) {
this.phoneNum = phoneNum;
}
public String getSmsKey() {
return smsKey;
}
public void setSmsKey(String smsKey) {
this.smsKey = smsKey;
}
@Override
public String toString() {
final StringBuffer sb = new StringBuffer("TempUserSessionInfoDTO{");
sb.append("makeTime=").append(makeTime);
sb.append(", mberNo='").append(mberNo).append('\'');
sb.append(", mberId='").append(mberId).append('\'');
sb.append(", mberty='").append(mberty).append('\'');
sb.append(", mberPw='").append(mberPw).append('\'');
sb.append(", mberNm='").append(mberNm).append('\'');
sb.append(", mberCi='").append(mberCi).append('\'');
sb.append(", entrprsNm='").append(entrprsNm).append('\'');
sb.append(", bsnmRegistNo='").append(bsnmRegistNo).append('\'');
sb.append(", cprRegistNo='").append(cprRegistNo).append('\'');
sb.append(", chargerNm='").append(chargerNm).append('\'');
sb.append(", chargerCi='").append(chargerCi).append('\'');
sb.append(", infoProvdAgreAt='").append(infoProvdAgreAt).append('\'');
sb.append(", tempUserInfo=").append(tempUserInfo);
sb.append(", tempCarInfos=").append(tempCarInfos);
sb.append(", tempCreditInfos=").append(tempCreditInfos);
sb.append(", tempBankInfos=").append(tempBankInfos);
sb.append(", termsCheck1='").append(termsCheck1).append('\'');
sb.append(", termsCheck2='").append(termsCheck2).append('\'');
sb.append(", termsCheck3='").append(termsCheck3).append('\'');
sb.append(", termsCheck4='").append(termsCheck4).append('\'');
sb.append(", termsCheck5='").append(termsCheck5).append('\'');
sb.append(", phoneNum='").append(phoneNum).append('\'');
sb.append(", smsKey='").append(smsKey).append('\'');
sb.append('}');
return sb.toString();
}
}

@ -0,0 +1,302 @@
package gtpa.icsmw.user.dto;
import java.io.Serializable;
import java.util.Date;
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 {
// MBER_No
private String userNo;
// MBER_ID
private String userId;
// MBER_TY
private String userType;
// MBER_NM
private String userName;
private String userCi;
// 시스템 관리자 여부
private boolean isAdmin;
private boolean isTempMber;
// MAIN_LAYOUT_PAGE_CODE - 메인화면 layout
private String mainLayoutCode;
// FAVORITE_STORAGE - 즐겨찾기 저장 위치
private String favoriteStorage;
private Date makeTime;
public UserInfo() {
this.makeTime = new Date();
}
public long getMakeTime() {
return makeTime.getTime();
}
@Value("${main.setting.default.layout}")
private String defaultMainLayoutCode;
@Value("${main.setting.default.favoriteLocation}")
private String defaultFavoriteStorage;
public String getUserNo() {
return userNo;
}
public void setUserNo(String userNo) {
this.userNo = userNo;
}
public String getUserId() {
return userId;
}
private void setUserId(String userId) {
this.userId = userId;
}
public String getUserType() {
return userType;
}
private void setUserType(String userType) {
this.userType = userType;
}
public String getUserName() {
return userName;
}
private void setUserName(String userName) {
this.userName = userName;
}
public String getUserCi() {
return userCi;
}
public void setUserCi(String userCi) {
this.userCi = userCi;
}
public boolean getIsAdmin() {
return isAdmin;
}
public void setIsAdmin(boolean isAdmin) {
this.isAdmin = isAdmin;
}
public boolean isTempMber() {
return isTempMber;
}
public void setIsTempMber(boolean tempMber) {
isTempMber = tempMber;
}
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 getFavoriteStorage() {
return favoriteStorage;
}
public void setFavoriteStorage(String favoriteStorage) {
if (favoriteStorage == null || favoriteStorage.equals("")) {
this.mainLayoutCode = this.defaultFavoriteStorage;
} else {
this.favoriteStorage = favoriteStorage;
}
}
public String getDefaultMainLayoutCode() {
return this.defaultMainLayoutCode;
}
public String getDefaultFavoriteStorage() {
return this.defaultFavoriteStorage;
}
public Map<String, Object> getUserInfo() {
Map<String, Object> userInfo = new HashMap<String, Object>();
userInfo.put("MBER_NO", this.getUserNo());
userInfo.put("MBER_ID", this.getUserId());
//userInfo.put("MBER_TY", this.getUserType());
userInfo.put("MBER_NM", this.getUserName());
//userInfo.put("MBER_CI", this.getUserCi());
userInfo.put("MAIN_LAYOUT", this.getMainLayoutCode());
userInfo.put("FV_STORAGE", this.getFavoriteStorage());
return userInfo;
}
public Map<String, Object> getDeUserInfo() {
Map<String, Object> userInfo = new HashMap<String, Object>();
userInfo.put("MBER_NO", this.getUserNo());
userInfo.put("MBER_ID", this.getUserId());
userInfo.put("MBER_TY", this.getUserType());
userInfo.put("MBER_NM", this.getUserName());
userInfo.put("MBER_CI", this.getUserCi());
userInfo.put("MAIN_LAYOUT", this.getMainLayoutCode());
userInfo.put("FV_STORAGE", this.getFavoriteStorage());
return userInfo;
}
public Map<String, Object> getUserInfoWithoutUserID() {
Map<String, Object> userInfo = new HashMap<String, Object>();
userInfo.put("MBER_NM", this.getUserName());
userInfo.put("MAIN_LAYOUT", this.getMainLayoutCode());
userInfo.put("FV_STORAGE", this.getFavoriteStorage());
return userInfo;
}
/**
* Map return.
*
* @date 2016.08.22
* @returns <Map> MBER_ID map
* @author InswaveSystems
* @example
* @todo
*/
public Map getUserInfoByBase() {
Map<String, Object> userInfo = new HashMap<String, Object>();
userInfo.put("MBER_ID", this.getUserId());
userInfo.put("MBER_NO", this.getUserNo());
return userInfo;
}
/**
* session dataSetting
*
* @param session session
* @date 2016.08.19
* @author InswaveSystems
* @example
* @todo
*/
public void setUserInfo(HttpSession session) {
this.setUserNo((String) session.getAttribute("MBER_NO"));
this.setUserId((String) session.getAttribute("MBER_ID"));
//this.setUserType((String) session.getAttribute("MBER_TY"));
this.setUserName((String) session.getAttribute("MBER_NM"));
//this.setUserCi((String) session.getAttribute("MBER_CI"));
//this.setIsAdmin((boolean) session.getAttribute("IS_ADMIN"));
//this.setIsTempMber((boolean) session.getAttribute("IS_TEMPMBER"));
//this.setMainLayoutCode((String) session.getAttribute("MAIN_LAYOUT_PAGE_CODE"));
}
/**
* session dataSetting
*
* @param session session
* @date 2016. 8. 19.
* @author InswaveSystems
* @example
* @todo
*/
public void updateMainLayoutCode(HttpSession session, String mainLayoutPageCode) {
this.setMainLayoutCode(mainLayoutPageCode);
session.setAttribute("MAIN_LAYOUT_PAGE_CODE", this.getMainLayoutCode());
}
/**
* Map dataSetting
*
* @param memberInfo map
* @date 2016. 8. 19.
* @author InswaveSystems
* @example
* @todo
*/
public void setUserInfo(Map memberInfo) {
//this.setUserCi((String) memberInfo.get("MBER_CI"));
this.setUserNo((String) memberInfo.get("MBER_NO"));
this.setUserId((String) memberInfo.get("MBER_ID"));
//this.setUserType((String) memberInfo.get("MBER_TY"));
this.setUserName((String) memberInfo.get("MBER_NM"));
//this.setUserCi((String) memberInfo.get("MBER_CI"));
//this.setMainLayoutCode((String) memberInfo.get("MAIN_LAYOUT_PAGE_CODE"));
//this.setFavoriteStorage((String) memberInfo.get("FAVORITE_STORAGE"));
}
/**
* data
*
* @date 2016. 8. 19.
* @returns <void>
* @author InswaveSystems
* @example
* @todo
*/
public void init() {
this.setUserNo(null);
this.setUserId(null);
this.setUserName(null);
this.setUserCi(null);
this.setMainLayoutCode(null);
this.setFavoriteStorage(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;
}
@Override
public String toString() {
final StringBuffer sb = new StringBuffer("UserInfo{");
sb.append("userNo='").append(userNo).append('\'');
sb.append(", userId='").append(userId).append('\'');
sb.append(", userType='").append(userType).append('\'');
sb.append(", userName='").append(userName).append('\'');
sb.append(", userCi='").append(userCi).append('\'');
sb.append(", isAdmin=").append(isAdmin);
sb.append(", isTempMember=").append(isTempMber);
sb.append(", mainLayoutCode='").append(mainLayoutCode).append('\'');
sb.append(", favoriteStorage='").append(favoriteStorage).append('\'');
sb.append(", makeTime=").append(makeTime);
sb.append(", defaultMainLayoutCode='").append(defaultMainLayoutCode).append('\'');
sb.append(", defaultFavoriteStorage='").append(defaultFavoriteStorage).append('\'');
sb.append('}');
return sb.toString();
}
}

@ -0,0 +1,33 @@
package gtpa.icsmw.user.service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
import java.util.Map;
/**
* /////////////////////////////////////////////////////
* Company : MQNIC
* Create : seunghyun
* Date : 24/04/2019
* TIME : 9:51 AM
* Project : icsmw
* Class : UserService
* Desc :
* /////////////////////////////////////////////////////
*/
public interface UserService {
@Transactional
public int updatePassword(Map userData);
@Transactional
public int updateCompChargerInfo(Map chargerData);
@Transactional
public int updateVhcleInfo(List<Map> vhcleData);
@Transactional
public int secessionUser(Map userData);
}

@ -0,0 +1,43 @@
package gtpa.icsmw.user.service.impl;
import egovframework.rte.psl.dataaccess.EgovAbstractMapper;
import org.springframework.stereotype.Repository;
import java.util.List;
import java.util.Map;
/**
* /////////////////////////////////////////////////////
* Company : MQNIC
* Create : seunghyun
* Date : 24/04/2019
* TIME : 9:53 AM
* Project : icsmw
* Class : UserMapper
* Desc :
* /////////////////////////////////////////////////////
*/
@Repository("userDao")
public class UserMapper extends EgovAbstractMapper{
private String NAMESPACE = "UserDAO";
public int updatePassword(Map userData) {
return update(NAMESPACE+".updatePassword",userData);
}
public int updateCompChargerInfo(Map chargerData) {
return update(NAMESPACE+".updateCompChargerInfo",chargerData);
}
public int updateVhcleInfo(List<Map> vhcleData) {
int rsltCnt = 0;
rsltCnt = update(NAMESPACE+".updateVhcleInfo",vhcleData);
rsltCnt += update(NAMESPACE+".insertVhcleInfo",vhcleData);
return rsltCnt;
}
public int secessionUser(Map userData) {
return update(NAMESPACE+".secessionUser",userData);
}
}

@ -0,0 +1,46 @@
package gtpa.icsmw.user.service.impl;
import gtpa.icsmw.user.service.UserService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
/**
* /////////////////////////////////////////////////////
* Company : MQNIC
* Create : seunghyun
* Date : 24/04/2019
* TIME : 9:52 AM
* Project : icsmw
* Class : UserServiceImpl
* Desc :
* /////////////////////////////////////////////////////
*/
@Service
public class UserServiceImpl implements UserService{
@Resource(name = "userDao")
UserMapper userMapper;
@Override
public int updatePassword(Map userData) {
return userMapper.updatePassword(userData);
}
@Override
public int updateCompChargerInfo(Map chargerData) {
return userMapper.updateCompChargerInfo(chargerData);
}
@Override
public int updateVhcleInfo(List<Map> vhcleData) {
return userMapper.updateVhcleInfo(vhcleData);
}
@Override
public int secessionUser(Map userData) {
return userMapper.secessionUser(userData);
}
}

@ -0,0 +1,47 @@
package gtpa.icsmw.user.web;
//import gtpa.icsmw.fee.service.FeeService;
import gtpa.icsmw.login.service.LoginService;
//import gtpa.icsmw.penalty.service.PenaltyService;
import gtpa.icsmw.user.dto.UserInfo;
import gtpa.icsmw.user.service.UserService;
//import gtpa.icsmw.vehicle.service.VehicleService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
/**
* /////////////////////////////////////////////////////
* Company : MQNIC
* Create : seunghyun
* Date : 24/04/2019
* TIME : 9:30 AM
* Project : icsmw
* Class : UserController
* Desc :
* /////////////////////////////////////////////////////
*/
//@Controller
public class UserController {
private Logger logger = LoggerFactory.getLogger(UserController.class);
/**
* The User info.
*/
@Autowired
UserInfo userInfo;
/**
* The User service.
*/
@Autowired
UserService userService;
/**
* The Login service.
*/
@Autowired
LoginService loginService;
}

@ -0,0 +1,69 @@
package gtpa.icsmw.util;
import java.util.Date;
/**
* /////////////////////////////////////////////////////
* Company : MQNIC
* Create : seunghyun
* Date : 11/04/2019
* TIME : 4:14 PM
* Project : icsmw
* Class : BrsIdGnrUtil
* Desc :
* /////////////////////////////////////////////////////
*/
public class BrsIdGnrUtil {
private String prefix;
private String group;
private int cipers;
private String fillChar;
private String gnrID;
public String getPrefix() {
return prefix;
}
public void setPrefix(String prefix) {
this.prefix = prefix;
}
public String getGroup() {
return group;
}
public void setGroup(String group) {
this.group = group;
}
public int getCipers() {
return cipers;
}
public void setCipers(int cipers) {
this.cipers = cipers;
}
public String getFillChar() {
return fillChar;
}
public void setFillChar(String fillChar) {
this.fillChar = fillChar;
}
public String getGnrID() {
return gnrID;
}
public void setGnrID() {
this.gnrID = makeGnrID();
}
public String makeGnrID(){
Date date = new Date();
String generateID = this.getPrefix()+this.getGroup()+ + date.getTime();
return generateID;
}
}

@ -0,0 +1,65 @@
package gtpa.icsmw.util;
import java.util.HashMap;
/**
* /////////////////////////////////////////////////////
* Company : MQNIC
* Create : seunghyun
* Date : 08/04/2019
* TIME : 9:54 AM
* Project : icsmw
* Class : CertifiDAO
* Desc :
* /////////////////////////////////////////////////////
*/
public class CertifiDAO {
/*
* <insert id="insertCertificationKey" parameterClass="HashMap">
INSERT INTO certification_tempkey (phone , tempkey)
VALUES (#phone#, #tempKey#)
</insert>
<select id="getTempKey" parameterClass="String" resultClass="String">
select tempKey
from certification_tempkey
where phone = #value#
</select>
<delete id="deleteTempKey" parameterClass="String">
delete
from certification_tempkey
where phone = #value#
</delete>
: https://cusmaker.tistory.com/105 [Custum + Maker]
*
* */
public void insertCertificationKey(HashMap<Object, Object> param) {
// TODO Auto-generated method stub
//insert("insertCertificationKey", param);
}
public String getTempKey(String phone) {
// TODO Auto-generated method stub
//return (String)getSqlMapClientTemplate().queryForObject("getTempKey", phone);
return "";
}
public void deleteTempKey(String phone) {
// TODO Auto-generated method stub
//getSqlMapClientTemplate().delete("deleteTempKey", phone);
}
}

@ -0,0 +1,46 @@
package gtpa.icsmw.util;
/**
* /////////////////////////////////////////////////////
* Company : MQNIC
* Create : seunghyun
* Date : 08/04/2019
* TIME : 9:53 AM
* Project : icsmw
* Class : CertificationKeyGenerator
* Desc :
* /////////////////////////////////////////////////////
*/
import java.util.HashMap;
/**
* @author lejewk
* sms
*/
public class CertificationKeyGenerator {
public static CertificationKeyGenerator newInstance(){
return new CertificationKeyGenerator();
}
private CertificationKeyGenerator(){}
/**
*
* 6 .
* @param Number
* @return
*/
public String tempKeyGenarator(String Number){
String lastNumberString = null;
String numberArray[] = Number.split("-");
if(numberArray[2].charAt(0) == '0'){
lastNumberString = "1"+numberArray[2].substring(1, numberArray[2].length());
}else{
lastNumberString = numberArray[2];
}
String last = Long.toString((Integer.parseInt(lastNumberString) * System.currentTimeMillis()));
return last.substring(last.length()-6, last.length());
}
}

@ -0,0 +1,52 @@
package gtpa.icsmw.util;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* /////////////////////////////////////////////////////
* Company : MQNIC
* Create : seunghyun
* Date : 15/05/2019
* TIME : 10:37 AM
* Project : icsmw
* Class : HttpSessionRenew
* Desc :
* /////////////////////////////////////////////////////
*/
public class HttpSessionRenew implements HttpSessionListener {
private Logger logger = LoggerFactory.getLogger(HttpSessionRenew.class);
private SimpleDateFormat f = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
public HttpSessionRenew() {
super();
}
public void sessionCreated(HttpSessionEvent event) {
HttpSession session = event.getSession();
logger.info("TIME: " + session.getMaxInactiveInterval());
logger.info("ID Session "+session.getId()+" create "+session.getCreationTime());
}
public void sessionDestroyed(HttpSessionEvent event) {
HttpSession session = event.getSession();
// print out the session id
if(session != null) {
logger.info("Session Id: " + session.getId());
synchronized(session) {
// invalidating a session destroys it
session.invalidate();
logger.info("DESTROYD SESSION");
}
}
logger.info("ID Session "+session.getId()+" destroyd "+ f.format(new Date()));
}
}

@ -0,0 +1,6 @@
package gtpa.icsmw.util;
public final class MessageType {
public static final String VEHICLE_SEARCH_SUCCESS = "";
public static final String VEHICLE_SEARCH_SUCCESS_CODE = "";
}

@ -0,0 +1,33 @@
package gtpa.icsmw.util;
import java.util.Locale;
import org.springframework.context.support.MessageSourceAccessor;
/**
* /////////////////////////////////////////////////////
* Company : MQNIC
* Create : seunghyun
* Date : 30/04/2019
* TIME : 4:16 PM
* Project : icsmw
* Class : MessageUtils
* Desc :
* /////////////////////////////////////////////////////
*/
public class MessageUtils {
private static MessageSourceAccessor msAcc = null;
public void setMessageSourceAccessor(MessageSourceAccessor msAcc) {
MessageUtils.msAcc = msAcc;
}
public static String getMessage(String code) {
return msAcc.getMessage(code, Locale.getDefault());
}
public static String getMessage(String code, Object[] objs) {
return msAcc.getMessage(code, objs, Locale.getDefault());
}
}

@ -0,0 +1,60 @@
package gtpa.icsmw.util;
public class PageURIUtil {
private String INDEX_PAGE;
private String LOGIN_PAGE;
private String AUTH_CHECK;
public void setIndexPage(String indexPage) {
this.INDEX_PAGE = indexPage;
}
public void setLoginPage(String loginPage) {
LOGIN_PAGE = loginPage;
}
public void setAuthCheck(String authCheck) {
AUTH_CHECK = authCheck;
}
/**
* getIndexPageURI Main Layout URI
*
* @param {String} [default:def, tab, win, null]URI string.
* @date 2016. 08. 08
* @returns {String} properties main layout URI . default w5xml.defIndex .
* @author InswaveSytems
* @example getIndexPageURI(" def "); return : "/test/test.xml"
*/
public String getIndexPageURI() {
return INDEX_PAGE;
}
/**
* Default login page URI
*
* @date 2016. 08. 08
* @returns {String} login page uri
* @author InswaveSystems
* @example getLoginPage(); return : "/test/test.xml"
*/
public String getLoginPage() {
return LOGIN_PAGE;
}
public String getIndexPage() {
return INDEX_PAGE;
}
/**
* page url
*
* @date 2016. 09. 12
* @returns {String} page url
* @author InswaveSystems
* @example getLoginPage(); return : "/test/test.xml"
*/
public String getAuthCheck() {
return AUTH_CHECK;
}
}

@ -0,0 +1,177 @@
package gtpa.icsmw.util;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class Result {
public Map<String, Object> resultMap = new HashMap<>();
// 성공메세지
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;
}
/**
* -
*
* @param {} status :
* @date 2017.12.02
* @memberOf
* @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);
}
/**
*
*
* @param {} status : , message :
* @date 2017.12.02
* @memberOf
* @returns void
* @author Inswave
* @example WqModel.setMsg(STATUS_SUCCESS, " 정상 처리되었습니다. ");
*/
public void setMsg(String status, String message) {
setMsg(status, message, null);
}
/**
*
*
* @param {} status : , message :
* @date 2017.12.02
* @memberOf
* @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<>();
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;
}else{
result.put("statusCode", status);
result.put("message", message);
}
if (ex != null) {
result.put("messageDetail", ex.getMessage());
}
resultMap.put(MESSAGE_KEY, result);
}
/**
*
*
* @param {} errorCode : , message :
* @date 2017.12.02
* @memberOf
* @returns void
* @author Inswave
* @example WqModel.setErrorMsg(" E0001 ", " 세션이없습니다. ");
*/
public void setErrorMsg(String errorCode, String message) {
setErrorMsg(errorCode, message, null);
}
/**
*
*
* @param {} errorCode : , message :
* @date 2017.12.02
* @memberOf
* @returns void
* @author Inswave
* @example WqModel.setErrorMsg(" E0001 ", " 세션이없습니다. ", exception );
*/
public void setErrorMsg(String errorCode, String message, Exception ex) {
Map<String, Object> result = new HashMap<>();
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,31 @@
package gtpa.icsmw.util;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.security.MessageDigest;
public class SHA256Util {
private static Logger logger = LoggerFactory.getLogger(SHA256Util.class);
public static String encryptSHA256(String str) {
String result = "";
try {
MessageDigest sh = MessageDigest.getInstance("SHA-256");
sh.update(str.getBytes());
byte[] byteData = sh.digest();
StringBuffer sb = new StringBuffer();
for (int i = 0; i < byteData.length; i++) {
sb.append(Integer.toString((byteData[i] & 0xff) + 0x100, 16).substring(1));
}
result = sb.toString();
} catch (RuntimeException re) {
logger.error("[RuntimeException::" + "" + "]", re);
} catch (Exception e) {
logger.error("SHA256Util Encrypt Error::" + "e.getMessage()", e);
}
return result;
}
}
Loading…
Cancel
Save