<?php
|
$is_CSV=empty($_REQUEST['is_CSV'])!=false ? $is_CSV : $_REQUEST['is_CSV']; //输出模式
|
//按json方式输出
|
if ($is_CSV==2) {
|
require '/inc/odbc.php';
|
require '/inc/function.php';
|
$UnitNameID=empty($_REQUEST['UnitNameID'])!=false ? "" : addslashes($_REQUEST['UnitNameID']);
|
$CoopUnitID=empty($_REQUEST['CoopUnitID'])!=false ? "" : addslashes($_REQUEST['CoopUnitID']);
|
|
$searchTXT=empty($_REQUEST['searchTXT'])!=false ? "" : addslashes($_REQUEST['searchTXT']);
|
$orderby=empty($_REQUEST['orderby'])!=false ? "" : addslashes($_REQUEST['orderby']);
|
|
$OrdDateType=empty($_REQUEST['OrdDateType'])!=false ? "0" : addslashes($_REQUEST['OrdDateType']);
|
$OrdDateStart=empty($_REQUEST['OrdDateStart'])!=false ? "" : addslashes($_REQUEST['OrdDateStart']);
|
$OrdDateEnd=empty($_REQUEST['OrdDateEnd'])!=false ? "" : addslashes($_REQUEST['OrdDateEnd']);
|
$OrdType=empty($_REQUEST['OrdType'])!=false ? "1" : addslashes($_REQUEST['OrdType']);
|
$OrdClassType=empty($_REQUEST['OrdClassType'])!=false ? "0" : addslashes($_REQUEST['OrdClassType']);
|
$OrderLevel=empty($_REQUEST['OrderLevel'])!=false ? "0" : addslashes($_REQUEST['OrderLevel']);
|
|
$draw=empty($_REQUEST['draw'])!=false ? "1" : addslashes($_REQUEST['draw']);
|
//默认显示字段
|
$Report_Name = "调度单明细汇总";
|
if ($OrdDateType=="0" and $OrdDateStart=="" and $OrdDateEnd=="") {
|
$OrdDateType=4;
|
$OrdDateTop=" top 20 ";
|
}
|
else {
|
$OrdDateTop="";
|
}
|
$OrdDateTypeName="";
|
if ($OrdDateType=="0") {
|
if ($OrdDateStart=="" and $OrdDateEnd=="") {
|
$OrdDateStart=date("Y-m-d");
|
$OrdDateEnd=date("Y-m-d");
|
}
|
elseif ($OrdDateStart!="" and $OrdDateEnd=="") {
|
$OrdDateEnd=$OrdDateStart;
|
}
|
elseif ($OrdDateStart=="" and $OrdDateEnd!="") {
|
$OrdDateStart=$OrdDateEnd;
|
}
|
If ($OrdDateStart>$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; //总记录数
|
|
//区域列表
|
$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++;
|
}
|
}
|
|
//$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 (isDepartment("020109")==1) {
|
$is_Privacy="YES";
|
}else{
|
$is_Privacy="NO";
|
}
|
|
|
|
//查询条件
|
$searchSql="";
|
$searchTXT=empty($searchTXT)!=false ? "" : $searchTXT;
|
if ($searchTXT!=""){
|
If (substr($searchTXT,0,4)=="out|") {
|
$searchSql=" and (ServiceOrdPtOutHosp in (select vid from dictionary where vType=1 and vtitle='HospName' and vtext='".substr($searchTXT,4)."')) ";
|
} elseif (substr($searchTXT,0,3)=="in|") {
|
$searchSql=" and (ServiceOrdPtInHosp in (select vid from dictionary where vType=1 and vtitle='HospName' and vtext='".substr($searchTXT,3)."')) ";
|
} elseif (substr($searchTXT,0,5)=="hosp|") {
|
$searchSql=" and (ServiceOrdPtOutHosp in (select vid from dictionary where vType=1 and vtitle='HospName' and vtext='".substr($searchTXT,5)."') or ServiceOrdPtInHosp in (select vid from dictionary where vType=1 and vtitle='HospName' and vtext='".substr($searchTXT,5)."'))";
|
} elseif (substr($searchTXT,0,6)=="staff|") {
|
$searchSql=" and (DispatchOrdID in (select DispatchOrdIDDt from DispatchOrd_Entourage where EntourageState=3 and EntourageOAid=".substr($searchTXT,6).")) ";
|
} elseif (substr($searchTXT,0,7)=="staff1|") {
|
$searchSql=" and (DispatchOrdID in (select DispatchOrdIDDt from DispatchOrd_Entourage where EntourageState=3 and EntourageOAid=".substr($searchTXT,7).")) and DispatchOrdState in (8,9) ";
|
} elseif (substr($searchTXT,0,8)=="OrdType|") {
|
$searchSql=" and (ServiceOrdIDDt in (select ServiceOrdID from ServiceOrder where ServiceOrdState=3 and ServiceOrdType=".substr($searchTXT,8).")) and DispatchOrdState not in (10) ";
|
} else {
|
$searchSql=" and (ServiceOrdCoName like '%".$searchTXT."%' or ServiceOrdCoPhone like '%".$searchTXT."%' or ServiceOrdPtName like '%".$searchTXT."%' or ServiceOrdTraStreet like '%".$searchTXT."%' or ServiceOrdTraEnd like '%".$searchTXT."%' or ServiceOrdPtOutHosp in (select vid from dictionary where vType=1 and vtitle='HospName' and vtext like '%".$searchTXT."%')) ";
|
}
|
}else{
|
$searchSql="";
|
}
|
|
if ($OrdClassType=="-1"){
|
$searchSql=$searchSql." and ServiceOrdType in (select vID from dictionary where vType=1 and vtitle='ServiceOrderType') ";
|
}elseif ($OrdClassType=="-2"){
|
$searchSql=$searchSql." and ServiceOrdType in (select vID from dictionary where vType=2 and vtitle='ServiceOrderType') ";
|
}elseif (!empty($OrdClassType)){
|
$searchSql=$searchSql." and ServiceOrdType in (".$OrdClassType.") ";
|
}
|
|
if (!empty($OrderLevel)){
|
$searchSql=$searchSql." and OrderLevel=".($OrderLevel-1)." ";
|
}
|
|
$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;
|
$OrdType=empty($OrdType)!=false ? "1" : $OrdType;
|
If ($OrdType=="2") {
|
//按服务单统计
|
$sql = "select DataID,SOrdID,DOrdID,服务单号,调度单号,级别,分区,预约类型,服务单状态,调度单状态,订单时间=CONVERT(nvarchar(20),订单时间,120),调度时间=CONVERT(nvarchar(20),调度时间,120),服务班次,调度班次,联系人,联系电话,患者姓名,销售,介绍人,客服,调度,来源,总部下发,区域,类型,出发省份,出发市,出发区,转出医院,转出科室,转出床位,转入省份,转入市,转入区,转入医院,转入科室,成交价,距离公里,支付方式,使用呼吸机,车牌,出车成员,医护出车时间分钟,DataUPTime from ServiceOrder,OrdData where ServiceOrdID=SOrdID and ServiceOrd_CC_Time ".$SqlOrdDateType.$CoopUnitSql.$searchSql." and ServiceOrdClass in ('".$OrdClassListSql."') order by ServiceOrd_CC_Time";
|
}Else{
|
//按调度单统计
|
$sql = "select DataID,SOrdID,DOrdID,服务单号,调度单号,级别,分区,预约类型,服务单状态,调度单状态,订单时间=CONVERT(nvarchar(20),订单时间,120),调度时间=CONVERT(nvarchar(20),调度时间,120),服务班次,调度班次,联系人,联系电话,患者姓名,销售,介绍人,客服,调度,来源,总部下发,区域,类型,出发省份,出发市,出发区,转出医院,转出科室,转出床位,转入省份,转入市,转入区,转入医院,转入科室,成交价,距离公里,支付方式,使用呼吸机,车牌,出车成员,医护出车时间分钟,DataUPTime from OrdData where 调度时间 ".$SqlOrdDateType." and 调度单状态 not in ('取消') order by 调度时间";
|
|
//$sql = "select DataID,SOrdID,DOrdID,服务单号,调度单号,级别,分区,预约类型,服务单状态,调度单状态,订单时间=CONVERT(nvarchar(20),订单时间,120),调度时间=CONVERT(nvarchar(20),调度时间,120),服务班次,调度班次,联系人,联系电话,患者姓名,销售,介绍人,客服,调度,来源,总部下发,区域,类型,出发省份,出发市,出发区,转出医院,转出科室,转出床位,转入省份,转入市,转入区,转入医院,转入科室,成交价,距离公里,支付方式,使用呼吸机,车牌,出车成员,医护出车时间分钟,DataUPTime from DispatchOrd,OrdData where DispatchOrdID=DOrdID and DispatchOrdState not in (10) and DispatchOrd_NS_Time ".$SqlOrdDateType.$CoopUnitSql.$searchSql." and DispatchOrdClass in ('".$OrdClassListSql."') order by DispatchOrd_NS_Time";
|
}
|
//echo $total_sql;exit;
|
|
//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'];
|
//$OrdSum = $rs['OrdSum'];
|
//$CancelType = $rs['CancelType'];
|
//读取数据--End
|
|
//写入数组
|
$FormArray[$i][0]=$i+(($page-1)*$page_size);
|
If ($OrdType=="2") {
|
$FormArray[$i][1]="<a href='ServiceOrder.gds?ServiceOrdID=".$rs['SOrdID']."&OrdDateType=4&OrdClassList=&h_menu1_1=1' target='_blank'>".$rs['服务单号']."</a>";
|
if (!empty($rs['DispatchOrdNo'])) {
|
$FormArray[$i][2]="<a href='DispatchOrder.gds?DispatchOrdID=".$rs['DOrdID']."&OrdDateType=4&OrdClassList=&h_menu1_1=1' target='_blank'>".$rs['调度单号']."</a>";
|
}else{
|
$FormArray[$i][2]='--';
|
}
|
|
$FormArray[$i][3]=$rs['级别'];
|
$FormArray[$i][4]=$rs['分区'];
|
$FormArray[$i][5]=$rs['预约类型'];
|
$FormArray[$i][6]=$rs['服务单状态'];
|
$FormArray[$i][7]=date("Y/m/d",strtotime($rs['订单时间']));
|
$FormArray[$i][8]=date("H:i",strtotime($rs['订单时间']));
|
$FormArray[$i][9]=$rs['服务班次'];
|
}else{
|
$FormArray[$i][1]="<a href='ServiceOrder.gds?ServiceOrdID=".$rs['SOrdID']."&OrdDateType=4&OrdClassList=&h_menu1_1=1' target='_blank'>".$rs['服务单号']."</a>";
|
$FormArray[$i][2]="<a href='DispatchOrder.gds?DispatchOrdID=".$rs['DOrdID']."&OrdDateType=4&OrdClassList=&h_menu1_1=1' target='_blank'>".$rs['调度单号']."</a>";
|
$FormArray[$i][3]=$rs['级别'];
|
$FormArray[$i][4]=$rs['分区'];
|
$FormArray[$i][5]=$rs['预约类型'];
|
$FormArray[$i][6]=$rs['服务单状态'];
|
$FormArray[$i][7]=date("Y/m/d",strtotime($rs['调度时间']));
|
$FormArray[$i][8]=date("H:i",strtotime($rs['调度时间']));
|
$FormArray[$i][9]=$rs['服务班次'];
|
}
|
if ($is_Privacy=="NO" and $rs['分区']=="广州") {
|
$FormArray[$i][10]="***";
|
$FormArray[$i][11]="1**********";
|
}else{
|
$FormArray[$i][10]=$rs['联系人'];
|
$FormArray[$i][11]=$rs['联系电话'];
|
}
|
$FormArray[$i][12]=$rs['患者姓名'];
|
$FormArray[$i][13]=$rs['销售'];
|
$FormArray[$i][14]=$rs['介绍人'];
|
$FormArray[$i][15]=$rs['客服'];
|
$FormArray[$i][16]=$rs['调度'];
|
$FormArray[$i][17]=$rs['来源'];
|
if ($rs['总部下发']=="否"){
|
$FormArray[$i][18]="否";
|
}else{
|
$FormArray[$i][18]="<label style='color: #ff4aff;'>是</>";
|
}
|
$FormArray[$i][19]=$rs['区域'];
|
$FormArray[$i][20]=$rs['类型'];
|
$FormArray[$i][21]=$rs['出发省份'];
|
$FormArray[$i][22]=$rs['出发市'];
|
$FormArray[$i][23]=$rs['出发区'];
|
$FormArray[$i][24]=$rs['转出医院'];
|
$FormArray[$i][25]=$rs['转出科室'];
|
$FormArray[$i][26]=$rs['转出床位'];
|
$FormArray[$i][27]=$rs['转入省份'];
|
$FormArray[$i][28]=$rs['转入市'];
|
$FormArray[$i][29]=$rs['转入区'];
|
$FormArray[$i][30]=$rs['转入医院'];
|
$FormArray[$i][31]=$rs['转入科室'];
|
$FormArray[$i][32]=round($rs['成交价']);
|
$FormArray[$i][33]=$rs['距离公里'];
|
$FormArray[$i][34]=$rs['支付方式'];
|
$FormArray[$i][35]=$rs['使用呼吸机'];
|
$FormArray[$i][36]=$rs['车牌'];
|
$FormArray[$i][37]=$rs['出车成员'];
|
$FormArray[$i][38]=$rs['医护出车时间分钟'];
|
|
$i++;
|
//写入数组--End
|
}
|
|
}
|
}
|
|
//组成Json数据
|
if ($is_CSV==2) {
|
$JsonArray=array();
|
for($y=1;$y<count($FormArray);$y++) {
|
$JsonArray[($y-1)]=$FormArray[$y];
|
}
|
|
echo json_encode(array(
|
"draw" => 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;
|
?>
|