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
?>