You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
82 lines
1.8 KiB
82 lines
1.8 KiB
<?php
|
|
class SalesmanBonus
|
|
{
|
|
const REPAIR_BONUS_KIND = 'repair';
|
|
const REBUILD_BONUS_KIND = 'rebuild';
|
|
const CONTRACT_BONUS_KIND = 'contract';
|
|
#定金比例
|
|
const DEPOSIT_RATE = 0.3;
|
|
#出货比例
|
|
const SHIPMENT_RATE = 0.5;
|
|
#验收比例
|
|
const ACCEPTANCE_RATE = 0.2;
|
|
#修理奖金系数
|
|
const REPAIR_BONUS_COEFFICIENT = 0.06;
|
|
#汰改奖金系数
|
|
const REBUILD_BONUS_COEFFICIENT = 0.018;
|
|
|
|
#计算奖金
|
|
/**
|
|
*
|
|
*$data= (
|
|
* 'yyyymm',
|
|
* 'customer_id',
|
|
* 'item_no',
|
|
* 'amount',
|
|
* 'amount_kind',
|
|
* 'remark',
|
|
* 'salesman',
|
|
* 'cost',
|
|
* 'contract_kind'
|
|
* )
|
|
*/
|
|
static function bonus($data = [])
|
|
{
|
|
switch ($data['amount_kind']) {
|
|
#保养款
|
|
case '1':
|
|
return self::contractBonus($data);
|
|
break;
|
|
#修理款
|
|
case '2':
|
|
return ($data['amount'] - $data['cost']) * SalesmanBonus::REPAIR_BONUS_COEFFICIENT;
|
|
break;
|
|
#定金
|
|
case '3':
|
|
return 0;
|
|
break;
|
|
#出货款
|
|
case '4':
|
|
return 0;
|
|
break;
|
|
#验收款
|
|
case '5':
|
|
return 0;
|
|
break;
|
|
default:
|
|
return 0;
|
|
}
|
|
|
|
|
|
|
|
// $func = $bonusKind . "Bonus";
|
|
// return call_user_func(array('SalesmanBonus', $func), $data);
|
|
}
|
|
#修理奖金
|
|
static function repairBonus($data)
|
|
{
|
|
var_dump($data);
|
|
}
|
|
#修理奖金
|
|
static function rebuildBonus($data)
|
|
{
|
|
var_dump($data);
|
|
}
|
|
|
|
|
|
#契约奖金
|
|
static function contractBonus($data)
|
|
{
|
|
var_dump($data);
|
|
}
|
|
}
|
|
|