diff --git a/src/main/java/com/urpsys/baseapi/common/util/CommonUtil.java b/src/main/java/com/urpsys/baseapi/common/util/CommonUtil.java index 15efd252..1f67e0d5 100644 --- a/src/main/java/com/urpsys/baseapi/common/util/CommonUtil.java +++ b/src/main/java/com/urpsys/baseapi/common/util/CommonUtil.java @@ -311,6 +311,12 @@ public class CommonUtil return (Long.valueOf(str).longValue()); } + public static int stoi(String str) + { + if(str == null ) return 0; + return (Integer.valueOf(str).intValue()); + } + /** 문자열을 중 특정 문자열을 변환시킨다. @version 1.0 diff --git a/src/main/java/com/urpsys/itmsapi/pot/controller/PortletManageController.java b/src/main/java/com/urpsys/itmsapi/pot/controller/PortletManageController.java index de1d89c6..db2aa9d8 100644 --- a/src/main/java/com/urpsys/itmsapi/pot/controller/PortletManageController.java +++ b/src/main/java/com/urpsys/itmsapi/pot/controller/PortletManageController.java @@ -62,10 +62,12 @@ public class PortletManageController { LinkedHashMap resBody = new LinkedHashMap(); List> 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("totCnt" , cnt ); + resBody.put("totCnt" , cnt ); + resBody.put("iMaxSeq" , iMaxSeq ); // 2025.11.11 나혁제 정렬최대순서 log.info("<<<<<<<<<<<<<<<<<<<<<<<<< /potl/mainPortletPage.do >>>>>>>>>>>>>>>>>>>>>>>>>"); diff --git a/src/main/java/com/urpsys/itmsapi/pot/dao/PortletManageDao.java b/src/main/java/com/urpsys/itmsapi/pot/dao/PortletManageDao.java index a6d0fd5c..3857f252 100644 --- a/src/main/java/com/urpsys/itmsapi/pot/dao/PortletManageDao.java +++ b/src/main/java/com/urpsys/itmsapi/pot/dao/PortletManageDao.java @@ -35,6 +35,9 @@ public interface PortletManageDao { // 사용자 포틀릿 건수 조회 public int selectPortletListCnt(LinkedHashMap inMap) throws Exception; + // 2025.11.11 나혁제 포틀릿 최대 정렬값을 획득 + public int selectPortletMax(LinkedHashMap inMap) throws Exception; + // 포틀릿 배치 수정 public int updatePortletSeq(LinkedHashMap inMap) throws Exception; diff --git a/src/main/java/com/urpsys/itmsapi/pot/service/PortletManageService.java b/src/main/java/com/urpsys/itmsapi/pot/service/PortletManageService.java index ad4ced7c..c157c0d2 100644 --- a/src/main/java/com/urpsys/itmsapi/pot/service/PortletManageService.java +++ b/src/main/java/com/urpsys/itmsapi/pot/service/PortletManageService.java @@ -44,11 +44,20 @@ public class PortletManageService { { return portletManageDao.selectPortletList(inMap); } + // 사용자 포틀릿 건수 조회 public int selectPortletListCnt(LinkedHashMap inMap) throws Exception { return portletManageDao.selectPortletListCnt(inMap); } + + // 2025.11.11 나혁제 + // 포틀릿 최대 정렬값을 획득 + public int selectPortletMax(LinkedHashMap inMap) throws Exception + { + return portletManageDao.selectPortletMax(inMap); + } + // 포틀릿 배치 수정 public void updatePortletSeq( String portletSeqForInsert , String prsnlIdForInsert diff --git a/src/main/java/com/urpsys/itmsapi/rem/controller/ResourceManagerController.java b/src/main/java/com/urpsys/itmsapi/rem/controller/ResourceManagerController.java index 946b11ad..4872d628 100644 --- a/src/main/java/com/urpsys/itmsapi/rem/controller/ResourceManagerController.java +++ b/src/main/java/com/urpsys/itmsapi/rem/controller/ResourceManagerController.java @@ -238,6 +238,37 @@ public class ResourceManagerController return ResultData.ok(resBody); } + /** + * 실사용자 정보 조회 + * @author urp 인프라본부 나혁제 + * 작성일 : 2025.10.28 + */ + @ResponseBody + @RequestMapping(value="/rem/realUserList.do") + public ResponseEntity realUserList( @RequestBody LinkedHashMap 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 resBody = new LinkedHashMap(); + + String vcRealChargrNm = (String)requestMap.get("vcRealChargrNm"); + + // 자산번호 중복 체크 + List> 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); } + /** + * 자산 일괄 삭제 + * @author urp 인프라본부 나혁제 + * 작성일 : 2025.10.23 + */ + @ResponseBody + @RequestMapping(value="/rem/deleteMultiAsset.do") + public ResponseEntity deleteMultiAsset( @RequestBody LinkedHashMap 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 resBody = new LinkedHashMap(); + + 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); + } + diff --git a/src/main/java/com/urpsys/itmsapi/rem/dao/ResourceManagerDao.java b/src/main/java/com/urpsys/itmsapi/rem/dao/ResourceManagerDao.java index 09638b50..c7e06c1a 100644 --- a/src/main/java/com/urpsys/itmsapi/rem/dao/ResourceManagerDao.java +++ b/src/main/java/com/urpsys/itmsapi/rem/dao/ResourceManagerDao.java @@ -72,6 +72,9 @@ public interface ResourceManagerDao // 2025.03.31 나혁제 자산이력 조회 count 조회 public int searchAssetHistCount(LinkedHashMap inMap) throws Exception; + + // 2025.10.28 나혁제 실사용자조회 부분 추가 + public List> realUserList(String strIn) throws Exception; diff --git a/src/main/java/com/urpsys/itmsapi/rem/service/ResourceManagerService.java b/src/main/java/com/urpsys/itmsapi/rem/service/ResourceManagerService.java index 239881cc..e19b01fb 100644 --- a/src/main/java/com/urpsys/itmsapi/rem/service/ResourceManagerService.java +++ b/src/main/java/com/urpsys/itmsapi/rem/service/ResourceManagerService.java @@ -7,6 +7,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import com.urpsys.baseapi.common.util.CommonUtil; import com.urpsys.itmsapi.cmm.service.FileManageService; import com.urpsys.itmsapi.rem.dao.ResourceManagerDao; @@ -160,6 +161,21 @@ public class ResourceManagerService 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; + } // 자산 첨부파일 삭제 @@ -200,6 +216,11 @@ public class ResourceManagerService return resourceManagerDao.getReportByAsset(inInteger); } + // 2025.10.28 나혁제 실사용자조회 부분 추가 + public List> realUserList(String strIn) throws Exception + { + return resourceManagerDao.realUserList(strIn); + } diff --git a/src/main/java/com/urpsys/itmsapi/sta/controller/ResourceStatController.java b/src/main/java/com/urpsys/itmsapi/sta/controller/ResourceStatController.java new file mode 100644 index 00000000..e4536d4d --- /dev/null +++ b/src/main/java/com/urpsys/itmsapi/sta/controller/ResourceStatController.java @@ -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 + * + *
+ * << 개정이력(Modification Information) >>
+ *
+ *  수정일          수정자           수정내용
+ *  ----------   --------   ---------------------------
+ *  2025.11.10    나혁제        최초 생성
+ *
+ *  
+ */ + +@Slf4j +@RestController +public class ResourceStatController +{ + @Autowired + ResourceStatService resourceStatService; // 저산통계 관리 서비스 + + /** + * 자산 종합 현황 통계 조회 + * @author urp 인프라본부 나혁제 + * 작성일 : 2025.11.10 + */ + @ResponseBody + @RequestMapping(value="/srm/getResouceTotalStat.do") + public ResponseEntity getMyIncidents( @RequestBody LinkedHashMap 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 resBody = new LinkedHashMap(); + + // 자산 종합 현황 통계 조회 + List> resultList = resourceStatService.getResouceTotalStat(); + + resBody.put("resultList", resultList ); + + log.info("<<<<<<<<<<<<<<<<<<<<<<<<< /sta/getResouceTotalStat.do >>>>>>>>>>>>>>>>>>>>>>>>>"); + + return ResultData.ok(resBody); + } + + + +} diff --git a/src/main/java/com/urpsys/itmsapi/sta/dao/ResourceStatDao.java b/src/main/java/com/urpsys/itmsapi/sta/dao/ResourceStatDao.java new file mode 100644 index 00000000..9834a038 --- /dev/null +++ b/src/main/java/com/urpsys/itmsapi/sta/dao/ResourceStatDao.java @@ -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 + * + *
+ *
+ * << 개정이력(Modification information) >>
+ *
+ *   수정일        수정자            수정내용
+ * -----------  ---------    ------------------------
+ * 2025.11.10    나혁제          최초작성
+ *
+ *      
+ */ +@Mapper +@Repository +public interface ResourceStatDao +{ + // 자산 종합현황 통계 조회 + public List> getResouceTotalStat() throws Exception; + + + + +} diff --git a/src/main/java/com/urpsys/itmsapi/sta/service/ResourceStatService.java b/src/main/java/com/urpsys/itmsapi/sta/service/ResourceStatService.java new file mode 100644 index 00000000..a9d4d427 --- /dev/null +++ b/src/main/java/com/urpsys/itmsapi/sta/service/ResourceStatService.java @@ -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 + * + *
+ *
+ * << 개정이력(Modification information) >>
+ *
+ *   수정일       수정자      수정내용
+ * -----------  ---------    ------------------------
+ * 2025.11.10   나혁제      최초작성
+ *
+ *      
+ */ + +@Service +@Transactional +public class ResourceStatService +{ + @Autowired + ResourceStatDao resourceStatDao; + + // 자산 종합현황 통계 조회 + public List> getResouceTotalStat() throws Exception + { + return resourceStatDao.getResouceTotalStat(); + } + + + + +} diff --git a/src/main/resources/mapper/primarydb/sqlmap/itms/pot/PortletManageMapper.xml b/src/main/resources/mapper/primarydb/sqlmap/itms/pot/PortletManageMapper.xml index 8484a020..718e034c 100644 --- a/src/main/resources/mapper/primarydb/sqlmap/itms/pot/PortletManageMapper.xml +++ b/src/main/resources/mapper/primarydb/sqlmap/itms/pot/PortletManageMapper.xml @@ -6,7 +6,7 @@ + + + - + /* PortletManageDao.selectPotlSize */ SELECT PORTLET_WDTH_LENG AS portletWidth , PORTLET_HGHT_LENG AS portletHeight FROM diff --git a/src/main/resources/mapper/primarydb/sqlmap/itms/rem/ResourceManagerMapper.xml b/src/main/resources/mapper/primarydb/sqlmap/itms/rem/ResourceManagerMapper.xml index 76d24360..40e9ad73 100644 --- a/src/main/resources/mapper/primarydb/sqlmap/itms/rem/ResourceManagerMapper.xml +++ b/src/main/resources/mapper/primarydb/sqlmap/itms/rem/ResourceManagerMapper.xml @@ -582,7 +582,6 @@ , case when #{inPortInfo} = '' then '0' else #{inPortInfo} end , #{inRealChargr} , #{vcRealChargrNm} - ) @@ -678,6 +677,8 @@ + UPDATE CM_ASSET SET IN_CATE1=#{inCate1} @@ -727,12 +728,12 @@ , VC_DTL_DISK = #{vcDtlDisk} , VC_DTL_MEM = #{vcDtlMem} , VC_TASK_NM = #{vcTaskNm} - , VC_NRWD_MTNC_STRT_DT = #{vcNrwdMicnStrtDt} - , VC_NRWD_MTNC_END_DT = #{vcNrwdMicnEndDt} + , VC_NRWD_MTNC_STRT_DT = case when #{vcNrwdMicnStrtDt} = '' then NULL else #{vcNrwdMicnStrtDt} end + , VC_NRWD_MTNC_END_DT = case when #{vcNrwdMicnEndDt} = '' then NULL else #{vcNrwdMicnEndDt} end , VC_LICENSE_KND = #{vcLLicenseKnd} - , DT_LICENSE_END = #{dtLLicenseEnd} - , DT_EOL = #{dtEol} - , IN_PORT_INFO = #{inPortInfo} + , DT_LICENSE_END = case when #{dtLLicenseEnd} = '' then NULL else #{dtLLicenseEnd} end + , DT_EOL = case when #{dtEol} = '' then NULL else #{dtEol} end + , IN_PORT_INFO = case when #{inPortInfo} = '' then NULL else #{inPortInfo} end , IN_REAL_CHRGR = #{inRealChargr} , VC_REAL_CHRGR_NM = #{vcRealChargrNm} WHERE IN_ASSET_SEQ=#{inAssetSeq} @@ -779,7 +780,13 @@ SELECT COUNT(*) FROM CM_ASSET WHERE IN_DEL_FLAG=0 - AND VC_ASSET_ID="${value}" + AND VC_ASSET_ID = "${value}" + + + + + + + + + + + +