<?php
|
$UnitNameID=empty($_REQUEST['UnitNameID'])!=false ? "" : addslashes($_REQUEST['UnitNameID']);
|
|
//分页信息
|
$page=empty($_REQUEST['page'])!=false ? 1 : $_REQUEST['page'];
|
$QuantityInt = 20; //每页显示数量
|
$acc1=$page; //当前页数
|
$acc2=0; //总页数
|
$acc3=0; //总记录数
|
|
//区域列表
|
$ArrayOrdAreaType=array();
|
$sql = "select vID,vtext from dictionary where vtitle='ServiceOrdAreaType' order by vOrder" ;
|
$data = sqlsrv_query($conn,$sql);
|
if($data == true){
|
$i=0;
|
while($rs = sqlsrv_fetch_array( $data, SQLSRV_FETCH_ASSOC) ) {
|
$ArrayOrdAreaType[$rs['vID']]=$rs['vtext'];
|
$i++;
|
}
|
}
|
|
//类型列表
|
$ArrayOrdType=array();
|
$sql = "select vID,vtext from dictionary where vtitle='ServiceOrderType' order by vOrder" ;
|
$data = sqlsrv_query($conn,$sql);
|
if($data == true){
|
$i=0;
|
while($rs = sqlsrv_fetch_array( $data, SQLSRV_FETCH_ASSOC) ) {
|
$ArrayOrdType[$rs['vID']]=$rs['vtext'];
|
$i++;
|
}
|
}
|
|
//查看各分公司报表权限
|
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);
|
}
|
}
|
|
//查询条件
|
$searchSql="";
|
$searchTXT=empty($searchTXT)!=false ? "" : $searchTXT;
|
if ($searchTXT!=""){
|
$searchSql=" and (OA_Name like '%$searchTXT%') ";
|
}else{
|
$searchSql="";
|
}
|
if (empty($_REQUEST['CarID'])==false){
|
$searchSql=$searchSql." and DispatchOrdCarID=".$_REQUEST['CarID']." ";
|
}
|
|
$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="↓";
|
}
|
|
if ($OrdDateType=="0" and $OrdDateStart=="" and $OrdDateEnd=="") {$OrdDateType=4;}
|
|
//查询开始
|
$SqlOrdDateType=empty($SqlOrdDateType)!=false ? "" : $SqlOrdDateType;
|
$sql="select DispatchOrdID,ServiceOrdID,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,120),TimeLength_Program,TimeLength_ICU,TimeLength_Wait,DispatchOrdPerfomance,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),DoctorsName=(select CASE WHEN EntourageMileageFactor<>1 THEN ','+OA_Name+'/'+CONVERT(nvarchar(5),EntourageMileageFactor) ELSE ','+OA_Name END from DispatchOrd_Entourage,OA_User where OA_User_ID=EntourageOAid and EntourageState<>4 and DispatchOrdIDDt=DispatchOrdID and EntourageID in (3,5) for xml path('')),NurseName=(select CASE WHEN EntourageMileageFactor<>1 THEN ','+OA_Name+'/'+CONVERT(nvarchar(5),EntourageMileageFactor) ELSE ','+OA_Name END from DispatchOrd_Entourage,OA_User where OA_User_ID=EntourageOAid and EntourageState<>4 and DispatchOrdIDDt=DispatchOrdID and EntourageID in (4,6) for xml path('')),DriverName=(select CASE WHEN EntourageMileageFactor<>1 THEN ','+OA_Name+'/'+CONVERT(nvarchar(5),EntourageMileageFactor) ELSE ','+OA_Name END from DispatchOrd_Entourage,OA_User where OA_User_ID=EntourageOAid and EntourageState<>4 and DispatchOrdIDDt=DispatchOrdID and EntourageID in (1,2) for xml path('')) from DispatchOrd,ServiceOrder where ServiceOrdID=ServiceOrdIDDt and (ServiceOrdTraDistance like '%公里%' or ServiceOrdTraDistance like '%km%') 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("单号","类型","转出医院","转入医院","医生","护士","司机","实际公里数","大型活动保障时长","居家ICU时长","等待时长","折算公里数");
|
|
$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'];
|
$TimeLength_Program = $rs['TimeLength_Program'];
|
$TimeLength_ICU = $rs['TimeLength_ICU'];
|
$TimeLength_Wait = $rs['TimeLength_Wait'];
|
$DispatchOrd_NS_Time= $rs['DispatchOrd_NS_Time'];
|
$DispatchOrdPerfomance = $rs['DispatchOrdPerfomance'];
|
$ServiceOrdPtOutHosp= $rs['ServiceOrdPtOutHosp'];
|
$ServiceOrdPtInHosp = $rs['ServiceOrdPtInHosp'];
|
$DoctorsName = substr($rs['DoctorsName'],3);
|
$NurseName = substr($rs['NurseName'],3);
|
$DriverName = substr($rs['DriverName'],3);
|
|
//读取数据--End
|
|
$ConversionDistance = 0;
|
//行驾里程
|
if ($OrdDistance>=0 and $OrdDistance<=50) {$ConversionDistance = 50;}
|
elseif ($OrdDistance>50 and $OrdDistance<=100 and $ServiceOrdType!=9) {$ConversionDistance = 100;}
|
elseif ($OrdDistance>100 and $OrdDistance<=150 and $ServiceOrdType!=9) {$ConversionDistance = 150;}
|
elseif ($OrdDistance>150 and $OrdDistance<=200 and $ServiceOrdType!=9) {$ConversionDistance = 200;}
|
elseif ($OrdDistance>200 and $OrdDistance<=250 and $ServiceOrdType!=9) {$ConversionDistance = 250;}
|
else {$ConversionDistance = floatval(number_format($OrdDistance,0,".",""));}
|
//大型活动保障时长
|
if ($TimeLength_Program>0) {$ConversionDistance=$ConversionDistance+($TimeLength_Program*30);}
|
//居家ICU
|
if ($TimeLength_ICU>0) {$ConversionDistance=$ConversionDistance+($TimeLength_ICU*50);}
|
//等待时长
|
if ($TimeLength_Wait>0) {$ConversionDistance=$ConversionDistance+($TimeLength_Wait*20);}
|
//机场单
|
if ($ServiceOrdType==4) {
|
if ($OrdDistance==0) {$ConversionDistance=0;}
|
$ConversionDistance=$ConversionDistance+150;
|
}
|
//救援单
|
if ($ServiceOrdType==10) {
|
if ($OrdDistance<50) {$ConversionDistance = 50;}
|
else {$ConversionDistance = floatval(number_format($OrdDistance,0,".",""));}
|
}
|
//高铁,航空单
|
if ($ServiceOrdType==8 or $ServiceOrdType==5) {
|
$ConversionDistance=0;
|
}
|
|
//写入数组
|
$FormArray[$i][0]="<a href=DispatchOrder.gds?DispatchOrdID=".$DispatchOrdID."&OrdDateType=4&OrdClassList=&h_menu1_1=1 target=_blank>".$DispatchOrdNo."</a>";
|
$FormArray[$i][1]=$ArrayOrdAreaType[$ServiceOrdAreaType];
|
$FormArray[$i][2]=$ArrayOrdType[$ServiceOrdType];
|
$FormArray[$i][3]=$ServiceOrdPtOutHosp;
|
$FormArray[$i][4]=$ServiceOrdPtInHosp;
|
$FormArray[$i][5]=$DoctorsName;
|
$FormArray[$i][6]=$NurseName;
|
$FormArray[$i][7]=$DriverName;
|
$FormArray[$i][8]=floatval(number_format($OrdDistance,2,".",""));
|
$FormArray[$i][9]=floatval(number_format($TimeLength_Program,2,".",""));
|
$FormArray[$i][10]=floatval(number_format($TimeLength_ICU,2,".",""));
|
$FormArray[$i][11]=floatval(number_format($TimeLength_Wait,2,".",""));
|
$FormArray[$i][12]=$ConversionDistance;
|
$i++;
|
|
}
|
|
|
}
|
}
|
|
if ($is_CSV==2) {
|
echo json_encode($FormArray);
|
}
|
//echo print_r($FormArray);
|
//exit;
|
?>
|