<?php
//****************************************请求权限****************************************
require("locked.php");                                                                 //*
setlocked(9,"项目余额表—恩格会计管理系统");                                           //*
//****************************************************************************************
$t1=microtime(true);//页面执行起始时间；
include("header.php"); 
include("cnn.php");
?>

<?php 
if(($_SERVER['REQUEST_METHOD']=='POST')&&isset($_POST[qj0])&&isset($_POST[qj1])){
	//提交查询页面；
	echo '<form name="form1" method="post">
	<div align="center">
	<table>
	<caption><strong><font size="+2">项目余额表查找条件</font></strong></caption>
	<tr>
	<td>期间：</td>
	<td><input name="qj0" type="text" style="width:160px" /></td>
	<td>—</td>
	<td><input name="qj1" type="text" style="width:160px" ondblclick="autoQj()" /></td>
	</tr>
	<tr>
	<td>项目名称：</td>
	<td colspan="3">
	<select name="xmName" style="width:160px">
	<option value="0" selected="selected">现金流量</option>
	<option value="1">客户</option>
	<option value="2">个人</option>
	<option value="3">存货</option>
	<option value="4">供应商</option>
	<option value="5">部门</option>
	<option value="6">核算项目</option>
	</select>
	</td>
	</tr>
	<tr>
	<td>
	<select name="serach">
	<option value="id">ID</option>
	<option value="name" selected="selected">名称</option>
	</select>
	</td>
	<td colspan="3">
	<select name="cp">
	<option value="1" selected="selected">包含</option>
	<option value="2">等于</option>
	<option value="3">开头是</option>
	<option value="4">结尾是</option>
	</select>
	<input name="keyword" type="text" style="width:260px" />
	</td>
	</tr>
	<tr>
	<td>数量外币</td>
	<td colspan="3">
	<select name="slwb" style="width:160px">
	<option value="0" selected="selected">否</option>
	<option value="1">是</option>
	</select>
	</td>
	</tr>
	<tr>
	<td colspan="4" align="center"><input id="tj1" name="tj" type="button" onclick="tjcx();" value="提交" /></td>
	</tr>
	</table>
	</div>
	</form>';
	
	//给HTML控件赋值；
	echo '<script language="javascript" type="text/javascript">
	form1.qj0.value="'.$_POST[qj0].'";
	form1.qj1.value="'.$_POST[qj1].'";
	form1.xmName.value="'.$_POST[xmName].'";
	form1.serach.value="'.$_POST[serach].'";
	form1.cp.value="'.$_POST[cp].'";
	form1.keyword.value="'.$_POST[keyword].'";
	form1.slwb.value="'.$_POST[slwb].'";
	</script>';
	
	//数字序号$_POST[xmName]与项目字段名称$col转换；
	switch($_POST[xmName]){
	case 0:
		$col='xjll';
		$colValue='现金流量';
		break;
	case 1:
		$col='kh';
		$colValue='客户';
		break;
	case 2:
		$col='gr';
		$colValue='个人';
		break;
	case 3:
		$col='ch';
		$colValue='存货';
		break;
	case 4:
		$col='gys';
		$colValue='供应商';
		break;
	case 5:
	    $col='bm';
		$colValue='部门';
		break;
	case 6:
	    $col='xm';
		$colValue='核算项目';
		break;
	default:
		break;
	}
	
	//提交数据成功，先构造查询凭证表的SQL语句，然后将查询到的相关数据写入table；
	$strsql='参数列表：'.$_POST[qj0].';'.$_POST[qj1].';'.$col.';'.$_POST[serach].';'.$_POST[cp].';'.$_POST[keyword].';'.$_POST[slwb];
	
	echo '<hr width="95%">';
	echo '<div id="ts" align="center">'.$strsql.'</div>';//显示参数列表及处理时间；
	echo '<hr width="95%">';
	
	//=============================================权限限定=============================================；
	$strsql='select * from power where Uid='.$_SESSION[userid].' and Rname="'.$colValue.'" and Rvalue=-1';
	$sql=$mysqli->query($strsql);
    $info=$sql->fetch_array(MYSQLI_BOTH);
    if(!$info){ //如果不存在数据，说明权限不够；
	    echo '<div align="center">
		      <table width="95%" height="20px" bgcolor="yellow">
			  <tr align="center">
			  <td>
				  <table>
				  <tr>
				  <td height="20px"><img src="picture/alert.gif" width="16" height="16" /></td>
				  <td height="20px">您的权限不够，无法正常显示本页内容。如有需要，请联系管理员。</td>
				  </tr>
				  </table>
			  </td>
			  </tr>
			  </table>
			  </div>';
	}else{
	//=============================================权限限定=============================================；
	
		//调用生成项目余额表的存储过程，生成xmyrb临时表；
		$sql=$mysqli->query("call xmyrbs('".$_POST[qj0]."','".$_POST[qj1]."','".$col."','".$_POST[serach]."','".$_POST[cp]."','".$_POST[keyword]."')");
		
		$strsql='select km,kma,xm,xms,dc,sum(slwb0) as slwb0,sum(dr0) as dr0,sum(cr0) as cr0,sum(ds1) as ds1,sum(dr1) as dr1,sum(cs1) as cs1,sum(cr1) as cr1 from xmyrb group by km,xm order by km,xm;';
		//echo $strsql;
		
		$sql=$mysqli->query($strsql);
		$info=$sql->fetch_array(MYSQLI_BOTH);

		if($info){ //如果存在数据；
			echo '<div align="center">
			<table width="95%">
			<tr><td>
			<a href="V_1.php" target="_blank">新增凭证</a>|
			<a href="javascript:CopyTable(\'tbl1\');">复制数据</a>|
			<a href="javascript:void(MyPreview());">打印数据</a>
			</td></tr>
			</table>
			</div>
			<div id="div1" align="center">
			<table id="tbl1" border="1" width="95%" cellspacing="0">
			<caption><strong><font size="+2">项目余额表</font></strong></caption>';
			//汇总金额计算变量；
			$qcyr=0;
			$sumdr=0;
			$sumcr=0;
			$qmyr=0;
			if($_POST[slwb]==0){//不含数量外币列；
				echo '<thead><tr>
				<td align="center">会计科目</td>
				<td align="center">科目全称</td>
				<td align="center">项目代码</td>
				<td align="center">项目名称</td>
				<td align="center">方向</td>
				<td align="center">期初余额</td>
				<td align="center">借方金额</td>
				<td align="center">贷方金额</td>
				<td align="center">期末余额</td>
				</tr></thead>';
				do{
					if($info[dc]=="借方"){
						echo '<tr onmouseover="trMouseover(this)" onmouseout="trMouseout(this)">';
						echo '<td align="left">'.$info[km].'</td>';	
						echo '<td align="left">'.$info[kma].'</td>';
						echo '<td align="left"><a href="javascript:mxs('.$info[km].',\'a\','.@round($info[dr0]-$info[cr0],2).','.$_POST[qj0].','.$_POST[qj1].','.$_POST[xmName].','.$info[xm].');">'.$info[xm].'</a></td>';	
						echo '<td align="left">'.$info[xms].'</td>';
						echo '<td align="center">'.$info[dc].'</td>';
						echo '<td align="right">'.@number_format($info[dr0]-$info[cr0],2).'</td>';
						echo '<td align="right">'.@number_format($info[dr1],2).'</td>';
						echo '<td align="right">'.@number_format($info[cr1],2).'</td>';
						echo '<td align="right">'.@number_format($info[dr0]-$info[cr0]+$info[dr1]-$info[cr1],2).'</td>';
						echo '</tr>';
						$qcyr+=$info[dr0]-$info[cr0];
						$sumdr+=$info[dr1];
						$sumcr+=$info[cr1];
						$qmyr+=$info[dr0]-$info[cr0]+$info[dr1]-$info[cr1];
					}else{
						echo '<tr onmouseover="trMouseover(this)" onmouseout="trMouseout(this)">';
						echo '<td align="left">'.$info[km].'</td>';	
						echo '<td align="left">'.$info[kma].'</td>';
						echo '<td align="left"><a href="javascript:mxs('.$info[km].',\'a\','.@round($info[cr0]-$info[dr0],2).','.$_POST[qj0].','.$_POST[qj1].','.$_POST[xmName].','.$info[xm].');">'.$info[xm].'</a></td>';	
						echo '<td align="left">'.$info[xms].'</td>';
						echo '<td align="center">'.$info[dc].'</td>';
						echo '<td align="right">'.@number_format($info[cr0]-$info[dr0],2).'</td>';
						echo '<td align="right">'.@number_format($info[dr1],2).'</td>';
						echo '<td align="right">'.@number_format($info[cr1],2).'</td>';
						echo '<td align="right">'.@number_format($info[cr0]-$info[dr0]+$info[cr1]-$info[dr1],2).'</td>';
						echo '</tr>';
						$qcyr+=$info[cr0]-$info[dr0];
						$sumdr+=$info[dr1];
						$sumcr+=$info[cr1];
						$qmyr+=$info[cr0]-$info[dr0]+$info[cr1]-$info[dr1];
					}
				}while($info=$sql->fetch_array(MYSQLI_BOTH));
				echo '<tr onmouseover="trMouseover(this)" onmouseout="trMouseout(this)">
				<td></td>
				<td></td>
				<td align="center">小计：</td>
				<td></td>
				<td></td>
				<td align="right">'.@number_format($qcyr,2).'</td>
				<td align="right">'.@number_format($sumdr,2).'</td>
				<td align="right">'.@number_format($sumcr,2).'</td>
				<td align="right">'.@number_format($qmyr,2).'</td>
				</tr>';
			}else{//包含数量外币列；
				echo '<thead><tr>
				<td align="center">会计科目</td>
				<td align="center">科目全称</td>
				<td align="center">项目代码</td>
				<td align="center">项目名称</td>
				<td align="center">方向</td>
				<td align="center">期初数量</td>
				<td align="center">期初单价</td>
				<td align="center">期初余额</td>
				<td align="center">借方数量</td>
				<td align="center">借方单价</td>
				<td align="center">借方金额</td>
				<td align="center">贷方数量</td>
				<td align="center">贷方单价</td>
				<td align="center">贷方金额</td>
				<td align="center">期末数量</td>
				<td align="center">期末单价</td>
				<td align="center">期末余额</td>
				</tr></thead>';
				do{
					if($info[dc]=="借方"){
						echo '<tr onmouseover="trMouseover(this)" onmouseout="trMouseout(this)">';
						echo '<td align="left">'.$info[km].'</td>';	
						echo '<td align="left">'.$info[kma].'</td>';
						echo '<td align="left"><a href="javascript:mxs('.$info[km].','.$info[slwb0].','.@round($info[dr0]-$info[cr0],2).','.$_POST[qj0].','.$_POST[qj1].','.$_POST[xmName].','.$info[xm].');">'.$info[xm].'</a></td>';	
						echo '<td align="left">'.$info[xms].'</td>';
						echo '<td align="center">'.$info[dc].'</td>';
						echo '<td align="center">'.@round($info[slwb0],2).'</td>';
						echo '<td align="right">'.@number_format(($info[dr0]-$info[cr0])/$info[slwb0],2).'</td>';
						echo '<td align="right">'.@number_format($info[dr0]-$info[cr0],2).'</td>';
						echo '<td align="center">'.@round($info[ds1],2).'</td>';
						echo '<td align="right">'.@number_format($info[dr1]/$info[ds1],2).'</td>';
						echo '<td align="right">'.@number_format($info[dr1],2).'</td>';
						echo '<td align="center">'.@round($info[cs1],2).'</td>';
						echo '<td align="right">'.@number_format($info[cr1]/$info[cs1],2).'</td>';
						echo '<td align="right">'.@number_format($info[cr1],2).'</td>';
						echo '<td align="center">'.@round($info[slwb0]+$info[ds1]-$info[cs1],2).'</td>';
						echo '<td align="right">'.@number_format(($info[dr0]-$info[cr0]+$info[dr1]-$info[cr1])/($info[slwb0]+$info[ds1]-$info[cs1]),2).'</td>';
						echo '<td align="right">'.@number_format($info[dr0]-$info[cr0]+$info[dr1]-$info[cr1],2).'</td>';
						echo '</tr>';
						$qcyr+=$info[dr0]-$info[cr0];
						$sumdr+=$info[dr1];
						$sumcr+=$info[cr1];
						$qmyr+=$info[dr0]-$info[cr0]+$info[dr1]-$info[cr1];
					}else{
						echo '<tr onmouseover="trMouseover(this)" onmouseout="trMouseout(this)">';
						echo '<td align="left">'.$info[km].'</td>';	
						echo '<td align="left">'.$info[kma].'</td>';
						echo '<td align="left"><a href="javascript:mxs('.$info[km].','.$info[slwb0].','.@round($info[cr0]-$info[dr0],2).','.$_POST[qj0].','.$_POST[qj1].','.$_POST[xmName].','.$info[xm].');">'.$info[xm].'</a></td>';	
						echo '<td align="left">'.$info[xms].'</td>';
						echo '<td align="center">'.$info[dc].'</td>';
						echo '<td align="center">'.@round($info[slwb0],2).'</td>';
						echo '<td align="right">'.@number_format(($info[cr0]-$info[dr0])/$info[slwb0],2).'</td>';
						echo '<td align="right">'.@number_format($info[cr0]-$info[dr0],2).'</td>';
						echo '<td align="center">'.@round($info[ds1],2).'</td>';
						echo '<td align="right">'.@number_format($info[dr1]/$info[ds1],2).'</td>';
						echo '<td align="right">'.@number_format($info[dr1],2).'</td>';
						echo '<td align="center">'.@round($info[cs1],2).'</td>';
						echo '<td align="right">'.@number_format($info[cr1]/$info[cs1],2).'</td>';
						echo '<td align="right">'.@number_format($info[cr1],2).'</td>';
						echo '<td align="center">'.@round($info[slwb0]-$info[ds1]+$info[cs1],2).'</td>';
						echo '<td align="right">'.@number_format(($info[cr0]-$info[dr0]+$info[cr1]-$info[dr1])/($info[slwb0]-$info[ds1]+$info[cs1]),2).'</td>';
						echo '<td align="right">'.@number_format($info[cr0]-$info[dr0]+$info[cr1]-$info[dr1],2).'</td>';
						echo '</tr>';
						$qcyr+=$info[cr0]-$info[dr0];
						$sumdr+=$info[dr1];
						$sumcr+=$info[cr1];
						$qmyr+=$info[cr0]-$info[dr0]+$info[cr1]-$info[dr1];
					}
				}while($info=$sql->fetch_array(MYSQLI_BOTH));
				echo '<tr onmouseover="trMouseover(this)" onmouseout="trMouseout(this)">
				<td></td>
				<td></td>
				<td align="center">小计：</td>
				<td></td>
				<td></td>
				<td></td>
				<td></td>
				<td align="right">'.number_format($qcyr,2).'</td>
				<td></td>
				<td></td>
				<td align="right">'.number_format($sumdr,2).'</td>
				<td></td>
				<td></td>
				<td align="right">'.number_format($sumcr,2).'</td>
				<td></td>
				<td></td>
				<td align="right">'.number_format($qmyr,2).'</td>
				</tr>';
			}
			echo '</table></div>';
		}else{
			echo '<div align="center">未检索到相关数据；</div>';
		}
		$sql->free();
		$mysqli->close();
	}
?>
<script language="javascript" type="text/javascript">
//限制频繁点击提交按钮，再次提交需要等待三秒；
document.getElementById("tj1").disabled=true;
setTimeout("getTj()",3000)
function getTj(){
	document.getElementById("tj1").disabled=false;
}
</script>
<?PHP
}else{//非提交查询页面；
    $strsql='select distinct qj from V1 order by qj desc';
	$sql=$mysqli->query($strsql);
    $info=$sql->fetch_array(MYSQLI_BOTH);
	if($info){
		echo '<form name="form1" method="post">
		<div align="center">
		<table>
		<caption><strong><font size="+2">项目余额表查找条件</font></strong></caption>
		<tr>
		<td>期间：</td>
		<td><input name="qj0" type="text" style="width:160px" value="'.$info[qj].'"/></td>
		<td>—</td>
		<td><input name="qj1" type="text" style="width:160px" ondblclick="autoQj()" value="'.$info[qj].'"/></td>
		</tr>
		<tr>
		<td>项目名称：</td>
		<td colspan="3">
		<select name="xmName" style="width:160px">
		<option value="0" selected="selected">现金流量</option>
		<option value="1">客户</option>
		<option value="2">个人</option>
		<option value="3">存货</option>
		<option value="4">供应商</option>
		<option value="5">部门</option>
		<option value="6">核算项目</option>
		</select>
		</td>
		</tr>
		<tr>
		<td>
		<select name="serach">
		<option value="id">ID</option>
		<option value="name" selected="selected">名称</option>
		</select>
		</td>
		<td colspan="3">
		<select name="cp">
		<option value="1" selected="selected">包含</option>
		<option value="2">等于</option>
		<option value="3">开头是</option>
		<option value="4">结尾是</option>
		</select>
		<input name="keyword" type="text" style="width:260px" />
		</td>
		</tr>
		<tr>
		<td>数量外币</td>
		<td colspan="3">
		<select name="slwb" style="width:160px">
		<option value="0" selected="selected">否</option>
		<option value="1">是</option>
		</select>
		</td>
		</tr>
		<tr>
		<td colspan="4" align="center"><input name="tj" type="button" onclick="tjcx();" value="提交" /></td>
		</tr>
		</table>
		</div>
		</form>';
	}else{
		echo '<form name="form1" method="post">
		<div align="center">
		<table>
		<caption><strong><font size="+2">操作提示</font></strong></caption>
		<tr>
		<td>凭证表中暂无任何数据！</td>
		</tr>
		</table>
		</div>
		</form>';
	}
}
?>

<script language="javascript" src="LodopFuncs.js"></script>

<script language="javascript" type="text/javascript">
<!--
//自动将起始期间填入终止期间；
function autoQj(){
	form1.qj1.value=form1.qj0.value;
}
//自动将起始会计科目填入终止期间；
function autoKm(){
	form1.km1.value=form1.km0.value;
}
//提交查询凭证条件；
function tjcx(){
	//查找凭证时必须保证期间条件完整；
	if(form1.qj0.value==""){
		alert("请输入起始期间！");
		form1.qj0.focus();
		return false;
	}
	
	if(isNaN(form1.qj0.value)){
		alert("起始期间必须为数字！");
		form1.qj0.focus();
		return false;
	}
	
	if(form1.qj1.value==""){
		alert("请输入终止期间！");
		form1.qj1.focus();
		return false;
	}
	
	if(isNaN(form1.qj1.value)){
		alert("终止期间必须为数字！");
		form1.qj1.focus();
		return false;
	}
	
	if(form1.qj0.value>form1.qj1.value){
		alert("终止期间小于起始期间！");
		form1.qj1.focus();
		return false;
	}

	form1.submit();
}

function mxs(km,slwb,yr,qj0,qj1,xm,xms){
	var aW=screen.availWidth;
	var aH=screen.availHeight;
	var urlstr='Vbook_xmyrbsub.php?km='+km+'&slwb='+slwb+'&yr='+yr+'&qj0='+qj0+'&qj1='+qj1+'&xm='+xm+'&xms='+xms;
	window.open(urlstr,'','left=0,top=0,width='+aW+',height='+aH+',scrollbars=yes,resizable=yes');
}

function CopyTable(tableid){
//将网页表格数据成功复制到剪切板上；
try{
	var tbl=document.getElementById(tableid);
	var arr=new Array();
	for(var i=0,j=tbl.rows.length;i<j;i++){
		for(var m=0,n=tbl.rows[i].cells.length;m<n;m++){
			arr.push(tbl.rows[i].cells[m].innerText);
			if(m<n-1)arr.push("\t");
		}
		if(i<j-1)arr.push("\n");
	}
	var str=arr.join("");
	window.clipboardData.setData('text',str);
	alert('成功复制表格数据！');
}catch(error){
	alert('您的浏览器不支持复制功能！');
}finally{
	
}
}

var strLastColor;//记录鼠标经过表格行前表格原来的底色；

function trMouseover(tableTr){//鼠标经过表格行时的颜色；
    strLastColor=tableTr.style.background;
	tableTr.style.background="yellow";
}

function trMouseout(tableTr){//鼠标离开表格行时的颜色；
	tableTr.style.background=strLastColor;
}

var LODOP; //声明为全局变量

function MyPreview(){
	LODOP=getLodop();
	LODOP.PRINT_INIT("科目余额表打印");
	LODOP.SET_PRINT_PAGESIZE (2,0,0,"A4");
	LODOP.ADD_PRINT_TABLE("2%","2%","100%","100%",document.getElementById("div1").innerHTML);
	LODOP.PREVIEW();
}

//自动加载高亮显示；
HighLight();

//-->
</script>

<?php 
$t2=microtime(true);//页面执行终止时间；
//给HTML控件赋值；
echo '<script language="javascript" type="text/javascript">document.getElementById("ts").innerHTML+="，耗时 '.round($t2-$t1,4).' 秒。";</script>';
	
include("footer.php");
?>