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..dad27bfed 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']); + 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 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']); @@ -241,6 +334,7 @@ class CompanyStatementPoolController extends ThinkController } + public function editPool() { if(!isset($_REQUEST['id'])){ $this->error('参数错误'); @@ -253,7 +347,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 +355,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 +395,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 +406,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 +418,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 +430,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 +445,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 +945,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']; @@ -773,18 +1037,240 @@ class CompanyStatementPoolController extends ThinkController $old_line++; } - if(count($hv['game_list'])>1) { + 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) { + + for (;;) { + + if (!$handle_data[$lk-$substract]['time']) { +// $nline++; + $substract++; + } else { + $handle_data[$lk-$substract]['row'] += 1; + $handle_data[$lk-$substract]['week_amount'] += $lv['sum_money'] - $lv['withhold'] + $lv['reward'] - $lv['fine']; + +// 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['sum_money'] - $lv['withhold'] + $lv['reward'] - $lv['fine']; +// $nline++; +// if ($is_export) { +// $lv['week_amount'] = "=ROUND(SUM(I{$cline}:I{$nline}),2)"; +// } + } + + array_push($handle_data,$lv); + + } + + } + + foreach($handle_data as $hk => $hv) { + $substract = 1; + if ($is_export) { +// dump($hv); + for (;;) { + + if (!$handle_data[$hk+$substract]['time']&&$handle_data[$hk+$substract]&&$hv['time']) { +// dump($handle_data[$hk+$substract]); + + $cline++; + $substract++; + } else { + break; + } + + } + +// if (count($handle_data)>1) { +// $cline += count($handle_data)-1; +// } + + if ($hv['time']&&$hk!=0) { + $nline =+ $cline+1; + $cline = $nline; + } + + $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)"; + +// if ($hk > 0) { +// $handle_data[0]['week_amount'] = str_replace($nline,$cline,$handle_data[0]['week_amount']); +// } + +// if (count($handle_data)>1) { +// +// $nline += count($handle_data); +// +// } else { +// $nline++; +// } +// +// if(count($handle_data)>1) { +// +// $cline = $nline ; +// } else { +// $cline = $nline; +// } + + } + + } +// die(); + + 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) { + + for (;;) { + + if (!$handle_data[$lk-$substract]['time']) { +// $nline++; + $substract++; + } else { + $handle_data[$lk-$substract]['row'] += 1; + $handle_data[$lk-$substract]['week_amount'] += $lv['sum_money'] - $lv['withhold'] + $lv['reward'] - $lv['fine']; + +// 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['sum_money'] - $lv['withhold'] + $lv['reward'] - $lv['fine']; +// $nline++; +// if ($is_export) { +// $lv['week_amount'] = "=ROUND(SUM(I{$cline}:I{$nline}),2)"; +// } + } + + array_push($handle_data,$lv); + + } + + } + + foreach($handle_data as $hk => $hv) { + $substract = 1; + if ($is_export) { +// dump($hv); + for (;;) { + + if (!$handle_data[$hk+$substract]['time']&&$handle_data[$hk+$substract]&&$hv['time']) { +// dump($handle_data[$hk+$substract]); + + $cline++; + $substract++; + } else { + break; + } + + } + +// if (count($handle_data)>1) { +// $cline += count($handle_data)-1; +// } + + if ($hv['time']&&$hk!=0) { + $nline =+ $cline+1; + $cline = $nline; + } + + $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; - } +// if ($hk > 0) { +// $handle_data[0]['week_amount'] = str_replace($nline,$cline,$handle_data[0]['week_amount']); +// } + +// if (count($handle_data)>1) { +// +// $nline += count($handle_data); +// +// } else { +// $nline++; +// } +// +// if(count($handle_data)>1) { +// +// $cline = $nline ; +// } else { +// $cline = $nline; +// } } } -// dump($handle_data); - return $handle_data?$handle_data:[]; +// die(); + + return $handle_data; } //下游汇总结算查看 @@ -817,6 +1303,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 +1325,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 +1352,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 +1369,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 +1384,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 +1413,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 +1440,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 +1953,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 +2152,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 +2213,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 +2272,7 @@ class CompanyStatementPoolController extends ThinkController } return $resarr; } - + //编辑个人结算单 public function editCompanyStatementPool() { $data = $_POST; @@ -1855,7 +2306,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 +2333,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 +2379,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 +2712,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/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/SocietyInfoController.class.php b/Application/Admin/Controller/SocietyInfoController.class.php index df90c804e..84292f5c4 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'] = ''; $save['create_time'] = time(); @@ -301,6 +351,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(); @@ -344,6 +403,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() { @@ -371,8 +459,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 ;// 设置附件上传大小 @@ -383,8 +503,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); @@ -399,68 +521,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(); @@ -469,13 +611,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) { @@ -516,4 +659,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/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'])error('申请离职时间不能早于当前时间!'); + } + + if (strtotime($_POST['leave_time'])error('离职时间不能早于当前时间!'); + } + + if (strtotime($_POST['apply_leave_time'])>strtotime($_POST['leave_time'])) { + $this->error('申请离职时间不得晚于离职时间!'); + } + + if ((strtotime($_POST['apply_leave_time'])&&!strtotime($_POST['leave_time']))||!strtotime($_POST['apply_leave_time'])&&strtotime($_POST['leave_time'])) { + $this->error('申请离职时,申请离职时间与离职时间都必须填写!'); + } + $group = M('auth_group', 'sys_')->where(['id' => I('auth')])->find(); if (is_null($group)) { $this->error('角色类型不存在!'); @@ -430,6 +451,8 @@ class UserController extends AdminController $info['second_pwd'] = (empty($spwd) || $spwd == $oldspwd) ? $oldspwd : $spwd; $info['email'] = $_POST['email']; $info['mobile'] = isset($_POST['mobile']) ? $_POST['mobile'] : ''; + $_POST['apply_leave_time'] ? ($info['apply_leave_time'] = strtotime($_POST['apply_leave_time'])):''; + $_POST['leave_time'] ? ($info['leave_time'] = strtotime($_POST['leave_time'])+86399):''; if($_POST['work_status']) { $info['work_status'] = $_POST['work_status']; } @@ -463,6 +486,9 @@ class UserController extends AdminController $map['id'] = $_GET['id']; $Member = D('UcenterMember')->where($map)->find(); + $Member['apply_leave_time']?($Member['apply_leave_time'] = date("Y-m-d",$Member['apply_leave_time'])):($Member['apply_leave_time']=''); + $Member['leave_time']?($Member['leave_time'] = date("Y-m-d",$Member['leave_time'])):($Member['leave_time']=''); + $data = D('Member')->where(array('uid' => $_GET['id']))->find(); $au = D('AuthGroupAccess')->where(array('uid' => $_GET['id']))->find(); diff --git a/Application/Admin/Model/ModelModel.class.php b/Application/Admin/Model/ModelModel.class.php index b54e2e186..8d628dd5e 100644 --- a/Application/Admin/Model/ModelModel.class.php +++ b/Application/Admin/Model/ModelModel.class.php @@ -86,7 +86,7 @@ class ModelModel extends Model{ return empty($fields) ? '' : json_encode($fields); } - protected function getAttribute($fields) { + protected function getAttribute($fields="") { return empty($fields) ? '' : implode(',', $fields); } diff --git a/Application/Admin/View/CompanyStatementPool/editCpPool.html b/Application/Admin/View/CompanyStatementPool/editCpPool.html new file mode 100644 index 000000000..a2cd84264 --- /dev/null +++ b/Application/Admin/View/CompanyStatementPool/editCpPool.html @@ -0,0 +1,690 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
合作公司平台结算日期产品平台流水未结算平台流水退款分成比例渠道费率税费费率合作方待结算分成违规罚款奖励其他扣款周期结算金额合作待结算金额是否结算是否支付宝打款账户信息备注操作
合作方我方户名账号开户行
{$com.company_name}{$com.matche_platform}{$com['statement_info'][0]['time']}{$com['statement_info'][0]['game_name']}{$com['statement_info'][0]['pay_amount']}{$com['statement_info'][0]['pay_amount']} + + + + + 0 + + + {$com['statement_info'][0]['ratio']|showNumPercent} + + + + {$com['statement_info'][0]['company_ratio']|showNumPercent}{$com['statement_info'][0]['promote_ratio']|showNumPercent} + {$com['statement_info'][0]['fax_ratio']|showNumPercent} + + + + + {$com['statement_info'][0]['d_statement_money']} + + + {$com['fine']-0}{$com['reward']-0} + + + + + 0 + + + {$com['statement_info'][0]['week_amount']} + {$com['statement_money']}{$com.company_info.payee_name} {$com.company_info.bank_account}{$com.company_info.opening_bank}{$com.company_info.ali_user}{$com.company_info.ali_account} + + 不结算 + + + 奖惩分离 + +
{$it['time']}{$it['game_name']}{$it['pay_amount']}{$it['pay_amount']} + + + + 0 + + + {$it['ratio']|showNumPercent} + + + + {$it['company_ratio']|showNumPercent}{$it['promote_ratio']|showNumPercent} + {$it['fax_ratio']|showNumPercent} + + + + + {$it['d_statement_money']} + + + {$it['fine']-0}{$it['reward']-0} + + + + + 0 + + {$it['week_amount']}
合计:{$count.platform_amount}{$count.platform_amount2}{$count.d_statement_money}{$count.fine}{$count.reward}{$count.statement_money}{$count.statement_money}
+ +
+ {$pool_data.firstverify} +
+ +
+ {$pool_data.firstverify} +
+
+
+ +
+ {$pool_data.verify} +
+ +
+ {$pool_data.verify} +
+
+
+ +
+ {$pool_data.payment} +
+ +
+ {$pool_data.payment} +
+
+
+ +
+
+ + +
+ +
+
+ + + diff --git a/Application/Admin/View/CompanyStatementPool/editPcPool.html b/Application/Admin/View/CompanyStatementPool/editPcPool.html new file mode 100644 index 000000000..2904af6af --- /dev/null +++ b/Application/Admin/View/CompanyStatementPool/editPcPool.html @@ -0,0 +1,687 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
序号公司名称结算日期合作产品名称平台总额(元)退款下游内团分成比例补点比例税费费率分成金额/元罚款奖励其他扣款周期结算金额合计/元对账人户名帐号开户行是否支付宝打款是否结算备注操作
{$key-0+1}{$com.company_name}{$com['statement_info'][0]['time']}{$com['statement_info'][0]['game_name']}{$com['statement_info'][0]['pay_amount']} + + + + 0 + + + {$com['statement_info'][0]['ratio']|showNumPercent} + + + + + {$com['statement_info'][0]['increment_ratio']|showNumPercent} + + + + + {$com['statement_info'][0]['fax_ratio']|showNumPercent} + + + + + {$com['statement_info'][0]['d_statement_money']} + + + {$com['statement_info'][0]['fine']-0}{$com['statement_info'][0]['reward']-0} + + + + + 0 + + + {$com['statement_info'][0]['week_amount']} + + {$com['statement_money']} + {$com.settlement_contact}{$com.company_info.payee_name} {$com.company_info.bank_account}{$com.company_info.opening_bank}{$com.company_info.ali_user}{$com.company_info.ali_account} + + 不结算 + + + 奖惩分离 + +
{$it['time']}{$it['game_name']}{$it['pay_amount']} + + + + 0 + + + {$it['ratio']|showNumPercent} + + + + + {$it['increment_ratio']|showNumPercent} + + + + + {$it['fax_ratio']|showNumPercent} + + + + + {$it['d_statement_money']} + + + {$it['fine']-0}{$it['reward']-0} + + + + + 0 + + {$it['week_amount']}
合计:{$count.platform_amount}{$count.d_statement_money}{$count.fine}{$count.reward}{$count.statement_money}{$count.statement_money}
+ +
+ {$pool_data.firstverify} +
+ +
+ {$pool_data.firstverify} +
+
+
+ +
+ {$pool_data.verify} +
+ +
+ {$pool_data.verify} +
+
+
+ +
+ {$pool_data.payment} +
+ +
+ {$pool_data.payment} +
+
+
+ +
+
+ + +
+ +
+
+ + + diff --git a/Application/Admin/View/CompanyStatementPool/editPuPool.html b/Application/Admin/View/CompanyStatementPool/editPuPool.html index ee6569fe4..90bc0dee3 100644 --- a/Application/Admin/View/CompanyStatementPool/editPuPool.html +++ b/Application/Admin/View/CompanyStatementPool/editPuPool.html @@ -166,19 +166,42 @@ {$com['statement_info'][0]['time']} {$com['statement_info'][0]['game_list'][0]['pay_amount']} - - % - % + + + + + 0 + + + + + % + + 0% + + + + + % + + 0% + + {$com['statement_info'][0]['game_list'][0]['sum_money']} - + + - {$com['statement_info'][0]['reward']||default="0"} - {$com['statement_info'][0]['fine']||default="0"} + {$com['statement_info'][0]['game_list'][0]['reward']||default="0"} + {$com['statement_info'][0]['game_list'][0]['fine']||default="0"} - - + + + + + 0 + {$com['statement_info'][0]['week_amount']} {$com['statement_money']} @@ -215,9 +238,12 @@ - + 不结算 + + 奖惩分离 + @@ -231,9 +257,27 @@ {$game['game_type_name']} {$game['pay_amount']} - - % - % + + + + + 0 + + + + + % + + 0% + + + + + % + + 0% + + {$game['sum_money']} @@ -264,9 +308,27 @@ {$account['game_list'][0]['pay_amount']} - - % - % + + + + + 0 + + + + + % + + 0% + + + + + % + + 0% + + {$account['game_list'][0]['sum_money']} @@ -280,8 +342,12 @@ - - + + + + + 0 + {$account['week_amount']} @@ -309,9 +375,27 @@ {$game['pay_amount']} - - % - % + + + + + 0 + + + + + % + + 0 + + + + + % + + 0 + + {$game['sum_money']} @@ -380,6 +464,34 @@ saveForm(id); }); + + var pool_ids = "{$_GET['id']}"; + $(".split_RewardOrFail").on("click",function() { + + var id = $(this).data('id'); + var st = $(this).data('st'); + layer.confirm("是否确认对该数据进行奖惩分离", {title: false}, function (index) { + $.ajax({ + type: "POST", + url: "{:U('splitRewardOrFailData')}", + dataType: 'json', + async: false, + data: {id: id, st: st, pool_id: pool_ids}, + success: function (data) { + if (data.status == 1) { + layer.msg("" + data.msg + ""); + setTimeout(function () { + window.location.reload(); + }, 1500); + } else { + layer.msg("" + data.msg + ""); + return false; + } + } + }); + }); + }); + var return_data = ""; function saveForm(id) { @@ -560,9 +672,9 @@ } else { week_amount_find = week_amount_find.prev(); } - if (i>10) { - break; - } + // if (i>10) { + // break; + // } } var D_value = parseFloat(old_amount)-parseFloat(this_amount) + parseFloat(withhold-oldwithhold); diff --git a/Application/Admin/View/CompanyStatementPool/lists.html b/Application/Admin/View/CompanyStatementPool/lists.html index 5a669cd53..2159b014e 100644 --- a/Application/Admin/View/CompanyStatementPool/lists.html +++ b/Application/Admin/View/CompanyStatementPool/lists.html @@ -217,7 +217,7 @@
- {$data.payment} + class="unPayment" style="color:blue" data-id="{$data['id']}">{$data.payment}
@@ -306,6 +306,19 @@ }); }); + $(".unPayment").click(function () { + var id = $(this).data("id"); + var url = "{:U('viewUnPaymentPool')}"+"&id="+id + layer.open({ + type: 2, + title: "海南万盟天下科技有限公司", + shadeClose: true, + shade: 0.8, + area: ['100%', '100%'], + content: url + }); + }); + $(".editPool").click(function () { var id = $(this).data("id"); var url = "{:U('editPool')}"+"&id="+id diff --git a/Application/Admin/View/CompanyStatementPool/viewCpPool.html b/Application/Admin/View/CompanyStatementPool/viewCpPool.html index 42b844d8a..0a5c28b1e 100644 --- a/Application/Admin/View/CompanyStatementPool/viewCpPool.html +++ b/Application/Admin/View/CompanyStatementPool/viewCpPool.html @@ -103,6 +103,7 @@ 产品 平台流水 未结算平台流水 + 退款 分成比例 @@ -111,6 +112,8 @@ 合作方待结算分成 违规罚款 奖励 + 其他扣款 + 周期结算金额 合作待结算金额 @@ -135,17 +138,23 @@ + + + aOh! 暂时还没有内容! + + {$com.company_name} {$com.matche_platform} - - {$com['statement_info'][0]['statement_begin_time']}-{$com['statement_info'][0]['statement_end_time']} + {$com['statement_info'][0]['time']} + {$com['statement_info'][0]['game_name']} {$com['statement_info'][0]['pay_amount']} {$com['statement_info'][0]['pay_amount']} + {$com['statement_info'][0]['refund']|default=0} {$com['statement_info'][0]['ratio']|showNumPercent} {$com['statement_info'][0]['company_ratio']|showNumPercent} {$com['statement_info'][0]['promote_ratio']|showNumPercent} @@ -154,6 +163,12 @@ {$com['fine']-0} {$com['reward']-0} + + {$com['statement_info'][0]['withhold']|default=0} + + + {$com['statement_info'][0]['week_amount']} + {$com['statement_money']} @@ -177,7 +192,7 @@ - + 不结算 @@ -187,18 +202,29 @@ - {$it['statement_begin_time']}-{$it['statement_end_time']} - - - + + + {$it['time']} + {$it['game_name']} {$it['pay_amount']} {$it['pay_amount']} + + {$it['refund']|default=0} + {$it['ratio']|showNumPercent} {$it['company_ratio']|showNumPercent} {$it['promote_ratio']|showNumPercent} {$it['fax_ratio']|showNumPercent} {$it['d_statement_money']} + + {$it['fine']-0} + {$it['reward']-0} + + {$it['withhold']|default=0} + + {$it['week_amount']} + @@ -212,10 +238,13 @@ + {$count.d_statement_money} {$count.fine} {$count.reward} + {$count.statement_money} + {$count.statement_money_s} @@ -226,6 +255,51 @@ + + + 初审状态: + + +
+ {$pool_data.firstverify} +
+ +
+ {$pool_data.firstverify} +
+
+ + + + 审批状态: + + +
+ {$pool_data.verify} +
+ +
+ {$pool_data.verify} +
+
+ + + + 打款状态: + + +
+ {$pool_data.payment} +
+ +
+ {$pool_data.payment} +
+
+ + + +
diff --git a/Application/Admin/View/CompanyStatementPool/viewPcPool.html b/Application/Admin/View/CompanyStatementPool/viewPcPool.html index 41dd1e73f..4a5642395 100644 --- a/Application/Admin/View/CompanyStatementPool/viewPcPool.html +++ b/Application/Admin/View/CompanyStatementPool/viewPcPool.html @@ -98,19 +98,21 @@ 序号 公司名称 - + 结算日期 合作产品名称 平台总额(元) + 退款 下游内团分成比例 补点比例 税费费率 分成金额/元 罚款 奖励 - + 其他扣款 + 周期结算金额 合计/元 对账人 - 结算日期 + 户名 帐号 开户行 @@ -124,23 +126,38 @@ + + + aOh! 暂时还没有内容! + + {$key-0+1} {$com.company_name} - + {$com['statement_info'][0]['time']} {$com['statement_info'][0]['game_name']} {$com['statement_info'][0]['pay_amount']} + {$com['statement_info'][0]['refund']|default=0} {$com['statement_info'][0]['ratio']|showNumPercent} {$com['statement_info'][0]['increment_ratio']|showNumPercent} {$com['statement_info'][0]['fax_ratio']|showNumPercent} {$com['statement_info'][0]['d_statement_money']} - {$com['fine']-0} - {$com['reward']-0} + + + {$com['statement_info'][0]['fine']-0} + {$com['statement_info'][0]['reward']-0} + + + {$com['statement_info'][0]['withhold']|default=0} + + + {$com['statement_info'][0]['week_amount']} + + {$com['statement_money']} {$com.settlement_contact} - {$com['statement_info'][0]['statement_begin_time']}-{$com['statement_info'][0]['statement_end_time']} @@ -157,11 +174,11 @@ - {$com.renark} + {$com.remark} - + 不结算 @@ -171,14 +188,28 @@ - + + {$it['time']} + {$it['game_name']} {$it['pay_amount']} + + {$it['refund']|default=0} + {$it['ratio']|showNumPercent} {$it['increment_ratio']|showNumPercent} {$it['fax_ratio']|showNumPercent} {$it['d_statement_money']} - {$it['statement_begin_time']}-{$it['statement_end_time']} + + + {$it['fine']-0} + {$it['reward']-0} + + {$it['withhold']|default=0} + + {$it['week_amount']} + + @@ -190,18 +221,17 @@ - 合计: + 合计: {$count.platform_amount} - + {$count.d_statement_money} {$count.fine} {$count.reward} - {$count.statement_money} - - + {$count.statement_money} + {$count.statement_money_s} @@ -213,6 +243,51 @@
+ + + 初审状态: + + +
+ {$pool_data.firstverify} +
+ +
+ {$pool_data.firstverify} +
+
+ + + + 审批状态: + + +
+ {$pool_data.verify} +
+ +
+ {$pool_data.verify} +
+
+ + + + 打款状态: + + +
+ {$pool_data.payment} +
+ +
+ {$pool_data.payment} +
+
+ + + +
diff --git a/Application/Admin/View/CompanyStatementPool/viewPuPool.html b/Application/Admin/View/CompanyStatementPool/viewPuPool.html index 04a4ab5ed..741cf1a0d 100644 --- a/Application/Admin/View/CompanyStatementPool/viewPuPool.html +++ b/Application/Admin/View/CompanyStatementPool/viewPuPool.html @@ -137,7 +137,11 @@ - + + + aOh! 暂时还没有内容! + + {$key-0+1} @@ -169,8 +173,8 @@ {$com['statement_info'][0]['game_list'][0]['increment_ratio']}% {$com['statement_info'][0]['game_list'][0]['sum_money']} - {$com['statement_info'][0]['reward']||default="0"} - {$com['statement_info'][0]['fine']||default="0"} + {$com['statement_info'][0]['game_list'][0]['reward']||default="0"} + {$com['statement_info'][0]['game_list'][0]['fine']||default="0"} {$com['statement_info'][0]['game_list'][0]['withhold']|default=0} {$com['statement_info'][0]['week_amount']||default="0"} {$com['statement_money']} @@ -207,7 +211,7 @@ - + 不结算 @@ -361,7 +365,51 @@ + + + 初审状态: + + +
+ {$pool_data.firstverify} +
+ +
+ {$pool_data.firstverify} +
+
+ + + + 审批状态: + + +
+ {$pool_data.verify} +
+ +
+ {$pool_data.verify} +
+
+ + + + 打款状态: + + +
+ {$pool_data.payment} +
+ +
+ {$pool_data.payment} +
+
+ + +
diff --git a/Application/Admin/View/Game/lists.html b/Application/Admin/View/Game/lists.html index dac9c34b2..f846e5604 100644 --- a/Application/Admin/View/Game/lists.html +++ b/Application/Admin/View/Game/lists.html @@ -148,6 +148,7 @@ text-indent:0; 游戏ID 游戏名称 + 归属识别号 运营平台 混服管理 游戏类型 @@ -173,6 +174,7 @@ text-indent:0; {$data.id} {$data.game_name} + {$data.unique_code|default="无"} {:get_systems_name($data['sdk_version'])} {:getServerType($data['server_type'])} diff --git a/Application/Admin/View/MarketPercentage/addcoefficient.html b/Application/Admin/View/MarketPercentage/addcoefficient.html index 15f0f19e1..1e3af9780 100644 --- a/Application/Admin/View/MarketPercentage/addcoefficient.html +++ b/Application/Admin/View/MarketPercentage/addcoefficient.html @@ -104,6 +104,9 @@ + + 下载模板 + 返回 diff --git a/Application/Admin/View/MarketPercentage/marketstaffsettle.html b/Application/Admin/View/MarketPercentage/marketstaffsettle.html index 0ab9ee713..9ee0bf269 100644 --- a/Application/Admin/View/MarketPercentage/marketstaffsettle.html +++ b/Application/Admin/View/MarketPercentage/marketstaffsettle.html @@ -194,6 +194,7 @@ 时间 市场专员 + 离职时间 级别
开发总流水当月自主开发下渠道游戏内充值总和
维护总流水当月只维护下渠道游戏内充值总和
@@ -222,6 +223,7 @@ {$data.pay_time|default='无'} {$data.real_name|default='无'} + {$data.leave_time|default='--'} {$data.level|default='无'} {$data.performance_revenue|default='0.00'} diff --git a/Application/Admin/View/SocietyInfo/add.html b/Application/Admin/View/SocietyInfo/add.html index 4148f91cd..b6fc92202 100644 --- a/Application/Admin/View/SocietyInfo/add.html +++ b/Application/Admin/View/SocietyInfo/add.html @@ -32,7 +32,7 @@ - + - + - - + + + + + + + + + + + + + + + @@ -119,6 +131,11 @@ + + if(C('COLOR_STYLE')=='blue_color') echo ''; + + +
@@ -134,6 +151,29 @@
省份:*省份: @@ -40,7 +40,7 @@
城市:*城市: @@ -84,8 +84,8 @@
游戏类型:*游戏类型: {$vo['type_name']}: @@ -111,6 +111,20 @@
公会等级: + + +
流水: @@ -222,10 +236,10 @@ var cres = $('form').serializeArray(); console.log(cres); if ($("#province").val() == "请选择省份" || !$("#province").val()) { - // layer.msg('请选择省份');return ; + layer.msg('请选择省份');return ; } if (!$("#city").val()) { - // layer.msg('请选择城市');return ; + layer.msg('请选择城市');return ; } if (!$("#company_name").val()) { layer.msg('请输入公司名');return ; diff --git a/Application/Admin/View/SocietyInfo/edit.html b/Application/Admin/View/SocietyInfo/edit.html index 48539f364..604167269 100644 --- a/Application/Admin/View/SocietyInfo/edit.html +++ b/Application/Admin/View/SocietyInfo/edit.html @@ -33,7 +33,7 @@ - + - + - + @@ -85,7 +85,7 @@ - + + + + + + + @@ -136,6 +158,7 @@ + @@ -155,10 +178,12 @@ - style="background: yellow;" > + + + - + @@ -168,6 +193,7 @@ + @@ -182,7 +208,10 @@ @@ -192,58 +221,58 @@
省份:*省份: @@ -41,7 +41,7 @@
城市:*城市: @@ -49,7 +49,7 @@
公司:*公司:
游戏类型:*游戏类型: @@ -120,6 +120,19 @@
公会等级: + + +
流水: @@ -255,10 +268,10 @@ $("#submit").on("click",function(){ var cres = $('form').serializeArray(); if ($("#province").val() == "请选择省份" || !$("#province").val()) { - // layer.msg('请选择省份');return ; + layer.msg('请选择省份');return ; } if (!$("#city").val()) { - // layer.msg('请选择城市');return ; + layer.msg('请选择城市');return ; } if (!$("#company_name").val()) { layer.msg('请输入公司名');return ; diff --git a/Application/Admin/View/SocietyInfo/lists.html b/Application/Admin/View/SocietyInfo/lists.html index 86f56fdb8..c7c6e72db 100644 --- a/Application/Admin/View/SocietyInfo/lists.html +++ b/Application/Admin/View/SocietyInfo/lists.html @@ -75,6 +75,20 @@ +
+ +
+ +
+   +
+ @@ -96,6 +110,11 @@ 导出 +
+ + 删除 + +
时间间隔设置 @@ -107,7 +126,8 @@
- + +
@@ -124,6 +144,8 @@
序号 省份 城市 公司所做游戏 合作平台 推广规模公会等级 流水 地址 联盟信息aOh! 暂时还没有内容!
{$data.num} {$data.province} {$data.city}{$data.company_name} {$data.company_name} {$data.register_capital} {$data.functionary} {$data.phone}{$data.game_name} {$data.join_platform} {$data.promote_scale}{$data.sociaty_level_str} {$data.turnover} {$data.address} {$data.league_info} 编辑 - 删除 + 查看 + + 删除 +
- + + + + + + + + + + + + + + + + + + + + + + + + +
{$_page|default=''} @@ -302,6 +331,42 @@ }); } + $("#del_check").click(function () { + var text = $("input:checkbox[name='ids[]']:checked").map(function(index,elem) { + return $(elem).val(); + }).get(); + + if(text.length < 1){ + layer.msg("" + '没有需要删除的数据' + ""); + return; + } + layer.confirm('删除后将无法恢复,请慎重选择', { + btn: ['确认','取消'], + title:false + }, function(){ + $.ajax({ + type: "POST", + url: "{:U('del_check')}", + dataType: 'json', + async: false, + data: {ids:text}, + success:function(data){ + if(data.status==1){ + layer.msg("" + data.info + ""); + setTimeout(function(){ + window.location.reload(); + },1500); + }else{ + layer.msg("" + data.info + ""); + return false; + } + } + }); + }); + + }); + + $(function() { areaInit(); mapInit(); @@ -311,6 +376,12 @@ //导航高亮 highlight_subnav("{:U('lists')}"); $(function(){ + $("#downloads").on("click",function(){ + var url = $(this).attr("url"); + window.location.href = url; + return false;; + + }); $("#excel_in").click(function () { $(".search_list").hide(); $(".excel_list").show(); @@ -318,6 +389,46 @@ $(".model").show(); return false; }); + + $("#submit").click(function () { + var fileObj = document.getElementById("excelData").files[0]; // js 获取文件对象 + var url = $(this).attr('url'); + var oReq = new XMLHttpRequest(); + + var formFile = new FormData(); + formFile.append("excelData", fileObj); //加入文件对象 + + layer.confirm('【提示】是否确认导入公会信息', { + btn: ['确认','取消'], + title:false + }, function(index){ + $.ajax({ + url:url, + type:"post", + data:formFile, + dataType:'json', + cache: false, + processData: false, + contentType: false, + success:function(data){ + if (data.status == 1) { + layer.msg(data.msg); + setTimeout(function(){ + // window.parent.reload() + window.location.href = "{:U('lists')}"; + },2000) + + } else { + layer.msg(data.msg); + } + + } + }) + }); + + return false; + }); + $("#excel_back").click(function () { $(".search_list").show(); $(".excel_list").hide(); diff --git a/Application/Admin/View/SocietyInfo/view.html b/Application/Admin/View/SocietyInfo/view.html new file mode 100644 index 000000000..04f57c86c --- /dev/null +++ b/Application/Admin/View/SocietyInfo/view.html @@ -0,0 +1,300 @@ + + + + + + + + + + + + + + + + + +
+ + +
+ +
+ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
省份: + + +
城市: + + +
公司: + +
注册资本: + +
负责人: + +
电话: + +
微信: + +
QQ: + +
游戏类型: + + {$vo['type_name']}: checked disabled> + + + +
所做游戏: + +
合作平台: + +
推广规模: + +
公会等级: + + +
流水: + +
地址: + +
联盟信息: + +
是否为意向客户: + + + + + +
备注信息: + +
对接人: + +
+
+ +
+
+
+ + + +
+ + + + + + + + + + diff --git a/Application/Admin/View/User/edit.html b/Application/Admin/View/User/edit.html index 84f1118de..1aa028c6a 100644 --- a/Application/Admin/View/User/edit.html +++ b/Application/Admin/View/User/edit.html @@ -68,17 +68,29 @@
申请离职时间: + +
离职时间: + +
离职状态 - 离职状态,市场专员离职发放后自动标志未离职 +