보고서 양식 정렬처리 보강

This commit is contained in:
nhj 2025-09-25 11:37:47 +09:00
parent 1b3dda7812
commit 4adefbbd13
16 changed files with 273 additions and 47 deletions

View File

@ -12,7 +12,11 @@
<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/JavaSE-16/"/>
<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.jst.j2ee.internal.web.container"/>
<classpathentry kind="con" path="org.eclipse.buildship.core.gradleclasspathcontainer">
<attributes>

View File

@ -126,6 +126,10 @@ public class MainController
{
strErrorMsg = "아이디 혹은 비밀번호을 확인해주세요. 5회 로그인 오류인경우 아이디가 잠금처리가 됩니다.";
}
else if(srError[0].equals("-4"))
{
strErrorMsg = "사용자 정보는 존재하나 권한정보가 존재하지 않습니다. 시스템 관리자에게 연락해 주세요.";
}
else
{
strErrorMsg = "";

View File

@ -1048,6 +1048,17 @@ public class ResourceManagerController
model.addAttribute("resourceList" , resourceList);
model.addAttribute("paginationInfo" , paginationInfo);
// 2025.09.22 나혁제 추가 --------------------//
// 자산분류코드 추출 Start -------------------- //
// RestApi Call Start ---------------------------------
returnMap = restApiCallUtil.RestApiCall(bodyMap, "/rem/getCate1List.do");
// RestApi Call End ---------------------------------
List<Map<String, Object>> resultCate1 = (List<Map<String, Object>>)returnMap.get("resultCate1");
model.addAttribute("resultCate1", resultCate1); // 자산대분류
// 자산분류코드 추출 End -------------------- //
log.info("<<<<<<<<<<<<<<< /rem/SelectResourcePopup.do >>>>>>>>>>>>>>>");
return "uritms-popup1/rem/ResourceListPopup";

View File

@ -29,6 +29,7 @@ public class ReportVo
private String txReportForm ;
private String inTaskUser ;
private String vcTaskUser ;
private String inSortSn ; // 2025.09.22 나혁제 정렬순서 추가
public String getInReportForm() {
return inReportForm;
@ -78,6 +79,12 @@ public class ReportVo
public void setVcTaskUser(String vcTaskUser) {
this.vcTaskUser = vcTaskUser;
}
public String getInSortSn() {
return inSortSn;
}
public void setInSortSn(String inSortSn) {
this.inSortSn = inSortSn;
}

View File

@ -37,13 +37,18 @@
<!-- 서비스 정보 -->
<form name="adminServiceManage">
<field property="XXXXXXX" depends="">
<field property="vcServiceName" depends="required">
<arg0 key="서비스명" resource="true"/>
</field>
</form>
<!-- 보고서양식 정보 -->
<form name="reportManage">
<field property="XXXXXXX" depends="">
<field property="vcFormName" depends="required">
<arg0 key="보고서명" resource="true"/>
</field>
<field property="inSortSn" depends="integer">
<arg0 key="정렬순서" resource="true"/>
</field>
</form>

View File

@ -371,8 +371,17 @@
</td>
</tr>
<tr>
<%-- 2025.09.22 나혁제 정렬순서 추가 --%>
<%--
<th>보고서 설명 </th>
<td colspan=3><input type="text" name="vcFormDesc" id="vcFormDesc" value="${resultReport.vcFormDesc}" style="width:80%"/></td>
--%>
<th> 보고서설명 </th>
<td><input type="text" name="vcFormDesc" id="vcFormDesc" value="${resultReport.vcFormDesc}" style="width:90%"/></td>
<th> 정렬순서 </th>
<td><input type="text" name="inSortSn" id="inSortSn" value="${resultReport.inSortSn}" style="width:90%"/></td>
</tr>
</tbody>

View File

@ -314,9 +314,9 @@
<caption>서비스 등록</caption>
<colgroup>
<col style="width: 10%;">
<col style="width: 50%">
<col style="width: 55%">
<col style="width: 10%">
<col style="width: 30%;">
<col style="width: 25%;">
</colgroup>
<tbody>
<tr>
@ -332,10 +332,10 @@
<tr>
<th> 보고서명 </th>
<td><input type="text" name="vcFormName" id="vcFormName" value="" style="width:80%" /></td>
<td><input type="text" name="vcFormName" id="vcFormName" value="" style="width:90%" /></td>
<th> 작업자 </th>
<td>
<input type="text" name="vcTaskUser" id="vcTaskUser" value="" style="width:80%" />
<input type="text" name="vcTaskUser" id="vcTaskUser" value="" style="width:90%" />
<a href="<c:url value='/cmm/selectUserListPopup.do' />" target="_blank" title="새 창으로 이동" onclick="fn_User_Search('조치예정', 'inTaskUser', '', 'vcTaskUser', '', '');return false;">
<img src="<c:url value='/egov/images/egovframework/com/cmm/btn/btn_search.gif' />" alt="조치예정자 검색" title="조치예정자 검색">
@ -346,8 +346,15 @@
</td>
</tr>
<tr>
<%-- 2025.09.22 나혁제 정렬순서 추가 --%>
<%--
<th>보고서 설명 </th>
<td colspan=3><input type="text" name="vcFormDesc" id="vcFormDesc" value="" style="width:80%"/></td>
--%>
<th> 보고서설명 </th>
<td><input type="text" name="vcFormDesc" id="vcFormDesc" value="" style="width:90%"/></td>
<th> 정렬순서 </th>
<td><input type="text" name="inSortSn" id="inSortSn" value="" style="width:90%"/></td>
</tr>
</tbody>
@ -358,10 +365,8 @@
-->
<textarea id="serviceBody" name="serviceBody" ></textarea>
<div id="excelEditor"></div>
</div>
<!-- main btn : start -->

View File

@ -133,6 +133,7 @@
<col style="width: 10%;">
<col style="width: 20%;">
<col style="width: 10%;">
<col style="width: 6%;">
<col style="width: *;">
</colgroup>
@ -142,6 +143,7 @@
<th>보고서 유형</th>
<th>보고서 양식명</th>
<th>작업자명</th>
<th>정렬순위</th>
<th>설명</th>
</tr>
</thead>
@ -161,6 +163,7 @@
<td><c:out value="${report.inTaskNm}"/></td>
<td><a href="javascript:fncSelectReport('${report.inReportForm}')" style="text-align: center;" >${report.vcFormName}</a></td>
<td><c:out value="${report.vcTaskUser}"/></td>
<td><c:out value="${report.inSortSn}"/></td>
<td><c:out value="${report.vcFormDesc}"/></td>
</tr>
</c:forEach>

View File

@ -733,7 +733,7 @@
<div class="btn_group" >
<button type="button" class="btn-function" onclick="fncReportRegist();return false;" style="margin-top: -10px;">
보고서 등록
보고서 등록
</button>
</div>

View File

@ -31,6 +31,7 @@
<title>자산관리</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<script type="text/javascript" src="<c:url value='/egov/js/showModalDialogCallee.js'/>" ></script>
<script type="text/javaScript" language="javascript" defer="defer">
@ -44,8 +45,86 @@
//document.frm.title.value = opener[1];
parent.document.title = opener[1] + " 목록조회";
// 2025.09.22 나혁제 분류코드 추가 Start -- //
// 대분류 조건이 있는경우
if('${resourceManage.inCate1}' != '')
{
$('#inCate1').val('${resourceManage.inCate1}');
selAssetCate1List();
}
// 중분류 조건이 있는경우
if('${resourceManage.inCate2}' != '')
{
$('#inCate2').val('${resourceManage.inCate2}');
selAssetCate2List();
}
// 소분류 조건이 있는경우
if('${resourceManage.inCate3}' != '')
{
$('#inCate3').val('${resourceManage.inCate3}');
}
// 2025.09.22 나혁제 분류코드 추가 End -- //
});
//----------------------------------------
// 2025.09.22 나혁제 자산 대분류 선택시
// ----------------------------------------
function selAssetCate1List()
{
var strCate1 = $('#inCate1 option:selected').val() ;
// 전체 초기화
if(strCate1 == '')
{
var option2 = $("<option value=''>전체</option>");
var option3 = $("<option value=''>전체</option>");
$("#inCate2 option").remove();
$("#inCate3 option").remove();
$('#inCate2').append(option2);
$('#inCate3').append(option3);
return;
}
var inData = {};
inData = {"inCate1":strCate1};
proc.fn_get_assetCate2(inData);
}
//----------------------------------------
// 2025.09.22 나혁제 자산 중분류 선택시
// ----------------------------------------
function selAssetCate2List()
{
var strCate1 = $('#inCate1 option:selected').val() ;
var strCate2 = $('#inCate2 option:selected').val() ;
// 전체 초기화
if(strCate2 == '' )
{
$("#inCate3 option").remove();
var option3 = $("<option value=''>전체</option>");
$('#inCate3').append(option3);
return;
}
var inData = {};
inData = { "inCate1":strCate1
,"inCate2":strCate2 };
proc.fn_get_assetCate3(inData);
}
/* ********************************************************
* 전체선택
******************************************************** */
@ -131,6 +210,76 @@
document.listForm.submit();
}
/* ********************************************************
* 2025.09.22 나혁제 서블릿 통신
******************************************************** */
var proc =
{
// 자산중분류 조회 처리
fn_get_assetCate2 : function (inData)
{
$.ajax({
url: '/rem/getCate2List.do'
, type: 'post'
, data: JSON.stringify(inData)
, dataType: 'json'
, contentType: 'application/json'
, async: false
, success: function(data)
{
$("#inCate2 option").remove();
var option = $("<option value=''>전체</option>");
$('#inCate2').append(option);
for(var i=0; i<data.resultCate2.length; i++)
{
var option = $("<option value='"+data.resultCate2[i].inCate2+"'>"+data.resultCate2[i].vcCate2+"</option>");
$('#inCate2').append(option);
}
},
error: function(errorThrown)
{
alert("자산 중분류 조회중 오류가 발생하였습니다. \n 시스템관리자에게 문의해 주시기 바랍니다.");
console.log(JSON.stringify(errorThrown));
}
});
}
,
// 자산중분류 조회 처리
fn_get_assetCate3 : function (inData)
{
$.ajax({
url: '/rem/getCate3List.do'
, type: 'post'
, data: JSON.stringify(inData)
, dataType: 'json'
, contentType: 'application/json'
, async: false
, success: function(data)
{
$("#inCate3 option").remove();
var option = $("<option value=''>전체</option>");
$('#inCate3').append(option);
for(var i=0; i<data.resultCate3.length; i++)
{
var option = $("<option value='"+data.resultCate3[i].inCate3+"'>"+data.resultCate3[i].vcCate3+"</option>");
$('#inCate3').append(option);
}
},
error: function(errorThrown)
{
alert("자산 소분류 조회중 오류가 발생하였습니다. \n 시스템관리자에게 문의해 주시기 바랍니다.");
console.log(JSON.stringify(errorThrown));
}
});
}
}
@ -166,9 +315,37 @@
-->
<label>자산명 &nbsp;</label>
<input class="s_input" name="assetName" type="text" value='' maxlength="155" >
</td>
</tr>
<tr>
<td style="text-align: left;" >
<%-- 2025.09.22 나혁제 조회조건 추가 --%>
<label>분류 &nbsp;&nbsp;&nbsp;</label>
<select name="inCate1" id="inCate1" onchange="selAssetCate1List()" style="width: 170px;" >
<option value="" > 전체 </option>
<c:forEach items="${resultCate1}" var="result" varStatus="status">
<option value="${result.inCate1}" > ${result.vcCate1} </option><!-- 분류코드명 -->
</c:forEach>
</select>
<select name="inCate2" id="inCate2" onchange="selAssetCate2List()" style="width: 170px;">
<option value="" > 전체 </option>
</select>
<select name="inCate3" id="inCate3" style="width: 170px;">
<option value="" > 전체 </option>
</select>
</td>
</tr>
</tbody>
</table>

View File

@ -136,7 +136,7 @@
window.showModalDialog("<c:url value='"+strUrl+"' />"
, arrParam
,"dialogWidth:900px;dialogHeight:750px;resizable:yes;center:yes");
,"dialogWidth:950px;dialogHeight:850px;resizable:yes;center:yes");
}
//----------------------------------------
@ -700,11 +700,11 @@
<tr>
<th> 제목 </th>
<td colspan=3>
<td colspan=2>
<input type="text" name="vcReportTitle" id="vcReportTitle" value="" style="width:90%;"/>
</td>
<th> 보고서양식 </th>
<td>
<td colspan=2>
<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><!-- 분류코드명 -->

View File

@ -38,10 +38,11 @@
<script type="text/javascript" src="<c:url value='/egov/js/showModalDialog.js'/>" ></script>
<!-- tinyMCE Editor -->
<script charset="utf-8" type="text/javascript" src="${pageContext.request.contextPath}/lib/oss/tinymce/tinymce.min.js"></script>
<script charset="utf-8" type="text/javascript" src="${pageContext.request.contextPath}/lib/oss/tinymce/tinymce.min.js?ver=1" ></script>
<!-- tinymce setting 2025.05.12 나혁제 tinymce_uritms_setting.js 이관 -->
<script charset="utf-8" type="text/javascript" src="<c:url value='/js/tinymce_uritms_setting.js?ver=1'/>" ></script>
<script charset="utf-8" type="text/javascript" src="<c:url value='/js/tinymce_uritms_setting.js?ver=1'/>" ></script>
<!-- validation 처리 -->
<validator:javascript formName="reportCheckManage" staticJavascript="false" xhtml="true" cdata="false"/>
@ -119,7 +120,7 @@
window.showModalDialog("<c:url value='"+strUrl+"' />"
, arrParam
,"dialogWidth:900px;dialogHeight:750px;resizable:yes;center:yes");
,"dialogWidth:950px;dialogHeight:850px;resizable:yes;center:yes");
}
//----------------------------------------
@ -633,7 +634,7 @@
<td>${resultReport.vcReportId}</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}" <c:if test="${result.value == resultReport.inServiceCode}"> selected </c:if> > ${result.label} </option><!-- 분류코드명 -->
</c:forEach>
@ -651,7 +652,7 @@
<td>${incidentId}</td>
<th> 작업분류 </th>
<td>
<input type="text" name="vcTask" id="vcTask" value="${resultReport.vcTask}" readonly />
<input type="text" name="vcTask" id="vcTask" value="${resultReport.vcTask}" readonly style="width: 90%;" />
<input type="hidden" name="inTask" id="inTask" value="${resultReport.inTask}" >
</td>
@ -692,12 +693,12 @@
<tr>
<th> 제목 </th>
<td colspan=3>
<input type="text" name="vcReportTitle" id="vcReportTitle" value="${resultReport.vcReportTitle}" style="width:80%;"/>
<td colspan=2>
<input type="text" name="vcReportTitle" id="vcReportTitle" value="${resultReport.vcReportTitle}" style="width:90%;"/>
</td>
<th> 보고서양식 </th>
<td>
<select name="reportForm" id="reportForm" onchange="selReportForm()" style="width: 80%;" >
<td colspan=2>
<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

@ -130,7 +130,7 @@
window.showModalDialog("<c:url value='"+strUrl+"' />"
, arrParam
,"dialogWidth:900px;dialogHeight:750px;resizable:yes;center:yes");
,"dialogWidth:950px;dialogHeight:850px;resizable:yes;center:yes");
}
//----------------------------------------
@ -634,7 +634,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: 0%;" >
<c:forEach items="${resultService}" var="result" varStatus="status">
<option value="${result.value}" > ${result.label} </option><!-- 분류코드명 -->
</c:forEach>
@ -689,12 +689,12 @@
<tr>
<th> 제목 </th>
<td colspan=3>
<input type="text" name="vcReportTitle" id="vcReportTitle" value="" style="width:80%;"/>
<td colspan=2>
<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%;" >
<td colspan=2>
<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

@ -119,7 +119,7 @@
window.showModalDialog("<c:url value='"+strUrl+"' />"
, arrParam
,"dialogWidth:900px;dialogHeight:750px;resizable:yes;center:yes");
,"dialogWidth:950px;dialogHeight:850px;resizable:yes;center:yes");
}
//----------------------------------------
@ -627,7 +627,7 @@
<td>${resultReport.vcReportId}</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}" <c:if test="${result.value == resultReport.inServiceCode}"> selected </c:if> > ${result.label} </option><!-- 분류코드명 -->
</c:forEach>
@ -682,12 +682,12 @@
<tr>
<th> 제목 </th>
<td colspan=3>
<input type="text" name="vcReportTitle" id="vcReportTitle" value="${resultReport.vcReportTitle}" style="width:80%;"/>
<td colspan=2>
<input type="text" name="vcReportTitle" id="vcReportTitle" value="${resultReport.vcReportTitle}" style="width:90%;"/>
</td>
<th> 보고서양식 </th>
<td>
<select name="reportForm" id="reportForm" onchange="selReportForm()" style="width: 80%;" >
<td colspan=2>
<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

@ -130,7 +130,7 @@
window.showModalDialog("<c:url value='"+strUrl+"' />"
, arrParam
,"dialogWidth:900px;dialogHeight:750px;resizable:yes;center:yes");
,"dialogWidth:950px;dialogHeight:850px;resizable:yes;center:yes");
}
//----------------------------------------
@ -636,7 +636,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>
@ -691,12 +691,12 @@
<tr>
<th> 제목 </th>
<td colspan=3>
<input type="text" name="vcReportTitle" id="vcReportTitle" value="" style="width:80%;"/>
<td colspan=2>
<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%;" >
<td colspan=2>
<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

@ -119,7 +119,7 @@
window.showModalDialog("<c:url value='"+strUrl+"' />"
, arrParam
,"dialogWidth:900px;dialogHeight:750px;resizable:yes;center:yes");
,"dialogWidth:950px;dialogHeight:850px;resizable:yes;center:yes");
}
//----------------------------------------
@ -624,7 +624,7 @@
<td>${resultReport.vcReportId}</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}" <c:if test="${result.value == resultReport.inServiceCode}"> selected </c:if> > ${result.label} </option><!-- 분류코드명 -->
</c:forEach>
@ -642,7 +642,7 @@
<td>${incidentId}</td>
<th> 작업분류 </th>
<td>
<input type="text" name="vcTask" id="vcTask" value="${resultReport.vcTask}" readonly />
<input type="text" name="vcTask" id="vcTask" value="${resultReport.vcTask}" readonly style="width: 90%;" />
<input type="hidden" name="inTask" id="inTask" value="${resultReport.inTask}" >
</td>
@ -679,12 +679,12 @@
<tr>
<th> 제목 </th>
<td colspan=3>
<input type="text" name="vcReportTitle" id="vcReportTitle" value="${resultReport.vcReportTitle}" style="width:80%;"/>
<td colspan=2>
<input type="text" name="vcReportTitle" id="vcReportTitle" value="${resultReport.vcReportTitle}" style="width:90%;"/>
</td>
<th> 보고서양식 </th>
<td>
<select name="reportForm" id="reportForm" onchange="selReportForm()" style="width: 80%;" >
<td colspan=2>
<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>