【调度系统】广东民航医疗快线调度系统源代码
wlzboy
2025-08-14 b3f8789cf8bf0d934f8431b1d7b564a756576b4b
Report_DispatchDetailed_Data.php
@@ -324,6 +324,42 @@
   ";
   //$sql=",isRespirator=(select count(id) from ServiceOrd_Condition where ConditionID=4 and ServiceOrdCoID=ServiceOrdID)"
}
/**
 * 根据 DispatchOrdID 查找开单人及跟单人列表
 *
 * @param int $ServiceOrdID 调度单 ID
 * @param object $conn 数据库连接对象
 * @return array 包含开单人及跟单人信息的数组
 */
function getDispatchOrderStaff($ServiceOrdID, $conn) {
    $staffList = [];
    // 查询开单人信息
    $sqlDispatcher = "select PersonName,CommissionRatio from ServiceOrderCommissionDetails where ServiceOrderID='$ServiceOrdID' and PersonType='Opener'";
    $dataDispatcher = sqlsrv_query($conn, $sqlDispatcher);
    if ($dataDispatcher && sqlsrv_has_rows($dataDispatcher)) {
        $rsDispatcher = sqlsrv_fetch_array($dataDispatcher);
        $staffList['Opener'] = $rsDispatcher['PersonName'];
        $staffList['OpenerCommissionRatio'] = $rsDispatcher['CommissionRatio'];
    }
    // 查询跟单人列表
    $sqlEntourage = "select PersonName,CommissionRatio from ServiceOrderCommissionDetails where ServiceOrderID='$ServiceOrdID' and PersonType='Follower'";
    $dataEntourage = sqlsrv_query($conn, $sqlEntourage);
    if ($dataEntourage) {
        $entourageList = [];
      $i=1;
        while ($rsEntourage = sqlsrv_fetch_array($dataEntourage)) {
            $entourageList[$i]["Follower"] = $rsEntourage['PersonName'];
            $entourageList[$i]["FollowerRatio"] = $rsEntourage['CommissionRatio'];
         $i++;
        }
        $staffList['entourage'] = $entourageList;
    }
    return $staffList;
}
//echo $total_sql;exit;
if ($is_CSV!=1){
   //计算总页数
@@ -341,12 +377,16 @@
   $sqlPage="" ;
}
$sql = "select * $Additional_sql from ($Result_sql) sqlData ".$sqlPage." order by sqlData.n" ;
//echo $sql;exit;
//  echo $sql;exit;
// 初始化变量,确保在所有情况下都被定义
$FormArrayX = 0;
$FormArray = array();
$data = sqlsrv_query($conn,$sql);
if($data == true){
   $FormArray=array();
   //表头
   $FormArray[0]=array("序号","服务单号","调度单号","级别","分区","预约类型","调度单状态","日期","时间","班次","联系人","联系电话","患者姓名","销售","介绍人","客服","调度","来源","是否企微成交","主要企微客服","其他企微客服","情景编号","企微绩效","总部下发","支援总部","承包组","区域","类型","出发省份","出发市","出发区","转出医院","转出科室","转出床位","转入省份","转入市","转入区","转入医院","转入科室","总成交价","系统报价参考","等待费","担架费","居家ICU费","距离(公里)","支付方式","使用呼吸机","车牌","出车成员","出车岗位","医护出车时间(分钟)");
   $FormArray[0]=array("序号","服务单号","调度单号","级别","分区","预约类型","调度单状态","日期","时间","班次","联系人","联系电话","患者姓名","销售","介绍人","客服","调度","来源","是否企微成交","主要企微客服","其他企微客服","情景编号","企微绩效","总部下发","支援总部","承包组","区域","类型","出发省份","出发市","出发区","转出医院","转出科室","转出床位","转入省份","转入市","转入区","转入医院","转入科室","总成交价","系统报价参考","等待费","担架费","居家ICU费","距离(公里)","支付方式","使用呼吸机","车牌","出车成员","出车岗位","医护出车时间(分钟)","开单人","开单人提成比例","跟单人","跟单人提成比例","跟单人","跟单人提成比例","跟单人","跟单人提成比例","跟单人","跟单人提成比例");
   if ($is_CSV==1){array_push($FormArray[0],"任务备注");}
   $FormArrayX=count($FormArray[0]);
   if (sqlsrv_rows_affected($data)==0) {
@@ -366,11 +406,11 @@
            $isRespirator="是";
         }
         //读取数据--End
         $ServiceOrdID=$rs['ServiceOrdID'];
         //写入数组
         $FormArray[$i][0]=$i+(($page-1)*$page_size);
         If ($OrdType=="2") {
            $FormArray[$i][1]="<a href='ServiceOrder.gds?ServiceOrdID=".$rs['ServiceOrdID']."&OrdDateType=4&OrdClassList=&h_menu1_1=1' target='_blank'>".$rs['ServiceOrdNo']."</a>";
            $FormArray[$i][1]="<a href='ServiceOrder.gds?ServiceOrdID=".$ServiceOrdID."&OrdDateType=4&OrdClassList=&h_menu1_1=1' target='_blank'>".$rs['ServiceOrdNo']."</a>";
            if (!empty($rs['DispatchOrdNo'])) {
               $FormArray[$i][2]="<a href='DispatchOrder.gds?DispatchOrdID=".$rs['DispatchOrdID']."&OrdDateType=4&OrdClassList=&h_menu1_1=1' target='_blank'>".$rs['DispatchOrdNo']."</a>";
            }else{
@@ -487,7 +527,46 @@
         $FormArray[$i][48]=$rs['EntourageName'];
         $FormArray[$i][49]=$rs['EntouragePost'];
         $FormArray[$i][50]=$rs['Stime2'];
         if ($is_CSV==1){$FormArray[$i][51]=$rs['ServiceOrdTaskRemarks'];}
         $rs2=getDispatchOrderStaff($ServiceOrdID, $conn);
         //如果 $rs2 为空,设置默认值
         if (empty($rs2)) {
            $FormArray[$i][51]='--';
            $FormArray[$i][52]='';
         }else{
            $FormArray[$i][51]=isset($rs2['Opener'])?$rs2['Opener']:'--';
            $FormArray[$i][52]=isset($rs2['OpenerCommissionRatio'])?$rs2['OpenerCommissionRatio']:'';
         }
         if (!empty($rs2['entourage'])) {
            //$rs2['entourage']的长度
            $FormArray[$i][53]='--';
            $FormArray[$i][54]='';
            $FormArray[$i][55]='--';
            $FormArray[$i][56]='';
            $FormArray[$i][57]='--';
            $FormArray[$i][58]='';
            $FormArray[$i][59]='--';
            $FormArray[$i][60]='';
            $j=0;
            foreach ($rs2['entourage'] as $key => $value) {
               $FormArray[$i][53+$j*2]=$value['Follower'];
               $FormArray[$i][54+$j*2]=$value['FollowerRatio'];
               $j++;
            }
         }else{
            $FormArray[$i][53]='--';
            $FormArray[$i][54]='';
            $FormArray[$i][55]='--';
            $FormArray[$i][56]='';
            $FormArray[$i][57]='--';
            $FormArray[$i][58]='';
            $FormArray[$i][59]='--';
            $FormArray[$i][60]='';
         }
         if ($is_CSV==1){$FormArray[$i][61]=$rs['ServiceOrdTaskRemarks'];}
         $i++;
         //写入数组--End