<?php
//****************************************请求权限****************************************
require("locked.php");                                                                 //*
setlocked(10);                                                                          //*
//****************************************************************************************
echo '<title>科目明细账—恩格会计软件</title>';
?>

<?php 
if(($_SERVER['REQUEST_METHOD']=='GET')&&isset($_GET[km])){
	//提交查询页面；
	include("cnn.php");
	//取出与会计科目前面数值相似的最后一条id信息；
	$strsqlkm='select id from account where id like "'.$_GET[km].'%" order by id desc';
	$sqlkm=$mysqli->query($strsqlkm);
    $infokm=$sqlkm->fetch_array(MYSQLI_BOTH);
	//调用生成科目余额表的存储过程，生成kmyrb临时表；
	//kmyrbs存储过程参数：起始期间，终止期间，起始科目，终止科目，是否记账，是否包含项目，是否统计期初数；
	$mysqli->query("call kmyrbs('".$_GET[qj0]."','".$_GET[qj1]."','".$_GET[km]."','".$infokm[id]."','".$_GET[jz]."','0','0')");
	//查询临时表数据；
	$strsql='select ywrq,lrrq,qj,pzh,zy,km,kma,dc,ds1,dr1,cs1,cr1 from kmyrb where km='.$_GET[km].' and t=1 order by qj,pzh,xh';
	$sql=$mysqli->query($strsql);
    $info=$sql->fetch_array(MYSQLI_BOTH);
    if($info){ //如果存在数据；
	    if($_GET[slwb]=='a'){//不含有数量外币列；
			echo '<div align="center">
			<table width="95%">
			<tr><td>
			<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">'.$info[km].'—'.$info[kma].'</font></strong></caption>
			<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>
			</tr></thead>';
			echo '<tr onmouseover="trMouseover(this)" onmouseout="trMouseout(this)" style="background:#CCC">
			<td></td>
			<td></td>
			<td></td>
			<td></td>
			<td>上期结转</td>
			<td>'.$info[km].'</td>
			<td>'.$info[kma].'</td>
			<td align="center">'.$info[dc].'</td>
			<td></td>
			<td></td>
			<td align="right">'.@number_format($_GET[yr],2).'</td>
			</tr>';
			$yr=$_GET[yr];
			$qjStr=$info[qj];
			do{
				//如果上一期间不等于本次期间数据，写入“本期小计”和“本期累计”行；
				if($qjStr!=$info[qj]){
					echo '<tr onmouseover="trMouseover(this)" onmouseout="trMouseout(this)" style="background:#CCC">
					  <td></td>
					  <td></td>
					  <td align="center">'.$qjStr.'</td>
					  <td></td>
					  <td>本期小计</td>
					  <td></td>
					  <td></td>
					  <td></td>
					  <td align="right">'.@number_format($sumDr,2).'</td>
					  <td align="right">'.@number_format($sumCr,2).'</td>
					  <td></td>
					  </tr>';
					echo '<tr onmouseover="trMouseover(this)" onmouseout="trMouseout(this)" style="background:#CCC">
					  <td></td>
					  <td></td>
					  <td align="center">'.$qjStr.'</td>
					  <td></td>
					  <td>本期累计</td>
					  <td></td>
					  <td></td>
					  <td></td>
					  <td align="right">'.@number_format($sumDrAll,2).'</td>
					  <td align="right">'.@number_format($sumCrAll,2).'</td>
					  <td></td>
					  </tr>';
					  //每一期结束后本期小计清零；
					  $sumDr=0;
					  $sumCr=0;
				}
				//写入当期数据；
				if($info[dc]=="借方"){
					$yr+=$info[dr1]-$info[cr1];
					echo '<tr onmouseover="trMouseover(this)" onmouseout="trMouseout(this)">';
					echo '<td align="left">'.$info[ywrq].'</td>';
					echo '<td align="left">'.$info[lrrq].'</td>';
					echo '<td align="center">'.$info[qj].'</td>';
					echo '<td align="center"><a href="javascript:editV('.$info[qj].','.$info[pzh].');">'.$info[pzh].'</a></td>';
					echo '<td align="left">'.$info[zy].'</td>';
					echo '<td align="left">'.$info[km].'</td>';
					echo '<td align="left">'.$info[kma].'</td>';
					echo '<td align="center">'.$info[dc].'</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($yr,2).'</td>';
					echo '</tr>';
				}else{
					$yr+=$info[cr1]-$info[dr1];
					echo '<tr onmouseover="trMouseover(this)" onmouseout="trMouseout(this)">';
					echo '<td align="left">'.$info[ywrq].'</td>';
					echo '<td align="left">'.$info[lrrq].'</td>';
					echo '<td align="center">'.$info[qj].'</td>';
					echo '<td align="center"><a href="javascript:editV('.$info[qj].','.$info[pzh].');">'.$info[pzh].'</a></td>';
					echo '<td align="left">'.$info[zy].'</td>';
					echo '<td align="left">'.$info[km].'</td>';
					echo '<td align="left">'.$info[kma].'</td>';
					echo '<td align="center">'.$info[dc].'</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($yr,2).'</td>';
					echo '</tr>';
				}
				$qjStr=$info[qj];
				$sumDr+=$info[dr1];//本期小计
				$sumCr+=$info[cr1];
				$sumDrAll+=$info[dr1];//本期累计
				$sumCrAll+=$info[cr1];
			}while($info=$sql->fetch_array(MYSQLI_BOTH));
			//写入最后一期合计数据；
			echo '<tr onmouseover="trMouseover(this)" onmouseout="trMouseout(this)" style="background:#CCC">
				  <td></td>
				  <td></td>
				  <td align="center">'.$qjStr.'</td>
				  <td></td>
				  <td>本期小计</td>
				  <td></td>
				  <td></td>
				  <td></td>
				  <td align="right">'.@number_format($sumDr,2).'</td>
				  <td align="right">'.@number_format($sumCr,2).'</td>
				  <td></td>
				  </tr>';
			echo '<tr onmouseover="trMouseover(this)" onmouseout="trMouseout(this)" style="background:#CCC">
				  <td></td>
				  <td></td>
				  <td align="center">'.$qjStr.'</td>
				  <td></td>
				  <td>本期累计</td>
				  <td></td>
				  <td></td>
				  <td></td>
				  <td align="right">'.@number_format($sumDrAll,2).'</td>
				  <td align="right">'.@number_format($sumCrAll,2).'</td>
				  <td></td>
				  </tr>';
			echo '</table></div>';
		}else{//包含数量外币列；
			echo '<div align="center">
			<table width="95%">
			<tr><td>
			<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">'.$info[km].'—'.$info[kma].'</font></strong></caption>
			<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>';
			echo '<tr onmouseover="trMouseover(this)" onmouseout="trMouseout(this)" style="background:#CCC">
			<td></td>
			<td></td>
			<td></td>
			<td></td>
			<td>上期结转</td>
			<td>'.$info[km].'</td>
			<td>'.$info[kma].'</td>
			<td align="center">'.$info[dc].'</td>
			<td></td>
			<td></td>
			<td></td>
			<td></td>
			<td></td>
			<td></td>
			<td align="center">'.@round($_GET[slwb],2).'</td>
			<td align="right">'.@number_format($_GET[yr]/$_GET[slwb],2).'</td>
			<td align="right">'.@number_format($_GET[yr],2).'</td>
			</tr>';
			$slwb=$_GET[slwb];
			$yr=$_GET[yr];
			$qjStr=$info[qj];
			do{
				//如果上一期间不等于本次期间数据，写入“本期小计”和“本期累计”行；
				if($qjStr!=$info[qj]){
					echo '<tr onmouseover="trMouseover(this)" onmouseout="trMouseout(this)" style="background:#CCC">
					  <td></td>
					  <td></td>
					  <td align="center">'.$qjStr.'</td>
					  <td></td>
					  <td>本期小计</td>
					  <td></td>
					  <td></td>
					  <td></td>
					  <td align="center">'.@round($sumDs,2).'</td>
					  <td align="right">'.@number_format($sumDr/$sumDs,2).'</td>
					  <td align="right">'.@number_format($sumDr,2).'</td>
					  <td align="center">'.@round($sumCs,2).'</td>
					  <td align="right">'.@number_format($sumCr/$sumCs,2).'</td>
					  <td align="right">'.@number_format($sumCr,2).'</td>
					  <td></td>
					  <td></td>
					  <td></td>
					  </tr>';
					echo '<tr onmouseover="trMouseover(this)" onmouseout="trMouseout(this)" style="background:#CCC">
					  <td></td>
					  <td></td>
					  <td align="center">'.$qjStr.'</td>
					  <td></td>
					  <td>本期累计</td>
					  <td></td>
					  <td></td>
					  <td></td>
					  <td align="center">'.@round($sumDsAll,2).'</td>
					  <td align="right">'.@number_format($sumDrAll/$sumDsAll,2).'</td>
					  <td align="right">'.@number_format($sumDrAll,2).'</td>
					  <td align="center">'.@round($sumCsAll,2).'</td>
					  <td align="right">'.@number_format($sumCrAll/$sumCsAll,2).'</td>
					  <td align="right">'.@number_format($sumCrAll,2).'</td>
					  <td></td>
					  <td></td>
					  <td></td>
					  </tr>';
					  //每一期结束后本期小计清零；
					  $sumDs=0;
					  $sumDr=0;
					  $sumCs=0;
					  $sumCr=0;
				}
				//写入当期数据；
				if($info[dc]=="借方"){
					$slwb+=$info[ds1]-$info[cs1];
					$yr+=$info[dr1]-$info[cr1];
					echo '<tr onmouseover="trMouseover(this)" onmouseout="trMouseout(this)">';
					echo '<td align="left">'.$info[ywrq].'</td>';
					echo '<td align="left">'.$info[lrrq].'</td>';
					echo '<td align="center">'.$info[qj].'</td>';
					echo '<td align="center"><a href="javascript:editV('.$info[qj].','.$info[pzh].');">'.$info[pzh].'</a></td>';
					echo '<td align="left">'.$info[zy].'</td>';
					echo '<td align="left">'.$info[km].'</td>';
					echo '<td align="left">'.$info[kma].'</td>';
					echo '<td align="center">'.$info[dc].'</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($slwb,2).'</td>';
					echo '<td align="right">'.@number_format($yr/$slwb,2).'</td>';
					echo '<td align="right">'.@number_format($yr,2).'</td>';
					echo '</tr>';
				}else{
					$slwb+=$info[cs1]-$info[ds1];
					$yr+=$info[cr1]-$info[dr1];
					echo '<tr onmouseover="trMouseover(this)" onmouseout="trMouseout(this)">';
					echo '<td align="left">'.$info[ywrq].'</td>';
					echo '<td align="left">'.$info[lrrq].'</td>';
					echo '<td align="center">'.$info[qj].'</td>';
					echo '<td align="center"><a href="javascript:editV('.$info[qj].','.$info[pzh].');">'.$info[pzh].'</a></td>';
					echo '<td align="left">'.$info[zy].'</td>';
					echo '<td align="left">'.$info[km].'</td>';
					echo '<td align="left">'.$info[kma].'</td>';
					echo '<td align="center">'.$info[dc].'</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($slwb,2).'</td>';
					echo '<td align="right">'.@number_format($yr/$slwb,2).'</td>';
					echo '<td align="right">'.@number_format($yr,2).'</td>';
					echo '</tr>';
				}
				$qjStr=$info[qj];
				$sumDs+=$info[ds1];//本期小计
				$sumDr+=$info[dr1];
				$sumCs+=$info[cs1];
				$sumCr+=$info[cr1];
				$sumDsAll+=$info[ds1];//本期累计
				$sumDrAll+=$info[dr1];
				$sumCsAll+=$info[cs1];
				$sumCrAll+=$info[cr1];
			}while($info=$sql->fetch_array(MYSQLI_BOTH));
			//写入最后一期合计数据；
			echo '<tr onmouseover="trMouseover(this)" onmouseout="trMouseout(this)" style="background:#CCC">
				  <td></td>
				  <td></td>
				  <td align="center">'.$qjStr.'</td>
				  <td></td>
				  <td>本期小计</td>
				  <td></td>
				  <td></td>
				  <td></td>
				  <td align="center">'.@round($sumDs,2).'</td>
				  <td align="right">'.@number_format($sumDr/$sumDs,2).'</td>
				  <td align="right">'.@number_format($sumDr,2).'</td>
				  <td align="center">'.@round($sumCs,2).'</td>
				  <td align="right">'.@number_format($sumCr/$sumCs,2).'</td>
				  <td align="right">'.@number_format($sumCr,2).'</td>
				  <td></td>
				  <td></td>
				  <td></td>
				  </tr>';
			echo '<tr onmouseover="trMouseover(this)" onmouseout="trMouseout(this)" style="background:#CCC">
				  <td></td>
				  <td></td>
				  <td align="center">'.$qjStr.'</td>
				  <td></td>
				  <td>本期累计</td>
				  <td></td>
				  <td></td>
				  <td></td>
				  <td align="center">'.@round($sumDsAll,2).'</td>
				  <td align="right">'.@number_format($sumDrAll/$sumDsAll,2).'</td>
				  <td align="right">'.@number_format($sumDrAll,2).'</td>
				  <td align="center">'.@round($sumCsAll,2).'</td>
				  <td align="right">'.@number_format($sumCrAll/$sumCsAll,2).'</td>
				  <td align="right">'.@number_format($sumCrAll,2).'</td>
				  <td></td>
				  <td></td>
				  <td></td>
				  </tr>';
			echo '</table></div>';
		}
		$sqlkm->free();
		$sql->free();
		$mysqli->close();
	}else{
		echo '<div align="center">未检索到当前期间的相关数据；</div>';
	}
}
?>

<script language="javascript" type="text/javascript" src="myJs.js"></script>

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

<script language="javascript" type="text/javascript">
<!--

function editV(intQj,intPzh){
	//修改凭证
	openWin('V_1.php?qj='+intQj+'&pzh='+intPzh);
}

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

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

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

function CopyTable(tableid){
//在IE下，将数据复制到剪切板上；在非IE下，直接把数据导出CSV文件；
var tbl=document.getElementById(tableid);
try{
    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('成功复制表格数据，请打开EXCEL粘贴数据！');
}catch(error){
	var str="";
	for(var i=0,j=tbl.rows.length;i<j;i++){
		for(var m=0,n=tbl.rows[i].cells.length;m<n;m++){
		    if(m==0){
				str=str+"\""+tbl.rows[i].cells[m].innerText+"\""
			}else{
			    str=str+",\""+tbl.rows[i].cells[m].innerText+"\""
			}
		}
		str=str+"\n";
	}
	
	var uri = 'data:text/csv;charset=utf-8,\ufeff' + encodeURI(str);
	
	var downloadLink = document.createElement("a");
	downloadLink.href = uri;
	downloadLink.download = "export.csv";
	
	document.body.appendChild(downloadLink);
	downloadLink.click();
	document.body.removeChild(downloadLink);
	
}finally{
	
}
}

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>