$OrdDateEnd) { $OrdDateStart1=$OrdDateStart; $OrdDateStart=$OrdDateEnd; $OrdDateEnd=$OrdDateStart1; } If ($OrdDateStart==$OrdDateEnd) { $OrdDateTypeName=$OrdDateStart; $OrdDateTypeName1=$OrdDateTypeName; } Else { $OrdDateTypeName=$OrdDateStart." 至 ".$OrdDateEnd; $OrdDateTypeName1="时间段 ".$OrdDateTypeName; } $SqlOrdDateType=" between '".$OrdDateStart."' and '".$OrdDateEnd." 23:59:59'"; }Else { $sql = "select top 1 vID,vtext,vOrder2 from dictionary where vType>=1 and vtitle='OrdDateType' and vID=".$OrdDateType ; $data = sqlsrv_query($conn,$sql); if($data == true){ if (sqlsrv_rows_affected($data)!=0) { while($rs = sqlsrv_fetch_array( $data, SQLSRV_FETCH_ASSOC) ) { $OrdDateTypeName = $rs['vtext']; $OrdDateTypeName1 = $OrdDateTypeName; $SqlOrdDateType = $rs['vOrder2']; } } else { $OrdDateType="4"; $OrdDateTypeName="本月"; $OrdDateTypeName1=$OrdDateTypeName; $SqlOrdDateType="between DATEADD(mm,DATEDIFF(mm,0,getdate()),0) and dateadd(ms,-3,DATEADD(mm,DATEDIFF(m,0,getdate())+1,0))"; } } } //发票处理状态 $AuditStatusName="全部"; $AuditStatusArray=array(); $AuditStatusArray[0]=array(-1,"全部"); $sql = "select vID,vtext from dictionary where vType>=1 and vtitle='AuditStatus' order by vOrder" ; $data = sqlsrv_query($conn,$sql); if($data == true){ $i=1; while($rs = sqlsrv_fetch_array( $data, SQLSRV_FETCH_ASSOC) ) { $AuditStatusArray[$i]=array($rs['vID'],$rs['vtext']); if (strval($rs['vID'])==$AuditStatus){$AuditStatusName = $rs['vtext'];} $i++; } } //分公司名称列表 $UnitNameListArray=array(); $sql = "select ServiceBranch,case when UnitShort='微信小程序' then '广州' else UnitShort END as UnitShort from IntroducerUnitData where ServiceBranch<>'' and UnitID<>32" ; $data = sqlsrv_query($conn,$sql); if($data == true){ $i=1; while($rs = sqlsrv_fetch_array( $data, SQLSRV_FETCH_ASSOC) ) { $UnitNameListArray[$i]=array($rs['ServiceBranch'],$rs['UnitShort']); $i++; } } //各种返回信息 $SystemMessageTXT=""; $SystemMessageType=""; //默认显示字段 $Report_Name = "发票管理"; $page_URL_noDate="h_menu1_1=2&searchTXT=".$searchTXT."&orderby=".$orderby."&InvoiceType=".$InvoiceType."&AuditStatus=".$AuditStatus."&OrdDateType=".$OrdDateType."&OrdDateStart=".$OrdDateStart."&OrdDateEnd=".$OrdDateEnd; $page_URL="h_menu1_1=2&searchTXT=".$searchTXT."&orderby=".$orderby."&InvoiceType=".$InvoiceType."&AuditStatus=".$AuditStatus."&OrdDateType=".$OrdDateType."&OrdDateStart=".$OrdDateStart."&OrdDateEnd=".$OrdDateEnd; ?> 4 "; } $searchSql = $searchSql." and ApplicationTime ".$SqlOrdDateType; $orderby=empty($orderby)==true ? "" : $orderby; If (strrpos($orderby," desc")>1){ $orderbydesc=""; $descTXT="↓"; }else{ $orderbydesc=" desc"; $descTXT="↑"; } If ($orderby=="") { $orderby="OutHosp|InHosp desc,OutHospPrice|InHospPrice desc"; $descTXT="↓"; } //echo $OrdClassListSql; //查询开始 $InvoiceType=empty($InvoiceType)==true ? "1" : $InvoiceType; //按调度单统计 //SQL查询条件 $sqlWhere=" from InvoiceData,ServiceOrder where ServiceOrderIDPK=ServiceOrdID".$searchSql; //组成计算总页数SQL $total_sql = "select InvoiceID $sqlWhere"; //组成显示结果SQL $Result_sql = "select InvoiceID,InvoiceType,InvoiceName,InvoiceMakeout,InvoiceCompanyPhone,InvoiceCompanyID,InvoiceCompanyAdd,InvoiceCompanyBank,InvoiceCompanyBankNo,InvoiceZipCode,Invoice_strAdd,Invoice_strEmail,Invoice_strName,Invoice_strPhone,ApplicationTime=CONVERT(nvarchar(20),ApplicationTime,120),AuditTime=CONVERT(nvarchar(20),AuditTime,120),AuditStatus,AuditOAID,ApplyOAID,AuditMakeout,InvoiceMoney,InvoiceNo,InvoiceURL,ServiceOrdID,ServiceOrdType,ServiceOrdClass,ServiceOrdNo=ServiceOrdClass+convert(nvarchar(10),year(ServiceOrd_CC_Time))+right('0'+convert(nvarchar(10),month(ServiceOrd_CC_Time)),2)+right('0'+convert(nvarchar(10),day(ServiceOrd_CC_Time)),2)+'-'+right('00'+convert(nvarchar(10),ServiceOrdNo),3),OrdTraPrice=ServiceOrdTraTxnPrice+(select isnull(SUM(AddMoney),0) from PaidMoney_Add LEFT JOIN dictionary on vtitle='AddMoney' and vID=AddMoneyType where ToServiceOrdID=ServiceOrdID)-(select isnull(SUM(PaidMoney),0) from PaidMoney where (ServiceOrdIDDt=ServiceOrdID) and PaidMoney_AP_Check<>-1 and PaidMoneyType=9),EleCloud_ZTDM,EleCloud_ZTXX,EleCloud_Time=CONVERT(nvarchar(20),EleCloud_Time,120),row_number() over (order by ApplicationTime desc) n $sqlWhere"; //附加结果SQL $Additional_sql = ",DispatchOrdNo=(select top 1 DispatchOrdClass+convert(nvarchar(10),year(DispatchOrd_NS_Time))+right('0'+convert(nvarchar(10),month(DispatchOrd_NS_Time)),2)+right('0'+convert(nvarchar(10),day(DispatchOrd_NS_Time)),2)+'-'+right('00'+convert(nvarchar(10),DispatchOrdNo),3) from DispatchOrd where ServiceOrdIDDt=ServiceOrdID order by DispatchOrdID desc)"; $sqlPage="" ; $sql = "select * $Additional_sql from ($Result_sql) sqlData ".$sqlPage." order by sqlData.n" ; //echo $sql;exit; $data = sqlsrv_query($conn,$sql); if (sqlsrv_rows_affected($data)==0) { $SystemMessageType=2; $SystemMessageTXT="数据库中相关无数据!"; } $data = sqlsrv_query($conn,$sql); if($data == true){ $FormArray=array(); //表头 $FormArray[0]=array("服务单号","调度单号","所属公司","申请时间","发票抬头","发票金额","发票备注","处理状态","发票编号","申请人","处理人","处理时间","处理备注"); $FormArrayX=count($FormArray[0]); if (sqlsrv_rows_affected($data)==0) { $SystemMessageType=2; $SystemMessageTXT="数据库中相关无数据!"; $y=0; } else { $i=1; while($rs = sqlsrv_fetch_array( $data, SQLSRV_FETCH_ASSOC) ) { //读取数据 $ServiceOrdID = $rs['ServiceOrdID']; //服务单ID $ServiceOrdNo = $rs['ServiceOrdNo']; //服务单号 //$DispatchOrdID = $rs['DispatchOrdID']; //调度单ID $DispatchOrdNo = $rs['DispatchOrdNo']; //调度单号 $ServiceOrdClass = $rs['ServiceOrdClass']; //对应服务单类型 $InvoiceID = $rs['InvoiceID']; //开票信息ID $InvoiceType = $rs['InvoiceType']; //开票类型 $InvoiceName = $rs['InvoiceName']; //发票抬头 $InvoiceMakeout = $rs['InvoiceMakeout']; //发票备注 $InvoiceCompanyPhone= $rs['InvoiceCompanyPhone'];//企业电话 $InvoiceCompanyID = str_replace(array("\r\n", "\r", "\n"),'',$rs['InvoiceCompanyID']); //纳税识别号 $InvoiceCompanyAdd = $rs['InvoiceCompanyAdd']; //企业注册地址 $InvoiceCompanyBank = $rs['InvoiceCompanyBank'];//企业开户银行 $InvoiceCompanyBankNo=$rs['InvoiceCompanyBankNo'];//企业银行账号 $InvoiceZipCode = $rs['InvoiceZipCode']; //邮编 $Invoice_strAdd = $rs['Invoice_strAdd']; //邮寄地址 $Invoice_strEmail = $rs['Invoice_strEmail']; //电子邮箱 $Invoice_strName = $rs['Invoice_strName']; //联系人 $Invoice_strPhone = $rs['Invoice_strPhone']; //联系电话 $ApplicationTime = $rs['ApplicationTime']; //申请时间 $AuditTime = $rs['AuditTime']; //处理时间 $AuditStatus = $rs['AuditStatus']; //处理状态 $AuditOAID = $rs['AuditOAID']; //处理人 $AuditMakeout = $rs['AuditMakeout']; //处理备注 $ApplyOAID = $rs['ApplyOAID']; //申请人(0为客户申请) $InvoiceMoney = $rs['InvoiceMoney']; //发票金额 $InvoiceNo = $rs['InvoiceNo']; //发票编号 $InvoiceURL = $rs['InvoiceURL']; //发票链接 $EleCloud_ZTDM = $rs['EleCloud_ZTDM']; //大象慧云-申请状态 $EleCloud_ZTXX = $rs['EleCloud_ZTXX']; //大象慧云-状态说明 $EleCloud_Time = $rs['EleCloud_Time']; //大象慧云-开票时间 $AuditOAName=empty($AuditOAID)==true ? "--" : OAUser($AuditOAID,"UserName"); if ($InvoiceID<=597) { $ApplyOAName="--"; }else{ $ApplyOAName=empty($ApplyOAID)==true ? "客户" : OAUser($ApplyOAID,"UserName"); } if ($InvoiceMoney==0) {$InvoiceMoney=$rs['OrdTraPrice'];} //写入数组 $FormArray[$i][0]=$ServiceOrdNo; $FormArray[$i][1]=$DispatchOrdNo; $FormArray[$i][2]=''; for($z=1;$z<=count($UnitNameListArray);$z++) { if ($UnitNameListArray[$z][0]==$ServiceOrdClass){ $FormArray[$i][2]=$UnitNameListArray[$z][1]; } } $FormArray[$i][3]=$ApplicationTime; $FormArray[$i][4]=$InvoiceName; $FormArray[$i][5]=floatval(number_format($InvoiceMoney,2,".","")); $FormArray[$i][6]=$InvoiceMakeout; for($z=0;$z getActiveSheet()->setCellValue(IntToChr($x)."1",$FormArray[0][$x]); } //填充表格信息 for($y=1;$ygetActiveSheet()->setCellValue(IntToChr($x).($y+1),strip_tags($FormArray[$y][$x])); } } //创建Excel输入对象 $write = new PHPExcel_Writer_Excel5($excel); ob_end_clean(); ob_start(); header("Pragma: public"); header("Expires: 0"); header("Cache-Control:must-revalidate, post-check=0, pre-check=0"); header("Content-Type:application/force-download"); header("Content-Type:application/vnd.ms-execl"); header("Content-Type:application/octet-stream"); header("Content-Type:application/download");; header('Content-Disposition:attachment;filename="'.$filename.'.xls"'); header("Content-Transfer-Encoding:binary"); $write->save('php://output'); }else{ echo $SystemMessageTXT; } ?>