<?php
|
//分页信息
|
$page=empty($_REQUEST['page'])!=false ? 1 : $_REQUEST['page'];
|
$QuantityInt = 20; //每页显示数量
|
$acc1=$page; //当前页数
|
$acc2=0; //总页数
|
$acc3=0; //总记录数
|
|
//查询条件
|
$searchSql="";
|
$searchTXT=empty($searchTXT)!=false ? "" : $searchTXT;
|
if ($searchTXT!=""){
|
$searchSql=" and (OA_Name like '%$searchTXT%') ";
|
}else{
|
$searchSql="";
|
}
|
|
//$OrdClassListSql="";
|
//查看各分公司报表权限
|
if (isDepartment("070109")==1) {
|
$OrdClassListSql="";
|
//$UnitNameID="1";
|
If ($UnitNameID!="" and $UnitNameID!="0") {
|
$sql="select vOrder2 from dictionary where vtitle='UnitName' and vID=".$UnitNameID;
|
$data = sqlsrv_query($conn,$sql);
|
if($data == true){
|
if (sqlsrv_rows_affected($data)!=0) {
|
while($rs = sqlsrv_fetch_array($data) ) {
|
$UnitTypeID = $rs[0];
|
$sql="select vID,vtext,vOrder2 from dictionary where vID in (".$UnitTypeID.") and vtitle='OrderClass' order by vOrder";
|
$data1 = sqlsrv_query($conn,$sql);
|
if($data1 == true){
|
while($rs1 = sqlsrv_fetch_array($data1) ) {
|
$OrderClassID = $rs1['vOrder2'];
|
$OrdClassListSql .= ",".$OrderClassID;
|
}
|
}
|
$OrdClassListSql=substr($OrdClassListSql,1);
|
$OrdClassListSql=str_replace(",","','",$OrdClassListSql);
|
}
|
}
|
}
|
}else{
|
$UnitNameID="0";
|
$sql="select vID,vtext,vOrder2 from dictionary where vType in (1,2) and vtitle='OrderClass' order by vOrder";
|
$data1 = sqlsrv_query($conn,$sql);
|
if($data1 == true){
|
while($rs1 = sqlsrv_fetch_array($data1) ) {
|
$OrderClassID = $rs1['vOrder2'];
|
$OrdClassListSql .= ",".$OrderClassID;
|
}
|
}
|
$OrdClassListSql=substr($OrdClassListSql,1);
|
$OrdClassListSql=str_replace(",","','",$OrdClassListSql);
|
}
|
}
|
|
$orderby=empty($orderby)!=false ? "" : $orderby;
|
If (strrpos($orderby," desc")>1){
|
$orderbydesc="";
|
$descTXT="↓";
|
}else{
|
$orderbydesc=" desc";
|
$descTXT="↑";
|
}
|
|
If ($orderby=="") {
|
$orderby="OA_DepartmentID,OA_User_ID";
|
$descTXT="↓";
|
}
|
|
//查询开始
|
$SqlOrdDateType=empty($SqlOrdDateType)!=false ? "" : $SqlOrdDateType;
|
//更新订单数据
|
$sql="update DispatchOrd set DispatchDoctor=(select count(EntourageID) from DispatchOrd_Entourage where EntourageID in (3,5) and EntourageState<>4 and EntourageLong_is=0 and DispatchOrdIDDt=DispatchOrdID),DispatchNurse=(select count(EntourageID) from DispatchOrd_Entourage where EntourageID in (4,6) and EntourageState<>4 and EntourageLong_is=0 and DispatchOrdIDDt=DispatchOrdID),DispatchDriver=(select count(EntourageID) from DispatchOrd_Entourage where EntourageID in (1,2) and EntourageState<>4 and EntourageLong_is=0 and DispatchOrdIDDt=DispatchOrdID)";
|
$data = sqlsrv_query($conn,$sql);
|
|
$sql="select vID,vtext,vOrder2 from dictionary where vType=1 and vtitle='Report_FrontLine' order by vOrder";
|
$data = sqlsrv_query($conn,$sql);
|
if($data == true){
|
$FormArray=array();
|
$sumOrdInt=0;
|
$sumOrdMoney=0;
|
$sumOrdMileage=0;
|
$sumOrdTraDistance=0;
|
//表头
|
$FormArray[0]=array("医护司安排","单量","金额","实际公里","预估距离");
|
$FormArrayX=count($FormArray[0]);
|
if (sqlsrv_rows_affected($data)==0) {
|
$SystemMessageType=2;
|
$SystemMessageTXT="数据库中相关无数据!";
|
$y=0;
|
} else {
|
$i=1;
|
$FrontOtherSql="";
|
while($rs = sqlsrv_fetch_array( $data, SQLSRV_FETCH_ASSOC) ) {
|
//读取数据
|
$vID = $rs['vID'];
|
$vtext = $rs['vtext'];
|
$FrontSql = " ".$rs['vOrder2'];
|
$FrontOtherSql=$FrontOtherSql." or (".substr($FrontSql,5).")";
|
$sql="select OrdInt=count(DispatchOrdID),OrdMoney=isnull(SUM(ServiceOrdTraTxnPrice+StretcherMoney),0),OrdMileage=isnull(SUM(DispatchOrdMileage),0),OrdTraDistance=isnull(sum(convert(money,Replace(Replace(ServiceOrdTraDistance,'公里',''),'km',''))),0) from DispatchOrd,ServiceOrder where ServiceOrdID=ServiceOrdIDDt and DispatchOrdClass in ('".$OrdClassListSql."') and DispatchOrdState not in (0,1,2,3,9,10) and DispatchOrd_NS_Time ".$SqlOrdDateType.$FrontSql;
|
//echo $sql;
|
$dataDt = sqlsrv_query($conn,$sql);
|
if($dataDt == true){
|
while($rsDt = sqlsrv_fetch_array( $dataDt, SQLSRV_FETCH_ASSOC) ) {
|
$OrdInt = $rsDt['OrdInt'];
|
$OrdMoney = $rsDt['OrdMoney'];
|
$OrdMileage = $rsDt['OrdMileage'];
|
$OrdTraDistance = $rsDt['OrdTraDistance'];
|
}
|
}
|
$sumOrdInt+=$OrdInt;
|
$sumOrdMoney+=round($OrdMoney,0);
|
$sumOrdMileage+=round($OrdMileage,0);
|
$sumOrdTraDistance+=round($OrdTraDistance,0);
|
//读取数据--End
|
|
//写入数组
|
$FormArray[$i][0]="<a href=\"DispatchOrder_List.gds?OrdDateType=".$OrdDateType."&OrdDateStart=$OrdDateStart&OrdDateEnd=$OrdDateEnd&UnitNameID=$UnitNameID&searchTXT=FrontLine|$vID\" target=\"_blank\">$vtext</a>";
|
$FormArray[$i][1]=$OrdInt;
|
$FormArray[$i][2]=round($OrdMoney,0);
|
$FormArray[$i][3]=round($OrdMileage,0);
|
$FormArray[$i][4]=round($OrdTraDistance,0);
|
$i++;
|
//写入数组--End
|
}
|
|
//其它单
|
if (!empty($FrontOtherSql)){$FrontOtherSql=" and (".substr($FrontOtherSql,4).")";}
|
//echo $FrontOtherSql;
|
$sql="select OrdInt=count(DispatchOrdID),OrdMoney=isnull(SUM(ServiceOrdTraTxnPrice+StretcherMoney),0),OrdMileage=isnull(SUM(DispatchOrdMileage),0),OrdTraDistance=isnull(sum(convert(money,Replace(Replace(ServiceOrdTraDistance,'公里',''),'km',''))),0) from DispatchOrd,ServiceOrder where ServiceOrdID=ServiceOrdIDDt and DispatchOrdClass in ('".$OrdClassListSql."') and DispatchOrdState not in (0,1,2,3,9,10) and DispatchOrd_NS_Time ".$SqlOrdDateType." and DispatchOrdID not in (select DispatchOrdID from DispatchOrd where DispatchOrdClass in ('".$OrdClassListSql."') and DispatchOrdState not in (0,1,2,3,9,10) and DispatchOrd_NS_Time ".$SqlOrdDateType.$FrontOtherSql.")";
|
//echo $sql;
|
$dataDt = sqlsrv_query($conn,$sql);
|
if($dataDt == true){
|
while($rsDt = sqlsrv_fetch_array( $dataDt, SQLSRV_FETCH_ASSOC) ) {
|
$OrdInt = $rsDt['OrdInt'];
|
$OrdMoney = $rsDt['OrdMoney'];
|
$OrdMileage = $rsDt['OrdMileage'];
|
$OrdTraDistance = $rsDt['OrdTraDistance'];
|
}
|
}
|
$sumOrdInt+=$OrdInt;
|
$sumOrdMoney+=round($OrdMoney,0);
|
$sumOrdMileage+=round($OrdMileage,0);
|
$sumOrdTraDistance+=round($OrdTraDistance,0);
|
$FormArray[$i][0]="其它";
|
$FormArray[$i][1]=$OrdInt;
|
$FormArray[$i][2]=round($OrdMoney,0);
|
$FormArray[$i][3]=round($OrdMileage,0);
|
$FormArray[$i][4]=round($OrdTraDistance,0);
|
$i++;
|
|
//跑空单
|
if (!empty($FrontOtherSql)){$FrontOtherSql=" and (".substr($FrontOtherSql,4).")";}
|
//echo $FrontOtherSql;
|
$sql="select OrdInt=count(DispatchOrdID),OrdMoney=isnull(SUM(ServiceOrdTraTxnPrice+StretcherMoney),0),OrdMileage=isnull(SUM(DispatchOrdMileage),0),OrdTraDistance=isnull(sum(convert(money,Replace(Replace(ServiceOrdTraDistance,'公里',''),'km',''))),0) from DispatchOrd,ServiceOrder where ServiceOrdID=ServiceOrdIDDt and DispatchOrdClass in ('".$OrdClassListSql."') and DispatchOrdState in (9) and DispatchOrd_NS_Time ".$SqlOrdDateType;
|
//echo $sql;
|
$dataDt = sqlsrv_query($conn,$sql);
|
if($dataDt == true){
|
while($rsDt = sqlsrv_fetch_array( $dataDt, SQLSRV_FETCH_ASSOC) ) {
|
$OrdInt = $rsDt['OrdInt'];
|
$OrdMoney = $rsDt['OrdMoney'];
|
$OrdMileage = $rsDt['OrdMileage'];
|
$OrdTraDistance = $rsDt['OrdTraDistance'];
|
}
|
}
|
$sumOrdInt+=$OrdInt;
|
$sumOrdMoney+=round($OrdMoney,0);
|
$sumOrdMileage+=round($OrdMileage,0);
|
$sumOrdTraDistance+=round($OrdTraDistance,0);
|
$FormArray[$i][0]="跑空";
|
$FormArray[$i][1]=$OrdInt;
|
$FormArray[$i][2]=round($OrdMoney,0);
|
$FormArray[$i][3]=round($OrdMileage,0);
|
$FormArray[$i][4]=round($OrdTraDistance,0);
|
$i++;
|
|
//汇总
|
$FormArray[$i][0]="汇总";
|
$FormArray[$i][1]=$sumOrdInt;
|
$FormArray[$i][2]=round($sumOrdMoney,0);
|
$FormArray[$i][3]=round($sumOrdMileage,0);
|
$FormArray[$i][4]=round($sumOrdTraDistance,0);
|
}
|
}
|
|
//echo print_r($FormArray);
|
//exit;
|
?>
|