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]="$vtext"; $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; ?>