<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%
	response.setHeader("Pragma", "No-cache");
	response.setHeader("Cache-Control", "no-cache");
	response.setHeader("Expires", "0");
%>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<jsp:include page="/jsp/common/include/css.jsp"/>
<jsp:include page="/jsp/common/include/script.jsp"/>
<script language="javascript" >
var url_excel = '<c:url value="/common/noauth/excel/listGridToExcel.json" />';

function fileupload(e,successcallback,errorcallback) {
	var formObj = $(this);
	var formURL = formObj.attr("action");
	if( window.FormData !== undefined )  // for HTML5 browsers
	{
		var formData = new FormData(this);
		
		$.ajax({
			url: formURL,
			type: 'POST',
			data: formData,
			encType: "multipart/form-data",
			contentType: false,
			cache: false,
			processData: false,
			success: function(json, textStatus, jqXHR) {
				$("input[name=file]").val("");
				if( textStatus == 'success' ) {
					alert('정상처리 되었습니다.');
					$("#btn_search").click();
				} else {
					alert('업로드중 에러가 발생하였습니다.');
				}
			},
			error: function(jqXHR, textStatus, errorThrown) {
				$("input[name=file]").val("");
				if( typeof callback === 'function' ) {
					errorcallback(jqXHR, textStatus, errorThrown);
				}
			}
		});
		e.preventDefault();
		if ( e.unbind ) e.unbind();
	} else { //for olden browsers
		formObj.append($("<input type='hidden' name='serviceType' value='" + sessionStorage["serviceType"] + "' />"));
		//generate a random id
		var iframeId = 'unique' + (new Date().getTime());
		//create an empty iframe
		var iframe = $('<iframe src="javascript:false;" id="' + iframeId + '" name="' + iframeId + '" />');

		//hide it
		iframe.hide();

		//set form target to iframe
		formObj.attr('target', iframeId);
		formObj.attr('action', '<c:url value="/loader.file" />');

		//Add iframe to body
		iframe.appendTo('body');
		iframe.load(function(e) {
			var doc = getDoc(iframe[0]);
			var docRoot = doc.body ? doc.body : doc.documentElement;
			var data = docRoot.innerHTML;
			var k = JSON.parse(data);
			$("#grid")[0].addJSONData(k);
			$("input[name=file]").val("");
			//data is returned from server.
			if( typeof callback === 'function' ) {
				//successcallback(data);
			}
		});
	}
}

function list(url) {
	var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
	$('#grid').jqGrid({
		datatype: "json",
		mtype: 'POST',
		url: '<c:url value="/bap/admin/work/systemInstMan.json" />',
		postData: gridPostData,
		colNames: [ '대외기관명',
					'대외기관코드',
					'업무구분명',
					'업무구분코드',
					'송신처리규칙코드',
					'수신처리규칙코드',
					'파일송신유형',
					'파일수신유형',
					'사용여부'
				  ],
		colModel: [
					{ name: 'OSIDINSTINAME'        , align: 'left'   ,sortable:false  },
					{ name: 'OSIDINSTIDSTCD'       , align: 'center'},
					{ name: 'BJOBBZWKNAME'         , align: 'left'  },
					{ name: 'BJOBBZWKDSTCD'        , align: 'center'},
					{ name: 'SENDPRCSSRULECD'      , align: 'center'}, 
					{ name: 'RECVPRCSSRULECD'      , align: 'center'},
					{ name: 'EAIFILESENDPTRNDSTCD' , align: 'center' ,
						formatter: function (cellvalue) {
							if( cellvalue == 'R' ) {
								return '요구';
							} else {
								return '응답';
							}
						}
					},
					{ name: 'EAIFILERECVPTRNDSTCD' , align: 'center' ,
						formatter: function (cellvalue) {
							if( cellvalue == 'R' ) {
								return '요구';
							} else {
								return '응답';
							}
						}
					},
					{ name: 'THISMSGUSEYN'         , align: 'center' ,
						formatter: function (cellvalue) {
							if( cellvalue == '1' ) {
								return '사용';
							} else {
								return '<span style="color:red">사용안함</span>';
							}
						}
					}
				  ],
		jsonReader: {
			repeatitems:false
		},
		pager: $('#pager'),
		page: '${param.page}',
		rowNum: '${rmsDefaultRowNum}',
	    autoheight: true,
	    height: $("#container").height(),
		autowidth: true,
		viewrecords: true,
		multiselect: true,
		rowList: eval('[${rmsDefaultRowList}]'),
		gridComplete: function (d) {
			var colModel = $(this).getGridParam("colModel");
			for( var i = 0; i < colModel.length; i++ ) {
				$(this).setColProp(colModel[i].name, {sortable: false});	//그리드 헤더 화살표 삭제(정렬X)
			}
		},
		ondblClickRow: function(rowId) {
			var rowData = $(this).getRowData(rowId); 
			var bjobBzwkDstcd = rowData['BJOBBZWKDSTCD'].trim();
			var osidInstiDstcd = rowData['OSIDINSTIDSTCD'].trim();
			var url = '<c:url value="/bap/admin/work/systemInstMan.view" />';
			url += '?cmd=DETAIL';
			url += '&page=' + $(this).getGridParam("page");
			url += '&menuId=' + '${param.menuId}';
			url += '&returnUrl=' + getReturnUrl();
			url += '&bjobBzwkDstcd=' + bjobBzwkDstcd;
			url += '&osidInstiDstcd=' + osidInstiDstcd;
			url += '&' + getSearchUrl();
			//검색값
			goNav(url);
		}
	});
}

$(document).ready(function() {

	resizeJqGridWidth('grid', 'title', '1000');
	var url ='<c:url value="/bap/admin/work/systemInstMan.json" />';
	list(url);

	$("#btn_search").click(function() {
		var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로 
		$("#grid").setGridParam({url:url, postData: postData,page:"1" }).trigger("reloadGrid");
	});

	$("#btn_new").click(function() {
		var url = '<c:url value="/bap/admin/work/systemInstMan.view"/>';
		url += '?cmd=DETAIL';
		url += '&page=' + $("#grid").getGridParam("page");
		url += '&returnUrl=' + getReturnUrl();
		url += '&menuId=' + '${param.menuId}';
		//검색값
		url += '&' + getSearchUrl();

		goNav(url);
	});
	
	$("input[name^=search]").keydown(function(key) {
		if( key.keyCode == 13 ) {
			$("#btn_search").click();
		}
	});
	
	$("#btn_excel").click(function(event) {
		event.stopPropagation(); // Do not propagate the event.
		// Create an object that will manage to download the file.
		var merge = new Array();
		gridToExcelSubmit(url_excel, "LIST_GRID_TO_EXCEL", $("#grid"), $("#ajaxForm"), "배치 세부 기관 관리", merge);
		return false;
	});

	$("#btn_download").click(function() {
		let selectedVal = "";
		const rowIds = $("#grid").getGridParam("selarrrow");
		
		rowIds.forEach(rowId => {
			selectedVal += "," + $("#grid").getRowData(rowId).BJOBBZWKDSTCD + '_' + $("#grid").getRowData(rowId).OSIDINSTIDSTCD;
		});
		
		if( selectedVal != "" ) selectedVal = selectedVal.substring(1);
		
		var url ='<c:url value="/loader.do" />';
		url += '?cmd=systemInstMan';
		url += '&control=download';
		url += '&serviceType=' + sessionStorage["serviceType"];
		url += '&fileName=systemInstMan';
		url += '&selectedVal=' + selectedVal;
		url += '&' + getSearchUrl();

		goNav(url);
	});
	
	$("#multiform").on('submit', fileupload);
	$('#btn_upload').click(function() {
		if( confirm( "동일한 이름의 경우 기존내용을 수정합니다.\n\n업로드 하시겠습니까?" ) != true ) return;
		
		if( window.FormData !== undefined ) {
			$("input[name=file]").click();
		} else {
			if( $("input[name=file]").val() == "" ) return;
			$("#multiform").submit();
		}
	});

	if( window.FormData !== undefined ) {
		$("input[name=file]").change(function(ev) {
			var filename = $(this).val().split('\\').pop();
			
			if( !filename.startsWith('systemInstMan') ) {
				alert("배치 세부기관 관리 JSON 파일을 선택하십시오.\n\n[파일명 : systemInstMan.json]")
				return false;
			}

			if( filename == "" ) return;
			else $("#multiform").submit();
		});
	}

	if( window.FormData !== undefined ) {
		$("input[name=file]").hide();
	} else {
		$("input[name=file]").show();
	}

	buttonControl();

	$("input[name=searchOsidInstiName]").val()

});

</script>
</head>
<body>
	<div class="right_box">
		<div class="content_top">
			<ul class="path">
				<li><a href="#">${rmsMenuPath}</a></li>
			</ul>
		</div><!-- end content_top -->
		<div class="content_middle" id="title">
			<form id="multiform" method="POST" enctype="multipart/form-data" action="<c:url value="/loader.file"/>">
			<div class="search_wrap">
				<input type="file" id="file" name="file" style="display:inline-block"/>
				<input type="hidden" name="cmd" value="systemInstMan"/>
				<input type="hidden" name="control" value="upload"/>
				<img src="<c:url value="/img/btn_excel.png"/>" id="btn_excel" level="R"/>
				<img src="<c:url value="/img/btn_upload.png"/>" alt="" id="btn_upload" level="W" />
				<img src="<c:url value="/img/btn_download.png"/>" alt="" id="btn_download" level="R" />
				<img src="<c:url value="/img/btn_new.png"/>" alt="" id="btn_new" level="W" />
				<img src="<c:url value="/img/btn_search.png"/>" alt="" id="btn_search" level="R" />
			</div>
			</form>
			<div class="title">배치 세부 기관 관리<span class="tooltip">일괄 전송에서 사용하는 배치 세부 기관 코드를 관리 하는 화면입니다</span></div>
			
			<table class="search_condition" cellspacing=0;>
				<tbody>
					<tr>
						<th style="width:180px;">배치 세부 기관 명</th>
						<td><input type="text" name="searchOsidInstiName" value="${param.searchOsidInstiName}"></td>
						<th style="width:180px;">배치 세부 기관 코드</th>
						<td><input type="text" name="searchOsidInstiDstcd" value="${param.searchOsidInstiDstcd}"></td>
						<th style="width:180px;">배치 기관명</th>
						<td><input type="text" name="searchBjobBzwkName" value="${param.searchBjobBzwkName}"></td>
					</tr>
				</tbody>
			</table>
			<table id="grid" ></table>
			<div id="pager"></div>
		</div><!-- end content_middle -->
	</div><!-- end right_box -->
</body>
</html>

