diff --git a/Application/Admin/Controller/CompanyStatementOfflineController.class.php b/Application/Admin/Controller/CompanyStatementOfflineController.class.php
index d24a39167..4a01c16c3 100644
--- a/Application/Admin/Controller/CompanyStatementOfflineController.class.php
+++ b/Application/Admin/Controller/CompanyStatementOfflineController.class.php
@@ -67,6 +67,7 @@ class CompanyStatementOfflineController extends ThinkController
->alias("c")
->field("c.*,p.statement_num,p.verify_status")
->where($map)
+ ->where(['p.verify_status'=>['neq',6]])
->join("tab_company_statement_pool as p ON c.pool_id = p.id")
diff --git a/Application/Admin/Controller/CompanyStatementPoolController.class.php b/Application/Admin/Controller/CompanyStatementPoolController.class.php
index cf102db71..411003d29 100644
--- a/Application/Admin/Controller/CompanyStatementPoolController.class.php
+++ b/Application/Admin/Controller/CompanyStatementPoolController.class.php
@@ -1,6 +1,7 @@
field("*,'1' as st")->where("pool_id = '{$id}'")->select();
//获取母单
- $pool_info = SM("company_statement_pool","tab_")->field('statement_num,create_lack_ids,verify_status,is_payment,withdraw_type,statement_begin_time,statement_end_time')->where("id={$id}")->find();
+ $pool_info = SM("company_statement_pool","tab_")
+ ->field('statement_num,create_lack_ids,verify_status,is_payment,withdraw_type,statement_begin_time,statement_end_time,verify_log')->where("id={$id}")->find();
if(!empty($pool_info['create_lack_ids'])){
$l_ids = $pool_info['create_lack_ids'];
$lack_info = SM("company_lack_statement_info","tab_")->field("*,'0' as st")->where("id in ({$l_ids})")->select();
$infolist =array_merge($infolist,$lack_info);
}
+ if ($is_export) {
+ $symbol = "\n";
+ } else {
+ $symbol = "
";
+ }
+
+ $pool_info['verify_log'] = json_decode($pool_info['verify_log'], true);
+
+ if(isset($pool_info['verify_log']['firstverify_user'])){
+ if($pool_info['verify_status'] == -3){
+ $ts = "初审拒绝";
+ }else{
+ $ts = "初审通过";
+ }
+ $pool_info["firstverify"]= "{$ts}({$pool_info['verify_log']['firstverify_user']}) {$symbol} {$pool_info['verify_log']['firstverify_time']}";
+ $ts = '';
+ }else{
+ $pool_info["firstverify"] = '--';
+ }
+
+ if(isset($pool_info['verify_log']['verify_user'])){
+ if($pool_info['verify_status'] == -1){
+ $ts = "审核拒绝";
+ }else{
+ $ts = "审核通过";
+ }
+ $pool_info["verify"]= "{$ts}({$pool_info['verify_log']['verify_user']}) {$symbol} {$pool_info['verify_log']['verify_time']}";
+ }else{
+ $pool_info["verify"] = '--';
+ }
+
+
+ if(isset($pool_info['verify_log']['payment_user'])){
+ if($pool_info['verify_status'] == -2){
+ $ts = "拒绝打款";
+ }elseif($pool_info['verify_status'] == 1){
+ $ts = "打款信息确认";
+ }elseif($pool_info['verify_status'] == 2){
+ $ts = "待打款";
+ }elseif($pool_info['verify_status'] == 3){
+ $ts = "打款中";
+ }elseif($pool_info['verify_status'] == 4){
+ $ts="打款成功";
+ }elseif($pool_info['verify_status'] == 5){
+ $ts="无需打款";
+ }
+ $pool_info["payment"]= "{$ts}({$pool_info['verify_log']['payment_user']}){$symbol} {$pool_info['verify_log']['payment_time']}";
+ }else{
+ $pool_info["payment"] = '--';
+ }
+// dump($pool_info);die();
$statement_num = $pool_info['statement_num'];
+ $this->assign("pool_data",$pool_info);
$this->assign("title",$statement_num);
$this->assign("pool_status",$pool_info['verify_status']);
$this->assign("is_payment",$pool_info['is_payment']);
+ $this->assign('show_verify',1);
if($infolist[0]['company_type'] == 3){
//上游
$this->viewCpPool($infolist,$is_export);
@@ -241,6 +296,46 @@ class CompanyStatementPoolController extends ThinkController
}
+ //查看
+ public function viewUnPaymentPool()
+ {
+ if(!isset($_REQUEST['id'])){
+ $this->error('参数错误');
+ }
+ $id = $_REQUEST['id'];
+ $is_export= false;
+ if (isset($_REQUEST['export']) && $_REQUEST['export']==1){
+ $is_export = true;
+ }
+ //获取基本信息
+ $infolist = SM("company_statement_info","tab_")->field("*,'1' as st")->where("pool_id = '{$id}' and pay_status!=1")->select();
+ //获取母单
+ $pool_info = SM("company_statement_pool","tab_")->field('statement_num,create_lack_ids,verify_status,is_payment,withdraw_type,statement_begin_time,statement_end_time')->where("id={$id}")->find();
+// if(!empty($pool_info['create_lack_ids'])){
+// $l_ids = $pool_info['create_lack_ids'];
+// $lack_info = SM("company_lack_statement_info","tab_")->field("*,'0' as st")->where("id in ({$l_ids})")->select();
+// $infolist =array_merge($infolist,$lack_info);
+// }
+
+// dump($infolist);die();
+
+ $statement_num = $pool_info['statement_num'];
+ $this->assign("title",$statement_num);
+ $this->assign("pool_status",$pool_info['verify_status']);
+ $this->assign("is_payment",$pool_info['is_payment']);
+ if($infolist[0]['company_type'] == 3){
+ //上游
+ $this->viewCpPool($infolist,$is_export);
+ }elseif($infolist[0]['company_type'] == 1){
+ //下游公司
+ $this->viewPcPool($infolist,$is_export);
+ }else{
+ $this->viewPuPool($infolist,$is_export,$pool_info);
+ }
+
+ }
+
+
public function editPool() {
if(!isset($_REQUEST['id'])){
$this->error('参数错误');
@@ -253,7 +348,7 @@ class CompanyStatementPoolController extends ThinkController
//获取基本信息
$infolist = SM("company_statement_info","tab_")->field("*,'1' as st")->where("pool_id = '{$id}'")->select();
//获取母单
- $pool_info = SM("company_statement_pool","tab_")->field('statement_num,create_lack_ids,verify_status,is_payment,withdraw_type')->where("id={$id}")->find();
+ $pool_info = SM("company_statement_pool","tab_")->field('statement_num,create_lack_ids,verify_status,is_payment,withdraw_type,company_type')->where("id={$id}")->find();
if(!empty($pool_info['create_lack_ids'])){
$l_ids = $pool_info['create_lack_ids'];
$lack_info = SM("company_lack_statement_info","tab_")->field("*,'0' as st")->where("id in ({$l_ids})")->select();
@@ -261,13 +356,20 @@ class CompanyStatementPoolController extends ThinkController
}
$statement_num = $pool_info['statement_num'];
+ $this->assign("withdraw_type",$pool_info['withdraw_type']);
$this->assign("title",$statement_num);
$this->assign("pool_status",$pool_info['verify_status']);
$this->assign("is_payment",$pool_info['is_payment']);
if ($_REQUEST['type']) {
$this->editSpecialPuPool($infolist,$is_export);
} else {
- $this->editPuPool($infolist,$is_export);
+ if($pool_info['company_type'] == 2) {
+ $this->editPuPool($infolist,$is_export);
+ } elseif($pool_info['company_type'] == 1) {
+ $this->editPcPool($infolist, $is_export);
+ } elseif($pool_info['company_type'] == 3) {
+ $this->editCpPool($infolist, $is_export);
+ }
}
}
@@ -294,8 +396,6 @@ class CompanyStatementPoolController extends ThinkController
$v['statement_money'] = "=ROUND(";
}
-
-
$handle_data = $this->changeDataStruct($v['statement_info'],$is_export,$week_line);
$v['statement_info'] = $handle_data;
@@ -307,13 +407,7 @@ class CompanyStatementPoolController extends ThinkController
foreach($va['game_list'] as $key=>&$val){
$line ++;
if($v['withdraw_type'] != 3) {
-// if(!$val['ratio']&&!$val['increment_ratio']) {
-// if(isset($val['ratio'])){
-// $val['increment_ratio'] = 0;
-// }else{
-// $val['ratio'] = 0;
-// }
-// }
+
if (!$val['increment_ratio']) {
$val['increment_ratio'] = 0;
}
@@ -325,11 +419,7 @@ class CompanyStatementPoolController extends ThinkController
if (!$val['refund']) {
$val['refund'] = 0;
}
-// if(isset($val['ratio'])){
-// $val['increment_ratio'] = 0;
-// }else{
-// $val['ratio'] = 0;
-// }
+
}
if($is_export){
@@ -341,7 +431,6 @@ class CompanyStatementPoolController extends ThinkController
$v['statement_money'] .= "N{$line}+";
}else{
$count['platform_amount'] += $val['pay_amount'];
-// $count['sum_money'] += $val['sum_money'];
}
}
@@ -357,19 +446,195 @@ class CompanyStatementPoolController extends ThinkController
}
}
}
-// dump($infolist);die();
if($is_export){
$count["platform_amount"] = "=ROUND(SUM(K2:K".$line."),2)";
$count["sum_money"] = "=ROUND(SUM(Q2:Q".$line."),2)";
}
-// dump($infolist);
+
$this->assign("data",$infolist);
$this->assign("count",$count);
$this->assign("is_export",$is_export);
$this->display("CompanyStatementPool/editPuPool");
}
+ //下游汇总结算查看
+ public function editPcPool(&$infolist,$is_export){
+
+ $line = 1;
+ $count = [];
+
+ foreach($infolist as $k=>&$v){
+
+ $v['statement_info'] = json_decode($v['statement_info'],true);
+ $v['company_info'] = json_decode($v['company_info'],true);
+ $v['statement_begin_time'] = date('Y.m.d',$v['statement_begin_time']);
+ $v['statement_end_time'] = date('Y.m.d',$v['statement_end_time']);
+ if( isset($v['verify_status'])){
+ if( $v['verify_status'] ==2 ){
+ $v['is_payment'] = 2; //不打款
+ }else{
+ $v['is_payment'] = 1;
+ }
+ }
+
+ $cline = $line+1;
+
+ $handle_data = $this->changeDataStructVc($v['statement_info'],$is_export,$cline);
+ $v['statement_info'] = $handle_data;
+// dump($handle_data);
+
+ foreach($v['statement_info'] as $ke=>&$va){
+ $line ++;
+
+ if($v['withdraw_type'] != 3) {
+ if (isset($va['ratio'])) {
+ $va['increment_ratio'] = 0;
+ } else {
+ $va['ratio'] = 0;
+ }
+ }
+
+ if($is_export){
+
+ if($v['withdraw_type'] != 3) {
+ $va['d_statement_money'] = "=ROUND(D{$line}*(1-G{$line})*(E{$line}+F{$line}),2)";
+ } else {
+ $va['d_statement_money'] = "=ROUND(D{$line}*(F{$line}),2)";
+ }
+ }else{
+ if ($v['withdraw_type'] != 3) {
+ $va['d_statement_money'] = round(($va['pay_amount']-$va['refund'])*($va['ratio']+$va['increment_ratio'])*(100-$va['fax_ratio'])/100/100,2);
+
+ $count['platform_amount'] += $va['pay_amount'];
+
+ $count['d_statement_money'] += $va['d_statement_money'];
+ } else {
+ $va['d_statement_money'] = round((($va['pay_amount']-$va['refund'])*($va['increment_ratio']))/100,2);
+
+ $count['platform_amount'] += $va['pay_amount'];
+
+ $count['d_statement_money'] += $va['d_statement_money'];
+ }
+ }
+ }
+
+ $v['settlement_contact'] = $v['company_info']['link_man'];
+
+ if($is_export){
+
+ if ($v['withdraw_type'] != 3) {
+ $v['statement_money'] = "=ROUND(SUM(H{$cline}:H{$line})+J{$cline}-I{$cline},2)";
+ }
+
+ }else{
+ $count['fine'] += $v['fine'];
+ $count['reward'] += $v['reward'];
+ $count['statement_money'] += $v['statement_money'];
+ }
+ $v['statement_count'] = count($v['statement_info']);
+ if($v['statement_count'] == '0'){
+ $v['statement_count'] = 1;
+ }
+
+ }
+ if($is_export){
+ $count["platform_amount"] = "=ROUND(SUM(D2:D".$line."),2)";
+ $count["d_statement_money"] = "=ROUND(SUM(H2:H".$line."),2)";
+ $count["fine"] = "=ROUND(SUM(I2:I".$line."),2)";
+ $count["reward"] = "=ROUND(SUM(J2:J".$line."),2)";
+ $count["statement_money"] = "=ROUND(SUM(K2:K".$line."),2)";
+ }
+
+ $this->assign("data",$infolist);
+ $this->assign("count",$count);
+ $this->assign("is_export",$is_export);
+ $this->display("CompanyStatementPool/editPcPool");
+
+ }
+
+ //上游汇总查看及导出
+ public function editCpPool(&$infolist,$is_export)
+ {
+ $line = 2;
+ $count = [];
+ //获取平台名
+ $p_id = array_column($infolist,'company_id');
+ $map['id'] = ['in',$p_id];
+ $pl = M("Partner","tab_")->field("id,matche_platform")->where($map)->select();
+ $Partner = [];
+ foreach($pl as $k=>$v){
+ $Partner[$v['id']] = $v['matche_platform'];
+ }
+ unset($pl);
+ //
+ foreach($infolist as $k=>&$v){
+ $v['statement_info'] = json_decode($v['statement_info'],true);
+ $v['company_info'] = json_decode($v['company_info'],true);
+ $v['statement_begin_time'] = date('Y.m.d',$v['statement_begin_time']);
+ $v['statement_end_time'] = date('Y.m.d',$v['statement_end_time']);
+
+ if( isset($v['verify_status'])){
+ if( $v['verify_status'] ==2 ){
+ $v['is_payment'] = 2; //不打款
+ }else{
+ $v['is_payment'] = 1;
+ }
+ }
+
+ $cline = $line+1;
+
+ $handle_data = $this->changeDataStructCp($v['statement_info'],$is_export,$cline);
+ $v['statement_info'] = $handle_data;
+
+ foreach($v['statement_info'] as $ke=>&$va){
+ // dd($va);
+ $line ++;
+ $va['company_ratio'] = 100-$va['ratio'];
+ if($is_export){
+ $va['d_statement_money'] = "=ROUND(F{$line}*(1-I{$line})*G{$line}*(1-J{$line}),2)";//=ROUND(F3*(1-I3)*G3*(1-J3),2)
+ }else{
+
+ $va['d_statement_money'] = round(($va['pay_amount']-$va['refund'])*(100-$va['promote_ratio'])*$va['ratio']*(100-$va['fax_ratio'])/1000000,2);
+
+ $count['platform_amount'] += $va['pay_amount'];
+ $count['platform_amount2'] += $va['pay_amount'];
+ $count['d_statement_money'] += $va['d_statement_money'];
+ }
+ }
+
+// $handle_data = $this->changeDataStructVc($v['statement_info'],$is_export,$cline);
+// $v['statement_info'] = $handle_data;
+// dump($v['statement_info']);
+
+ $v['matche_platform'] = $Partner[$v['company_id']];
+ if($is_export){
+ $v['statement_money'] = "=ROUND(SUM(K{$cline}:K{$line})+M{$cline}-L{$cline},2)";
+ }else{
+ $count['fine'] += $v['fine'];
+ $count['reward'] += $v['reward'];
+ $count['statement_money'] += $v['statement_money'];
+ $count['statement_money_s'] += $v['statement_money'];
+ }
+ $v['statement_count'] = count($v['statement_info']);
+
+ }
+ if($is_export){
+ $count["d_statement_money"] = "=ROUND(SUM(K3:K".$line."),2)";
+ $count["platform_amount"] = "=ROUND(SUM(E3:E".$line."),2)";
+ $count["platform_amount2"] = "=ROUND(SUM(F3:F".$line."),2)";
+ $count["fine"] = "=ROUND(SUM(L3:L".$line."),2)";
+ $count["reward"] = "=ROUND(SUM(M3:M".$line."),2)";
+ $count["statement_money"] = "=ROUND(SUM(N3:N".$line."),2)";
+ $count["statement_money_s"] = "=ROUND(SUM(N3:N".$line."),2)";
+ }
+ // dd($infolist);
+ $this->assign("data",$infolist);
+ $this->assign("count",$count);
+ $this->assign("is_export",$is_export);
+ $this->display("CompanyStatementPool/editCpPool");
+ }
+
public function editSpecialPuPool(&$infolist,$is_export) {
$line = 1;
$count = [];
@@ -681,7 +946,7 @@ class CompanyStatementPoolController extends ThinkController
$game_data['week_amount'] = 0;
//周结算金额计算
for ($i=0;;$i++) {
- if ($sv[$i]['sum_money']) {
+ if ($sv[$i]['sum_money']||$sv[$i]['sum_money']=='0') {
$game_data['week_amount'] += $sv[$i]['sum_money']- $sv[$i]['withhold']+$sv[$i]['reward']-$sv[$i]['fine'];
$game_data['withhold_amount'] += $sv[$i]['withhold'];
$game_data['fine'] += $sv[$i]['fine'];
@@ -759,32 +1024,195 @@ class CompanyStatementPoolController extends ThinkController
$week_line += count($hv['game_list'])-1;
}
- $handle_data[$hk]['week_amount'] = "=ROUND(SUM(O{$old_line}:O{$week_line})+SUM(P{$old_line}:P{$week_line})-SUM(Q{$old_line}:Q{$week_line})-SUM(R{$old_line}:R{$week_line}),2)";
-
- if ($hk > 0) {
- $handle_data[0]['week_amount'] = str_replace($old_line,$week_line,$handle_data[0]['week_amount']);
- }
+ $handle_data[$hk]['week_amount'] = "=ROUND(SUM(O{$old_line}:O{$week_line})+SUM(P{$old_line}:P{$week_line})-SUM(Q{$old_line}:Q{$week_line})-SUM(R{$old_line}:R{$week_line}),2)";
+
+ if ($hk > 0) {
+ $handle_data[0]['week_amount'] = str_replace($old_line,$week_line,$handle_data[0]['week_amount']);
+ }
+
+ if (count($hv['game_list'])>1) {
+
+ $old_line += count($hv['game_list']);
+
+ } else {
+ $old_line++;
+ }
+
+ if(count($hv['game_list'])>1) {
+
+ $week_line = $old_line ;
+ } else {
+ $week_line = $old_line;
+ }
+
+ }
+
+ }
+// dump($handle_data);
+ return $handle_data?$handle_data:[];
+ }
+
+ public function changeDataStructVc($statement_info,$is_export = 0,$cline) {
+ $game_list = [];
+ $nline = $cline;
+
+ //使用时间与会长账号作为键值分离数据
+ foreach($statement_info as $sk=>$sv){
+
+ $sv['time'] = $sv['statement_begin_time'].'-'.$sv['statement_end_time'];
+ $game_list[$sv['statement_begin_time'].'-'.$sv['statement_end_time']][] = $sv;
+
+ }
+
+ $handle_data = [];
+ $substract = 1;
+
+ //处理游戏金额数据
+ foreach($game_list as $gk => $gv) {
+
+ foreach ($gv as $lk => $lv){
+
+ if ($lk > 0) {
+ unset($lv['time']);
+
+ } else {
+
+ $lv['row'] = count($gv);
+ $lv['week_amount'] = $lv['sum_money'] - $lv['withhold'] + $lv['reward'] - $lv['fine'];
+
+ for (;;) {
+
+ if (!$gv[$lk+$substract]) {
+ break;
+ } else {
+ $lv['week_amount'] += $gv[$lk+$substract]['sum_money'] - $gv[$lk+$substract]['withhold'] + $gv[$lk+$substract]['reward'] - $gv[$lk+$substract]['fine'];
+
+ $substract++;
+ unset($gv[$lk+$substract]['time']);
+ }
+
+ }
+ $substract = 1;
+
+ }
+
+ array_push($handle_data,$lv);
+
+ }
+
+ }
+
+ foreach($handle_data as $hk => $hv) {
+ $substract = 1;
+ if ($is_export) {
+ if (!$hv['time']) {
+ continue;
+ }
+
+ for (;;) {
+
+ if (!$handle_data[$hk+$substract]['time']&&$handle_data[$hk+$substract]&&$hv['time']) {
+
+ $cline++;
+ $substract++;
+ } else {
+ break;
+ }
+
+ }
+
+ $handle_data[$hk]['week_amount'] = "=ROUND(SUM(J{$nline}:J{$cline})-SUM(K{$nline}:K{$cline})+SUM(L{$nline}:L{$cline})-SUM(M{$nline}:M{$cline}),2)";
+
+ $cline++;
+ $nline = $cline;
+
+ }
+
+ }
+
+
+ return $handle_data;
+ }
+
+ public function changeDataStructCp($statement_info,$is_export = 0,$cline) {
+ $game_list = [];
+ $nline = $cline;
+
+ //使用时间与会长账号作为键值分离数据
+ foreach($statement_info as $sk=>$sv){
+
+ $sv['time'] = $sv['statement_begin_time'].'-'.$sv['statement_end_time'];
+ $game_list[$sv['statement_begin_time'].'-'.$sv['statement_end_time']][] = $sv;
+
+ }
+
+ $handle_data = [];
+ $substract = 1;
+
+ //处理游戏金额数据
+ foreach($game_list as $gk => $gv) {
+
+ foreach ($gv as $lk => $lv){
+
+ if ($lk > 0) {
+
+ unset($lv['time']);
+
+ } else {
+
+ $lv['row'] = count($gv);
+ $lv['week_amount'] = $lv['sum_money'] - $lv['withhold'] + $lv['reward'] - $lv['fine'];
+
+ for (;;) {
+
+ if (!$gv[$lk+$substract]) {
+ break;
+ } else {
+ $lv['week_amount'] += $gv[$lk+$substract]['sum_money'] - $gv[$lk+$substract]['withhold'] + $gv[$lk+$substract]['reward'] - $gv[$lk+$substract]['fine'];
+
+ $substract++;
+ unset($gv[$lk+$substract]['time']);
+ }
+
+ }
+ $substract = 1;
+ }
+
+ array_push($handle_data,$lv);
+
+ }
+
+ }
+
+ foreach($handle_data as $hk => $hv) {
+ $substract = 1;
+ if ($is_export) {
+ if (!$hv['time']) {
+ continue;
+ }
+
+ for (;;) {
- if (count($hv['game_list'])>1) {
+ if (!$handle_data[$hk+$substract]['time']&&$handle_data[$hk+$substract]&&$hv['time']) {
- $old_line += count($hv['game_list']);
+ $cline++;
+ $substract++;
+ } else {
+ break;
+ }
- } else {
- $old_line++;
}
- if(count($hv['game_list'])>1) {
+ $handle_data[$hk]['week_amount'] = "=ROUND(SUM(L{$nline}:L{$cline})-SUM(M{$nline}:M{$cline})+SUM(N{$nline}:N{$cline})-SUM(O{$nline}:O{$cline}),2)";
- $week_line = $old_line ;
- } else {
- $week_line = $old_line;
- }
+ $cline++;
+ $nline = $cline;
}
}
-// dump($handle_data);
- return $handle_data?$handle_data:[];
+
+ return $handle_data;
}
//下游汇总结算查看
@@ -817,6 +1245,10 @@ class CompanyStatementPoolController extends ThinkController
}
}
$cline = $line+1;
+
+ $handle_data = $this->changeDataStructVc($v['statement_info'],$is_export,$cline);
+ $v['statement_info'] = $handle_data;
+
foreach($v['statement_info'] as $ke=>&$va){
$line ++;
@@ -835,19 +1267,19 @@ class CompanyStatementPoolController extends ThinkController
// $va['d_statement_money'] = "=ROUND(E{$line}*(G{$line}),2)";
// }
if($v['withdraw_type'] != 3) {
- $va['d_statement_money'] = "=ROUND(D{$line}*(1-G{$line})*(E{$line}+F{$line}),2)";
+ $va['d_statement_money'] = "=ROUND((E{$line}-F{$line})*(1-I{$line})*(H{$line}+G{$line}),2)";
} else {
- $va['d_statement_money'] = "=ROUND(D{$line}*(F{$line}),2)";
+ $va['d_statement_money'] = "=ROUND((E{$line}-F{$line})*(1-I{$line})*(H{$line}),2)";
}
}else{
if ($v['withdraw_type'] != 3) {
- $va['d_statement_money'] = round($va['pay_amount']*($va['ratio']+$va['increment_ratio'])*(100-$va['fax_ratio'])/100/100,2);
+ $va['d_statement_money'] = round(($va['pay_amount']-$va['refund'])*($va['ratio']+$va['increment_ratio'])*(100-$va['fax_ratio'])/100/100,2);
$count['platform_amount'] += $va['pay_amount'];
$count['d_statement_money'] += $va['d_statement_money'];
} else {
- $va['d_statement_money'] = round(($va['pay_amount']*($va['increment_ratio']))/100,2);
+ $va['d_statement_money'] = round((($va['pay_amount']-$va['refund'])*($va['increment_ratio']))/100,2);
$count['platform_amount'] += $va['pay_amount'];
@@ -862,13 +1294,15 @@ class CompanyStatementPoolController extends ThinkController
if ($v['withdraw_type'] != 3) {
// $v['statement_money'] = "=ROUND(SUM(I{$cline}:I{$line})+K{$cline}-J{$cline},2)";
- $v['statement_money'] = "=ROUND(SUM(H{$cline}:H{$line})+J{$cline}-I{$cline},2)";
+// $v['statement_money'] = "=ROUND(SUM(H{$cline}:H{$line})+J{$cline}-I{$cline},2)";
+ $v['statement_money'] = "=ROUND(SUM(N{$cline}:N{$line}),2)";
}
}else{
$count['fine'] += $v['fine'];
$count['reward'] += $v['reward'];
$count['statement_money'] += $v['statement_money'];
+ $count["statement_money_s"] += $v['statement_money'];
}
$v['statement_count'] = count($v['statement_info']);
if($v['statement_count'] == '0'){
@@ -877,11 +1311,12 @@ class CompanyStatementPoolController extends ThinkController
}
if($is_export){
- $count["platform_amount"] = "=ROUND(SUM(D2:D".$line."),2)";
- $count["d_statement_money"] = "=ROUND(SUM(H2:H".$line."),2)";
- $count["fine"] = "=ROUND(SUM(I2:I".$line."),2)";
- $count["reward"] = "=ROUND(SUM(J2:J".$line."),2)";
- $count["statement_money"] = "=ROUND(SUM(K2:K".$line."),2)";
+ $count["platform_amount"] = "=ROUND(SUM(E2:E".$line."),2)";
+ $count["d_statement_money"] = "=ROUND(SUM(J2:J".$line."),2)";
+ $count["fine"] = "=ROUND(SUM(K2:K".$line."),2)";
+ $count["reward"] = "=ROUND(SUM(L2:L".$line."),2)";
+ $count["statement_money"] = "=ROUND(SUM(N2:N".$line."),2)";
+ $count["statement_money_s"] = "=ROUND(SUM(O2:O".$line."),2)";
}
// dd($infolist);
$this->assign("data",$infolist);
@@ -891,66 +1326,6 @@ class CompanyStatementPoolController extends ThinkController
}
- public function changeDataStructVc($statement_info,$is_export = 0,$cline) {
- $game_list = [];
- $nline = $cline;
-
- //使用时间与会长账号作为键值分离数据
- foreach($statement_info as $sk=>$sv){
-
- $sv['time'] = $sv['statement_begin_time'].'-'.$sv['statement_end_time'];
- $game_list[$sv['statement_begin_time'].'-'.$sv['statement_end_time']][] = $sv;
-
- }
-
- $handle_data = [];
- $substract = 1;
-
- //处理游戏金额数据
- foreach($game_list as $gk => $gv) {
-
- foreach ($gv as $lk => $lv){
-
- if ($lk > 0) {
-
- for (;;) {
-
- if (!$handle_data[$lk-$substract]['time']) {
- $nline++;
- $substract++;
- } else {
- $handle_data[$lk-$substract]['row'] += 1;
- $handle_data[$lk-$substract]['week_amount'] += $lv['d_statement_money'];
-
- if ($is_export) {
- $handle_data[$lk-$substract]['week_amount'] = "=ROUND(SUM(I{$cline}:I{$nline}),2)";
- }
- unset($lv['time']);
- break;
- }
-
- }
-
- } else {
-
- $lv['row'] = 1;
- $lv['week_amount'] = $lv['d_statement_money'];
- $nline++;
- if ($is_export) {
- $lv['week_amount'] = "=ROUND(SUM(I{$cline}}:I{$nline}),2)";
- }
- }
-
- array_push($handle_data,$lv);
-
- }
-
- }
-
-
- return $handle_data;
- }
-
//上游汇总查看及导出
public function viewCpPool(&$infolist,$is_export)
{
@@ -980,18 +1355,20 @@ class CompanyStatementPoolController extends ThinkController
}
}
-// dump($v['statement_info']);
-
$cline = $line+1;
+
+ $handle_data = $this->changeDataStructCp($v['statement_info'],$is_export,$cline);
+ $v['statement_info'] = $handle_data;
+
foreach($v['statement_info'] as $ke=>&$va){
// dd($va);
$line ++;
$va['company_ratio'] = 100-$va['ratio'];
if($is_export){
- $va['d_statement_money'] = "=ROUND(F{$line}*(1-I{$line})*G{$line}*(1-J{$line}),2)";//=ROUND(F3*(1-I3)*G3*(1-J3),2)
+ $va['d_statement_money'] = "=ROUND((F{$line}-G{$line})*(1-J{$line})*H{$line}*(1-K{$line}),2)";//=ROUND(F3*(1-I3)*G3*(1-J3),2)
}else{
- $va['d_statement_money'] = round($va['pay_amount']*(100-$va['promote_ratio'])*$va['ratio']*(100-$va['fax_ratio'])/1000000,2);
+ $va['d_statement_money'] = round(($va['pay_amount']-$va['refund'])*(100-$va['promote_ratio'])*$va['ratio']*(100-$va['fax_ratio'])/1000000,2);
$count['platform_amount'] += $va['pay_amount'];
$count['platform_amount2'] += $va['pay_amount'];
@@ -1005,22 +1382,25 @@ class CompanyStatementPoolController extends ThinkController
$v['matche_platform'] = $Partner[$v['company_id']];
if($is_export){
- $v['statement_money'] = "=ROUND(SUM(K{$cline}:K{$line})+M{$cline}-L{$cline},2)";
+// $v['statement_money'] = "=ROUND(SUM(K{$cline}:K{$line})+M{$cline}-L{$cline},2)";
+ $v['statement_money'] = "=ROUND(SUM(P{$cline}:P{$line}),2)";
}else{
$count['fine'] += $v['fine'];
$count['reward'] += $v['reward'];
$count['statement_money'] += $v['statement_money'];
+ $count['statement_money_s'] += $v['statement_money'];
}
$v['statement_count'] = count($v['statement_info']);
}
if($is_export){
- $count["d_statement_money"] = "=ROUND(SUM(K3:K".$line."),2)";
+ $count["d_statement_money"] = "=ROUND(SUM(L3:L".$line."),2)";
$count["platform_amount"] = "=ROUND(SUM(E3:E".$line."),2)";
$count["platform_amount2"] = "=ROUND(SUM(F3:F".$line."),2)";
- $count["fine"] = "=ROUND(SUM(L3:L".$line."),2)";
- $count["reward"] = "=ROUND(SUM(M3:M".$line."),2)";
- $count["statement_money"] = "=ROUND(SUM(N3:N".$line."),2)";
+ $count["fine"] = "=ROUND(SUM(M3:M".$line."),2)";
+ $count["reward"] = "=ROUND(SUM(N3:N".$line."),2)";
+ $count["statement_money"] = "=ROUND(SUM(P3:P".$line."),2)";
+ $count["statement_money_s"] = "=ROUND(SUM(Q3:Q".$line."),2)";
}
// dd($infolist);
$this->assign("data",$infolist);
@@ -1515,7 +1895,7 @@ class CompanyStatementPoolController extends ThinkController
$clsi = SM("company_lack_statement_info","tab_")->where("is_pool = 1 and id in ({$create_lack_ids})")->find();
$re_op = true;
if(!empty($clsi)){
- $re_op = false; //被引用无法重算
+// $re_op = false; //被引用无法重算
}
}
if($re_op){
@@ -1714,23 +2094,36 @@ class CompanyStatementPoolController extends ThinkController
$optist = ["viewPool","reCount","cancelPool"];
break;
case '1':
- $optist = ["viewPool","addRemark","viewRemark","editRemark","viewVoucher","editVoucher","uploadVoucher","editPayment","setUlPayment"];
+ $optist = ["viewPool",
+// "addRemark","viewRemark","editRemark",
+ "viewVoucher","editVoucher","uploadVoucher","editPayment","setUlPayment"];
break;
case '2':
- $optist = ["viewPool","addRemark","viewRemark","editRemark","viewVoucher","editVoucher","uploadVoucher"];
+ $optist = ["viewPool",
+// "addRemark","viewRemark","editRemark",
+ "viewVoucher","editVoucher","uploadVoucher"];
break;
case '3':
- $optist = ["viewPool","addRemark","viewRemark","editRemark","viewVoucher","editVoucher","uploadVoucher","viewPayment"];
+ $optist = ["viewPool",
+// "addRemark","viewRemark","editRemark",
+ "viewVoucher","editVoucher","uploadVoucher","viewPayment"];
break;
case '4':
- $optist = ["viewPool","addRemark","viewRemark","editRemark","viewVoucher","editVoucher","uploadVoucher","viewPayment"];
+ $optist = ["viewPool",
+// "addRemark","viewRemark","editRemark",
+ "viewVoucher","editVoucher","uploadVoucher","viewPayment"];
break;
case '5':
- $optist = ["viewPool","addRemark","viewRemark","editRemark","reCount","cancelPool"];
+ $optist = ["viewPool",
+// "addRemark","viewRemark","editRemark",
+ "reCount","cancelPool"];
break;
case '6':
- $optist = ["viewPool","addRemark","viewRemark","editRemark","reCount","cancelPool"];
+ $optist = ["viewPool",
+// "addRemark","viewRemark","editRemark",
+ "reCount","cancelPool"];
// ,"setPayment"];
+
break;
default:
break;
@@ -1762,7 +2155,7 @@ class CompanyStatementPoolController extends ThinkController
}
}
- if($info['company_type'] == 2 && ($info['verify_status'] == '6' || $info['verify_status'] == '0') &&$info['withdraw_type'] != "特殊补点") {
+ if(($info['verify_status'] == '6' || $info['verify_status'] == '0') &&!($info['company_type'] == 2 && $info['withdraw_type'] == "特殊补点")) {
array_push($optist,"editPool");
}
@@ -1821,7 +2214,7 @@ class CompanyStatementPoolController extends ThinkController
}
return $resarr;
}
-
+ //编辑个人结算单
public function editCompanyStatementPool() {
$data = $_POST;
@@ -1855,7 +2248,7 @@ class CompanyStatementPoolController extends ThinkController
// dump($increment_ratio);
// dump($st);
//die();
- foreach ($increment_ratio as $key => $value) {
+ foreach ($st as $key => $value) {
$statement_info = array();
foreach($value as $akey => $aval) {
@@ -1882,6 +2275,19 @@ class CompanyStatementPoolController extends ThinkController
$statement_data = $model->where(['id'=>$key])->find();
+ if ($statement_data['is_reward_fine_split'] == 1) {
+ $r_data = $model->field("fine,reward")->where(['id'=>$key])->find();
+ if($model == SM("company_statement_info","tab_")) {
+ $reward += $r_data['reward'];
+ $fine += $r_data['fine'];
+ } else {
+ $lreward += $r_data['reward'];
+ $lfine += $r_data['fine'];
+ }
+ $model->where(['id'=>$key])->save(['remark'=>$remark[$key][$st[$key][$akey]]]);
+ break;
+ }
+
$statement_info = json_decode($statement_data['statement_info'],true);
foreach ($statement_info as $k => $v) {
@@ -1915,9 +2321,129 @@ class CompanyStatementPoolController extends ThinkController
}
-// if ($key == 2312) {
-// dump($statement_info);
-// }
+ $statement_info_data = json_encode($statement_info);
+
+ $r_data = $model->field("fine,reward")->where(['id'=>$key])->find();
+ if($model == SM("company_statement_info","tab_")) {
+ $reward += $r_data['reward'];
+ $fine += $r_data['fine'];
+ } else {
+ $lreward += $r_data['reward'];
+ $lfine += $r_data['fine'];
+ }
+
+ $model->where(['id'=>$key])->save(['statement_info'=>$statement_info_data,'statement_money'=>$amount+($r_data['reward']?$r_data['reward']:0)-($r_data['fine']?$r_data['fine']:0),'pay_amount'=>$amount,'remark'=>$remark[$key][$st[$key][$akey]]]);
+
+ $amount = 0;
+
+ }
+
+ }
+//die();
+ SM("company_statement_pool","tab_")->where(['id'=>$id])->save(['pay_amount'=>$statement_amount,'statement_money'=>$statement_amount+$reward-$fine,'lack_statement_money'=>$statement_lack_amount+$lreward-$lfine]);
+
+ $this->ajaxReturn(['status'=>1,'info'=>'保存成功']);
+
+ }
+
+ //编辑公司结算单
+ public function editCompanyStatementPoolPc() {
+
+ $data = $_POST;
+
+ if (!$data) {
+ $this->ajaxReturn(['status'=>0,'info'=>'数据错误']);
+ }
+
+ $ratio = $data['ratio'];
+ $refund = $data['refund'];
+ $withhold = $data['withhold'];
+ $increment_ratio = $data['increment_ratio'];
+ $sum_money = $data['sum_money'];
+ $st = $data['st'];
+ $id = $data['id'];
+ $remark = $data['remark'];
+
+ $amount = 0;
+ $statement_amount = 0;
+ $statement_lack_amount = 0;
+ $reward = 0;
+ $fine = 0;
+ $lreward = 0;
+ $lfine = 0;
+
+ $handledata = [];
+// dump($sum_money);
+// dump($ratio);
+// dump($refund);
+// dump($withhold);
+// dump($increment_ratio);
+// dump($st);
+//die();
+ foreach ($st as $key => $value) {
+
+ $statement_info = array();
+ foreach($value as $akey => $aval) {
+
+ if ($st[$key][$akey] == 1) {
+ $model = SM("company_statement_info","tab_");
+
+ if (!$handledata[$key][1]) {
+ $handledata[$key][1] = 1;
+ } else {
+ continue;
+ }
+
+
+ } else {
+ $model = SM("company_lack_statement_info","tab_");
+
+ if (!$handledata[$key][0]) {
+ $handledata[$key][0] = 1;
+ } else {
+ continue;
+ }
+ }
+
+ $statement_data = $model->where(['id'=>$key])->find();
+
+ if ($statement_data['is_reward_fine_split'] == 1) {
+ $r_data = $model->field("fine,reward")->where(['id'=>$key])->find();
+ if($model == SM("company_statement_info","tab_")) {
+ $reward += $r_data['reward'];
+ $fine += $r_data['fine'];
+ } else {
+ $lreward += $r_data['reward'];
+ $lfine += $r_data['fine'];
+ }
+
+ $model->where(['id'=>$key])->save(['remark'=>$remark[$key][$st[$key][$akey]]]);
+ break;
+ }
+
+ $statement_info = json_decode($statement_data['statement_info'],true);
+
+ foreach ($statement_info as $k => $v) {
+
+ if ($ratio[$key][$v['game_name'].$v['statement_begin_time']]) {
+ $statement_info[$k]['ratio'] = (int)$ratio[$key][$v['game_name'].$v['statement_begin_time'].'-'.$v['statement_end_time']];
+ }
+ $statement_info[$k]['refund'] = $refund[$key][$v['game_name'].$v['statement_begin_time'].'-'.$v['statement_end_time']];
+
+ $statement_info[$k]['withhold'] = $withhold[$key][$v['game_name'].$v['statement_begin_time'].'-'.$v['statement_end_time']];
+ $withhold[$key][$v['game_name'].$v['statement_begin_time'].'-'.$v['statement_end_time']] = 0;
+
+ $statement_info[$k]['sum_money'] = $sum_money[$key][$v['game_name'].$v['statement_begin_time'].'-'.$v['statement_end_time']];
+
+ $amount += $sum_money[$key][$v['game_name'].$v['statement_begin_time'].'-'.$v['statement_end_time']] - $statement_info[$k]['withhold'];
+
+ if ($st[$key][$akey] == 1) {
+ $statement_amount += $sum_money[$key][$v['game_name'].$v['statement_begin_time'].'-'.$v['statement_end_time']]-$statement_info[$k]['withhold'];
+ } else {
+ $statement_lack_amount += $sum_money[$key][$v['game_name'].$v['statement_begin_time'].'-'.$v['statement_end_time']]-$statement_info[$k]['withhold'];
+ }
+
+ }
$statement_info_data = json_encode($statement_info);
@@ -2128,4 +2654,140 @@ class CompanyStatementPoolController extends ThinkController
}
}
+ public function splitRewardOrFailData() {
+
+ if (!$_REQUEST['id']||!isset($_REQUEST['st'])) {
+ $this->ajaxReturn(['msg'=>'数据传输错误','status'=>'0']);
+ }
+
+ $id = $_REQUEST['id'];
+ $st = $_REQUEST['st'];
+
+ if ($st == 1) {
+ $model = SM("company_statement_info","tab_");
+
+ } else {
+ $model = SM("company_lack_statement_info","tab_");
+
+ }
+
+ $info = $model
+ ->where(['id'=>$id])
+ ->find();
+
+ $statement_info = json_decode($info['statement_info'],true);
+
+// $reward_data = [];
+// $fine_data = [];
+ $handle_statement_data = [];
+ $settlementAmount = 0;
+
+ if ($info['company_type'] == 2) {
+
+ foreach ($statement_info as $key => $value) {
+
+ $game_info = $value['game_list'];
+ $handle_statement_data[$key]['account'] = $value['account'];
+
+ foreach ($game_info as $gkey => $gvalue) {
+
+// $time_key = $gvalue['statement_begin_time'].$gvalue['statement_end_time'];
+
+ $handle_statement_data[$key]['game_list'][$gkey]['game_name'] = '--';
+ $handle_statement_data[$key]['game_list'][$gkey]['game_type_name'] = '--';
+
+ $handle_statement_data[$key]['game_list'][$gkey]['statement_begin_time'] = $gvalue['statement_begin_time'];
+ $handle_statement_data[$key]['game_list'][$gkey]['statement_end_time'] = $gvalue['statement_end_time'];
+ $handle_statement_data[$key]['game_list'][$gkey]['reward'] = $gvalue['reward'];
+ $handle_statement_data[$key]['game_list'][$gkey]['fine'] = $gvalue['fine'];
+
+ $handle_statement_data[$key]['game_list'][$gkey]['pay_amount'] = 0;
+ $handle_statement_data[$key]['game_list'][$gkey]['all_pay_amount'] = 0;
+ $handle_statement_data[$key]['game_list'][$gkey]['sum_money'] = 0;
+
+ $statement_info[$key]['game_list'][$gkey]['reward'] = 0;
+ $statement_info[$key]['game_list'][$gkey]['fine'] = 0;
+
+ $settlementAmount += $gvalue['reward']-$gvalue['fine'];
+
+ }
+
+ }
+
+ } else {
+
+ foreach ($statement_info as $key => $value) {
+
+ $handle_statement_data[$key]['game_name'] = '--';
+ $handle_statement_data[$key]['game_type_name'] = '--';
+
+ $handle_statement_data[$key]['statement_begin_time'] = $value['statement_begin_time'];
+ $handle_statement_data[$key]['statement_end_time'] = $value['statement_end_time'];
+ $handle_statement_data[$key]['reward'] = $value['reward'];
+ $handle_statement_data[$key]['fine'] = $value['fine'];
+
+ $handle_statement_data[$key]['pay_amount'] = 0;
+ $handle_statement_data[$key]['all_pay_amount'] = 0;
+ $handle_statement_data[$key]['sum_money'] = 0;
+
+ $statement_info[$key]['reward'] = 0;
+ $statement_info[$key]['fine'] = 0;
+
+ $settlementAmount += $value['reward']-$value['fine'];
+
+ }
+
+ }
+// dump($reward_data);
+// dump($fine_data);
+// die();
+ if (!$handle_statement_data) {
+ $this->ajaxReturn(['msg'=>'没有奖罚数据','status'=>'0']);
+ }
+
+ if ($settlementAmount <= 0) {
+ $this->ajaxReturn(['msg'=>'奖罚结算小于等于0,不分离','status'=>'0']);
+ }
+
+ $save['pool_id'] = $info['pool_id']?$info['pool_id']:$_REQUEST['pool_id'];
+ $save['company_id'] = $info['company_id'];
+ $save['company_type'] = $info['company_type'];
+ $save['company_name'] = $info['company_name'];
+ $save['company_info'] = $info['company_info'];
+ $save['statement_begin_time'] = $info['statement_begin_time'];
+ $save['statement_end_time'] = $info['statement_end_time'];
+ $save['statement_num'] = "JS_" . date("YmdHis", time()) . $info['company_id'] . sp_random_string(5);
+ $save['withdraw_type'] = $info['withdraw_type'];
+ $save['verify_status'] = $info['verify_status']?$info['verify_status']:0;
+
+ if($st!=1) {
+ if($info['is_payment'] == 1){
+ $save['verify_status'] = 0;
+ }else{
+ $save['verify_status'] = 2;
+ }
+ }
+
+
+ $save['statement_money'] = $settlementAmount;
+ $save['pay_amount'] = $settlementAmount;
+ $save['platform_amount'] = $settlementAmount;
+ $save['is_reward_fine_split'] = 1;
+
+ $handle_statement_data = json_encode($handle_statement_data);
+
+ //罚款数据
+ $save['statement_info'] = $handle_statement_data;
+ $save['reward'] = $info['reward'];
+ $save['fine'] = $info['fine'];
+
+ //罚款新增
+ SM("company_statement_info","tab_")->add($save);
+
+ $model->where(['id'=>$id])->save(['reward'=>0,'fine'=>0,'statement_info'=>json_encode($statement_info),'statement_money'=>$info['statement_money']-$settlementAmount,'pay_amount'=>$info['pay_amount']-$settlementAmount]);
+
+ $this->ajaxReturn(['msg'=>'执行成功','status'=>'1']);
+
+ }
+
}
diff --git a/Application/Admin/Controller/CompanyStatementSetController.class.php b/Application/Admin/Controller/CompanyStatementSetController.class.php
index b3c5ed1d1..ecd82bd39 100644
--- a/Application/Admin/Controller/CompanyStatementSetController.class.php
+++ b/Application/Admin/Controller/CompanyStatementSetController.class.php
@@ -263,7 +263,7 @@ class CompanyStatementSetController extends Controller {
$statement_end_time = date("Y.m.d",$endtime);
foreach($cpList as $k=>$v){
$add_data=[];
-
+ $handleed_data = [];
//1.获取甲乙方信息
if($v['first_company_type'] == 1){
//甲方上游
@@ -351,6 +351,22 @@ class CompanyStatementSetController extends Controller {
$game['statement_begin_time']=$statement_begin_time;
$game['statement_end_time']=$statement_end_time;
$game['statement_type']=0;
+
+ $RewardRecordRes = $this->getPromoteUserGameRewardRecordCp($add_data['company_id'],$statement_begin_time,$statement_end_time);
+
+ if (
+ ($handleed_data[$v['id'].$statement_begin_time.$statement_end_time]['fine'] || $handleed_data[$v['id'].$statement_begin_time.$statement_end_time]['fine'] == '0')
+ || ($handleed_data[$v['id'].$statement_begin_time.$statement_end_time]['reward'] || $handleed_data[$v['id'].$statement_begin_time.$statement_end_time]['reward'] == '0')
+ ) {
+ $game['fine'] = 0;
+ $game['reward'] = 0;
+ } else {
+ $game['fine'] = $RewardRecordRes['fine']?$RewardRecordRes['fine']:0;
+ $game['reward'] = $RewardRecordRes['reward']?$RewardRecordRes['reward']:0;
+ $handleed_data[$v['id'].$statement_begin_time.$statement_end_time]['fine'] = (string)$RewardRecordRes['fine'];
+ $handleed_data[$v['id'].$statement_begin_time.$statement_end_time]['reward'] = (string)$RewardRecordRes['reward'];
+ }
+
$add_data['statement_info'][] = $game;
}
}else{
@@ -710,6 +726,9 @@ class CompanyStatementSetController extends Controller {
if(!isset($v['game_list'])){continue;}
//获取多段比例
$game_ratio_list = D("CompanyGameRatio")->getPromoteCompanyGameRatio($add_data['company_id'],$v['game_ids'],$begintime,$endtime,$company_belong);
+
+ $handleed_data = [];
+
foreach ($game_ratio_list as $t_game_id => $t_game_ratio) {
$game =[];
$game['game_name'] =$v['game_list'][$t_game_id]['game_name'];
@@ -774,6 +793,21 @@ class CompanyStatementSetController extends Controller {
$game['ratio']=$tratio;
}
+ $RewardRecordRes = $this->getPromoteUserGameRewardRecord($add_data['company_id'],$statement_begin_time,$statement_end_time);
+
+ if (
+ ($handleed_data[$v['id'].$statement_begin_time.$statement_end_time]['fine'] || $handleed_data[$v['id'].$statement_begin_time.$statement_end_time]['fine'] == '0')
+ || ($handleed_data[$v['id'].$statement_begin_time.$statement_end_time]['reward'] || $handleed_data[$v['id'].$statement_begin_time.$statement_end_time]['reward'] == '0')
+ ) {
+ $game['fine'] = 0;
+ $game['reward'] = 0;
+ } else {
+ $game['fine'] = $RewardRecordRes['fine']?$RewardRecordRes['fine']:0;
+ $game['reward'] = $RewardRecordRes['reward']?$RewardRecordRes['reward']:0;
+ $handleed_data[$v['id'].$statement_begin_time.$statement_end_time]['fine'] = (string)$RewardRecordRes['fine'];
+ $handleed_data[$v['id'].$statement_begin_time.$statement_end_time]['reward'] = (string)$RewardRecordRes['reward'];
+ }
+
$game['sum_money']=round($game['pay_amount']*$tratio*(100-$fax_ratio)/(100*100),2);//结算金额=平台总额*(分成比例+补点比例)*(1-税费费率)
$add_data['statement_money'] += $game['sum_money'];
if ($game['pay_amount'] != '0') {
@@ -826,6 +860,22 @@ class CompanyStatementSetController extends Controller {
}else{
$temp_game['ratio']=$tratio;
}
+
+ $RewardRecordRes = $this->getPromoteUserGameRewardRecord($add_data['company_id'],$temp_game['statement_begin_time'],$temp_game['statement_end_time']);
+
+ if (
+ ($handleed_data[$v['id'].$statement_begin_time.$statement_end_time]['fine'] || $handleed_data[$v['id'].$statement_begin_time.$statement_end_time]['fine'] == '0')
+ || ($handleed_data[$v['id'].$statement_begin_time.$statement_end_time]['reward'] || $handleed_data[$v['id'].$statement_begin_time.$statement_end_time]['reward'] == '0')
+ ) {
+ $game['fine'] = 0;
+ $game['reward'] = 0;
+ } else {
+ $game['fine'] = $RewardRecordRes['fine']?$RewardRecordRes['fine']:0;
+ $game['reward'] = $RewardRecordRes['reward']?$RewardRecordRes['reward']:0;
+ $handleed_data[$v['id'].$statement_begin_time.$statement_end_time]['fine'] = (string)$RewardRecordRes['fine'];
+ $handleed_data[$v['id'].$statement_begin_time.$statement_end_time]['reward'] = (string)$RewardRecordRes['reward'];
+ }
+
$temp_game['sum_money']=round($temp_game['pay_amount']*$tratio*(100-$fax_ratio)/(100*100),2);//结算金额=平台总额*(分成比例+补点比例)*(1-税费费率)
$add_data['statement_money'] += $temp_game['sum_money'];
if ($temp_game['pay_amount'] != '0') {
@@ -2081,6 +2131,41 @@ class CompanyStatementSetController extends Controller {
}
}
+ /**
+ * 获取上游游戏奖罚
+ */
+ protected function getPromoteUserGameRewardRecordCp($cpmpamy_id,$begintime,$endtime)
+ {
+
+ $begintime = strtotime(str_replace('.','-',$begintime));
+ $endtime = strtotime(str_replace('.','-',$endtime))+86499;
+
+ //获取所有公司的奖罚
+ $rrmap = array(
+ "d.confirm_time" => ['between', [$begintime,$endtime]],
+ "d.company_type"=>1,
+ "d.company_id"=>$cpmpamy_id,
+ "d.settlement_type"=>2,
+// "relation_game_id"=>$relation_game_id,
+ );
+
+ $rfres = M("RewardDetail","tab_")
+ ->alias("d")
+ ->field("
+ IFNULL(SUM(CASE WHEN type = 1 THEN amount ELSE 0 END),0) as reward,
+ IFNULL(SUM(CASE WHEN type = 2 THEN amount ELSE 0 END),0) as fine")
+ ->join('tab_reward_record as r on d.record_id = r.id', 'LEFT')
+ ->where($rrmap)
+ ->group("company_id")
+ ->find();
+
+ if(empty($rfres)){
+ return false;
+ }else{
+ return $rfres;
+ }
+ }
+
/**
* 获取公司奖罚
*/
diff --git a/Application/Admin/Controller/ConsoleController.class.php b/Application/Admin/Controller/ConsoleController.class.php
index 3c10092fa..c36acb21f 100644
--- a/Application/Admin/Controller/ConsoleController.class.php
+++ b/Application/Admin/Controller/ConsoleController.class.php
@@ -14,6 +14,8 @@ use Base\Task\Task;
use Base\Service\MarketService;
use Base\Tool\AggregateClient;
use Base\Repository\GameRepository;
+use Base\Tool\Redis;
+use Think\Model;
class ConsoleController extends Think {
@@ -666,4 +668,84 @@ class ConsoleController extends Think {
}
echo '
';
}
+
+ public function generateHistoryGame()
+ {
+ $items = M('spend', 'tab_')
+ ->field(['tab_promote.level1_id', 'group_concat(distinct tab_spend.game_id) game_ids'])
+ ->join('left join tab_promote on tab_spend.promote_id=tab_promote.id')
+ ->where('tab_spend.is_check=1 and tab_spend.pay_status=1')
+ ->group('tab_promote.level1_id')
+ ->select();
+ foreach ($items as $item) {
+ if ($item['level1_id']) {
+ $key = Redis::getKey('promote_history_games', ['promote_id' => $item['level1_id']]);
+ Redis::set($key, $item['game_ids']);
+ }
+ }
+ }
+
+ public function updateHistoryGame()
+ {
+ $items = M('spend', 'tab_')
+ ->field(['tab_promote.level1_id', 'group_concat(distinct tab_spend.game_id) game_ids'])
+ ->join('left join tab_promote on tab_spend.promote_id=tab_promote.id')
+ ->where('tab_spend.is_check=1 and tab_spend.pay_status=1 and tab_spend.pay_time>' . strtotime(date('Y-m-d 00:00:00')))
+ ->group('tab_promote.level1_id')
+ ->select();
+ foreach ($items as $item) {
+ if ($item['level1_id']) {
+ $key = Redis::getKey('promote_history_games', ['promote_id' => $item['level1_id']]);
+ $value = Redis::get($key);
+ $gameIds = $value ? explode(',', $value) : [];
+ $nowGameIds = explode(',', $item['game_ids']);
+ $gameIds = array_unique(array_merge($gameIds, $nowGameIds));
+ Redis::set($key, implode(',', $gameIds));
+ }
+ }
+ }
+
+ public function generatePromotesLevelId()
+ {
+ $promotes = M('promote', 'tab_')->field(['chain', 'id'])->select();
+ foreach ($promotes as $promote) {
+ $fullChain = explode('/', $promote['chain'] . $promote['id']);
+ M('promote', 'tab_')->where(['id' => $promote['id']])->save([
+ 'level1_id' => $fullChain[1] ?? 0,
+ 'level2_id' => $fullChain[2] ?? 0,
+ 'level3_id' => $fullChain[3] ?? 0,
+ 'level4_id' => $fullChain[4] ?? 0,
+ ]);
+ }
+ }
+
+ public function setUserFirstPayTime()
+ {
+ $hasNext = true;
+ $limit = 500;
+ $lastId = 0;
+ do {
+ $items = M('spend', 'tab_')
+ ->field(['user_id', 'min(pay_time) first_pay_time'])
+ ->where(['pay_status' => 1, 'user_id' => ['gt', $lastId]])
+ ->group('user_id')
+ ->order('user_id asc')
+ ->limit($limit)
+ ->select();
+
+ $model = new Model();
+ $model->startTrans();
+ foreach ($items as $item) {
+ M('user', 'tab_')->where(['id' => $item['user_id']])->save([
+ 'first_pay_time' => $item['first_pay_time']
+ ]);
+ $lastId = $item['user_id'];
+ }
+ $model->commit();
+
+ if (count($items) < $limit) {
+ $hasNext = false;
+ }
+ } while($hasNext);
+ }
}
diff --git a/Application/Admin/Controller/ExportController.class.php b/Application/Admin/Controller/ExportController.class.php
index 39cce7e7b..ea63a7dae 100644
--- a/Application/Admin/Controller/ExportController.class.php
+++ b/Application/Admin/Controller/ExportController.class.php
@@ -5654,6 +5654,7 @@ class ExportController extends Controller
$xlsCell = array(
array('uid','账号ID'),
array('nickname','管理员账号'),
+ array('real_name','真实姓名'),
array('group_name','角色类型'),
array('login','登录次数'),
array('last_login_time','最后登录时间'),
@@ -5666,6 +5667,11 @@ class ExportController extends Controller
}else{
$map['nickname'] = array('like', '%'.(string)$nickname.'%');
}
+
+ if(isset($_REQUEST['real_name'])) {
+ $map['real_name'] = $_REQUEST['real_name'];
+ }
+
if(isset($_REQUEST['status'])){
$map['status'] = $_REQUEST['status'];
}
diff --git a/Application/Admin/Controller/MarketPercentageController.class.php b/Application/Admin/Controller/MarketPercentageController.class.php
index 0a724f3dc..eb0c218e8 100644
--- a/Application/Admin/Controller/MarketPercentageController.class.php
+++ b/Application/Admin/Controller/MarketPercentageController.class.php
@@ -3,6 +3,7 @@
namespace Admin\Controller;
use User\Api\UserApi as UserApi;
+use Base\Factory\BaseFactory;
/**
* 后台首页控制器
@@ -12,46 +13,57 @@ class MarketPercentageController extends ThinkController
{
protected $coefficient = [];
+ //实例化离职服务类
+ private $leavePercentage;
+ private $unSettlementList;
protected function _initialize()
{
- $coefficient_data = M("coefficient","tab_")->where("1=1")->select();
+ $coefficient_data = M("coefficient", "tab_")->where("1=1")->select();
foreach ($coefficient_data as $key => $value) {
- $this->coefficient[$value['pay_time']][$value['admin_id']] = $value['coefficient']/100;
+ $this->coefficient[$value['pay_time']][$value['admin_id']] = $value['coefficient'] / 100;
}
+
+ $instance = BaseFactory::getInstance();
+ $this->leavePercentage = $instance->factoryClass("LeavePercentage");
+ //不结算列表
+ $this->leavePercentage->unSettlementList();
+ $this->unSettlementList = $this->leavePercentage->returnUnSettlementList();
+
parent::_initialize();
}
- public function index($row = 10, $p = 1){
+ public function index($row = 10, $p = 1)
+ {
$map = [];
// $_REQUEST['pay_time']?($map['pay_time'] = $_REQUEST['pay_time']):'';
- $_REQUEST['promote_id']?($map['promote_id'] = $_REQUEST['promote_id']):'';
- $_REQUEST['relation_game_id']?($map['relation_game_id'] = $_REQUEST['relation_game_id']):'';
+ $_REQUEST['promote_id'] ? ($map['promote_id'] = $_REQUEST['promote_id']) : '';
+ $_REQUEST['relation_game_id'] ? ($map['relation_game_id'] = $_REQUEST['relation_game_id']) : '';
// $_REQUEST['sdk_version']?($map['sdk_version'] = $_REQUEST['sdk_version']):'';
- $_REQUEST['admin_id']?($map['admin_id'] = $_REQUEST['admin_id']):'';
- ($_REQUEST['company_id']||$_REQUEST['company_id']=='0')?($map['company_id'] = $_REQUEST['company_id']):'';
+ $_REQUEST['admin_id'] ? ($map['admin_id'] = $_REQUEST['admin_id']) : '';
+ ($_REQUEST['company_id'] || $_REQUEST['company_id'] == '0') ? ($map['company_id'] = $_REQUEST['company_id']) : '';
$admin_id = $_SESSION['onethink_admin']['user_auth']['uid'];
$map['admin_id'] = $admin_id;
$map['is_settlement'] = 1;
- if(is_administrator()||session('user_group_id') == 15||session('user_group_id') == 14||session('user_group_id') == 19||session('user_group_id') == 23) {
+ if (is_administrator() || session('user_group_id') == 15 || session('user_group_id') == 14 || session('user_group_id') == 19 || session('user_group_id') == 23) {
unset($map['admin_id']);
$admin_data = M("member")
->field("access.uid admin_id")
->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']])
+ ->where(['group_id' => ['in', '11,12,21']])
->select();
if ($admin_data) {
- $map['admin_id'] = ['in',array_column($admin_data,'admin_id')];
+ $map['admin_id'] = ['in', array_column($admin_data, 'admin_id')];
}
- $_REQUEST['admin_id']?($map['admin_id'] = $_REQUEST['admin_id']):'';
+ $_REQUEST['admin_id'] ? ($map['admin_id'] = $_REQUEST['admin_id']) : '';
}
$search_date = [];
@@ -64,7 +76,7 @@ class MarketPercentageController extends ThinkController
$date = date('Y-m', strtotime($start . ' + ' . $i . ' month'));
$search_date[] = $date;
$i++;
- }while ($date < date('Y-m', strtotime("{$end}")));
+ } while ($date < date('Y-m', strtotime("{$end}")));
if ($search_date) {
$map['pay_time'] = ['in', $search_date];
@@ -72,14 +84,14 @@ class MarketPercentageController extends ThinkController
} elseif (isset($_REQUEST['time_start'])) {
- $end = date("Y-m",time());
+ $end = date("Y-m", time());
$start = $_REQUEST['time_start'];
$i = 0;
do {
$date = date('Y-m', strtotime($start . ' + ' . $i . ' month'));
$search_date[] = $date;
$i++;
- }while ($date < date('Y-m', strtotime("{$end}")));
+ } while ($date < date('Y-m', strtotime("{$end}")));
if ($search_date) {
$map['pay_time'] = ['in', $search_date];
@@ -94,7 +106,7 @@ class MarketPercentageController extends ThinkController
$date = date('Y-m', strtotime($start . ' + ' . $i . ' month'));
$search_date[] = $date;
$i++;
- }while ($date < date('Y-m', strtotime("{$end}")));
+ } while ($date < date('Y-m', strtotime("{$end}")));
if ($search_date) {
$map['pay_time'] = ['in', $search_date];
@@ -103,7 +115,7 @@ class MarketPercentageController extends ThinkController
// dump($map);die();
// var_dump($map);die();
- $data = SM("settleup_marketorder","tab_")
+ $data = SM("settleup_marketorder", "tab_")
->field("pay_time,promote_account,company_name,company_belong,real_name,develop_type,game_name,
sum(pay_amount) pay_amount,sum(cp_amount) cp_amount,sum(promote_amount) promote_amount,
sum(channel_amount) channel_amount, sum(company_tax) company_tax,sum(company_profit) company_profit");
@@ -121,14 +133,14 @@ class MarketPercentageController extends ThinkController
->select();
}
- $sum = SM("settleup_marketorder","tab_")
+ $sum = SM("settleup_marketorder", "tab_")
->field("pay_time,promote_account,company_belong,real_name,develop_type,game_name,
sum(pay_amount) pay_amount,sum(cp_amount) cp_amount,sum(promote_amount) promote_amount,
sum(channel_amount) channel_amount, sum(company_tax) company_tax,sum(company_profit) company_profit")
->where($map)
->find();
- $this->assign("sum",$sum);
+ $this->assign("sum", $sum);
foreach ($data as $key => $value) {
@@ -156,7 +168,7 @@ class MarketPercentageController extends ThinkController
if ($_REQUEST['export']) {
$title = ['pay_time' => '时间',
- 'company_name'=>'公司名称',
+ 'company_name' => '公司名称',
'promote_account' => '会长账号',
'company_belong' => '内外团',
'real_name' => '所属市场专员',
@@ -170,7 +182,7 @@ class MarketPercentageController extends ThinkController
'company_profit' => '税后毛利额'];
foreach ($data as $key => $value) {
- $data[$key]['pay_time'] = '`'.$data[$key]['pay_time'];
+ $data[$key]['pay_time'] = '`' . $data[$key]['pay_time'];
}
$sum['pay_time'] = '';
@@ -180,12 +192,12 @@ class MarketPercentageController extends ThinkController
$sum['develop_type'] = '';
$sum['game_name'] = '';
- $data = array_merge($data,[$sum]);
+ $data = array_merge($data, [$sum]);
- data2csv($data,'市场毛利统计',$title);
+ data2csv($data, '市场毛利统计', $title);
}
- $count = SM("settleup_marketorder","tab_")
+ $count = SM("settleup_marketorder", "tab_")
->field("promote_id,game_name,pay_time,admin_id")
->where($map)
->group("promote_id,game_name,pay_time,admin_id")
@@ -197,39 +209,40 @@ class MarketPercentageController extends ThinkController
if ($page) {
$this->assign('_page', $page);
}
- $this->checkListOrCountAuthRestMap($map,[]);
+ $this->checkListOrCountAuthRestMap($map, []);
- $this->assign("list_data",$data);
+ $this->assign("list_data", $data);
$this->display();
}
- public function indexuncaculate($row = 10, $p = 1){
+ public function indexuncaculate($row = 10, $p = 1)
+ {
$map = [];
// $_REQUEST['pay_time']?($map['pay_time'] = $_REQUEST['pay_time']):'';
- $_REQUEST['promote_id']?($map['promote_id'] = $_REQUEST['promote_id']):'';
- $_REQUEST['relation_game_id']?($map['relation_game_id'] = $_REQUEST['relation_game_id']):'';
- $_REQUEST['sdk_version']?($map['sdk_version'] = $_REQUEST['sdk_version']):'';
- $_REQUEST['admin_id']?($map['admin_id'] = $_REQUEST['admin_id']):'';
- ($_REQUEST['company_id']||$_REQUEST['company_id']=='0')?($map['company_id'] = $_REQUEST['company_id']):'';
+ $_REQUEST['promote_id'] ? ($map['promote_id'] = $_REQUEST['promote_id']) : '';
+ $_REQUEST['relation_game_id'] ? ($map['relation_game_id'] = $_REQUEST['relation_game_id']) : '';
+ $_REQUEST['sdk_version'] ? ($map['sdk_version'] = $_REQUEST['sdk_version']) : '';
+ $_REQUEST['admin_id'] ? ($map['admin_id'] = $_REQUEST['admin_id']) : '';
+ ($_REQUEST['company_id'] || $_REQUEST['company_id'] == '0') ? ($map['company_id'] = $_REQUEST['company_id']) : '';
$admin_id = $_SESSION['onethink_admin']['user_auth']['uid'];
$map['admin_id'] = $admin_id;
$map['is_settlement'] = 0;
- if(is_administrator()||session('user_group_id') == 15||session('user_group_id') == 14||session('user_group_id') == 19||session('user_group_id') == 23) {
+ if (is_administrator() || session('user_group_id') == 15 || session('user_group_id') == 14 || session('user_group_id') == 19 || session('user_group_id') == 23) {
unset($map['admin_id']);
$admin_data = M("member")
->field("access.uid admin_id")
->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']])
+ ->where(['group_id' => ['in', '11,12,21']])
->select();
if ($admin_data) {
- $map['admin_id'] = ['in',array_column($admin_data,'admin_id')];
+ $map['admin_id'] = ['in', array_column($admin_data, 'admin_id')];
}
- $_REQUEST['admin_id']?($map['admin_id'] = $_REQUEST['admin_id']):'';
+ $_REQUEST['admin_id'] ? ($map['admin_id'] = $_REQUEST['admin_id']) : '';
}
$search_date = [];
@@ -242,7 +255,7 @@ class MarketPercentageController extends ThinkController
$date = date('Y-m', strtotime($start . ' + ' . $i . ' month'));
$search_date[] = $date;
$i++;
- }while ($date < date('Y-m', strtotime("{$end}")));
+ } while ($date < date('Y-m', strtotime("{$end}")));
if ($search_date) {
$map['pay_time'] = ['in', $search_date];
@@ -250,14 +263,14 @@ class MarketPercentageController extends ThinkController
} elseif (isset($_REQUEST['time_start'])) {
- $end = date("Y-m",time());
+ $end = date("Y-m", time());
$start = $_REQUEST['time_start'];
$i = 0;
do {
$date = date('Y-m', strtotime($start . ' + ' . $i . ' month'));
$search_date[] = $date;
$i++;
- }while ($date < date('Y-m', strtotime("{$end}")));
+ } while ($date < date('Y-m', strtotime("{$end}")));
if ($search_date) {
$map['pay_time'] = ['in', $search_date];
@@ -272,7 +285,7 @@ class MarketPercentageController extends ThinkController
$date = date('Y-m', strtotime($start . ' + ' . $i . ' month'));
$search_date[] = $date;
$i++;
- }while ($date < date('Y-m', strtotime("{$end}")));
+ } while ($date < date('Y-m', strtotime("{$end}")));
if ($search_date) {
$map['pay_time'] = ['in', $search_date];
@@ -281,7 +294,7 @@ class MarketPercentageController extends ThinkController
// dump($map);die();
// var_dump($map);die();
- $data = M("settleup_marketorder","tab_")
+ $data = M("settleup_marketorder", "tab_")
->field("pay_time,promote_account,company_name,company_belong,member.real_name,develop_type,game_name,
sum(pay_amount) pay_amount,sum(cp_amount) cp_amount,sum(promote_amount) promote_amount,
sum(channel_amount) channel_amount, sum(company_tax) company_tax,sum(company_profit) company_profit")
@@ -300,14 +313,14 @@ class MarketPercentageController extends ThinkController
->select();
}
- $sum = M("settleup_marketorder","tab_")
+ $sum = M("settleup_marketorder", "tab_")
->field("pay_time,promote_account,company_belong,real_name,develop_type,game_name,
sum(pay_amount) pay_amount,sum(cp_amount) cp_amount,sum(promote_amount) promote_amount,
sum(channel_amount) channel_amount, sum(company_tax) company_tax,sum(company_profit) company_profit")
->where($map)
->find();
- $this->assign("sum",$sum);
+ $this->assign("sum", $sum);
foreach ($data as $key => $value) {
@@ -335,7 +348,7 @@ class MarketPercentageController extends ThinkController
if ($_REQUEST['export']) {
$title = ['pay_time' => '时间',
- 'company_name'=>'公司名称',
+ 'company_name' => '公司名称',
'promote_account' => '会长账号',
'company_belong' => '内外团',
'real_name' => '所属市场专员',
@@ -349,7 +362,7 @@ class MarketPercentageController extends ThinkController
'company_profit' => '税后毛利额'];
foreach ($data as $key => $value) {
- $data[$key]['pay_time'] = '`'.$data[$key]['pay_time'];
+ $data[$key]['pay_time'] = '`' . $data[$key]['pay_time'];
}
$sum['pay_time'] = '';
@@ -359,12 +372,12 @@ class MarketPercentageController extends ThinkController
$sum['develop_type'] = '';
$sum['game_name'] = '';
- $data = array_merge($data,[$sum]);
+ $data = array_merge($data, [$sum]);
- data2csv($data,'市场毛利统计(不结算)',$title);
+ data2csv($data, '市场毛利统计(不结算)', $title);
}
- $count = M("settleup_marketorder","tab_")
+ $count = M("settleup_marketorder", "tab_")
->where($map)
->group("promote_id,game_name,pay_time,admin_id")
->select(false);
@@ -375,17 +388,18 @@ class MarketPercentageController extends ThinkController
if ($page) {
$this->assign('_page', $page);
}
- $this->checkListOrCountAuthRestMap($map,[]);
+ $this->checkListOrCountAuthRestMap($map, []);
- $this->assign("list_data",$data);
+ $this->assign("list_data", $data);
$this->display();
}
- public function addcoefficient() {
+ public function addcoefficient()
+ {
- $batch = date('Ymd').date('His').sp_random_num(3);
- $this->assign("batch",$batch);
+ $batch = date('Ymd') . date('His') . sp_random_num(3);
+ $this->assign("batch", $batch);
$this->meta_title = 'EXCEL导入';
$this->display();
@@ -398,12 +412,12 @@ class MarketPercentageController extends ThinkController
// $batch = $p['batch'];
$checkarr = $p['checkarr'];
//循环获取添加
- if(count($checkarr) < 1){
- $this->ajaxReturn(["status"=>1,"msg"=>"ok"]);
+ if (count($checkarr) < 1) {
+ $this->ajaxReturn(["status" => 1, "msg" => "ok"]);
}
$data = M("auth_group")
- ->where(['title'=>['like','%市场专员%']])
+ ->where(['title' => ['like', '%市场专员%']])
->select(false);
$member = M("auth_group_access")
@@ -415,46 +429,46 @@ class MarketPercentageController extends ThinkController
$handle_member = [];
- foreach($member as $key => $value) {
+ foreach ($member as $key => $value) {
$handle_member[$value['real_name']] = $value;
}
$save = [];
- $coefficient = M('coefficient',"tab_");
+ $coefficient = M('coefficient', "tab_");
foreach ($checkarr as $k => $v) {
- if(!strtotime($v['pay_time'])) {
- $this->ajaxReturn(["status"=>0,"msg"=>"导入失败,序号{$v['sort']}行日期格式错误"]);
+ if (!strtotime($v['pay_time'])) {
+ $this->ajaxReturn(["status" => 0, "msg" => "导入失败,序号{$v['sort']}行日期格式错误"]);
}
if ($handle_member[$v['nickname']]) {
- if ($save[$v['nickname'].$v['pay_time']]) {
- $this->ajaxReturn(["status"=>0,"msg"=>"导入失败,序号{$v['sort']}行存在重复记录"]);
+ if ($save[$v['nickname'] . $v['pay_time']]) {
+ $this->ajaxReturn(["status" => 0, "msg" => "导入失败,序号{$v['sort']}行存在重复记录"]);
}
$hav_coefficient = $coefficient
- ->where(['admin_id'=>$handle_member[$v['nickname']]['uid'],'pay_time'=>$v['pay_time']])
+ ->where(['admin_id' => $handle_member[$v['nickname']]['uid'], 'pay_time' => $v['pay_time']])
->find();
if ($hav_coefficient) {
- $this->ajaxReturn(["status"=>0,"msg"=>"导入失败,日期{$v['pay_time']}市场员{$handle_member[$v['nickname']]['real_name']}已经存在,请勿重复导入"]);
+ $this->ajaxReturn(["status" => 0, "msg" => "导入失败,日期{$v['pay_time']}市场员{$handle_member[$v['nickname']]['real_name']}已经存在,请勿重复导入"]);
}
- $save[$v['nickname'].$v['pay_time']]['pay_time'] = $v['pay_time'];
- $save[$v['nickname'].$v['pay_time']]['real_name'] = $handle_member[$v['nickname']]['real_name'];
- $save[$v['nickname'].$v['pay_time']]['admin_id'] = $handle_member[$v['nickname']]['uid'];
- $save[$v['nickname'].$v['pay_time']]['nickname'] = $handle_member[$v['nickname']]['nickname'];
- $save[$v['nickname'].$v['pay_time']]['coefficient'] = $v['coefficient']*100;
+ $save[$v['nickname'] . $v['pay_time']]['pay_time'] = $v['pay_time'];
+ $save[$v['nickname'] . $v['pay_time']]['real_name'] = $handle_member[$v['nickname']]['real_name'];
+ $save[$v['nickname'] . $v['pay_time']]['admin_id'] = $handle_member[$v['nickname']]['uid'];
+ $save[$v['nickname'] . $v['pay_time']]['nickname'] = $handle_member[$v['nickname']]['nickname'];
+ $save[$v['nickname'] . $v['pay_time']]['coefficient'] = $v['coefficient'] * 100;
if ($v['coefficient'] > 1) {
- $this->ajaxReturn(["status"=>0,"msg"=>"导入失败,序号{$v['sort']}行系数错误,系数超过最大值1"]);
+ $this->ajaxReturn(["status" => 0, "msg" => "导入失败,序号{$v['sort']}行系数错误,系数超过最大值1"]);
}
} else {
- $this->ajaxReturn(["status"=>0,"msg"=>"导入失败,导入的市场员{$v['nickname']}不存在"]);
+ $this->ajaxReturn(["status" => 0, "msg" => "导入失败,导入的市场员{$v['nickname']}不存在"]);
}
}
@@ -462,87 +476,87 @@ class MarketPercentageController extends ThinkController
$save = array_values($save);
if ($coefficient->addAll($save)) {
- $this->ajaxReturn(["status"=>1,"msg"=>"导入成功"]);
+ $this->ajaxReturn(["status" => 1, "msg" => "导入成功"]);
}
}
- public function coefficientSave() {
+ public function coefficientSave()
+ {
- $pay_time =date('Y-m',strtotime(date('Y',time()).'-'.(date('m',time())-1).'-01'));
+ $pay_time = date('Y-m', strtotime(date('Y', time()) . '-' . (date('m', time()) - 1) . '-01'));
if ($_REQUEST['is_get']) {
unset($_GET['is_get']);
$data = $_GET;
- $if_coefficientSave = M("market_altogether","tab_")
+ $if_coefficientSave = M("market_altogether", "tab_")
->where([
- 'pay_time'=>$pay_time,
- 'market_check'=>1
+ 'pay_time' => $pay_time,
+ 'market_check' => 1
])
->find();
if ($if_coefficientSave) {
- $this->ajaxReturn(['status'=>0,'msg'=>"市场部已确认,绩效系数再不可修改"]);
+ $this->ajaxReturn(['status' => 0, 'msg' => "市场部已确认,绩效系数再不可修改"]);
}
$admin = $_SESSION['onethink_admin']['user_auth']['username'];
- $coefficient_check_detail = "已审批({$admin})
".date("Y-m-d H:i:s",time());
+ $coefficient_check_detail = "已审批({$admin})
" . date("Y-m-d H:i:s", time());
$marketSave['coefficient_check'] = 1;
$marketSave['coefficient_check_detail'] = $coefficient_check_detail;
foreach ($data as $key => $value) {
//解析键值信息
- $info = explode('-',$key);
+ $info = explode('-', $key);
$save['nickname'] = $info[0];
$save['admin_id'] = $info[1];
$save['real_name'] = $info[2];
- $save['coefficient'] = $value*100;
+ $save['coefficient'] = $value * 100;
$save['pay_time'] = $pay_time;
- $is_hav = M("coefficient","tab_")
+ $is_hav = M("coefficient", "tab_")
->where([
- 'pay_time'=>$save['pay_time'],
- 'admin_id'=>$save['admin_id']
+ 'pay_time' => $save['pay_time'],
+ 'admin_id' => $save['admin_id']
])
->find();
if ($is_hav) {
if ($is_hav['coefficient'] != $save['coefficient']) {
$save['update_time'] = time();
- M("coefficient","tab_")
+ M("coefficient", "tab_")
->where([
- 'pay_time'=>$save['pay_time'],
- 'admin_id'=>$save['admin_id']
- ])->save(['coefficient'=>$save['coefficient']]);
+ 'pay_time' => $save['pay_time'],
+ 'admin_id' => $save['admin_id']
+ ])->save(['coefficient' => $save['coefficient']]);
}
- M("market_altogether","tab_")->where([
- 'pay_time'=>$save['pay_time'],
- 'admin_id'=>$save['admin_id']
+ M("market_altogether", "tab_")->where([
+ 'pay_time' => $save['pay_time'],
+ 'admin_id' => $save['admin_id']
])->save($marketSave);
-
} else {
$save['create_time'] = time();
- M("coefficient","tab_")->add($save);
- M("market_altogether","tab_")->where([
- 'pay_time'=>$save['pay_time'],
- 'admin_id'=>$save['admin_id']
+ M("coefficient", "tab_")->add($save);
+ M("market_altogether", "tab_")->where([
+ 'pay_time' => $save['pay_time'],
+ 'admin_id' => $save['admin_id']
])->save($marketSave);
}
}
- $this->ajaxReturn(['status'=>1,'msg'=>"绩效系数编辑成功"]);
+ $this->ajaxReturn(['status' => 1, 'msg' => "绩效系数编辑成功"]);
} else {
$data = M("auth_group")
- ->where(['title'=>['like','%市场专员%']])
+ ->where(['title' => ['like', '%市场专员%']])
->select(false);
$data = M("auth_group_access")
@@ -553,53 +567,54 @@ class MarketPercentageController extends ThinkController
->where("auth.title is not null")
->select();
- $this->assign('list_data',$data);
+ $this->assign('list_data', $data);
$this->display("coefficient");
}
}
- public function marketStaffSettle($row = 10, $p = 1) {
+ public function marketStaffSettle($row = 10, $p = 1)
+ {
$map = [];
- $map['group_id'] = ['in','11,12,21'];
+ $map['group_id'] = ['in', '11,12,21'];
//获取权限
$marketPercentage = M("auth_group")->where($map)->getField("id,market_percentage");
// $_REQUEST['pay_time']?($map['pay_time'] = $_REQUEST['pay_time']):'';
- $_REQUEST['admin_id']?($map['admin_id'] = $_REQUEST['admin_id']):'';
- $_REQUEST['group_id']?($map['level'] = $_REQUEST['group_id']):'';
+ $_REQUEST['admin_id'] ? ($map['admin_id'] = $_REQUEST['admin_id']) : '';
+ $_REQUEST['group_id'] ? ($map['level'] = $_REQUEST['group_id']) : '';
$admin_id = $_SESSION['onethink_admin']['user_auth']['uid'];
$map['admin_id'] = $admin_id;
- if(is_administrator()||session('user_group_id') == 15||session('user_group_id') == 14||session('user_group_id') == 19||session('user_group_id') == 23) {
+ if (is_administrator() || session('user_group_id') == 15 || session('user_group_id') == 14 || session('user_group_id') == 19 || session('user_group_id') == 23) {
unset($map['admin_id']);
- $markerData = M("ucenter_member")->field("id")->where(['work_status'=>1])->select();
-
- if ($markerData) {
- $admin_map['sys_member.uid'] = ['not in',array_column($markerData,'id')];
- }
+// $markerData = M("ucenter_member")->field("id")->where(['work_status' => 1])->select();
+//
+// if ($markerData) {
+// $admin_map['sys_member.uid'] = ['not in', array_column($markerData, 'id')];
+// }
$admin_data = M("member")
->field("access.uid admin_id")
->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']])
- ->where($admin_map)
+ ->where(['group_id' => ['in', '11,12,21']])
+// ->where($admin_map)
->select();
if ($admin_data) {
- $map['admin_id'] = ['in',array_column($admin_data,'admin_id')];
- }
- if (!in_array($_REQUEST['admin_id'],array_column($markerData,'id'))) {
- $_REQUEST['admin_id']?($map['admin_id'] = $_REQUEST['admin_id']):'';
- } else {
- $this->display("marketstaffsettle");
- die();
+ $map['admin_id'] = ['in', array_column($admin_data, 'admin_id')];
}
+// if (!in_array($_REQUEST['admin_id'], array_column($markerData, 'id'))) {
+ $_REQUEST['admin_id'] ? ($map['admin_id'] = $_REQUEST['admin_id']) : '';
+// } else {
+// $this->display("marketstaffsettle");
+// die();
+// }
}
@@ -613,7 +628,7 @@ class MarketPercentageController extends ThinkController
$date = date('Y-m', strtotime($start . ' + ' . $i . ' month'));
$search_date[] = $date;
$i++;
- }while ($date < date('Y-m', strtotime("{$end}")));
+ } while ($date < date('Y-m', strtotime("{$end}")));
if ($search_date) {
$map['pay_time'] = ['in', $search_date];
@@ -621,14 +636,14 @@ class MarketPercentageController extends ThinkController
} elseif (isset($_REQUEST['time_start'])) {
- $end = date("Y-m",time());
+ $end = date("Y-m", time());
$start = $_REQUEST['time_start'];
$i = 0;
do {
$date = date('Y-m', strtotime($start . ' + ' . $i . ' month'));
$search_date[] = $date;
$i++;
- }while ($date < date('Y-m', strtotime("{$end}")));
+ } while ($date < date('Y-m', strtotime("{$end}")));
if ($search_date) {
$map['pay_time'] = ['in', $search_date];
@@ -643,20 +658,20 @@ class MarketPercentageController extends ThinkController
$date = date('Y-m', strtotime($start . ' + ' . $i . ' month'));
$search_date[] = $date;
$i++;
- }while ($date < date('Y-m', strtotime("{$end}")));
+ } while ($date < date('Y-m', strtotime("{$end}")));
if ($search_date) {
$map['pay_time'] = ['in', $search_date];
}
}
- $_REQUEST['time_start']?($start_time = date("Y-m-1",strtotime($_REQUEST['time_start']))):'';
- $_REQUEST['time_end']?($end_time = date("Y-m-t",strtotime($_REQUEST['time_end']))):'';
+ $_REQUEST['time_start'] ? ($start_time = date("Y-m-1", strtotime($_REQUEST['time_start']))) : '';
+ $_REQUEST['time_end'] ? ($end_time = date("Y-m-t", strtotime($_REQUEST['time_end']))) : '';
- $this->assign('start_time',$start_time);
- $this->assign('end_time',$end_time);
+ $this->assign('start_time', $start_time);
+ $this->assign('end_time', $end_time);
- $data = SM("market_altogether","tab_")
+ $data = SM("market_altogether", "tab_")
->where($map);
@@ -673,7 +688,7 @@ class MarketPercentageController extends ThinkController
->select();
}
- $count = SM("market_altogether","tab_")
+ $count = SM("market_altogether", "tab_")
->where($map)
->count();
@@ -681,32 +696,32 @@ class MarketPercentageController extends ThinkController
if ($page) {
$this->assign('_page', $page);
}
- $this->checkListOrCountAuthRestMap($map,[]);
+ $this->checkListOrCountAuthRestMap($map, []);
- if(IS_ROOT){
- $this->assign('coefficient_check',true);
- $this->assign('market_check',true);
- $this->assign('finance_check',true);
- $this->assign('coefficient_in_check',true);
- }else {
+ if (IS_ROOT) {
+ $this->assign('coefficient_check', true);
+ $this->assign('market_check', true);
+ $this->assign('finance_check', true);
+ $this->assign('coefficient_in_check', true);
+ } else {
$exportRule = strtolower(MODULE_NAME . '/' . CONTROLLER_NAME . '/' . ACTION_NAME . "_coefficient_check");
- $this->assign('coefficient_check',$this->checkRule($exportRule,array('in','1,2')));
+ $this->assign('coefficient_check', $this->checkRule($exportRule, array('in', '1,2')));
$exportRule = strtolower(MODULE_NAME . '/' . CONTROLLER_NAME . '/' . ACTION_NAME . "_market_check");
- $this->assign('market_check',$this->checkRule($exportRule,array('in','1,2')));
+ $this->assign('market_check', $this->checkRule($exportRule, array('in', '1,2')));
$exportRule = strtolower(MODULE_NAME . '/' . CONTROLLER_NAME . '/' . ACTION_NAME . "_finance_check");
- $this->assign('finance_check',$this->checkRule($exportRule,array('in','1,2')));
+ $this->assign('finance_check', $this->checkRule($exportRule, array('in', '1,2')));
$exportRule = strtolower(MODULE_NAME . '/' . CONTROLLER_NAME . '/' . ACTION_NAME . "_coefficient_in_check");
- $this->assign('coefficient_in_check',$this->checkRule($exportRule,array('in','1,2')));
+ $this->assign('coefficient_in_check', $this->checkRule($exportRule, array('in', '1,2')));
}
- $all_data = SM("market_altogether","tab_")
+ $all_data = SM("market_altogether", "tab_")
// ->where($map)
->select();
$wait_amount = [];
foreach ($all_data as $key => $value) {
- $wait_amount[$value['admin_id'].$value['pay_time'].'performance_commission'] = $value['wait_performance_commission'];
- $wait_amount[$value['admin_id'].$value['pay_time'].'achievement_bonus'] = $value['wait_achievement_commission'] * ($this->coefficient[$value['pay_time']][$value['admin_id']]?$this->coefficient[$value['pay_time']][$value['admin_id']]:1);
+ $wait_amount[$value['admin_id'] . $value['pay_time'] . 'performance_commission'] = $value['wait_performance_commission'];
+ $wait_amount[$value['admin_id'] . $value['pay_time'] . 'achievement_bonus'] = $value['wait_achievement_commission'] * ($this->coefficient[$value['pay_time']][$value['admin_id']] ? $this->coefficient[$value['pay_time']][$value['admin_id']] : 1);
}
@@ -721,21 +736,27 @@ class MarketPercentageController extends ThinkController
foreach ($data as $key => $value) {
$level = $value['level'];
- if(isset($marketPercentage[$level])){
+ if (isset($marketPercentage[$level])) {
$value['market_percentage'] = $marketPercentage[$level];
}
$Rule = strtolower(MODULE_NAME . '/' . CONTROLLER_NAME . '/' . ACTION_NAME . "_export_show_check");
- if ($_REQUEST['export'] && $this->checkRule($Rule,array('in','1,2'))) {
+ if ($_REQUEST['export'] && $this->checkRule($Rule, array('in', '1,2'))) {
if (!$value['market_check'] || !$value['finance_check']) {
unset($data[$key]);
continue;
}
}
+// dump($this->leavePercentage->isSettlement($value['pay_time'],$value['admin_id']));
+ //离职结算判断
+ !($this->leavePercentage->isSettlement($value['pay_time'],$value['admin_id']))?$data[$key]['achievement_bonus']=0:'';
+ if ($this->unSettlementList[$value['admin_id']]&&date("Y-m",$this->unSettlementList[$value['admin_id']])<=$value['pay_time']) {
+ $data[$key]['leave_time'] = date("Y-m-d",$this->unSettlementList[$value['admin_id']]);
+ }
- $data[$key]['start_time'] = date("Y-m-1",strtotime($value['pay_time']));
- $data[$key]['end_time'] = date("Y-m-t",strtotime($value['pay_time']));
+ $data[$key]['start_time'] = date("Y-m-1", strtotime($value['pay_time']));
+ $data[$key]['end_time'] = date("Y-m-t", strtotime($value['pay_time']));
if ($value['level'] == 21) {
$data[$key]['level'] = '初级';
@@ -745,7 +766,7 @@ class MarketPercentageController extends ThinkController
$data[$key]['level'] = '高级';
}
- if(!$value['market_check']) {
+ if (!$value['market_check']) {
$data[$key]['market_check_detail'] = "-----";
}
@@ -758,12 +779,12 @@ class MarketPercentageController extends ThinkController
}
if ($_REQUEST['export']) {
- $data[$key]['market_check_detail'] = str_replace("
",'',$data[$key]['market_check_detail']);
- $data[$key]['finance_check_detail'] = str_replace("
",'',$data[$key]['finance_check_detail']);
- $data[$key]['coefficient_check_detail'] = str_replace("
",'',$data[$key]['coefficient_check_detail']);
+ $data[$key]['market_check_detail'] = str_replace("
", '', $data[$key]['market_check_detail']);
+ $data[$key]['finance_check_detail'] = str_replace("
", '', $data[$key]['finance_check_detail']);
+ $data[$key]['coefficient_check_detail'] = str_replace("
", '', $data[$key]['coefficient_check_detail']);
}
- $market_percentage = json_decode($value['market_percentage'],true);
+ $market_percentage = json_decode($value['market_percentage'], true);
//开发业绩提成比例
$data[$key]['develop_commission_ratio'] = $market_percentage['develop_commission_ratio'];
//维护业绩提成比例
@@ -773,24 +794,24 @@ class MarketPercentageController extends ThinkController
//维护奖金考核比例
$data[$key]['maintain_appraisal_bonuses_ratio'] = $market_percentage['maintain_appraisal_bonuses_ratio'];
- $data[$key]['coefficient'] = $this->coefficient[$value['pay_time']][$value['admin_id']]?$this->coefficient[$value['pay_time']][$value['admin_id']]:1;
+ $data[$key]['coefficient'] = $this->coefficient[$value['pay_time']][$value['admin_id']] ? $this->coefficient[$value['pay_time']][$value['admin_id']] : 1;
- $month = date("m",strtotime($value['pay_time']));
- $yes = date("Y",strtotime($value['pay_time']));
+ $month = date("m", strtotime($value['pay_time']));
+ $yes = date("Y", strtotime($value['pay_time']));
$achievement_bonus = number_format($data[$key]['achievement_bonus'], 2, '.', '');
//绩效系数计算
- $data[$key]['achievement_bonus'] = number_format($data[$key]['achievement_bonus'] * ($this->coefficient[$value['pay_time']][$value['admin_id']]?$this->coefficient[$value['pay_time']][$value['admin_id']]:1), 2, '.', '');
+ $data[$key]['achievement_bonus'] = number_format($data[$key]['achievement_bonus'] * ($this->coefficient[$value['pay_time']][$value['admin_id']] ? $this->coefficient[$value['pay_time']][$value['admin_id']] : 1), 2, '.', '');
$data[$key]['commission'] = number_format($data[$key]['performance_commission'] + $data[$key]['achievement_bonus'], 2, '.', '');
- $data[$key]['wait_commission'] = number_format($value['wait_performance_commission'] + $value['wait_achievement_commission']*($this->coefficient[$value['pay_time']][$value['admin_id']]?$this->coefficient[$value['pay_time']][$value['admin_id']]:1), 2, '.', '');
+ $data[$key]['wait_commission'] = number_format($value['wait_performance_commission'] + $value['wait_achievement_commission'] * ($this->coefficient[$value['pay_time']][$value['admin_id']] ? $this->coefficient[$value['pay_time']][$value['admin_id']] : 1), 2, '.', '');
$data[$key]['extend_commission'] = $data[$key]['commission'] - $data[$key]['wait_commission'];
// dump($data[$key]['commission']);
//两个起提流水都没达到时,不展示税后毛利
$sum_amount = $value['performance_revenue'] + $value['appraisal_bonuses'];
- if ($sum_amount<$market_percentage['performance_revenue']&&$sum_amount<$market_percentage['appraisal_bonuses']) {
+ if ($sum_amount < $market_percentage['performance_revenue'] && $sum_amount < $market_percentage['appraisal_bonuses']) {
$data[$key]['company_profit'] = "0.00";
$value['company_profit'] = "0.00";
}
@@ -798,71 +819,70 @@ class MarketPercentageController extends ThinkController
if ($market_percentage['time'] == 1) {
if ($month == '07') {
- $data[$key]['extend_commission'] += $wait_amount[$value['admin_id'].$yes.'-'.'01'.'performance_commission'] + $wait_amount[$value['admin_id'].$yes.'-'.'02'.'performance_commission'] + $wait_amount[$value['admin_id'].$yes.'-'.'03'.'performance_commission'];
+ $data[$key]['extend_commission'] += $wait_amount[$value['admin_id'] . $yes . '-' . '01' . 'performance_commission'] + $wait_amount[$value['admin_id'] . $yes . '-' . '02' . 'performance_commission'] + $wait_amount[$value['admin_id'] . $yes . '-' . '03' . 'performance_commission'];
// $data[$key]['wait_commission'] += $wait_amount[$value['admin_id'].$yes.'-'.'04'.'performance_commission'] + $wait_amount[$value['admin_id'].$yes.'-'.'05'.'performance_commission'] + $wait_amount[$value['admin_id'].$yes.'-'.'06'.'performance_commission'];
- } elseif($month == '10') {
- $data[$key]['extend_commission'] += $wait_amount[$value['admin_id'].$yes.'-'.'04'.'performance_commission'] + $wait_amount[$value['admin_id'].$yes.'-'.'05'.'performance_commission'] + $wait_amount[$value['admin_id'].$yes.'-'.'06'.'performance_commission'];
+ } elseif ($month == '10') {
+ $data[$key]['extend_commission'] += $wait_amount[$value['admin_id'] . $yes . '-' . '04' . 'performance_commission'] + $wait_amount[$value['admin_id'] . $yes . '-' . '05' . 'performance_commission'] + $wait_amount[$value['admin_id'] . $yes . '-' . '06' . 'performance_commission'];
// $data[$key]['wait_commission'] += $wait_amount[$value['admin_id'].$yes.'-'.'07'.'performance_commission'] + $wait_amount[$value['admin_id'].$yes.'-'.'08'.'performance_commission'] + $wait_amount[$value['admin_id'].$yes.'-'.'09'.'performance_commission'];
- } elseif($month == '04') {
- $data[$key]['extend_commission'] += $wait_amount[$value['admin_id'].($yes-1).'-'.'10'.'performance_commission'] + $wait_amount[$value['admin_id'].($yes-1).'-'.'11'.'performance_commission'] + $wait_amount[$value['admin_id'].($yes-1).'-'.'12'.'performance_commission'];
+ } elseif ($month == '04') {
+ $data[$key]['extend_commission'] += $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '10' . 'performance_commission'] + $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '11' . 'performance_commission'] + $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '12' . 'performance_commission'];
// $data[$key]['wait_commission'] += $wait_amount[$value['admin_id'].$yes.'-'.'01'.'performance_commission'] + $wait_amount[$value['admin_id'].$yes.'-'.'02'.'performance_commission'] + $wait_amount[$value['admin_id'].$yes.'-'.'03'.'performance_commission'];
- } elseif($month == '01') {
- $data[$key]['extend_commission'] += $wait_amount[$value['admin_id'].($yes-1).'-'.'07'.'performance_commission'] + $wait_amount[$value['admin_id'].($yes-1).'-'.'08'.'performance_commission'] + $wait_amount[$value['admin_id'].($yes-1).'-'.'09'.'performance_commission'];
+ } elseif ($month == '01') {
+ $data[$key]['extend_commission'] += $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '07' . 'performance_commission'] + $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '08' . 'performance_commission'] + $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '09' . 'performance_commission'];
// $data[$key]['wait_commission'] += $wait_amount[$value['admin_id'].($yes-1).'-'.'10'.'performance_commission'] + $wait_amount[$value['admin_id'].($yes-1).'-'.'11'.'performance_commission'] + $wait_amount[$value['admin_id'].($yes-1).'-'.'12'.'performance_commission'];
}
- } elseif($market_percentage['time'] == 2) {
+ } elseif ($market_percentage['time'] == 2) {
if ($month == '07') {
- $data[$key]['extend_commission'] += $wait_amount[$value['admin_id'].$yes.'-'.'01'.'performance_commission'] + $wait_amount[$value['admin_id'].$yes.'-'.'02'.'performance_commission'] + $wait_amount[$value['admin_id'].$yes.'-'.'03'.'performance_commission'] +
- $wait_amount[$value['admin_id'].$yes.'-'.'04'.'performance_commission'] + $wait_amount[$value['admin_id'].$yes.'-'.'05'.'performance_commission'] + $wait_amount[$value['admin_id'].$yes.'-'.'06'.'performance_commission'];
- } elseif($month == '01') {
- $data[$key]['extend_commission'] += $wait_amount[$value['admin_id'].($yes-1).'-'.'07'.'performance_commission'] + $wait_amount[$value['admin_id'].($yes-1).'-'.'08'.'performance_commission'] + $wait_amount[$value['admin_id'].($yes-1).'-'.'09'.'performance_commission'] +
- $wait_amount[$value['admin_id'].($yes-1).'-'.'10'.'performance_commission'] + $wait_amount[$value['admin_id'].($yes-1).'-'.'11'.'performance_commission'] + $wait_amount[$value['admin_id'].($yes-1).'-'.'12'.'performance_commission'];
+ $data[$key]['extend_commission'] += $wait_amount[$value['admin_id'] . $yes . '-' . '01' . 'performance_commission'] + $wait_amount[$value['admin_id'] . $yes . '-' . '02' . 'performance_commission'] + $wait_amount[$value['admin_id'] . $yes . '-' . '03' . 'performance_commission'] +
+ $wait_amount[$value['admin_id'] . $yes . '-' . '04' . 'performance_commission'] + $wait_amount[$value['admin_id'] . $yes . '-' . '05' . 'performance_commission'] + $wait_amount[$value['admin_id'] . $yes . '-' . '06' . 'performance_commission'];
+ } elseif ($month == '01') {
+ $data[$key]['extend_commission'] += $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '07' . 'performance_commission'] + $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '08' . 'performance_commission'] + $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '09' . 'performance_commission'] +
+ $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '10' . 'performance_commission'] + $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '11' . 'performance_commission'] + $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '12' . 'performance_commission'];
}
- } elseif($market_percentage['time'] == 3) {
+ } elseif ($market_percentage['time'] == 3) {
if ($month == '01') {
- $data[$key]['extend_commission'] += $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '01'.'performance_commission'] + $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '02'.'performance_commission'] + $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '03'.'performance_commission'] +
- $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '04'.'performance_commission'] + $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '05'.'performance_commission'] + $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '06'.'performance_commission'] +
- $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '07'.'performance_commission'] + $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '08'.'performance_commission'] + $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '09'.'performance_commission'] +
- $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '10'.'performance_commission'] + $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '11'.'performance_commission'] + $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '12'.'performance_commission'];
+ $data[$key]['extend_commission'] += $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '01' . 'performance_commission'] + $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '02' . 'performance_commission'] + $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '03' . 'performance_commission'] +
+ $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '04' . 'performance_commission'] + $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '05' . 'performance_commission'] + $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '06' . 'performance_commission'] +
+ $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '07' . 'performance_commission'] + $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '08' . 'performance_commission'] + $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '09' . 'performance_commission'] +
+ $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '10' . 'performance_commission'] + $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '11' . 'performance_commission'] + $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '12' . 'performance_commission'];
}
} else {
- $data[$key]['extend_commission'] += $wait_amount[$value['admin_id'] .date("Y-m",strtotime("last month",strtotime($value['pay_time']))).'performance_commission'];
+ $data[$key]['extend_commission'] += $wait_amount[$value['admin_id'] . date("Y-m", strtotime("last month", strtotime($value['pay_time']))) . 'performance_commission'];
}
if ($market_percentage['remain_time'] == 1) {
if ($month == '07') {
- $data[$key]['extend_commission'] += $wait_amount[$value['admin_id'].$yes.'-'.'01'.'achievement_bonus'] + $wait_amount[$value['admin_id'].$yes.'-'.'02'.'achievement_bonus'] + $wait_amount[$value['admin_id'].$yes.'-'.'03'.'achievement_bonus'];
+ $data[$key]['extend_commission'] += $wait_amount[$value['admin_id'] . $yes . '-' . '01' . 'achievement_bonus'] + $wait_amount[$value['admin_id'] . $yes . '-' . '02' . 'achievement_bonus'] + $wait_amount[$value['admin_id'] . $yes . '-' . '03' . 'achievement_bonus'];
// $data[$key]['wait_commission'] += $wait_amount[$value['admin_id'].$yes.'-'.'04'.'achievement_bonus'] + $wait_amount[$value['admin_id'].$yes.'-'.'05'.'achievement_bonus'] + $wait_amount[$value['admin_id'].$yes.'-'.'06'.'achievement_bonus'];
// dump($data[$key]['extend_commission']);die();
- } elseif($month == '10') {
- $data[$key]['extend_commission'] += $wait_amount[$value['admin_id'].$yes.'-'.'04'.'achievement_bonus'] + $wait_amount[$value['admin_id'].$yes.'-'.'05'.'achievement_bonus'] + $wait_amount[$value['admin_id'].$yes.'-'.'06'.'achievement_bonus'];
+ } elseif ($month == '10') {
+ $data[$key]['extend_commission'] += $wait_amount[$value['admin_id'] . $yes . '-' . '04' . 'achievement_bonus'] + $wait_amount[$value['admin_id'] . $yes . '-' . '05' . 'achievement_bonus'] + $wait_amount[$value['admin_id'] . $yes . '-' . '06' . 'achievement_bonus'];
// $data[$key]['wait_commission'] += $wait_amount[$value['admin_id'].$yes.'-'.'07'.'achievement_bonus'] + $wait_amount[$value['admin_id'].$yes.'-'.'08'.'achievement_bonus'] + $wait_amount[$value['admin_id'].$yes.'-'.'09'.'achievement_bonus'];
- } elseif($month == '04') {
- $data[$key]['extend_commission'] += $wait_amount[$value['admin_id'].($yes-1).'-'.'10'.'achievement_bonus'] + $wait_amount[$value['admin_id'].($yes-1).'-'.'11'.'achievement_bonus'] + $wait_amount[$value['admin_id'].($yes-1).'-'.'12'.'achievement_bonus'];
+ } elseif ($month == '04') {
+ $data[$key]['extend_commission'] += $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '10' . 'achievement_bonus'] + $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '11' . 'achievement_bonus'] + $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '12' . 'achievement_bonus'];
// $data[$key]['wait_commission'] += $wait_amount[$value['admin_id'].$yes.'-'.'01'.'achievement_bonus'] + $wait_amount[$value['admin_id'].$yes.'-'.'02'.'achievement_bonus'] + $wait_amount[$value['admin_id'].$yes.'-'.'03'.'achievement_bonus'];
- }
- elseif($month == '01') {
- $data[$key]['extend_commission'] += $wait_amount[$value['admin_id'].($yes-1).'-'.'07'.'achievement_bonus'] + $wait_amount[$value['admin_id'].($yes-1).'-'.'08'.'achievement_bonus'] + $wait_amount[$value['admin_id'].($yes-1).'-'.'09'.'achievement_bonus'];
+ } elseif ($month == '01') {
+ $data[$key]['extend_commission'] += $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '07' . 'achievement_bonus'] + $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '08' . 'achievement_bonus'] + $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '09' . 'achievement_bonus'];
// $data[$key]['wait_commission'] += $wait_amount[$value['admin_id'].($yes-1).'-'.'10'.'achievement_bonus'] + $wait_amount[$value['admin_id'].($yes-1).'-'.'11'.'achievement_bonus'] + $wait_amount[$value['admin_id'].($yes-1).'-'.'12'.'achievement_bonus'];
}
- } elseif($market_percentage['remain_time'] == 2) {
+ } elseif ($market_percentage['remain_time'] == 2) {
if ($month == '07') {
- $data[$key]['extend_commission'] += $wait_amount[$value['admin_id'].$yes.'-'.'01'.'achievement_bonus'] + $wait_amount[$value['admin_id'].$yes.'-'.'02'.'achievement_bonus'] + $wait_amount[$value['admin_id'].$yes.'-'.'03'.'achievement_bonus'] +
- $wait_amount[$value['admin_id'].$yes.'-'.'04'.'achievement_bonus'] + $wait_amount[$value['admin_id'].$yes.'-'.'05'.'achievement_bonus'] + $wait_amount[$value['admin_id'].$yes.'-'.'06'.'achievement_bonus'];
- } elseif($month == '01') {
- $data[$key]['extend_commission'] += $wait_amount[$value['admin_id'].($yes-1).'-'.'07'.'achievement_bonus'] + $wait_amount[$value['admin_id'].($yes-1).'-'.'08'.'achievement_bonus'] + $wait_amount[$value['admin_id'].($yes-1).'-'.'09'.'achievement_bonus'] +
- $wait_amount[$value['admin_id'].($yes-1).'-'.'10'.'achievement_bonus'] + $wait_amount[$value['admin_id'].($yes-1).'-'.'11'.'achievement_bonus'] + $wait_amount[$value['admin_id'].($yes-1).'-'.'12'.'achievement_bonus'];
+ $data[$key]['extend_commission'] += $wait_amount[$value['admin_id'] . $yes . '-' . '01' . 'achievement_bonus'] + $wait_amount[$value['admin_id'] . $yes . '-' . '02' . 'achievement_bonus'] + $wait_amount[$value['admin_id'] . $yes . '-' . '03' . 'achievement_bonus'] +
+ $wait_amount[$value['admin_id'] . $yes . '-' . '04' . 'achievement_bonus'] + $wait_amount[$value['admin_id'] . $yes . '-' . '05' . 'achievement_bonus'] + $wait_amount[$value['admin_id'] . $yes . '-' . '06' . 'achievement_bonus'];
+ } elseif ($month == '01') {
+ $data[$key]['extend_commission'] += $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '07' . 'achievement_bonus'] + $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '08' . 'achievement_bonus'] + $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '09' . 'achievement_bonus'] +
+ $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '10' . 'achievement_bonus'] + $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '11' . 'achievement_bonus'] + $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '12' . 'achievement_bonus'];
}
- } elseif($market_percentage['remain_time'] == 3) {
+ } elseif ($market_percentage['remain_time'] == 3) {
if ($month == '01') {
- $data[$key]['extend_commission'] += $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '01'.'achievement_bonus'] + $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '02'.'achievement_bonus'] + $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '03'.'achievement_bonus'] +
- $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '04'.'achievement_bonus'] + $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '05'.'achievement_bonus'] + $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '06'.'achievement_bonus'] +
- $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '07'.'achievement_bonus'] + $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '08'.'achievement_bonus'] + $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '09'.'achievement_bonus'] +
- $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '10'.'achievement_bonus'] + $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '11'.'achievement_bonus'] + $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '12'.'achievement_bonus'];
+ $data[$key]['extend_commission'] += $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '01' . 'achievement_bonus'] + $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '02' . 'achievement_bonus'] + $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '03' . 'achievement_bonus'] +
+ $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '04' . 'achievement_bonus'] + $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '05' . 'achievement_bonus'] + $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '06' . 'achievement_bonus'] +
+ $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '07' . 'achievement_bonus'] + $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '08' . 'achievement_bonus'] + $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '09' . 'achievement_bonus'] +
+ $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '10' . 'achievement_bonus'] + $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '11' . 'achievement_bonus'] + $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '12' . 'achievement_bonus'];
}
} else {
- $data[$key]['extend_commission'] += $wait_amount[$value['admin_id'] .date("Y-m",strtotime("last month",strtotime($value['pay_time']))).'achievement_bonus'];
+ $data[$key]['extend_commission'] += $wait_amount[$value['admin_id'] . date("Y-m", strtotime("last month", strtotime($value['pay_time']))) . 'achievement_bonus'];
}
// $data[$key]['extend_commission'] = number_format($data[$key]['extend_commission'], 2, '.', '');
//
@@ -871,35 +891,34 @@ class MarketPercentageController extends ThinkController
if ($market_percentage['time'] == 1) {
if ($month == '07') {
- $data[$key]['wait_commission'] += $wait_amount[$value['admin_id'].$yes.'-'.'04'.'performance_commission'] + $wait_amount[$value['admin_id'].$yes.'-'.'05'.'performance_commission'] + $wait_amount[$value['admin_id'].$yes.'-'.'06'.'performance_commission'];
- } elseif($month == '10') {
- $data[$key]['wait_commission'] += $wait_amount[$value['admin_id'].$yes.'-'.'07'.'performance_commission'] + $wait_amount[$value['admin_id'].$yes.'-'.'08'.'performance_commission'] + $wait_amount[$value['admin_id'].$yes.'-'.'09'.'performance_commission'];
- } elseif($month == '04') {
- $data[$key]['wait_commission'] += $wait_amount[$value['admin_id'].$yes.'-'.'01'.'performance_commission'] + $wait_amount[$value['admin_id'].$yes.'-'.'02'.'performance_commission'] + $wait_amount[$value['admin_id'].$yes.'-'.'03'.'performance_commission'];
- } elseif($month == '01') {
- $data[$key]['wait_commission'] += $wait_amount[$value['admin_id'].($yes-1).'-'.'10'.'performance_commission'] + $wait_amount[$value['admin_id'].($yes-1).'-'.'11'.'performance_commission'] + $wait_amount[$value['admin_id'].($yes-1).'-'.'12'.'performance_commission'];
+ $data[$key]['wait_commission'] += $wait_amount[$value['admin_id'] . $yes . '-' . '04' . 'performance_commission'] + $wait_amount[$value['admin_id'] . $yes . '-' . '05' . 'performance_commission'] + $wait_amount[$value['admin_id'] . $yes . '-' . '06' . 'performance_commission'];
+ } elseif ($month == '10') {
+ $data[$key]['wait_commission'] += $wait_amount[$value['admin_id'] . $yes . '-' . '07' . 'performance_commission'] + $wait_amount[$value['admin_id'] . $yes . '-' . '08' . 'performance_commission'] + $wait_amount[$value['admin_id'] . $yes . '-' . '09' . 'performance_commission'];
+ } elseif ($month == '04') {
+ $data[$key]['wait_commission'] += $wait_amount[$value['admin_id'] . $yes . '-' . '01' . 'performance_commission'] + $wait_amount[$value['admin_id'] . $yes . '-' . '02' . 'performance_commission'] + $wait_amount[$value['admin_id'] . $yes . '-' . '03' . 'performance_commission'];
+ } elseif ($month == '01') {
+ $data[$key]['wait_commission'] += $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '10' . 'performance_commission'] + $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '11' . 'performance_commission'] + $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '12' . 'performance_commission'];
}
}
if ($market_percentage['remain_time'] == 1) {
if ($month == '07') {
- $data[$key]['wait_commission'] += $wait_amount[$value['admin_id'].$yes.'-'.'04'.'achievement_bonus'] + $wait_amount[$value['admin_id'].$yes.'-'.'05'.'achievement_bonus'] + $wait_amount[$value['admin_id'].$yes.'-'.'06'.'achievement_bonus'];
+ $data[$key]['wait_commission'] += $wait_amount[$value['admin_id'] . $yes . '-' . '04' . 'achievement_bonus'] + $wait_amount[$value['admin_id'] . $yes . '-' . '05' . 'achievement_bonus'] + $wait_amount[$value['admin_id'] . $yes . '-' . '06' . 'achievement_bonus'];
// dump($data[$key]['extend_commission']);die();
- } elseif($month == '10') {
- $data[$key]['wait_commission'] += $wait_amount[$value['admin_id'].$yes.'-'.'07'.'achievement_bonus'] + $wait_amount[$value['admin_id'].$yes.'-'.'08'.'achievement_bonus'] + $wait_amount[$value['admin_id'].$yes.'-'.'09'.'achievement_bonus'];
- } elseif($month == '04') {
- $data[$key]['wait_commission'] += $wait_amount[$value['admin_id'].$yes.'-'.'01'.'achievement_bonus'] + $wait_amount[$value['admin_id'].$yes.'-'.'02'.'achievement_bonus'] + $wait_amount[$value['admin_id'].$yes.'-'.'03'.'achievement_bonus'];
- }
- elseif($month == '01') {
- $data[$key]['wait_commission'] += $wait_amount[$value['admin_id'].($yes-1).'-'.'10'.'achievement_bonus'] + $wait_amount[$value['admin_id'].($yes-1).'-'.'11'.'achievement_bonus'] + $wait_amount[$value['admin_id'].($yes-1).'-'.'12'.'achievement_bonus'];
+ } elseif ($month == '10') {
+ $data[$key]['wait_commission'] += $wait_amount[$value['admin_id'] . $yes . '-' . '07' . 'achievement_bonus'] + $wait_amount[$value['admin_id'] . $yes . '-' . '08' . 'achievement_bonus'] + $wait_amount[$value['admin_id'] . $yes . '-' . '09' . 'achievement_bonus'];
+ } elseif ($month == '04') {
+ $data[$key]['wait_commission'] += $wait_amount[$value['admin_id'] . $yes . '-' . '01' . 'achievement_bonus'] + $wait_amount[$value['admin_id'] . $yes . '-' . '02' . 'achievement_bonus'] + $wait_amount[$value['admin_id'] . $yes . '-' . '03' . 'achievement_bonus'];
+ } elseif ($month == '01') {
+ $data[$key]['wait_commission'] += $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '10' . 'achievement_bonus'] + $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '11' . 'achievement_bonus'] + $wait_amount[$value['admin_id'] . ($yes - 1) . '-' . '12' . 'achievement_bonus'];
}
}
- $data[$key]['extend_commission'] = number_format($data[$key]['extend_commission'],2,'.','');
- $data[$key]['wait_commission'] = number_format($data[$key]['wait_commission'],2,'.','');
+ $data[$key]['extend_commission'] = number_format($data[$key]['extend_commission'], 2, '.', '');
+ $data[$key]['wait_commission'] = number_format($data[$key]['wait_commission'], 2, '.', '');
- $data[$key]['achievement_bonus'] = $achievement_bonus;
+ $data[$key]['achievement_bonus'] = $achievement_bonus;
$sum['performance_revenue'] += $data[$key]['performance_revenue'];
$sum['appraisal_bonuses'] += $data[$key]['appraisal_bonuses'];
@@ -910,7 +929,6 @@ class MarketPercentageController extends ThinkController
$sum['company_profit'] += $data[$key]['company_profit'];
-
}
$sum['wait_commission'] = '-------';
$sum['pay_time'] = '总计';
@@ -922,26 +940,26 @@ class MarketPercentageController extends ThinkController
'level' => '级别',
'performance_revenue' => '开发总流水',
'appraisal_bonuses' => '维护总流水',
- 'develop_commission_ratio'=>'开发业绩提成比例(%)',
- 'maintain_commission_ratio'=>'维护业绩提成比例(%)',
- 'appraisal_bonuses_ratio'=>'开发考核奖金比例(%)',
- 'maintain_appraisal_bonuses_ratio'=>'维护奖金考核比例(%)',
- 'achievement_profit'=>'开发税后毛利',
- 'performance_profit'=>'维护税后毛利',
+ 'develop_commission_ratio' => '开发业绩提成比例(%)',
+ 'maintain_commission_ratio' => '维护业绩提成比例(%)',
+ 'appraisal_bonuses_ratio' => '开发考核奖金比例(%)',
+ 'maintain_appraisal_bonuses_ratio' => '维护奖金考核比例(%)',
+ 'achievement_profit' => '开发税后毛利',
+ 'performance_profit' => '维护税后毛利',
'performance_commission' => '业绩提成',
'achievement_bonus' => '绩效考核奖金',
- 'coefficient'=>'绩效系数',
+ 'coefficient' => '绩效系数',
'commission' => '当月合计',
'extend_commission' => '应发金额',
'wait_commission' => '待发金额',
- 'coefficient_check_detail'=>'绩效确认',
+ 'coefficient_check_detail' => '绩效确认',
'market_check_detail' => '市场部确认',
'finance_check_detail' => '财务部审批'];
foreach ($data as $key => $value) {
- $line = $key+2;
+ $line = $key + 2;
// $develop_commission_ratio = $value['develop_commission_ratio']/100;
- $data[$key]['pay_time'] = '`'.$data[$key]['pay_time'];
+ $data[$key]['pay_time'] = '`' . $data[$key]['pay_time'];
$data[$key]['performance_commission'] = "=ROUND(";
$data[$key]['achievement_bonus'] = "=ROUND(";
@@ -966,7 +984,6 @@ class MarketPercentageController extends ThinkController
}
-
// $data[$key]['achievement_bonus'] .= "J{$line}*(H{$line}/100)";
} else {
$data[$key]['performance_commission'] .= ',2)';
@@ -974,8 +991,6 @@ class MarketPercentageController extends ThinkController
}
-
-
// if ($value['achievement_profit'] != "0.00") {
// if ($data[$key]['performance_commission'] == "=ROUND(") {
// $data[$key]['performance_commission'] .= "K{$line}*(G{$line}/100),2)";
@@ -1006,37 +1021,38 @@ class MarketPercentageController extends ThinkController
$data[$key]['commission'] = "=ROUND(L{$line}+M{$line}*N{$line},2)";
}
- $data = array_merge($data,[$sum]);
+ $data = array_merge($data, [$sum]);
- data2csv($data,'市场业绩提成',$title);
+ data2csv($data, '市场业绩提成', $title);
}
$arraypage = $p;
$size = $row;//每页显示的记录数
$data = array_slice($data, ($arraypage - 1) * $size, $size);
- $this->assign("sum",$sum);
- $this->assign("list_data",$data);
+ $this->assign("sum", $sum);
+ $this->assign("list_data", $data);
$this->display("marketstaffsettle");
}
- public function personMarketStaffSettle($row = 10, $p = 1) {
+ public function personMarketStaffSettle($row = 10, $p = 1)
+ {
// var_dump(getMarketAdmin());
$map = [];
- $map['group_id'] = ['in','11,12,21'];
+ $map['group_id'] = ['in', '11,12,21'];
//获取权限
$marketPercentage = M("auth_group")->where($map)->getField("id,market_percentage");
// $_REQUEST['pay_time']?($map['pay_time'] = $_REQUEST['pay_time']):'';
// $_REQUEST['admin_id']?($map['admin_id'] = $_REQUEST['admin_id']):'';
- $_REQUEST['group_id']?($map['group_id'] = $_REQUEST['group_id']):'';
- ($_REQUEST['status']||$_REQUEST['status']=='0')?($map['tab_market_altogether.status'] = $_REQUEST['status']):'';
+ $_REQUEST['group_id'] ? ($map['group_id'] = $_REQUEST['group_id']) : '';
+ ($_REQUEST['status'] || $_REQUEST['status'] == '0') ? ($map['tab_market_altogether.status'] = $_REQUEST['status']) : '';
- if($_REQUEST['status']||$_REQUEST['status']=='0') {
- if( $_REQUEST['status'] == '1') {
- $map['tab_market_altogether.status'] = ['egt',1];
+ if ($_REQUEST['status'] || $_REQUEST['status'] == '0') {
+ if ($_REQUEST['status'] == '1') {
+ $map['tab_market_altogether.status'] = ['egt', 1];
} else {
$map['tab_market_altogether.status'] = $_REQUEST['status'];
}
@@ -1044,20 +1060,20 @@ class MarketPercentageController extends ThinkController
$admin_id = $_SESSION['onethink_admin']['user_auth']['uid'];
$map['admin_id'] = $admin_id;
- if(is_administrator()||session('user_group_id') == 15||session('user_group_id') == 14||session('user_group_id') == 19||session('user_group_id') == 23) {
+ if (is_administrator() || session('user_group_id') == 15 || session('user_group_id') == 14 || session('user_group_id') == 19 || session('user_group_id') == 23) {
unset($map['admin_id']);
$admin_data = M("member")
->field("access.uid admin_id")
->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']])
+ ->where(['group_id' => ['in', '11,12,21']])
->select();
if ($admin_data) {
- $map['admin_id'] = ['in',array_column($admin_data,'admin_id')];
+ $map['admin_id'] = ['in', array_column($admin_data, 'admin_id')];
}
- $_REQUEST['admin_id']?($map['admin_id'] = $_REQUEST['admin_id']):'';
+ $_REQUEST['admin_id'] ? ($map['admin_id'] = $_REQUEST['admin_id']) : '';
}
$search_date = [];
@@ -1070,7 +1086,7 @@ class MarketPercentageController extends ThinkController
$date = date('Y-m', strtotime($start . ' + ' . $i . ' month'));
$search_date[] = $date;
$i++;
- }while ($date < date('Y-m', strtotime("{$end}")));
+ } while ($date < date('Y-m', strtotime("{$end}")));
if ($search_date) {
$map['pay_time'] = ['in', $search_date];
@@ -1078,14 +1094,14 @@ class MarketPercentageController extends ThinkController
} elseif (isset($_REQUEST['time_start'])) {
- $end = date("Y-m",time());
+ $end = date("Y-m", time());
$start = $_REQUEST['time_start'];
$i = 0;
do {
$date = date('Y-m', strtotime($start . ' + ' . $i . ' month'));
$search_date[] = $date;
$i++;
- }while ($date < date('Y-m', strtotime("{$end}")));
+ } while ($date < date('Y-m', strtotime("{$end}")));
if ($search_date) {
$map['pay_time'] = ['in', $search_date];
@@ -1100,14 +1116,14 @@ class MarketPercentageController extends ThinkController
$date = date('Y-m', strtotime($start . ' + ' . $i . ' month'));
$search_date[] = $date;
$i++;
- }while ($date < date('Y-m', strtotime("{$end}")));
+ } while ($date < date('Y-m', strtotime("{$end}")));
if ($search_date) {
$map['pay_time'] = ['in', $search_date];
}
}
- $data = SM("market_altogether","tab_")
+ $data = SM("market_altogether", "tab_")
->field("*")
->where($map);
@@ -1122,7 +1138,7 @@ class MarketPercentageController extends ThinkController
->select();
}
- $count = SM("market_altogether","tab_")
+ $count = SM("market_altogether", "tab_")
->where($map)
->count();
@@ -1130,7 +1146,7 @@ class MarketPercentageController extends ThinkController
if ($page) {
$this->assign('_page', $page);
}
- $this->checkListOrCountAuthRestMap($map,[]);
+ $this->checkListOrCountAuthRestMap($map, []);
$sum['performance_revenue'] = 0;
$sum['appraisal_bonuses'] = 0;
@@ -1143,14 +1159,14 @@ class MarketPercentageController extends ThinkController
foreach ($data as $key => $value) {
$level = $value['level'];
- if(isset($marketPercentage[$level])){
+ if (isset($marketPercentage[$level])) {
$value['market_percentage'] = $marketPercentage[$level];
}
- $data[$key]['start_time'] = date("Y-m-1",strtotime($value['pay_time']));
- $data[$key]['end_time'] = date("Y-m-t",strtotime($value['pay_time']));
+ $data[$key]['start_time'] = date("Y-m-1", strtotime($value['pay_time']));
+ $data[$key]['end_time'] = date("Y-m-t", strtotime($value['pay_time']));
- $market_percentage = json_decode($value['market_percentage'],true);
+ $market_percentage = json_decode($value['market_percentage'], true);
if ($value['level'] == 21) {
$data[$key]['level'] = '初级';
@@ -1168,20 +1184,22 @@ class MarketPercentageController extends ThinkController
//两个起提流水都没达到时,不展示税后毛利
$sum_amount = $value['performance_revenue'] + $value['appraisal_bonuses'];
- if ($sum_amount<$market_percentage['performance_revenue']&&$sum_amount<$market_percentage['appraisal_bonuses']) {
+ if ($sum_amount < $market_percentage['performance_revenue'] && $sum_amount < $market_percentage['appraisal_bonuses']) {
$data[$key]['company_profit'] = "0.00";
$value['company_profit'] = "0.00";
}
- $data[$key]['coefficient'] = $this->coefficient[$value['pay_time']][$value['admin_id']]?$this->coefficient[$value['pay_time']][$value['admin_id']]:1;
+ !($this->leavePercentage->isSettlement($value['pay_time'],$value['admin_id']))?$data[$key]['achievement_bonus']=0:'';
+
+ $data[$key]['coefficient'] = $this->coefficient[$value['pay_time']][$value['admin_id']] ? $this->coefficient[$value['pay_time']][$value['admin_id']] : 1;
$data[$key]['wait_commission'] =
- number_format($value['wait_performance_commission'] + $value['wait_achievement_commission']*($this->coefficient[$value['pay_time']][$value['admin_id']]?$this->coefficient[$value['pay_time']][$value['admin_id']]:1), 2, '.', '');
+ number_format($value['wait_performance_commission'] + $value['wait_achievement_commission'] * ($this->coefficient[$value['pay_time']][$value['admin_id']] ? $this->coefficient[$value['pay_time']][$value['admin_id']] : 1), 2, '.', '');
$achievement_bonus = number_format($data[$key]['achievement_bonus'], 2, '.', '');
//绩效系数计算
- $data[$key]['achievement_bonus'] = number_format($data[$key]['achievement_bonus'] * ($this->coefficient[$value['pay_time']][$value['admin_id']]?$this->coefficient[$value['pay_time']][$value['admin_id']]:1), 2, '.', '');
+ $data[$key]['achievement_bonus'] = number_format($data[$key]['achievement_bonus'] * ($this->coefficient[$value['pay_time']][$value['admin_id']] ? $this->coefficient[$value['pay_time']][$value['admin_id']] : 1), 2, '.', '');
$data[$key]['commission'] = number_format($data[$key]['performance_commission'] + $data[$key]['achievement_bonus'], 2, '.', '');;
$data[$key]['extend_commission'] = $data[$key]['commission'] - $data[$key]['wait_commission'];
@@ -1195,7 +1213,7 @@ class MarketPercentageController extends ThinkController
$sum['performance_commission'] += $value['performance_commission'];
$sum['achievement_bonus'] += $data[$key]['achievement_bonus'];
$sum['commission'] += $data[$key]['commission'];
- $sum['extend_commission'] += $data[$key]['extend_commission'] ;
+ $sum['extend_commission'] += $data[$key]['extend_commission'];
$sum['wait_commission'] += $data[$key]['wait_commission'];
}
@@ -1210,7 +1228,7 @@ class MarketPercentageController extends ThinkController
$sum['extend_commission'] = number_format($sum['extend_commission'], 2, '.', '');
$sum['wait_commission'] = number_format($sum['wait_commission'], 2, '.', '');
- $this->assign("sum",$sum);
+ $this->assign("sum", $sum);
if ($_REQUEST['export']) {
@@ -1220,33 +1238,34 @@ class MarketPercentageController extends ThinkController
'level' => '级别',
'performance_revenue' => '开发总流水',
'appraisal_bonuses' => '维护总流水',
- 'company_profit'=>'税后毛利',
+ 'company_profit' => '税后毛利',
'performance_commission' => '业绩提成',
'achievement_bonus' => '绩效考核奖金',
- 'coefficient'=>'绩效系数',
+ 'coefficient' => '绩效系数',
'commission' => '当月总提成',
'extend_commission' => '本月发放',
'wait_commission' => '本月未发',
- 'is_send'=>'剩余金额发放状态'];
+ 'is_send' => '剩余金额发放状态'];
- $data = array_merge($data,[$sum]);
+ $data = array_merge($data, [$sum]);
foreach ($data as $key => $value) {
- $data[$key]['pay_time'] = '`'.$data[$key]['pay_time'];
+ $data[$key]['pay_time'] = '`' . $data[$key]['pay_time'];
}
- data2csv($data,'个人总提成列表',$title);
+ data2csv($data, '个人总提成列表', $title);
}
$arraypage = $p;
$size = $row;//每页显示的记录数
$data = array_slice($data, ($arraypage - 1) * $size, $size);
- $this->assign("list_data",$data);
+ $this->assign("list_data", $data);
$this->display("personmarketstaffsettle");
}
- public function sendBonus() {
+ public function sendBonus()
+ {
$map['pay_time'] = $_REQUEST['pay_time'];
@@ -1254,33 +1273,33 @@ class MarketPercentageController extends ThinkController
->field("access.uid admin_id")
->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']])
+ ->where(['group_id' => ['in', '11,12,21']])
->select();
if ($admin_data) {
- $map['admin_id'] = ['in',array_column($admin_data,'admin_id')];
+ $map['admin_id'] = ['in', array_column($admin_data, 'admin_id')];
}
$map['admin_id'] = $_REQUEST['admin_id'];
- if (!$_REQUEST['pay_time']||!$_REQUEST['admin_id']) {
- $this->ajaxReturn(['status'=>0,'msg'=>'数据错误']);
+ if (!$_REQUEST['pay_time'] || !$_REQUEST['admin_id']) {
+ $this->ajaxReturn(['status' => 0, 'msg' => '数据错误']);
}
- $check_data = SM("market_altogether","tab_")
- ->where(['pay_time'=>$_REQUEST['pay_time'],'admin_id'=>$_REQUEST['admin_id']])
+ $check_data = SM("market_altogether", "tab_")
+ ->where(['pay_time' => $_REQUEST['pay_time'], 'admin_id' => $_REQUEST['admin_id']])
->find();
//正常发放添加判断,不让他重新发放
- if (!$_REQUEST['all']&&$check_data) {
+ if (!$_REQUEST['all'] && $check_data) {
- if ($check_data['status'] >0) {
- $this->ajaxReturn(['status'=>0,'msg'=>'已经发放过,请勿重复操作']);
+ if ($check_data['status'] > 0) {
+ $this->ajaxReturn(['status' => 0, 'msg' => '已经发放过,请勿重复操作']);
}
}
//判断是否已经离职发放过
- if($_REQUEST['all']) {
- if ($check_data['status']==2) {
- $this->ajaxReturn(['status'=>0,'msg'=>'离职发放已经发放过']);
+ if ($_REQUEST['all']) {
+ if ($check_data['status'] == 2) {
+ $this->ajaxReturn(['status' => 0, 'msg' => '离职发放已经发放过']);
}
}
@@ -1292,19 +1311,20 @@ class MarketPercentageController extends ThinkController
$save['remark'] = '离职发放';
}
- $is_save = SM("market_altogether","tab_")
+ $is_save = SM("market_altogether", "tab_")
->where($map)
->save($save);
if ($is_save) {
- $this->ajaxReturn(['status'=>1,'msg'=>'发放成功']);
+ $this->ajaxReturn(['status' => 1, 'msg' => '发放成功']);
} else {
- $this->ajaxReturn(['status'=>0,'msg'=>'发放失败']);
+ $this->ajaxReturn(['status' => 0, 'msg' => '发放失败']);
}
}
- public function reCaculateBonus() {
+ public function reCaculateBonus()
+ {
$pay_time = $_REQUEST['pay_time'];
@@ -1315,16 +1335,17 @@ class MarketPercentageController extends ThinkController
// var_dump("cd ".ROOTTT.";php admin.php timing/caculateMarketStream/time/{$pay_time} > /dev/null &");die();
- exec("source /etc/profile;cd ".ROOTTT.";php ".SUBSITE_INDEX." timing/caculateMarketStream/time/{$pay_time} > /dev/null &");
+ exec("source /etc/profile;cd " . ROOTTT . ";php " . SUBSITE_INDEX . " timing/caculateMarketStream/time/{$pay_time} > /dev/null &");
- $this->ajaxReturn(['status'=>1]);
+ $this->ajaxReturn(['status' => 1]);
}
- public function showBonusList($row = 10, $p = 1) {
+ public function showBonusList($row = 10, $p = 1)
+ {
//排序
- if(!array_key_exists("time_start",$_REQUEST)){
- $this->redirect(ACTION_NAME, array('time_start' => date('Y-m',strtotime('-1 month')),"time_end"=>date('Y-m',strtotime('-1 month'))));
+ if (!array_key_exists("time_start", $_REQUEST)) {
+ $this->redirect(ACTION_NAME, array('time_start' => date('Y-m', strtotime('-1 month')), "time_end" => date('Y-m', strtotime('-1 month'))));
}
$map = [];
@@ -1333,16 +1354,16 @@ class MarketPercentageController extends ThinkController
->field("access.uid admin_id")
->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']])
+ ->where(['group_id' => ['in', '11,12,21']])
->select();
if ($admin_data) {
- $map['tab_market_altogether.admin_id'] = ['in',array_column($admin_data,'admin_id')];
+ $map['tab_market_altogether.admin_id'] = ['in', array_column($admin_data, 'admin_id')];
}
- $_REQUEST['pay_time']?$map['tab_market_altogether.pay_time'] = $_REQUEST['pay_time']:'';
- $_REQUEST['real_name']?$map['tab_market_altogether.real_name'] = $_REQUEST['real_name']:'';
- $_REQUEST['nickname']?$map['tab_market_altogether..nickname'] = $_REQUEST['nickname']:'';
- $_REQUEST['level']?$map['level'] = $_REQUEST['level']:'';
+ $_REQUEST['pay_time'] ? $map['tab_market_altogether.pay_time'] = $_REQUEST['pay_time'] : '';
+ $_REQUEST['real_name'] ? $map['tab_market_altogether.real_name'] = $_REQUEST['real_name'] : '';
+ $_REQUEST['nickname'] ? $map['tab_market_altogether..nickname'] = $_REQUEST['nickname'] : '';
+ $_REQUEST['level'] ? $map['level'] = $_REQUEST['level'] : '';
$search_date = [];
@@ -1355,7 +1376,7 @@ class MarketPercentageController extends ThinkController
$date = date('Y-m', strtotime($start . ' + ' . $i . ' month'));
$search_date[] = $date;
$i++;
- }while ($date < date('Y-m', strtotime("{$end}")));
+ } while ($date < date('Y-m', strtotime("{$end}")));
if ($search_date) {
$map['tab_market_altogether.pay_time'] = ['in', $search_date];
@@ -1363,14 +1384,14 @@ class MarketPercentageController extends ThinkController
} elseif (isset($_REQUEST['time_start'])) {
- $end = date("Y-m",time());
+ $end = date("Y-m", time());
$start = $_REQUEST['time_start'];
$i = 0;
do {
$date = date('Y-m', strtotime($start . ' + ' . $i . ' month'));
$search_date[] = $date;
$i++;
- }while ($date < date('Y-m', strtotime("{$end}")));
+ } while ($date < date('Y-m', strtotime("{$end}")));
if ($search_date) {
$map['tab_market_altogether.pay_time'] = ['in', $search_date];
@@ -1385,19 +1406,19 @@ class MarketPercentageController extends ThinkController
$date = date('Y-m', strtotime($start . ' + ' . $i . ' month'));
$search_date[] = $date;
$i++;
- }while ($date < date('Y-m', strtotime("{$end}")));
+ } while ($date < date('Y-m', strtotime("{$end}")));
if ($search_date) {
$map['tab_market_altogether.pay_time'] = ['in', $search_date];
}
}
- if($_REQUEST['pay_time']) {
- if (in_array($_REQUEST['pay_time'],$search_date)) {
+ if ($_REQUEST['pay_time']) {
+ if (in_array($_REQUEST['pay_time'], $search_date)) {
$map['tab_market_altogether.pay_time'] = $_REQUEST['pay_time'];
- } elseif(isset($_REQUEST['time_start']) || isset($_REQUEST['time_end'])) {
- $this->checkListOrCountAuthRestMap($map,[]);
- $this->assign("list_data",[]);
+ } elseif (isset($_REQUEST['time_start']) || isset($_REQUEST['time_end'])) {
+ $this->checkListOrCountAuthRestMap($map, []);
+ $this->assign("list_data", []);
$this->display("showbonuslist");
die();
} else {
@@ -1405,17 +1426,18 @@ class MarketPercentageController extends ThinkController
}
}
- $data = SM("market_altogether","tab_")
+ $data = SM("market_altogether", "tab_")
->field("max(tab_market_altogether.pay_time) pay_time,tab_market_altogether.real_name,tab_market_altogether.admin_id,tab_market_altogether.nickname,level,sum(pay_amount) pay_amount,sum(extend_commission) extend_commission,
- sum(performance_commission) performance_commission,sum(achievement_bonus* IF(coefficient is not NULL, coefficient, 100)/100) achievement_bonus,
+ sum(performance_commission) performance_commission,IF(leave_time!=0 and unix_timestamp(now())-leave_time>86400*30,0,sum(achievement_bonus* IF(coefficient is not NULL, coefficient, 100)/100)) achievement_bonus,
sum(wait_performance_commission)+sum(wait_achievement_commission) wait_amount,
- sum(if(status > 0, wait_performance_commission, '0.00')) + sum(if(status > 0, wait_achievement_commission,'0.00') * IF(coefficient is not NULL, coefficient, 100)/100 ) wait_extend_commission,
- sum(if(status = 0, wait_performance_commission, '0.00')) + round(sum(if(status = 0, wait_achievement_commission,'0.00') * IF(coefficient is not NULL, coefficient, 100)/100),2) wait_commission, remark,status")
+ sum(if(tab_market_altogether.status > 0, wait_performance_commission, '0.00')) + sum(if(tab_market_altogether.status > 0, wait_achievement_commission,'0.00') * IF(coefficient is not NULL, coefficient, 100)/100 ) wait_extend_commission,
+ sum(if(tab_market_altogether.status = 0, wait_performance_commission, '0.00')) + round(sum(if(tab_market_altogether.status = 0, wait_achievement_commission,'0.00') * IF(coefficient is not NULL, coefficient, 100)/100),2) wait_commission, remark,tab_market_altogether.status")
->where($map);
if ($_REQUEST['export']) {
$data = $data
->join("left join tab_coefficient on tab_market_altogether.admin_id=tab_coefficient.admin_id and tab_coefficient.pay_time=tab_market_altogether.pay_time")
+ ->join("left join sys_ucenter_member on tab_market_altogether.admin_id=sys_ucenter_member.id")
->order("tab_market_altogether.pay_time DESC,company_profit DESC")
->group("tab_market_altogether.admin_id,tab_market_altogether.pay_time")
->select(false);
@@ -1423,6 +1445,7 @@ class MarketPercentageController extends ThinkController
$data = $data
// ->page($p, $row)
->join("left join tab_coefficient on tab_market_altogether.admin_id=tab_coefficient.admin_id and tab_coefficient.pay_time=tab_market_altogether.pay_time")
+ ->join("left join sys_ucenter_member on tab_market_altogether.admin_id=sys_ucenter_member.id")
->order("tab_market_altogether.pay_time DESC,company_profit DESC")
->group("tab_market_altogether.admin_id,tab_market_altogether.pay_time")
->select(false);
@@ -1442,7 +1465,7 @@ class MarketPercentageController extends ThinkController
$sum['extend_commission'] = 0;
$sum['wait_commission'] = 0;
- foreach($data as $key => $value) {
+ foreach ($data as $key => $value) {
// dump($value);
if ($value['level'] == 21) {
$data[$key]['level'] = '初级';
@@ -1461,8 +1484,8 @@ class MarketPercentageController extends ThinkController
// number_format($value['wait_performance_commission'] + $value['wait_achievement_commission']*($this->coefficient[$value['pay_time']][$value['admin_id']]?$this->coefficient[$value['pay_time']][$value['admin_id']]:1), 2, '.', '');
$data[$key]['extend_commission'] = number_format($data[$key]['commission'] - $data[$key]['wait_commission'], 2, '.', '');
- $data[$key]['pay_amount'] = number_format($data[$key]['pay_amount'] , 2, '.', '');
- $data[$key]['wait_commission'] = number_format($data[$key]['wait_commission'] , 2, '.', '');
+ $data[$key]['pay_amount'] = number_format($data[$key]['pay_amount'], 2, '.', '');
+ $data[$key]['wait_commission'] = number_format($data[$key]['wait_commission'], 2, '.', '');
// $data[$key]['all_commission'] = $data[$key]['wait_amount'] + ;
$sum['pay_amount'] += $data[$key]['pay_amount'];
@@ -1476,10 +1499,10 @@ class MarketPercentageController extends ThinkController
$sum['extend_commission'] = number_format($sum['extend_commission'], 2, '.', '');;
$sum['wait_commission'] = number_format($sum['wait_commission'], 2, '.', '');;
- $_REQUEST['time_start']?($start_time = date("Y-m-1",strtotime($_REQUEST['time_start']))):$start_time = date("Y-m-1",strtotime(''));
- $_REQUEST['time_end']?($end_time = date("Y-m-t",strtotime($_REQUEST['time_end']))):'';
- $this->assign('start_time',$start_time);
- $this->assign('end_time',$end_time);
+ $_REQUEST['time_start'] ? ($start_time = date("Y-m-1", strtotime($_REQUEST['time_start']))) : $start_time = date("Y-m-1", strtotime(''));
+ $_REQUEST['time_end'] ? ($end_time = date("Y-m-t", strtotime($_REQUEST['time_end']))) : '';
+ $this->assign('start_time', $start_time);
+ $this->assign('end_time', $end_time);
if ($_REQUEST['export']) {
@@ -1487,16 +1510,16 @@ class MarketPercentageController extends ThinkController
'nickname' => '账号',
'level' => '级别',
'pay_amount' => '总流水',
- 'commission'=>'总提成',
+ 'commission' => '总提成',
'extend_commission' => '已发放总提成',
- 'wait_commission'=>'剩余未发放总提成'];
+ 'wait_commission' => '剩余未发放总提成'];
- $data = array_merge($data,[$sum]);
+ $data = array_merge($data, [$sum]);
- data2csv($data,'提成汇总结算单',$title);
+ data2csv($data, '提成汇总结算单', $title);
}
- $count = SM("market_altogether","tab_")
+ $count = SM("market_altogether", "tab_")
->field("admin_id")
->where($map)
->group("admin_id")
@@ -1512,15 +1535,16 @@ class MarketPercentageController extends ThinkController
$size = $row;//每页显示的记录数
$data = array_slice($data, ($arraypage - 1) * $size, $size);
- $this->checkListOrCountAuthRestMap($map,[]);
+ $this->checkListOrCountAuthRestMap($map, []);
- $this->assign("sum",$sum);
- $this->assign("list_data",$data);
+ $this->assign("sum", $sum);
+ $this->assign("list_data", $data);
$this->display("showbonuslist");
}
- public function editTaxRatio() {
+ public function editTaxRatio()
+ {
if (IS_POST) {
@@ -1536,91 +1560,96 @@ class MarketPercentageController extends ThinkController
$data['time'] = strtotime($data['timestart']);
$data['create_time'] = time();
- $is_hav = M("tax_radio","tab_")
- ->where(['time'=>strtotime($data['timestart'])])
+ $is_hav = M("tax_radio", "tab_")
+ ->where(['time' => strtotime($data['timestart'])])
->find();
- M("tax_radio","tab_")
- ->where(['time'=>['gt',strtotime($data['timestart'])]])
+ M("tax_radio", "tab_")
+ ->where(['time' => ['gt', strtotime($data['timestart'])]])
->delete();
if ($is_hav) {
- $is_save = M("tax_radio","tab_")
- ->where(['time'=>strtotime($data['timestart'])])
+ $is_save = M("tax_radio", "tab_")
+ ->where(['time' => strtotime($data['timestart'])])
->save($data);
} else {
- $is_save = M("tax_radio","tab_")->add($data);
+ $is_save = M("tax_radio", "tab_")->add($data);
}
- $this->success("保存成功",U("index"));
+ $this->success("保存成功", U("index"));
} else {
- $data = M("tax_radio","tab_")
+ $data = M("tax_radio", "tab_")
->field("tax_radio,time timestart")
->order("create_time DESC")
->find();
- $data['timestart'] = Date("Y-m",$data['timestart']);
+ $data['timestart'] = Date("Y-m", $data['timestart']);
- $this->assign('data',$data);
+ $this->assign('data', $data);
$this->display("edittaxratio");
}
}
+
//市场部确认操作
- public function doMarketCheck() {
+ public function doMarketCheck()
+ {
$ids = $_REQUEST['ids'];
if (!$ids) {
- $this->ajaxReturn(['status'=>0,'info'=>'操作失败,id不能为空']);
+ $this->ajaxReturn(['status' => 0, 'info' => '操作失败,id不能为空']);
}
$admin = $_SESSION['onethink_admin']['user_auth']['username'];
- $market_check_detail = "市场部已确认({$admin})
".date("Y-m-d H:i:s",time());
+ $market_check_detail = "市场部已确认({$admin})
" . date("Y-m-d H:i:s", time());
- $is_save = SM("market_altogether","tab_")
- ->where(['id'=>['in',$ids],'market_check'=>0])
- ->save(['market_check'=>1,'market_check_detail'=>$market_check_detail]);
+ $is_save = SM("market_altogether", "tab_")
+ ->where(['id' => ['in', $ids], 'market_check' => 0])
+ ->save(['market_check' => 1, 'market_check_detail' => $market_check_detail]);
if (!$is_save) {
- $this->ajaxReturn(['status'=>0,'info'=>'操作失败']);
+ $this->ajaxReturn(['status' => 0, 'info' => '操作失败']);
}
- $this->ajaxReturn(['status'=>1,'info'=>'市场部确认成功']);
+ $this->ajaxReturn(['status' => 1, 'info' => '市场部确认成功']);
}
+
//财务部审批操作
- public function doFinanceCheck() {
+ public function doFinanceCheck()
+ {
$ids = $_REQUEST['ids'];
if (!$ids) {
- $this->ajaxReturn(['status'=>0,'info'=>'操作失败,id不能为空']);
+ $this->ajaxReturn(['status' => 0, 'info' => '操作失败,id不能为空']);
}
$admin = $_SESSION['onethink_admin']['user_auth']['username'];
- $finance_check_detail = "财务部已审批({$admin})
".date("Y-m-d H:i:s",time());
+ $finance_check_detail = "财务部已审批({$admin})
" . date("Y-m-d H:i:s", time());
- $is_save = SM("market_altogether","tab_")
- ->where(['id'=>['in',$ids],'finance_check'=>0])
- ->save(['finance_check'=>1,'finance_check_detail'=>$finance_check_detail]);
+ $is_save = SM("market_altogether", "tab_")
+ ->where(['id' => ['in', $ids], 'finance_check' => 0])
+ ->save(['finance_check' => 1, 'finance_check_detail' => $finance_check_detail]);
if (!$is_save) {
- $this->ajaxReturn(['status'=>0,'info'=>'操作失败']);
+ $this->ajaxReturn(['status' => 0, 'info' => '操作失败']);
}
- $this->ajaxReturn(['status'=>1,'info'=>'财务部审批成功']);
+ $this->ajaxReturn(['status' => 1, 'info' => '财务部审批成功']);
}
- public function companybelonggame($row = 10, $p = 1) {
+ public function companybelonggame($row = 10, $p = 1)
+ {
if ($_REQUEST['relation_game_id']) {
$game_id = $_REQUEST['relation_game_id'];
- $where['game_ids'] = ['like',"%,{$game_id},%"];
+ $where['game_ids'] = ['like', "%,{$game_id},%"];
}
@@ -1628,17 +1657,17 @@ class MarketPercentageController extends ThinkController
if (isset($_REQUEST['time_start']) && isset($_REQUEST['time_end'])) {
$time_start = strtotime($_REQUEST['time_start']);
- $time_end = strtotime($_REQUEST['time_end'])+ 86399;
- $where["_string"] = "(begin_time BETWEEN {$time_start} AND {$time_end}) OR (end_time BETWEEN {$time_start} AND {$time_end}) OR (begin_time <= {$time_end} AND end_time >= {$time_end}) OR (begin_time >0 AND end_time = 0)";
+ $time_end = strtotime($_REQUEST['time_end']) + 86399;
+ $where["_string"] = "(begin_time BETWEEN {$time_start} AND {$time_end}) OR (end_time BETWEEN {$time_start} AND {$time_end}) OR (begin_time <= {$time_end} AND end_time >= {$time_end}) OR (begin_time >0 AND end_time = 0)";
} elseif (isset($_REQUEST['time_start'])) {
$time_start = strtotime($_REQUEST['time_start']);
- $where["_string"] = "end_time >= {$time_start} OR end_time = 0";
+ $where["_string"] = "end_time >= {$time_start} OR end_time = 0";
} elseif (isset($_REQUEST['time_end'])) {
- $time_end = strtotime($_REQUEST['time_end'])+ 86399;
- $where["_string"] = "begin_time <= {$time_end}";
+ $time_end = strtotime($_REQUEST['time_end']) + 86399;
+ $where["_string"] = "begin_time <= {$time_end}";
}
- $data = M("company_belong_game","tab_")
+ $data = M("company_belong_game", "tab_")
->where($where)
->page($p, $row)
->order("begin_time DESC")
@@ -1646,12 +1675,12 @@ class MarketPercentageController extends ThinkController
foreach ($data as $key => $value) {
- $data[$key]["begin_time"] = date("Y.m.d",$value['begin_time']);
+ $data[$key]["begin_time"] = date("Y.m.d", $value['begin_time']);
- if($value['end_time'] == 0) {
+ if ($value['end_time'] == 0) {
$data[$key]["end_time"] = "永久";
- } else{
- $data[$key]["end_time"] = date("Y.m.d",$value['end_time']);
+ } else {
+ $data[$key]["end_time"] = date("Y.m.d", $value['end_time']);
}
$where_game = $value['game_ids'];
@@ -1662,9 +1691,9 @@ class MarketPercentageController extends ThinkController
$game = [];
if ($where_game) {
- $game = M("game","tab_")
+ $game = M("game", "tab_")
->field("original_package_name,relation_game_name,relation_game_id,game_type_name")
- ->where(['relation_game_id'=>['in',$where_game]])
+ ->where(['relation_game_id' => ['in', $where_game]])
->group("relation_game_id")
->select();
}
@@ -1673,7 +1702,7 @@ class MarketPercentageController extends ThinkController
}
- $count = M("company_belong_game","tab_")
+ $count = M("company_belong_game", "tab_")
->where($where)
->count();
@@ -1682,14 +1711,14 @@ class MarketPercentageController extends ThinkController
$this->assign('_page', $page);
}
- $this->assign("gameList",D("Game")->getRelationGameLits());
- $this->assign("data",$data);
+ $this->assign("gameList", D("Game")->getRelationGameLits());
+ $this->assign("data", $data);
$this->display();
}
- public function addcompanybelonggame() {
-
+ public function addcompanybelonggame()
+ {
if (IS_POST) {
@@ -1697,45 +1726,45 @@ class MarketPercentageController extends ThinkController
$data = $_POST;
if (!$data['begin_time']) {
- $this->ajaxReturn(['msg'=>"起始时间必填","status"=>0]);
+ $this->ajaxReturn(['msg' => "起始时间必填", "status" => 0]);
}
if (!$data['game_ids']) {
- $this->ajaxReturn(['msg'=>"请选择推广游戏","status"=>0]);
+ $this->ajaxReturn(['msg' => "请选择推广游戏", "status" => 0]);
}
- $data['game_ids'] = explode(',',$data['game_ids']);
- $data['game_ids'] = array_merge([''],$data['game_ids'],['']);
- $data['game_ids'] = implode(',',$data['game_ids']);
+ $data['game_ids'] = explode(',', $data['game_ids']);
+ $data['game_ids'] = array_merge([''], $data['game_ids'], ['']);
+ $data['game_ids'] = implode(',', $data['game_ids']);
$data['begin_time'] = strtotime($data['begin_time']);
$data['end_time'] = strtotime($data['end_time']);
$time_start = $data['begin_time'];
- if($data['end_time']) {
+ if ($data['end_time']) {
$time_end = $data['end_time'];
} else {
$time_end = 99999999999;
}
- $last_month = strtotime(date('Y-m-t',strtotime("-2 month")));
+ $last_month = strtotime(date('Y-m-t', strtotime("-2 month")));
if ($data['begin_time'] < $last_month) {
- $this->ajaxReturn(['msg'=>"已经结算过的时间不能添加","status"=>0]);
+ $this->ajaxReturn(['msg' => "已经结算过的时间不能添加", "status" => 0]);
}
- $belong_game = M("company_belong_game","tab_")
+ $belong_game = M("company_belong_game", "tab_")
->where("((begin_time<={$time_start} and (end_time >={$time_start} or end_time=0)) or (begin_time<={$time_end} and end_time >={$time_end}) or (end_time>={$time_start} and end_time <={$time_end}))")
->select();
if ($belong_game) {
- $this->ajaxReturn(['msg'=>"重复时间段,请勿重复添加","status"=>0]);
+ $this->ajaxReturn(['msg' => "重复时间段,请勿重复添加", "status" => 0]);
}
- M("company_belong_game","tab_")->add($data);
+ M("company_belong_game", "tab_")->add($data);
- $this->ajaxReturn(['msg'=>"添加成功,请到对应时间段市场业绩重新结算,否则数据可能无法对上","status"=>1]);
+ $this->ajaxReturn(['msg' => "添加成功,请到对应时间段市场业绩重新结算,否则数据可能无法对上", "status" => 1]);
} else {
$this->display();
@@ -1744,7 +1773,8 @@ class MarketPercentageController extends ThinkController
}
- public function editcompanybelonggame() {
+ public function editcompanybelonggame()
+ {
$id = $_REQUEST["id"];
@@ -1752,16 +1782,16 @@ class MarketPercentageController extends ThinkController
$data = $_POST;
if (!$data['begin_time'] && !$data['is_start']) {
- $this->ajaxReturn(['msg'=>"起始时间必填","status"=>0]);
+ $this->ajaxReturn(['msg' => "起始时间必填", "status" => 0]);
}
if (!$data['game_ids']) {
- $this->ajaxReturn(['msg'=>"请选择推广游戏","status"=>0]);
+ $this->ajaxReturn(['msg' => "请选择推广游戏", "status" => 0]);
}
// $data['game_ids'] = json_encode($data['game_ids']);
- $data['game_ids'] = explode(',',$data['game_ids']);
+ $data['game_ids'] = explode(',', $data['game_ids']);
foreach ($data['game_ids'] as $key => $value) {
if ($value == "0") {
@@ -1769,14 +1799,14 @@ class MarketPercentageController extends ThinkController
}
}
- $data['game_ids'] = array_merge([''],$data['game_ids'],['']);
- $data['game_ids'] = implode(',',$data['game_ids']);
+ $data['game_ids'] = array_merge([''], $data['game_ids'], ['']);
+ $data['game_ids'] = implode(',', $data['game_ids']);
$time_start = strtotime($data['begin_time']);
- if($data['end_time']) {
+ if ($data['end_time']) {
$time_end = strtotime($data['end_time']);
} else {
$time_end = 99999999999;
@@ -1785,34 +1815,31 @@ class MarketPercentageController extends ThinkController
$data['begin_time'] = strtotime($data['begin_time']);
$data['end_time'] = strtotime($data['end_time']);
- $company_belong_game_data = M("company_belong_game","tab_")->where(['id'=>$id])->find();
+ $company_belong_game_data = M("company_belong_game", "tab_")->where(['id' => $id])->find();
if ($data['is_start']) {
$time_start = $company_belong_game_data['begin_time'];
$data['begin_time'] = $company_belong_game_data['begin_time'];
}
- $last_month = strtotime(date('Y-m-t',strtotime("-2 month")));
+ $last_month = strtotime(date('Y-m-t', strtotime("-2 month")));
- if ($company_belong_game_data['end_time'] > $last_month && $data['end_time'] < $last_month)
- {
+ if ($company_belong_game_data['end_time'] > $last_month && $data['end_time'] < $last_month) {
$time_end = $last_month;
$data['end_time'] = $last_month;
// $this->ajaxReturn(['msg'=>"过去已结算过的比例不能修改","status"=>0]);
}
- $last_month_first = strtotime(date('Y-m-1',strtotime("-1 month")));
- if ($company_belong_game_data['begin_time'] > $last_month && $data['begin_time'] < $last_month)
- {
+ $last_month_first = strtotime(date('Y-m-1', strtotime("-1 month")));
+ if ($company_belong_game_data['begin_time'] > $last_month && $data['begin_time'] < $last_month) {
// $time_end = $last_month;
$data['begin_time'] = $last_month_first;
// $this->ajaxReturn(['msg'=>"过去已结算过的比例不能修改","status"=>0]);
}
-
if ($data['begin_time'] < $last_month && $data['end_time'] <= $last_month) {
- if($company_belong_game_data['end_time']<= $last_month) {
+ if ($company_belong_game_data['end_time'] <= $last_month) {
$data['end_time'] = $company_belong_game_data['end_time'];
} else {
$data['end_time'] = $last_month;
@@ -1821,11 +1848,11 @@ class MarketPercentageController extends ThinkController
}
if ($_POST['end_time']) {
- $belong_game = M("company_belong_game","tab_")
+ $belong_game = M("company_belong_game", "tab_")
->where("((begin_time<={$time_start} and (end_time >={$time_start} or end_time=0)) or (begin_time<={$time_end} and end_time >={$time_end}) or (end_time>={$time_start} and end_time <={$time_end})) and id != {$id}")
->select();
} else {
- $belong_game = M("company_belong_game","tab_")
+ $belong_game = M("company_belong_game", "tab_")
->where("(begin_time>={$time_start} or (end_time >={$time_start})) and id != {$id}")
->select();
}
@@ -1833,114 +1860,116 @@ class MarketPercentageController extends ThinkController
if ($belong_game) {
- $this->ajaxReturn(['msg'=>"重复时间段,请勿重复添加","status"=>0]);
+ $this->ajaxReturn(['msg' => "重复时间段,请勿重复添加", "status" => 0]);
}
- M("company_belong_game","tab_")->where(['id'=>$id])->save($data);
+ M("company_belong_game", "tab_")->where(['id' => $id])->save($data);
- $this->ajaxReturn(['msg'=>"编辑成功,请到对应时间段市场业绩重新结算,否则数据可能无法对上","status"=>1]);
+ $this->ajaxReturn(['msg' => "编辑成功,请到对应时间段市场业绩重新结算,否则数据可能无法对上", "status" => 1]);
} else {
- $data = M("company_belong_game","tab_")
- ->where(['id'=>$id])
+ $data = M("company_belong_game", "tab_")
+ ->where(['id' => $id])
->find();
// $data['game_ids'] = json_encode(explode(',',$data['game_ids']));
- $game_ids = explode(',',$data['game_ids']);
+ $game_ids = explode(',', $data['game_ids']);
- $data['game_ids'] = explode(',',$data['game_ids']);
+ $data['game_ids'] = explode(',', $data['game_ids']);
- foreach($game_ids as $key => $value) {
+ foreach ($game_ids as $key => $value) {
if ($value == "\"") {
unset($game_ids[$key]);
} else {
- $game_ids[$key] = $value-0;
+ $game_ids[$key] = $value - 0;
}
}
$data['is_start'] = 0;
- if($data['begin_time']field("relation_game_name")
- ->where(['relation_game_id'=>['in',$data['ids']]])
+ $game = M("game", "tab_")->field("relation_game_name")
+ ->where(['relation_game_id' => ['in', $data['ids']]])
->group("relation_game_id")
->select();
$span_str = "";
foreach ($game as $key => $value) {
$span_str .= "{$value['relation_game_name']}";
- if (($key+1)%5 == 0) {
+ if (($key + 1) % 5 == 0) {
$span_str .= "
";
}
}
$data['span_str'] = $span_str;
}
- $this->assign("data",$data);
+ $this->assign("data", $data);
$this->display();
}
}
- public function delcompanybelonggame() {
+ public function delcompanybelonggame()
+ {
$id = $_REQUEST["id"];
if (!$id) {
- $this->ajaxReturn(['msg'=>"参数传递错误","status"=>0]);
+ $this->ajaxReturn(['msg' => "参数传递错误", "status" => 0]);
}
- $data = M("company_belong_game","tab_")
- ->where(['id'=>$id])
+ $data = M("company_belong_game", "tab_")
+ ->where(['id' => $id])
->find();
- if (date("m",$data['begin_time']) < date("m",strtotime('-1 month'))) {
- $this->ajaxReturn(['msg'=>"过去已结算过的比例不能删除","status"=>0]);
+ if (date("m", $data['begin_time']) < date("m", strtotime('-1 month'))) {
+ $this->ajaxReturn(['msg' => "过去已结算过的比例不能删除", "status" => 0]);
}
- $is_del = M("company_belong_game","tab_")
- ->where(['id'=>$id])
+ $is_del = M("company_belong_game", "tab_")
+ ->where(['id' => $id])
->delete();
if ($is_del) {
- $this->ajaxReturn(['msg'=>"删除成功,请到对应时间段市场业绩重新结算,否则数据可能无法对上","status"=>1]);
+ $this->ajaxReturn(['msg' => "删除成功,请到对应时间段市场业绩重新结算,否则数据可能无法对上", "status" => 1]);
} else {
- $this->ajaxReturn(['msg'=>"删除失败","status"=>0]);
+ $this->ajaxReturn(['msg' => "删除失败", "status" => 0]);
}
}
- public function showGame() {
+ public function showGame()
+ {
$data = $_REQUEST;
if (!$data['game_ids']) {
- $this->ajaxReturn(['msg'=>"请选择游戏后点击确定","status"=>0]);
+ $this->ajaxReturn(['msg' => "请选择游戏后点击确定", "status" => 0]);
}
- $game_data = M("game","tab_")
+ $game_data = M("game", "tab_")
->field("relation_game_name,relation_game_id,game_type_name")
- ->where(['relation_game_id'=>['in',$data['game_ids']]])
+ ->where(['relation_game_id' => ['in', $data['game_ids']]])
->group("relation_game_id")
->select();
- $this->ajaxReturn(['msg'=>"选择游戏成功","status"=>1,"data"=>$game_data]);
+ $this->ajaxReturn(['msg' => "选择游戏成功", "status" => 1, "data" => $game_data]);
}
@@ -1956,7 +1985,7 @@ class MarketPercentageController extends ThinkController
$games = M('game', 'tab_')
->field('relation_game_id id,relation_game_name game_name,short')
- ->where(['game_status'=>1])
+ ->where(['game_status' => 1])
->group("relation_game_id")
->select();
$data['data']['game_list'] = empty($games) ? '' : $games;
@@ -1969,4 +1998,32 @@ class MarketPercentageController extends ThinkController
}
}
+ //模板导出
+ public function downloadCoefficient()
+ {
+ header("Content-type: text/html; charset=utf-8");
+ error_reporting(E_ALL);
+ ini_set('display_errors', TRUE);
+ ini_set('display_startup_errors', TRUE);
+
+ define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '
');
+
+ Vendor("PHPExcel.PHPExcel");
+ $objPHPExcel = new \PHPExcel();
+ $objReader = \PHPExcel_IOFactory::createReader('Excel2007');
+
+ //设置模板文件
+ $objPHPExcel = $objReader->load("Public/Admin/excel/coefficient.xlsx");
+
+ $fileName = "绩效导入模板";
+
+ ob_end_clean();//清除缓冲区,避免乱码
+ header('pragma:public');
+ header('Content-type:application/vnd.ms-excel;charset=utf-8;name="' . $fileName .'".xls');
+ header("Content-Disposition:attachment;filename={$fileName}.xls");//attachment新窗口打印inline本窗口打印
+ $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
+ $objWriter->save('php://output');
+ exit;
+ }
+
}
diff --git a/Application/Admin/Controller/OldCountController.class.php b/Application/Admin/Controller/OldCountController.class.php
index 1693bf77a..f9d2a5551 100644
--- a/Application/Admin/Controller/OldCountController.class.php
+++ b/Application/Admin/Controller/OldCountController.class.php
@@ -358,20 +358,35 @@ class OldCountController extends \Think\Controller
public function oldRewardChange() {
$data = M("company_lack_statement_info","tab_")
- ->where("(fine > 0 or reward > 0) and company_type = 2")
+ ->where("(fine > 0 or reward > 0) and company_type != 2")
->select();
foreach ($data as $key => $value) {
$statement_info = json_decode($value['statement_info'],true);
- $statement_info[0]['game_list'][0]['fine'] = $value['fine'];
- $statement_info[0]['game_list'][0]['reward'] = $value['reward'];
+ $statement_info[0]['fine'] = $value['fine'];
+ $statement_info[0]['reward'] = $value['reward'];
$statement_info = json_encode($statement_info);
M("company_lack_statement_info","tab_")->where(['id'=>$value['id']])->save(['statement_info'=>$statement_info]);
}
+ $data = M("company_statement_info","tab_")
+ ->where("(fine > 0 or reward > 0) and company_type != 2")
+ ->select();
+
+ foreach ($data as $key => $value) {
+
+ $statement_info = json_decode($value['statement_info'],true);
+ $statement_info[0]['fine'] = $value['fine'];
+ $statement_info[0]['reward'] = $value['reward'];
+ $statement_info = json_encode($statement_info);
+
+ M("company_statement_info","tab_")->where(['id'=>$value['id']])->save(['statement_info'=>$statement_info]);
+
+ }
+
echo "success";
}
diff --git a/Application/Admin/Controller/SocietyInfoController.class.php b/Application/Admin/Controller/SocietyInfoController.class.php
index dddf65b1c..a1fbcc8d5 100644
--- a/Application/Admin/Controller/SocietyInfoController.class.php
+++ b/Application/Admin/Controller/SocietyInfoController.class.php
@@ -14,6 +14,12 @@ class SocietyInfoController extends ThinkController
{
private $modelName = 'SocietyInfo';
private $admininfo = '';
+ private $level = [
+ 1=>'S',
+ 2=>'A',
+ 3=>'B',
+ 4=>'其他'
+ ];
public function _initialize()
{
@@ -32,6 +38,14 @@ class SocietyInfoController extends ThinkController
$map['create_account'] = $this->admininfo['username'];
}
+ if ($_REQUEST['text']) {
+ $map['_string'] = "province like '%{$_REQUEST['text']}%' or city like '%{$_REQUEST['text']}%'
+ or company_name like '%{$_REQUEST['text']}%' or register_capital like '%{$_REQUEST['text']}%' or functionary like '%{$_REQUEST['text']}%'
+ or phone like '%{$_REQUEST['text']}%' or wechat like '%{$_REQUEST['text']}%' or qq like '%{$_REQUEST['text']}%' or game_type like '%{$_REQUEST['text']}%'
+ or game_name like '%{$_REQUEST['text']}%' or join_platform like '%{$_REQUEST['text']}%' or promote_scale like '%{$_REQUEST['text']}%' or turnover= '{$_REQUEST['text']}'
+ or address like '%{$_REQUEST['text']}%' or league_info like '%{$_REQUEST['text']}%' or remark like '%{$_REQUEST['text']}%' or interface_person like '%{$_REQUEST['text']}%'";
+ }
+
$page = intval(I('get.p', 0));
$page = $page ? $page : 1; //默认显示第一页数据
$row = intval(I('row', 0));
@@ -56,14 +70,17 @@ class SocietyInfoController extends ThinkController
if (I('time_gap', -1) == 0) {
$map['communication_time'] = array('elt', time() - $gap * 86400);
}
+ if (I('sociaty_level') && I('sociaty_level') != '0') $map['sociaty_level'] = I('sociaty_level');
//获取分页数据
- $query = $model->where($map)->order("id desc");
+ $query = $model->where($map)->order("communication_time desc");
$count = $query->count();
if($is_export){
- $parseData = $query->field("province, city, company_name, register_capital, functionary, phone, wechat, qq, game_type, game_name, join_platform, promote_scale, turnover, address, league_info, is_potential, remark, interface_person, create_time, communication_time, create_account")
+ $parseData = $query->field("province, city, company_name, register_capital, functionary, phone, wechat, qq, game_type, game_name, join_platform, promote_scale,sociaty_level, turnover, address, league_info, is_potential, remark, interface_person, create_time, communication_time, create_account")
->where($map)
+ ->order("communication_time desc")
->select();
foreach ($parseData as &$v) {
+ $v['sociaty_level'] = $this->level[$v['sociaty_level']];
if ($v['is_potential'] == 1) $v['is_potential'] = "是";
else $v['is_potential'] = "否";
$v['communication_time'] = date('Y-m-d H:i:s', $v['communication_time']);
@@ -74,11 +91,12 @@ class SocietyInfoController extends ThinkController
}
addOperationLog(['op_type'=>3,'key'=>getNowDate(),'url'=>U(CONTROLLER_NAME.'/'.ACTION_NAME, I('get.*')),'menu'=>"推广-公会信息-导出"]);
$head = ["省份", "城市", "公司", "注册资本", "负责人", "电话", "微信", "QQ", "游戏类型", "所做游戏",
- "合作平台", "推广规模", "流水", "地址", "联盟信息", "是否为意向客户", "备注信息", "对接人", "录入时间", "最后沟通时间", "录入员"];
+ "合作平台", "推广规模", "公会等级", "流水", "地址", "联盟信息", "是否为意向客户", "备注信息", "对接人", "录入时间", "最后沟通时间", "录入员"];
$this->export($head, $parseData, "公会信息-".date('Ymd'));
return ;
} else {
- $societyInfos = $model->where($map)->order("id desc")->field("*")->page($page,$row)->select();
+ $societyInfos = $model->where($map)->order("communication_time desc")->field("*")->page($page,$row)->select();
+// dump($societyInfos);die();
}
//分页
@@ -90,13 +108,31 @@ class SocietyInfoController extends ThinkController
$this->assign('_page', $page);
}
- foreach ($societyInfos as &$v) {
- if (time() - $v['communication_time'] > $gap * 86400)
+ foreach ($societyInfos as $k => &$v) {
+
+ $v['num'] = $k+1+intval((I('get.p', 0)?I('get.p', 0):1)-1)*$row;
+ $v['sociaty_level_str'] = $this->level[$v['sociaty_level']];
+
+ if (time() - $v['communication_time'] > $gap * 86400
+ && $v['is_potential'] == 1
+ )
$v['is_gap_time'] = 1;
+
+ if($gap == 0 && $v['communication_time']!=$v['create_time']) {
+ $v['is_gap_time'] = 0;
+ }
}
$this->checkListOrCountAuthRestMap($map,[]);
- $this->assign('timeset_check',$this->checkRule("Admin/SocietyInfo/timeset" ,array('in','1,2')));
+
+ if (IS_ROOT) {
+ $this->assign('timeset_check',true);
+ $this->assign('delset_check',true);
+ } else {
+ $this->assign('timeset_check',$this->checkRule("Admin/SocietyInfo/timeset" ,array('in','1,2')));
+ $this->assign('delset_check',$this->checkRule("Admin/SocietyInfo/delset" ,array('in','1,2')));
+ }
+
// $this->assign('time_gap', $config['value']);
$gameTypes = M('game_type', 'tab_')->field("id, type_name")->select();
@@ -212,7 +248,6 @@ class SocietyInfoController extends ThinkController
}
$v['partner_info']['company_type'] = $v['partner_info']['company_type'] == 2 ? '个人' : '公司';
-
$contract_start_time = $v['partner_info']['contract_start_time'] ? time_format($v['partner_info']['contract_start_time'], 'Y/m/d') : '-';
if($v['partner_info']['contract_start_time']){
$contract_end_time = $v['partner_info']['contract_end_time'] ? date('Y/m/d', $v['partner_info']['contract_end_time']) : '永久';
@@ -269,9 +304,24 @@ class SocietyInfoController extends ThinkController
if ($_POST) {
$save = I("post.");
+ if (empty($save['province'])) {
+ $this->error("省份为必填项");
+ }
+ if (empty($save['city'])) {
+ $this->error("城市为必填项");
+ }
if (empty($save['company_name'])) {
$this->error("公司为必填项");
}
+ if (empty($save['game_types'])) {
+ $this->error("游戏类型为必填项");
+ }
+ foreach ($save['game_types'] as $v) {
+ $save['game_type'] .= $v . "/";
+ }
+
+ $save['game_type'] = trim($save['game_type'], '/');
+// dump($save['game_type']);die();
if ($save['province'] == "请选择省份") $save['province'] = '';
if ($save['city'] == "请选择城市") $save['city'] = '';
foreach ($save['game_types'] as $v) {
@@ -306,6 +356,15 @@ class SocietyInfoController extends ThinkController
$save['province'] = '';
$save['city'] = '';
}
+ if (empty($save['city'])) {
+ $this->error("城市为必填项");
+ }
+ if (empty($save['company_name'])) {
+ $this->error("公司为必填项");
+ }
+ if (empty($save['game_type'])) {
+ $this->error("游戏类型为必填项");
+ }
$save['game_type'] = trim($save['game_type'], '/');
$save['communication_time'] = time();
@@ -349,6 +408,35 @@ class SocietyInfoController extends ThinkController
}
}
+ //查看
+ public function view()
+ {
+ $model = M($this->modelName, 'tab_');
+
+
+ $id = intval(I('get.id', 0));
+ $map['id'] = $id;
+ $data = $model->find($id);
+ if (empty($data)) {
+ $this->error('数据异常', U('lists'));
+ }
+ $gameTypes = M('game_type', 'tab_')->field("id, type_name")->select();
+ $myGameTypes = explode('/', $data['game_type']);
+ foreach ($gameTypes as &$v) {
+ $v['check'] = 0;
+ foreach ($myGameTypes as $item) {
+ if ($item == $v['type_name']) {
+ $v['check'] = 1;
+ }
+ }
+ }
+
+ $this->assign("game_types", $gameTypes);
+ $this->assign('data', $data);
+ $this->meta_title = '编辑';
+ $this->display();
+ }
+
//删除
public function del()
{
@@ -376,8 +464,40 @@ class SocietyInfoController extends ThinkController
$this->success('删除成功', U('lists'));
}
+ //批量删除
+ public function del_check() {
+ if (!empty($_POST['ids'])) {
+ if (!is_array($_POST['ids'])) {
+ $this->ajaxReturn(['status'=>0,'info'=>'参数异常']);
+// $this->error('参数异常');
+ }
+
+ $id = implode(',', $_POST['ids']);
+ } else {
+ $id = intval(I('get.id', 0));
+ if ($id == 0) {
+ $this->ajaxReturn(['status'=>0,'info'=>'参数异常']);
+// $this->error('参数异常');
+ }
+ }
+ $res = M($this->modelName, 'tab_')->delete($id);
+ if ($res === false) {
+// $this->error('删除失败');
+ $this->ajaxReturn(['status'=>0,'info'=>'删除失败']);
+ }
+ addOperationLog(array(
+ "op_type"=>2,
+ "key"=>$id,
+ "url"=>U("Society/lists")
+ ));
+
+ $this->ajaxReturn(['status'=>1,'info'=>'删除成功']);
+
+ }
+
// 导入
public function excelImport() {
+
header("Content-Type:text/html;charset=utf-8");
$upload = new \Think\Upload();// 实例化上传类
$upload->maxSize = 3145728 ;// 设置附件上传大小
@@ -388,8 +508,10 @@ class SocietyInfoController extends ThinkController
$info = $upload->uploadOne($_FILES['excelData']);
$filename = './Uploads/'.$info['savepath'].$info['savename'];
$exts = $info['ext'];
+
if(!$info) {// 上传错误提示错误信息
- $this->error($upload->getError());
+ $this->ajaxReturn(['msg'=>$upload->getError(),"status"=>0]);
+// $this->error($upload->getError());
}
// 上传成功
$datas = $this->parseExcelIn($filename, $exts);
@@ -404,68 +526,88 @@ class SocietyInfoController extends ThinkController
if ($flag == 0) continue;
if ($k == 1) continue;
$inserts[$k-2]['province'] = $v['A'] ?? '';
+ if (!$v['A']) {
+ $this->ajaxReturn(['msg'=>"省份不能为空".$k,"status"=>0]);
+ }
+
$inserts[$k-2]['city'] = $v['B'] ?? '';
+ if (!$v['B']) {
+ $this->ajaxReturn(['msg'=>"城市不能为空".$k,"status"=>0]);
+ }
+
$inserts[$k-2]['company_name'] = $v['C'] ?? '';
if (mb_strlen($inserts[$k-2]['company_name'], "utf-8") > 100) {
- $this->error("公司名太长".$k);
+ $this->ajaxReturn(['msg'=>"公司名太长".$k,"status"=>0]);
}
if (!$inserts[$k-2]['company_name']) {
- $this->error("公司不能为空".$k);
+ $this->ajaxReturn(['msg'=>"公司不能为空".$k,"status"=>0]);
}
$inserts[$k-2]['register_capital'] = $v['D'] ?? '';
if (strlen($inserts[$k-2]['register_capital']) > 50) {
- $this->error("推荐人太长".$k);
+ $this->ajaxReturn(['msg'=>"推荐人太长".$k,"status"=>0]);
}
$inserts[$k-2]['functionary'] = $v['E'] ?? '';
if (strlen($inserts[$k-2]['functionary']) > 50) {
- $this->error("负责人太长".$k);
+ $this->ajaxReturn(['msg'=>"负责人太长".$k,"status"=>0]);
}
$inserts[$k-2]['phone'] = $v['F'] ?? '';
if (strlen($inserts[$k-2]['phone']) > 50) {
- $this->error("手机号太长".$k);
+ $this->ajaxReturn(['msg'=>"手机号太长".$k,"status"=>0]);
}
$inserts[$k-2]['wechat'] = $v['G'] ?? '';
if (strlen($inserts[$k-2]['wechat']) > 50) {
- $this->error("微信号太长".$k);
+ $this->ajaxReturn(['msg'=>"微信号太长".$k,"status"=>0]);
}
$inserts[$k-2]['qq'] = $v['H'] ?? '';
if (strlen($inserts[$k-2]['qq']) > 50) {
- $this->error("qq号太长".$k);
+ $this->ajaxReturn(['msg'=>"qq号太长".$k,"status"=>0]);
}
$inserts[$k-2]['game_type'] = $v['I'] ?? '';
$inserts[$k-2]['game_name'] = $v['J'] ?? '';
if (strlen($inserts[$k-2]['game_name']) > 50) {
- $this->error("游戏名太长".$k);
+ $this->ajaxReturn(['msg'=>"游戏名太长".$k,"status"=>0]);
}
$inserts[$k-2]['join_platform'] = $v['K'] ?? '';
if (strlen($inserts[$k-2]['join_platform']) > 50) {
- $this->error("合作平台太长".$k);
+ $this->ajaxReturn(['msg'=>"合作平台太长".$k,"status"=>0]);
}
$inserts[$k-2]['promote_scale'] = $v['L'] ?? '';
if (strlen($inserts[$k-2]['promote_scale']) > 50) {
- $this->error("推广规模太长".$k);
+ $this->ajaxReturn(['msg'=>"推广规模太长".$k,"status"=>0]);
}
+
$inserts[$k-2]['turnover'] = $v['M'] ?? '';
if (strlen($inserts[$k-2]['turnover']) > 50) {
- $this->error("流水太长".$k);
+ $this->ajaxReturn(['msg'=>"公会等级".$k,"status"=>0]);
+ }
+
+ $inserts[$k-2]['turnover'] = $v['N'] ?? '';
+ if (strlen($inserts[$k-2]['turnover']) > 50) {
+ $this->ajaxReturn(['msg'=>"流水太长".$k,"status"=>0]);
}
- $inserts[$k-2]['address'] = $v['N'] ?? '';
+ $inserts[$k-2]['address'] = $v['O'] ?? '';
if (mb_strlen($inserts[$k-2]['address'], 'utf-8') > 100) {
- $this->error("地址太长".$k);
+ $this->ajaxReturn(['msg'=>"地址太长".$k,"status"=>0]);
}
- $inserts[$k-2]['league_info'] = $v['O'] ?? '';
+ $inserts[$k-2]['league_info'] = $v['P'] ?? '';
if (strlen($inserts[$k-2]['league_info']) > 100) {
- $this->error("联盟信息太长".$k);
+ $this->ajaxReturn(['msg'=>"联盟信息太长".$k,"status"=>0]);
}
- $inserts[$k-2]['is_potential'] = $v['P']=="是" ? 1 : 0;
- $inserts[$k-2]['remark'] = $v['Q'] ?? '';
+ if ($v['Q']) {
+ $inserts[$k-2]['is_potential'] = ($v['Q']=="是" ? 1 : 0);
+ } else {
+ $inserts[$k-2]['is_potential'] = 1;
+ }
+
+ $inserts[$k-2]['remark'] = $v['R'] ?? '';
if (strlen($inserts[$k-2]['remark']) > 100) {
- $this->error("备注太长".$k);
+ $this->ajaxReturn(['msg'=>"备注太长".$k,"status"=>0]);
}
- $inserts[$k-2]['interface_person'] = $v['R'] ?? '';
+ $inserts[$k-2]['interface_person'] = $v['S'] ?? '';
if (strlen($inserts[$k-2]['interface_person']) > 50) {
- $this->error("对接人太长".$k);
+ $this->ajaxReturn(['msg'=>"对接人太长".$k,"status"=>0]);
}
+
$inserts[$k-2]['create_time'] = time();
$inserts[$k-2]['update_time'] = time();
$inserts[$k-2]['communication_time'] = time();
@@ -474,13 +616,14 @@ class SocietyInfoController extends ThinkController
$gameTypes = explode('/', $v['I']);
foreach ($gameTypes as $gameType) {
if (!M('game_type', 'tab_')->where(["type_name" => $gameType])->find()) {
- $this->error("游戏类型有误:{$gameType}");
+ $this->ajaxReturn(['msg'=>"游戏类型有误:{$gameType}","status"=>0]);
return;
}
}
}
M('society_info', 'tab_')->addAll($inserts);
- $this->success("导入成功");
+ $this->ajaxReturn(['msg'=>"导入成功","status"=>1]);
+// $this->success("导入成功");
}
private function parseExcelIn($filename, $exts) {
@@ -521,4 +664,32 @@ class SocietyInfoController extends ThinkController
return $data;
}
+ //模板导出
+ public function downloadSocial()
+ {
+ header("Content-type: text/html; charset=utf-8");
+ error_reporting(E_ALL);
+ ini_set('display_errors', TRUE);
+ ini_set('display_startup_errors', TRUE);
+
+ define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '
');
+
+ Vendor("PHPExcel.PHPExcel");
+ $objPHPExcel = new \PHPExcel();
+ $objReader = \PHPExcel_IOFactory::createReader('Excel2007');
+
+ //设置模板文件
+ $objPHPExcel = $objReader->load("Public/Admin/excel/social_template.xls");
+
+ $fileName = "公会信息模板";
+
+ ob_end_clean();//清除缓冲区,避免乱码
+ header('pragma:public');
+ header('Content-type:application/vnd.ms-excel;charset=utf-8;name="' . $fileName .'".xls');
+ header("Content-Disposition:attachment;filename={$fileName}.xls");//attachment新窗口打印inline本窗口打印
+ $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
+ $objWriter->save('php://output');
+ exit;
+ }
+
}
diff --git a/Application/Admin/Controller/TestingResourceController.class.php b/Application/Admin/Controller/TestingResourceController.class.php
index 581ecf923..c6baeacc9 100644
--- a/Application/Admin/Controller/TestingResourceController.class.php
+++ b/Application/Admin/Controller/TestingResourceController.class.php
@@ -243,6 +243,126 @@ class TestingResourceController extends ThinkController
$this->assign('records', $records);
$this->display();
}
+ public function indexDailyCountTip()
+ {
+ $tipApply = 10000;
+ $params = [
+ 'create_time_start'=>date("Y-m-d",strtotime("-1 day")),
+ 'create_time_end'=>date("Y-m-d",time()),
+ ];
+ $where = $this->setDailyCountWhere($params);
+ $having = 'apply_amount >= '.$tipApply;
+ $dbdata = M('testing_resource_batch','tab_')
+ ->where($where)->field("FROM_UNIXTIME(create_time,'%Y-%m-%d') as create_day_time,user_id,role_id,game_id,apply_promote_id,apply_admin_id,verify_admin_id,sum(apply_amount) apply_amount,sum(provide_amount) provide_amount")
+ ->group("role_id,game_id,create_day_time")
+ ->order("create_day_time desc")
+ ->having($having)
+ ->select();
+ $repository = new TestingResourceRepository();
+ $records = $repository->makeDailyCountTipData($dbdata);
+ //获取跳转连接
+ $jumpParm = [
+ 'apply_amount_start'=>$tipApply,
+ 'create_time_start'=>$params['create_time_start'],
+ 'create_time_end'=>$params['create_time_end']
+ ];
+ $jumpUrl = U("TestingResource/dailyCount",$jumpParm);
+ $this->ajaxReturn(['status'=>1,'count'=>count($records),'list'=>$records,'jump'=>$jumpUrl]);
+ }
+ //每日统计
+ public function dailyCount()
+ {
+ $page = I('p', 1);
+ $row = I('row', 10);
+ $params = I('get.');
+
+ if(!array_key_exists("create_time_start",$params) && !array_key_exists("create_time_end",$params)){
+ $this->redirect(ACTION_NAME, array('create_time_start' => date('Y-m-d'),"create_time_end"=>date('Y-m-d')));
+ }
+
+ $where = $this->setDailyCountWhere($params);
+ $having = '1=1';
+ isset($params['apply_amount_start']) && !empty($params['apply_amount_start']) && ( $having .= ' and apply_amount >=' . $params['apply_amount_start']);
+ isset($params['apply_amount_end']) && !empty($params['apply_amount_end']) && ( $having .= ' and apply_amount <=' . $params['apply_amount_end']);
+
+ $isExport = $params['export'] ?? 0;
+ $query = M('testing_resource_batch','tab_')
+ ->where($where)->field("FROM_UNIXTIME(create_time,'%Y-%m-%d') as create_day_time,user_id,role_id,game_id,apply_promote_id,apply_admin_id,verify_admin_id,sum(apply_amount) apply_amount,sum(provide_amount) provide_amount")
+ ->group("role_id,game_id,create_day_time")
+ ->order("apply_amount desc,create_day_time desc")
+ ->having($having);
+ $countsql = clone $query;
+ if(empty($isExport)){
+ $dbdata= $query->page($page,$row)->select();
+ $count = M()->table('('.$countsql->select(false).') a')->count();
+ }else{
+ $dbdata= $query->select();
+ }
+ $repository = new TestingResourceRepository();
+ $records = $repository->makeDailyCountData($dbdata);
+
+ $pagination = set_pagination($count, $row);
+ $gameRepository = new GameRepository();
+ $gameId = $params['game_id'] ?? 0;
+ $this->assign('games', $gameRepository->getChoiceGames());
+ $this->assign('count', $count);
+ $this->assign('_page', $pagination);
+ $this->assign('records', $records);
+ $this->display();
+ }
+ protected function setDailyCountWhere($params)
+ {
+ $where['_string'] = '1 = 1';
+ isset($params['game_id']) && !empty($params['game_id']) && ($where['game_id'] = $params['game_id']);
+ isset($params['server_id']) && !empty($params['server_id']) && ($where['server_id'] = $params['server_id']);
+ if (isset($params['account']) && !empty($params['account'])) {
+ $user = M('user', 'tab_')->field(['id'])->where('account like "' . $params['account'] . '%"')->getField('id',true);
+ if (!empty($user)) {
+ $where['user_id'] = ['in',$user];
+ } else {
+ $where['_string'] .= ' and 1<>1';
+ return $where;
+ }
+ }
+ isset($params['create_time_start']) && !empty($params['create_time_start']) && ( $where['_string'] .= ' and create_time >=' . strtotime($params['create_time_start'] . ' 00:00:00'));
+ isset($params['create_time_end']) && !empty($params['create_time_end']) && ( $where['_string'] .= ' and create_time <=' . strtotime($params['create_time_end'] . ' 23:59:59'));
+ if (isset($params['role_name']) && !empty($params['role_name']) ) {
+ $roles = M('user_play_info', 'tab_')->where(['role_name' => ['like', "%{$params['role_name']}%"]])->getField('role_id',true);
+ if(!empty($roles)){
+ $where['role_id'] = ["in",$roles];
+ }else{
+ $where['_string'] .= ' and 1<>1';
+ return $where;
+ }
+ }
+ if (isset($params['apply_name']) && !empty($params['apply_name'])) {
+ $promote = M('promote', 'tab_')->where(['account' => ['like', "%{$params['apply_name']}%"]])->getField('id',true);
+ $applyAdmins = M('ucenter_member', 'sys_')->where(['username' => ['like', "%{$params['apply_name']}%"]])->getField('id',true);
+ if(empty($promote) && empty($applyAdmins)){
+ $where['_string'] .= ' and 1<>1';
+ return $where;
+ }
+ if(!empty($promote)){
+ $promote = implode(",",$promote);
+ if(empty($applyAdmins)){
+ $where['_string'] .= " and apply_promote_id in ({$promote })";
+ }else{
+ $where['_string'] .= " and ( apply_promote_id in ({$promote })";
+ }
+ }
+ if(!empty($applyAdmins)){
+ $applyAdmins = implode(",",$applyAdmins);
+ if(empty($promote)){
+ $where['_string'] .= " and apply_admin_id in ({$applyAdmins}) ";
+ }else{
+ $where['_string'] .= " or apply_admin_id in ({$applyAdmins}) )";
+ }
+ }
+ }
+ return $where;
+ }
+
+
public function orders()
{
diff --git a/Application/Admin/Controller/TimingController.class.php b/Application/Admin/Controller/TimingController.class.php
index 5f50f2acc..b500187f7 100644
--- a/Application/Admin/Controller/TimingController.class.php
+++ b/Application/Admin/Controller/TimingController.class.php
@@ -10,6 +10,7 @@
namespace Admin\Controller;
use User\Api\UserApi as UserApi;
use function GuzzleHttp\Psr7\str;
+use Base\Factory\BaseFactory;
/**
* 后台首页控制器
@@ -1545,4 +1546,13 @@ class TimingController extends AdminController {
}
+ //离职定时器
+ public function timingleaveMarketMember() {
+
+ $instance = BaseFactory::getInstance();
+ $leavePercentageInstance = $instance->factoryClass("LeavePercentage");
+
+ $leavePercentageInstance->leaveTiming();
+ }
+
}
diff --git a/Application/Admin/Controller/UserController.class.php b/Application/Admin/Controller/UserController.class.php
index 6d3013b5f..c935e31fa 100644
--- a/Application/Admin/Controller/UserController.class.php
+++ b/Application/Admin/Controller/UserController.class.php
@@ -31,6 +31,11 @@ class UserController extends AdminController
if (isset($_REQUEST['status'])) {
$map['status'] = $_REQUEST['status'];
}
+
+ if(isset($_REQUEST['real_name'])) {
+ $map['real_name'] = $_REQUEST['real_name'];
+ }
+
if (is_numeric($nickname)) {
$map['uid|nickname'] = array(intval($nickname), array('like', '%' . $nickname . '%'), '_multi' => true);
} else {
@@ -389,6 +394,22 @@ class UserController extends AdminController
}
}
+ if (strtotime($_POST['apply_leave_time'])