추가요구사항 반영
This commit is contained in:
parent
608a3a7a1b
commit
1b3dda7812
@ -12,11 +12,7 @@
|
||||
<attribute name="gradle_used_by_scope" value="main,test"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/openJDK16">
|
||||
<attributes>
|
||||
<attribute name="module" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-16/"/>
|
||||
<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.web.container"/>
|
||||
<classpathentry kind="con" path="org.eclipse.buildship.core.gradleclasspathcontainer">
|
||||
<attributes>
|
||||
|
||||
@ -97,6 +97,14 @@ dependencies
|
||||
implementation group: 'commons-io', name: 'commons-io', version: '2.6'
|
||||
|
||||
|
||||
// apache poi lib
|
||||
// implementation 'org.apache.poi:poi-ooxml:5.3.0'
|
||||
|
||||
// apache poi lib
|
||||
implementation 'org.apache.poi:poi:4.1.2'
|
||||
implementation 'org.apache.poi:poi-ooxml:4.1.2'
|
||||
implementation 'org.apache.poi:poi-scratchpad:4.1.2'
|
||||
implementation 'org.apache.poi:poi-examples:4.1.2'
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -70,6 +70,13 @@ public class urpBaseJspApplication
|
||||
System.out.println("############# keiti_prod Env ###################");
|
||||
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
|
||||
{
|
||||
System.out.println("################################################");
|
||||
|
||||
@ -1,7 +1,14 @@
|
||||
package com.urpsys.itmsfront.rem.controller;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.BufferedOutputStream;
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.PrintWriter;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@ -13,10 +20,12 @@ import javax.servlet.http.HttpServletResponse;
|
||||
import org.egovframe.rte.fdl.property.EgovPropertyService;
|
||||
import org.egovframe.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.core.env.Environment;
|
||||
import org.springframework.security.core.context.SecurityContextHolder;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.ModelMap;
|
||||
import org.springframework.util.FileCopyUtils;
|
||||
import org.springframework.validation.BindingResult;
|
||||
import org.springframework.web.bind.annotation.ModelAttribute;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
@ -31,9 +40,11 @@ import org.springmodules.validation.commons.DefaultBeanValidator;
|
||||
import com.urpsys.basefront.common.util.CommonUtil;
|
||||
import com.urpsys.basefront.common.util.ConvertUtils;
|
||||
import com.urpsys.basefront.common.util.RestApiCallUtil;
|
||||
import com.urpsys.basefront.common.egov.util.EgovBrowserUtil;
|
||||
import com.urpsys.basefront.common.egov.util.EgovDateUtil;
|
||||
import com.urpsys.basefront.common.egov.util.EgovFileMngUtil;
|
||||
import com.urpsys.basefront.common.egov.util.EgovStringUtil;
|
||||
import com.urpsys.basefront.common.egov.util.EgovWebUtil;
|
||||
import com.urpsys.basefront.common.service.CommonService;
|
||||
import com.urpsys.basefront.domain.ComDefaultVO;
|
||||
import com.urpsys.basefront.domain.FileVO;
|
||||
@ -47,6 +58,11 @@ import com.urpsys.itmsfront.rem.domain.AssetVo;
|
||||
import com.urpsys.itmsfront.rem.domain.InResourceManage;
|
||||
import com.urpsys.itmsfront.rem.domain.ResourceManage;
|
||||
|
||||
import org.apache.poi.ss.usermodel.Row;
|
||||
import org.apache.poi.ss.usermodel.Sheet;
|
||||
import org.apache.poi.ss.usermodel.Workbook;
|
||||
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
||||
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
@ -91,6 +107,8 @@ public class ResourceManagerController
|
||||
@Autowired
|
||||
private Environment env;
|
||||
|
||||
@Value("${custom.file_store}")
|
||||
private String storePathString; // 파일저장 물리적주소
|
||||
|
||||
/**
|
||||
* 자산 목록을 조회한다.
|
||||
@ -118,6 +136,19 @@ public class ResourceManagerController
|
||||
resourceManage.setLastIndex(paginationInfo.getLastRecordIndex());
|
||||
resourceManage.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
|
||||
|
||||
String strCurDate = EgovDateUtil.getToday();
|
||||
|
||||
if(resourceManage.getSdateEos() == null || resourceManage.getSdateEos().equals(""))
|
||||
{
|
||||
resourceManage.setSdateEos(EgovDateUtil.formatDate(EgovDateUtil.formatDate(EgovDateUtil.addMonth(strCurDate, -12), "-"), "-"));
|
||||
}
|
||||
|
||||
if(resourceManage.getEdateEos() == null || resourceManage.getEdateEos().equals(""))
|
||||
{
|
||||
resourceManage.setEdateEos(EgovDateUtil.formatDate("2999-12-31", "-"));
|
||||
}
|
||||
|
||||
|
||||
// Body Setting Start ---------------------------------
|
||||
bodyMap = ConvertUtils.convertToMapAll(resourceManage);
|
||||
// Body Setting End ---------------------------------
|
||||
@ -175,6 +206,212 @@ public class ResourceManagerController
|
||||
return "uritms-tiles2/rem/ResourceList";
|
||||
}
|
||||
|
||||
/**
|
||||
* 자산 목록을 조회한다.
|
||||
* @author urp 인프라본부 나혁제
|
||||
* 작성일 : 2025.01.31
|
||||
*/
|
||||
@RequestMapping("/rem/SelectResourceExecl.do")
|
||||
public void SelectResourceExCel( @ModelAttribute("resourceManage") ResourceManage resourceManage
|
||||
, ModelMap model
|
||||
, HttpServletRequest request
|
||||
, HttpServletResponse response ) throws Exception
|
||||
{
|
||||
log.info(">>>>>>>>>>>>>>> /rem/SelectResourceExecl.do <<<<<<<<<<<<<<<");
|
||||
|
||||
// api in/out map 정의
|
||||
Map<String, Object> bodyMap = new LinkedHashMap();
|
||||
Map<String, Object> returnMap = new LinkedHashMap();
|
||||
|
||||
// Body Setting Start ---------------------------------
|
||||
bodyMap = ConvertUtils.convertToMapAll(resourceManage);
|
||||
// Body Setting End ---------------------------------
|
||||
|
||||
// RestApi Call Start ---------------------------------
|
||||
returnMap = restApiCallUtil.RestApiCall(bodyMap, "/rem/searchAssetExcel.do");
|
||||
// RestApi Call End ---------------------------------
|
||||
|
||||
// Return Data Setting Start --------------------------
|
||||
List<Map<String, Object>> resultList = (List<Map<String, Object>>)returnMap.get("resultList");
|
||||
// Return Data Setting End --------------------------
|
||||
|
||||
String strFileNm = "assetExcelSave"+CommonUtil.getKST("yyyyMMddHHmmss")+".xlsx";
|
||||
|
||||
String filePath = storePathString + "/" +strFileNm;
|
||||
Workbook workbook = new XSSFWorkbook();
|
||||
Sheet sheet = workbook.createSheet("자산");
|
||||
|
||||
// 헤더 생성
|
||||
Row headerRow = sheet.createRow(0);
|
||||
|
||||
headerRow.createCell(0 ).setCellValue("자산번호");
|
||||
headerRow.createCell(1 ).setCellValue("대분류");
|
||||
headerRow.createCell(2 ).setCellValue("중분류");
|
||||
headerRow.createCell(3 ).setCellValue("소분류");
|
||||
headerRow.createCell(4 ).setCellValue("자산명");
|
||||
headerRow.createCell(5 ).setCellValue("도입일자");
|
||||
headerRow.createCell(6 ).setCellValue("제조사");
|
||||
headerRow.createCell(7 ).setCellValue("제품명");
|
||||
headerRow.createCell(8 ).setCellValue("도입가격");
|
||||
headerRow.createCell(9 ).setCellValue("자산상태");
|
||||
headerRow.createCell(10).setCellValue("유지보수여부");
|
||||
headerRow.createCell(11).setCellValue("유지보수요율");
|
||||
headerRow.createCell(12).setCellValue("유지보수점검주기");
|
||||
headerRow.createCell(13).setCellValue("유지보수시작일");
|
||||
headerRow.createCell(14).setCellValue("유지보수종료일");
|
||||
headerRow.createCell(15).setCellValue("버전");
|
||||
headerRow.createCell(16).setCellValue("시리얼");
|
||||
headerRow.createCell(17).setCellValue("호스트명");
|
||||
headerRow.createCell(18).setCellValue("EOS일");
|
||||
headerRow.createCell(19).setCellValue("용도");
|
||||
headerRow.createCell(20).setCellValue("비고");
|
||||
headerRow.createCell(21).setCellValue("IP");
|
||||
headerRow.createCell(22).setCellValue("CPU");
|
||||
headerRow.createCell(23).setCellValue("DISK");
|
||||
headerRow.createCell(24).setCellValue("MEM");
|
||||
headerRow.createCell(25).setCellValue("점검대상여부");
|
||||
headerRow.createCell(26).setCellValue("업무명");
|
||||
headerRow.createCell(27).setCellValue("무상유지보수시작일자");
|
||||
headerRow.createCell(28).setCellValue("무상유지보수종료일자");
|
||||
headerRow.createCell(29).setCellValue("라이센스종류");
|
||||
headerRow.createCell(30).setCellValue("라이센스종료일자");
|
||||
headerRow.createCell(31).setCellValue("EOL일자");
|
||||
headerRow.createCell(32).setCellValue("포트정보");
|
||||
headerRow.createCell(33).setCellValue("실사용자");
|
||||
|
||||
|
||||
// 데이터 입력
|
||||
int rowNum = 1;
|
||||
for(Map<String, Object> vo: resultList )
|
||||
{
|
||||
Row row = sheet.createRow(rowNum++);
|
||||
|
||||
row.createCell(0 ).setCellValue(vo.get("vcAssetId" )==null ? "" : (String)vo.get("vcAssetId" ));
|
||||
row.createCell(1 ).setCellValue(vo.get("vcCate1" )==null ? "" : (String)vo.get("vcCate1" ));
|
||||
row.createCell(2 ).setCellValue(vo.get("vcCate2" )==null ? "" : (String)vo.get("vcCate2" ));
|
||||
row.createCell(3 ).setCellValue(vo.get("vcCate3" )==null ? "" : (String)vo.get("vcCate3" ));
|
||||
row.createCell(4 ).setCellValue(vo.get("vcAssetName" )==null ? "" : (String)vo.get("vcAssetName" ));
|
||||
row.createCell(5 ).setCellValue(vo.get("dtPurchaseDatetime" )==null ? "" : (String)vo.get("dtPurchaseDatetime" ));
|
||||
row.createCell(6 ).setCellValue(vo.get("vcVendor" )==null ? "" : (String)vo.get("vcVendor" ));
|
||||
row.createCell(7 ).setCellValue(vo.get("vcModel" )==null ? "" : (String)vo.get("vcModel" ));
|
||||
row.createCell(8 ).setCellValue(vo.get("inPrice" )==null ? 0 : (int)vo.get("inPrice" ));
|
||||
row.createCell(9 ).setCellValue(vo.get("inAssetStatus" )==null ? "" : (String)vo.get("inAssetStatus" ));
|
||||
row.createCell(10).setCellValue(vo.get("inMasTarget" )==null ? "" : (String)vo.get("inMasTarget" ));
|
||||
row.createCell(11).setCellValue(vo.get("inMasRate" )==null ? 0 : (int)vo.get("inMasRate" ));
|
||||
row.createCell(12).setCellValue(vo.get("vcMasCheckPeriod" )==null ? "" : (String)vo.get("vcMasCheckPeriod" ));
|
||||
row.createCell(13).setCellValue(vo.get("dtMasStart" )==null ? "" : (String)vo.get("dtMasStart" ));
|
||||
row.createCell(14).setCellValue(vo.get("dtMasFinish" )==null ? "" : (String)vo.get("dtMasFinish" ));
|
||||
row.createCell(15).setCellValue(vo.get("vcVersion" )==null ? "" : (String)vo.get("vcVersion" ));
|
||||
row.createCell(16).setCellValue(vo.get("vcAssetSerial" )==null ? "" : (String)vo.get("vcAssetSerial" ));
|
||||
row.createCell(17).setCellValue(vo.get("vcHost" )==null ? "" : (String)vo.get("vcHost" ));
|
||||
row.createCell(18).setCellValue(vo.get("dtEos" )==null ? "" : (String)vo.get("dtEos" ));
|
||||
row.createCell(19).setCellValue(vo.get("txUsage" )==null ? "" : (String)vo.get("txUsage" ));
|
||||
row.createCell(20).setCellValue(vo.get("txAssetDesc" )==null ? "" : (String)vo.get("txAssetDesc" ));
|
||||
row.createCell(21).setCellValue(vo.get("vcIp" )==null ? "" : (String)vo.get("vcIp" ));
|
||||
row.createCell(22).setCellValue(vo.get("vcDtlCpu" )==null ? "" : (String)vo.get("vcDtlCpu" ));
|
||||
row.createCell(23).setCellValue(vo.get("vcDtlDisk" )==null ? "" : (String)vo.get("vcDtlDisk" ));
|
||||
row.createCell(24).setCellValue(vo.get("vcDtlMem" )==null ? "" : (String)vo.get("vcDtlMem" ));
|
||||
row.createCell(25).setCellValue(vo.get("vcChkTrgYn" )==null ? "" : (String)vo.get("vcChkTrgYn" ));
|
||||
row.createCell(26).setCellValue(vo.get("vcTaskNm" )==null ? "" : (String)vo.get("vcTaskNm" ));
|
||||
row.createCell(27).setCellValue(vo.get("vcNrwdMicnStrtDt" )==null ? "" : (String)vo.get("vcNrwdMicnStrtDt" ));
|
||||
row.createCell(28).setCellValue(vo.get("vcNrwdMicnEndDt" )==null ? "" : (String)vo.get("vcNrwdMicnEndDt" ));
|
||||
row.createCell(29).setCellValue(vo.get("vcLLicenseKnd" )==null ? "" : (String)vo.get("vcLLicenseKnd" ));
|
||||
row.createCell(30).setCellValue(vo.get("dtLLicenseEnd" )==null ? "" : (String)vo.get("dtLLicenseEnd" ));
|
||||
row.createCell(31).setCellValue(vo.get("dtEol" )==null ? "" : (String)vo.get("dtEol" ));
|
||||
row.createCell(32).setCellValue(vo.get("inPortInfo" )==null ? 0 : (int)vo.get("inPortInfo" ));
|
||||
row.createCell(33).setCellValue(vo.get("vcRealChargrNm" )==null ? "" : (String)vo.get("vcRealChargrNm" ));
|
||||
|
||||
/*
|
||||
row.createCell(0 ).setCellValue((String)vo.get("vcAssetId" ));
|
||||
row.createCell(1 ).setCellValue((String)vo.get("vcCate1" ));
|
||||
row.createCell(3 ).setCellValue((String)vo.get("vcCate2" ));
|
||||
row.createCell(4 ).setCellValue((String)vo.get("vcCate3" ));
|
||||
row.createCell(5 ).setCellValue((String)vo.get("vcAssetName" ));
|
||||
row.createCell(6 ).setCellValue((String)vo.get("dtPurchaseDatetime" ) );
|
||||
row.createCell(7 ).setCellValue((String)vo.get("vcVendor") );
|
||||
row.createCell(8 ).setCellValue((String)vo.get("vcModel") );
|
||||
row.createCell(9 ).setCellValue((int)vo.get("inPrice") );
|
||||
row.createCell(10).setCellValue((String)vo.get("inAssetStatus") );
|
||||
row.createCell(11).setCellValue((String)vo.get("inMasTarget") );
|
||||
row.createCell(12).setCellValue((int)vo.get("inMasRate") );
|
||||
row.createCell(13).setCellValue((String)vo.get("vcMasCheckPeriod") );
|
||||
row.createCell(14).setCellValue((String)vo.get("dtMasStart") );
|
||||
row.createCell(15).setCellValue((String)vo.get("dtMasFinish") );
|
||||
row.createCell(16).setCellValue((String)vo.get("vcVersion") );
|
||||
row.createCell(17).setCellValue((String)vo.get("vcAssetSerial") );
|
||||
row.createCell(18).setCellValue((String)vo.get("vcHost") );
|
||||
row.createCell(19).setCellValue((String)vo.get("dtEos") );
|
||||
row.createCell(20).setCellValue((String)vo.get("txUsage") );
|
||||
row.createCell(21).setCellValue((String)vo.get("txAssetDesc") );
|
||||
row.createCell(22).setCellValue((String)vo.get("vcIp") );
|
||||
row.createCell(23).setCellValue((String)vo.get("vcDtlCpu") );
|
||||
row.createCell(24).setCellValue((String)vo.get("vcDtlDisk") );
|
||||
row.createCell(25).setCellValue((String)vo.get("vcDtlMem") );
|
||||
row.createCell(26).setCellValue((String)vo.get("vcChkTrgYn") );
|
||||
row.createCell(27).setCellValue((String)vo.get("vcTaskNm") );
|
||||
row.createCell(28).setCellValue((String)vo.get("vcNrwdMicnStrtDt") );
|
||||
row.createCell(29).setCellValue((String)vo.get("vcNrwdMicnEndDt") );
|
||||
row.createCell(30).setCellValue((String)vo.get("vcLLicenseKnd") );
|
||||
row.createCell(31).setCellValue((String)vo.get("dtLLicenseEnd") );
|
||||
row.createCell(32).setCellValue((String)vo.get("dtEol") );
|
||||
row.createCell(33).setCellValue((String)vo.get("inPortInfo") );
|
||||
*/
|
||||
}
|
||||
|
||||
// 열 너비 자동 조정
|
||||
for (int i = 0; i < 4; i++)
|
||||
{
|
||||
sheet.autoSizeColumn(i);
|
||||
}
|
||||
|
||||
// 파일 저장
|
||||
try (FileOutputStream outputStream = new FileOutputStream(filePath))
|
||||
{
|
||||
workbook.write(outputStream);
|
||||
}
|
||||
|
||||
// 파일 다운로드
|
||||
File uFile = new File(filePath);
|
||||
|
||||
String mimetype = "application/x-msdownload";
|
||||
|
||||
String userAgent = request.getHeader("User-Agent");
|
||||
HashMap<String, String> result = EgovBrowserUtil.getBrowser(userAgent);
|
||||
|
||||
if (!EgovBrowserUtil.MSIE.equals(result.get(EgovBrowserUtil.TYPEKEY)))
|
||||
{
|
||||
mimetype = "application/x-stuff";
|
||||
}
|
||||
|
||||
String contentDisposition = EgovBrowserUtil.getDisposition(strFileNm, userAgent, "UTF-8");
|
||||
response.setContentType(mimetype);
|
||||
response.setHeader("Content-Disposition", contentDisposition);
|
||||
|
||||
BufferedInputStream in = null;
|
||||
BufferedOutputStream out = null;
|
||||
|
||||
try
|
||||
{
|
||||
in = new BufferedInputStream(new FileInputStream(uFile));
|
||||
out = new BufferedOutputStream(response.getOutputStream());
|
||||
|
||||
FileCopyUtils.copy(in, out);
|
||||
out.flush();
|
||||
}
|
||||
catch (IOException ex)
|
||||
{
|
||||
ex.printStackTrace();
|
||||
}
|
||||
finally
|
||||
{
|
||||
in.close();
|
||||
out.close();
|
||||
}
|
||||
|
||||
log.info("<<<<<<<<<<<<<<< /rem/SelectResourceExecl.do >>>>>>>>>>>>>>>");
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 자산이력 목록을 조회한다.
|
||||
* @author urp 인프라본부 나혁제
|
||||
|
||||
@ -87,6 +87,10 @@ public class AssetVo extends ComDefaultVO
|
||||
private String dtEol ;
|
||||
private String inPortInfo ;
|
||||
|
||||
// 2025.09.12 나혁제 추가정보
|
||||
private String vcRealChargrNm ; // 실사용자명
|
||||
private String inRealChargr ; // 실사용자ID
|
||||
|
||||
public String getInAssetSeq() {
|
||||
return inAssetSeq;
|
||||
}
|
||||
@ -423,6 +427,18 @@ public class AssetVo extends ComDefaultVO
|
||||
public void setInPortInfo(String inPortInfo) {
|
||||
this.inPortInfo = inPortInfo;
|
||||
}
|
||||
public String getVcRealChargrNm() {
|
||||
return vcRealChargrNm;
|
||||
}
|
||||
public void setVcRealChargrNm(String vcRealChargrNm) {
|
||||
this.vcRealChargrNm = vcRealChargrNm;
|
||||
}
|
||||
public String getInRealChargr() {
|
||||
return inRealChargr;
|
||||
}
|
||||
public void setInRealChargr(String inRealChargr) {
|
||||
this.inRealChargr = inRealChargr;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@ -77,6 +77,12 @@ public class ResourceManage extends ComDefaultVO
|
||||
private String assetId ;
|
||||
private String assetStat ;
|
||||
|
||||
// 2025.09.11 나혁제 조회조건 추가
|
||||
private String sdateEos ;
|
||||
private String edateEos ;
|
||||
// 2025.19.15 나혁제 조회조건 추가
|
||||
private String hidEosCheckYn;
|
||||
|
||||
public int getInAssetSeq() {
|
||||
return inAssetSeq;
|
||||
}
|
||||
@ -371,6 +377,24 @@ public class ResourceManage extends ComDefaultVO
|
||||
public void setAssetStat(String assetStat) {
|
||||
this.assetStat = assetStat;
|
||||
}
|
||||
public String getSdateEos() {
|
||||
return sdateEos;
|
||||
}
|
||||
public void setSdateEos(String sdateEos) {
|
||||
this.sdateEos = sdateEos;
|
||||
}
|
||||
public String getEdateEos() {
|
||||
return edateEos;
|
||||
}
|
||||
public void setEdateEos(String edateEos) {
|
||||
this.edateEos = edateEos;
|
||||
}
|
||||
public String getHidEosCheckYn() {
|
||||
return hidEosCheckYn;
|
||||
}
|
||||
public void setHidEosCheckYn(String hidEosCheckYn) {
|
||||
this.hidEosCheckYn = hidEosCheckYn;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
56
src/main/resources/application-kintex_prod.yml
Normal file
56
src/main/resources/application-kintex_prod.yml
Normal file
@ -0,0 +1,56 @@
|
||||
# Service port
|
||||
server:
|
||||
port: 443
|
||||
servlet:
|
||||
session:
|
||||
timeout: 120m
|
||||
cookie:
|
||||
name: BASEJSP_JSESSIONID
|
||||
ssl:
|
||||
enabled: true #Spring Security를 사용하는 경우 HTTPS 요청만 허용하도록 해주는 설정
|
||||
key-store-type: PKCS12
|
||||
key-store: classpath:sslkey/Wildcard.kintex.com_jks.jks
|
||||
key-store-password: 83641234
|
||||
|
||||
# Service port
|
||||
# server:
|
||||
# port: 11020
|
||||
# servlet:
|
||||
# session:
|
||||
# timeout: 120m
|
||||
# cookie:
|
||||
# name: BASEJSP_JSESSIONID
|
||||
|
||||
# JSP 설정
|
||||
spring:
|
||||
mvc:
|
||||
view:
|
||||
prefix: /WEB-INF/jsp/
|
||||
suffix: .jsp
|
||||
static-patn-pattern: /static/**
|
||||
|
||||
devtools:
|
||||
livereload:
|
||||
enabled: true
|
||||
|
||||
# custom 설정
|
||||
custom:
|
||||
path:
|
||||
phy_svy: /app/itsm_data/svy/
|
||||
loc_svy: /svy/image/
|
||||
file_store: /app/itsm_data/itsm_file_upload
|
||||
auth_server: http://localhost:11000
|
||||
api_server: http://localhost:11010
|
||||
# api_search_server: http://109.26.11.21:48381
|
||||
api_search_server: http://10.2.11.37:48381
|
||||
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
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
# Service port
|
||||
# Service port
|
||||
server:
|
||||
port: 11020
|
||||
servlet:
|
||||
|
||||
BIN
src/main/resources/sslkey/Wildcard.kintex.com_jks.jks
Normal file
BIN
src/main/resources/sslkey/Wildcard.kintex.com_jks.jks
Normal file
Binary file not shown.
@ -13,7 +13,7 @@ $.datepicker.setDefaults({
|
||||
changeMonth: true, //월변경가능
|
||||
changeYear: true, //년변경가능
|
||||
minDate: '',
|
||||
maxDate: '+800d',
|
||||
maxDate: '+1825d',
|
||||
yearSuffix: ''
|
||||
});
|
||||
|
||||
|
||||
@ -279,6 +279,33 @@
|
||||
// varFrom.submit();
|
||||
}
|
||||
|
||||
//----------------------------------------
|
||||
// 2025.09.12 나혁제
|
||||
// 담당자 검색 팝업
|
||||
// ----------------------------------------
|
||||
function fn_User_Search( strTitle
|
||||
, frmUniqId
|
||||
, frmEmplNo
|
||||
, frmEmplyrNm
|
||||
, frmOrgnztNm
|
||||
, multiUserSelectYn
|
||||
)
|
||||
{
|
||||
var arrParam = new Array(6);
|
||||
arrParam[0] = window;
|
||||
arrParam[1] = strTitle;
|
||||
arrParam[2] = frmUniqId;
|
||||
arrParam[3] = frmEmplNo;
|
||||
arrParam[4] = frmEmplyrNm;
|
||||
arrParam[5] = frmOrgnztNm;
|
||||
|
||||
var strUrl = "/cmm/selectUserListPopup.do?multiUserSelectYn="+multiUserSelectYn;
|
||||
|
||||
window.showModalDialog( "<c:url value='"+strUrl+"' />"
|
||||
, arrParam
|
||||
, "dialogWidth:900px;dialogHeight:750px;resizable:yes;center:yes");
|
||||
}
|
||||
|
||||
//----------------------------------------
|
||||
// 서블릿 통신
|
||||
// ----------------------------------------
|
||||
@ -636,8 +663,15 @@
|
||||
<td></td>
|
||||
|
||||
|
||||
<th></th>
|
||||
<th>실사용자</th>
|
||||
<td>
|
||||
<input type="text" name="vcRealChargrNm" id="vcRealChargrNm" value="${resultAsset.vcRealChargrNm}" style="width:80%;" />
|
||||
|
||||
<a href="<c:url value='/cmm/selectUserListPopup.do' />" target="_blank" title="새 창으로 이동" onclick="fn_User_Search('실사용자', 'inRealChargr', '', 'vcRealChargrNm', '', '');return false;">
|
||||
<img src="<c:url value='/egov/images/egovframework/com/cmm/btn/btn_search.gif' />" alt="담당자 검색" title="담당자 검색">
|
||||
</a>
|
||||
|
||||
<input type="hidden" name="inRealChargr" id="inRealChargr" value="${resultAsset.inRealChargr}" >
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
|
||||
@ -166,6 +166,9 @@
|
||||
<col style="width: 5%;" > <%-- 자산상태 --%>
|
||||
<col style="width: 5%;" > <%-- 유지보수비율 --%>
|
||||
<col style="width: 10%;" > <%-- 호스트명 --%>
|
||||
<col style="width: 10%;" > <%-- 2025.09.12 나혁제 추가 Eos 일자 --%>
|
||||
<col style="width: 10%;" > <%-- 2025.09.12 나혁제 추가 실사용자 --%>
|
||||
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
@ -179,6 +182,8 @@
|
||||
<th>자산상태</th>
|
||||
<th>유지보수비율</th>
|
||||
<th>호스트명</th>
|
||||
<th>EOS일자</th>
|
||||
<th>실사용자</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="ov">
|
||||
@ -310,6 +315,30 @@
|
||||
</td>
|
||||
</c:if>
|
||||
|
||||
<!-- 2025.09.12 나혁제 dtEos Eos 일자 -->
|
||||
<c:if test="${resource.dtEos == resourceList[status.index-1].dtEos}">
|
||||
<td>
|
||||
<c:out value="${resource.dtEos}"/>
|
||||
</td>
|
||||
</c:if>
|
||||
<c:if test="${resource.dtEos ne resourceList[status.index-1].dtEos}">
|
||||
<td style="color: red;font-weight: bold;">
|
||||
<c:out value="${resource.dtEos}"/>
|
||||
</td>
|
||||
</c:if>
|
||||
|
||||
<!-- 2025.09.12 나혁제 vcRealChrgrNm 실사용자 -->
|
||||
<c:if test="${resource.vcRealChrgrNm == resourceList[status.index-1].vcRealChrgrNm}">
|
||||
<td>
|
||||
<c:out value="${resource.vcRealChrgrNm}"/>
|
||||
</td>
|
||||
</c:if>
|
||||
<c:if test="${resource.vcRealChrgrNm ne resourceList[status.index-1].vcRealChrgrNm}">
|
||||
<td style="color: red;font-weight: bold;">
|
||||
<c:out value="${resource.vcRealChrgrNm}"/>
|
||||
</td>
|
||||
</c:if>
|
||||
|
||||
</tr>
|
||||
</c:forEach>
|
||||
|
||||
|
||||
@ -37,6 +37,8 @@
|
||||
<script type="text/javascript" src="<c:url value='/egov/js/EgovMultiFiles.js'/>" ></script>
|
||||
<script type="text/javascript" src="<c:url value="/validator.do"/>"></script>
|
||||
|
||||
<script type="text/javascript" src="<c:url value='/egov/js/showModalDialog.js'/>" ></script>
|
||||
|
||||
<validator:javascript formName="resourceManage" staticJavascript="false" xhtml="true" cdata="false"/>
|
||||
|
||||
<script type="text/javaScript" language="javascript">
|
||||
@ -154,6 +156,33 @@
|
||||
$('#vcGrpId').val(strGroupId);
|
||||
}
|
||||
|
||||
//----------------------------------------
|
||||
// 2025.09.12 나혁제
|
||||
// 담당자 검색 팝업
|
||||
// ----------------------------------------
|
||||
function fn_User_Search( strTitle
|
||||
, frmUniqId
|
||||
, frmEmplNo
|
||||
, frmEmplyrNm
|
||||
, frmOrgnztNm
|
||||
, multiUserSelectYn
|
||||
)
|
||||
{
|
||||
var arrParam = new Array(6);
|
||||
arrParam[0] = window;
|
||||
arrParam[1] = strTitle;
|
||||
arrParam[2] = frmUniqId;
|
||||
arrParam[3] = frmEmplNo;
|
||||
arrParam[4] = frmEmplyrNm;
|
||||
arrParam[5] = frmOrgnztNm;
|
||||
|
||||
var strUrl = "/cmm/selectUserListPopup.do?multiUserSelectYn="+multiUserSelectYn;
|
||||
|
||||
window.showModalDialog( "<c:url value='"+strUrl+"' />"
|
||||
, arrParam
|
||||
, "dialogWidth:900px;dialogHeight:750px;resizable:yes;center:yes");
|
||||
}
|
||||
|
||||
// 서블릿 통신
|
||||
var proc =
|
||||
{
|
||||
@ -525,9 +554,15 @@
|
||||
<th></th>
|
||||
<td></td>
|
||||
|
||||
|
||||
<th></th>
|
||||
<th>실사용자</th>
|
||||
<td>
|
||||
<input type="text" name="vcRealChargrNm" id="vcRealChargrNm" value="" style="width:80%;" />
|
||||
|
||||
<a href="<c:url value='/cmm/selectUserListPopup.do' />" target="_blank" title="새 창으로 이동" onclick="fn_User_Search('실사용자', 'inRealChargr', '', 'vcRealChargrNm', '', '');return false;">
|
||||
<img src="<c:url value='/egov/images/egovframework/com/cmm/btn/btn_search.gif' />" alt="담당자 검색" title="담당자 검색">
|
||||
</a>
|
||||
|
||||
<input type="hidden" name="inRealChargr" id="inRealChargr" value="" >
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
|
||||
@ -39,6 +39,9 @@
|
||||
// ----------------------------------------
|
||||
$(document).ready(function()
|
||||
{
|
||||
// 2025.09.11 나혁제 추가조건
|
||||
$("#sdateEos, #edateEos").datepicker();
|
||||
|
||||
// 대분류 조건이 있는경우
|
||||
if('${resourceManage.inCate1}' != '')
|
||||
{
|
||||
@ -74,6 +77,16 @@
|
||||
// ----------------------------------------
|
||||
function linkPage(pageIndex)
|
||||
{
|
||||
// 2025.09.15 나혁제 EOS 만료여부 추가
|
||||
if($("#chkEosCheckYn").is(":checked"))
|
||||
{
|
||||
document.listForm.hidEosCheckYn.value = "1";
|
||||
}
|
||||
else
|
||||
{
|
||||
document.listForm.hidEosCheckYn.value = "0";
|
||||
}
|
||||
|
||||
document.listForm.searchCondition.value = "1";
|
||||
document.listForm.pageIndex.value = pageIndex;
|
||||
document.listForm.action = "<c:url value='/rem/SelectResource.do'/>";
|
||||
@ -152,6 +165,18 @@
|
||||
document.listForm.submit();
|
||||
}
|
||||
|
||||
//----------------------------------------
|
||||
// 자산 목록 다운로드
|
||||
// ----------------------------------------
|
||||
function ExcelSave()
|
||||
{
|
||||
document.listForm.action = "<c:url value='/rem/SelectResourceExecl.do'/>";
|
||||
document.listForm.submit();
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
//서블릿 통신
|
||||
@ -299,14 +324,41 @@
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<label>EOS 일자 </label>
|
||||
<input type="text" class="btn_calendar" name="sdateEos" id="sdateEos"
|
||||
maxlength="10" value="${resourceManage.sdateEos}" title="EOS일 시작일" readonly style="width:200px;" />
|
||||
~
|
||||
<input type="text" class="btn_calendar" name="edateEos" id="edateEos"
|
||||
maxlength="10" value="${resourceManage.edateEos}" title="EOS일 종료" readonly style="width:200px" />
|
||||
|
||||
|
||||
<label class="checkbox_label">
|
||||
<input type="checkbox" id="chkEosCheckYn" name="chkEosCheckYn" <c:if test="${resourceManage.hidEosCheckYn eq '1' }"> checked="checked" </c:if> > EOS 만료여부
|
||||
<span class="checkbox_icon"></span>
|
||||
</label>
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="btnArea">
|
||||
<button type="button" class="btn-search" onclick="fncSearchResourceList(); return false;" title="조회">조회</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!--//검색 :e -->
|
||||
|
||||
<%--
|
||||
<div class="searchArea single-row" style="border: 0;background: bottom;">
|
||||
<div class="btnArea">
|
||||
<button type="button" class="btn-search" onclick="fileDlgOpen(); return false;" style="height:40px;width:200px;" "title="">파일데이터 로딩</button>
|
||||
</div>
|
||||
</div>
|
||||
--%>
|
||||
|
||||
<!-- tbl list : start -->
|
||||
<div class="tbl_list" >
|
||||
|
||||
@ -314,16 +366,17 @@
|
||||
<table class="table" summary="<spring:message code="common.summary.list" arguments="자산관리" />">
|
||||
<caption>자산관리 <spring:message code="title.list" /></caption>
|
||||
<colgroup>
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 7%;" > <!-- 대분류 -->
|
||||
<col style="width: 7%;" > <!-- 중분류 -->
|
||||
<col style="width: 8%;" > <!-- 소분류 -->
|
||||
<col style="width: 10%;" > <!-- 자산번호 -->
|
||||
<col style="width: *;" > <!-- 자산명 -->
|
||||
<col style="width: 5%;" > <!-- 상태 -->
|
||||
<col style="width: 10%;" > <!-- 호스트명 -->
|
||||
<col style="width: 10%;" > <!-- 제조사 -->
|
||||
<col style="width: 10%;" > <!-- 모델 -->
|
||||
<col style="width: 8%;" > <!-- 유지보수대상 -->
|
||||
<col style="width: 8%;" > <!-- EOS일자 -->
|
||||
|
||||
</colgroup>
|
||||
<thead>
|
||||
@ -338,6 +391,7 @@
|
||||
<th>제조사</th>
|
||||
<th>모델</th>
|
||||
<th>유지보수대상</th>
|
||||
<th>EOS일자</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="ov">
|
||||
@ -361,6 +415,8 @@
|
||||
<td><c:out value="${resource.vcVendor}"/></td>
|
||||
<td><c:out value="${resource.vcModel}"/></td>
|
||||
<td><c:out value="${resource.inMasTarget}"/></td>
|
||||
<td><c:out value="${resource.dtEos}"/></td>
|
||||
|
||||
|
||||
</tr>
|
||||
</c:forEach>
|
||||
@ -381,6 +437,9 @@
|
||||
<!-- main btn : start -->
|
||||
<div class="btn_group">
|
||||
<div>
|
||||
<button type="button" id="btnUpdate" class="btn-function" title="파일저장" onclick="ExcelSave(); return false;">
|
||||
자산정보 파일저장
|
||||
</button>
|
||||
<button type="button" class="btn-function" title="등록" onclick="fncAddResourceInsert(); return false;" ><spring:message code="button.create" /> <!-- 등록 -->
|
||||
|
||||
</div>
|
||||
@ -398,4 +457,5 @@
|
||||
<input type="hidden" name="inAssetSeq" value="0" />
|
||||
<input type="hidden" name="pageIndex" value="<c:out value='${resourceManage.pageIndex}'/>"/>
|
||||
<input type="hidden" name="searchCondition" value="1"/>
|
||||
<input type="hidden" name="hidEosCheckYn" value="${resourceManage.hidEosCheckYn}"/>
|
||||
</form:form>
|
||||
|
||||
@ -367,7 +367,7 @@
|
||||
var vcDtlMem = $.trim(rows[i].MEM ) +"";
|
||||
var vcChkTrgYn = $.trim(rows[i].점검대상여부 ) +"";
|
||||
|
||||
// 2025.09.01 나혀겢 자산 추가속성
|
||||
// 2025.09.01 나혁제 자산 추가속성
|
||||
var vcTaskNm = $.trim(rows[i].업무명 ) +"";
|
||||
var vcNrwdMicnStrtDt = $.trim(rows[i].무상유지보수시작일자 ) +"";
|
||||
var vcNrwdMicnEndDt = $.trim(rows[i].무상유지보수종료일자 ) +"";
|
||||
|
||||
Loading…
Reference in New Issue
Block a user