킨텍스, kic 추가요구사항 반영

This commit is contained in:
urp 2025-09-19 14:44:05 +09:00
parent 6b8815c30b
commit 1daae7111d
6 changed files with 264 additions and 0 deletions

View File

@ -71,6 +71,13 @@ public class urpBaseResourceApplication
System.out.println("############# keiti_prod Env ###################"); System.out.println("############# keiti_prod Env ###################");
System.out.println("################################################"); System.out.println("################################################");
} }
// 2025.09.12 나혁제 킨텍스 추가
else if(activeProfile.equals("kintex_prod"))
{
System.out.println("################################################");
System.out.println("############# kintex_prod Env ##################");
System.out.println("################################################");
}
else else
{ {
System.out.println("################################################"); System.out.println("################################################");

View File

@ -94,6 +94,51 @@ public class ResourceManagerController
return ResultData.ok(resBody); return ResultData.ok(resBody);
} }
/**
* 자산 조회 엑셀저장
* @author urp 인프라본부 나혁제
* 작성일 : 2025.09.11
*/
@ResponseBody
@RequestMapping(value="/rem/searchAssetExcel.do")
public ResponseEntity<ResultData> searchAssetExcel( @RequestBody LinkedHashMap<String, Object> requestMap
, HttpServletRequest request
, HttpServletResponse response
) throws Exception
{
log.info("\n\n\n\n\n");
log.info(">>>>>>>>>>>>>>>>>>>>>>>>> /rem/searchAssetExcel.do <<<<<<<<<<<<<<<<<<<<<<<<<");
log.info("getRequestURI [{}]", request.getRequestURI() );
log.info("입력값 확인 requestMap [{}]", requestMap.toString() );
LinkedHashMap<String, Object> resBody = new LinkedHashMap<String, Object>();
// 토큰정보 획득
TokenInfo tokenInfo = CommonUtil.getAccessTokenInfo(request);
String strGrpId = tokenInfo.getStrGRP_ID();
String strRole = tokenInfo.getAuthorities();
log.info("strGrpId [{}]", strGrpId);
log.info("strRole [{}]" , strRole);
log.info("순서 [{}]" , strRole.indexOf("ROLE_ADMIN"));
// 본사그룹 혹은 관리자 아닌경우 해당그룹자산만 조회 가능
if(!strGrpId.equals("GROUP_00000000000000") && strRole.indexOf("ROLE_ADMIN")<0)
{
requestMap.put("strGrpId", strGrpId);
}
// 자산조회
List<LinkedHashMap<String, Object>> resultList = resourceManagerService.searchAssetExcel(requestMap);
resBody.put("resultList", resultList );
log.info("<<<<<<<<<<<<<<<<<<<<<<<<< /rem/searchAssetExcel.do >>>>>>>>>>>>>>>>>>>>>>>>>");
return ResultData.ok(resBody);
}
/** /**
* 자산이력 조회 * 자산이력 조회
* @author urp 인프라본부 나혁제 * @author urp 인프라본부 나혁제

View File

@ -34,6 +34,9 @@ public interface ResourceManagerDao
// 자산 조회 count 조회 // 자산 조회 count 조회
public int searchAssetCount(LinkedHashMap<String, Object> inMap) throws Exception; public int searchAssetCount(LinkedHashMap<String, Object> inMap) throws Exception;
// 2025.09.11 나혁제 자산엑셀처리 추가
public List<LinkedHashMap<String, Object>> searchAssetExcel(LinkedHashMap<String, Object> inMap) throws Exception;
// 자산등록 // 자산등록
public int addAssetVo(LinkedHashMap<String, Object> inMap) throws Exception; public int addAssetVo(LinkedHashMap<String, Object> inMap) throws Exception;

View File

@ -52,6 +52,11 @@ public class ResourceManagerService
return resourceManagerDao.searchAssetCount(inMap); return resourceManagerDao.searchAssetCount(inMap);
} }
public List<LinkedHashMap<String, Object>> searchAssetExcel(LinkedHashMap<String, Object> inMap) throws Exception
{
return resourceManagerDao.searchAssetExcel(inMap);
}
// 2025.03.31 나혁제 자산이력 조회 // 2025.03.31 나혁제 자산이력 조회
public List<LinkedHashMap<String, Object>> searchAssetHist(LinkedHashMap<String, Object> inMap) throws Exception public List<LinkedHashMap<String, Object>> searchAssetHist(LinkedHashMap<String, Object> inMap) throws Exception
{ {

View File

@ -0,0 +1,60 @@
# Service port
server:
port: 11010
# JPA 설정, JSP 설정
spring:
devtools:
livereload:
enabled: true
# 인증서버에서 JWT 보안키 확인
security:
oauth2:
resourceserver:
jwt:
jwk-set-uri:
http://localhost:11000/oauth/token_key
# Primary db information
primarydb:
driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
jdbcUrl: jdbc:log4jdbc:mariadb://10.2.11.37:3307/ur_itms_db?characterEncoding=UTF-8&serverTimezone=Asia/Seoul&rewriteBatchedStatements=true
username: g9IwFesTyIloXVpUnfOX0g==
password: E4SOtjDqqO79BQERc/eaTw==
maximumPoolSize: 35
minimumIdle: 2
connectionTimeout: 3000
idleTimeout: 300000
testOnBorrow: true
validationQuery: SELECT 1
# SQL Log 관련 setting
log4jdbc:
spylogdelegator:
name: net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator
dump:
sql:
maxlinelength: 0
logging.level.jdbc.sqlonly: info
logging.level.jdbc.sqltiming: false
logging.level.jdbc.audit: false
logging.level.jdbc.resultset: false
logging.level.jdbc.resultsettable: info
logging.level.jdbc.connection: false
# custom 설정
custom:
api_server : null
sendmail:
id: tW9kMpd3SiAnf3RQBOZapw==
password: Tkkj8p2PYfZ+AmpQMPLHF8ksj8vrtJouj6xczU8ShM8=
port: 587
host: smtp.gmail.com
sendEmail: hhjj0701@gmail.com
senderName: 나혁제
socketFactory-class: javax.net.ssl.SSLSocketFactory
supplier: gmail.com
front_host_info : http://10.2.11.37:11020
client : kintex

View File

@ -68,6 +68,10 @@
<result column="DT_EOL" property="dtEol" /> <result column="DT_EOL" property="dtEol" />
<result column="IN_PORT_INFO" property="inPortInfo" /> <result column="IN_PORT_INFO" property="inPortInfo" />
<!-- 2025.09.12 나혁제 추가 -->
<result column="IN_REAL_CHRGR" property="inRealChargr" />
<result column="VC_REAL_CHRGR_NM" property="vcRealChargrNm" />
</resultMap> </resultMap>
<resultMap type="java.util.LinkedHashMap" id="attach"> <resultMap type="java.util.LinkedHashMap" id="attach">
@ -126,12 +130,20 @@
<if test="sdateMasEnd != null and sdateMasEnd!=''"><![CDATA[ AND (A.DT_MAS_FINISH) >= ("${sdateMasEnd}")]]></if> <if test="sdateMasEnd != null and sdateMasEnd!=''"><![CDATA[ AND (A.DT_MAS_FINISH) >= ("${sdateMasEnd}")]]></if>
<if test="edateMasEnd != null and edateMasEnd!=''"><![CDATA[ AND (A.DT_MAS_FINISH) <= ("${edateMasEnd}")]]></if> <if test="edateMasEnd != null and edateMasEnd!=''"><![CDATA[ AND (A.DT_MAS_FINISH) <= ("${edateMasEnd}")]]></if>
<!-- 2025.09.11 나혁제 오류 코딩
<if test="sdateEos != null and sdateEos!=''"><![CDATA[ AND (A.DT_EOS) >= ("sdateEos")]]></if> <if test="sdateEos != null and sdateEos!=''"><![CDATA[ AND (A.DT_EOS) >= ("sdateEos")]]></if>
<if test="edateEos != null and edateEos!=''"><![CDATA[ AND (A.DT_EOS) <= ("edateEos")]]></if> <if test="edateEos != null and edateEos!=''"><![CDATA[ AND (A.DT_EOS) <= ("edateEos")]]></if>
-->
<if test="sdateEos != null and sdateEos!=''"><![CDATA[ AND (A.DT_EOS) >= #{sdateEos}]]></if>
<if test="edateEos != null and edateEos!=''"><![CDATA[ AND (A.DT_EOS) <= #{edateEos}]]></if>
<!-- 2025.08.19 나혁제 추가 필터 --> <!-- 2025.08.19 나혁제 추가 필터 -->
<if test="strGrpId != null and strGrpId != ''">AND A.VC_GRP_ID = #{strGrpId}</if> <if test="strGrpId != null and strGrpId != ''">AND A.VC_GRP_ID = #{strGrpId}</if>
<!-- 2025.09.15 나혁제 추가 필터 -->
<if test="hidEosCheckYn != null and hidEosCheckYn == 1"><![CDATA[ AND (A.DT_EOS) <= sysdate()]]></if>
<if test='searchAll != null and searchAll != "" '> <if test='searchAll != null and searchAll != "" '>
AND ( AND (
(A.VC_ASSET_ID LIKE "%${searchAll}%" ) OR (A.VC_ASSET_ID LIKE "%${searchAll}%" ) OR
@ -156,6 +168,7 @@
<select id="searchAsset" parameterType="java.util.LinkedHashMap" resultType="java.util.LinkedHashMap"> <select id="searchAsset" parameterType="java.util.LinkedHashMap" resultType="java.util.LinkedHashMap">
/* ResourceManagerDao.searchAsset */
SELECT A.IN_ASSET_SEQ AS inAssetSeq SELECT A.IN_ASSET_SEQ AS inAssetSeq
, A.VC_ASSET_ID AS vcAssetId , A.VC_ASSET_ID AS vcAssetId
, A.VC_ASSET_NAME AS vcAssetName , A.VC_ASSET_NAME AS vcAssetName
@ -261,6 +274,7 @@
</select> </select>
<select id="searchAssetCount" parameterType="java.util.HashMap" resultType="int"> <select id="searchAssetCount" parameterType="java.util.HashMap" resultType="int">
/* ResourceManagerDao.searchAssetCount */
SELECT COUNT(A.IN_ASSET_SEQ) SELECT COUNT(A.IN_ASSET_SEQ)
FROM CM_ASSET A FROM CM_ASSET A
, CODE_ASSET_CATE1 B , CODE_ASSET_CATE1 B
@ -273,6 +287,126 @@
<include refid="searchFilter"></include> <include refid="searchFilter"></include>
</select> </select>
<!-- 2025.09.11 나혁제 엑셀처리 추가 -->
<select id="searchAssetExcel" parameterType="java.util.LinkedHashMap" resultType="java.util.LinkedHashMap">
SELECT A.IN_ASSET_SEQ AS inAssetSeq
, A.VC_ASSET_ID AS vcAssetId
, A.VC_ASSET_NAME AS vcAssetName
, A.FL_RATE AS flRate
, (A.FL_RATE/100)*A.IN_PRICE AS inFare
, A.VC_ASSET_SERIAL AS vcAssetSerial
, A.IN_REMAIN_PRICE AS inRemainPrice
, A.VC_IP AS vcIp
, A.VC_HOST AS vcHost
, IF(A.IN_MAS_TARGET=0, 'N', 'Y') AS inMasTarget
, A.IN_PRICE AS inPrice
, A.TX_ASSET_DESC AS txAssetDesc
, A.DT_WARRANTY_FINISH AS dtWaRRantyFinish
, A.IN_QUANTITY AS inQuantity
, IFNULL(S.CD_NM, "미지정") AS vcStatus
, A.IN_ASSET_STATUS AS inAssetStatus
, B.VC_CATE1 AS vcCate1
, C.VC_CATE2 AS vcCate2
, D.VC_CATE3 AS vcCate3
, DATE_FORMAT(A.DT_PURCHASE_DATETIME, '%Y-%m-%d') AS dtPurchaseDatetime
, DATE_FORMAT(A.DT_MAS_START, '%Y-%m-%d') AS dtMasStart
, DATE_FORMAT(A.DT_MAS_FINISH, '%Y-%m-%d') AS dtMasFinish
, DATE_FORMAT(A.DT_EOS, '%Y-%m-%d') AS dtEos
, A.IN_PARENT_SEQ AS inParentSeq
, IF(A.IN_PARENT_SEQ=0, '', (SELECT VC_ASSET_NAME
FROM CM_ASSET
WHERE IN_ASSET_SEQ=A.IN_PARENT_SEQ)) AS vcParentAssetName
, A.IN_CATE1 AS inCate1
, A.IN_CATE2 AS inCate2
, A.IN_CATE3 AS inCate3
, A.IN_PHYSICAL AS inPhysical
, A.TX_USAGE AS txUsage
, A.VC_VENDOR AS vcVendor
, A.VC_MODEL AS vcModel
, A.VC_VERSION AS vcVersion
, A.VC_UNIT AS vcUnit
, A.IN_PURCHASE_UNIT_PRICE_C AS inPurchaseUnitPriceC
, A.IN_PURCHASE_AMOUNT_C AS inPurchaseAmountC
, A.IN_MAS_RATE AS inMasRate
, A.VC_MAS_CHECK_PERIOD AS vcMasCheckPeriod
, A.VC_FORM AS vcForm
, A.VC_CHARGE_DEPARTMENT AS vcChargeDepartment
, A.VC_CHARGE_USER AS vcChargeUser
, DATE_FORMAT(A.DT_LAST_MODIFIED, '%Y-%m-%d %H:%i') AS dtLastModified
, A.VC_LAST_MODIFY_USER AS vcLastModifyUser
, VC_GRP_ID AS vcGrpId
, VC_GRP_NM AS vcGrpNm
, VC_CHK_TRG_YN AS vcChkTrgYn
, VC_DTL_CPU AS vcDtlCpu
, VC_DTL_DISK AS vcDtlDisk
, VC_DTL_MEM AS vcDtlMem
, VC_TASK_NM AS vcTaskNm
, A.VC_NRWD_MTNC_STRT_DT AS vcNrwdMicnStrtDt
, A.VC_NRWD_MTNC_END_DT AS vcNrwdMicnEndDt
, VC_LICENSE_KND AS vcLLicenseKnd
, DATE_FORMAT(A.DT_LICENSE_END, '%Y-%m-%d') AS dtLLicenseEnd
, DATE_FORMAT(A.DT_EOL, '%Y-%m-%d') AS dtEol
, IN_PORT_INFO AS inPortInfo
, IN_REAL_CHRGR AS inRealChargr
, VC_REAL_CHRGR_NM AS vcRealChargrNm
FROM CM_ASSET A
LEFT OUTER JOIN TB_CMM_DTL_CD_INFO S ON S.CD_ID ='SM_001'
AND A.IN_ASSET_STATUS = S.CD
, CODE_ASSET_CATE1 B
, CODE_ASSET_CATE2 C
, CODE_ASSET_CATE3 D
WHERE A.IN_DEL_FLAG=0
AND A.IN_CATE1=B.IN_CATE1
AND A.IN_CATE1=C.IN_CATE1
AND A.IN_CATE2=C.IN_CATE2
AND A.IN_CATE1=D.IN_CATE1
AND A.IN_CATE2=D.IN_CATE2
AND A.IN_CATE3=D.IN_CATE3
<include refid="searchFilter"/>
<if test="sortField != null and sortField !=''">
<if test="sortField == 'VC_ASSET_ID'"> ORDER BY A.VC_ASSET_ID</if>
<if test="sortField == 'DT_PURCHASE_DATETIME'"> ORDER BY A.DT_PURCHASE_DATETIME</if>
<if test="sortField == 'VC_CATE1'"> ORDER BY B.VC_CATE1</if>
<if test="sortField == 'VC_CATE2'"> ORDER BY C.VC_CATE2</if>
<if test="sortField == 'VC_CATE3'"> ORDER BY D.VC_CATE3</if>
<if test="sortField == 'VC_ASSET_NAME'"> ORDER BY A.VC_ASSET_NAME</if>
<if test="sortField == 'VC_VENDOR'"> ORDER BY A.VC_VENDOR</if>
<if test="sortField == 'VC_MODEL'"> ORDER BY A.VC_MODEL</if>
<if test="sortField == 'IN_QUANTITY'"> ORDER BY IN_QUANTITY</if>
<if test="sortField == 'VC_UNIT'"> ORDER BY VC_UNIT</if>
<if test="sortField == 'IN_PURCHASE_UNIT_PRICE_C'"> ORDER BY IN_PURCHASE_UNIT_PRICE_C</if>
<if test="sortField == 'IN_PURCHASE_AMOUNT_C'"> ORDER BY IN_PURCHASE_AMOUNT_C</if>
<if test="sortField == 'DT_WARRANTY_FINISH'"> ORDER BY A.DT_WARRANTY_FINISH</if>
<if test="sortField == 'IN_MAS_TARGET'"> ORDER BY A.IN_MAS_TARGET</if>
<if test="sortField == 'IN_MAS_RATE'"> ORDER BY IN_MAS_RATE</if>
<if test="sortField == 'VC_MAS_CHECK_PERIOD'"> ORDER BY VC_MAS_CHECK_PERIOD</if>
<if test="sortField == 'DT_MAS_START'"> ORDER BY A.DT_MAS_START</if>
<if test="sortField == 'DT_MAS_FINISH'"> ORDER BY A.DT_MAS_FINISH</if>
<if test="sortField == 'VC_VERSION'"> ORDER BY A.VC_VERSION</if>
<if test="sortField == 'VC_STATUS'"> ORDER BY VC_STATUS</if>
<if test="sortField == 'VC_ASSET_SERIAL'"> ORDER BY A.VC_ASSET_SERIAL</if>
<if test="sortField == 'VC_PARENT_ASSET_NAME'"> ORDER BY VC_PARENT_ASSET_NAME</if>
<if test="sortField == 'IN_REMAIN_PRICE'"> ORDER BY A.IN_REMAIN_PRICE</if>
<if test="sortField == 'VC_FORM'"> ORDER BY VC_FORM</if>
<if test="sortField == 'VC_IP'"> ORDER BY A.VC_IP</if>
<if test="sortField == 'VC_HOST'"> ORDER BY A.VC_HOST</if>
<if test="sortField == 'DT_EOS'"> ORDER BY A.DT_EOS</if>
<if test="sortField == 'VC_CHARGE_DEPARTMENT'"> ORDER BY VC_CHARGE_DEPARTMENT</if>
<if test="sortField == 'VC_CHARGE_USER'"> ORDER BY VC_CHARGE_USER</if>
<if test="sortField == 'TX_USAGE'"> ORDER BY TX_USAGE</if>
<if test="sortField == 'TX_ASSET_DESC'"> ORDER BY A.TX_ASSET_DESC</if>
<if test="sortField == 'DT_LAST_MODIFIED'"> ORDER BY DT_LAST_MODIFIED</if>
<if test="sortField == 'VC_LAST_MODIFY_USER'"> ORDER BY VC_LAST_MODIFY_USER</if>
<if test="sortField == 'IN_PRICE'"> ORDER BY A.IN_PRICE</if>
<if test="sortOrder != null and sortOrder =='asc'"> ASC</if>
<if test="sortOrder != null and sortOrder =='desc'"> DESC</if>
</if>
<if test="sortField == null or sortField ==''">
ORDER BY A.IN_ASSET_SEQ DESC
</if>
</select>
<!-- 2025.03.31 나혁제 자산이력조회 기능 추가 --> <!-- 2025.03.31 나혁제 자산이력조회 기능 추가 -->
<select id="searchAssetHist" parameterType="java.util.LinkedHashMap" resultType="java.util.LinkedHashMap"> <select id="searchAssetHist" parameterType="java.util.LinkedHashMap" resultType="java.util.LinkedHashMap">
SELECT A.IN_ASSET_SEQ AS inAssetSeq SELECT A.IN_ASSET_SEQ AS inAssetSeq
@ -321,6 +455,7 @@
, DATE_FORMAT(A.DT_LAST_MODIFIED, '%Y-%m-%d %H:%i') AS dtLastModified , DATE_FORMAT(A.DT_LAST_MODIFIED, '%Y-%m-%d %H:%i') AS dtLastModified
, A.VC_LAST_MODIFY_USER AS vcLastModifyUser , A.VC_LAST_MODIFY_USER AS vcLastModifyUser
, DATE_FORMAT(A.EVENT_TIME, '%Y-%m-%d %H:%i') AS eventTime , DATE_FORMAT(A.EVENT_TIME, '%Y-%m-%d %H:%i') AS eventTime
, A.VC_REAL_CHRGR_NM AS vcRealChrgrNm
FROM CM_ASSET_HIST A FROM CM_ASSET_HIST A
LEFT OUTER JOIN TB_CMM_DTL_CD_INFO S ON S.CD_ID ='SM_001' LEFT OUTER JOIN TB_CMM_DTL_CD_INFO S ON S.CD_ID ='SM_001'
AND A.IN_ASSET_STATUS = S.CD AND A.IN_ASSET_STATUS = S.CD
@ -397,6 +532,8 @@
, DT_LICENSE_END , DT_LICENSE_END
, DT_EOL , DT_EOL
, IN_PORT_INFO , IN_PORT_INFO
, IN_REAL_CHRGR
, VC_REAL_CHRGR_NM
) )
VALUES VALUES
( #{inCate1} ( #{inCate1}
@ -443,6 +580,9 @@
, #{dtLLicenseEnd} , #{dtLLicenseEnd}
, #{dtEol} , #{dtEol}
, case when #{inPortInfo} = '' then '0' else #{inPortInfo} end , case when #{inPortInfo} = '' then '0' else #{inPortInfo} end
, #{inRealChargr}
, #{vcRealChargrNm}
) )
</insert> </insert>
@ -516,6 +656,8 @@
, A.DT_LICENSE_END , A.DT_LICENSE_END
, A.DT_EOL , A.DT_EOL
, A.IN_PORT_INFO , A.IN_PORT_INFO
, A.IN_REAL_CHRGR
, A.VC_REAL_CHRGR_NM
FROM CM_ASSET A FROM CM_ASSET A
LEFT OUTER JOIN TB_CMM_DTL_CD_INFO S ON S.CD_ID ='SM_001' LEFT OUTER JOIN TB_CMM_DTL_CD_INFO S ON S.CD_ID ='SM_001'
AND A.IN_ASSET_STATUS = S.CD AND A.IN_ASSET_STATUS = S.CD
@ -591,6 +733,8 @@
, DT_LICENSE_END = #{dtLLicenseEnd} , DT_LICENSE_END = #{dtLLicenseEnd}
, DT_EOL = #{dtEol} , DT_EOL = #{dtEol}
, IN_PORT_INFO = #{inPortInfo} , IN_PORT_INFO = #{inPortInfo}
, IN_REAL_CHRGR = #{inRealChargr}
, VC_REAL_CHRGR_NM = #{vcRealChargrNm}
WHERE IN_ASSET_SEQ=#{inAssetSeq} WHERE IN_ASSET_SEQ=#{inAssetSeq}
</update> </update>