|
|
|
@ -254,6 +254,7 @@ class CompanyStatementPoolController extends ThinkController
|
|
|
|
|
public function editPuPool(&$infolist,$is_export) {
|
|
|
|
|
$line = 1;
|
|
|
|
|
$count = [];
|
|
|
|
|
$week_line = 2;
|
|
|
|
|
//获取对接人
|
|
|
|
|
foreach($infolist as $k=>&$v){
|
|
|
|
|
$v['statement_info'] = json_decode($v['statement_info'],true);
|
|
|
|
@ -318,6 +319,11 @@ class CompanyStatementPoolController extends ThinkController
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$handle_data = $this->changeDataStruct($v['statement_info'],$is_export,$week_line);
|
|
|
|
|
|
|
|
|
|
$v['statement_info'] = $handle_data;
|
|
|
|
|
|
|
|
|
|
$v['row'] = $row;
|
|
|
|
|
if($is_export){
|
|
|
|
|
if($v['withdraw_type'] != 3) {
|
|
|
|
@ -342,6 +348,8 @@ class CompanyStatementPoolController extends ThinkController
|
|
|
|
|
public function viewPuPool(&$infolist,$is_export){
|
|
|
|
|
$line = 1;
|
|
|
|
|
$count = [];
|
|
|
|
|
$week_line = 2;
|
|
|
|
|
|
|
|
|
|
//获取对接人
|
|
|
|
|
foreach($infolist as $k=>&$v){
|
|
|
|
|
$v['statement_info'] = json_decode($v['statement_info'],true);
|
|
|
|
@ -398,6 +406,11 @@ class CompanyStatementPoolController extends ThinkController
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$handle_data = $this->changeDataStruct($v['statement_info'],$is_export,$week_line);
|
|
|
|
|
|
|
|
|
|
$v['statement_info'] = $handle_data;
|
|
|
|
|
|
|
|
|
|
$v['row'] = $row;
|
|
|
|
|
if($is_export){
|
|
|
|
|
if($v['withdraw_type'] != 3) {
|
|
|
|
@ -412,13 +425,140 @@ class CompanyStatementPoolController extends ThinkController
|
|
|
|
|
$count["platform_amount"] = "=ROUND(SUM(K2:K".$line."),2)";
|
|
|
|
|
$count["sum_money"] = "=ROUND(SUM(R2:R".$line."),2)";
|
|
|
|
|
}
|
|
|
|
|
// die();
|
|
|
|
|
$this->assign("data",$infolist);
|
|
|
|
|
$this->assign("count",$count);
|
|
|
|
|
$this->assign("is_export",$is_export);
|
|
|
|
|
$this->display("CompanyStatementPool/viewPuPool");
|
|
|
|
|
}
|
|
|
|
|
//改变结构
|
|
|
|
|
public function changeDataStruct($statement_info = [],$is_export = 0,&$week_line = 1) {
|
|
|
|
|
|
|
|
|
|
$game_list = [];
|
|
|
|
|
$old_line = $week_line;
|
|
|
|
|
|
|
|
|
|
//使用时间与会长账号作为键值分离数据
|
|
|
|
|
foreach($statement_info as $sk=>$sv){
|
|
|
|
|
|
|
|
|
|
foreach($sv['game_list'] as $gk=>$gv){
|
|
|
|
|
|
|
|
|
|
$gv['account'] = $sv['account'];
|
|
|
|
|
$game_list[$gv['statement_begin_time'].'-'.$gv['statement_end_time']][$gv['account']][] = $gv;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$game_data = [];
|
|
|
|
|
$handle_data = [];
|
|
|
|
|
//处理游戏金额数据
|
|
|
|
|
foreach($game_list as $gk => $gv) {
|
|
|
|
|
|
|
|
|
|
foreach ($gv as $sk => $sv) {
|
|
|
|
|
$game_data['account'] = $sk;
|
|
|
|
|
$game_data['row'] = count($sv);
|
|
|
|
|
$game_data['time_row'] = count($sv);
|
|
|
|
|
$game_data['time'] = $gk;
|
|
|
|
|
//周结算金额计算
|
|
|
|
|
for ($i=0;;$i++) {
|
|
|
|
|
if ($sv[$i]['sum_money']) {
|
|
|
|
|
$game_data['week_amount'] += $sv[$i]['sum_money'];
|
|
|
|
|
} else {
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
// $game_data['week_amount'] += $sv[0]['sum_money'];
|
|
|
|
|
|
|
|
|
|
$game_data['game_list'] = $sv;
|
|
|
|
|
array_push($handle_data,$game_data);
|
|
|
|
|
$game_data = [];
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
$substract = 1;
|
|
|
|
|
// dump($game_list);
|
|
|
|
|
// dump($handle_data);
|
|
|
|
|
//添加周结算金额,合并相同的结算时间
|
|
|
|
|
// dump($handle_data);
|
|
|
|
|
foreach($handle_data as $hk => $hv) {
|
|
|
|
|
|
|
|
|
|
if($hk > 0) {
|
|
|
|
|
for (;;) {
|
|
|
|
|
|
|
|
|
|
if (!$handle_data[$hk-$substract]['time']) {
|
|
|
|
|
$substract++;
|
|
|
|
|
} else {
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
// dump($hv);
|
|
|
|
|
if ($hv['time'] == $handle_data[$hk-$substract]['time']&&!$is_export) {
|
|
|
|
|
|
|
|
|
|
$handle_data[$hk-$substract]['time_row'] += $handle_data[$hk]['time_row'];
|
|
|
|
|
|
|
|
|
|
if ($is_export) {
|
|
|
|
|
|
|
|
|
|
$week_line++;
|
|
|
|
|
$handle_data[$hk-$substract]['week_amount'] = "=ROUND(SUM(O{$old_line}:O{$week_line}),2)";
|
|
|
|
|
$old_line++;
|
|
|
|
|
} else {
|
|
|
|
|
$handle_data[$hk-$substract]['week_amount'] += $handle_data[$hk]['week_amount'];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
unset($handle_data[$hk]['time']);
|
|
|
|
|
unset($handle_data[$hk]['time_row']);
|
|
|
|
|
unset($handle_data[$hk]['week_amount']);
|
|
|
|
|
} else {
|
|
|
|
|
if ($is_export) {
|
|
|
|
|
// dump($old_line);
|
|
|
|
|
if (count($hv['game_list'])>1) {
|
|
|
|
|
$week_line += count($hv['game_list'])-1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$handle_data[$hk]['week_amount'] = "=ROUND(SUM(O{$old_line}:O{$week_line}),2)";
|
|
|
|
|
$old_line++;
|
|
|
|
|
$week_line++;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
$substract = 1;
|
|
|
|
|
}else {
|
|
|
|
|
if ($is_export) {
|
|
|
|
|
|
|
|
|
|
if (count($hv['game_list'])>1) {
|
|
|
|
|
$week_line += count($hv['game_list'])-1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$handle_data[$hk]['week_amount'] = "=ROUND(SUM(O{$old_line}:O{$week_line}),2)";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (count($hv['game_list'])>1) {
|
|
|
|
|
$old_line += count($hv['game_list'])-1;
|
|
|
|
|
} else {
|
|
|
|
|
$old_line++;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if(count($hv['game_list'])>1) {
|
|
|
|
|
|
|
|
|
|
$week_line = $old_line + 1;
|
|
|
|
|
} else {
|
|
|
|
|
$week_line = $old_line;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
// dump($handle_data);
|
|
|
|
|
return $handle_data?$handle_data:[];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//下游汇总结算查看
|
|
|
|
|
public function viewPcPool(&$infolist,$is_export){
|
|
|
|
|
|
|
|
|
|
$line = 1;
|
|
|
|
|
$count = [];
|
|
|
|
|
//获取对接人
|
|
|
|
@ -458,9 +598,9 @@ class CompanyStatementPoolController extends ThinkController
|
|
|
|
|
|
|
|
|
|
if($is_export){
|
|
|
|
|
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}*(1-H{$line})*(F{$line}+G{$line}),2)";
|
|
|
|
|
} else {
|
|
|
|
|
$va['d_statement_money'] = "=ROUND(D{$line}*(F{$line}),2)";
|
|
|
|
|
$va['d_statement_money'] = "=ROUND(E{$line}*(G{$line}),2)";
|
|
|
|
|
}
|
|
|
|
|
}else{
|
|
|
|
|
if ($v['withdraw_type'] != 3) {
|
|
|
|
@ -478,14 +618,67 @@ class CompanyStatementPoolController extends ThinkController
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// $game_list = [];
|
|
|
|
|
// $statement_info = $v['statement_info'];
|
|
|
|
|
// //使用时间与会长账号作为键值分离数据
|
|
|
|
|
// 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']) {
|
|
|
|
|
// $substract++;
|
|
|
|
|
// } else {
|
|
|
|
|
// $handle_data[$lk-$substract]['row'] += 1;
|
|
|
|
|
// $handle_data[$lk-$substract]['week_amount'] += $lv['d_statement_money'];
|
|
|
|
|
// unset($lv['time']);
|
|
|
|
|
// break;
|
|
|
|
|
// }
|
|
|
|
|
//
|
|
|
|
|
// }
|
|
|
|
|
//
|
|
|
|
|
// } else {
|
|
|
|
|
//
|
|
|
|
|
// $lv['row'] = 1;
|
|
|
|
|
// $lv['week_amount'] = $lv['d_statement_money'];
|
|
|
|
|
// }
|
|
|
|
|
//
|
|
|
|
|
// array_push($handle_data,$lv);
|
|
|
|
|
//
|
|
|
|
|
// }
|
|
|
|
|
//
|
|
|
|
|
// }
|
|
|
|
|
//
|
|
|
|
|
$handle_data = $this->changeDataStructVc($v['statement_info'],$is_export,$cline);
|
|
|
|
|
$v['statement_info'] = $handle_data;
|
|
|
|
|
// dump($handle_data);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$v['settlement_contact'] = $Partner[$v['company_id']];
|
|
|
|
|
|
|
|
|
|
if($is_export){
|
|
|
|
|
|
|
|
|
|
if ($v['withdraw_type'] != 3) {
|
|
|
|
|
$v['statement_money'] = "=ROUND(SUM(H{$cline}:H{$line})+J{$cline}-I{$cline},2)";
|
|
|
|
|
$v['statement_money'] = "=ROUND(SUM(I{$cline}:I{$line})+K{$cline}-J{$cline},2)";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}else{
|
|
|
|
|
$count['fine'] += $v['fine'];
|
|
|
|
|
$count['reward'] += $v['reward'];
|
|
|
|
@ -495,11 +688,11 @@ 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(I2:I".$line."),2)";
|
|
|
|
|
$count["fine"] = "=ROUND(SUM(J2:J".$line."),2)";
|
|
|
|
|
$count["reward"] = "=ROUND(SUM(K2:K".$line."),2)";
|
|
|
|
|
$count["statement_money"] = "=ROUND(SUM(M2:M".$line."),2)";
|
|
|
|
|
}
|
|
|
|
|
// dd($infolist);
|
|
|
|
|
$this->assign("data",$infolist);
|
|
|
|
@ -509,6 +702,65 @@ 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)
|
|
|
|
|
{
|
|
|
|
@ -538,6 +790,8 @@ class CompanyStatementPoolController extends ThinkController
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// dump($v['statement_info']);
|
|
|
|
|
|
|
|
|
|
$cline = $line+1;
|
|
|
|
|
foreach($v['statement_info'] as $ke=>&$va){
|
|
|
|
|
$line ++;
|
|
|
|
@ -551,6 +805,11 @@ class CompanyStatementPoolController extends ThinkController
|
|
|
|
|
$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)";
|
|
|
|
|