$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))"; } } } } //分页信息 $page=empty($_REQUEST['page'])!=false ? 1 : $_REQUEST['page']; //当前页数 $page=empty($draw)!=false ? $page : $draw; //当前页数 $page_size = 20; //每页显示数量 $total_page=0; //总页数 $total_records=0; //总记录数 //$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{ $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); } } //合作单位 If ($CoopUnitID!="" and $CoopUnitID!="0") { If (substr($CoopUnitID,0,2)=="0,") {$CoopUnitID=substr($CoopUnitID,2);} $CoopUnitSql=" And (ServiceOrdUnitID in (".$CoopUnitID.")"; $sql="select HospID,HospIntroducerDate=CONVERT(nvarchar(20),HospIntroducerDate, 111) from HospData,IntroducerData where HospIntroducerID=IntroducerID and IntroducerUnitID in (".$CoopUnitID.") GROUP BY HospID,HospIntroducerDate order by HospIntroducerDate"; $data = sqlsrv_query($conn,$sql); if($data == true){ if (sqlsrv_rows_affected($data)!=0) { $UnitHospIDSP=array(); $UnitHospDateOld=""; $UnitHospDateSP=array(); $H=-1; while($rs = sqlsrv_fetch_array($data) ) { If ($UnitHospDateOld!=$rs['HospIntroducerDate']) { array_push($UnitHospIDSP,$rs['HospID']); array_push($UnitHospDateSP,$rs['HospIntroducerDate']); $UnitHospDateOld=$rs['HospIntroducerDate']; $H++; }else{ $UnitHospIDSP[$H]=$UnitHospIDSP[$H].",".$rs['HospID']; } } for($x=0;$x='".$UnitHospDateSP[$x]."')"; } } } $CoopUnitSql=$CoopUnitSql.")"; }Else{ $CoopUnitSql=""; } //查询条件 $searchSql=""; $searchTXT=empty($searchTXT)!=false ? "" : $searchTXT; if ($searchTXT!=""){ $searchSql=" and (OA_Name like '%$searchTXT%') "; }else{ $searchSql=""; } $orderby=empty($orderby)!=false ? "" : $orderby; If (strrpos($orderby," desc")>1){ $orderbydesc=""; $descTXT="↓"; }else{ $orderbydesc=" desc"; $descTXT="↑"; } If ($orderby=="") { $orderby="OutHosp|InHosp desc,OutHospPrice|InHospPrice desc"; $descTXT="↓"; } //echo $OrdClassListSql; //查询开始 $SqlOrdDateType=empty($SqlOrdDateType)!=false ? "" : $SqlOrdDateType; $OrdClassType=empty($OrdClassType)!=false ? "1" : $OrdClassType; //按调度单统计 //SQL查询条件 $sqlWhere=" from ServiceOrder,DispatchOrd where ServiceOrdIDDt=ServiceOrdID and DispatchOrdState not in (10) and DispatchOrd_NS_Time ".$SqlOrdDateType.$CoopUnitSql." and DispatchOrdClass in ('".$OrdClassListSql."')"; //组成计算总页数SQL $total_sql = "select DispatchOrdID $sqlWhere"; //组成显示结果SQL $Result_sql = "select ServiceOrdID,DispatchOrdID,ServiceOrdClass,ServiceOrdDepartureType,OrderLevel,ServiceOrdType,DispatchOrdNo=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),DispatchOrdState,DispatchOrd_NS_Date=CONVERT(nvarchar(20),DispatchOrd_NS_Time, 111),ServiceOrd_NS_Time,DispatchOrd_NS_Time,DispatchOrdActualDate,ServiceOrdCoName,ServiceOrdCoPhone,ServiceOrdIntroducer,ServiceOrd_CC_ID,DispatchOrd_NS_ID,ServiceOrdSource,ServiceOrdPtOutHospID,ServiceOrdPtInHospID,ServiceOrdPtServicesID,row_number() over (order by DispatchOrd_NS_Time) n $sqlWhere"; //附加结果SQL $Additional_sql = ",DispatchOrdStateTXT=(select vtext from dictionary where vtitle='DispatchOrdState' and vID=DispatchOrdState),ServiceOrd_CCName=(select OA_Name from OA_User where OA_User_ID=ServiceOrd_CC_ID),DispatchOrd_NSName=(select OA_Name from OA_User where OA_User_ID=DispatchOrd_NS_ID) ,HospNameA=(select HospName from HospData where HospID=ServiceOrdPtOutHospID),HospNameB=(select HospName from HospData where HospID=ServiceOrdPtInHospID),EntourageName=(SELECT STUFF(( select ',' + OA_Name from DispatchOrd_Entourage,OA_User where OA_User_ID=EntourageOAid and DispatchOrdIDDt=DispatchOrdID and EntourageState<>4 order by EntourageLead desc FOR XML PATH('')), 1, 1, '') AS EntourageName),Stime1=DATEDIFF(n,ServiceOrd_NS_Time,DispatchOrd_NS_Time),Stime2=DATEDIFF(n,DispatchOrd_NS_Time,DispatchOrdActualDate)"; if ($is_CSV!=1){ //计算总页数 $data = sqlsrv_query( $conn, $total_sql, array(), array( "Scrollable" => 'keyset' )); $total_records=sqlsrv_num_rows($data); //总行数 $total_page=ceil($total_records/$page_size); //总页数 //避免page小于0或大于总页数 $page=$page<=0?1:$page; $page=$page>$total_page?$total_page:$page; //计算开始和结束行数 $pageStart = ($page-1)*$page_size; $pageEnd = $pageStart+$page_size; $sqlPage = " where sqlData.n > $pageStart and sqlData.n <= $pageEnd " ; }else{ $sqlPage="" ; } $sql = "select * $Additional_sql from ($Result_sql) sqlData ".$sqlPage." order by sqlData.n" ; //echo $sql;exit; $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) ) { //读取数据 //$DispatchOrdID = $rs['DispatchOrdID']; //$OrdSum = $rs['OrdSum']; //$CancelType = $rs['CancelType']; //读取数据--End //写入数组 $FormArray[$i][0]=$i+(($page-1)*$page_size); $FormArray[$i][1]="".$rs['DispatchOrdNo'].""; $FormArray[$i][2]=OrderLevelA($rs['OrderLevel']); $FormArray[$i][3]=str_replace("地面","",str_replace("服务单","",OrderClassA($rs['ServiceOrdClass']))); $FormArray[$i][4]=DepartureTypeA($rs['ServiceOrdDepartureType']); $FormArray[$i][5]=$rs['DispatchOrdStateTXT']; $FormArray[$i][6]=$rs['HospNameA']; $FormArray[$i][7]=$rs['HospNameB']; $FormArray[$i][8]=$rs['DispatchOrd_NS_Date']; $FormArray[$i][9]=$rs['ServiceOrd_CCName']; $FormArray[$i][10]=$rs['DispatchOrd_NSName']; $FormArray[$i][11]=$rs['EntourageName']; $FormArray[$i][12]=$rs['Stime1']; $FormArray[$i][13]=$rs['Stime2']; $i++; //写入数组--End } } } //组成Json数据 if ($is_CSV==2) { $JsonArray=array(); for($y=1;$y intval($page), "recordsTotal" => intval($total_records), "recordsFiltered" => intval($total_records), "data" => $JsonArray ),JSON_UNESCAPED_UNICODE); //echo "{\"data\":".json_encode($JsonArray)."}"; } //echo print_r($FormArray); //exit; ?>