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

<?php 
if(($_SERVER['REQUEST_METHOD']=='GET')&&isset($_GET[km])){
	//提交查询页面；
	include("cnn.php");
	
	//数字序号$_GET[xm]与项目字段名称$col转换；
	switch($_GET[xm]){
	case 0:
		$col='xjll';
		break;
	case 1:
		$col='kh';
		break;
	case 2:
		$col='gr';
		break;
	case 3:
		$col='ch';
		break;
	case 4:
		$col='gys';
		break;
	case 5:
		$col='bm';
		break;
	case 6:
		$col='xm';
		break;
	default:
		echo 'get取值不正确';
		exit();
		break;
	}
		
	//查询会计科目名称及借贷方向；
	$strsql_1='select name,dc from account where id='.$_GET[km].'';
	//echo $strsql_1.'<br>';
	$sql_1=$mysqli->query($strsql_1);
	$info_1=$sql_1->fetch_array(MYSQLI_BOTH);
	if($info_1){
		$strName=$info_1[name];//会计科目名称
		$strDC=$info_1[dc];//会计科目借贷方
	}
	
	//构造查询语句，只需要从数据库中找出本期数据即可；
	$strsql='select ywrq,qj,pzh,zy,km,'.$col.' as xm,'.$col.'F as xms,slwb,dr,cr from v1';
	$strsql=$strsql.' where (qj between '.$_GET[qj0].' and '.$_GET[qj1].') and km='.$_GET[km].' and '.$col.'='.$_GET[xms].' order by qj,pzh,xh';
	//echo $strsql.'<br>';
	$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[xm].'—'.$info[xms].'</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>
			</tr></thead>';
			echo '<tr onmouseover="trMouseover(this)" onmouseout="trMouseout(this)" style="background:#CCC">
			<td></td>
			<td></td>
			<td></td>
			<td>上期结转</td>
			<td>'.$info[km].'</td>
			<td>'.$strName.'</td>
			<td>'.$info[xm].'</td>
			<td>'.$info[xms].'</td>
			<td align="center">'.$strDC.'</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 align="center">'.$qjStr.'</td>
					  <td></td>
					  <td>本期小计</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 align="center">'.$qjStr.'</td>
					  <td></td>
					  <td>本期累计</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($strDC=="借方"){
					$yr+=$info[dr]-$info[cr];
					echo '<tr onmouseover="trMouseover(this)" onmouseout="trMouseout(this)">';
					echo '<td align="left">'.$info[ywrq].'</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">'.$strName.'</td>';
					echo '<td align="left">'.$info[xm].'</td>';
					echo '<td align="left">'.$info[xms].'</td>';
					echo '<td align="center">'.$strDC.'</td>';
					echo '<td align="right">'.@number_format($info[dr],2).'</td>';
					echo '<td align="right">'.@number_format($info[cr],2).'</td>';
					echo '<td align="right">'.@number_format($yr,2).'</td>';
					echo '</tr>';
				}else{
					$yr+=$info[cr]-$info[dr];
					echo '<tr onmouseover="trMouseover(this)" onmouseout="trMouseout(this)">';
					echo '<td align="left">'.$info[ywrq].'</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">'.$strName.'</td>';
					echo '<td align="left">'.$info[xm].'</td>';
					echo '<td align="left">'.$info[xms].'</td>';
					echo '<td align="center">'.$strDC.'</td>';
					echo '<td align="right">'.@number_format($info[dr],2).'</td>';
					echo '<td align="right">'.@number_format($info[cr],2).'</td>';
					echo '<td align="right">'.@number_format($yr,2).'</td>';
					echo '</tr>';
				}
				$qjStr=$info[qj];
				$sumDr+=$info[dr];//本期小计
				$sumCr+=$info[cr];
				$sumDrAll+=$info[dr];//本期累计
				$sumCrAll+=$info[cr];
			}while($info=$sql->fetch_array(MYSQLI_BOTH));
			//写入最后一期合计数据；
			echo '<tr onmouseover="trMouseover(this)" onmouseout="trMouseout(this)" style="background:#CCC">
				  <td></td>
				  <td align="center">'.$qjStr.'</td>
				  <td></td>
				  <td>本期小计</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 align="center">'.$qjStr.'</td>
				  <td></td>
				  <td>本期累计</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[xm].'—'.$info[xms].'</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>
			<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>'.$info[km].'</td>
			<td>'.$strName.'</td>
			<td>'.$info[xm].'</td>
			<td>'.$info[xms].'</td>
			<td align="center">'.$strDC.'</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 align="center">'.$qjStr.'</td>
					  <td></td>
					  <td>本期小计</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 align="center">'.$qjStr.'</td>
					  <td></td>
					  <td>本期累计</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($strDC=="借方"){
					if($info[dr]==0){
						$ds=0;
						$cs=$info[slwb];
					}else{
						$ds=$info[slwb];
						$cs=0;
					}
					$slwb+=$ds-$cs;
					$yr+=$info[dr]-$info[cr];
					echo '<tr onmouseover="trMouseover(this)" onmouseout="trMouseout(this)">';
					echo '<td align="left">'.$info[ywrq].'</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">'.$strName.'</td>';
					echo '<td align="left">'.$info[xm].'</td>';
					echo '<td align="left">'.$info[xms].'</td>';
					echo '<td align="center">'.$strDC.'</td>';
					echo '<td align="center">'.@round($ds,2).'</td>';
					echo '<td align="right">'.@number_format($info[dr]/$ds,2).'</td>';
					echo '<td align="right">'.@number_format($info[dr],2).'</td>';
					echo '<td align="center">'.@round($cs,2).'</td>';
					echo '<td align="right">'.@number_format($info[cr]/$cs,2).'</td>';
					echo '<td align="right">'.@number_format($info[cr],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{
					if($info[dr]==0){
						$ds=0;
						$cs=$info[slwb];
					}else{
						$ds=$info[slwb];
						$cs=0;
					}
					$slwb+=-$ds+$cs;
					$yr+=-$info[dr]+$info[cr];
					echo '<tr onmouseover="trMouseover(this)" onmouseout="trMouseout(this)">';
					echo '<td align="left">'.$info[ywrq].'</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">'.$strName.'</td>';
					echo '<td align="left">'.$info[xm].'</td>';
					echo '<td align="left">'.$info[xms].'</td>';
					echo '<td align="center">'.$strDC.'</td>';
					echo '<td align="center">'.@round($ds,2).'</td>';
					echo '<td align="right">'.@number_format($info[dr]/$ds,2).'</td>';
					echo '<td align="right">'.@number_format($info[dr],2).'</td>';
					echo '<td align="center">'.@round($cs,2).'</td>';
					echo '<td align="right">'.@number_format($info[cr]/$cs,2).'</td>';
					echo '<td align="right">'.@number_format($info[cr],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+=$ds;//本期小计
				$sumDr+=$info[dr];
				$sumCs+=$cs;
				$sumCr+=$info[cr];
				$sumDsAll+=$ds;//本期累计
				$sumDrAll+=$info[dr];
				$sumCsAll+=$cs;
				$sumCrAll+=$info[cr];
			}while($info=$sql->fetch_array(MYSQLI_BOTH));
			//写入最后一期合计数据；
			echo '<tr onmouseover="trMouseover(this)" onmouseout="trMouseout(this)" style="background:#CCC">
				  <td></td>
				  <td align="center">'.$qjStr.'</td>
				  <td></td>
				  <td>本期小计</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 align="center">'.$qjStr.'</td>
				  <td></td>
				  <td>本期累计</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>';
		}
		$sql_1->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>