市场专员业绩管理bug修改

master
zhengyongxing 5 years ago
parent 1c535ee74b
commit 97161900ac

@ -2585,7 +2585,7 @@ function is_sendBonus($pay_time = '',$admin_id = '') {
->where(['pay_time'=>$pay_time,'admin_id'=>$admin_id])
->find();
if ($market_altogether['wait_commission'] != '0.00' && $market_altogether['wait_commission']) {
if ($market_altogether && $market_altogether['type'] != 0) {
return '已发放';
} else {
return '未发放';

@ -649,6 +649,12 @@ class AdminController extends Controller {
$this->assign('role_export_check',$this->checkRule($exportRule,array('in','1,2')));
$exportRule = strtolower(MODULE_NAME.'/'.CONTROLLER_NAME.'/'.ACTION_NAME."_caculate_check");
$this->assign('caculate_check',$this->checkRule($exportRule,array('in','1,2')));
$countRule = strtolower(MODULE_NAME.'/'.CONTROLLER_NAME.'/'.ACTION_NAME."_count_check");
$this->assign($countfield,$this->checkRule($countRule,array('in','1,2')));

@ -45,6 +45,31 @@ class MarketPercentageController extends ThinkController
->where($map)
->find();
$this->assign("sum",$sum);
foreach ($data as $key => $value) {
if ($value['company_belong'] == 0) {
$data[$key]['company_belong'] = '内团';
} else if ($value['company_belong'] == 1) {
$data[$key]['company_belong'] = '外团';
} else if ($value['company_belong'] == 2) {
$data[$key]['company_belong'] = '外团-分发联盟';
} else {
$data[$key]['company_belong'] = '无';
}
if ($value['develop_type'] == 1) {
$data[$key]['develop_type'] = '自主开发';
} else if ($value['develop_type'] == 2) {
$data[$key]['develop_type'] = '自主开发及维护';
} else if ($value['develop_type'] == 3) {
$data[$key]['develop_type'] = '只维护';
} else {
$data[$key]['develop_type'] = '无';
}
}
if ($_REQUEST['export']) {
$title = ['pay_time' => '时间',
@ -72,31 +97,6 @@ class MarketPercentageController extends ThinkController
data2csv($data,'市场结算管理',$title);
}
$this->assign("sum",$sum);
foreach ($data as $key => $value) {
if ($value['company_belong'] == 0) {
$data[$key]['company_belong'] = '内团';
} else if ($value['company_belong'] == 1) {
$data[$key]['company_belong'] = '外团';
} else if ($value['company_belong'] == 2) {
$data[$key]['company_belong'] = '外团-分发联盟';
} else {
$data[$key]['company_belong'] = '无';
}
if ($value['develop_type'] == 1) {
$data[$key]['develop_type'] = '自主开发';
} else if ($value['develop_type'] == 2) {
$data[$key]['develop_type'] = '自主开发及维护';
} else if ($value['develop_type'] == 3) {
$data[$key]['develop_type'] = '只维护';
} else {
$data[$key]['develop_type'] = '无';
}
}
$count = M("settleup_marketorder","tab_")
->where($map)
->group("promote_id,game_name,pay_time")
@ -371,51 +371,6 @@ class MarketPercentageController extends ThinkController
->select();
}
// $all_data = M("settleup_marketorder","tab_")
// ->field("tab_settleup_marketorder.id,pay_time,promote_account,company_belong,member.real_name,develop_type,game_name,
// sum(pay_amount) pay_amount,sum(company_profit) company_profit,group_id,market_percentage,nickname,admin_id,
// sum(if((develop_type = 1 or develop_type = 2), pay_amount, 0)) performance_revenue,sum(if(develop_type = 3, pay_amount, 0)) appraisal_bonuses")
// ->join("left join sys_auth_group_access access on admin_id=access.uid")
// ->join("left join sys_auth_group auth on access.group_id=auth.id")
// ->join("left join sys_member member on access.uid=member.uid")
// ->where(['group_id'=>['in','11,12,21']])
// ->group("admin_id,pay_time")
// ->select();
//
// $wait_amount = [];
// foreach ($all_data as $key => $value) {
//
// $sum_amount = $value['performance_revenue'] + $value['appraisal_bonuses'];
//
// $market_percentage = json_decode($value['market_percentage'],true);
// //业绩提成
// $all_data[$key]['performance_commission'] =
// number_format($value['company_profit']*($market_percentage['develop_commission_ratio']/100) +
// $value['company_profit']*($market_percentage['maintain_commission_ratio']/100), 2, '.', '');
//
// $sum_amount <$market_percentage['performance_revenue'] ? ($all_data[$key]['performance_commission'] = 0):"";
// //绩效考核奖金
// $all_data[$key]['achievement_bonus'] =
// number_format($value['company_profit']*($market_percentage['appraisal_bonuses_ratio']/100) +
// $value['company_profit']*($market_percentage['maintain_appraisal_bonuses_ratio']/100), 2, '.', '');
// $sum_amount <$market_percentage['appraisal_bonuses'] ? ($all_data[$key]['achievement_bonus'] = 0):"";
// //总提成
// $all_data[$key]['commission'] = number_format($all_data[$key]['performance_commission']+$all_data[$key]['achievement_bonus'], 2, '.', '');
// //应发金额
// $all_data[$key]['extend_commission'] =
// number_format($all_data[$key]['performance_commission'] * ($market_percentage['performance_monthly_ratio']/100)+
// $all_data[$key]['achievement_bonus'] * ($market_percentage['month_bonus_ratio']/100), 2, '.', '');
//
// //待发金额
// $all_data[$key]['wait_commission'] = number_format($all_data[$key]['commission'] - ( $all_data[$key]['performance_commission'] * ($market_percentage['performance_monthly_ratio']/100)+
// $all_data[$key]['achievement_bonus'] * ($market_percentage['month_bonus_ratio']/100) ), 2, '.', '');
// $wait_amount[$value['admin_id'].$value['pay_time']] = $all_data[$key]['wait_commission'];
//
// }
// dump($data);die();
$all_data = [];
$count = M("settleup_marketorder","tab_")
->field("pay_time,promote_account,company_belong,tab_settleup_marketorder.real_name,develop_type,game_name,
sum(pay_amount) pay_amount,sum(company_profit) company_profit,group_id,market_percentage,nickname")
@ -484,35 +439,23 @@ class MarketPercentageController extends ThinkController
if ($market_percentage['time'] == 1) {
if ($month == '07') {
// $data[$key]['extend_commission'] += $wait_amount[$value['admin_id'].$yes.'-'.'01'] + $wait_amount[$value['admin_id'].$yes.'-'.'02'] + $wait_amount[$value['admin_id'].$yes.'-'.'03'];
$data[$key]['is_send_use'] = 1;
} elseif($month == '10') {
// $data[$key]['extend_commission'] += $wait_amount[$value['admin_id'].$yes.'-'.'04'] + $wait_amount[$value['admin_id'].$yes.'-'.'05'] + $wait_amount[$value['admin_id'].$yes.'-'.'06'];
$data[$key]['is_send_use'] = 1;
} elseif($month == '04') {
// $data[$key]['extend_commission'] += $wait_amount[$value['admin_id'].($yes-1).'-'.'10'] + $wait_amount[$value['admin_id'].($yes-1).'-'.'11'] + $wait_amount[$value['admin_id'].($yes-1).'-'.'12'];
$data[$key]['is_send_use'] = 1;
} elseif($month == '01') {
// $data[$key]['extend_commission'] += $wait_amount[$value['admin_id'].($yes-1).'-'.'07'] + $wait_amount[$value['admin_id'].($yes-1).'-'.'08'] + $wait_amount[$value['admin_id'].($yes-1).'-'.'09'];
$data[$key]['is_send_use'] = 1;
}
} elseif($market_percentage['time'] == 2) {
// dump($wait_amount);die();
if ($month == '07') {
// $data[$key]['extend_commission'] += $wait_amount[$value['admin_id'].$yes.'-'.'01'] + $wait_amount[$value['admin_id'].$yes.'-'.'02'] + $wait_amount[$value['admin_id'].$yes.'-'.'03'] +
// $wait_amount[$value['admin_id'].$yes.'-'.'04'] + $wait_amount[$value['admin_id'].$yes.'-'.'05'] + $wait_amount[$value['admin_id'].$yes.'-'.'06'];
$data[$key]['is_send_use'] = 1;
} elseif($month == '01') {
// $data[$key]['extend_commission'] += $wait_amount[$value['admin_id'].($yes-1).'-'.'07'] + $wait_amount[$value['admin_id'].($yes-1).'-'.'08'] + $wait_amount[$value['admin_id'].($yes-1).'-'.'09'] +
// $wait_amount[$value['admin_id'].($yes-1).'-'.'10'] + $wait_amount[$value['admin_id'].($yes-1).'-'.'11'] + $wait_amount[$value['admin_id'].($yes-1).'-'.'12'];
$data[$key]['is_send_use'] = 1;
}
} elseif($market_percentage['time'] == 3) {
if ($month == '01') {
// $data[$key]['extend_commission'] += $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '01'] + $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '02'] + $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '03'] +
// $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '04'] + $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '05'] + $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '06'] +
// $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '07'] + $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '08'] + $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '09'] +
// $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '10'] + $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '11'] + $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '12'];
$data[$key]['is_send_use'] = 1;
}
} else {
@ -524,37 +467,9 @@ class MarketPercentageController extends ThinkController
$data[$key]['achievement_bonus'] * ($market_percentage['month_bonus_ratio']/100)), 4, '.', ''),0,-2);
$sum['wait_commission'] += $data[$key]['wait_commission'];
// $wait_amount[$value['admin_id'].$value['pay_time']] = $data[$key]['wait_commission'];
// if ($market_percentage['remain_time'] == 1) {
// if ($month == '07') {
// $data[$key]['wait_commission'] += $wait_amount[$value['admin_id'].$yes.'-'.'04'] + $wait_amount[$value['admin_id'].$yes.'-'.'05'] + $wait_amount[$value['admin_id'].$yes.'-'.'06'];
// } elseif($month == '10') {
// $data[$key]['wait_commission'] += $wait_amount[$value['admin_id'].$yes.'-'.'07'] + $wait_amount[$value['admin_id'].$yes.'-'.'08'] + $wait_amount[$value['admin_id'].$yes.'-'.'09'];
// } elseif($month == '04') {
// $data[$key]['wait_commission'] += $wait_amount[$value['admin_id'].$yes.'-'.'01'] + $wait_amount[$value['admin_id'].$yes.'-'.'02'] + $wait_amount[$value['admin_id'].$yes.'-'.'03'];
// } elseif($month == '01') {
// $data[$key]['wait_commission'] += $wait_amount[$value['admin_id'].($yes-1).'-'.'10'] + $wait_amount[$value['admin_id'].($yes-1).'-'.'11'] + $wait_amount[$value['admin_id'].($yes-1).'-'.'12'];
// }
//// } elseif($market_percentage['remain_time'] == 2) {
//// if ($month == '07') {
//// $data[$key]['extend_commission'] += $wait_amount[$value['admin_id'].$yes.'-'.'01'] + $wait_amount[$value['admin_id'].$yes.'-'.'02'] + $wait_amount[$value['admin_id'].$yes.'-'.'03'] +
//// $wait_amount[$value['admin_id'].$yes.'-'.'04'] + $wait_amount[$value['admin_id'].$yes.'-'.'05'] + $wait_amount[$value['admin_id'].$yes.'-'.'06'];
//// } elseif($month == '01') {
//// $data[$key]['extend_commission'] += $wait_amount[$value['admin_id'].($yes-1).'-'.'07'] + $wait_amount[$value['admin_id'].($yes-1).'-'.'08'] + $wait_amount[$value['admin_id'].($yes-1).'-'.'09'] +
//// $wait_amount[$value['admin_id'].($yes-1).'-'.'10'] + $wait_amount[$value['admin_id'].($yes-1).'-'.'11'] + $wait_amount[$value['admin_id'].($yes-1).'-'.'12'];
//// }
//// } elseif($market_percentage['remain_time'] == 3) {
//// $data[$key]['extend_commission'] += $wait_amount[$value['admin_id'].($yes-1).'-'.'01'] + $wait_amount[$value['admin_id'].($yes-1).'-'.'02'] + $wait_amount[$value['admin_id'].($yes-1).'-'.'03'] +
//// $wait_amount[$value['admin_id'].($yes-1).'-'.'04'] + $wait_amount[$value['admin_id'].($yes-1).'-'.'05'] + $wait_amount[$value['admin_id'].($yes-1).'-'.'06'] +
//// $wait_amount[$value['admin_id'].($yes-1).'-'.'07'] + $wait_amount[$value['admin_id'].($yes-1).'-'.'08'] + $wait_amount[$value['admin_id'].($yes-1).'-'.'09'] +
//// $wait_amount[$value['admin_id'].($yes-1).'-'.'10'] + $wait_amount[$value['admin_id'].($yes-1).'-'.'11'] + $wait_amount[$value['admin_id'].($yes-1).'-'.'12'];
// }
// $sum['wait_commission'] += $data[$key]['wait_commission'];
$sum['company_profit'] += $value['company_profit'];
}
// dump($data);die();
$this->assign("sum",$sum);
if ($_REQUEST['export']) {
@ -569,8 +484,8 @@ class MarketPercentageController extends ThinkController
'performance_commission' => '业绩提成',
'achievement_bonus' => '绩效考核奖金',
'commission' => '总提成',
'extend_commission' => '当月应发金额',
'wait_commission' => '剩余金额',
'extend_commission' => '本月发放',
'wait_commission' => '本月未发',
'is_send'=>'剩余金额发放状态'];
$data = array_merge($data,[$sum]);
@ -586,6 +501,39 @@ class MarketPercentageController extends ThinkController
}
public function insertAllUserBonus($time,$admin_id=0) {
// $time = $_REQUEST['time'];
$data = M("member")
->field("access.uid admin_id,real_name,nickname,group_id level,0 pay_amount,0 extend_commission,0 wait_commission")
->join("left join sys_auth_group_access access on sys_member.uid = access.uid")
->join("left join sys_auth_group auth on access.group_id=auth.id")
->where(['group_id'=>['in','11,12,21'],'sys_member.uid'=>$admin_id])
->select();
foreach ($data as $key => $value) {
$value['pay_time'] = $time;
$value['remark'] = '自动发放';
$value['create_time'] = time();
$sign = M("market_altogether","tab_")
->where(['admin_id'=>$value['admin_id'],'pay_time'=>$time])
->find();
if (!$sign) {
M("market_altogether","tab_")->add($value);
} else {
M("market_altogether","tab_")
->where(['admin_id'=>$value['admin_id'],'pay_time'=>$time])
->save($value);
}
}
}
public function sendBonus() {
$map['pay_time'] = $_REQUEST['pay_time'];
@ -595,6 +543,8 @@ class MarketPercentageController extends ThinkController
$this->ajaxReturn(['status'=>0,'msg'=>'数据错误']);
}
$this->insertAllUserBonus($_REQUEST['pay_time'],$_REQUEST['admin_id']);
$group_config = M("auth_group_access access")
->field("market_percentage")
->join("left join sys_auth_group auth on access.group_id=auth.id")
@ -638,10 +588,13 @@ class MarketPercentageController extends ThinkController
($yes-1).'-'.'07',($yes-1).'-'.'08',($yes-1).'-'.'09',($yes-1).'-'.'10',($yes-1).'-'.'11',($yes-1).'-'.'12'];
}
} else {
$where = [date("Y-m",strtotime("last month",strtotime($_REQUEST['pay_time'])))];
}
$where = array_merge($where,[$_REQUEST['pay_time']]);
$map['pay_time'] = ['in',$where];
// var_dump(date("Y-m",strtotime("last month",strtotime($_REQUEST['pay_time']))));die();
$data = M("settleup_marketorder","tab_")
->field("tab_settleup_marketorder.id,pay_time,promote_account,company_belong,tab_settleup_marketorder.real_name,develop_type,game_name,
sum(pay_amount) pay_amount,sum(company_profit) company_profit,group_id,market_percentage,nickname,admin_id,
@ -732,10 +685,9 @@ class MarketPercentageController extends ThinkController
$month = date("m",strtotime($value['pay_time']));
$yes = date("Y",strtotime($value['pay_time']));
$check_month = date("m",strtotime($_REQUEST['pay_time']));
if ($market_percentage['time'] == 1) {
//跨级发放验证当前发放月份
$check_month = date("m",strtotime($_REQUEST['pay_time']));
if ($month == '07') {
$data[$key]['extend_commission'] += $wait_amount[$value['admin_id'].$yes.'-'.'01'] + $wait_amount[$value['admin_id'].$yes.'-'.'02'] + $wait_amount[$value['admin_id'].$yes.'-'.'03'];
@ -779,17 +731,16 @@ class MarketPercentageController extends ThinkController
$wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '10'] + $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '11'] + $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '12'];
}
}
// else {
// $data[$key]['is_send_use'] = 1;
// }
else {
$data[$key]['extend_commission'] +=$wait_amount[$value['admin_id'] . date("Y-m",strtotime("last month",strtotime($_REQUEST['pay_time'])))];
}
$insert['pay_time'] = $data[$key]['pay_time'];
$insert['admin_id'] = $data[$key]['admin_id'];
$insert['real_name'] = $data[$key]['real_name'];
$insert['nickname'] = $data[$key]['nickname'];
$insert['level'] = $data[$key]['level'];
$insert['level'] = $data[$key]['group_id'];
$insert['pay_amount'] = $data[$key]['pay_amount'];
$insert['extend_commission'] = $data[$key]['extend_commission'];
$insert['wait_commission'] = $data[$key]['wait_commission'];
@ -797,7 +748,12 @@ class MarketPercentageController extends ThinkController
if ($_REQUEST['all']) {
$insert['remark'] = '离职发放';
$insert['type'] = 1;
} elseif($month != $check_month) {
$insert['type'] = 2;
} else {
$insert['type'] = 0;
}
$insert['create_time'] = time();
$is_hav = M("market_altogether","tab_")
@ -812,8 +768,6 @@ class MarketPercentageController extends ThinkController
$is_add = M("market_altogether","tab_")->add($insert);
}
// $is_add = M("market_altogether","tab_")->add($insert);
if (!$is_add) {
$this->ajaxReturn(['status'=>0,'msg'=>'发放失败']);
}
@ -848,7 +802,7 @@ class MarketPercentageController extends ThinkController
$_REQUEST['pay_time']?$map['pay_time'] = $_REQUEST['pay_time']:'';
$_REQUEST['real_name']?$map['real_name'] = $_REQUEST['real_name']:'';
$_REQUEST['nickname']?$map['nickname'] = $_REQUEST['nickname']:'';
$_REQUEST['level']?$map['level'] = $_REQUEST['level']:'';
$_REQUEST['level']?$map['group_id'] = $_REQUEST['level']:'';
$data = M("market_altogether","tab_")
->field("max(pay_time) pay_time,real_name,admin_id,nickname,level,sum(pay_amount) pay_amount,sum(extend_commission) extend_commission, sum(wait_commission) wait_commission,remark,group_id,max(type) type")

@ -194,6 +194,9 @@ class PayChannelController extends ThinkController
$this->assign('spreadData',$spreadData);
if($map['payed_time']) {
$map['pay_time'] = $map['payed_time'];
}
$channelData = $this->getPayChannel($map);
$testOrderChannelDatas = $this->getTestOrderPayChannel($maptestorder);
$payTypeData['支付宝支付金额'] = 0;
@ -457,6 +460,8 @@ class PayChannelController extends ThinkController
->group('pay_way')
->select(false);
// var_dump($map);die();
//推广后台充值数据
$spreadMap['order_status'] = array('egt',1);
$spreadMap['pay_way'] = array('egt',1);

@ -765,7 +765,7 @@ class TimingController extends AdminController {
$spend_map = [];
if($_REQUEST['time'] == 'all') {
$map = [];
$spend_map['pay_time'] = ['elt',strtotime(date('Y-m-t', strtotime('-1 month')))];
$spend_map['pay_time'] = ['elt',strtotime(date('Y-m-t 23:59:59', strtotime('-1 month')))];
}
$data = M("auth_group")
@ -793,7 +793,7 @@ class TimingController extends AdminController {
$payway_spend = M()->table("({$spend}) spend")
->field("sum(pay_amount) as pay_amount,pay_time,promote_id,game_name,game_id,relation_game_id,pay_way,sdk_version")
->where($map)
->group("pay_time,promote_id,game_name,sdk_version,pay_way")
->group("pay_time,promote_id,game_name,pay_way")
->select();
$channel_fee = [];
@ -824,15 +824,15 @@ class TimingController extends AdminController {
break;
}
//将时间、推广员id、游戏名、设备类型作为键值标记渠道费用
if (!$channel_fee[$value['pay_time'].$value['promote_id'].$value['game_name'].$value['sdk_version']]) {
if (!$channel_fee[$value['pay_time'].$value['promote_id'].$value['game_name']]) {
if (!$value['pay_way']) {
$channel_fee[$value['pay_time'].$value['promote_id'].$value['game_name'].$value['sdk_version']] = 0;
$channel_fee[$value['pay_time'].$value['promote_id'].$value['game_name']] = 0;
}
$channel_fee[$value['pay_time'].$value['promote_id'].$value['game_name'].$value['sdk_version']]
$channel_fee[$value['pay_time'].$value['promote_id'].$value['game_name']]
= $value['pay_amount'] * ($pay_rate[$value['pay_way']]/100);
} else {
$channel_fee[$value['pay_time'].$value['promote_id'].$value['game_name'].$value['sdk_version']]
= $channel_fee[$value['pay_time'].$value['promote_id'].$value['game_name'].$value['sdk_version']]+($value['pay_amount'] * ($pay_rate[$value['pay_way']]/100));
$channel_fee[$value['pay_time'].$value['promote_id'].$value['game_name']]
= $channel_fee[$value['pay_time'].$value['promote_id'].$value['game_name']]+($value['pay_amount'] * ($pay_rate[$value['pay_way']]/100));
}
}
@ -840,7 +840,7 @@ class TimingController extends AdminController {
$spend = M()->table("({$spend}) spend")
->field("sum(pay_amount) as pay_amount,pay_time,promote_id,game_name,game_id,relation_game_id,sdk_version")
->where($map)
->group("pay_time,promote_id,game_name,sdk_version")
->group("pay_time,promote_id,game_name")
->select(false);
$promote_data = M()->table("({$spend}) spend")
@ -878,7 +878,7 @@ class TimingController extends AdminController {
//下游流水
$promote_data[$key]['promote_amount'] = $value['pay_amount'] * ($promote_radio * 0.01);
//渠道费用
$promote_data[$key]['channel_amount'] = $channel_fee[$value['pay_time'].$value['promote_id'].$value['game_name'].$value['sdk_version']];
$promote_data[$key]['channel_amount'] = $channel_fee[$value['pay_time'].$value['promote_id'].$value['game_name']];
//公司税费
$promote_data[$key]['company_tax'] = ($value['pay_amount']-$promote_data[$key]['cp_amount']- $promote_data[$key]['promote_amount'])*($tax_radio/100);
//毛利
@ -895,7 +895,7 @@ class TimingController extends AdminController {
unset($promote_data[$key]['market_percentage']);
$marker_data = M("settleup_marketorder","tab_")
->where(['pay_time'=>$value['pay_time'],'promote_id'=>$value['promote_id'],'game_name'=>$value['game_name'],'sdk_version'=>$value['sdk_version']])
->where(['pay_time'=>$value['pay_time'],'promote_id'=>$value['promote_id'],'game_name'=>$value['game_name']])
->find();
echo "日期:{$value['pay_time']},游戏:{$value['game_name']},推广员:{$value['promote_account']}\n";
// dump($promote_data[$key]);die();
@ -904,16 +904,46 @@ class TimingController extends AdminController {
->add($promote_data[$key]);
} else {
M("settleup_marketorder","tab_")
->where(['pay_time'=>$value['pay_time'],'promote_id'=>$value['promote_id'],'game_name'=>$value['game_name'],'sdk_version'=>$value['sdk_version']])
->where(['pay_time'=>$value['pay_time'],'promote_id'=>$value['promote_id'],'game_name'=>$value['game_name']])
->save($promote_data[$key]);
}
}
// dump($promote_data);
echo date("Y-m-d H:i:s")."----------------------市场结算管理计算----------------------\n";
}
public function insertAllUserBonus($time) {
// $time = $_REQUEST['time'];
$data = M("member")
->field("access.uid admin_id,real_name,nickname,group_id level,0 pay_amount,0 extend_commission,0 wait_commission")
->join("left join sys_auth_group_access access on sys_member.uid = access.uid")
->join("left join sys_auth_group auth on access.group_id=auth.id")
->where(['group_id'=>['in','11,12,21']])
->select();
foreach ($data as $key => $value) {
$value['pay_time'] = $time;
$value['remark'] = '自动发放';
$value['create_time'] = time();
$sign = M("market_altogether","tab_")
->where(['admin_id'=>$value['admin_id'],'pay_time'=>$time])
->find();
if (!$sign) {
M("market_altogether","tab_")->add($value);
} else {
M("market_altogether","tab_")
->where(['admin_id'=>$value['admin_id'],'pay_time'=>$time])
->save($value);
}
}
}
//
public function sendMarketBonus() {
@ -921,9 +951,16 @@ class TimingController extends AdminController {
$map['pay_time'] = date("Y-m",strtotime('-1 month'));
if ($_REQUEST['pay_time']) {
$map['pay_time'] = $_REQUEST['pay_time'];
}
//所有管理员插入数据
$this->insertAllUserBonus($map['pay_time']);
$month = date("m",strtotime($_REQUEST['pay_time']));
$yes = date("Y",strtotime($_REQUEST['pay_time']));
$all_data = M("settleup_marketorder","tab_")
->field("tab_settleup_marketorder.id,pay_time,promote_account,company_belong,tab_settleup_marketorder.real_name,develop_type,game_name,
@ -964,9 +1001,37 @@ class TimingController extends AdminController {
$all_data[$key]['wait_commission'] = substr(number_format($all_data[$key]['commission'] - ( $all_data[$key]['performance_commission'] * ($market_percentage['performance_monthly_ratio']/100)+
$all_data[$key]['achievement_bonus'] * ($market_percentage['month_bonus_ratio']/100) ), 4, '.', ''),0,-2);
$wait_amount[$value['admin_id'].$value['pay_time']] = $all_data[$key]['wait_commission'];
$check_month = date("m",strtotime($value['pay_time']));
$check_yes = date("Y",strtotime($value['pay_time']));
}
if ($market_percentage['time'] == 1) {
if ($month == '07'&&($check_month=='01'||$check_month=='02'||$check_month=='03')) {
$where['season'][] = $value['pay_time'];
} elseif($month == '10'&&($check_month=='04'||$check_month=='05'||$check_month=='06')) {
$where['season'][] = $value['pay_time'];
} elseif($month == '04'&&($check_month=='01'||$check_month=='02'||$check_month=='03')) {
$where['season'][] = $value['pay_time'];
} elseif($month == '01'&&($check_month=='07'||$check_month=='08'||$check_month=='09')&&$check_yes==($yes-1)) {
$where['season'][] = $value['pay_time'];
}
} elseif($market_percentage['time'] == 2) {
if ($month == '07'&&($check_month=='01'||$check_month=='02'||$check_month=='03'||$check_month=='04'||$check_month=='05'||$check_month=='06')) {
$where['half_year'][] = $value['pay_time'];
} elseif($month == '01'&&($check_month=='07'||$check_month=='08'||$check_month=='09'||$check_month=='10'||$check_month=='11'||$check_month=='12')&&$check_yes==($yes-1)) {
$where['half_year'][] = $value['pay_time'];
}
} elseif($market_percentage['time'] == 3) {
if ($month == '01'&&($check_month=='01'||$check_month=='02'||$check_month=='03'||$check_month=='04'||$check_month=='05'||$check_month=='06')&&$check_yes==($yes-1)) {
$where['year'][] = $value['pay_time'];
}
} else {
if ($check_month==($month-1)) {
$where['month'][] = $value['pay_time'];
}
}
}
// dump($wait_amount);die();
$data = M("settleup_marketorder","tab_")
->field("tab_settleup_marketorder.id,pay_time,promote_account,company_belong,tab_settleup_marketorder.real_name,develop_type,game_name,
sum(pay_amount) pay_amount,sum(company_profit) company_profit,group_id,market_percentage,nickname,admin_id,
@ -1014,37 +1079,101 @@ class TimingController extends AdminController {
$month = date("m",strtotime($value['pay_time']));
$yes = date("Y",strtotime($value['pay_time']));
$check_month = date("m",strtotime($_REQUEST['pay_time']));
$insert['pay_time'] = $data[$key]['pay_time'];
$insert['admin_id'] = $data[$key]['admin_id'];
$insert['real_name'] = $data[$key]['real_name'];
$insert['nickname'] = $data[$key]['nickname'];
$insert['level'] = $data[$key]['group_id'];
$insert['pay_amount'] = $data[$key]['pay_amount'];
$insert['extend_commission'] = $data[$key]['extend_commission'];
if ($month != $check_month) {
$insert['pay_amount'] = 2;
}
$insert['wait_commission'] = $data[$key]['wait_commission'];
$insert['remark'] = "月初自动发放";
$insert['create_time'] = time();
echo "{$data[$key]['level']}市场专员:{$insert['real_name']}发放应发奖金及绩效:{$insert['extend_commission']}\n";
$is_hav = M("market_altogether","tab_")
->where(['pay_time'=>$data[$key]['pay_time'],'admin_id'=>$data[$key]['admin_id']])
->find();
if (!$is_hav) {
M("market_altogether","tab_")->add($insert);
} else {
M("market_altogether","tab_")
->where(['pay_time'=>$data[$key]['pay_time'],'admin_id'=>$data[$key]['admin_id']])
->save($insert);
}
}
//遍历统计数据
$data = M("market_altogether","tab_")
->join("left join sys_auth_group_access access on admin_id=access.uid")
->join("left join sys_auth_group auth on access.group_id=auth.id")
->join("left join sys_member member on access.uid=member.uid")
->where(['pay_time'=>$map['pay_time']])
->select();
foreach($data as $key => $value) {
$market_percentage = json_decode($value['market_percentage'],true);
if ($market_percentage['time'] == 1) {
if ($month == '07'&&($check_month=='01'||$check_month=='02'||$check_month=='03')) {
$where['season'][] = $value['pay_time'];
} elseif($month == '10'&&($check_month=='04'||$check_month=='05'||$check_month=='06')) {
$where['season'][] = $value['pay_time'];
} elseif($month == '04'&&($check_month=='01'||$check_month=='02'||$check_month=='03')) {
$where['season'][] = $value['pay_time'];
} elseif($month == '01'&&($check_month=='07'||$check_month=='08'||$check_month=='09')&&$check_yes==($yes-1)) {
$where['season'][] = $value['pay_time'];
}
} elseif($market_percentage['time'] == 2) {
if ($month == '07'&&($check_month=='01'||$check_month=='02'||$check_month=='03'||$check_month=='04'||$check_month=='05'||$check_month=='06')) {
$where['half_year'][] = $value['pay_time'];
} elseif($month == '01'&&($check_month=='07'||$check_month=='08'||$check_month=='09'||$check_month=='10'||$check_month=='11'||$check_month=='12')&&$check_yes==($yes-1)) {
$where['half_year'][] = $value['pay_time'];
}
} elseif($market_percentage['time'] == 3) {
if ($month == '01'&&($check_month=='01'||$check_month=='02'||$check_month=='03'||$check_month=='04'||$check_month=='05'||$check_month=='06')&&$check_yes==($yes-1)) {
$where['year'][] = $value['pay_time'];
}
} else {
if ($check_month==($month-1)) {
$where['month'][] = $value['pay_time'];
}
}
if ($market_percentage['time'] == 1) {
//跨级发放验证当前发放月份
$check_month = date("m",strtotime($_REQUEST['pay_time']));
if ($where['season']) {
M("market_altogether","tab_")
->where(['pay_time'=>['in',array_unique($where['season'])],'admin_id'=>$value['admin_id']])
->save(['type'=>2]);
}
if ($month == '07') {
$data[$key]['extend_commission'] += $wait_amount[$value['admin_id'].$yes.'-'.'01'] + $wait_amount[$value['admin_id'].$yes.'-'.'02'] + $wait_amount[$value['admin_id'].$yes.'-'.'03'];
if ($_REQUEST['all']&&$check_month==$month) {
$data[$key]['extend_commission'] += $wait_amount[$value['admin_id'].$yes.'-'.'04'] +
$wait_amount[$value['admin_id'].$yes.'-'.'05'] + $wait_amount[$value['admin_id'].$yes.'-'.'06'] + $data[$key]['wait_commission'];
}
} elseif($month == '10') {
$data[$key]['extend_commission'] += $wait_amount[$value['admin_id'].$yes.'-'.'04'] + $wait_amount[$value['admin_id'].$yes.'-'.'05'] + $wait_amount[$value['admin_id'].$yes.'-'.'06'];
if ($_REQUEST['all']&&$check_month==$month) {
$data[$key]['extend_commission'] += $wait_amount[$value['admin_id'].$yes.'-'.'07'] +
$wait_amount[$value['admin_id'].$yes.'-'.'08'] + $wait_amount[$value['admin_id'].$yes.'-'.'09'] + $data[$key]['wait_commission'];
}
} elseif($month == '04') {
$data[$key]['extend_commission'] += $wait_amount[$value['admin_id'].($yes-1).'-'.'10'] + $wait_amount[$value['admin_id'].($yes-1).'-'.'11'] + $wait_amount[$value['admin_id'].($yes-1).'-'.'12'];
if ($_REQUEST['all']&&$check_month==$month) {
$data[$key]['extend_commission'] += $wait_amount[$value['admin_id'].$yes.'-'.'01'] +
$wait_amount[$value['admin_id'].$yes.'-'.'02'] + $wait_amount[$value['admin_id'].$yes.'-'.'03'] + $data[$key]['wait_commission'];
}
} elseif($month == '01') {
$data[$key]['extend_commission'] += $wait_amount[$value['admin_id'].($yes-1).'-'.'07'] + $wait_amount[$value['admin_id'].($yes-1).'-'.'08'] + $wait_amount[$value['admin_id'].($yes-1).'-'.'09'];
if ($_REQUEST['all']&&$check_month==$month) {
$data[$key]['extend_commission'] += $wait_amount[$value['admin_id'].($yes-1).'-'.'10'] +
$wait_amount[$value['admin_id'].($yes-1).'-'.'11'] + $wait_amount[$value['admin_id'].($yes-1).'-'.'12'] + $data[$key]['wait_commission'];
}
}
} elseif($market_percentage['time'] == 2) {
if ($where['half_year']) {
M("market_altogether","tab_")
->where(['pay_time'=>['in',array_unique($where['half_year'])],'admin_id'=>$value['admin_id']])
->save(['type'=>2]);
}
if ($month == '07') {
$data[$key]['extend_commission'] += $wait_amount[$value['admin_id'].$yes.'-'.'01'] + $wait_amount[$value['admin_id'].$yes.'-'.'02'] + $wait_amount[$value['admin_id'].$yes.'-'.'03'] +
$wait_amount[$value['admin_id'].$yes.'-'.'04'] + $wait_amount[$value['admin_id'].$yes.'-'.'05'] + $wait_amount[$value['admin_id'].$yes.'-'.'06'];
@ -1053,37 +1182,33 @@ class TimingController extends AdminController {
$wait_amount[$value['admin_id'].($yes-1).'-'.'10'] + $wait_amount[$value['admin_id'].($yes-1).'-'.'11'] + $wait_amount[$value['admin_id'].($yes-1).'-'.'12'];
}
} elseif($market_percentage['time'] == 3) {
if ($where['year']) {
M("market_altogether","tab_")
->where(['pay_time'=>['in',array_unique($where['year'])],'level'=>$value['admin_id']])
->save(['type'=>2]);
}
if ($month == '01') {
$data[$key]['extend_commission'] += $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '01'] + $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '02'] + $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '03'] +
$wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '04'] + $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '05'] + $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '06'] +
$wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '07'] + $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '08'] + $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '09'] +
$wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '10'] + $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '11'] + $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '12'];
}
} else {
if ($where['month']) {
M("market_altogether","tab_")
->where(['pay_time'=>['in',array_unique($where['month'])],'admin_id'=>$value['admin_id']])
->save(['type'=>2]);
}
$data[$key]['extend_commission'] +=$wait_amount[$value['admin_id'] . date("Y-m",strtotime("last month",strtotime($_REQUEST['pay_time'])))];
}
$insert['pay_time'] = $data[$key]['pay_time'];
$insert['admin_id'] = $data[$key]['admin_id'];
$insert['real_name'] = $data[$key]['real_name'];
$insert['nickname'] = $data[$key]['nickname'];
$insert['level'] = $data[$key]['level'];
$insert['pay_amount'] = $data[$key]['pay_amount'];
$insert['extend_commission'] = $data[$key]['extend_commission'];
$insert['wait_commission'] = $data[$key]['wait_commission'];
$insert['remark'] = "月初自动发放";
$insert['create_time'] = time();
echo "{$data[$key]['level']}市场专员:{$insert['real_name']}发放应发奖金及绩效:{$insert['extend_commission']}\n";
$update['extend_commission'] = $data[$key]['extend_commission'];
$is_hav = M("market_altogether","tab_")
M("market_altogether","tab_")
->where(['pay_time'=>$data[$key]['pay_time'],'admin_id'=>$data[$key]['admin_id']])
->find();
if (!$is_hav) {
M("market_altogether","tab_")->add($insert);
} else {
M("market_altogether","tab_")
->where(['pay_time'=>$data[$key]['pay_time'],'admin_id'=>$data[$key]['admin_id']])
->save($insert);
}
->save($update);
}

@ -75,13 +75,6 @@
</volist>
</select>
</div>
<div class="input-list input-list-game search_label_rehab">
<select id="sdk_version" name="sdk_version" class="select_gallery" style="width:120px;">
<option value="" selected="">请选择设备类型</option>
<option value="1" <if condition="$_GET['relation_game_id'] eq 1">selected</if>>安卓</option>
<option value="2" <if condition="$_GET['relation_game_id'] eq 2">selected</if>>苹果</option>
</select>
</div>
<input type="hidden" name="" value="" class="sortBy">
<input type="hidden" name="type" value="{$_GET['type']}">
<div class="input-list">

@ -122,7 +122,7 @@
<td>{$data['appraisal_bonuses']|default='0.00'}</td>
<td>{$data['performance_commission']|default='0.00'}</td>
<td>{$data['achievement_bonus']|default='0.00'}</td>
<td><a href="{:U('FinancePromote/index',array('time_start'=>$data['start_time'],'time_end'=>$data['end_time']))}" >{$data['commission']|default='0.00'}</a></td>
<td><a href="{:U('FinancePromote/index',array('time_start'=>$data['start_time'],'time_end'=>$data['end_time'],'admin_id'=>$data['admin_id']))}" >{$data['commission']|default='0.00'}</a></td>
<td><a href="{:U('MarketPercentage/personMarketStaffSettle',array('pay_time'=>$data['pay_time']))}" >{$data['extend_commission']|default='0.00'}</a></td>
<td><a href="{:U('MarketPercentage/showBonusList',array('pay_time'=>$data['pay_time'],'real_name'=>$data['real_name'],'level'=>$data['group_id']))}" >{$data['wait_commission']|default='0.00'}</a></td>
</tr>

@ -40,9 +40,9 @@
<div class="cf top_nav_list">
<div class="fl button_list">
<div class="tools">
<empty name="show_status">
<if condition="$caculate_check eq true">
<a class="recaculate" url="{:U('reCaculateBonus?pay_time='.$_GET['pay_time'])}"><span class="button_icon button_icon1"></span>重算</a>
</empty>
</if>
</div>
</div>
<!-- 高级搜索 -->
@ -83,7 +83,7 @@
<th >业绩提成</th>
<th >绩效考核奖金</th>
<th>总提成</th>
<th>本月</th>
<th>本月发</th>
<th>本月未发</th>
<th>剩余金额发放状态</th>
<th>操作</th>
@ -117,11 +117,11 @@
<if condition="$index eq 1">
<td>
<select id="time" class="select_gallery" style="width:100px;">
<select id="time" class="select_gallery" style="width:120px;">
<option value="">请选择时间</option>
<volist name="list_data" id="s_data">
<if condition="$s_data['is_send_use'] eq 1">
<option value="{$s_data['pay_time']}" data-admin_id="{$s_data.admin_id}">{$s_data['pay_time']}({$data['real_name']})</option>
<option value="{$s_data['pay_time']}" data-admin_id="{$s_data.admin_id}">{$s_data['pay_time']}({$s_data['real_name']})</option>
</if>
</volist>
</select>

Loading…
Cancel
Save