kic 추가요구사항 반영

This commit is contained in:
nhj 2025-09-01 18:21:13 +09:00
parent 7ab156463b
commit 608a3a7a1b
13 changed files with 583 additions and 282 deletions

View File

@ -16,7 +16,10 @@ import javax.servlet.http.HttpServletRequest;
import org.codehaus.jettison.json.JSONException;
import org.codehaus.jettison.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.env.Environment;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.stereotype.Component;
import com.urpsys.basefront.common.exception.CustomException;
import com.urpsys.basefront.domain.MemberVO;
@ -43,6 +46,7 @@ import com.urpsys.basefront.domain.TokenInfo;
public class CommonUtil
{
/**
* nvl 메소드
* @param inputStr
@ -655,6 +659,19 @@ public class CommonUtil
}
}
/**
* 2025.08.29 나혁제 환경정보 추출
*/
public static String getEnvData(Environment env, String strProp)
{
String strReturn = env.getProperty(strProp);
if(strReturn == null) strReturn ="";
return strReturn;
}

View File

@ -116,15 +116,15 @@ public class MainController
// 에러메세지 생성
if(srError[0].equals("-1"))
{
strErrorMsg = "고객님의 아이디는 3회 로그인 오류로 인해 잠금처리 되었습니다. \n 시스템 관리자에게 연락해 주세요.";
strErrorMsg = "고객님의 아이디는 5회 로그인 오류로 인해 잠금처리 되었습니다. 시스템 관리자에게 연락해 주세요.";
}
else if(srError[0].equals("-2"))
{
strErrorMsg = "아이디 혹은 비밀번호을 확인해주세요.";
strErrorMsg = "아이디 혹은 비밀번호을 확인해주세요. 5회 로그인 오류인경우 아이디가 잠금처리가 됩니다.";
}
else if(srError[0].equals("-3"))
{
strErrorMsg = "아이디 혹은 비밀번호을 확인해주세요.";
strErrorMsg = "아이디 혹은 비밀번호을 확인해주세요. 5회 로그인 오류인경우 아이디가 잠금처리가 됩니다.";
}
else
{

View File

@ -13,6 +13,7 @@ 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.core.env.Environment;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
@ -27,6 +28,7 @@ import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
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.EgovDateUtil;
@ -85,7 +87,9 @@ public class ResourceManagerController
@Resource(name="RestApiCallUtil")
private RestApiCallUtil restApiCallUtil;
// 2025.08.29 나혁제 환경정보 추출
@Autowired
private Environment env;
/**
@ -286,8 +290,15 @@ public class ResourceManagerController
String datePicker_dtMasStart = EgovDateUtil.formatDate(strCurDate, "-");
String datePicker_dtMasFinish = EgovDateUtil.formatDate(EgovDateUtil.addMonth(strCurDate, 12), "-");
// 2025.09.01 나혁제 무상유지보수기산 추가
String dateNrwdMicnStrtDt = EgovDateUtil.formatDate(strCurDate, "-");
String dateNrwdMicnEndDt = EgovDateUtil.formatDate(EgovDateUtil.addMonth(strCurDate, 12), "-");
String datePicker_DT_EOS = EgovDateUtil.formatDate("2999-12-31", "-");
// 2025.09.01 나혁제 추가사항
String dtLLicenseEnd = EgovDateUtil.formatDate(EgovDateUtil.addMonth(strCurDate, 12), "-");
String dtEol = EgovDateUtil.formatDate(EgovDateUtil.addMonth(strCurDate, 12), "-");
model.addAttribute("resultCate1", resultCate1); // 자산대분류
model.addAttribute("resultCate2", resultCate2); // 자산중분류
@ -301,6 +312,10 @@ public class ResourceManagerController
model.addAttribute("dtMasStart" , datePicker_dtMasStart);
model.addAttribute("dtMasFinish" , datePicker_dtMasFinish);
model.addAttribute("dtEos" , datePicker_DT_EOS);
model.addAttribute("dateNrwdMicnStrtDt" , dateNrwdMicnStrtDt);
model.addAttribute("dateNrwdMicnEndDt" , dateNrwdMicnEndDt);
model.addAttribute("dtLLicenseEnd" , dtLLicenseEnd);
model.addAttribute("dtEol" , dtEol);
log.info("<<<<<<<<<<<<<<< /rem/insertViewResource.do >>>>>>>>>>>>>>>");
@ -398,7 +413,7 @@ public class ResourceManagerController
// RestApi Call End ---------------------------------
resBody.put("resultCd" , "0" );
resBody.put("resultMsg" , "정상" );
resBody.put("resultMsg" , "정상" );
log.info("<<<<<<<<<<<<<<< /rem/insertResource.do >>>>>>>>>>>>>>>");

View File

@ -131,12 +131,15 @@ public class ResourceMutilManagerController
chglistComCode = ConvertUtils.convertToValueObjects(listComCode, ComDefaultCodeVO.class);
// 공통코드 추출 End -------------------- //
// json 데이터로 변환
// 2025.09.01 나혁제 현재일자 추가
String strCurDate = EgovDateUtil.formatDate(EgovDateUtil.getToday(), "-");
// json 데이터로 변환
model.addAttribute("resultCate1" , ConvertUtils.getJsonFromList(resultCate1)); // 자산대분류
model.addAttribute("resultCate2" , ConvertUtils.getJsonFromList(resultCate2)); // 자산중분류
model.addAttribute("resultCate3" , ConvertUtils.getJsonFromList(resultCate3)); // 자산소분류
model.addAttribute("cdid_sm001" , ConvertUtils.getJsonFromList(listComCode)); // 자산상태
model.addAttribute("strCurDate" , strCurDate); // 현재일자
// 자산분류코드 추출 End -------------------- //
log.info("<<<<<<<<<<<<<<< /rem/MultiResourceView.do >>>>>>>>>>>>>>>");

View File

@ -78,6 +78,15 @@ public class AssetVo extends ComDefaultVO
private String vcDtlDisk ;
private String vcDtlMem ;
// 2025.09.01 나혁제 추가정보
private String vcTaskNm ;
private String vcNrwdMicnStrtDt ;
private String vcNrwdMicnEndDt ;
private String vcLLicenseKnd ;
private String dtLLicenseEnd ;
private String dtEol ;
private String inPortInfo ;
public String getInAssetSeq() {
return inAssetSeq;
}
@ -372,6 +381,49 @@ public class AssetVo extends ComDefaultVO
public void setVcChkTrgYn(String vcChkTrgYn) {
this.vcChkTrgYn = vcChkTrgYn;
}
public String getVcTaskNm() {
return vcTaskNm;
}
public void setVcTaskNm(String vcTaskNm) {
this.vcTaskNm = vcTaskNm;
}
public String getVcNrwdMicnStrtDt() {
return vcNrwdMicnStrtDt;
}
public void setVcNrwdMicnStrtDt(String vcNrwdMicnStrtDt) {
this.vcNrwdMicnStrtDt = vcNrwdMicnStrtDt;
}
public String getVcNrwdMicnEndDt() {
return vcNrwdMicnEndDt;
}
public void setVcNrwdMicnEndDt(String vcNrwdMicnEndDt) {
this.vcNrwdMicnEndDt = vcNrwdMicnEndDt;
}
public String getVcLLicenseKnd() {
return vcLLicenseKnd;
}
public void setVcLLicenseKnd(String vcLLicenseKnd) {
this.vcLLicenseKnd = vcLLicenseKnd;
}
public String getDtLLicenseEnd() {
return dtLLicenseEnd;
}
public void setDtLLicenseEnd(String dtLLicenseEnd) {
this.dtLLicenseEnd = dtLLicenseEnd;
}
public String getDtEol() {
return dtEol;
}
public void setDtEol(String dtEol) {
this.dtEol = dtEol;
}
public String getInPortInfo() {
return inPortInfo;
}
public void setInPortInfo(String inPortInfo) {
this.inPortInfo = inPortInfo;
}

View File

@ -30,6 +30,9 @@
<field property="inMasRate" depends="integer">
<arg0 key="유지보수요율" resource="true"/>
</field>
<field property="inPortInfo" depends="integer">
<arg0 key="포트정보" resource="true"/>
</field>
</form>
<!-- 서비스 정보 -->

View File

@ -54,7 +54,7 @@
var multi_selector = new MultiSelector( document.getElementById( 'egovComFileList' ), maxFileNum );
multi_selector.addElement( document.getElementById( 'egovComFileUploader' ) );
$("#dtPurchaseDatetime, #dtMasStart, #dtMasFinish, #datePicker_DT_EOS").datepicker();
$("#dtPurchaseDatetime, #dtMasStart, #dtMasFinish, #dtEos, #vcNrwdMicnStrtDt, #vcNrwdMicnEndDt, #dtLLicenseEnd, #dtEol ").datepicker();
// 파일정보가 없는경우 안보임처리
<c:if test="${memoReprt.atchFileId ne null || memoReprt.atchFileId ne '' }">
@ -446,7 +446,7 @@
<col style="width: 20%">
<col style="width: 11%">
<col style="width: 20%;">
<col style="width: 10%">
<col style="width: 11%">
<col style="width: *;">
</colgroup>
<tbody>
@ -456,7 +456,7 @@
<th>도입일자</th>
<td>
<input type="text" class="btn_calendar" name="dtPurchaseDatetime" id="dtPurchaseDatetime"
maxlength="10" value="${resultAsset.dtPurchaseDatetime}" title="도입일자" readonly style="width:80%;" />
maxlength="10" value="${resultAsset.dtPurchaseDatetime}" title="도입일자" readonly style="width:90%;" />
</td>
<th>분류</th>
<td>
@ -479,49 +479,35 @@
</select>
</td>
</tr>
<tr>
<th>자산명</th>
<td><input type="text" name="vcAssetName" id="vcAssetName" value="${resultAsset.vcAssetName}"/></td>
<th>제조사</th>
<td><input type="text" name="vcVendor" id="vcVendor" value="${resultAsset.vcVendor}"/></td>
<td><input type="text" name="vcAssetName" id="vcAssetName" value="${resultAsset.vcAssetName}" style="width:90%;" /></td>
<th>제품명</th>
<td><input type="text" name="vcModel" id="vcModel" value="${resultAsset.vcModel}"/></td>
<td><input type="text" name="vcModel" id="vcModel" value="${resultAsset.vcModel}" style="width:90%;" /></td>
<th>업무명</th> <%--2025.09.01 나혁제 추가 --%>
<td><input type="text" name="vcTaskNm" id="vcTaskNm" value="${resultAsset.vcTaskNm}" style="width:90%;" /></td>
</tr>
<tr>
<th>제조사</th>
<td><input type="text" name="vcVendor" id="vcVendor" value="${resultAsset.vcVendor}" style="width:90%;" /></td>
<th>제품버전</th>
<td><input type="text" name="vcVersion" id="vcVersion" value="${resultAsset.vcVersion}" style="width:90%;" /></td>
<th>제품번호</th>
<td><input type="text" name="vcAssetSerial" id="vcAssetSerial" value="${resultAsset.vcAssetSerial}" style="width:90%;" /></td>
</tr>
<tr>
<th>도입금액</th>
<td><input type="text" name="inPrice" id="inPrice" value="${resultAsset.inPrice}"/></td>
<th>자산상태</th>
<th>유지보수 대상유무</th>
<td>
<select name="inAssetStatus" id="inAssetStatus" style="width: 130px;" >
<c:forEach items="${SM_001_result}" var="result" varStatus="status">
<option value="${result.code}" <c:if test="${result.code == resultAsset.inAssetStatus}">selected</c:if> > ${result.codeNm} </option>
</c:forEach>
</select>
</td>
<th>유지보수여부</th>
<td>
<select name="inMasTarget" id="inMasTarget" style="width:100px;">
<select name="inMasTarget" id="inMasTarget" style="width:90%;" >
<option value="0" <c:if test="${resultAsset.inMasTarget == 0}">selected</c:if> >N</option>
<option value="1" <c:if test="${resultAsset.inMasTarget == 1}">selected</c:if> >Y</option>
</select>
</td>
</tr>
<tr>
<th>유지보수요율</th>
<td><input type="text" name="inMasRate" id="inMasRate" value="${resultAsset.inMasRate}"/> %</td>
<th>유지보수점검주기</th>
<td>
<select name="vcMasCheckPeriod" id="vcMasCheckPeriod">
<option value="매월" <c:if test="${resultAsset.vcMasCheckPeriod == '매월'}">selected</c:if> >매월</option>
<option value="격월" <c:if test="${resultAsset.vcMasCheckPeriod == '격월'}">selected</c:if> >격월</option>
<option value="분기" <c:if test="${resultAsset.vcMasCheckPeriod == '분기'}">selected</c:if> >분기</option>
<option value="반기" <c:if test="${resultAsset.vcMasCheckPeriod == '반기'}">selected</c:if> >반기</option>
<option value="요청/장애 시" <c:if test="${resultAsset.vcMasCheckPeriod == '요청/장애 시'}">selected</c:if> >요청/장애 시</option>
<option value="퍼콜" <c:if test="${resultAsset.vcMasCheckPeriod == '퍼콜'}">selected</c:if> >퍼콜</option>
<option value="기타" <c:if test="${resultAsset.vcMasCheckPeriod == '기타'}">selected</c:if> >기타</option>
</select>
</td>
<th>유지보수기간</th>
<td>
<input type="text" class="btn_calendar" name="dtMasStart" id="dtMasStart"
@ -529,12 +515,100 @@
~<input type="text" class="btn_calendar" name="dtMasFinish" id="dtMasFinish"
maxlength="10" value="${resultAsset.dtMasFinish}" title="유지보수기간 종료일" readonly style="width:130px;" />
</td>
<%--
<th>자산상태</th>
<td>
<select name="inAssetStatus" id="inAssetStatus" style="width: 130px;" >
<c:forEach items="${SM_001_result}" var="result" varStatus="status">
<option value="${result.code}" <c:if test="${result.code == resultAsset.inAssetStatus}">selected</c:if> > ${result.codeNm} </option>
</c:forEach>
</select>
</td>
--%>
</tr>
<tr>
<th>버전</th>
<td><input type="text" name="vcVersion" id="vcVersion" value="${resultAsset.vcVersion}"/></td>
<th>시리얼</th>
<td><input type="text" name="vcAssetSerial" id="vcAssetSerial" value="${resultAsset.vcAssetSerial}"/></td>
<th>유지보수요율</th>
<td><input type="text" name="inMasRate" id="inMasRate" value="${resultAsset.inMasRate}"/> %</td>
<th>유지보수주기</th>
<td>
<select name="vcMasCheckPeriod" id="vcMasCheckPeriod" style="width: 90%">
<option value="매월" <c:if test="${resultAsset.vcMasCheckPeriod == '매월'}">selected</c:if> >매월</option>
<option value="격월" <c:if test="${resultAsset.vcMasCheckPeriod == '격월'}">selected</c:if> >격월</option>
<option value="분기" <c:if test="${resultAsset.vcMasCheckPeriod == '분기'}">selected</c:if> >분기</option>
<option value="반기" <c:if test="${resultAsset.vcMasCheckPeriod == '반기'}">selected</c:if> >반기</option>
<option value="요청/장애 시" <c:if test="${resultAsset.vcMasCheckPeriod == '요청/장애 시'}">selected</c:if> >요청/장애 시</option>
<option value="퍼콜" <c:if test="${resultAsset.vcMasCheckPeriod == '퍼콜'}">selected</c:if> >퍼콜</option>
<option value="기타" <c:if test="${resultAsset.vcMasCheckPeriod == '기타'}">selected</c:if> >기타</option>
</select>
</td>
<th>무상유지보수기간</th>
<td>
<input type="text" class="btn_calendar" name="vcNrwdMicnStrtDt" id="vcNrwdMicnStrtDt"
maxlength="10" value="${resultAsset.vcNrwdMicnStrtDt}" title="무상유지보수기간 시작일" readonly style="width:130px;" />
~ <input type="text" class="btn_calendar" name="vcNrwdMicnEndDt" id="vcNrwdMicnEndDt"
maxlength="10" value="${resultAsset.vcNrwdMicnStrtDt}" title="무상유지보수기간 종료일" readonly style="width:130px;" />
</td>
</tr>
<%-- 2025.08.29 나혁제 kic 추가 속성 --%>
<tr>
<th>라이센스 종류</th>
<td><input type="text" name="vcLLicenseKnd" id="vcLLicenseKnd" value="${resultAsset.vcLLicenseKnd}"/></td>
<th>라이센스 만료일자</th>
<td>
<input type="text" class="btn_calendar" name="dtLLicenseEnd" id="dtLLicenseEnd"
maxlength="10" value="${resultAsset.dtLLicenseEnd}" title="라이센스 만료일자" readonly style="width:90%;" />
</td>
<th>EOS일자</th>
<td>
<input type="text" class="btn_calendar" name="dtEos" id="dtEos"
maxlength="10" value="${resultAsset.dtEos}" title="EOS일" readonly style="width:80%;" />
</td>
</tr>
<tr>
<th>호스트명</th>
<td><input type="text" name="vcHost" id="vcHost" value="${resultAsset.vcHost}"/></td>
<th>자산상태</th>
<td>
<select name="inAssetStatus" id="inAssetStatus" style="width:90%;" >
<c:forEach items="${SM_001_result}" var="result" varStatus="status">
<option value="${result.code}" <c:if test="${result.code == resultAsset.inAssetStatus}">selected</c:if> > ${result.codeNm} </option>
</c:forEach>
</select>
</td>
<th>EOL일자</th>
<td>
<input type="text" class="btn_calendar" name="dtEol" id="dtEol"
maxlength="10" value="${resultAsset.dtEol}" title="EOS일" readonly style="width:90%;" />
</td>
</tr>
<!-- 2025.08.19 나혁제 자산정보추가 Start -->
<tr>
<th>CPU</th>
<td><input type="text" name="vcDtlCpu" id="vcHost" value="${resultAsset.vcDtlCpu}" style="width:90%;" /></td>
<th>DISK</th>
<td><input type="text" name="vcDtlDisk" id="vcHost" value="${resultAsset.vcDtlDisk}" style="width:90%;" /></td>
<th>MEM</th>
<td><input type="text" name="vcDtlMem" id="vcHost" value="${resultAsset.vcDtlMem}" style="width:90%;" /></td>
</tr>
<tr>
<th>IP 주소</th>
<td><input type="text" name="vcIp" id="vcIp" value="${resultAsset.vcIp}" style="width:90%;" /></td>
<th>포트정보</th>
<td>
<input type="text" name="inPortInfo" id="inPortInfo" value="${resultAsset.inPortInfo}" style="width:90%;" />
</td>
<th>관리그룹</th>
<td>
<input type="text" name="vcGrpNm" id="vcGrpNm" value="${resultAsset.vcGrpNm}" style="width:80%;" />
@ -544,17 +618,11 @@
</a>
<input type="hidden" name="vcGrpId" id="vcGrpId" value="${resultAsset.vcGrpId}" >
</td>
</tr>
<!-- 2025.08.19 나혁제 자산정보추가 End -->
<tr>
<th>호스트명</th>
<td><input type="text" name="vcHost" id="vcHost" value="${resultAsset.vcHost}"/></td>
<th>EOS일</th>
<td>
<input type="text" class="btn_calendar" name="dtEos" id="dtEos"
maxlength="10" value="${resultAsset.dtEos}" title="EOS일" readonly style="width:80%;" />
</td>
<%-- 2025.08.18 나혁제 추가 --%>
<th>점검대상여부</th>
<td>
@ -563,29 +631,17 @@
<option value="Y" <c:if test="${resultAsset.vcChkTrgYn == 'Y'}">selected</c:if> >대상</option>
</select>
</td>
</tr>
<!-- 2025.08.19 나혁제 자산정보추가 Start -->
<tr>
<th>상세 CPU</th>
<td><input type="text" name="vcDtlCpu" id="vcHost" value="${resultAsset.vcDtlCpu}" style="width:90%;" /></td>
<th>상세 DISK</th>
<td><input type="text" name="vcDtlDisk" id="vcHost" value="${resultAsset.vcDtlDisk}" style="width:90%;" /></td>
<th>상세 MEM</th>
<td><input type="text" name="vcDtlMem" id="vcHost" value="${resultAsset.vcDtlMem}" style="width:90%;" /></td>
</tr>
<tr>
<th>IP ADDRESS</th>
<td><input type="text" name="vcIp" id="vcIp" value="${resultAsset.vcIp}" style="width:90%;" /></td>
<th></th>
<td></td>
<th></th>
<td></td>
<td>
</td>
</tr>
<!-- 2025.08.19 나혁제 자산정보추가 End -->
<tr>
<th>용도</th>
@ -689,9 +745,6 @@
</td>
</tr>
</tbody>
</table>

View File

@ -50,7 +50,7 @@
var multi_selector = new MultiSelector( document.getElementById( 'egovComFileList' ), maxFileNum );
multi_selector.addElement( document.getElementById( 'egovComFileUploader' ) );
$("#dtPurchaseDatetime, #dtMasStart, #dtMasFinish, #dtEos").datepicker();
$("#dtPurchaseDatetime, #dtMasStart, #dtMasFinish, #dtEos, #vcNrwdMicnStrtDt, #vcNrwdMicnEndDt, #dtLLicenseEnd, #dtEol").datepicker();
});
//----------------------------------------
@ -330,7 +330,7 @@
<col style="width: 20%">
<col style="width: 11%">
<col style="width: 20%;">
<col style="width: 10%">
<col style="width: 11%">
<col style="width: *;">
</colgroup>
<tbody>
@ -340,7 +340,7 @@
<th>도입일자</th>
<td>
<input type="text" class="btn_calendar" name="dtPurchaseDatetime" id="dtPurchaseDatetime"
maxlength="10" value="${dtPurchaseDatetime}" title="도입일자" readonly style="width:80%;" />
maxlength="10" value="${dtPurchaseDatetime}" title="도입일자" readonly style="width:90%;" />
</td>
<th>분류</th>
<td>
@ -365,38 +365,61 @@
</tr>
<tr>
<th>자산명</th>
<td><input type="text" name="vcAssetName" id="vcAssetName" value=""/></td>
<th>제조사</th>
<td><input type="text" name="vcVendor" id="vcVendor" value=""/></td>
<td><input type="text" name="vcAssetName" id="vcAssetName" value="" style="width:90%;" /></td>
<th>제품명</th>
<td><input type="text" name="vcModel" id="vcModel" value=""/></td>
<td><input type="text" name="vcModel" id="vcModel" value="" style="width:90%;" /></td>
<th>업무명</th> <%--2025.09.01 나혁제 추가 --%>
<td><input type="text" name="vcTaskNm" id="vcTaskNm" value="" style="width:90%;" /></td>
</tr>
<tr>
<th>제조사</th>
<td><input type="text" name="vcVendor" id="vcVendor" value="" style="width:90%;" /></td>
<th>제품버전</th>
<td><input type="text" name="vcVersion" id="vcVersion" value="" style="width:90%;" /></td>
<th>제품번호</th>
<td><input type="text" name="vcAssetSerial" id="vcAssetSerial" style="width:90%;" value=""/></td>
</tr>
<tr>
<th>도입금액</th>
<td><input type="text" name="inPrice" id="inPrice" value=""/></td>
<%-- 2025.08.29 나혁제 자산상새 이동, 유지보수여부 이동 --%>
<th>유지보수 대상유무</th>
<td>
<select name="inMasTarget" id="inMasTarget" style="width:90%;">
<option value="0" >N</option>
<option value="1" selected>Y</option>
</select>
</td>
<th>유지보수기간</th>
<td>
<input type="text" class="btn_calendar" name="dtMasStart" id="dtMasStart"
maxlength="10" value="${dtMasStart}" title="유지보수기간 시작일" readonly style="width:130px;" />
~ <input type="text" class="btn_calendar" name="dtMasFinish" id="dtMasFinish"
maxlength="10" value="${dtMasFinish}" title="유지보수기간 종료일" readonly style="width:130px;" />
</td>
<%--
<th>자산상태</th>
<td>
<select name="inAssetStatus" id="inAssetStatus" style="width: 130px;" >
<select name="inAssetStatus" id="inAssetStatus" style="width: 90%" >
<c:forEach items="${SM_001_result}" var="result" varStatus="status">
<option value="${result.code}" > ${result.codeNm} </option><!-- 분류코드명 -->
</c:forEach>
</select>
</td>
<th>유지보수여부</th>
<td>
<select name="inMasTarget" id="inMasTarget" style="width:100px;">
<option value="0" >N</option>
<option value="1" selected>Y</option>
</select>
</td>
--%>
</tr>
<tr>
<th>유지보수요율</th>
<td><input type="text" name="inMasRate" id="inMasRate" value="${asset.inMasRate}"/> %</td>
<th>유지보수점검주기</th>
<th>유지보수주기</th>
<td>
<select name="vcMasCheckPeriod" id="vcMasCheckPeriod">
<select name="vcMasCheckPeriod" id="vcMasCheckPeriod" style="width: 90%" >
<option value="매월" >매월</option>
<option value="격월" >격월</option>
<option value="분기" >분기</option>
@ -406,19 +429,76 @@
<option value="기타" >기타</option>
</select>
</td>
<th>유지보수기간</th>
<th>무상유지보수기간</th>
<td>
<input type="text" class="btn_calendar" name="dtMasStart" id="dtMasStart"
maxlength="10" value="${dtMasStart}" title="유지보수기간 시작일" readonly style="width:130px;" />
~<input type="text" class="btn_calendar" name="dtMasFinish" id="dtMasFinish"
maxlength="10" value="${dtMasFinish}" title="유지보수기간 종료일" readonly style="width:130px;" />
<input type="text" class="btn_calendar" name="vcNrwdMicnStrtDt" id="vcNrwdMicnStrtDt"
maxlength="10" value="${dateNrwdMicnStrtDt}" title="무상유지보수기간 시작일" readonly style="width:130px;" />
~ <input type="text" class="btn_calendar" name="vcNrwdMicnEndDt" id="vcNrwdMicnEndDt"
maxlength="10" value="${dateNrwdMicnEndDt}" title="무상유지보수기간 종료일" readonly style="width:130px;" />
</td>
</tr>
<%-- 2025.08.29 나혁제 kic 추가 속성 --%>
<tr>
<th>버전</th>
<td><input type="text" name="vcVersion" id="vcVersion" value=""/></td>
<th>시리얼</th>
<td><input type="text" name="vcAssetSerial" id="vcAssetSerial" value=""/></td>
<th>라이센스 종류</th>
<td><input type="text" name="vcLLicenseKnd" id="vcLLicenseKnd" value=""/></td>
<th>라이센스 만료일자</th>
<td>
<input type="text" class="btn_calendar" name="dtLLicenseEnd" id="dtLLicenseEnd"
maxlength="10" value="${dtLLicenseEnd}" title="라이센스 만료일자" readonly style="width:90%;" />
</td>
<th>EOS일자</th>
<td>
<input type="text" class="btn_calendar" name="dtEos" id="dtEos"
maxlength="10" value="${dtEos}" title="EOS일자" readonly style="width:90%;" />
</td>
</tr>
<tr>
<th>호스트명</th>
<td><input type="text" name="vcHost" id="vcHost" value=""/></td>
<%-- 2025.08.29 나혁제 이동처리 --%>
<th>자산상태</th>
<td>
<select name="inAssetStatus" id="inAssetStatus" style="width: 90%" >
<c:forEach items="${SM_001_result}" var="result" varStatus="status">
<option value="${result.code}" > ${result.codeNm} </option><!-- 분류코드명 -->
</c:forEach>
</select>
</td>
<th>EOL일자</th>
<td>
<input type="text" class="btn_calendar" name="dtEol" id="dtEol"
maxlength="10" value="${dtEol}" title="EOS일" readonly style="width:90%;" />
</td>
</tr>
<!-- 2025.08.19 나혁제 자산정보추가 Start -->
<tr>
<th>CPU</th>
<td><input type="text" name="vcDtlCpu" id="vcHost" value="" style="width:90%;" /></td>
<th>DISK</th>
<td><input type="text" name="vcDtlDisk" id="vcHost" value="" style="width:90%;" /></td>
<th>MEM</th>
<td><input type="text" name="vcDtlMem" id="vcHost" value="" style="width:90%;" /></td>
</tr>
<tr>
<th>IP 주소</th>
<td><input type="text" name="vcIp" id="vcIp" value="" style="width:90%;" /></td>
<th>포트정보</th>
<td>
<input type="text" name="inPortInfo" id="inPortInfo" value="" style="width:90%;" />
</td>
<th>관리그룹</th>
<td>
<input type="text" name="vcGrpNm" id="vcGrpNm" value="" style="width:80%;" />
@ -428,17 +508,11 @@
</a>
<input type="hidden" name="vcGrpId" id="vcGrpId" value="" >
</td>
</td>
</tr>
<tr>
<th>호스트명</th>
<td><input type="text" name="vcHost" id="vcHost" value=""/></td>
<th>EOS일</th>
<td>
<input type="text" class="btn_calendar" name="dtEos" id="dtEos"
maxlength="10" value="${dtEos}" title="EOS일" readonly style="width:80%;" />
</td>
<%-- 2025.08.18 나혁제 추가 --%>
<th>점검대상여부</th>
<td>
@ -447,28 +521,17 @@
<option value="Y" selected>대상</option>
</select>
</td>
</tr>
<!-- 2025.08.19 나혁제 자산정보추가 Start -->
<tr>
<th>상세 CPU</th>
<td><input type="text" name="vcDtlCpu" id="vcHost" value="" style="width:90%;" /></td>
<th>상세 DISK</th>
<td><input type="text" name="vcDtlDisk" id="vcHost" value="" style="width:90%;" /></td>
<th>상세 MEM</th>
<td><input type="text" name="vcDtlMem" id="vcHost" value="" style="width:90%;" /></td>
</tr>
<tr>
<th>IP ADDRESS</th>
<td><input type="text" name="vcIp" id="vcIp" value="" style="width:90%;" /></td>
<th></th>
<td></td>
<th></th>
<td></td>
<td>
</td>
</tr>
<!-- 2025.08.19 나혁제 자산정보추가 End -->
<tr>

View File

@ -99,6 +99,7 @@
var assets = []; // 대상 자산
var strCurDate = '${strCurDate}'; // 2025.09.01 나혁제 현재일자추가
//----------------------------------------
// 화면 초기화
@ -366,6 +367,15 @@
var vcDtlMem = $.trim(rows[i].MEM ) +"";
var vcChkTrgYn = $.trim(rows[i].점검대상여부 ) +"";
// 2025.09.01 나혀겢 자산 추가속성
var vcTaskNm = $.trim(rows[i].업무명 ) +"";
var vcNrwdMicnStrtDt = $.trim(rows[i].무상유지보수시작일자 ) +"";
var vcNrwdMicnEndDt = $.trim(rows[i].무상유지보수종료일자 ) +"";
var vcLLicenseKnd = $.trim(rows[i].라이센스종류 ) +"";
var dtLLicenseEnd = $.trim(rows[i].라이센스종료일자 ) +"";
var dtEol = $.trim(rows[i].EOL일자 ) +"";
var inPortInfo = $.trim(rows[i].포트정보 ) +"";
if( vcAssetId == undefined || vcAssetId == 'undefined' ) vcAssetId = '';
if( inCate1 == undefined || inCate1 == 'undefined' ) inCate1 = '';
if( inCate2 == undefined || inCate2 == 'undefined' ) inCate2 = '';
@ -397,6 +407,20 @@
if( vcChkTrgYn != 'Y') vcChkTrgYn='';
// 2025.09.01 나혀겢 자산 추가속성
if( vcTaskNm == undefined || vcTaskNm == 'undefined' ) vcTaskNm = '';
if( vcNrwdMicnStrtDt == undefined || vcNrwdMicnStrtDt == 'undefined' ) vcNrwdMicnStrtDt = '';
if( vcNrwdMicnEndDt == undefined || vcNrwdMicnEndDt == 'undefined' ) vcNrwdMicnEndDt = '';
if( vcLLicenseKnd == undefined || vcLLicenseKnd == 'undefined' ) vcLLicenseKnd = '';
if( dtLLicenseEnd == undefined || dtLLicenseEnd == 'undefined' ) dtLLicenseEnd = '';
if( dtEol == undefined || dtEol == 'undefined' ) dtEol = '';
if( inPortInfo == undefined || inPortInfo == 'undefined' ) inPortInfo = '';
// 2025.09.01 나혁제 일자가 빈값이 경우 현재일자 세팅
if( dtEos == '' ) dtEos = strCurDate;
if( dtEol == '' ) dtEol = strCurDate;
if( dtLLicenseEnd == '' ) dtLLicenseEnd = strCurDate;
var strErrCd = '';
var strErrMsg = '';
@ -494,6 +518,41 @@
strErrMsg = strErrMsg+'|'+'유지보수비율은 숫자만 입력해 주세요.';
}
// 무상유지보수시작일자 날짜 형식 검증
if(vcNrwdMicnStrtDt != '' && isValidDate(vcNrwdMicnStrtDt) != true)
{
strErrCd = 'E';
strErrMsg = strErrMsg+'|'+'무상유지보수시작일자는 날짜 형식으로 입력해 주세요.';
}
// 무상유지보수종료일자 날짜 형식 검증
if(vcNrwdMicnEndDt != '' && isValidDate(vcNrwdMicnEndDt) != true)
{
strErrCd = 'E';
strErrMsg = strErrMsg+'|'+'무상유지보수종료일자는 날짜 형식으로 입력해 주세요.';
}
// 라이센스종료일자 날짜 형식 검증
if(dtLLicenseEnd != '' && isValidDate(dtLLicenseEnd) != true)
{
strErrCd = 'E';
strErrMsg = strErrMsg+'|'+'라이센스종료일자는 날짜 형식으로 입력해 주세요.';
}
// EOL일자 날짜 형식 검증
if(dtEol != '' && isValidDate(dtEol) != true)
{
strErrCd = 'E';
strErrMsg = strErrMsg+'|'+'EOL일자는 날짜 형식으로 입력해 주세요.';
}
// 포트정보
if(inPortInfo != '' && isNaN(inPortInfo) != false)
{
strErrCd = 'E';
strErrMsg = strErrMsg+'|'+'포트정보는 숫자만 입력해 주세요.';
}
var strTrTag = " <tr> "
+ " <td>"+ vcCate1 +"</td> "
+ " <td>"+ vcCate2 +"</td> "
@ -535,6 +594,15 @@
, vcDtlDisk // 2025.08.19 나혁제 자산 추가속성
, vcDtlMem // 2025.08.19 나혁제 자산 추가속성
, vcChkTrgYn // 2025.08.19 나혁제 자산 추가속성
, vcTaskNm // 2025.09.01 나혁제 자산 추가속성
, vcNrwdMicnStrtDt // 2025.09.01 나혁제 자산 추가속성
, vcNrwdMicnEndDt // 2025.09.01 나혁제 자산 추가속성
, vcLLicenseKnd // 2025.09.01 나혁제 자산 추가속성
, dtLLicenseEnd // 2025.09.01 나혁제 자산 추가속성
, dtEol // 2025.09.01 나혁제 자산 추가속성
, inPortInfo // 2025.09.01 나혁제 자산 추가속성
, strErrCd
, strErrMsg
}

View File

@ -483,10 +483,14 @@
</tr>
<tr>
<th> 서비스다운 </th>
<td >
<%-- 2025.09.01 나혁제 불필요한 항목 사젝 --%>
<th style="display:none"> 서비스다운 </th>
<td style="display:none" >
${resultReport.dtDownstartDatetime}~${resultReport.dtDownfinishDatetime}
</td>
<th></th><td></td>
<th> 시작일시 </th>
<td>
${resultReport.dtStartDatetime}

View File

@ -640,7 +640,7 @@
<td></td>
<th> 서비스 </th>
<td>
<select name="inServiceCode" id="inServiceCode" onchange="selInServiceCode()" style="width: 80%;" >
<select name="inServiceCode" id="inServiceCode" onchange="selInServiceCode()" style="width: 90%;" >
<c:forEach items="${resultService}" var="result" varStatus="status">
<option value="${result.value}" > ${result.label} </option><!-- 분류코드명 -->
</c:forEach>
@ -658,7 +658,7 @@
<td>${resultIncident.vcIncidentNum} </td>
<th> 작업분류 </th>
<td>
<input type="text" name="vcTask" id="vcTask" value="${resultTaskMap.label}" readonly />
<input type="text" name="vcTask" id="vcTask" value="${resultTaskMap.label}" readonly style="width: 90%;" />
<input type="hidden" name="inTask" id="inTask" value="${resultTaskMap.value}" >
</td>
@ -676,11 +676,16 @@
</tr>
<tr>
<th> 서비스다운 </th>
<td >
<%-- 2025.09.01 나혁제 불필요한 항목 삭제 --%>
<th style="display:none" > 서비스다운 </th>
<td style="display:none">
<input type="text" class="btn_calendar" name="dtDownstartDatetime" id="dtDownstartDatetime" value="${dtDownstartDatetime}" readonly style="width:47%;"/>
~<input type="text" class="btn_calendar" name="dtDownfinishDatetime" id="dtDownfinishDatetime" value="${dtDownfinishDatetime}" readonly style="width:47%;"/>
</td>
<th></th><td></td>
<th> 시작일시 </th>
<td>
<input type="text" class="btn_calendar" name="dtStartDatetime" id="dtStartDatetime" value="${dtStartDatetime}" readonly style="width:90%;"/>
@ -696,11 +701,11 @@
<tr>
<th> 제목 </th>
<td colspan=3>
<input type="text" name="vcReportTitle" id="vcReportTitle" value="" style="width:80%;"/>
<input type="text" name="vcReportTitle" id="vcReportTitle" value="" style="width:90%;"/>
</td>
<th> 보고서양식 </th>
<td>
<select name="reportForm" id="reportForm" onchange="selReportForm()" style="width: 80%;" >
<select name="reportForm" id="reportForm" onchange="selReportForm()" style="width: 90%;" >
<c:forEach items="${resultForm}" var="result" varStatus="status">
<option value="${result.inReportForm}" > ${result.vcFormName} </option><!-- 분류코드명 -->
</c:forEach>

View File

@ -200,13 +200,21 @@
<tr>
<th> 자산 </th>
<td>
<td colspan=5 >
${fn:length(resultAssets) }
</td>
<%-- 2025.09.01 나혁제 삭제항목 --%>
<%--
<th> 서비스다운 </th>
<td colspan=2>
${resultReport.dtDownstartDatetime}~${resultReport.dtDownfinishDatetime}
</td>
--%>
<th style="display:none"> 서비스다운 </th>
<td colspan=2 style="display:none">
${resultReport.dtDownstartDatetime}~${resultReport.dtDownfinishDatetime}
</td>
</tr>
<tr>
@ -240,21 +248,26 @@
<tbody>
<tr>
<th>구분</th> <td colspan=2>${assets.vcCate1} (${assets.vcCate2})</td>
<th>제품영</th> <td colspan=2 >${assets.vcCate3} </td>
<th>업무명</th> <td colspan=2> ${assets.vcTaskNm}</td>
<th>호스트명</th> <td colspan=2>${assets.vcHost} </td>
</tr>
<tr>
<th>제품영</th> <td colspan=2 >${assets.vcModel} </td>
<th>제품번호</th> <td colspan=2>${assets.vcAssetSerial} </td>
</tr>
<tr>
<th>Model Name</th> <td colspan=2> ${assets.vcModel}</td>
<th>HostName</th> <td colspan=2>${assets.vcHost} </td>
<th>제품버전</th> <td colspan=2> ${assets.vcVersion}</td>
<th>IP 주소</th> <td colspan=2>${assets.vcIp} </td>
</tr>
<tr>
<th>업무명</th> <td colspan=2> ${assets.vcAssetName}</td>
<th>IP Adress</th> <td colspan=2>${assets.vcIp} </td>
</tr>
<tr>
<th>OS Version</th> <td colspan=2> ${assets.vcVersion}</td>
<th>Serial Number</th> <td colspan=2>${assets.vcAssetSerial} </td>
<th>라이센스 만료일자</th> <td colspan=2> ${assets.dtLicenseEnd}</td>
<th>EOS 일자</th> <td colspan=2>${assets.dtEos} </td>
</tr>
<%-- 2025.09.01 나혁제 아래정보 전부 삭제 --%>
<%--
<tr >
<th rowspan=2 >시스템정보</th>
<th>CPU</th>
@ -270,6 +283,7 @@
<td></td>
<td>${assets.txComment}</td>
</tr>
--%>
</tbody>

View File

@ -669,11 +669,15 @@
</tr>
<tr>
<th> 서비스다운 </th>
<td >
<%-- 2025.09.01 나혁제 불필요한 항목 사젝 --%>
<th style="display:none" > 서비스다운 </th>
<td style="display:none" >
<input type="text" class="btn_calendar" name="dtDownstartDatetime" id="dtDownstartDatetime" value="${resultReport.dtDownstartDatetime}" readonly style="width:47%;"/>
~<input type="text" class="btn_calendar" name="dtDownfinishDatetime" id="dtDownfinishDatetime" value="${resultReport.dtDownstartDatetime}" readonly style="width:47%;"/>
</td>
<th></th><td></td>
<th> 시작일시 </th>
<td>
<input type="text" class="btn_calendar" name="dtStartDatetime" id="dtStartDatetime" value="${resultReport.dtStartDatetime}" readonly style="width:90%;"/>