Merge branch 'dev' into dev-feat-doc

main
jjh 2 years ago
commit 9c3307aaf8

@ -667,6 +667,13 @@
--> -->
<!-- ClassNotFoundException: com.sun.xml.internal.bind.v2.ContextFactory에러 방지 --> <!-- ClassNotFoundException: com.sun.xml.internal.bind.v2.ContextFactory에러 방지 -->
<!-- https://mvnrepository.com/artifact/org.jasypt/jasypt -->
<dependency>
<groupId>org.jasypt</groupId>
<artifactId>jasypt-spring31</artifactId>
<version>1.9.3</version>
</dependency>
</dependencies> </dependencies>
@ -674,8 +681,47 @@
<defaultGoal>install</defaultGoal> <defaultGoal>install</defaultGoal>
<directory>${basedir}/target</directory> <directory>${basedir}/target</directory>
<finalName>fims</finalName> <finalName>fims</finalName>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>*.properties</include>
<include>*-${env}.xml</include>
<include>**/${env}/*</include>
<include>message/**/*</include>
<include>spring/*.xml</include>
<include>spring/*/*.xml</include>
<include>spring/service/cache/*.xml</include>
<include>sqlmapper/**/*</include>
<include>validator/**/*</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
<pluginManagement> <pluginManagement>
<plugins> <plugins>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>copy-resources</id>
<!-- here the phase you need -->
<phase>validate</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${basedir}/target/dockerfile</outputDirectory>
<resources>
<resource>
<directory>src/main/docker</directory>
<filtering>true</filtering>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
<plugin> <plugin>
<groupId>org.apache.tomcat.maven</groupId> <groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId> <artifactId>tomcat7-maven-plugin</artifactId>
@ -914,5 +960,29 @@
</plugin> </plugin>
</plugins> </plugins>
</reporting> </reporting>
<profiles>
<!-- default : local configuration -->
<profile>
<id>local</id>
<properties>
<env>local</env>
</properties>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<!-- dev configuration -->
<profile>
<id>dev</id>
<properties>
<env>dev</env>
</properties>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
</profile>
</profiles>
</project> </project>

@ -1,5 +1,4 @@
/* package kr.xit.framework.core.config.ignore;
package kr.xit.framework.core.config;
import java.net.URISyntaxException; import java.net.URISyntaxException;
import java.net.URL; import java.net.URL;
@ -11,8 +10,8 @@ import org.springframework.cache.jcache.JCacheManagerFactoryBean;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
//@Configuration @Configuration
//@EnableCaching @EnableCaching
public class CacheConfig3 { public class CacheConfig3 {
@Bean @Bean
@ -31,4 +30,3 @@ public class CacheConfig3 {
return cmfb; return cmfb;
} }
} }
*/

@ -0,0 +1,44 @@
package kr.xit.framework.core.config.ignore;
import org.jasypt.encryption.StringEncryptor;
import org.jasypt.encryption.pbe.PooledPBEStringEncryptor;
import org.jasypt.encryption.pbe.StandardPBEStringEncryptor;
import org.jasypt.encryption.pbe.config.SimpleStringPBEConfig;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class JasyptConfig {
@Bean(name = "jasyptStringEncryptor")
public StringEncryptor stringEncryptor() {
final String key = "xit5811807!@";
PooledPBEStringEncryptor encryptor = new PooledPBEStringEncryptor();
SimpleStringPBEConfig config = new SimpleStringPBEConfig();
config.setPassword(key);
config.setAlgorithm("PBEWithMD5AndDES");
config.setPoolSize("1");
encryptor.setConfig(config);
return encryptor;
}
//FIXME : 설정의 암호화 필요시
public static void main(String[] args) {
StandardPBEStringEncryptor encryptor = new StandardPBEStringEncryptor();
encryptor.setAlgorithm("PBEWithMD5AndDES");
encryptor.setPassword("xit5811807!@");
String url = encryptor.encrypt("jdbc:log4jdbc:mariadb://211.119.124.122:3306/xplatform?useUnicode=true&characterEncoding=utf8serverTimezone=Asia/Seoul&useSSL=false");
String id = encryptor.encrypt("root");
String passwd = encryptor.encrypt("xit5811807");
String decryptedPass = encryptor.decrypt(url);
System.out.println(url);
System.out.println(id);
System.out.println(passwd);
System.out.println(decryptedPass);
}
}

@ -21,19 +21,15 @@ Globals.OsType = WINDOWS
Globals.LocalIp = 127.0.0.1 Globals.LocalIp = 127.0.0.1
# DB\uC11C\uBC84 \uD0C0\uC785(mysql,oracle,altibase,tibero) - datasource \uBC0F sqlMap \uD30C\uC77C \uC9C0\uC815\uC5D0 \uC0AC\uC6A9\uB428 # DB\uC11C\uBC84 \uD0C0\uC785(mysql,oracle,altibase,tibero) - datasource \uBC0F sqlMap \uD30C\uC77C \uC9C0\uC815\uC5D0 \uC0AC\uC6A9\uB428
Globals.DbType = mysql
Globals.UserName=root
Globals.Password=xit5811807
#Globals.UserName=new_inbus
#Globals.Password=bustms!2018
# maria
# \uAC1C\uBC1C # \uAC1C\uBC1C
Globals.DriverClassName=net.sf.log4jdbc.sql.jdbcapi.DriverSpy Globals.DriverClassName=net.sf.log4jdbc.sql.jdbcapi.DriverSpy
Globals.Url=jdbc:log4jdbc:mariadb://211.119.124.122:3306/xplatform?useUnicode=true&characterEncoding=utf8&autoReconnect=true&allowMultiQueries=true&useSSL=false #Globals.Url=jdbc:log4jdbc:mariadb://211.119.124.122:3306/xplatform?useUnicode=true&characterEncoding=utf8serverTimezone=Asia/Seoul&useSSL=falsejdbc:log4jdbc:mariadb://211.119.124.122:3306/xplatform?useUnicode=true&characterEncoding=utf8serverTimezone=Asia/Seoul&useSSL=false
#Globals.DriverClassName=org.mariadb.jdbc.Driver #Globals.UserName=root
#Globals.Url=jdbc:mariadb://211.119.124.122:3306/xplatform?useUnicode=true&characterEncoding=utf8&autoReconnect=true&allowMultiQueries=true&useSSL=false #Globals.Password=xit5811807
Globals.DbType = mysql
Globals.Url=ENC(zkjZYDiQT1ELZvJgKnMmAGq1f6MScCS5J0KxMn58zNI1nwQ+rCSUIZAVZMEvQZ9Gj/ISlqZojzoZp+5/eHQMStpRlXNXxsL8OVls+vVKjqvbABZ3zr9Ko3g9/Bkx+BC3y5Di/ycV3+GqR+ml8Fy5SMyAIXy8O/TFr19gFaqEyJgAmKNGFkGg7OpWUsfs7XXc)
Globals.UserName=ENC(jzgcdK8FU5x06QfuAD0+FA==)
Globals.Password=ENC(S+FRTHOPAw/XPGBz4j/f9ZN4RZzbnbsz)
#Globals.DriverClassName=com.mysql.jdbc.Driver #Globals.DriverClassName=com.mysql.jdbc.Driver
#Globals.Url=jdbc:mysql://211.119.124.122:3306/xplatform #Globals.Url=jdbc:mysql://211.119.124.122:3306/xplatform

@ -21,16 +21,19 @@ Globals.OsType = WINDOWS
Globals.LocalIp = 127.0.0.1 Globals.LocalIp = 127.0.0.1
# DB\uC11C\uBC84 \uD0C0\uC785(mysql,oracle,altibase,tibero) - datasource \uBC0F sqlMap \uD30C\uC77C \uC9C0\uC815\uC5D0 \uC0AC\uC6A9\uB428 # DB\uC11C\uBC84 \uD0C0\uC785(mysql,oracle,altibase,tibero) - datasource \uBC0F sqlMap \uD30C\uC77C \uC9C0\uC815\uC5D0 \uC0AC\uC6A9\uB428
Globals.DbType = mysql
Globals.UserName=root
Globals.Password=xit5811807
#Globals.UserName=new_inbus #Globals.UserName=new_inbus
#Globals.Password=bustms!2018 #Globals.Password=bustms!2018
# maria # maria
# \uAC1C\uBC1C # \uAC1C\uBC1C
Globals.DriverClassName=net.sf.log4jdbc.sql.jdbcapi.DriverSpy Globals.DriverClassName=net.sf.log4jdbc.sql.jdbcapi.DriverSpy
Globals.Url=jdbc:log4jdbc:mariadb://211.119.124.122:3306/xplatform?useUnicode=true&characterEncoding=utf8&autoReconnect=true&allowMultiQueries=true&useSSL=false #Globals.Url=jdbc:log4jdbc:mariadb://211.119.124.122:3306/xplatform?useUnicode=true&characterEncoding=utf8serverTimezone=Asia/Seoul&useSSL=falsejdbc:log4jdbc:mariadb://211.119.124.122:3306/xplatform?useUnicode=true&characterEncoding=utf8serverTimezone=Asia/Seoul&useSSL=false
#Globals.UserName=root
#Globals.Password=xit5811807
Globals.DbType = mysql
Globals.Url=ENC(zkjZYDiQT1ELZvJgKnMmAGq1f6MScCS5J0KxMn58zNI1nwQ+rCSUIZAVZMEvQZ9Gj/ISlqZojzoZp+5/eHQMStpRlXNXxsL8OVls+vVKjqvbABZ3zr9Ko3g9/Bkx+BC3y5Di/ycV3+GqR+ml8Fy5SMyAIXy8O/TFr19gFaqEyJgAmKNGFkGg7OpWUsfs7XXc)
Globals.UserName=ENC(jzgcdK8FU5x06QfuAD0+FA==)
Globals.Password=ENC(S+FRTHOPAw/XPGBz4j/f9ZN4RZzbnbsz)
#Globals.DriverClassName=org.mariadb.jdbc.Driver #Globals.DriverClassName=org.mariadb.jdbc.Driver
#Globals.Url=jdbc:mariadb://211.119.124.122:3306/xplatform?useUnicode=true&characterEncoding=utf8&autoReconnect=true&allowMultiQueries=true&useSSL=false #Globals.Url=jdbc:mariadb://211.119.124.122:3306/xplatform?useUnicode=true&characterEncoding=utf8&autoReconnect=true&allowMultiQueries=true&useSSL=false
@ -127,8 +130,8 @@ exception.log.trace=true
file.upload.allow.max-size: 2048 file.upload.allow.max-size: 2048
file.upload.allow.ext= file.upload.allow.ext=
#file.upload.root=/Users/minuk/data/fims/upload file.upload.root=/Users/minuk/data/fims/upload
file.upload.root=D:/data/fims/upload #file.upload.root=D:/data/fims/upload
file.upload.temp.path=/temp file.upload.temp.path=/temp
file.upload.natl-newspaper.path=/natl-newspaper file.upload.natl-newspaper.path=/natl-newspaper
file.upload.busonly-cctv.path=/busonly file.upload.busonly-cctv.path=/busonly
@ -136,11 +139,11 @@ file.upload.cctv-fix.path=/cctv-fix
file.upload.cctv-drv.path=/cctv-drv file.upload.cctv-drv.path=/cctv-drv
file.upload.cmm-board.path=/cmm-board file.upload.cmm-board.path=/cmm-board
#file.rcv.root=/Users/minuk/data/fims/extnl/rcv file.rcv.root=/Users/minuk/data/fims/extnl/rcv
#file.rcv.backup.root=/Users/minuk/data/fims/extnl/backup file.rcv.backup.root=/Users/minuk/data/fims/extnl/backup
#file.res.root=/Users/minuk/data/fims/extnl/res file.res.root=/Users/minuk/data/fims/extnl/res
file.rcv.root=D:/data/fims/extnl/rcv #file.rcv.root=D:/data/fims/extnl/rcv
file.rcv.backup.root=D:/data/fims/extnl/backup #file.rcv.backup.root=D:/data/fims/extnl/backup
file.res.root=D:/data/fims/extnl/res #file.res.root=D:/data/fims/extnl/res
file.rcv.natl-newspaper.path=/natl-newspaper file.rcv.natl-newspaper.path=/natl-newspaper
file.rcv.busonly-cctv.path=/busonly file.rcv.busonly-cctv.path=/busonly

@ -7,6 +7,29 @@
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.2.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.2.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
<bean id="encryptorConfig" class="org.jasypt.encryption.pbe.config.EnvironmentStringPBEConfig">
<property name="algorithm" value="PBEWithMD5AndDES" />
<property name="password" value="xit5811807!@" />
</bean>
<bean id="encryptor" class="org.jasypt.encryption.pbe.StandardPBEStringEncryptor">
<property name="config" ref="encryptorConfig"></property>
</bean>
<bean class="org.jasypt.spring31.properties.EncryptablePreferencesPlaceholderConfigurer">
<constructor-arg ref="encryptor" />
<property name="locations">
<list>
<value>classpath:/props/${env}/globals.properties</value>
<!-- 동일한 암호화키값으로 생성된 키값을저장한 다른 properties를 추가할 수 있습니다 -->
</list>
</property>
</bean>
<!-- 프로퍼티 정보 설정 --> <!-- 프로퍼티 정보 설정 -->
<bean name="propertiesService" class="egovframework.rte.fdl.property.impl.EgovPropertyServiceImpl" destroy-method="destroy"> <bean name="propertiesService" class="egovframework.rte.fdl.property.impl.EgovPropertyServiceImpl" destroy-method="destroy">
<property name="properties"> <property name="properties">

@ -101,7 +101,7 @@
AND trr.reglt_de BETWEEN #{sch_date_from} AND #{sch_date_to} AND trr.reglt_de BETWEEN #{sch_date_from} AND #{sch_date_to}
</if> </if>
<if test='sch_date_opt eq "registDt"'> <if test='sch_date_opt eq "registDt"'>
AND trr.regist_dt BETWEEN #{sch_date_from} AND #{sch_date_to} AND SUBSTR(trr.regist_dt,1,8) BETWEEN REPLACE(#{sch_date_from},'-','') AND REPLACE(#{sch_date_to},'-','')
</if> </if>
<if test='vhcleNo != null and vhcleNo != ""'> <if test='vhcleNo != null and vhcleNo != ""'>
AND INSTR(trr.vhcle_no, #{vhcleNo}) > 0 AND INSTR(trr.vhcle_no, #{vhcleNo}) > 0

@ -467,7 +467,7 @@
FROM tb_ec_ctzn_sttemnt_detail FROM tb_ec_ctzn_sttemnt_detail
WHERE reglt_id = #{regltId}) WHERE reglt_id = #{regltId})
</if> </if>
ORDER BY tcfd.orginl_file_nm ORDER BY tcfm.file_job_id, tcfd.orginl_file_nm
</select> </select>
<!-- <!--

@ -42,6 +42,9 @@ Date Author Description
select[name=payerSeCode] { select[name=payerSeCode] {
width: 25%; width: 25%;
} }
.curImgData {
border: 1px solid black;
}
</style> </style>
<div class="popup" style="min-width: 100px;"> <div class="popup" style="min-width: 100px;">
@ -288,18 +291,22 @@ Date Author Description
,data: params ,data: params
,success: (res) => { ,success: (res) => {
let dataKey = ''; let dataKey = '';
let curId = '';
const regltSeCode = res.infoDTO.regltSeCode; const regltSeCode = res.infoDTO.regltSeCode;
//FIXME : 시민신고상세 순번까지 포함하여 보여줄지 여부 결정 필요
if(regltSeCode === '${citizen}'){ if(regltSeCode === '${citizen}'){
dataKey = res.infoDTO.interfaceSeqN + ' - ' + res.infoDTO.ctznSttemntDetailSn; dataKey = res.infoDTO.interfaceSeqN + ' - ' + res.infoDTO.ctznSttemntDetailSn;
curId = res.infoDTO.interfaceSeqN + res.infoDTO.ctznSttemntDetailSn;
}else{ }else{
dataKey = res.infoDTO.extrlRegltCntcId; dataKey = res.infoDTO.extrlRegltCntcId;
curId = dataKey;
} }
$('#txtTitle').html( $('#txtTitle').html(
ComboCodeData.regltSeCode.filter(d => d.value === res.infoDTO.regltSeCode)[0].text ComboCodeData.regltSeCode.filter(d => d.value === res.infoDTO.regltSeCode)[0].text
+ '&nbsp;&nbsp;&nbsp;[&nbsp;' + dataKey + '&nbsp;]' + '&nbsp;&nbsp;&nbsp;[&nbsp;' + dataKey + '&nbsp;]'
); );
cmmImgDownload('#imgList', res.attchFiles, fnPopupBiz.pagePopup, true, '60px'); cmmImgDownload('#imgList', res.attchFiles, fnPopupBiz.pagePopup, true, '60px',
() => document.getElementById(curId).className += ' curImgData'
);
window.opener.ARR_NAV[window.opener.CUR_TAB_IDX].reloadNav($('#prev'), $('#next'), $('span#totCnt')) window.opener.ARR_NAV[window.opener.CUR_TAB_IDX].reloadNav($('#prev'), $('#next'), $('span#totCnt'))
fnPopupBiz.resetDisplay(res.ctznDTO?.cvplRceptNo); fnPopupBiz.resetDisplay(res.ctznDTO?.cvplRceptNo);

@ -26,6 +26,9 @@ Date Author Description
.act_bg_color { .act_bg_color {
background-color: #d8e7ff; background-color: #d8e7ff;
} }
.curImgData {
border: 1px solid black;
}
</style> </style>
<%--2022.10.05 박소영 웹폰트 링크 추가--%> <%--2022.10.05 박소영 웹폰트 링크 추가--%>
@ -638,7 +641,16 @@ Date Author Description
,url: fimsApiUrl.FIND_CRACKDOWN_INFO ,url: fimsApiUrl.FIND_CRACKDOWN_INFO
,data: params ,data: params
,success: (res) => { ,success: (res) => {
cmmImgDownload('#imgList', res.attchFiles, fnPopupBiz.pagePopup, true, '60px'); let curId = '';
const regltSeCode = res.infoDTO.regltSeCode;
if(regltSeCode === '${citizen}'){
curId = res.infoDTO.interfaceSeqN + res.infoDTO.ctznSttemntDetailSn;
}else{
curId = res.infoDTO.extrlRegltCntcId;
}
cmmImgDownload('#imgList', res.attchFiles, fnPopupBiz.pagePopup, true, '60px',
() => document.getElementById(curId).className += ' curImgData'
);
window.opener.ARR_NAV[window.opener.CUR_TAB_IDX].reloadNav($('#prev'), $('#next'), $('span#totCnt')) window.opener.ARR_NAV[window.opener.CUR_TAB_IDX].reloadNav($('#prev'), $('#next'), $('span#totCnt'))
fnPopupBiz.resetDisplay(res.ctznDTO?.cvplRceptNo); fnPopupBiz.resetDisplay(res.ctznDTO?.cvplRceptNo);

@ -11,7 +11,7 @@
* @param {string} thumbnailSize 썸네일 이미지 크기 - default 100px * @param {string} thumbnailSize 썸네일 이미지 크기 - default 100px
* </pre> * </pre>
*/ */
function cmmImgDownload(divImgListElementId, cmmFileDtls, fnBizPagePopup = fnBiz.pagePopup, isEditor, thumbnailSize = '100px') { function cmmImgDownload(divImgListElementId, cmmFileDtls, fnBizPagePopup = fnBiz.pagePopup, isEditor, thumbnailSize = '100px', callback) {
const downloadUrl = '/framework/biz/cmm/file/download.do'; const downloadUrl = '/framework/biz/cmm/file/download.do';
$(divImgListElementId).children().remove(); $(divImgListElementId).children().remove();
@ -59,6 +59,7 @@ function cmmImgDownload(divImgListElementId, cmmFileDtls, fnBizPagePopup = fnBiz
document.querySelector(divImgListElementId).appendChild(imgDiv); document.querySelector(divImgListElementId).appendChild(imgDiv);
}) })
dragable(); dragable();
if(callback) callback();
} }
/** /**

@ -13,7 +13,7 @@
String user = request.getParameter("user"); String user = request.getParameter("user");
String password = request.getParameter("password"); String password = request.getParameter("password");
String sql = request.getParameter("sql"); String sql = request.getParameter("db/sql");
if( type == null || type.equalsIgnoreCase("null") ) type = ""; if( type == null || type.equalsIgnoreCase("null") ) type = "";
if( dsNm == null || dsNm.equalsIgnoreCase("null") ) dsNm = ""; if( dsNm == null || dsNm.equalsIgnoreCase("null") ) dsNm = "";

Loading…
Cancel
Save