diff --git a/Application/Admin/Controller/AggregateFinanceStatementController.class.php b/Application/Admin/Controller/AggregateFinanceStatementController.class.php index 0c21874a8..cd9fd1bca 100644 --- a/Application/Admin/Controller/AggregateFinanceStatementController.class.php +++ b/Application/Admin/Controller/AggregateFinanceStatementController.class.php @@ -640,8 +640,11 @@ class AggregateFinanceStatementController extends ThinkController if($data['pay_type'] == 0){ //甲-乙 $data['pay_company'] = $data['second_party_info']; + $data['invoice'] = $data['first_party_info']; + }else{ $data['pay_company'] = $data['first_party_info']; + $data['invoice'] = $data['second_party_info']; } $this->doAddOperationLog($id,"导出"); $relation = M("company_relation","tab_")->where("(first_company_id={$data['channel_id']} and first_company_type=3) or (second_company_id = {$data['channel_id']} and second_company_type=3)")->find(); @@ -754,14 +757,14 @@ class AggregateFinanceStatementController extends ThinkController $objPHPExcel->getActiveSheet()->getRowDimension(($line+6))->setRowHeight($address_height*$height); //开票信息 - $invoice_data = "发票类型:".$data['pay_company']['invoice_type']; - $invoice_data .= "\n发票抬头:".$data['pay_company']['partner']; - $invoice_data .= "\n纳税人识别号:".$data['pay_company']['company_tax_no']; - - $invoice_data .= "\n开户银行:".$data['pay_company']['opening_bank']; - $invoice_data .= "\n开户账号:".$data['pay_company']['bank_account']; - $invoice_data .= "\n开票内容:".$data['pay_company']['invoice_item']; - $invoice_data .= "\n注册地址及电话:".$data['pay_company']['register_address'].",".$data['second_party_info']['register_phone']; + $invoice_data = "发票类型:".$data['invoice']['invoice_type']; + $invoice_data .= "\n发票抬头:".$data['invoice']['partner']; + $invoice_data .= "\n纳税人识别号:".$data['invoice']['company_tax_no']; + + $invoice_data .= "\n开户银行:".$data['invoice']['opening_bank']; + $invoice_data .= "\n开户账号:".$data['invoice']['bank_account']; + $invoice_data .= "\n开票内容:".$data['invoice']['invoice_item']; + $invoice_data .= "\n注册地址及电话:".$data['invoice']['register_address'].",".$data['second_party_info']['register_phone']; $objPHPExcel->getActiveSheet()->setCellValue('B'.($line+7), $invoice_data);//乙方 diff --git a/Application/Admin/Controller/CompanyStatementPoolController.class.php b/Application/Admin/Controller/CompanyStatementPoolController.class.php index 993f19158..e9be8af63 100644 --- a/Application/Admin/Controller/CompanyStatementPoolController.class.php +++ b/Application/Admin/Controller/CompanyStatementPoolController.class.php @@ -294,6 +294,11 @@ class CompanyStatementPoolController extends ThinkController $v['statement_money'] = "=ROUND("; } + + + $handle_data = $this->changeDataStruct($v['statement_info'],$is_export,$week_line); + + $v['statement_info'] = $handle_data; $row = 0; foreach($v['statement_info'] as $ke=>&$va){ $va['row'] = count($va['game_list']); @@ -336,15 +341,13 @@ class CompanyStatementPoolController extends ThinkController $v['statement_money'] .= "N{$line}+"; }else{ $count['platform_amount'] += $val['pay_amount']; - $count['sum_money'] += $val['sum_money']; +// $count['sum_money'] += $val['sum_money']; } + } + $count['week_money'] += $va['week_amount']; + $count['sum_money'] += $va['week_amount']; } - - $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) { @@ -388,6 +391,10 @@ class CompanyStatementPoolController extends ThinkController $v['statement_money'] = "=ROUND("; } + $handle_data = $this->changeDataStruct($v['statement_info'],$is_export,$week_line); + + $v['statement_info'] = $handle_data; + $row = 0; foreach($v['statement_info'] as $ke=>&$va){ $va['row'] = count($va['game_list']); @@ -430,15 +437,13 @@ class CompanyStatementPoolController extends ThinkController $v['statement_money'] .= "N{$line}+"; }else{ $count['platform_amount'] += $val['pay_amount']; - $count['sum_money'] += $val['sum_money']; +// $count['sum_money'] += $val['sum_money']; } } + $count['week_money'] += $va['week_amount']; + $count['sum_money'] += $va['week_amount']; } - $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) { @@ -484,7 +489,7 @@ class CompanyStatementPoolController extends ThinkController $v['statement_money'] = "=ROUND("; } $handle_data = $this->changeDataStruct($v['statement_info'],$is_export,$week_line); - +// dump($handle_data); $v['statement_info'] = $handle_data; $row = 0; foreach($v['statement_info'] as $ke=>&$va){ @@ -515,17 +520,19 @@ class CompanyStatementPoolController extends ThinkController if($v['withdraw_type'] != 3) { $val['sum_money'] = "=ROUND((K{$line}-L{$line})*(M{$line}+N{$line}),2)"; } else { - $val['sum_money'] = "=ROUND(K{$line}*(N{$line}),2)"; + $val['sum_money'] = "=ROUND((K{$line}-L{$line})*(N{$line}),2)"; } $v['statement_money'] .= "S{$line}+"; }else{ $count['platform_amount'] += $val['pay_amount']; - $count['week_money'] += $val['sum_money']; - $count['sum_money'] += $val['sum_money']; + +// $count['sum_money'] += $val['sum_money']; } } + $count['week_money'] += $va['week_amount']; + $count['sum_money'] += $va['week_amount']; } - +// dump($count); $v['row'] = $row; @@ -598,7 +605,7 @@ class CompanyStatementPoolController extends ThinkController //周结算金额计算 for ($i=0;;$i++) { if ($sv[$i]['sum_money']) { - $game_data['week_amount'] += $sv[$i]['sum_money']; + $game_data['week_amount'] += $sv[$i]['sum_money']- $sv[$i]['withhold']; $game_data['withhold_amount'] += $sv[$i]['withhold']; $game_data['fine'] += $sv[$i]['fine']; $game_data['reward'] += $sv[$i]['reward']; @@ -696,7 +703,7 @@ class CompanyStatementPoolController extends ThinkController } } - +// dump($handle_data); return $handle_data?$handle_data:[]; } @@ -1699,7 +1706,7 @@ class CompanyStatementPoolController extends ThinkController $statement_amount = 0; $statement_lack_amount = 0; -// dump($increment_ratio); + foreach ($increment_ratio as $key => $value) { $statement_info = array(); @@ -1732,12 +1739,12 @@ class CompanyStatementPoolController extends ThinkController $statement_info[$k]['game_list'][$gk]['sum_money'] = $sum_money[$key][$v['account']][$gk]; - $amount += $sum_money[$key][$v['account']][$gk]; + $amount += $sum_money[$key][$v['account']][$gk] - $statement_info[$k]['game_list'][$gk]['withhold']; if ($st[$key][$akey] == 1) { - $statement_amount += $sum_money[$key][$v['account']][$gk]; + $statement_amount += $sum_money[$key][$v['account']][$gk]-$statement_info[$k]['game_list'][$gk]['withhold']; } else { - $statement_lack_amount += $sum_money[$key][$v['account']][$gk]; + $statement_lack_amount += $sum_money[$key][$v['account']][$gk]-$statement_info[$k]['game_list'][$gk]['withhold']; } } diff --git a/Application/Admin/Controller/CompanyStatementSetController.class.php b/Application/Admin/Controller/CompanyStatementSetController.class.php index 55cd1331c..ba46ce8ed 100644 --- a/Application/Admin/Controller/CompanyStatementSetController.class.php +++ b/Application/Admin/Controller/CompanyStatementSetController.class.php @@ -998,6 +998,7 @@ class CompanyStatementSetController extends Controller { if(empty($list)){continue;} + foreach($list as $k=>$v){ try { @@ -2188,8 +2189,6 @@ class CompanyStatementSetController extends Controller { */ protected function getModuleRatioGame($company_id,$relation_game_ids,$begintime,$endtime){ - - $where = [ "relation_game_id"=>["in",$relation_game_ids], "company_id"=>$company_id, @@ -2210,9 +2209,41 @@ class CompanyStatementSetController extends Controller { } if(is_string($relation_game_ids)) $relation_game_ids = explode(",",$relation_game_ids); - + + $array_mer = []; + + foreach ($relation_game_ids as $key => $value) { + $turnover_type = $this->getTurnoverType($value,$company_id,$begintime,$endtime); + + if ($turnover_type == 2 || $turnover_type == 3 || $turnover_type == 4) { + + $mercy_game = M("game",'tab_')->field("original_package_name")->where(['relation_game_id'=>$value])->find()['original_package_name']; + + $original_game_id = M("game",'tab_') + ->field("relation_game_id") + ->where(['original_package_name'=>$mercy_game,'relation_game_id'=>['neq',$value]]) + ->group("relation_game_id") + ->select(); + + foreach ($original_game_id as $k => $v) { + + if(!in_array($v['relation_game_id'], $relation_game_ids)){ + + $array_mer[] = $v['relation_game_id']; + + } + + } + + } + + } + + $relation_game_ids = array_merge($relation_game_ids,$array_mer); + + if(empty($dbres)){ - return implode(",",$relation_game_ids);; + return implode(",",$relation_game_ids); }else{ $dbres = array_column($dbres,"relation_game_id"); $diff = array_diff($relation_game_ids,$dbres); diff --git a/Application/Admin/Controller/TimingController.class.php b/Application/Admin/Controller/TimingController.class.php index e2d08f314..71a83319e 100644 --- a/Application/Admin/Controller/TimingController.class.php +++ b/Application/Admin/Controller/TimingController.class.php @@ -810,9 +810,9 @@ class TimingController extends AdminController { } // if (isset($return[$value['company_id']."-".$sval['promote_id']."-".$v['relation_game_id']])) { - $return[$value['company_id']."-".$sval['promote_id']."-".$v['relation_game_id']] = !$is_inside?$v['sum_money']:0; + $return[$value['company_id']."-".$sval['promote_id']."-".$v['relation_game_id']] = !$is_inside?($v['sum_money']-($v['withhold']?$v['withhold']:0)):0; } else { - $return[$value['company_id']."-".$sval['promote_id']."-".$v['relation_game_id']] += !$is_inside?$v['sum_money']:0; + $return[$value['company_id']."-".$sval['promote_id']."-".$v['relation_game_id']] += !$is_inside?($v['sum_money']-($v['withhold']?$v['withhold']:0)):0; } } diff --git a/Application/Admin/View/CompanyStatementPool/editPuPool.html b/Application/Admin/View/CompanyStatementPool/editPuPool.html index b40ab82ba..778e15be9 100644 --- a/Application/Admin/View/CompanyStatementPool/editPuPool.html +++ b/Application/Admin/View/CompanyStatementPool/editPuPool.html @@ -174,8 +174,11 @@ {$com['reward']} {$com['fine']} - - {$com['statement_info'][0]['week_amount']} + + + + + {$com['statement_info'][0]['week_amount']} {$com['statement_money']} @@ -261,8 +264,11 @@ % {$account['game_list'][0]['sum_money']} - - {$account['week_amount']} + + + + + {$account['week_amount']} - @@ -454,13 +460,16 @@ //退款 var withhold = $(_this).parent().parent().find(".withhold").val(); - if (!withhold || withhold < 0) { + var oldwithhold = $(_this).parent().parent().find(".oldwithhold").val(); + // console.log(withhold-oldwithhold); + if (!withhold ) { withhold = 0; $(_this).parent().parent().find(".withhold").val(withhold); - } else if(parseFloat(withhold) > parseFloat(pay_money)) { - withhold = pay_money; - $(_this).parent().parent().find(".withhold").val(withhold); } + // else if(parseFloat(withhold) > parseFloat(pay_money)) { + // withhold = pay_money; + // $(_this).parent().parent().find(".withhold").val(withhold); + // } //补点 var increment_ratio = $(_this).parent().parent().find(".increment_ratio").val(); @@ -485,20 +494,26 @@ var this_amount = week_amount_find.find(".sum_money_span").text(); var week_amount = 0; + var i = 0; for (;;) { week_amount = week_amount_find.find(".week_amount").text(); - + i++; + // console.log(week_amount); if (week_amount) { break; } else { week_amount_find = week_amount_find.prev(); } + if (i>10) { + break; + } } - var D_value = parseFloat(old_amount)-parseFloat(this_amount) - parseFloat(withhold); + var D_value = parseFloat(old_amount)-parseFloat(this_amount) + (withhold-oldwithhold); - week_amount_find.find(".week_amount").text((parseFloat(week_amount)-D_value).toFixed(2)); + week_amount_find.find(".week_amount").text((parseFloat(week_amount) - D_value).toFixed(2)); + $(_this).parent().parent().find(".oldwithhold").val(withhold) } //结算金额重算 @@ -524,11 +539,13 @@ for (var i =0;i{$com['statement_info'][0]['game_list'][0]['statement_begin_time']}-{$com['statement_info'][0]['game_list'][0]['statement_end_time']}--> {$com['statement_info'][0]['game_list'][0]['pay_amount']} - {$com['statement_info'][0]['game_list'][0]['refund']|default=0} - + + {$com['statement_info'][0]['game_list'][0]['ratio']}% % @@ -178,10 +178,11 @@ {$com['reward']} {$com['fine']} - {$com['statement_info'][0]['game_list'][0]['withhold']|default=0} - + + + - {$com['statement_info'][0]['week_amount']} + {$com['statement_info'][0]['week_amount']} {$com['statement_money']} @@ -267,8 +268,12 @@ % {$account['game_list'][0]['sum_money']} - - {$account['week_amount']} + + + + + + {$account['week_amount']} - @@ -459,14 +464,17 @@ } //退款 - var withhold = $(_this).parent().parent().find(".withhold").val(); - if (!withhold || withhold < 0) { + var withhold = parseFloat($(_this).parent().parent().find(".withhold").val()); + var oldwithhold = $(_this).parent().parent().find(".oldwithhold").val(); + + if (!withhold ) { withhold = 0; $(_this).parent().parent().find(".withhold").val(withhold); - } else if(parseFloat(withhold) > parseFloat(pay_money)) { - withhold = pay_money; - $(_this).parent().parent().find(".withhold").val(withhold); } + // else if(parseFloat(withhold) > parseFloat(pay_money)) { + // withhold = pay_money; + // $(_this).parent().parent().find(".withhold").val(withhold); + // } //补点 var increment_ratio = $(_this).parent().parent().find(".increment_ratio").val(); @@ -481,30 +489,36 @@ var week_amount_find = $(_this).parent().parent(); var old_amount = week_amount_find.find(".sum_money_span").text(); + var week_amount = 0; + var i = 0; + for (;;) { + week_amount = week_amount_find.find(".week_amount").text(); + i++; + if (week_amount) { + break; + } else { + week_amount_find = week_amount_find.prev(); + } + if (i>10) { + break; + } + } + //扣款 pay_money = parseFloat(pay_money) - parseFloat(refund); - var value = (parseFloat(pay_money)*(parseFloat(ratio)/100) + parseFloat(pay_money)*(parseFloat(increment_ratio)/100)); + + var value = (parseFloat(pay_money)*(parseFloat(increment_ratio)/100)); $(_this).parent().parent().find(".sum_money_span").text(value.toFixed(2)); $(_this).parent().parent().find(".sum_money").val(value.toFixed(2)); var this_amount = week_amount_find.find(".sum_money_span").text(); - var week_amount = 0; - for (;;) { - week_amount = week_amount_find.find(".week_amount").text(); - - if (week_amount) { - break; - } else { - week_amount_find = week_amount_find.prev(); - } - } - - var D_value = parseFloat(old_amount)-parseFloat(this_amount) - parseFloat(withhold); + var D_value = parseFloat(old_amount)-parseFloat(this_amount) + (withhold-oldwithhold) ; week_amount_find.find(".week_amount").text((parseFloat(week_amount)-D_value).toFixed(2)); - + // week_amount_find.find(".week_amount_input").val((parseFloat(week_amount)-D_value- parseFloat(withhold))); + $(_this).parent().parent().find(".oldwithhold").val(withhold) } //结算金额重算 @@ -530,9 +544,13 @@ for (var i =0;i