0) { $str .= IntToChr(floor($index / 26)-1); } return $str . chr($index % 26 + $start); } //--------------------------数字转字母---------------------end //--------------------------文本日期转实际时间---------------------begin function TXTDateToDate($TXTDate) { $str = ''; switch ($TXTDate) { case "当天": $str = date("Y-m-d"); break; case "昨天": $str = date("Y-m-d",strtotime('-1 day')); break; case "前天": $str = date("Y-m-d",strtotime('-2 day')); break; case "本周": $str = date("Y-m-d",strtotime('last day this week'))."至".date("Y-m-d",strtotime('last day this week +6 days')); break; case "上周": $str = date("Y-m-d",strtotime('last day this week -1 week'))."至".date("Y-m-d",strtotime('last day this week -1 days')); break; case "本月": $str = date("Y年m月"); break; case "上月": $str = date("Y年m月",strtotime("last month")); break; case "本年": $str = date("Y年"); break; case "本结算月": $str = date("Y-m-",strtotime("last month"))."25"."至".date("Y-m-")."24"; /* if(date("d")<=24) { $str = date("Y-m-",strtotime("last month"))."25"."至".date("Y-m-")."24"; }else{ $str = date("Y-m-")."25"."至".date("Y-m-",strtotime("+1 month"))."24"; } */ break; default: $str = $TXTDate; } return $str; } //--------------------------文本日期转实际时间---------------------end //--------------------------个人绩效提成算法2---------------------begin function EntourageDKP_Money_B($DispatchOrdPerfomance,$EntourageOT_is,$EntourageLong_is,$EntourageBetimesHH,$EntourageDKP,$EntourageDKPScale,$EntourageState_Time,$StretcherM) { $EntourageDKP_Money=0; If ($EntourageOT_is=1) { //加班绩效提成计算方式 If ($DispatchOrdPerfomance<=1000) { If ($EntourageName="医生") { $EntourageDKP_Money=100; } ElseIf ($EntourageName="护士") { $EntourageDKP_Money=80; } Else { $EntourageDKP_Money=70; } } ElseIf ($DispatchOrdPerfomance>1000 And $DispatchOrdPerfomance<=2000) { If ($EntourageName="医生") { $EntourageDKP_Money=200; } ElseIf ($EntourageName="护士") { $EntourageDKP_Money=160; }Else{ $EntourageDKP_Money=140; } } ElseIf ($DispatchOrdPerfomance>2000 And $DispatchOrdPerfomance<=3000) { If ($EntourageName="医生") { $EntourageDKP_Money=300; } ElseIf ($EntourageName="护士") { $EntourageDKP_Money=240; } Else { $EntourageDKP_Money=210; } } Else { If ($EntourageName="医生") { $EntourageDKP_Money=number_format($DispatchOrdPerfomance*0.1,1); } ElseIf ($EntourageName="护士") { $EntourageDKP_Money=number_format($DispatchOrdPerfomance*0.08,1); } Else { $EntourageDKP_Money=number_format($DispatchOrdPerfomance*0.07,1); } } } Else { //正常上班时间 If ($EntourageBetimesHH>0) { //If ($EntourageBetimesHH>2 And DateDiff("d",EntourageState_Time,"2016-12-5")<=0)) {$EntourageBetimesHH=2;} $EntourageDKP_Money=$EntourageBetimesHH*30; } $EntourageDKP_Money=$EntourageDKP_Money+number_format($EntourageDKP*$EntourageDKPScale,1); } //$EntourageDKP_Money_B=$EntourageDKP_Money+$StretcherM; return $EntourageDKP_Money+$StretcherM; } //--------------------------个人绩效提成算法2---------------------end //--------------------------无限级菜单排序算法---------------------begin //组成多级数组 function MultiLevelConvert1($arr,$id){ $res = array(); foreach ($arr as $key => $value) { if ($value["pid"] == $id) { $value["child"]=MultiLevelConvert1($arr,$value["id"]); array_push($res,$value); } } return $res; } //重新整理成一维数组 function MultiLevelConvert2($arr,$level){ $res = array(); foreach ($arr as $key => $value) { if (count($value)>0) { $value["level"]=$level; if (count($value['child'])>0) { $res2=MultiLevelConvert2($value['child'],$level+1); array_pop($value);array_push($res,$value); foreach ($res2 as $key => $value) {array_push($res,$value);} } else {array_pop($value);array_push($res,$value);} } } return $res; } //--------------------------无限级菜单排序算法---------------------end //--------------------------调度单跟随人员---------------------begin function EntourageOANameA($EntourageID,$DispatchOrdID,$DataID){ $res = $EntourageID; if (empty($EntourageID)==false and empty($DispatchOrdID)==false) { global $conn; $sql = "select OA_User_ID,OA_User,OA_Name,OA_weixinAvatar,EntourageLead,EntourageState,EntourageMileageFactor,EntourageDKP,EntourageDKPScale,EntourageOT_is,EntourageLong_is,EntourageBetimesHH,EntourageEnd_Time,EntourageState_Time,Stretcher_is from DispatchOrd_Entourage,OA_User where OA_User_ID=EntourageOAid and EntourageState<>4 and DispatchOrdIDDt=".$DispatchOrdID." and EntourageID=".$EntourageID; //echo $sql;exit; $dataDt = sqlsrv_query($conn,$sql); if($dataDt == true){ while($EntourageOArs = sqlsrv_fetch_array( $dataDt, SQLSRV_FETCH_ASSOC) ) { $EntourageOAuserID = $EntourageOArs['OA_User_ID']; $EntourageOAuser = $EntourageOArs['OA_User']; $EntourageOAName = $EntourageOArs['OA_Name']; $EntourageOAAvatar=empty($EntourageOArs['OA_weixinAvatar'])!=false ? "/resources/images/icon_avatar_default.png" : $EntourageOArs['OA_weixinAvatar']; $EntourageLead = $EntourageOArs['EntourageLead']; $EntourageState = $EntourageOArs['EntourageState']; $EntourageMileageFactor = $EntourageOArs['EntourageMileageFactor']; $EntourageOT_is = $EntourageOArs['EntourageOT_is']; $EntourageLong_is = $EntourageOArs['EntourageLong_is']; $EntourageBetimesHH = $EntourageOArs['EntourageBetimesHH']; $EntourageDKP = $EntourageOArs['EntourageDKP']; $EntourageDKPScale = $EntourageOArs['EntourageDKPScale']; $EntourageEnd_Time = $EntourageOArs['EntourageEnd_Time']; $EntourageState_Time = $EntourageOArs['EntourageState_Time']; $Stretcher_is = $EntourageOArs['Stretcher_is']; } }Else{ $DataID="userID"; $EntourageOAuserID=$EntourageID; } if (isset($EntourageOAuserID)) { switch ($DataID) { case "userID": $res= $EntourageOAuserID; break; case "UserName": $res= $EntourageOAName; If ($EntourageOAState==3) { $res = "".$res.""; } ElseIf ($EntourageOAState==2) { $res = "".$res.""; } If ($EntourageOALead==1) { $res = "".$res;} break; case "UserNameReport": $res= $EntourageOAName; If ($EntourageMileageFactor!=1) { $res = $res."/".floatval(number_format($EntourageMileageFactor,2,".","")); } If ($EntourageID==5 Or $EntourageID==6 Or $EntourageID==2) { $res=",".$res; } break; default: $res=""; } } else { $res=""; } } return $res; } //--------------------------调度单跟随人员---------------------end //--------------------------服务单类型---------------------begin Function ServiceOrdTypeA($ServiceOrdType) { global $conn; $sql = "select vtext from dictionary where vtitle='ServiceOrderType' and vID=".$ServiceOrdType; //echo $sql;exit; $dataDt = sqlsrv_query($conn,$sql); if($dataDt == true){ while($ServiceOrdTypers = sqlsrv_fetch_array( $dataDt, SQLSRV_FETCH_ASSOC) ) { return $ServiceOrdTypers['vtext']; } }Else{ return $ServiceOrdType; } } //--------------------------服务单类型---------------------end //--------------------------订单分区---------------------begin Function OrderClassA($OrderClass) { global $conn; $sql = "select top 1 vtext from dictionary where vtitle='OrderClass' and vOrder2='".$OrderClass."' order by vType desc"; //echo $sql;exit; $dataDt = sqlsrv_query($conn,$sql); if($dataDt == true){ while($OrderClassrs = sqlsrv_fetch_array( $dataDt, SQLSRV_FETCH_ASSOC) ) { return $OrderClassrs['vtext']; } }Else{ return $OrderClass; } } //--------------------------订单分区---------------------end //--------------------------订单级别查询---------------------begin Function OrderLevelA($OrderLevel) { global $conn; $sql = "select top 1 vtext from dictionary where vtitle='OrderLevel' and vID=".$OrderLevel." order by vType desc"; //echo $sql;exit; $dataDt = sqlsrv_query($conn,$sql); if($dataDt == true){ while($OrderLevelrs = sqlsrv_fetch_array( $dataDt, SQLSRV_FETCH_ASSOC) ) { return $OrderLevelrs['vtext']; } }Else{ return $OrderLevel; } } //--------------------------订单级别查询---------------------end //--------------------------订单出发类型查询---------------------begin Function DepartureTypeA($DepartureType) { global $conn; $sql = "select top 1 vtext from dictionary where vtitle='DepartureType' and vID=".$DepartureType." order by vType desc"; //echo $sql;exit; $dataDt = sqlsrv_query($conn,$sql); if($dataDt == true){ while($DepartureTypers = sqlsrv_fetch_array( $dataDt, SQLSRV_FETCH_ASSOC) ) { return $DepartureTypers['vtext']; } }Else{ return $DepartureType; } } //--------------------------订单出发类型查询---------------------end //--------------------------车辆资料查询---------------------begin Function CarDataA($CarID,$CarLicense,$DataID) { global $conn; $sql=''; If ($CarID!="") { $CarDataA=$CarID; $sql = "select * from CarData where CarID=".$CarID; } ElseIf ($CarLicense!="") { $CarDataA=$CarLicense; $sql = "select * from CarData where CarLicense='".$CarLicense."'"; } if ($sql!='') { //echo $sql;exit; $dataDt = sqlsrv_query($conn,$sql); if($dataDt == true){ while($ServiceOrdTypers = sqlsrv_fetch_array( $dataDt, SQLSRV_FETCH_ASSOC) ) { if ($DataID=='CarLicense'){ return $ServiceOrdTypers['CarLicense']; }else{ return $ServiceOrdTypers['CarID']; } } }Else{ return $CarID; } }else{ return '--'; } } //--------------------------车辆资料查询---------------------end //--------------------------客户评价(2020.12.22)---------------------begin Function Guest_PointEA($Guest_PointE) { $Guest_PointEA=""; $Guest_PointE_arr=explode(",",$Guest_PointE); foreach ($Guest_PointE_arr as $key => $value) { if (!empty($value)){ if ($value == "9") { $Guest_PointEA = $Guest_PointEA.",满意"; }elseif ($value == "8") { $Guest_PointEA = $Guest_PointEA.",满意"; }elseif ($value == "1") { $Guest_PointEA = $Guest_PointEA.",不满意技能水平"; }elseif ($value == "2") { $Guest_PointEA = $Guest_PointEA.",不满意服务水平"; }else{ $Guest_PointEA = $Guest_PointE; } } } if (!empty($Guest_PointEA)) {$Guest_PointEA=substr($Guest_PointEA,1);} return $Guest_PointEA; } //--------------------------客户评价---------------------end //--------------------------个人绩效提成算法3 2018-10-25开始使用---------------------begin Function EntourageDKP_Money_C($OA_User_ID,$DispatchOrdID,$ServiceOrdType,$OrdDistance,$TimeLength_Program,$TimeLength_ICU,$TimeLength_Wait,$EntourageMileageFactor,$EntourageOT_is,$EntourageBetimesHH,$Stretcher_Money,$EntourageP1,$Condition_is) { $ConversionDistance=0; $EntourageOT_Money=0; $Condition_Money=0; $CompetencyID=0; //select top 1 @CompetencyID=OA_CompetencyID from OA_User,OA_Competency where OA_CompetencyUserID=OA_User_ID and OA_User_ID=@OA_User_ID order by OA_CompetencyID //是否加班/提前出车 if ($EntourageOT_is=1 or $EntourageBetimesHH>0) { $EntourageOT_Money=30; } //折算行驾里程 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 = $OrdDistance; } //里程为-1时,行驾里程为0公里 if ($ConversionDistance<0) { $ConversionDistance = 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 = $OrdDistance; } } //高铁,航空单 if ($ServiceOrdType==8 or $ServiceOrdType==5){ $ConversionDistance=0; } //司机单独出车系数 //if ($CompetencyID=2 and $EntourageMileageFactor=1.2 and $ConversionDistance>250) // $EntourageMileageFactor=1.5 //计算个人系数 $ConversionDistance = $ConversionDistance*$EntourageMileageFactor; //人工绩效计提修改 //select $ConversionDistance=EntourageMileageEdit from DispatchOrd_Entourage where EntourageMileageEdit is not null and DispatchOrdIDDt=$DispatchOrdID and EntourageOAid=$OA_User_ID //特殊项目金额(使用呼吸机,保温箱,ECMO 医生50元/单/人,护士30元/单/人) if ($CompetencyID==3 and $Condition_is>0){ $Condition_Money=50; } if ($CompetencyID==4 and $Condition_is>0){ $Condition_Money=30; } return array($ConversionDistance,$EntourageOT_Money,$Stretcher_Money,$EntourageMileageFactor,$Condition_Money); } //--------------------------个人绩效提成算法3 2018-10-25开始使用---------------------end ?>