/**
 * 库存查询
 */
var myColumns=[];
$(function(){
	getColumns();
	getLocStatusList();
	
	$('#stk-mast').bootstrapTable('destroy');
	$('#stk-mast').bootstrapTable({
		method : 'GET',
		url: "stock/locationList.action",
		cache : false,
		striped : true,
		pagination : true, //在表格底部显示分页工具栏
		pageSize : 5, //默认每页条数
		pageNumber : 1, //默认分页
		pageList : [5],//分页数
		showColumns : false, //显示隐藏列
		showRefresh : false, //显示刷新按钮
		showExport : false,
		toolbar:"#toolbar",
		singleselect : true,
		clickToSelect: true, // 单击行即可以选中
		search : false,//显示搜素表单
		silent : true, //刷新事件必须设置
		sidePagination : "server", //表示服务端请求  
		// singleSelect    : true,
		columns : [{
			checkbox:true
		}   ,{
			field : "loc_no",
			title : "库位号",
			class : 'col-md-1',
			align : "center",
			valign : "middle",
			sortable : "true"
		}, {
			field : "loc_sts_name",
			title : "库位状态",
			align : "center",
			valign : "middle",
		}, {
			field : "crn_no",
			title : "堆垛机号",
			align : "center",
			valign : "middle",
		}, {
			field : "row1",
			title : "排",
			align : "center",
			valign : "middle",
			sortable : "true"
		}, {
			field : "bay1",
			title : "列",
			align : "center",
			valign : "middle",
			sortable : "true"
		}, {
			field : "lev1",
			title : "层",
			align : "center",
			valign : "middle",
			sortable : "true"
		}, {
			field : "full_plt",
			title : "满板",
			align : "center",
			valign : "middle",
			sortable : "true",
			formatter : function(value, row, index) {
				var result = 'N';
				if(value=='Y')
					result='';
				else
					result='';
				return result
			}
		}, {
			field : "loc_type",
			title : "库位别",
			align : "center",
			valign : "middle",
			sortable : "true"
		}, {
			field : "modi_user",
			title : "修改人员",
			align : "center",
			valign : "middle",
			sortable : "true"
		}, {
			field : "modi_time",
			title : "修改时间",
			align : "center",
			valign : "middle",
			sortable : "true"
		}, {
			field : "barcode",
			title : "条码",
			align : "center",
			valign : "middle",
			visible : false,
			sortable : "true"
		}, {
            field: 'operate',
            title: '操作',
//           class : 'col-md-2',
            align: 'center',
            valign: 'middle',
           formatter: operateFormatter
        }],
		queryParamsType: "undefined",
        queryParams: function queryParams(params) {   //设置查询参数
            var param = {
                pageNumber: params.pageNumber,
                pageSize: params.pageSize,
                loc_no:$("#loc_no").val(),
                loc_sts:$("#loc_sts").val(),
                crn_no:$("#crn_no").val(),
                row1:$("#row1").val(),
                bay1:$("#bay1").val(),
                lev1:$("#lev1").val()
                // searchText: params.searchText
            };
            return param;
        },
		formatLoadingMessage : function() {
			return "请稍等,正在加载中...";
		},
		formatNoMatches : function() {
			return '无符合条件的记录';
		},
		 //注册加载子表的事件。注意下这里的三个参数!
       onExpandRow: function (index, row, $detail) {
            oInit.InitSubTable(index, row, $detail);
        }
		,
//		onCheck:function(row){
////			alert(row.menu_name);
//		},onUncheck:function(row){
////          alert('取消选中');       
//        },
        onClickRow:function (row,$element) {
            $('.info').removeClass('info');
            $($element).addClass('info');
            $("#detail_loc_no").val(row.loc_no);
            $("#stk-detail").bootstrapTable('refreshOptions',{pageNumber:1});
//            getvalue(row.loc_no);
        }
	});
	
	initStkDetail();
	
}); 
function operateFormatter(value, row, index) {
	var bl='none';//'none';
	if(row.loc_sts=='F'){
		bl='inline';
	}
    return [
        ''
        ].join('');
}
/**
 * 初始化库存明细table
 * @returns
 */
function initStkDetail(){
	$('#stk-detail').bootstrapTable('destroy');
	$('#stk-detail').bootstrapTable({
		method : 'GET',
		url: "stock/stkDetailList.action",
		cache : false,
		striped : true,
		pagination : true, //在表格底部显示分页工具栏
		pageSize : 4, //默认每页条数
		pageNumber : 1, //默认分页
		pageList : [5, 10, 15, 20],//分页数
		showColumns : true, //显示隐藏列
		showRefresh : false, //显示刷新按钮
		showExport : false,
		toolbar:"#toolbar",
		singleselect : true,
		clickToSelect: true, // 单击行即可以选中
		search : false,//显示搜素表单
		silent : true, //刷新事件必须设置
		sidePagination : "server", //表示服务端请求  
//		singleSelect    : true,
		columns : myColumns,
//		[{
//			field : "loc_no",
//			title : "库位号",
//			class : 'col-md-1',
//			align : "center",
//			valign : "middle",
//			sortable : "true"
//		}, {
//			field : "mat_no",
//			title : "物料编码",
//			align : "center",
//			valign : "middle",
//		}, {
//			field : "mat_name",
//			title : "物料名称",
//			align : "center",
//			valign : "middle",
//		}, {
//			field : "qty",
//			title : "数量",
//			align : "center",
//			valign : "middle",
//			sortable : "true"
////		}, {
////			field : "ctns",
////			title : "箱数",
////			align : "center",
////			valign : "middle",
////			sortable : "true"
////		}, {
////			field : "wt",
////			title : "重量",
////			align : "center",
////			valign : "middle",
////			sortable : "true"
//		}, {
//			field : "memo",
//			title : "备注",
//			align : "center",
//			valign : "middle",
//			sortable : "true"
//		}, {
//			field : "modi_user",
//			title : "修改人员",
//			align : "center",
//			valign : "middle",
//			sortable : "true"
//		}, {
//			field : "modi_time",
//			title : "修改时间",
//			align : "center",
//			valign : "middle",
//			sortable : "true"
//        }],
		queryParamsType: "undefined",
        queryParams: function queryParams(params) {   //设置查询参数
            var param = {
                pageNumber: params.pageNumber,
                pageSize: params.pageSize,
                loc_no:$("#detail_loc_no").val()
            };
            return param;
        },
		formatLoadingMessage : function() {
			return "请稍等,正在加载中...";
		},
		formatNoMatches : function() {
			return '无符合条件的记录';
		},
		 //注册加载子表的事件。注意下这里的三个参数!
       onExpandRow: function (index, row, $detail) {
            oInit.InitSubTable(index, row, $detail);
        }
	});
}
function getColumns() {
	myColumns=[];
//	var myColumns=[];
	// 加载动态表格
	$.ajax({
		url : $("#PageContext").val() + "/matColumn.json",
		type : 'get',
		dataType : "json",
		async : false,
		success : function(returnValue) {
			// 未查询到相应的列,展示默认列
			if (returnValue.retCode == "0") {
				//没查到列的时候把之前的列再给它
				myColumns = $table.bootstrapTable('getOptions').columns[0];
			} else {
				// 异步获取要动态生成的列
				myColumns.push({
					field : "loc_no",
					title : "库位号",
					class : 'col-md-1',
					align : "center",
					valign : "middle",
					sortable : "true"
		        });
				var arr = returnValue.data;
				$.each(arr, function(i, item) {
//					alert(item.ColumnCode);
//					myColumns.push(item.ColumnCode);
					myColumns.push({
						"field" : item.ColumnCode,
						"title" : item.ColumnName,
//						"hide" : true,
						"visible" : item.visible,
						"align" : item.align,//'center',
						"valign" : item.valign//'middle'
					});
				});
			}
//			console.log(myColumns);
//			alert(myColumns.toString());
//			return myColumns;
		}
	});
}
/**
 * 库位状态列表
 * @returns
 */
function getLocStatusList(){
	$.ajax({
		url:'basic/getLocStatus.action',
		dataType:'json',
		type:'post',
		data:{
			pageNumber:1,
			pageSize:1000
		},
		success:function(data){
			$("#loc_sts").empty();
			$("#loc_sts").append("");
			$.each(data.rows,function(){
				$("#loc_sts").append("");
			});
						
		},
		error:function(){
			alert("请求失败!");
		}
	});
}
/**
 * 条件查询库位
 * @returns
 */
function getLocationByCon(){
//	$("#stk-mast").bootstrapTable('refresh');
	$("#stk-mast").bootstrapTable('refreshOptions',{pageNumber:1}); //分页后重新搜索时,初始化页码为1
	$("#detail_loc_no").val("A");
	$("#stk-detail").bootstrapTable('refreshOptions',{pageNumber:1});
}
function getStkDetail(){
//	$("#stk-mast").bootstrapTable('refresh');
	$("#stk-detail").bootstrapTable('refreshOptions',{pageNumber:1}); //分页后重新搜索时,初始化页码为1
}
/**
 * 根据主档loc_no查询明细
 * @returns
 */
function getvalue(id){
	alert('查询明细' + id);
	return;
	$.ajax({
		url:'stock/queryLocationById.action',
		type:'post',
		dataType:'json',
		data:{did:id},
		success:function(data){
			$("#loc_no").val(data.loc_no);
		},
		error:function(){
			alert("请求失败");
		}
	});
	getStkDetail();
}
/**
 * 调用SAP接口,同步更新ASRS库存
 * @returns
 */
function syncStock(loc_no,barcode){
//	alert('同步接口测试');
//	return;
	if(confirm('确认从SAP同步库存到库位?库位号:' + loc_no)){
		$.ajax({
			url:'stock/syncStockFromSap.action',
			type:'post',
			dataType:'json',
			data:{
				loc_no:loc_no,
				barcode:barcode
				},
			success:function(data){
				if(data>0){
					alert("同步成功");
				}else{
					alert("同步失败");
				}
				$("#test-table").bootstrapTable('refresh');
			},
			error:function(){
				alert("请求失败");
			}
		});
	}else{
		return false;
	}
}
/** * 批量更新库存 * @param value * @returns */
function syncStocks(value){
	var loc_obj=[];
	//获取选中的行
	var a= $('#stk-mast').bootstrapTable('getSelections');
	if(a.length>0){
		if (confirm("更新被勾选库位的库存?")){
			$.each(a,function(index){
				loc_obj.push({
					locNo: a[index].loc_no,
					barcode: a[index].barcode,
				});
			});
			$.ajax({
				url:'stock/syncStocksFromSap.action',
				type:'post',
				dataType:'text',
				contentType:"application/json",
				data: JSON.stringify(loc_obj),
				success:function(data){
					console.log(data);
					alert(data);
					$("#test-table").bootstrapTable('refresh');
				},
				error:function(res){
					alert("请求失败");
				}
			});
		}else {
			return false;
		}
	}else{
		alert("请至少选中一行数据");
	}
}
$('#excel-file').change(function (e) {
	var files = e.target.files;
	var fileReader = new FileReader();
	fileReader.onload = function (ev) {
		try {
			var data = ev.target.result,
				workbook = XLSX.read(data, {
					type: 'binary'
				}), // 以二进制流方式读取得到整份excel表格对象
				persons = []; // 存储获取到的数据
		} catch (e) {
			alert('文件类型不正确');
			return;
		}
		// 遍历每张表读取
		for (var sheet in workbook.Sheets) {
			if (workbook.Sheets.hasOwnProperty(sheet)) {
				var fromTo = workbook.Sheets[sheet]['!ref'];
				var datas = workbook.Sheets[sheet];
				// 如果有不规范数据可以在这里进行处理datas
				persons = persons.concat(XLSX.utils.sheet_to_json(datas));
				break; // 只读了第一张表
			}
		}
		var loc_obj=[];
		for (var i=0;i