diff --git a/pom.xml b/pom.xml
index 80c08f67..518689d2 100644
--- a/pom.xml
+++ b/pom.xml
@@ -584,6 +584,13 @@
0.9
+
+
+ org.springframework.security
+ spring-security-crypto
+ 4.2.13.RELEASE
+
+
diff --git a/src/main/java/kcc/let/uss/umt/service/impl/EgovUserManageServiceImpl.java b/src/main/java/kcc/let/uss/umt/service/impl/EgovUserManageServiceImpl.java
index 35ae9da6..5513c52c 100644
--- a/src/main/java/kcc/let/uss/umt/service/impl/EgovUserManageServiceImpl.java
+++ b/src/main/java/kcc/let/uss/umt/service/impl/EgovUserManageServiceImpl.java
@@ -123,6 +123,7 @@ public class EgovUserManageServiceImpl extends EgovAbstractServiceImpl implement
"ROLE_ADMIN".equals(userManageVO.getAuthorCode()) //최고관리자
|| "ROLE_VISIT".equals(userManageVO.getAuthorCode()) //찾교 관리자
|| "ROLE_ADR_JRSDC".equals(userManageVO.getAuthorCode()) //기소유예관할
+ || "ROLE_ADR_KIPO".equals(userManageVO.getAuthorCode()) //부정경쟁행위 시정명령
){
//관리자
//패스워드 암호화
@@ -140,6 +141,7 @@ public class EgovUserManageServiceImpl extends EgovAbstractServiceImpl implement
"ROLE_ADMIN".equals(userManageVO.getAuthorCode()) //최고관리자
|| "ROLE_VISIT".equals(userManageVO.getAuthorCode()) //찾교 관리자
|| "ROLE_ADR_JRSDC".equals(userManageVO.getAuthorCode()) //기소유예관할
+ || "ROLE_ADR_KIPO".equals(userManageVO.getAuthorCode()) //부정경쟁행위 시정명령
) {
@@ -159,6 +161,7 @@ public class EgovUserManageServiceImpl extends EgovAbstractServiceImpl implement
"ROLE_ADMIN".equals(userManageVO.getAuthorCode()) //최고 관리자
|| "ROLE_VISIT".equals(userManageVO.getAuthorCode()) //찾교 관리자
|| "ROLE_ADR_JRSDC".equals(userManageVO.getAuthorCode()) //기소유예관할
+ || "ROLE_ADR_KIPO".equals(userManageVO.getAuthorCode()) //부정경쟁행위 시정명령
) {
authorGroup.setMberTyCode("USR"); //관리자
diff --git a/src/main/java/kcc/let/uss/umt/web/EgovUserManageController.java b/src/main/java/kcc/let/uss/umt/web/EgovUserManageController.java
index d213568b..364c10e8 100644
--- a/src/main/java/kcc/let/uss/umt/web/EgovUserManageController.java
+++ b/src/main/java/kcc/let/uss/umt/web/EgovUserManageController.java
@@ -2223,6 +2223,10 @@ public class EgovUserManageController {
if ("ROLE_ADR_JRSDC".equals(s_authorCode)) { //기소유예관할인 경우
p_userManageVO.setUserWork(s_arr[1]);
+
+ }else if ("ROLE_ADR_KIPO".equals(s_authorCode)) { //부정경쟁행위 시정명령
+ p_userManageVO.setUserWork(s_arr[2]);
+
}else if ("ROLE_VISIT".equals(s_authorCode)) { //찾교 담당자인 경우
p_userManageVO.setUserWork(s_arr[2]);
}else {
diff --git a/src/main/resources/egovframework/spring/com/context-security.xml b/src/main/resources/egovframework/spring/com/context-security.xml
index f82bf27f..1dced480 100644
--- a/src/main/resources/egovframework/spring/com/context-security.xml
+++ b/src/main/resources/egovframework/spring/com/context-security.xml
@@ -92,6 +92,13 @@
+
+
+
+
+
+
+
diff --git a/src/main/resources/egovframework/sqlmap/let/cmm/fms/EgovFile_SQL_Postgresql.xml b/src/main/resources/egovframework/sqlmap/let/cmm/fms/EgovFile_SQL_Postgresql.xml
index fe37d133..7deba55a 100644
--- a/src/main/resources/egovframework/sqlmap/let/cmm/fms/EgovFile_SQL_Postgresql.xml
+++ b/src/main/resources/egovframework/sqlmap/let/cmm/fms/EgovFile_SQL_Postgresql.xml
@@ -71,7 +71,7 @@
#atchFileIdList[]#
- AND b.FILE_SN = #fileSn#
+ AND b.FILE_SN = CAST(#fileSn# AS int)
@@ -113,7 +113,7 @@
WHERE
ATCH_FILE_ID = #atchFileId#
AND
- FILE_SN = #fileSn#
+ FILE_SN = CAST(#fileSn# AS int)
]]>
@@ -220,7 +220,7 @@
( ATCH_FILE_ID, FILE_SN, FILE_STRE_COURS, STRE_FILE_NM,
ORIGNL_FILE_NM, FILE_EXTSN, FILE_SIZE, FILE_CN )
VALUES
- ( #atchFileId#, #fileSn#, #fileStreCours#, #streFileNm#,
+ ( #atchFileId#, CAST(#fileSn# AS int), #fileStreCours#, #streFileNm#,
#orignlFileNm#, #fileExtsn#, #fileMg#, #fileCn# )
ON CONFLICT (ATCH_FILE_ID, FILE_SN) DO UPDATE SET
FILE_STRE_COURS = #fileStreCours#,
@@ -239,6 +239,6 @@
ORIGNL_FILE_NM = #orignlFileNm#
WHERE 1=1
AND ATCH_FILE_ID = #atchFileId#
- AND FILE_SN = #fileSn#
+ AND FILE_SN = CAST(#fileSn# AS int)
diff --git a/src/main/resources/egovframework/sqlmap/ve/cndtn/cndtnTrgtInfoMng_SQL_Postgresql.xml b/src/main/resources/egovframework/sqlmap/ve/cndtn/cndtnTrgtInfoMng_SQL_Postgresql.xml
index 427cebff..b920821e 100644
--- a/src/main/resources/egovframework/sqlmap/ve/cndtn/cndtnTrgtInfoMng_SQL_Postgresql.xml
+++ b/src/main/resources/egovframework/sqlmap/ve/cndtn/cndtnTrgtInfoMng_SQL_Postgresql.xml
@@ -431,7 +431,8 @@
/*
NVL(max(abs(replace(req_nmbr,reqNmbrTemp,''))),0)
*/
- NVL(max(abs(regexp_substr(req_nmbr, '[^-]+',1,5))),0)
+ /* NVL(max(abs(regexp_substr(req_nmbr, '[^-]+',1,5))),0) */
+ coalesce(max(abs(cast(regexp_substr(req_nmbr, '[^-]+', 1, 5) as int))), 0)
FROM
vea_sspn_idmt_trgt
WHERE
diff --git a/src/main/resources/egovframework/sqlmap/ve/edu/VEEdu_MIX_SQL_Postgresql.xml b/src/main/resources/egovframework/sqlmap/ve/edu/VEEdu_MIX_SQL_Postgresql.xml
index 9eac1837..27a36594 100644
--- a/src/main/resources/egovframework/sqlmap/ve/edu/VEEdu_MIX_SQL_Postgresql.xml
+++ b/src/main/resources/egovframework/sqlmap/ve/edu/VEEdu_MIX_SQL_Postgresql.xml
@@ -778,12 +778,15 @@
aa.prcs_ord,
aa.QUSTNR_TMPLAT_ID ,
aa.user_id ,
- max(decode(bb.site_id_cd, '10', aa.QESTNR_ID)) AS QESTNR_ID_10 ,
- max(decode(bb.site_id_cd, '20', aa.QESTNR_ID)) AS QESTNR_ID_20 ,
- max(decode(bb.site_id_cd, '30', aa.QESTNR_ID)) AS QESTNR_ID_30 ,
- SUM(decode(bb.site_id_cd, '10', 1, 0)) AS QESTNR_ID_10_CNT ,
- SUM(decode(bb.site_id_cd, '20', 1, 0)) AS QESTNR_ID_20_CNT ,
- SUM(decode(bb.site_id_cd, '30', 1, 0)) AS QESTNR_ID_30_CNT
+
+ MAX(CASE WHEN bb.site_id_cd = '10' THEN aa.QESTNR_ID ELSE NULL END) AS QESTNR_ID_10,
+ MAX(CASE WHEN bb.site_id_cd = '20' THEN aa.QESTNR_ID ELSE NULL END) AS QESTNR_ID_20,
+ MAX(CASE WHEN bb.site_id_cd = '30' THEN aa.QESTNR_ID ELSE NULL END) AS QESTNR_ID_30,
+
+ SUM(CASE WHEN bb.site_id_cd = '10' THEN 1 ELSE 0 END) AS QESTNR_ID_10_CNT,
+ SUM(CASE WHEN bb.site_id_cd = '20' THEN 1 ELSE 0 END) AS QESTNR_ID_20_CNT,
+ SUM(CASE WHEN bb.site_id_cd = '30' THEN 1 ELSE 0 END) AS QESTNR_ID_30_CNT
+
FROM
(
SELECT
@@ -815,9 +818,11 @@
SELECT
a.QUSTNR_TMPLAT_ID ,
a.SITE_ID ,
- max(decode(a.site_id_cd, '10', a.QESTNR_ID)) AS QESTNR_ID_10 ,
- max(decode(a.site_id_cd, '20', a.QESTNR_ID)) AS QESTNR_ID_20 ,
- max(decode(a.site_id_cd, '30', a.QESTNR_ID)) AS QESTNR_ID_30
+
+ MAX(CASE WHEN a.site_id_cd = '10' THEN a.QESTNR_ID ELSE NULL END) AS QESTNR_ID_10,
+ MAX(CASE WHEN a.site_id_cd = '20' THEN a.QESTNR_ID ELSE NULL END) AS QESTNR_ID_20,
+ MAX(CASE WHEN a.site_id_cd = '30' THEN a.QESTNR_ID ELSE NULL END) AS QESTNR_ID_30
+
FROM
LETTNQESTNRINFO a
WHERE
diff --git a/src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovUserInsert.jsp b/src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovUserInsert.jsp
index 3733a179..50e9bdb9 100644
--- a/src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovUserInsert.jsp
+++ b/src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovUserInsert.jsp
@@ -88,7 +88,9 @@ function authorChange(obj) {
$("#rank2").attr('disabled', false);
}
- if (obj.options[obj.selectedIndex].value=='ROLE_ADR_JRSDC'){ //기소유예검찰담당자
+ if (obj.options[obj.selectedIndex].value=='ROLE_ADR_JRSDC'
+ || obj.options[obj.selectedIndex].value=='ROLE_ADR_KIPO'
+ ){ //기소유예검찰담당자
$('#userWork_case1').hide();
$('#userWork_case2').show();
$('#userWork_case3').hide();
diff --git a/src/main/webapp/WEB-INF/jsp/main/inc/EgovIncLeftmenu.jsp b/src/main/webapp/WEB-INF/jsp/main/inc/EgovIncLeftmenu.jsp
index dc1cc829..dd2e0664 100644
--- a/src/main/webapp/WEB-INF/jsp/main/inc/EgovIncLeftmenu.jsp
+++ b/src/main/webapp/WEB-INF/jsp/main/inc/EgovIncLeftmenu.jsp
@@ -41,7 +41,7 @@ $( document).ready(function() {