@ -218,7 +218,7 @@ class CompanyStatementPoolController extends ThinkController
//获取基本信息
$infolist = M("company_statement_info","tab_")->field("*,'1' as st")->where("pool_id = '{$id}'")->select();
//获取母单
$pool_info = M("company_statement_pool","tab_")->field('statement_num,create_lack_ids,verify_status,is_payment,withdraw_type')->where("id={$id}")->find();
$pool_info = M("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 = M("company_lack_statement_info","tab_")->field("*,'0' as st")->where("id in ({$l_ids})")->select();
@ -236,7 +236,7 @@ class CompanyStatementPoolController extends ThinkController
//下游公司
$this->viewPcPool($infolist,$is_export);
}else{
$this->viewPuPool($infolist,$is_export);
$this->viewPuPool($infolist,$is_export,$pool_info );
}
}
@ -466,11 +466,19 @@ class CompanyStatementPoolController extends ThinkController
}
//个人汇总结算查看
public function viewPuPool(& $infolist,$is_export){
public function viewPuPool(& $infolist,$is_export,$pool_info ){
$line = 1;
$count = [];
$count = [
"pool_week_count"=>0,//上周数据合计
"pool_lack_count"=>0,//本周未结算流水合计
"sum_money"=>0,//打款合计
"pool_lack_count"=>0,//本周未结算流水合计
"st_lack_count"=>0,//本周暂不结算合计
"st_count"=>0//本次应支付
];
$week_line = 2;
$pool_statement_begin_time = date('Y.m.d', $pool_info['statement_begin_time']);
$pool_statement_end_time = date('Y.m.d', $pool_info['statement_end_time']);
//获取对接人
foreach($infolist as $k=>& $v){
$v['statement_info'] = json_decode($v['statement_info'],true);
@ -484,6 +492,7 @@ class CompanyStatementPoolController extends ThinkController
$v['is_payment'] = 1;
}
}
$is_statement = $v['st'] == 1 ? true :false;
$cline = $line+1;
if($is_export){
$v['statement_money'] = "=ROUND(";
@ -495,17 +504,9 @@ class CompanyStatementPoolController extends ThinkController
foreach($v['statement_info'] as $ke=>& $va){
$va['row'] = count($va['game_list']);
$row += count($va['game_list']);
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;
}
@ -513,8 +514,25 @@ class CompanyStatementPoolController extends ThinkController
if (!$val['ratio']) {
$val['ratio'] = 0;
}
//上周数据合计
if($val['statement_begin_time'] == $pool_statement_begin_time & & $val['statement_end_time'] == $pool_statement_end_time){
$count['pool_week_count'] += $val['pay_amount'];
if($is_export){
$this->setWeekCount($line);
}
}
//本周未结算流水合计
if(!$is_statement){
$count['pool_lack_count'] += $val['pay_amount'];
$count['st_lack_count'] += $val['sum_money'];
if($is_export){
$this->setlackCount($line);
}
}else{
$count['st_count'] += $val['sum_money'];
}
}
if($is_export){
if($v['withdraw_type'] != 3) {
@ -525,15 +543,11 @@ class CompanyStatementPoolController extends ThinkController
$v['statement_money'] .= "S{$line}+";
}else{
$count['platform_amount'] += $val['pay_amount'];
// $count['sum_money'] += $val['sum_money'];
}
}
$count['week_money'] += $va['week_amount'];
$count['sum_money'] += $va['week_amount'];
}
// dump($count);
$v['row'] = $row;
@ -543,7 +557,6 @@ class CompanyStatementPoolController extends ThinkController
if($is_export){
if($v['withdraw_type'] != 3) {
// $v['statement_money'] .="P{$cline}-Q{$cline},2)";
$v['statement_money'] = substr($v['statement_money'],0,strlen($v['statement_money'])-1) . ",2)";
} else {
$v['statement_money'] = substr($v['statement_money'],0,strlen($v['statement_money'])-1).",2)";
@ -551,18 +564,78 @@ class CompanyStatementPoolController extends ThinkController
}
}
if($is_export){
if($pool_info["withdraw_type"] != 3){
//上周数据合计
$count["pool_week_count"] = $this->setWeekCount($line,true);
$count["pool_lack_count"] = $this->setlackCount($line,true);
//本周暂不结算合计
$count["st_lack_count"] = '=ROUND(SUMIFS(T2:T'.$line.',Y2:Y'.$line.',"否"),2)';
//本次应支付
$count["st_count"] = '=ROUND(SUMIFS(T2:T'.$line.',Y2:Y'.$line.',"是"),2)';
}
$count["platform_amount"] = "=ROUND(SUM(K2:K".$line."),2)";
$count["week_money"] = "=ROUND(SUM(S2:S".$line."),2)";
$count["sum_money"] = "=ROUND(SUM(T2:T".$line."),2)";
}
// die();
// die();
$this->assign("data",$infolist);
$this->assign("count",$count);
$this->assign("is_export",$is_export);
$this->assign("withdraw_type",$pool_info["withdraw_type"]);
$this->display("CompanyStatementPool/viewPuPool");
}
//导出中上周结算数据计算
protected function setWeekCount($line,$return = false)
{
global $pool_week_str,$pool_week_line;
if(empty($pool_week_str)){
$pool_week_str = "=";
$pool_week_line = 0;
}
if($pool_week_str == "="){
$pool_week_str .= "SUM(K{$line}:";
}else{
if($line - $pool_week_line > 1){
//不连续
$pool_week_str .= "K{$pool_week_line})+SUM(K{$line}:";
}
}
$pool_week_line = $line;
if($return){
$data = $pool_week_str."K{$line})";
unset($pool_week_str,$pool_week_line);
return $data;
}
}
//本周不结算
protected function setlackCount($line,$return = false)
{
global $pool_lack_str,$pool_lack_line;
if(empty($pool_lack_str)){
$pool_lack_str = "=";
$pool_lack_line = 0;
}
if($pool_lack_str == "="){
$pool_lack_str .= "SUM(K{$line}:";
}else{
if($line - $pool_lack_line > 1){
//不连续
$pool_lack_str .= "K{$pool_lack_line})+SUM(K{$line}:";
}
}
$pool_lack_line = $line;
if($return){
$data = $pool_lack_str."K{$line})";
unset($pool_lack_str,$pool_lack_line);
return $data;
}
}
//改变结构
public function changeDataStruct($statement_info = [],$is_export = 0,& $week_line = 1) {