|
|
@@ -32,7 +32,9 @@
|
|
|
<table class="frmStyle" aria-describedby="검색조건">
|
|
|
<colgroup>
|
|
|
<col style="width:10%;"/>
|
|
|
- <col style="width:40%;"/>
|
|
|
+ <col style="width:20%;"/>
|
|
|
+ <col style="width:10%;"/>
|
|
|
+ <col style="width:20%;"/>
|
|
|
<col style="width:10%;"/>
|
|
|
<col/>
|
|
|
</colgroup>
|
|
|
@@ -44,7 +46,17 @@
|
|
|
<option th:if="${bizGbList}" th:each="oneData, status : ${bizGbList}" th:value="${oneData.cd}" th:text="${'[' + oneData.cd + '] ' + oneData.cdNm}"></option>
|
|
|
</select>
|
|
|
</td>
|
|
|
- <th>구분</th>
|
|
|
+ <th>배치주기</th>
|
|
|
+ <td>
|
|
|
+ <select name="batchFrq">
|
|
|
+ <option value="">[전체]</option>
|
|
|
+ <option value="H">[H] 시간배치</option>
|
|
|
+ <option value="D">[D] 일배치</option>
|
|
|
+ <option value="M">[M] 월배치</option>
|
|
|
+ <option value="Y">[Y] 연배치</option>
|
|
|
+ </select>
|
|
|
+ </td>
|
|
|
+ <th>검색어</th>
|
|
|
<td>
|
|
|
<select name="searchGb">
|
|
|
<option value="">[선택]</option>
|
|
|
@@ -54,6 +66,11 @@
|
|
|
<input type="text" class="w300" name="searchTxt" placeholder="" maxlength="50"/>
|
|
|
</td>
|
|
|
</tr>
|
|
|
+ <tr>
|
|
|
+ <th>수행기간</th>
|
|
|
+ <td colspan="5" id="terms">
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
</table>
|
|
|
|
|
|
<ul class="panelBar">
|
|
|
@@ -63,99 +80,110 @@
|
|
|
</ul>
|
|
|
</form>
|
|
|
</div>
|
|
|
+ <!-- //검색조건 영역 -->
|
|
|
|
|
|
- <!-- 리스트 영역 -->
|
|
|
<div class="panelStyle">
|
|
|
- <div id="gridList" style="width: 100%; height: 470px" class="ag-theme-balham"></div>
|
|
|
- </div>
|
|
|
- <!-- //리스트 영역 -->
|
|
|
+ <!-- 다중 TABLE 배치 -->
|
|
|
+ <ul class="division">
|
|
|
+ <li style="width: 45%">
|
|
|
+ <div class="panelBar">
|
|
|
+ <h4>배치 목록</h4>
|
|
|
+ </div>
|
|
|
+ <div id="gridList1" style="width: 100%; height: 300px" class="ag-theme-balham"></div>
|
|
|
+
|
|
|
+ <form id="detailForm" name="detailForm" action="#" th:action="@{'/system/batch/save'}">
|
|
|
+ <input type="hidden" name="mode" value="N"/>
|
|
|
+
|
|
|
+ <table class="frmStyle" aria-describedby="등록/수정 폼">
|
|
|
+ <colgroup>
|
|
|
+ <col style="width:20%;"/>
|
|
|
+ <col style="width:30%;"/>
|
|
|
+ <col style="width:20%;"/>
|
|
|
+ <col/>
|
|
|
+ </colgroup>
|
|
|
+ <tr>
|
|
|
+ <th>배치ID<em class="required" title="필수"></em></th>
|
|
|
+ <td colspan="3">
|
|
|
+ <input type="text" name="batchId" placeholder="" required="required" maxlength="50" data-valid-name="배치ID"/>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <th>배치명<em class="required" title="필수"></em></th>
|
|
|
+ <td colspan="3">
|
|
|
+ <input type="text" name="batchNm" placeholder="" maxlength="100" required="required" data-valid-name="배치명"/>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <th>업무구분<em class="required" title="필수"></em></th>
|
|
|
+ <td>
|
|
|
+ <select name="bizGb" class="w150" required="required" data-valid-name="업무구분">
|
|
|
+ <option value="">[선택]</option>
|
|
|
+ <option th:if="${bizGbList}" th:each="oneData, status : ${bizGbList}" th:value="${oneData.cd}" th:text="${'[' + oneData.cd + '] ' + oneData.cdNm}"></option>
|
|
|
+ </select>
|
|
|
+ </td>
|
|
|
+ <th>배치주기<em class="required" title="필수"></em></th>
|
|
|
+ <td>
|
|
|
+ <select name="batchFrq" required="required" data-valid-name="배치주기">
|
|
|
+ <option value="">[선택]</option>
|
|
|
+ <option value="H">[H] 시간배치</option>
|
|
|
+ <option value="D">[D] 일배치</option>
|
|
|
+ <option value="M">[M] 월배치</option>
|
|
|
+ <option value="Y">[Y] 연배치</option>
|
|
|
+ </select>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <th>배치설명</th>
|
|
|
+ <td colspan="3">
|
|
|
+ <textarea class="textareaR2" name="batchDesc"></textarea>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <th>사용여부<em class="required" title="필수"></em></th>
|
|
|
+ <td colspan="3">
|
|
|
+ <input type="hidden" name="useYn"/>
|
|
|
+ <label class="chkBox checked"><input type="checkbox" name="chkUseYn" value="Y" checked="checked" readonly="readonly"/>사용</label>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ </table>
|
|
|
|
|
|
- <!-- 등록/수정 영역 -->
|
|
|
- <div class="panelStyle">
|
|
|
- <form id="detailForm" name="detailForm" action="#" th:action="@{'/system/batch/save'}">
|
|
|
- <input type="hidden" name="mode" value="N"/>
|
|
|
-
|
|
|
- <table class="frmStyle" aria-describedby="등록/수정 폼">
|
|
|
- <colgroup>
|
|
|
- <col style="width:10%;"/>
|
|
|
- <col style="width:40%;"/>
|
|
|
- <col style="width:10%;"/>
|
|
|
- <col/>
|
|
|
- </colgroup>
|
|
|
- <tr>
|
|
|
- <th>배치ID<em class="required" title="필수"></em></th>
|
|
|
- <td>
|
|
|
- <input type="text" name="batchId" class="w300" placeholder="" required="required" maxlength="50" data-valid-name="배치ID"/>
|
|
|
- </td>
|
|
|
- <th>배치명<em class="required" title="필수"></em></th>
|
|
|
- <td>
|
|
|
- <input type="text" name="batchNm" placeholder="" maxlength="100" required="required" data-valid-name="배치명"/>
|
|
|
- </td>
|
|
|
- </tr>
|
|
|
- <tr>
|
|
|
- <th>업무구분<em class="required" title="필수"></em></th>
|
|
|
- <td>
|
|
|
- <select name="bizGb" class="w150" required="required" data-valid-name="업무구분">
|
|
|
- <option value="">[선택]</option>
|
|
|
- <option th:if="${bizGbList}" th:each="oneData, status : ${bizGbList}" th:value="${oneData.cd}" th:text="${'[' + oneData.cd + '] ' + oneData.cdNm}"></option>
|
|
|
- </select>
|
|
|
- </td>
|
|
|
- <th>배치주기<em class="required" title="필수"></em></th>
|
|
|
- <td>
|
|
|
- <select name="batchFrq" required="required" data-valid-name="배치주기">
|
|
|
- <option value="">[선택]</option>
|
|
|
- <option value="H">[H] 시간배치</option>
|
|
|
- <option value="D">[D] 일배치</option>
|
|
|
- <option value="M">[M] 월배치</option>
|
|
|
- <option value="Y">[Y] 연배치</option>
|
|
|
- </select>
|
|
|
- </td>
|
|
|
- </tr>
|
|
|
- <tr>
|
|
|
- <th>배치설명</th>
|
|
|
- <td colspan="3">
|
|
|
- <textarea class="textareaR4" name="batchDesc"></textarea>
|
|
|
- </td>
|
|
|
- </tr>
|
|
|
- <tr>
|
|
|
- <th>사용여부<em class="required" title="필수"></em></th>
|
|
|
- <td colspan="3">
|
|
|
- <input type="hidden" name="useYn"/>
|
|
|
- <label class="chkBox"><input type="checkbox" name="chkUseYn" value="Y" checked="checked" readonly="readonly"/>사용</label>
|
|
|
- </td>
|
|
|
- </tr>
|
|
|
- </table>
|
|
|
-
|
|
|
- <ul class="panelBar">
|
|
|
- <li class="right">
|
|
|
- <button type="button" class="btn btn-info btn-lg" id="btnNew">신규</button>
|
|
|
- <button type="button" class="btn btn-success btn-lg" id="btnSave">저장</button>
|
|
|
- </li>
|
|
|
- </ul>
|
|
|
- </form>
|
|
|
+ <ul class="panelBar">
|
|
|
+ <li class="right">
|
|
|
+ <button type="button" class="btn btn-info btn-lg" id="btnNew">신규</button>
|
|
|
+ <button type="button" class="btn btn-success btn-lg" id="btnSave">저장</button>
|
|
|
+ </li>
|
|
|
+ </ul>
|
|
|
+ </form>
|
|
|
+ </li>
|
|
|
+ <li style="width: 55%">
|
|
|
+ <div class="panelBar">
|
|
|
+ <h4>배치 로그</h4>
|
|
|
+ </div>
|
|
|
+ <div id="gridList2" style="width: 100%; height: 570px" class="ag-theme-balham"></div>
|
|
|
+ </li>
|
|
|
+ </ul>
|
|
|
</div>
|
|
|
- <!-- //등록/수정 영역 -->
|
|
|
</div>
|
|
|
|
|
|
<script th:inline="javascript">
|
|
|
/*<![CDATA[*/
|
|
|
- var bizGbList = gagajf.convertToArray([[${bizGbList}]]);
|
|
|
+ let bizGbList = gagajf.convertToArray([[${bizGbList}]]);
|
|
|
|
|
|
// specify the columns
|
|
|
- var columnDefs = [
|
|
|
+ let columnDefs1 = [
|
|
|
{
|
|
|
headerName: "배치ID", field: "batchId", width: 200,
|
|
|
cellRenderer: function(params) {
|
|
|
return '<a href="javascript:void(0);">' + params.value + '</a>';
|
|
|
}
|
|
|
},
|
|
|
- {headerName: "배치명", field: "batchNm", width: 250},
|
|
|
+ {headerName: "배치명", field: "batchNm", width: 200},
|
|
|
{
|
|
|
- headerName: "업무구분", field: "bizGb", width: 100, cellClass: 'text-center',
|
|
|
+ headerName: "업무구분", field: "bizGb", width: 80, cellClass: 'text-center',
|
|
|
cellRenderer: function (params) { return gagaAgGrid.lookupValue(bizGbList, params.value); }
|
|
|
},
|
|
|
{
|
|
|
- headerName: "배치주기", field: "batchFrq", width: 100, cellClass: 'text-center',
|
|
|
+ headerName: "배치주기", field: "batchFrq", width: 80, cellClass: 'text-center',
|
|
|
cellRenderer: function(params) {
|
|
|
let batchFrqNm = '시간배치';
|
|
|
if (params.value == 'D') batchFrqNm = '일배치';
|
|
|
@@ -165,14 +193,46 @@
|
|
|
}
|
|
|
},
|
|
|
{headerName: "배치설명", field: "batchDesc", width: 400, hide: true},
|
|
|
- {headerName: "사용여부", field: "useYn", width: 100, cellClass: 'text-center'}
|
|
|
+ {headerName: "사용여부", field: "useYn", width: 80, cellClass: 'text-center'}
|
|
|
+ ];
|
|
|
+
|
|
|
+ let columnDefs2 = [
|
|
|
+// {headerName: "배치ID", field: "batchId", width: 200},
|
|
|
+ {headerName: "배치명", field: "batchNm", width: 200},
|
|
|
+// {
|
|
|
+// headerName: "업무구분", field: "bizGb", width: 100, cellClass: 'text-center',
|
|
|
+// cellRenderer: function (params) { return gagaAgGrid.lookupValue(bizGbList, params.value); }
|
|
|
+// },
|
|
|
+ {
|
|
|
+ headerName: "배치주기", field: "batchFrq", width: 80, cellClass: 'text-center',
|
|
|
+ cellRenderer: function(params) {
|
|
|
+ let batchFrqNm = '시간배치';
|
|
|
+ if (params.value == 'D') batchFrqNm = '일배치';
|
|
|
+ else if (params.value == 'M') batchFrqNm = '월배치';
|
|
|
+ else if (params.value == 'Y') batchFrqNm = '연배치';
|
|
|
+ return batchFrqNm;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ headerName: "상태", field: "batchStat", width: 80, cellClass: 'text-center',
|
|
|
+ cellRenderer: function(params) {
|
|
|
+ return params.value == 'I' ? '실행중' : '실행완료';
|
|
|
+ }
|
|
|
+ },
|
|
|
+ {headerName: "시작일시", field: "batchStdt", width: 180, cellClass: 'text-center'},
|
|
|
+ {headerName: "종료일시", field: "batchEddt", width: 180, cellClass: 'text-center'},
|
|
|
+ {
|
|
|
+ headerName: "수행시간(초)", field: "runTime", width: 100, cellClass: 'text-center',
|
|
|
+ cellRenderer: function(params) { return gagaAgGrid.toAddComma(params.value); }
|
|
|
+ }
|
|
|
];
|
|
|
|
|
|
// Get GridOptions
|
|
|
- var gridOptions = gagaAgGrid.getGridOptions(columnDefs);
|
|
|
+ let gridOptions1 = gagaAgGrid.getGridOptions(columnDefs1);
|
|
|
+ let gridOptions2 = gagaAgGrid.getGridOptions(columnDefs2);
|
|
|
|
|
|
// Cell Click
|
|
|
- gridOptions.onCellClicked = function(event) {
|
|
|
+ gridOptions1.onCellClicked = function(event) {
|
|
|
if (event.colDef.field != 'batchId')
|
|
|
return;
|
|
|
|
|
|
@@ -198,7 +258,8 @@
|
|
|
// 조회
|
|
|
$('#btnSearch').on('click', function() {
|
|
|
// Fetch data
|
|
|
- gagaAgGrid.fetch($('#searchForm').prop('action'), gridOptions, '#searchForm');
|
|
|
+ gagaAgGrid.fetch($('#searchForm').prop('action'), gridOptions1, '#searchForm');
|
|
|
+ gagaAgGrid.fetch('/system/batch/log/list', gridOptions2, '#searchForm');
|
|
|
});
|
|
|
|
|
|
// 신규
|
|
|
@@ -207,6 +268,7 @@
|
|
|
$('#detailForm input[name=mode]').val('N');
|
|
|
$('#detailForm input[name=batchId]').attr('readonly', false);
|
|
|
$('#detailForm input:checkbox[name=chkUseYn]').prop('checked', true);
|
|
|
+ $("#detailForm input:checkbox[name=chkUseYn]").parent().addClass('checked');
|
|
|
$('#detailForm input:checkbox[name=chkUseYn]').attr('readonly', true);
|
|
|
$('#detailForm input[name=batchId]').focus();
|
|
|
});
|
|
|
@@ -235,8 +297,13 @@
|
|
|
});
|
|
|
|
|
|
$(document).ready(function() {
|
|
|
+ cfnCreateCalendar('#terms', 'batchStdt', 'batchEddt');
|
|
|
+ $('#batchStdt').val(new Date().format("YYYY-MM-DD"));
|
|
|
+ $('#batchEddt').val(new Date().format("YYYY-MM-DD"));
|
|
|
+
|
|
|
// Create a agGrid
|
|
|
- gagaAgGrid.createGrid('gridList', gridOptions);
|
|
|
+ gagaAgGrid.createGrid('gridList1', gridOptions1);
|
|
|
+ gagaAgGrid.createGrid('gridList2', gridOptions2);
|
|
|
});
|
|
|
/*]]>*/
|
|
|
</script>
|