13 changed files with 876 additions and 632 deletions
@ -0,0 +1,4 @@ |
|||
<?php |
|||
include_once "./wms/contract/conn.php"; |
|||
$contractno = !empty($_POST['contractno']) ? $_POST['contractno'] : ''; |
|||
$facilityno = !empty($_POST['facilityno']) ? $_POST['facilityno'] : ''; |
@ -0,0 +1,128 @@ |
|||
<?php |
|||
/* |
|||
獎金辦法 1.0_1 說明,需要查看合約收入的款項去發放該款項的獎金 |
|||
|
|||
|
|||
函數用法與參數 |
|||
【1.輸入參數:】 |
|||
獎金版本($ver):1.0 |
|||
合約總類($contract_type):戰略客戶(strategy_customer)、一般客戶(general_customer) |
|||
作番賣價($elevator_knockdown_price):電梯的合約最後成交價 |
|||
營業員員工號($sales_id) |
|||
區域經理員工號($region_manger_id) |
|||
|
|||
【2.函數中的變數說明】 |
|||
營業員獎金($sales_bonus) |
|||
區域經理獎金($region_manager_bonus) |
|||
獎金預計發放階段($payment_schedule_due):deposit(訂金)、shipping(出貨款)、deliveried(貨到工地款)、acceptance(驗收款) |
|||
獎金預計發放規定($payment_schedule_regulation):訂金收齊、出貨款收齊、貨到工地款收齊、驗收款收齊 |
|||
計算結果($result_status):success, error |
|||
獎金水庫(bonus_array)[ |
|||
bonus_type:獎金名稱, |
|||
bonus_receiver:發放人員, |
|||
bonus_amount:金額, |
|||
payment_schedul_due:預計發放階段 |
|||
payment_schedul_regulation, 發放規定 |
|||
] |
|||
|
|||
【3.輸出數據】 |
|||
result_array[ |
|||
"ver"=>$ver, #獎金版本 |
|||
"result_status"=>"success", #計算結果 |
|||
"$bonus_array"=>$bonus_array #所有獎金水庫 |
|||
]; |
|||
|
|||
*/ |
|||
|
|||
|
|||
|
|||
function elevator_new_deal_bonus_v1_0($ver, $contract_type, $elevator_knockdown_price, $elevator_pay_kind, $sales_id, $region_manger_id) |
|||
{ |
|||
$bonus_array = []; |
|||
if ($ver == "1.0") { |
|||
|
|||
#合約總類($contract_type):戰略客戶(strategy_customer)、一般客戶(general_customer) |
|||
switch ($contract_type) { |
|||
case "strategy_customer": |
|||
#契約員獎金($sales_bonus) |
|||
$sales_bonus = $elevator_knockdown_price * 0.007; |
|||
#地區經理經理獎金($region_manager_bonus) |
|||
$region_manager_bonus = 400; |
|||
break; |
|||
|
|||
case "general_customer": |
|||
#契約員獎金($sales_bonus) |
|||
$sales_bonus = $elevator_knockdown_price * 0.015; |
|||
#區域經理獎金($region_manager_bonus) |
|||
$region_manager_bonus = 600; |
|||
break; |
|||
}; |
|||
|
|||
#營銷人員銷售獎金水庫-----訂金已收款20%,發放總獎金20% |
|||
array_push($bonus_array, [ |
|||
"bonus_type" => "營銷人員銷售獎金-訂金段", #獎金名稱 |
|||
"bonus_receiver" => $sales_id, #發放人員 |
|||
"bonus_amount" => round($sales_bonus * 0.2), #金額 |
|||
"payment_schedul_due" => "deposit", #訂金已收款20% |
|||
"payment_schedul_regulation" => "訂金已收款20%,發放總獎金20%" #發放規定 |
|||
]); |
|||
|
|||
#營銷人員銷售獎金水庫-----出貨前期所有款項已收齊,且出貨款已收款50%,發放總獎金50% |
|||
array_push($bonus_array, [ |
|||
"bonus_type" => "營銷人員銷售獎金-出貨款段", #獎金名稱 |
|||
"bonus_receiver" => $sales_id, #發放人員 |
|||
"bonus_amount" => round($sales_bonus * 0.5), #金額 |
|||
"payment_schedul_due" => "shipping", #訂金已收款20% |
|||
"payment_schedul_regulation" => "出貨前期所有款項已收齊,且出貨款已收款50%,發放總獎金50%" #發放規定 |
|||
]); |
|||
|
|||
#營銷人員銷售獎金水庫-----驗收前期所有款項已收齊,且驗收款已收款30%,發放總獎金30% |
|||
array_push($bonus_array, [ |
|||
"bonus_type" => "營銷人員銷售獎金-驗收款段", #獎金名稱 |
|||
"bonus_receiver" => $sales_id, #發放人員 |
|||
"bonus_amount" => round($sales_bonus * 0.3), #金額 |
|||
"payment_schedul_due" => "acceptance", #訂金已收款20% |
|||
"payment_schedul_regulation" => "驗收前期所有款項已收齊,且驗收款已收款30%,發放總獎金30%" #發放規定 |
|||
]); |
|||
|
|||
#區域經理獎金水庫-----訂金已收款100%,發放總獎金50% |
|||
array_push($bonus_array, [ |
|||
"bonus_type" => "區域經理提成獎金-訂金段", #獎金名稱 |
|||
"bonus_receiver" => $region_manger_id, #發放人員 |
|||
"bonus_amount" => round($region_manager_bonus * 0.5), #金額 |
|||
"payment_schedul_due" => "deposit", #訂金已收款100% |
|||
"payment_schedul_regulation" => "訂金已收款100%,發放總獎金50%" #發放規定 |
|||
]); |
|||
|
|||
#區域經理獎金水庫-----貨到工地款(含)之前所有款項已收款100%,發放總獎金50% |
|||
array_push($bonus_array, [ |
|||
"bonus_type" => "區域經理提成獎金-貨到工地款段", #獎金名稱 |
|||
"bonus_receiver" => $region_manger_id, #發放人員 |
|||
"bonus_amount" => round($region_manager_bonus * 0.5), #金額 |
|||
"payment_schedul_due" => "deliveried", #貨到工地款(含)之前所有款項已收款100% |
|||
"payment_schedul_regulation" => "貨到工地款(含)之前所有款項已收款100%,發放總獎金50%" #發放規定 |
|||
]); |
|||
|
|||
$result_array = [ |
|||
"ver" => $ver, #獎金版本 |
|||
"result_status" => "success", #計算結果 |
|||
"bonus_array" => $bonus_array #獎金水庫 |
|||
]; |
|||
} else { |
|||
array_push($bonus_array, [ |
|||
"bonus_type" => "error", #獎金名稱 |
|||
"bonus_receiver" => "error", #發放人員 |
|||
"bonus_amount" => 0, #金額 |
|||
"payment_schedul_due" => "9999-1-1", #預計發放時間 |
|||
"payment_schedul_regulation" => "error" #發放規定 |
|||
]); |
|||
|
|||
$result_array = [ |
|||
"ver" => $ver, #獎金版本 |
|||
"result_status" => "error", #計算結果 |
|||
"bonus_array" => $bonus_array #獎金水庫 |
|||
]; |
|||
}; |
|||
|
|||
return $result_array; |
|||
}; |
@ -0,0 +1,166 @@ |
|||
<?php |
|||
/* |
|||
獎金辦法 2.0_1 說明,需要查看合約收入的款項去發放該款項的獎金 |
|||
函數用法與參數 |
|||
【1.輸入參數:】 |
|||
獎金版本($ver):2.0 |
|||
合約總類($contract_type):戰略客戶(strategy_customer)、一般客戶(general_customer) |
|||
作番機種($elevator_type):客梯(passenger)、貨梯(cargo)、小電梯(dumbwaiter)、平台梯(flatbase)、強驅(positive_drive) |
|||
作番表價($elevator_list_price):該電梯的合約發佈(標準)價+Option價格+與其他電梯共同分擔的費用貨價格 |
|||
作番賣價($elevator_knockdown_price):電梯的合約最後成交價 |
|||
營業員員工號($sales_id) |
|||
區域經理員工號($region_manger_id) |
|||
|
|||
【2.函數中的變數說明】 |
|||
// 銷售點數($discount):作番賣價($elevator_knockdown_price) 除以 作番表價($elevator_list_price) |
|||
營業員獎金($sales_bonus) |
|||
區域經理提成獎金($region_manager_bonus) |
|||
獎金預計發放階段($payment_schedule_due):deposit(訂金)、shipping(出貨款)、deliveried(貨到工地款)、acceptance(驗收款) |
|||
獎金預計發放規定($payment_schedule_regulation):訂金收齊、出貨款收齊、驗收款收齊 |
|||
計算結果($result_status):success, error |
|||
獎金水庫(bonus_array)[ |
|||
bonus_type:獎金名稱, |
|||
bonus_receiver:發放人員, |
|||
bonus_amount:金額, |
|||
payment_schedul_due:預計發放階段 |
|||
payment_schedul_regulation, 發放規定 |
|||
] |
|||
|
|||
【3.輸出數據】 |
|||
result_array[ |
|||
"ver"=>$ver, #獎金版本 |
|||
"result_status"=>"success", #計算結果 |
|||
"$bonus_array"=>$bonus_array #所有獎金水庫 |
|||
]; |
|||
|
|||
*/ |
|||
|
|||
|
|||
|
|||
function elevator_new_deal_bonus_v2_0($ver, $contract_type, $elevator_type, $elevator_list_price, $elevator_knockdown_price, $sales_id, $region_manger_id) |
|||
{ |
|||
$bonus_array = []; |
|||
if ($ver == "2.0") { |
|||
$elevator_knockdown_price = round($elevator_knockdown_price / 1.05); //不含稅 |
|||
$discount = round($elevator_knockdown_price / $elevator_list_price, 3); #銷售點數,取到小數點第三位。 |
|||
|
|||
#合約總類($contract_type):戰略客戶(strategy_customer)、一般客戶(general_customer) |
|||
switch ($contract_type) { |
|||
case "strategy_customer": |
|||
#契約員獎金($sales_bonus) |
|||
$sales_bonus = $elevator_knockdown_price * 0.007; |
|||
#地區經理提成獎金($region_manager_bonus) |
|||
$region_manager_bonus = 400; |
|||
break; |
|||
|
|||
case "general_customer": |
|||
switch ($elevator_type) { |
|||
#客梯(passenger)、貨梯(cargo) |
|||
case ($elevator_type == "passenger" or $elevator_type == "cargo"): |
|||
switch ($discount) { |
|||
case ($discount >= 1.0): |
|||
$sales_bonus = $elevator_knockdown_price * 0.02; |
|||
break; |
|||
case ($discount >= 0.9 and $discount < 1.0): |
|||
$sales_bonus = $elevator_knockdown_price * 0.018; |
|||
break; |
|||
case ($discount >= 0.75 and $discount < 0.9): |
|||
$sales_bonus = $elevator_knockdown_price * 0.015; |
|||
break; |
|||
case ($discount < 0.75): |
|||
$sales_bonus = $elevator_knockdown_price * 0.008; |
|||
break; |
|||
}; |
|||
break; |
|||
|
|||
#小電梯(dumbwaiter)、平台梯(flatbase)、強驅(positive_drive) |
|||
case ($elevator_type == "dumbwaiter" or $elevator_type == "flatbase" or $elevator_type == "positive_drive"): |
|||
switch ($discount) { |
|||
case ($discount >= 1.0): |
|||
$sales_bonus = $elevator_knockdown_price * 0.02; |
|||
break; |
|||
case ($discount >= 0.9 and $discount < 1.0): |
|||
$sales_bonus = $elevator_knockdown_price * 0.018; |
|||
break; |
|||
case ($discount >= 0.72 and $discount < 0.9): |
|||
$sales_bonus = $elevator_knockdown_price * 0.015; |
|||
break; |
|||
case ($discount < 0.72): |
|||
$sales_bonus = $elevator_knockdown_price * 0.008; |
|||
break; |
|||
}; |
|||
break; |
|||
}; |
|||
#區域經理提成獎金($region_manager_bonus) |
|||
$region_manager_bonus = 600; |
|||
break; |
|||
}; |
|||
|
|||
#營銷人員銷售獎金水庫-----訂金已收款20%,發放總獎金20% |
|||
array_push($bonus_array, [ |
|||
"bonus_type" => "營銷人員銷售獎金-訂金段", #獎金名稱 |
|||
"bonus_receiver" => $sales_id, #發放人員 |
|||
"bonus_amount" => round($sales_bonus * 0.2), #金額 |
|||
"payment_schedul_due" => "deposit", #訂金已收款20% |
|||
"payment_schedul_regulation" => "訂金已收款20%,發放總獎金20%" #發放規定 |
|||
]); |
|||
|
|||
#營銷人員銷售獎金水庫-----出貨前期所有款項已收齊,且出貨款已收款50%,發放總獎金50% |
|||
array_push($bonus_array, [ |
|||
"bonus_type" => "營銷人員銷售獎金-出貨款段", #獎金名稱 |
|||
"bonus_receiver" => $sales_id, #發放人員 |
|||
"bonus_amount" => round($sales_bonus * 0.5), #金額 |
|||
"payment_schedul_due" => "shipping", #訂金已收款20% |
|||
"payment_schedul_regulation" => "出貨前期所有款項已收齊,且出貨款已收款50%,發放總獎金50%" #發放規定 |
|||
]); |
|||
|
|||
#營銷人員銷售獎金水庫-----驗收前期所有款項已收齊,且驗收款已收款30%,發放總獎金30% |
|||
array_push($bonus_array, [ |
|||
"bonus_type" => "營銷人員銷售獎金-驗收款段", #獎金名稱 |
|||
"bonus_receiver" => $sales_id, #發放人員 |
|||
"bonus_amount" => round($sales_bonus * 0.3), #金額 |
|||
"payment_schedul_due" => "acceptance", #訂金已收款20% |
|||
"payment_schedul_regulation" => "驗收前期所有款項已收齊,且驗收款已收款30%,發放總獎金30%" #發放規定 |
|||
]); |
|||
|
|||
#區域經理提成獎金水庫-----訂金已收款100%,發放總獎金50% |
|||
array_push($bonus_array, [ |
|||
"bonus_type" => "區域經理提成獎金-訂金段", #獎金名稱 |
|||
"bonus_receiver" => $region_manger_id, #發放人員 |
|||
"bonus_amount" => round($region_manager_bonus * 0.5), #金額 |
|||
"payment_schedul_due" => "deposit", #訂金已收款100% |
|||
"payment_schedul_regulation" => "訂金已收款100%,發放總獎金50%" #發放規定 |
|||
]); |
|||
|
|||
#區域經理獎金水庫-----貨到工地款(含)之前所有款項已收款100%,發放總獎金50% |
|||
array_push($bonus_array, [ |
|||
"bonus_type" => "區域經理提成獎金-貨到工地款段", #獎金名稱 |
|||
"bonus_receiver" => $region_manger_id, #發放人員 |
|||
"bonus_amount" => round($region_manager_bonus * 0.5), #金額 |
|||
"payment_schedul_due" => "deliveried", #貨到工地款(含)之前所有款項已收款100% |
|||
"payment_schedul_regulation" => "貨到工地款(含)之前所有款項已收款100%,發放總獎金50%" #發放規定 |
|||
]); |
|||
|
|||
$result_array = [ |
|||
"ver" => $ver, #獎金版本 |
|||
"result_status" => "success", #計算結果 |
|||
"bonus_array" => $bonus_array #獎金水庫 |
|||
]; |
|||
} else { |
|||
array_push($bonus_array, [ |
|||
"bonus_type" => "error", #獎金名稱 |
|||
"bonus_receiver" => "error", #發放人員 |
|||
"bonus_amount" => 0, #金額 |
|||
"payment_schedul_due" => "9999-1-1", #預計發放時間 |
|||
"payment_schedul_regulation" => "error" #發放規定 |
|||
]); |
|||
|
|||
$result_array = [ |
|||
"ver" => $ver, #獎金版本 |
|||
"result_status" => "error", #計算結果 |
|||
"bonus_array" => $bonus_array #獎金水庫 |
|||
]; |
|||
}; |
|||
|
|||
return $result_array; |
|||
}; |
Loading…
Reference in new issue