포트릿기능추가

This commit is contained in:
urp 2025-11-12 09:29:56 +09:00
parent de6e68971d
commit 94059eca28
13 changed files with 356 additions and 14 deletions

View File

@ -311,6 +311,12 @@ public class CommonUtil
return (Long.valueOf(str).longValue()); return (Long.valueOf(str).longValue());
} }
public static int stoi(String str)
{
if(str == null ) return 0;
return (Integer.valueOf(str).intValue());
}
/** /**
문자열을 특정 문자열을 변환시킨다. 문자열을 특정 문자열을 변환시킨다.
@version 1.0 @version 1.0

View File

@ -62,10 +62,12 @@ public class PortletManageController {
LinkedHashMap<String, Object> resBody = new LinkedHashMap<String, Object>(); LinkedHashMap<String, Object> resBody = new LinkedHashMap<String, Object>();
List<LinkedHashMap<String, Object>> resultList = portletManageService.selectPortletList(requestMap); List<LinkedHashMap<String, Object>> resultList = portletManageService.selectPortletList(requestMap);
int cnt = portletManageService.selectPortletListCnt(requestMap); int cnt = portletManageService.selectPortletListCnt(requestMap);
int iMaxSeq = portletManageService.selectPortletMax(requestMap); // 2025.11.11 나혁제 정렬최대순서
resBody.put("resultList" , resultList ); resBody.put("resultList" , resultList );
resBody.put("totCnt" , cnt ); resBody.put("totCnt" , cnt );
resBody.put("iMaxSeq" , iMaxSeq ); // 2025.11.11 나혁제 정렬최대순서
log.info("<<<<<<<<<<<<<<<<<<<<<<<<< /potl/mainPortletPage.do >>>>>>>>>>>>>>>>>>>>>>>>>"); log.info("<<<<<<<<<<<<<<<<<<<<<<<<< /potl/mainPortletPage.do >>>>>>>>>>>>>>>>>>>>>>>>>");

View File

@ -35,6 +35,9 @@ public interface PortletManageDao {
// 사용자 포틀릿 건수 조회 // 사용자 포틀릿 건수 조회
public int selectPortletListCnt(LinkedHashMap<String, Object> inMap) throws Exception; public int selectPortletListCnt(LinkedHashMap<String, Object> inMap) throws Exception;
// 2025.11.11 나혁제 포틀릿 최대 정렬값을 획득
public int selectPortletMax(LinkedHashMap<String, Object> inMap) throws Exception;
// 포틀릿 배치 수정 // 포틀릿 배치 수정
public int updatePortletSeq(LinkedHashMap<String, Object> inMap) throws Exception; public int updatePortletSeq(LinkedHashMap<String, Object> inMap) throws Exception;

View File

@ -44,11 +44,20 @@ public class PortletManageService {
{ {
return portletManageDao.selectPortletList(inMap); return portletManageDao.selectPortletList(inMap);
} }
// 사용자 포틀릿 건수 조회 // 사용자 포틀릿 건수 조회
public int selectPortletListCnt(LinkedHashMap<String, Object> inMap) throws Exception public int selectPortletListCnt(LinkedHashMap<String, Object> inMap) throws Exception
{ {
return portletManageDao.selectPortletListCnt(inMap); return portletManageDao.selectPortletListCnt(inMap);
} }
// 2025.11.11 나혁제
// 포틀릿 최대 정렬값을 획득
public int selectPortletMax(LinkedHashMap<String, Object> inMap) throws Exception
{
return portletManageDao.selectPortletMax(inMap);
}
// 포틀릿 배치 수정 // 포틀릿 배치 수정
public void updatePortletSeq( String portletSeqForInsert public void updatePortletSeq( String portletSeqForInsert
, String prsnlIdForInsert , String prsnlIdForInsert

View File

@ -238,6 +238,37 @@ public class ResourceManagerController
return ResultData.ok(resBody); return ResultData.ok(resBody);
} }
/**
* 실사용자 정보 조회
* @author urp 인프라본부 나혁제
* 작성일 : 2025.10.28
*/
@ResponseBody
@RequestMapping(value="/rem/realUserList.do")
public ResponseEntity<ResultData> realUserList( @RequestBody LinkedHashMap<String, Object> requestMap
, HttpServletRequest request
, HttpServletResponse response
) throws Exception
{
log.info("\n\n\n\n\n");
log.info(">>>>>>>>>>>>>>>>>>>>>>>>> /rem/realUserList.do <<<<<<<<<<<<<<<<<<<<<<<<<");
log.info("getRequestURI [{}]", request.getRequestURI() );
log.info("입력값 확인 requestMap [{}]", requestMap.toString() );
LinkedHashMap<String, Object> resBody = new LinkedHashMap<String, Object>();
String vcRealChargrNm = (String)requestMap.get("vcRealChargrNm");
// 자산번호 중복 체크
List<LinkedHashMap<String, Object>> resultList = resourceManagerService.realUserList(vcRealChargrNm);
resBody.put("result" , resultList );
log.info("<<<<<<<<<<<<<<<<<<<<<<<<< /rem/realUserList.do >>>>>>>>>>>>>>>>>>>>>>>>>");
return ResultData.ok(resBody);
}
/** /**
* 자산 등록 * 자산 등록
@ -361,6 +392,46 @@ public class ResourceManagerController
return ResultData.ok(resBody); return ResultData.ok(resBody);
} }
/**
* 자산 일괄 삭제
* @author urp 인프라본부 나혁제
* 작성일 : 2025.10.23
*/
@ResponseBody
@RequestMapping(value="/rem/deleteMultiAsset.do")
public ResponseEntity<ResultData> deleteMultiAsset( @RequestBody LinkedHashMap<String, Object> requestMap
, HttpServletRequest request
, HttpServletResponse response
) throws Exception
{
log.info("\n\n\n\n\n");
log.info(">>>>>>>>>>>>>>>>>>>>>>>>> /rem/deleteMultiAsset.do <<<<<<<<<<<<<<<<<<<<<<<<<");
log.info("getRequestURI [{}]", request.getRequestURI() );
log.info("입력값 확인 requestMap [{}]", requestMap.toString() );
LinkedHashMap<String, Object> resBody = new LinkedHashMap<String, Object>();
String strInAssetSeqMulti = (String)requestMap.get("inAssetSeqMulti");
// 자산삭제
int iSucc = resourceManagerService.deleteMultiAsset(strInAssetSeqMulti);
if(iSucc > 0)
{
resBody.put("resultCd" , "0" );
resBody.put("resultMsg", "정상적으로 삭제되었습니다." );
}
else
{
resBody.put("resultCd" , "-1" );
resBody.put("resultMsg", "자산 일괄 삭제중 오류가 발생 하였습니다." );
}
log.info("<<<<<<<<<<<<<<<<<<<<<<<<< /rem/deleteMultiAsset.do >>>>>>>>>>>>>>>>>>>>>>>>>");
return ResultData.ok(resBody);
}

View File

@ -73,6 +73,9 @@ public interface ResourceManagerDao
// 2025.03.31 나혁제 자산이력 조회 count 조회 // 2025.03.31 나혁제 자산이력 조회 count 조회
public int searchAssetHistCount(LinkedHashMap<String, Object> inMap) throws Exception; public int searchAssetHistCount(LinkedHashMap<String, Object> inMap) throws Exception;
// 2025.10.28 나혁제 실사용자조회 부분 추가
public List<LinkedHashMap<String, Object>> realUserList(String strIn) throws Exception;

View File

@ -7,6 +7,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import com.urpsys.baseapi.common.util.CommonUtil;
import com.urpsys.itmsapi.cmm.service.FileManageService; import com.urpsys.itmsapi.cmm.service.FileManageService;
import com.urpsys.itmsapi.rem.dao.ResourceManagerDao; import com.urpsys.itmsapi.rem.dao.ResourceManagerDao;
@ -161,6 +162,21 @@ public class ResourceManagerService
return iResultCnt; return iResultCnt;
} }
// 2025.10.23 나혁제 추가 기능
// 자산 일괄 삭제
public int deleteMultiAsset(String strInAssetSeqMulti) throws Exception
{
String[] stArray = strInAssetSeqMulti.split("\\;");
int iResultCnt=0;
for(String str : stArray)
{
iResultCnt += resourceManagerDao.deleteAsset(CommonUtil.stoi(str));
}
return iResultCnt;
}
// 자산 첨부파일 삭제 // 자산 첨부파일 삭제
public int deleteAttachByKey(int inInteger) throws Exception public int deleteAttachByKey(int inInteger) throws Exception
@ -200,6 +216,11 @@ public class ResourceManagerService
return resourceManagerDao.getReportByAsset(inInteger); return resourceManagerDao.getReportByAsset(inInteger);
} }
// 2025.10.28 나혁제 실사용자조회 부분 추가
public List<LinkedHashMap<String, Object>> realUserList(String strIn) throws Exception
{
return resourceManagerDao.realUserList(strIn);
}

View File

@ -0,0 +1,81 @@
package com.urpsys.itmsapi.sta.controller;
import java.util.LinkedHashMap;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import com.urpsys.baseapi.common.util.CommonUtil;
import com.urpsys.baseapi.common.util.ResultData;
import com.urpsys.baseapi.domain.TokenInfo;
import com.urpsys.itmsapi.srm.service.HomeService;
import com.urpsys.itmsapi.srm.service.ReportCheckService;
import com.urpsys.itmsapi.srm.service.SvcDeskService;
import com.urpsys.itmsapi.sta.service.ResourceStatService;
import lombok.extern.slf4j.Slf4j;
/**
* 잔산 현황 통계 API Controller 클래스
* @author urp 인프라본부 나혁제
* @since 2025.11.10
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ---------- -------- ---------------------------
* 2025.11.10 나혁제 최초 생성
*
* </pre>
*/
@Slf4j
@RestController
public class ResourceStatController
{
@Autowired
ResourceStatService resourceStatService; // 저산통계 관리 서비스
/**
* 자산 종합 현황 통계 조회
* @author urp 인프라본부 나혁제
* 작성일 : 2025.11.10
*/
@ResponseBody
@RequestMapping(value="/srm/getResouceTotalStat.do")
public ResponseEntity<ResultData> getMyIncidents( @RequestBody LinkedHashMap<String, Object> requestMap
, HttpServletRequest request
, HttpServletResponse response
) throws Exception
{
log.info("\n\n\n\n\n");
log.info(">>>>>>>>>>>>>>>>>>>>>>>>> /sta/getResouceTotalStat.do <<<<<<<<<<<<<<<<<<<<<<<<<");
log.info("getRequestURI [{}]", request.getRequestURI() );
log.info("입력값 확인 requestMap [{}]", requestMap.toString() );
LinkedHashMap<String, Object> resBody = new LinkedHashMap<String, Object>();
// 자산 종합 현황 통계 조회
List<LinkedHashMap<String, Object>> resultList = resourceStatService.getResouceTotalStat();
resBody.put("resultList", resultList );
log.info("<<<<<<<<<<<<<<<<<<<<<<<<< /sta/getResouceTotalStat.do >>>>>>>>>>>>>>>>>>>>>>>>>");
return ResultData.ok(resBody);
}
}

View File

@ -0,0 +1,37 @@
package com.urpsys.itmsapi.sta.dao;
import java.util.LinkedHashMap;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
/**
* 자산 통계관리에 대한 DAO 클래스를 정의
*
* @author urp 인프라본부 나혁제
* @since 2025.11.10
* @version 1.0.0
* @see
*
* <pre>
*
* << 개정이력(Modification information) >>
*
* 수정일 수정자 수정내용
* ----------- --------- ------------------------
* 2025.11.10 나혁제 최초작성
*
* </pre>
*/
@Mapper
@Repository
public interface ResourceStatDao
{
// 자산 종합현황 통계 조회
public List<LinkedHashMap<String, Object>> getResouceTotalStat() throws Exception;
}

View File

@ -0,0 +1,47 @@
package com.urpsys.itmsapi.sta.service;
import java.util.LinkedHashMap;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.urpsys.itmsapi.sta.dao.ResourceStatDao;
/**
* 자산통계 관한 비즈니스 구현 클래스를 정의
*
* @author urp 인프라본부 나혁제
* @since 2025.11.10
* @version 1.0.0
* @see
*
* <pre>
*
* << 개정이력(Modification information) >>
*
* 수정일 수정자 수정내용
* ----------- --------- ------------------------
* 2025.11.10 나혁제 최초작성
*
* </pre>
*/
@Service
@Transactional
public class ResourceStatService
{
@Autowired
ResourceStatDao resourceStatDao;
// 자산 종합현황 통계 조회
public List<LinkedHashMap<String, Object>> getResouceTotalStat() throws Exception
{
return resourceStatDao.getResouceTotalStat();
}
}

View File

@ -6,7 +6,7 @@
<!-- 사용자 포틀릿 조회 --> <!-- 사용자 포틀릿 조회 -->
<select id="selectPortletList" parameterType="java.util.LinkedHashMap" resultType="java.util.LinkedHashMap"> <select id="selectPortletList" parameterType="java.util.LinkedHashMap" resultType="java.util.LinkedHashMap">
/* PortletManageDao.selectPortletList */
SELECT A.TASK_USER_ID AS userId SELECT A.TASK_USER_ID AS userId
, A.PORTLET_ID AS prsnlId , A.PORTLET_ID AS prsnlId
, A.SCRN_IDCT_SEQ AS portletSeq , A.SCRN_IDCT_SEQ AS portletSeq
@ -24,9 +24,20 @@
</select> </select>
<!-- 2025.11.11. 나혁제 정렬최대순서 추출 -->
<select id="selectPortletMax" parameterType="java.util.LinkedHashMap" resultType="java.lang.Integer" >
/* PortletManageDao.selectPortletMax */
SELECT MAX(A.SCRN_IDCT_SEQ) AS maxSeq
FROM
TB_USER_PORTLET_MNG A
WHERE 1=1
AND A.TASK_USER_ID = #{userId}
</select>
<!-- 사용자 포틀릿 건수 조회 --> <!-- 사용자 포틀릿 건수 조회 -->
<select id="selectPortletListCnt" parameterType="java.util.LinkedHashMap" resultType="java.lang.Integer"> <select id="selectPortletListCnt" parameterType="java.util.LinkedHashMap" resultType="java.lang.Integer">
/* PortletManageDao.selectPortletListCnt */
SELECT COUNT(PORTLET_ID) SELECT COUNT(PORTLET_ID)
FROM FROM
TB_USER_PORTLET_MNG TB_USER_PORTLET_MNG
@ -37,7 +48,7 @@
<!-- 사용자의 포틀릿 등록 --> <!-- 사용자의 포틀릿 등록 -->
<insert id="insertUserPortlet" parameterType="java.util.LinkedHashMap"> <insert id="insertUserPortlet" parameterType="java.util.LinkedHashMap">
/* PortletManageDao.insertUserPortlet */
INSERT INTO INSERT INTO
TB_USER_PORTLET_MNG TB_USER_PORTLET_MNG
( (
@ -60,7 +71,7 @@
<!-- 포틀릿 배치 수정 --> <!-- 포틀릿 배치 수정 -->
<update id="updatePortletSeq" parameterType="java.util.LinkedHashMap"> <update id="updatePortletSeq" parameterType="java.util.LinkedHashMap">
/* PortletManageDao.updatePortletSeq */
UPDATE TB_USER_PORTLET_MNG UPDATE TB_USER_PORTLET_MNG
SET SCRN_IDCT_SEQ = #{portletSeq} SET SCRN_IDCT_SEQ = #{portletSeq}
@ -71,6 +82,7 @@
<!-- 사용자 포틀릿 삭제 --> <!-- 사용자 포틀릿 삭제 -->
<delete id="deleteUserPortlet" parameterType="java.util.LinkedHashMap"> <delete id="deleteUserPortlet" parameterType="java.util.LinkedHashMap">
/* PortletManageDao.deleteUserPortlet */
DELETE FROM TB_USER_PORTLET_MNG DELETE FROM TB_USER_PORTLET_MNG
WHERE TASK_USER_ID = #{userId} WHERE TASK_USER_ID = #{userId}
AND PORTLET_ID = #{prsnlId} AND PORTLET_ID = #{prsnlId}
@ -78,7 +90,7 @@
<!-- 포틀릿 크기 조회 --> <!-- 포틀릿 크기 조회 -->
<select id="selectPotlSize" parameterType="java.util.LinkedHashMap" resultType="java.util.LinkedHashMap"> <select id="selectPotlSize" parameterType="java.util.LinkedHashMap" resultType="java.util.LinkedHashMap">
/* PortletManageDao.selectPotlSize */
SELECT PORTLET_WDTH_LENG AS portletWidth SELECT PORTLET_WDTH_LENG AS portletWidth
, PORTLET_HGHT_LENG AS portletHeight , PORTLET_HGHT_LENG AS portletHeight
FROM FROM

View File

@ -582,7 +582,6 @@
, case when #{inPortInfo} = '' then '0' else #{inPortInfo} end , case when #{inPortInfo} = '' then '0' else #{inPortInfo} end
, #{inRealChargr} , #{inRealChargr}
, #{vcRealChargrNm} , #{vcRealChargrNm}
) )
</insert> </insert>
@ -678,6 +677,8 @@
<!-- 2025.08.18 자산정보 추가 , VC_GRP_ID, VC_GRP_NM, VC_CHK_TRG_YN, VC_DTL_CPU, VC_DTL_DISK, VC_DTL_MEM --> <!-- 2025.08.18 자산정보 추가 , VC_GRP_ID, VC_GRP_NM, VC_CHK_TRG_YN, VC_DTL_CPU, VC_DTL_DISK, VC_DTL_MEM -->
<!-- 2025.09.01 자산정보 추가 VC_TASK_NM, VC_NRWD_MTNC_STRT_DT, VC_NRWD_MTNC_END_DT <!-- 2025.09.01 자산정보 추가 VC_TASK_NM, VC_NRWD_MTNC_STRT_DT, VC_NRWD_MTNC_END_DT
, VC_LICENSE_KND, DT_LICENSE_END, DT_EOL, IN_PORT_INFO --> , VC_LICENSE_KND, DT_LICENSE_END, DT_EOL, IN_PORT_INFO -->
<!-- 2025.10.28 나혁제 아래 내용 변경
VC_NRWD_MTNC_STRT_DT , VC_NRWD_MTNC_END_DT DT_LICENSE_END, DT_EOL, IN_PORT_INFO, DT_EOL 가 '' 일경우 데이터타입에 따라 입력처리 -->
<update id="updateAssetVo" parameterType="java.util.LinkedHashMap"> <update id="updateAssetVo" parameterType="java.util.LinkedHashMap">
UPDATE CM_ASSET UPDATE CM_ASSET
SET IN_CATE1=#{inCate1} SET IN_CATE1=#{inCate1}
@ -727,12 +728,12 @@
, VC_DTL_DISK = #{vcDtlDisk} , VC_DTL_DISK = #{vcDtlDisk}
, VC_DTL_MEM = #{vcDtlMem} , VC_DTL_MEM = #{vcDtlMem}
, VC_TASK_NM = #{vcTaskNm} , VC_TASK_NM = #{vcTaskNm}
, VC_NRWD_MTNC_STRT_DT = #{vcNrwdMicnStrtDt} , VC_NRWD_MTNC_STRT_DT = case when #{vcNrwdMicnStrtDt} = '' then NULL else #{vcNrwdMicnStrtDt} end
, VC_NRWD_MTNC_END_DT = #{vcNrwdMicnEndDt} , VC_NRWD_MTNC_END_DT = case when #{vcNrwdMicnEndDt} = '' then NULL else #{vcNrwdMicnEndDt} end
, VC_LICENSE_KND = #{vcLLicenseKnd} , VC_LICENSE_KND = #{vcLLicenseKnd}
, DT_LICENSE_END = #{dtLLicenseEnd} , DT_LICENSE_END = case when #{dtLLicenseEnd} = '' then NULL else #{dtLLicenseEnd} end
, DT_EOL = #{dtEol} , DT_EOL = case when #{dtEol} = '' then NULL else #{dtEol} end
, IN_PORT_INFO = #{inPortInfo} , IN_PORT_INFO = case when #{inPortInfo} = '' then NULL else #{inPortInfo} end
, IN_REAL_CHRGR = #{inRealChargr} , IN_REAL_CHRGR = #{inRealChargr}
, VC_REAL_CHRGR_NM = #{vcRealChargrNm} , VC_REAL_CHRGR_NM = #{vcRealChargrNm}
WHERE IN_ASSET_SEQ=#{inAssetSeq} WHERE IN_ASSET_SEQ=#{inAssetSeq}
@ -779,7 +780,13 @@
SELECT COUNT(*) SELECT COUNT(*)
FROM CM_ASSET FROM CM_ASSET
WHERE IN_DEL_FLAG=0 WHERE IN_DEL_FLAG=0
AND VC_ASSET_ID="${value}" AND VC_ASSET_ID = "${value}"
</select>
<select id="realUserList" parameterType="String" resultType="java.util.LinkedHashMap">
SELECT ESNTL_ID AS esntlId
FROM TB_TASK_USER_INFO A
WHERE USER_NM = "${value}"
</select> </select>
<select id="getReportByAsset" parameterType="int" resultMap="reportVo"> <select id="getReportByAsset" parameterType="int" resultMap="reportVo">

View File

@ -0,0 +1,43 @@
<?xml version="1.0" encoding="UTF-8"?><!--Converted at: Wed May 11 15:49:39 KST 2016-->
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.urpsys.itmsapi.sta.dao.ResourceStatDao">
<resultMap type="java.util.LinkedHashMap" id="resTotStat">
<result property="inCate3" column="IN_CATE3" />
<result property="vcCate3" column="VC_CATE3" />
<result property="inCate2" column="IN_CATE2" />
<result property="vcCate2" column="VC_CATE2" />
<result property="cnt" column="CNT" />
</resultMap>
<select id="getResouceTotalStat" resultMap="resTotStat">
<![CDATA[
SELECT D.IN_CATE3
, D.VC_CATE3
, C.IN_CATE2
, C.VC_CATE2
, COUNT(1) AS CNT
FROM CM_ASSET A
, CODE_ASSET_CATE2 C
, CODE_ASSET_CATE3 D
WHERE 1=1
AND A.IN_DEL_FLAG=0
AND A.IN_CATE1 = D.IN_CATE1
AND A.IN_CATE2 = D.IN_CATE2
AND A.IN_CATE3 = D.IN_CATE3
AND A.IN_CATE2 = C.IN_CATE2
GROUP BY D.IN_CATE1
, C.IN_CATE2
, D.IN_CATE3
, D.VC_CATE3
]]>
</select>
</mapper>