2025-09-08 10:54 프로젝트 초기 설정

This commit is contained in:
myname 2025-09-08 10:54:56 +09:00
parent 148c552fb1
commit 1ec09cdc95
12 changed files with 46 additions and 17 deletions

View File

@ -584,6 +584,13 @@
<version>0.9</version>
</dependency>
<!-- spring-security-crypto만으로도 BCryptPasswordEncoder 사용 가능 -->
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-crypto</artifactId>
<version>4.2.13.RELEASE</version> <!-- 프로젝트와 호환되는 4.x 라인 -->
</dependency>
</dependencies>
<build>

View File

@ -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"); //관리자

View File

@ -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 {

View File

@ -92,6 +92,13 @@
<bean id="egovStrictHttpFirewall" class="org.springframework.security.web.firewall.StrictHttpFirewall">
<property name="allowSemicolon" value="true"/>
</bean>
<bean id="passwordEncoder" class="org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder">
<!-- 강도(cost) 10~12 권장. 서버 성능에 맞게 조정 -->
<constructor-arg value="12"/>
</bean>
<security:http-firewall ref="egovStrictHttpFirewall"/>
</beans>

View File

@ -71,7 +71,7 @@
#atchFileIdList[]#
</iterate>
<isNotEmpty property="fileSn">
AND b.FILE_SN = #fileSn#
AND b.FILE_SN = CAST(#fileSn# AS int)
</isNotEmpty>
</isEqual>
@ -113,7 +113,7 @@
WHERE
ATCH_FILE_ID = #atchFileId#
AND
FILE_SN = #fileSn#
FILE_SN = CAST(#fileSn# AS int)
]]>
</delete>
@ -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)
</update>
</sqlMap>

View File

@ -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

View File

@ -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

View File

@ -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();

View File

@ -41,7 +41,7 @@ $( document).ready(function() {
<div class="area_left">
<h1 class="logo">
<a href="${pageContext.request.contextPath}/cmm/main/mainPage.do">
<img src="${pageContext.request.contextPath}/kccadrPb/adm/image/common/logo.png" alt="한국지식재산보호원 KOREA COPYRIGHT COMMISSION">
<img src="${pageContext.request.contextPath}/visitEdu/adm/publish/image/content/login_logo_resized_2x.png" alt="한국지식재산보호원 KOREA COPYRIGHT COMMISSION">
</a>
</h1>
<nav class="menu">

View File

@ -649,7 +649,7 @@
<div class="list_top_1">
<div class="util_right">
<ve:select codeId="VE0003" name="searchSelStatus" id="searchSelStatus" css="class='sel_type1'"
selectedValue="${vEPrcsDetailVO.searchSelStatus}" defaultValue='' includes="10,20,30"
selectedValue="${vEPrcsDetailVO.searchSelStatus}" defaultValue='' includes="10,20,30,60"
defaultText='전체'
/>
<div class="calendar_wrap">

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB