kic, 킨텍스 추가 요구사항 반영(url 보안체크 추가, 승인대상자료만 조건추가 ....)

This commit is contained in:
nhj 2026-03-12 19:45:22 +09:00
parent 00b24a98fc
commit 83b3027e0a
11 changed files with 192 additions and 14 deletions

View File

@ -152,6 +152,35 @@ public class MainController
return ResultData.ok(resBody);
}
/**
* url 화면 권한 정보 추출
* @author urp 인프라본부 나혁제
* 작성일 : 2026.03.12
*/
@RequestMapping(value="/main/selectMenuScrnAuth.do")
@ResponseBody
public ResponseEntity<ResultData> selectMenuScrnAuth( @RequestBody LinkedHashMap<String, Object> requestMap
, HttpServletRequest request
, HttpServletResponse response
) throws Exception
{
log.info("\n\n");
log.info(">>>>>>>>>>>>>>>>>>>>>>>>> /main/selectMenuScrnAuth.do <<<<<<<<<<<<<<<<<<<<<<<<<");
log.info("getRequestURI [{}]", request.getRequestURI() );
log.info("입력값 확인 requestMap [{}]", requestMap.toString() );
LinkedHashMap<String, Object> resBody = new LinkedHashMap<String, Object>();
List<LinkedHashMap<String, Object>> listMeunUrl = menuManageService.selectMenuScrnAuth();
resBody.put("listMeunUrl", listMeunUrl);
log.info("<<<<<<<<<<<<<<<<<<<<<<<<< /main/selectMenuScrnAuth.do >>>>>>>>>>>>>>>>>>>>>>>>>");
return ResultData.ok(resBody);
}
/**
* ID 찾기
* @author urp 인프라본부 나혁제

View File

@ -31,4 +31,7 @@ public interface MainMenuManageDao
{
public List<LinkedHashMap<String, Object>> selectMainMenuHead(String strVal1);
public List<LinkedHashMap<String, Object>> selectMainMenuLeft(String strVal1);
// 2026.03.12 나혁제 메뉴url 맵핑 정보
public List<LinkedHashMap<String, Object>> selectMenuScrnAuth();
}

View File

@ -45,6 +45,12 @@ public class MainMenuManageService
return menuManageDao.selectMainMenuLeft(strVal1);
}
// 2026.03.12 나혁제 메뉴url 맵핑 정보
public List<LinkedHashMap<String, Object>> selectMenuScrnAuth()
{
return menuManageDao.selectMenuScrnAuth();
}

View File

@ -74,11 +74,11 @@ public class ReportCheckController
// 토큰정보 획득
TokenInfo tokenInfo = CommonUtil.getAccessTokenInfo(request);
String strGrpId = CommonUtil.nvl(tokenInfo.getStrGRP_ID());
String strRole = CommonUtil.nvl(tokenInfo.getAuthorities());
String strGrpId = CommonUtil.nvl(tokenInfo.getStrGRP_ID ());
String strRole = CommonUtil.nvl(tokenInfo.getAuthorities ());
log.info("strGrpId [{}]", strGrpId);
log.info("strRole [{}]" , strRole);
log.info("strGrpId [{}]" , strGrpId);
log.info("strRole [{}]" , strRole );
log.info("순서 [{}]" , strRole.indexOf("ROLE_ADMIN"));
// 2025.11.24 나혁제 권한미부여 상태 조회불가
@ -93,8 +93,8 @@ public class ReportCheckController
requestMap.put("strGrpId", strGrpId);
}
log.info("tokenInfo [{}]", tokenInfo.toString() );
log.info("tokenInfo [{}]", tokenInfo.getAuthorities() );
// log.info("tokenInfo [{}]", tokenInfo.toString() );
// log.info("tokenInfo [{}]", tokenInfo.getAuthorities() );
requestMap.put("reqUser", tokenInfo.getUniqId());
// requestMap.put("reqUser", "0");

View File

@ -143,7 +143,11 @@
<!-- 2025.09.15 나혁제 추가 필터 -->
<if test="hidEosCheckYn != null and hidEosCheckYn == 1"><![CDATA[ AND (A.DT_EOS) <= sysdate()]]></if>
<!-- 2026.03.12 나혁제 추가 필터(제품번호, 실사용자) -->
<if test="vcInAssetSerial != null and vcInAssetSerial != ''">AND A.VC_ASSET_SERIAL = #{vcInAssetSerial}</if>
<if test="vcInRealChargrNm != null and vcInRealChargrNm != ''">AND A.VC_REAL_CHRGR_NM = #{vcInRealChargrNm}</if>
<if test='searchAll != null and searchAll != "" '>
AND (
(A.VC_ASSET_ID LIKE "%${searchAll}%" ) OR

View File

@ -3,7 +3,8 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.urpsys.itmsapi.srm.dao.ReportCheckDao">
<!-- 2026.03.11 나혁제 VC_REG_COMPANY 추가 -->
<resultMap type="java.util.LinkedHashMap" id="reportVo">
<result property="inReportSeq" column="IN_REPORT_SEQ"/>
<result property="inReportStatus" column="IN_REPORT_STATUS"/>
@ -35,6 +36,7 @@
<result property="inAssetCount" column="IN_ASSET_COUNT"/>
<result property="inPercallPrice" column="IN_PERCALL_PRICE"/>
<result property="atchFileId" column="ATCH_FILE_ID"/>
<result property="vcRegCompany" column="VC_REG_COMPANY"/>
</resultMap>
<!-- 2025.09.22 나혁제 IN_SORT_SN 정렬순서추가 -->
@ -159,14 +161,31 @@
AND A.IN_ASSET_SEQ = B.IN_ASSET_SEQ
GROUP BY B.IN_REPORT_SEQ
)
</if>
</if>
<!-- 2026.03.11 나혁제 승인대상 자료만 추출 -->
<if test='approvalTargetYn != null and approvalTargetYn == "Y" '>
AND A.IN_REPORT_SEQ IN ( SELECT A.IN_REPORT_SEQ
FROM (
SELECT IN_REPORT_SEQ
, MIN(IN_ORDER) IN_ORDER
FROM CM_REPORT_APPROVAL A
WHERE DT_APPROVAL_DATETIME IS NULL
GROUP BY IN_REPORT_SEQ
) N
, CM_REPORT_APPROVAL A
WHERE A.IN_REPORT_SEQ = N.IN_REPORT_SEQ
AND A.IN_ORDER = N.IN_ORDER
AND IN_USER_SEQ = #{reqUser}
)
AND A.IN_REPORT_STATUS ='1'
</if>
</sql>
<!-- 2025.02.17 나혁제 이부분은 일단 삭제처리
<include refid="customizing"/>
-->
<!-- 2026.03.11 나혁제 VC_REG_COMPANY 추가 -->
<select id="searchReport" parameterType="java.util.LinkedHashMap" resultMap="reportVo">
<![CDATA[
/* ReportCheckDao.searchReport */
@ -206,13 +225,18 @@
WHERE COM.GRP_ID = ( SELECT GROUP_ID
FROM COMVNUSERMASTER
WHERE ESNTL_ID = A.IN_TASK_USER)), "") AS VC_TASK_COMPANY
FROM CM_REPORT A
, IFNULL((SELECT COM.GRP_NM AS VC_REG_COMPANY_NAME
FROM TB_AUTH_GRP_INFO COM
WHERE COM.GRP_ID = ( SELECT GROUP_ID
FROM COMVNUSERMASTER
WHERE ESNTL_ID = A.IN_REG_USER)), "") AS VC_REG_COMPANY
FROM CM_REPORT A
LEFT OUTER JOIN TB_CMM_DTL_CD_INFO B ON A.IN_TASK=B.CD
AND B.CD_ID ='SM_002'
LEFT OUTER JOIN CM_SERVICE D ON A.IN_SERVICE_CODE=D.IN_SERVICE_CODE
LEFT OUTER JOIN CM_INCIDENT C ON A.IN_INCIDENT_SEQ=C.IN_INCIDENT_SEQ
LEFT OUTER JOIN CM_SERVICE D ON A.IN_SERVICE_CODE=D.IN_SERVICE_CODE
LEFT OUTER JOIN CM_INCIDENT C ON A.IN_INCIDENT_SEQ=C.IN_INCIDENT_SEQ
WHERE A.IN_REPORT_SEQ > 0
AND A.IN_TASK = '1'
AND A.IN_TASK = '1'
]]>
<include refid="sharing"/>
<!-- 2025.02.17 나혁제 일단 처리하지 않음

View File

@ -4,6 +4,7 @@
<mapper namespace="com.urpsys.itmsapi.srm.dao.ReportErrorDao">
<!-- 2026.03.11 나혁제 VC_REG_COMPANY 추가 -->
<resultMap type="java.util.LinkedHashMap" id="reportVo">
<result property="inReportSeq" column="IN_REPORT_SEQ"/>
<result property="inReportStatus" column="IN_REPORT_STATUS"/>
@ -35,6 +36,7 @@
<result property="inAssetCount" column="IN_ASSET_COUNT"/>
<result property="inPercallPrice" column="IN_PERCALL_PRICE"/>
<result property="atchFileId" column="ATCH_FILE_ID"/>
<result property="vcRegCompany" column="VC_REG_COMPANY"/>
</resultMap>
<!-- 2025.09.22 나혁제 IN_SORT_SN 정렬순서추가 -->
@ -133,12 +135,31 @@
<if test="taskCode != null and taskCode!=0"> AND A.IN_TASK = ${taskCode}</if>
<if test="sdate != null and sdate!=''"><![CDATA[ AND UNIX_TIMESTAMP(A.DT_LAST_UPDATE) >= UNIX_TIMESTAMP("${sdate}")]]></if>
<if test="edate != null and edate!=''"><![CDATA[ AND UNIX_TIMESTAMP(A.DT_LAST_UPDATE) <= UNIX_TIMESTAMP("${edate}")]]></if>
<!-- 2026.03.11 나혁제 승인대상 자료만 추출 -->
<if test='approvalTargetYn != null and approvalTargetYn == "Y" '>
AND A.IN_REPORT_SEQ IN ( SELECT A.IN_REPORT_SEQ
FROM (
SELECT IN_REPORT_SEQ
, MIN(IN_ORDER) IN_ORDER
FROM CM_REPORT_APPROVAL A
WHERE DT_APPROVAL_DATETIME IS NULL
GROUP BY IN_REPORT_SEQ
) N
, CM_REPORT_APPROVAL A
WHERE A.IN_REPORT_SEQ = N.IN_REPORT_SEQ
AND A.IN_ORDER = N.IN_ORDER
AND IN_USER_SEQ = #{reqUser}
)
AND A.IN_REPORT_STATUS ='1'
</if>
</sql>
<!-- 2025.02.17 나혁제 이부분은 일단 삭제처리
<include refid="customizing"/>
-->
<!-- 2026.03.11 나혁제 VC_REG_COMPANY 추가 -->
<select id="searchReport" parameterType="java.util.LinkedHashMap" resultMap="reportVo">
<![CDATA[
/* ReportErrorDao.searchReport */
@ -178,6 +199,11 @@
WHERE COM.GRP_ID = ( SELECT GROUP_ID
FROM COMVNUSERMASTER
WHERE ESNTL_ID = A.IN_TASK_USER)), "") AS VC_TASK_COMPANY
, IFNULL((SELECT COM.GRP_NM AS VC_REG_COMPANY_NAME
FROM TB_AUTH_GRP_INFO COM
WHERE COM.GRP_ID = ( SELECT GROUP_ID
FROM COMVNUSERMASTER
WHERE ESNTL_ID = A.IN_REG_USER)), "") AS VC_REG_COMPANY
FROM CM_REPORT A
LEFT OUTER JOIN TB_CMM_DTL_CD_INFO B ON A.IN_TASK=B.CD
AND B.CD_ID ='SM_002'

View File

@ -4,6 +4,7 @@
<mapper namespace="com.urpsys.itmsapi.srm.dao.ReportIssueDao">
<!-- 2026.03.11 나혁제 VC_REG_COMPANY 추가 -->
<resultMap type="java.util.LinkedHashMap" id="reportVo">
<result property="inReportSeq" column="IN_REPORT_SEQ"/>
<result property="inReportStatus" column="IN_REPORT_STATUS"/>
@ -35,6 +36,7 @@
<result property="inAssetCount" column="IN_ASSET_COUNT"/>
<result property="inPercallPrice" column="IN_PERCALL_PRICE"/>
<result property="atchFileId" column="ATCH_FILE_ID"/>
<result property="vcRegCompany" column="VC_REG_COMPANY"/>
</resultMap>
<!-- 2025.09.22 나혁제 IN_SORT_SN 정렬순서추가 -->
@ -133,12 +135,31 @@
<if test="taskCode != null and taskCode!=0"> AND A.IN_TASK = ${taskCode}</if>
<if test="sdate != null and sdate!=''"><![CDATA[ AND UNIX_TIMESTAMP(A.DT_LAST_UPDATE) >= UNIX_TIMESTAMP("${sdate}")]]></if>
<if test="edate != null and edate!=''"><![CDATA[ AND UNIX_TIMESTAMP(A.DT_LAST_UPDATE) <= UNIX_TIMESTAMP("${edate}")]]></if>
<!-- 2026.03.11 나혁제 승인대상 자료만 추출 -->
<if test='approvalTargetYn != null and approvalTargetYn == "Y" '>
AND A.IN_REPORT_SEQ IN ( SELECT A.IN_REPORT_SEQ
FROM (
SELECT IN_REPORT_SEQ
, MIN(IN_ORDER) IN_ORDER
FROM CM_REPORT_APPROVAL A
WHERE DT_APPROVAL_DATETIME IS NULL
GROUP BY IN_REPORT_SEQ
) N
, CM_REPORT_APPROVAL A
WHERE A.IN_REPORT_SEQ = N.IN_REPORT_SEQ
AND A.IN_ORDER = N.IN_ORDER
AND IN_USER_SEQ = #{reqUser}
)
AND A.IN_REPORT_STATUS ='1'
</if>
</sql>
<!-- 2025.02.17 나혁제 이부분은 일단 삭제처리
<include refid="customizing"/>
-->
<!-- 2026.03.11 나혁제 VC_REG_COMPANY 추가 -->
<select id="searchReport" parameterType="java.util.LinkedHashMap" resultMap="reportVo">
<![CDATA[
/* ReportIssueDao.searchReport */
@ -178,6 +199,11 @@
WHERE COM.GRP_ID = ( SELECT GROUP_ID
FROM COMVNUSERMASTER
WHERE ESNTL_ID = A.IN_TASK_USER)), "") AS VC_TASK_COMPANY
, IFNULL((SELECT COM.GRP_NM AS VC_REG_COMPANY_NAME
FROM TB_AUTH_GRP_INFO COM
WHERE COM.GRP_ID = ( SELECT GROUP_ID
FROM COMVNUSERMASTER
WHERE ESNTL_ID = A.IN_REG_USER)), "") AS VC_REG_COMPANY
FROM CM_REPORT A
LEFT OUTER JOIN TB_CMM_DTL_CD_INFO B ON A.IN_TASK=B.CD
AND B.CD_ID ='SM_002'

View File

@ -4,6 +4,7 @@
<mapper namespace="com.urpsys.itmsapi.srm.dao.ReportOtherDao">
<!-- 2026.03.11 나혁제 VC_REG_COMPANY 추가 -->
<resultMap type="java.util.LinkedHashMap" id="reportVo">
<result property="inReportSeq" column="IN_REPORT_SEQ"/>
<result property="inReportStatus" column="IN_REPORT_STATUS"/>
@ -35,6 +36,7 @@
<result property="inAssetCount" column="IN_ASSET_COUNT"/>
<result property="inPercallPrice" column="IN_PERCALL_PRICE"/>
<result property="atchFileId" column="ATCH_FILE_ID"/>
<result property="vcRegCompany" column="VC_REG_COMPANY"/>
</resultMap>
<resultMap type="java.util.LinkedHashMap" id="formVo">
@ -120,12 +122,31 @@
<if test="taskCode != null and taskCode!=0"> AND A.IN_TASK = ${taskCode}</if>
<if test="sdate != null and sdate!=''"><![CDATA[ AND UNIX_TIMESTAMP(A.DT_LAST_UPDATE) >= UNIX_TIMESTAMP("${sdate}")]]></if>
<if test="edate != null and edate!=''"><![CDATA[ AND UNIX_TIMESTAMP(A.DT_LAST_UPDATE) <= UNIX_TIMESTAMP("${edate}")]]></if>
<!-- 2026.03.11 나혁제 승인대상 자료만 추출 -->
<if test='approvalTargetYn != null and approvalTargetYn == "Y" '>
AND A.IN_REPORT_SEQ IN ( SELECT A.IN_REPORT_SEQ
FROM (
SELECT IN_REPORT_SEQ
, MIN(IN_ORDER) IN_ORDER
FROM CM_REPORT_APPROVAL A
WHERE DT_APPROVAL_DATETIME IS NULL
GROUP BY IN_REPORT_SEQ
) N
, CM_REPORT_APPROVAL A
WHERE A.IN_REPORT_SEQ = N.IN_REPORT_SEQ
AND A.IN_ORDER = N.IN_ORDER
AND IN_USER_SEQ = #{reqUser}
)
AND A.IN_REPORT_STATUS ='1'
</if>
</sql>
<!-- 2025.02.17 나혁제 이부분은 일단 삭제처리
<include refid="customizing"/>
-->
<!-- 2026.03.11 나혁제 VC_REG_COMPANY 추가 -->
<select id="searchReport" parameterType="java.util.LinkedHashMap" resultMap="reportVo">
<![CDATA[
/* ReportOtherDao.searchReport */
@ -165,6 +186,11 @@
WHERE COM.GRP_ID = ( SELECT GROUP_ID
FROM COMVNUSERMASTER
WHERE ESNTL_ID = A.IN_TASK_USER)), "") AS VC_TASK_COMPANY
, IFNULL((SELECT COM.GRP_NM AS VC_REG_COMPANY_NAME
FROM TB_AUTH_GRP_INFO COM
WHERE COM.GRP_ID = ( SELECT GROUP_ID
FROM COMVNUSERMASTER
WHERE ESNTL_ID = A.IN_REG_USER)), "") AS VC_REG_COMPANY
FROM CM_REPORT A
LEFT OUTER JOIN TB_CMM_DTL_CD_INFO B ON A.IN_TASK=B.CD
AND B.CD_ID ='SM_002'

View File

@ -39,6 +39,24 @@
<if test="serviceCode != null and serviceCode!=0"> AND A.IN_SERVICE_CODE = ${serviceCode}</if>
<if test="sdate != null and sdate!=''"><![CDATA[ AND A.IN_RECEIPT_TIMESTAMP >= UNIX_TIMESTAMP("${sdate}")]]></if>
<if test="edate != null and edate!=''"><![CDATA[ AND A.IN_RECEIPT_TIMESTAMP <= UNIX_TIMESTAMP("${edate}")]]></if>
<if test='approvalTargetYn != null and approvalTargetYn == "Y" '>
AND A.IN_INCIDENT_SEQ IN ( SELECT A.IN_INCIDENT_SEQ
FROM (
SELECT IN_INCIDENT_SEQ
, MIN(IN_ORDER) IN_ORDER
FROM CM_INCIDENT_APPROVAL A
WHERE DT_APPROVAL_DATETIME IS NULL
GROUP BY IN_INCIDENT_SEQ
) N
, CM_INCIDENT_APPROVAL A
WHERE A.IN_INCIDENT_SEQ = N.IN_INCIDENT_SEQ
AND A.IN_ORDER = N.IN_ORDER
AND IN_USER_SEQ = #{reqUser}
)
AND A.IN_INCIDENT_STATUS ='1'
</if>
</sql>
<!-- 2025.12.18 나혁제 VC_REQ_INCIDENT_NUM 신청번호 추가 -->

View File

@ -58,5 +58,21 @@
</select>
<select id="selectMenuScrnAuth" resultType="java.util.LinkedHashMap">
/* MainMenuManageDao.selectMenuScrnAuth */
SELECT TASK_URL AS taskUrl
, DTLS_TASK_URL AS dtlsTaskUrl
, TASK_NM AS taskNm
, DTLS_TASK_NM AS dtlsTaskNm
, USE_YN AS useYn
, RMK AS rmk
FROM TB_MENU_SCRN_AUTH A
WHERE (USE_YN IS NULL OR USE_YN != 'N')
ORDER BY A.TASK_URL, A.DTLS_TASK_URL
</select>
</mapper>