1){ $orderbydesc=""; $descTXT="↓"; }else{ $orderbydesc=" desc"; $descTXT="↑"; } If ($orderby=="") { $orderby="OA_DepartmentID,OA_User_ID"; $descTXT="↓"; } if ($OrdDateType=="0" and $OrdDateStart=="" and $OrdDateEnd=="") {$OrdDateType=4;} //查询开始 $SqlOrdDateType=empty($SqlOrdDateType)!=false ? "" : $SqlOrdDateType; $sql="select DispatchOrdID,ServiceOrdID,CarStItm_Time=convert(char,CarStItm_Time,120) ,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) ,OrdDistance=convert(money,Replace(Replace(ServiceOrdTraDistance,'公里',''),'km','')),ServiceOrdAreaType,ServiceOrdType,DispatchOrd_NS_Time=convert(char,DispatchOrd_NS_Time,23) ,TraStreet=(case when DispatchOrdTraVia<>'' then DispatchOrdTraVia else DispatchOrdTraStreet end) ,TraEnd=DispatchOrdTraEnd ,ServiceOrdPtOutHosp=(select vtext from dictionary where vType=1 and vtitle='HospName' and vID=ServiceOrdPtOutHosp) ,ServiceOrdPtInHosp=(select vtext from dictionary where vType=1 and vtitle='HospName' and vID=ServiceOrdPtInHosp) ,RunningTimeJson=(select '['+ stuff((select ',{\"State\": \"' + convert(varchar(2),DispatchOrdState) + '\",\"StateDate\": \"' + convert(varchar(20),DispatchOrdStartDate,120) + '\"}' from DispatchOrd_Running where DispatchOrdIDDt=DispatchOrdID order by id for xml path('')),1,1,'') +']') from DispatchOrd,ServiceOrder where ServiceOrdID=ServiceOrdIDDt and DispatchOrdState in (8,9) and DispatchOrd_NS_Time ".$SqlOrdDateType.$searchSql." and ServiceOrdClass in ('".$OrdClassListSql."') order by DispatchOrd_NS_Time desc"; //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, SQLSRV_FETCH_ASSOC) ) { //读取数据 $DispatchOrdID = $rs['DispatchOrdID']; $ServiceOrdID = $rs['ServiceOrdID']; $DispatchOrdNo = $rs['DispatchOrdNo']; $ServiceOrdAreaType = $rs['ServiceOrdAreaType']; $ServiceOrdType = $rs['ServiceOrdType']; $OrdDistance = $rs['OrdDistance']; $DispatchOrd_NS_Time= $rs['DispatchOrd_NS_Time']; $ServiceOrdPtOutHosp= $rs['ServiceOrdPtOutHosp']; $ServiceOrdPtInHosp = $rs['ServiceOrdPtInHosp']; $TraStreet = $rs['TraStreet']; $TraEnd = $rs['TraEnd']; $CarStItm_Time = $rs['CarStItm_Time']; $RunningTimeJson = $rs['RunningTimeJson']; $RunningTimeArr = json_decode($RunningTimeJson,true); $RunningTime_start=0; $RunningTime_wait_sa=0; $RunningTime_wait_ba=0; $RunningTime_end=0; $RunningTime_wait=0; $RunningTime_wait=0; $RunningTime_wait=""; $RunningTime_diff=""; if (!empty($RunningTimeArr)){ foreach($RunningTimeArr as $x=>$RunningTimeArr_value) { switch ($RunningTimeArr_value["State"]) { case "4": if (empty($RunningTime_start)) {$RunningTime_start=$RunningTimeArr_value["StateDate"];}break; case "5": if (empty($RunningTime_wait_sa)) {$RunningTime_wait_sa=$RunningTimeArr_value["StateDate"];}break; case "6": if (empty($RunningTime_wait_ba)) {$RunningTime_wait_ba=$RunningTimeArr_value["StateDate"];}break; case "7": $RunningTime7=$RunningTimeArr_value["StateDate"];break; case "8": if (empty($RunningTime_end)) {$RunningTime_end=$RunningTimeArr_value["StateDate"];}break; case "9": if (empty($RunningTime_end)) {$RunningTime_end=$RunningTimeArr_value["StateDate"];}break; } } }else{ $RunningTime_start="--"; $RunningTime_end="--"; } if (!empty($RunningTime_wait_sa) and !empty($RunningTime_wait_ba)) { $RunningTime_wait_date=floor((strtotime($RunningTime_wait_ba)-strtotime($RunningTime_wait_sa))/86400); $RunningTime_wait_hour=floor((strtotime($RunningTime_wait_ba)-strtotime($RunningTime_wait_sa))%86400/3600); $RunningTime_wait_minute=floor((strtotime($RunningTime_wait_ba)-strtotime($RunningTime_wait_sa))%86400%3600/60); if (!empty($RunningTime_wait_date)) {$RunningTime_wait=$RunningTime_wait.$RunningTime_wait_date."天 ";} if (!empty($RunningTime_wait_hour)) {$RunningTime_wait=$RunningTime_wait.$RunningTime_wait_hour."小时 ";} if (!empty($RunningTime_wait_minute)) {$RunningTime_wait=$RunningTime_wait.$RunningTime_wait_minute."分钟";} if (empty($RunningTime_wait)) {$RunningTime_wait="小于1分钟";} } if (empty($RunningTime_start) and !empty($RunningTime_end)) {$RunningTime_start=$RunningTime_end;} if (!empty($RunningTime_start) and !empty($RunningTime_end)) { $RunningTime_diff_date=floor((strtotime($RunningTime_end)-strtotime($RunningTime_start))/86400); $RunningTime_diff_hour=floor((strtotime($RunningTime_end)-strtotime($RunningTime_start))%86400/3600); $RunningTime_diff_minute=floor((strtotime($RunningTime_end)-strtotime($RunningTime_start))%86400%3600/60); if (!empty($RunningTime_diff_date)) {$RunningTime_diff=$RunningTime_diff.$RunningTime_diff_date."天 ";} if (!empty($RunningTime_diff_hour)) {$RunningTime_diff=$RunningTime_diff.$RunningTime_diff_hour."小时 ";} if (!empty($RunningTime_diff_minute)) {$RunningTime_diff=$RunningTime_diff.$RunningTime_diff_minute."分钟";} if (empty($RunningTime_diff)) {$RunningTime_diff="小于1分钟";} } if (empty($CarStItm_Time)) {$CarStItm_Time=$RunningTime_start;} //读取数据--End //写入数组 $FormArray[$i][0]=$i; $FormArray[$i][1]=$DispatchOrd_NS_Time; $FormArray[$i][2]="".$DispatchOrdNo.""; $FormArray[$i][3]=$ArrayOrdAreaType[$ServiceOrdAreaType]; $FormArray[$i][4]=$ArrayOrdType[$ServiceOrdType]; $FormArray[$i][5]=$ServiceOrdPtOutHosp; $FormArray[$i][6]=$TraStreet; $FormArray[$i][7]=$ServiceOrdPtInHosp; $FormArray[$i][8]=$TraEnd; $FormArray[$i][9]=floatval(number_format($OrdDistance,2,".","")); $FormArray[$i][10]=$CarStItm_Time; $FormArray[$i][11]=$RunningTime_start; $FormArray[$i][12]=$RunningTime_end; $FormArray[$i][13]=$RunningTime_diff; //$FormArray[$i][14]=$RunningTime_wait; $i++; } } } if ($is_CSV==2) { echo json_encode($FormArray); } //echo print_r($FormArray); //exit; ?>