master
chenzhi 5 years ago
parent dff3542fdd
commit f2ce52ada5

@ -270,7 +270,21 @@ class CompanyStatementController extends ThinkController
//上游
$this->display("editCpStatement");
} else {
$this->display("editPcStatement");
if($dbres["company_type"] == 1){
$this->display("editPcStatement");
}else{
if($dbres['pay_type'] == 2){
$payinfo = $dbres['second_party_info'];
$payinfo['type'] = "second_party_info";
}else{
$payinfo = $dbres['first_party_info'];
$payinfo['type'] = "first_party_info";
}
$this->assign("payinfo", $payinfo);
$this->display("editPuStatement");
}
}
}
}
@ -369,7 +383,17 @@ class CompanyStatementController extends ThinkController
if ($data['company_belong'] == 9) {//上游
excelUpStreamTemplate($data, $all_sum_money, $all_pay_amount, $big_all_sum_money);
} else {//下游
excelDownStreamTemplate($data, $all_sum_money, $all_pay_amount, $big_all_sum_money);
if($dbres["company_type"] == 1){
excelDownStreamTemplate($data, $all_sum_money, $all_pay_amount, $big_all_sum_money);
}else{
$data['statement_begin_time'] = date('Ymd',$data['statement_begin_time']);
$data['statement_end_time'] = date('Ymd',$data['statement_end_time']);
$data['statement_count'] = count($data['statement_info']);
// dd($data);
$this->assign("data",$data);
$this->display("exportPuStatement");
}
}
}
//汇总

@ -438,7 +438,7 @@ class CompanyStatementSetController extends Controller {
return ;
}
//获取pc公司
$tmpp = M("PromoteCompany","tab_")->field("id,uid,company_name partner,settlement_contact link_man,contact_phone link_phone,address,bank_address payee_name,bank_card bank_account,fax_ratio,company_belong,company_type,ali_user,ali_account")->where(["id"=>['in',$pc_id]])->select();
$tmpp = M("PromoteCompany","tab_")->field("id,uid,company_name partner,settlement_contact link_man,contact_phone link_phone,bank_name opening_bank,bank_address payee_name,bank_card bank_account,fax_ratio,company_belong,company_type,ali_user,ali_account")->where(["id"=>['in',$pc_id]])->select();
$pc =[];
foreach ($tmpp as $v) {
$pc[$v['id']]=$v;
@ -555,7 +555,7 @@ class CompanyStatementSetController extends Controller {
$game['reward'] = $rrfres['reward_count'];
$game['fine'] = $rrfres['fine_count'];
$game['sum_money']=round($va['pay_amount']*$tratio*(100-$fax_ratio)/(100*100),2)+$game['reward']-$game['fine'];
$game['sum_money']=round($va['pay_amount']*$tratio/100,2)+$game['reward']-$game['fine'];
}else{
$game['sum_money']=round($va['pay_amount']*$tratio*(100-$fax_ratio)/(100*100),2);//结算金额=平台总额*1-渠道费)*分成比例*(1-税费费率)
}
@ -688,6 +688,226 @@ class CompanyStatementSetController extends Controller {
$pcList[$k]['list'] = $v;
}
}
/**
* 下游个人汇总单
*/
public function promoteUserPool($type,$stime,$recount = false)
{
$t = $this->setBeginAndEndTime($type,$stime);
$begintime = $t[0];
$endtime = $t[1];
$where = [
"_string"=>"first_company_type = '2' OR second_company_type = '2'"
];
//获取哪些要结算
if($type == 1){//月结
$where['settlement_type']=2;
$pcDbRes = M("CompanyRelation","tab_")->where($where)->select();
}else{
$where['settlement_type']=1;
$pcDbRes = M("CompanyRelation","tab_")->where($where)->select();
}
$pcList=[];
$js_id = [];//己方公司
foreach ($pcDbRes as $k => $v) {
if($v['first_company_type'] == 2){
$pcList[$v['first_company_id']] =$v;
$js_id[] =$v['second_company_id'];
}else{
$pcList[$v['second_company_id']] =$v;
$js_id[] =$v['first_company_id'];
}
}
//获取pc公司
$pc_id = implode(",",array_flip(array_flip(array_keys($pcList))));
$tmpp = M("PromoteCompany","tab_")->field("id,uid,company_name partner,settlement_contact link_man,contact_phone link_phone,bank_name opening_bank,bank_address payee_name,bank_card bank_account,fax_ratio,company_belong,company_type,ali_user,ali_account")
->where(["id"=>['in',$pc_id]])
->select();
//,"company_type"=>2
if(count($tmpp)<1){return;}
$pc =[];
foreach ($tmpp as $v) {
$pc[$v['id']]=$v;
$pc[$v['id']]['is_payment']=$pcList[$v['id']]['is_payment'];
}
unset($tmpp);
$this->getPromoteCompanySpend($pc,array_unique(array_keys($pc)),$begintime,$endtime);
$StatementDb = M("CompanyStatement","tab_");
$statement_begin_time = date("Y-m-d",$begintime);
$statement_end_time = date("Y-m-d",$endtime);
$RewardRecord = M("RewardRecord","tab_");
$LackStatement = M("company_lack_statement_info","tab_");
$StatementInfo = M("company_statement_info","tab_");
$basedata = [
"pay_amount"=>0,
"statement_money"=>0,
"platform_amount"=>0,
"statement_ids"=>[],
"create_lack_ids"=>[],
"del_lack_ids"=>[],
"statement_begin_time"=>$begintime,
"statement_end_time"=>$endtime,
"fine"=>0,
"reward"=>0,
"verify_status"=>0,
"verify_log"=>json_encode(["create_user"=>"system","create_time"=>date("Y-m-d H:i:s")]),
"op_time"=>time()
];
$users = $user = $basedata;
$users['is_payment'] = 1;
$users['statement_num'] = "PL_".date('Ymd').date('His').sp_random_num(3);
$user['is_payment'] = 2;
$user['statement_num'] = "PL_".date('Ymd').date('His').sp_random_num(3);
//
foreach($pc as $k=>&$v){
//获取其他信息
$v = $this->getCompanyOtherInfo($v,$k);
if($v['is_payment'] == 1){
$countdata = &$users;
}else{
$countdata = &$user;
}
$v['statement_money'] = 0;
$v['pay_amount'] = 0;
$v['fine'] = 0;
$v['reward'] = 0;
$v['platform_amount'] = 0;
foreach($v['list'] as $ke=>$va){
$game =[];
$game['pay_amount'] =$va['pay_amount'];
$game['game_name'] =$va['game_name'];
//获取比例
$game['relation_game_id']=$va['relation_game_id'];
$game['game_type_name'] = $this->getGameTypeName($va['relation_game_id']);
if($type == 1){
$tratio = getGamePromoteCompanyRadio($add_data['company_id'],$va['relation_game_id'],$endtime,$va['pay_amount'],true,$company_belong);
}elseif($type == 0){
$tratio = getGamePromoteCompanyRadio($add_data['company_id'],$va['relation_game_id'],$endtime,$va['pay_amount'],false,$company_belong);
}else{
//补点
$tratio1 = getGamePromoteCompanyRadio($add_data['company_id'],$va['relation_game_id'],$endtime,$va['pay_amount'],true,$company_belong);;
$tratio2 = getGamePromoteCompanyRadio($add_data['company_id'],$va['relation_game_id'],$endtime,$va['pay_amount'],false,$company_belong);
$tratio = $tratio1-$tratio2;
}
if($v['type'] == 2){
$game['increment_ratio']=$tratio;
}else{
$game['ratio']=$tratio;
}
$v['pay_amount'] += $va['pay_amount'];
$v['platform_amount'] += $va['platform_amount'];
//判断是否是个人
if($type < 2){
//非补点
$rrmap = array(
"reward_time" => ['between', [$begintime,$endtime]],
"company_type"=>2,
"company_id"=>$k,
"relation_game_id"=>$va['relation_game_id']
);
$rrfres =$RewardRecord->field("IFNULL(SUM(CASE WHEN reward_type = 1 THEN money ELSE 0 END),0) as reward_count,IFNULL(SUM(CASE WHEN reward_type = 2 THEN money ELSE 0 END),0) as fine_count")->where($rrmap)->find();
$v['fine'] += $rrfres['fine_count'];
$v['reward'] += $rrfres['reward_count'];
$game['reward'] = $rrfres['reward_count'];
$game['fine'] = $rrfres['fine_count'];
$game['sum_money']=round($va['pay_amount']*$tratio/100,2)+$game['reward']-$game['fine'];
}else{
$game['sum_money']=round($va['pay_amount']*$tratio*(100-$fax_ratio)/(100*100),2);//结算金额=平台总额*1-渠道费)*分成比例*(1-税费费率)
}
$v['statement_money'] += $game['sum_money'];
$game['fax_ratio']=$fax_ratio;
$game['statement_begin_time']=$statement_begin_time;
$game['statement_end_time']=$statement_end_time;
$game['statement_type']=0;
$v['statement_info'][] = $game;
}
$company_info = [
'account'=>$v['account'],
"company_relation_str"=>$v['company_relation_str'],
"company_type_str"=>$v['company_type_str'],
"nickname"=>$v['nickname'],
"payee_name"=>$v['payee_name'],
"bank_account"=>$v['bank_account'],
"opening_bank"=>$v['opening_bank']
];
if($v['statement_money'] < 300){
$lackcompany =[
"company_id"=>$k,
"company_type"=>2,
"company_name"=>$v['partner'],
"company_info"=>json_encode($company_info,JSON_UNESCAPED_UNICODE),
"statement_money"=>$v['statement_money'],
"pay_amount"=>$v['pay_amount'],
"platform_amount"=>$v['platform_amount'],
"fine"=>$v['fine'],
"reward"=>$v['reward'],
"statement_begin_time"=>$begintime,
"statement_end_time"=>$endtime,
"statement_info"=>json_encode($v['statement_info'],JSON_UNESCAPED_UNICODE)
];
}
//聚合未结算数据
$lsres = $LackStatement->where("company_id='{$k}'")->select();
$del_lack_ids = [];
if(count($lsres) > 0){
//进行聚合
foreach($lsres as $key=>$val){
$del_lack_ids[] = $val['id'];
$v['statement_money'] += $val['statement_money'];
$v['pay_amount'] = $val['pay_amount'];
$v['fine'] = $val['fine'];
$v['reward'] = $val['reward'];
$v['platform_amount'] = $val['platform_amount'];
$v['statement_info'] = array_merge($v['statement_info'],json_decode($val['statement_info'],true));
}
}
if($v['statement_money'] < 300){
//存未满
$lask_id = $LackStatement->add($lackcompany);
$countdata['create_lack_ids'][] =$lask_id;
}else{
//存成功
$company =[
"company_id"=>$k,
"company_type"=>2,
"company_name"=>$v['partner'],
"company_info"=>json_encode($company_info,JSON_UNESCAPED_UNICODE),
"statement_money"=>$v['statement_money'],
"pay_amount"=>$v['pay_amount'],
"platform_amount"=>$v['platform_amount'],
"fine"=>$v['fine'],
"reward"=>$v['reward'],
"statement_begin_time"=>$begintime,
"statement_end_time"=>$endtime,
"statement_info"=>json_encode($v['statement_info'],JSON_UNESCAPED_UNICODE)
];
$companyid = $StatementInfo->add($lackcompany);
$countdata['info_ids'][] =$companyid;
$countdata['del_lack_ids'] =array_merge($countdata['del_lack_ids'],$del_lack_ids);
}
}
dump($users);
dd($user);
}
/**
* 获取公司额为信息
*/
@ -700,7 +920,10 @@ class CompanyStatementSetController extends Controller {
->join("left join sys_member s on s.uid = pc.uid")
->where("pc.id = {$company_id}")
->find();
return array_merge($company_info,$pl);
$company = array_merge($company_info,$pl);
$company['company_relation_str'] =getCompanyBlong($company['company_belong']).getCompanyRelation($company['company_relation']);
$company['company_type_str'] = "个人";
return $company;
}
/**

@ -0,0 +1,459 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta charset="UTF-8">
<title></title>
<link rel="stylesheet" type="text/css" href="__CSS__/base.css" media="all">
<link rel="stylesheet" type="text/css" href="__CSS__/common.css" media="all">
<link rel="stylesheet" type="text/css" href="__CSS__/style.css" media="all">
<link rel="stylesheet" type="text/css" href="__CSS__/default_color.css" media="all">
<link href="__STATIC__/datetimepicker/css/datetimepicker.css" rel="stylesheet" type="text/css">
<link href="__STATIC__/datetimepicker/css/dropdown.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" href="__CSS__/select2.min.css" type="text/css" />
<script type="text/javascript" src="__STATIC__/jquery-2.0.3.min.js"></script>
<script type="text/javascript" src="__JS__/select2.min.js"></script>
<script type="text/javascript" src="__STATIC__/layer3/layer.js"></script>
<script type="text/javascript" src="__STATIC__/datetimepicker/js/bootstrap-datetimepicker.min.js"></script>
<script type="text/javascript" src="__STATIC__/datetimepicker/js/locales/bootstrap-datetimepicker.zh-CN.js"
charset="UTF-8"></script>
<script src="__STATIC__/juicer-min.js" type="text/javascript"></script>
</head>
<style>
html {
min-width: 100%;
}
body {
padding: 0px 0px 150px;
width: 960px;
margin: auto;
}
.tabcon1711 table {
width: 480px;
}
table {
margin: auto;
}
.hidebox {
display: none;
}
.r {
width: 300px;
}
.l {
width: 180px;
}
.select2-container--default .select2-selection--single {
color: #000;
resize: none;
border-width: 1px;
border-style: solid;
border-color: #a7b5bc #ced9df #ced9df #a7b5bc;
box-shadow: 0px 3px 3px #F7F8F9 inset;
height: 35px;
height: 28px;
border-radius: 3px;
font-size: 12px;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
line-height: 35px;
line-height: 28px;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
height: 26px;
}
.select2-container--default .select2-search--dropdown .select2-search__field {
height: 26px;
line-height: 26px;
font-size: 12px;
}
.select2-results__option[aria-selected] {
font-size: 12px;
}
.input-list,
.i_list {
float: left;
margin: 0;
}
</style>
<body>
<!-- <div style="width: 100%;line-height: 100px;font-size: 25px;font-weight: 600;text-align: center;">
海南万盟天下科技有限公司
</div> -->
<div style="display: flex;margin: auto;">
<div class="tab-content tabcon1711" id="firstPartBaseInfo">
<table border="0" cellspacing="0" cellpadding="0">
<tbody id="first_part_bser_info_show">
<tr>
<td class="l">公司名称:</td>
<td class="r">
<input type="text" class="txt" name="partner" value="{$payinfo['partner']}" disabled="disabled" placeholder="">
</td>
</tr>
<tr>
<td class="l">会长:</td>
<td class="r">
<input type="text" class="txt" name="account" value="{$payinfo['account']}" disabled="disabled" placeholder="">
</td>
</tr>
<tr>
<td class="l">市场员:</td>
<td class="r">
<input type="text" class="txt" name="nickname" value="{$payinfo['nickname']}" disabled="disabled" placeholder="">
</td>
</tr>
</tbody>
</table>
</div>
<div class="tab-content tabcon1711" id="secondPartBaseInfo">
<table border="0" cellspacing="0" cellpadding="0">
<tbody id="second_part_bser_info_show">
<tr>
<td class="l">下游类型:</td>
<td class="r">
<input type="text" class="txt" name="company_relation_str" value="{$payinfo['company_relation_str']}" disabled="disabled" placeholder="">
</td>
</tr>
<tr>
<td class="l">下游性质:</td>
<td class="r">
<input type="text" class="txt" name="company_type_str" value="{$payinfo['company_type_str']}" disabled="disabled" placeholder="">
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="data_list box_mt" style="margin-top: 40px;">
<div class="">
<table>
<thead>
<tr>
<th style="border-right: solid 1px #b6cad2;">产品</th>
<th style="border-right: solid 1px #b6cad2;">产品类型</th>
<th style="border-right: solid 1px #b6cad2;">结算时间</th>
<th style="border-right: solid 1px #b6cad2;">推广流水(元)</th>
<if condition="$data['withdraw_type'] eq 2">
<th style="border-right: solid 1px #b6cad2;">补点比例</th>
<else />
<th style="border-right: solid 1px #b6cad2;">分成比例</th>
</if>
<th style="border-right: solid 1px #b6cad2;">奖励</th>
<th style="border-right: solid 1px #b6cad2;">罚款</th>
<th >结算金额(元)</th>
</tr>
</thead>
<!-- 列表 -->
<tbody id="statementInit" class="">
<tr style="height: 100px;">
<td colspan=8>
请先选择生成条件后点击生成对账数据
</td>
</tr>
</tbody>
<tbody id="statementShow">
</tbody>
</table>
</div>
</div>
<div id="partpatinfo" style="display: flex;margin: auto;">
<div class="tab-content tabcon1711" id="skf_payinfo">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td class="l">开户名:</td>
<td class="r">
<input type="text" class="txt normalchange" data-change="{$payinfo.type}.payee_name" name="payee_name" value="{$payinfo.payee_name}">
</td>
</tr>
<tr>
<td class="l">开户支行:</td>
<td class="r">
<input type="text" class="txt normalchange" data-change="{$payinfo.type}.opening_bank" name="opening_bank" value="{$payinfo.opening_bank}">
</td>
</tr>
</tbody>
</table>
</div>
<div class="tab-content tabcon1711" id="fkf_payinfo">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td class="l">银行卡号:</td>
<td class="r">
<input type="text" class="txt normalchange" data-change="{$payinfo.type}.bank_account" name="bank_account" value="{$payinfo.bank_account}" >
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="search_list" style="display:flex;justify-content:flex-end;width:960px;">
<div class="input-list" style="margin-left: 30px;float: right;">
<a class="sch-btn" href="javascript:;" id="createStatement" style="width: 150px;">确认修改</a>
</div>
</div>
<script type="text/html" id="statementTpl">
{@each statement_info as it,index}
<tr>
<td>${it.game_name}</td>
<td>${it.game_type_name}</td>
<td>${it.statement_begin_time}~${it.statement_end_time}</td>
<td>${it.pay_amount}元</td>
{@if withdraw_type==2}
<td><input type="text" class="txt statementchange" name="increment_ratio" data-index ="${index}" data-change="statement_info[${index}]['increment_ratio']" value="${it.increment_ratio}" style="width: 40px;">%</td>
{@else}
<td><input type="text" class="txt statementchange" name="ratio" data-index ="${index}" data-change="statement_info[${index}]['ratio']" value="${it.ratio}" style="width: 40px;">%</td>
{@/if}
<td>${it.reward}</td>
<td>${it.fine}</td>
<td>${it.sum_money}元</td>
</tr>
{@/each}
<tr>
<td colspan="3">合计</td>
<td>${pay_amount}</td>
<td></td>
<td></td>
<td></td>
<td>${statement_money}</td>
</tr>
<tr>
<td colspan=7>本月分成总金额(人民币大写):</td>
<td>${statement_money|number_chinese}</td>
</tr>
</script>
<script>
$(function () {
TPLSHOW.juicerInit();
$(".select_gallery").select2();
$('#time_start').datetimepicker({
format: 'yyyy-mm-dd',
language: "zh-CN",
minView: 2,
autoclose: true
});
$('#datetimepicker').datetimepicker({
format: 'yyyy-mm-dd',
language: "zh-CN",
minView: 2,
autoclose: true,
pickerPosition: 'bottom-left'
})
EVENT.changeCompany();
EVENT.createStatement();
// $("#first_partner_id").change();
// $("#second_partner_id").change();
});
//基础类
var PUBLIC = {
postData(url, data, callback) {
$.ajax({
url: url,
data: data,
type: "post",
dataType: "json",
success: function (data) {
callback(data)
}
})
},
floatAdd(a,b){
return Math.round(a*100+b*100)/100;
},
floatCut(a,b){
return Math.round(a*100-b*100)/100;
},
CompanyKeyName:{
id:"公司表id",
partner:"公司名称",
link_man:'联系人',
link_phone:"联系电话",
address:'邮寄地址',
company_tax_no:'公司税号',
payee_name:'名称',
bank_account:"银行账号",
opening_bank:"开户行"
}
}
//数据类
var DATAOBJ = {$data|json_encode=###,JSON_UNESCAPED_UNICODE};
var YDATAOBJ = {$data|json_encode=###,JSON_UNESCAPED_UNICODE};
//事件类
var EVENT = {
changeCompany() {
TPLSHOW.showStatementList(true);
EVENT.normalchange();
},
createStatement() {
$("#createStatement").on("click", function () {
//TODO:验证信息
layer.load(2);
PUBLIC.postData("{:U('editStatement')}",DATAOBJ,function(data){
if(data.code == 0){
layer.closeAll('loading');
layer.msg('修改成功');
setTimeout(function(){
window.parent.reload();
},350);
}else{
alert("修改失败,请联系管理员")
}
});
//发送添加请求
})
},
normalchange() {
$(".normalchange").off("blur");
$(".normalchange").on("blur", function () {
var val = $(this).val();
var index = $(this).data("change");
var str = "DATAOBJ." + index + "='" + val + "';";
eval(str);
if (val !== eval("YDATAOBJ." + index)) {
isedit = true;
}
})
},
statementchange() {
$(".statementchange").off("blur");
$(".statementchange").on("blur",function(){
var sort = $(this).data("change");
var val = $(this).val();
var vdata = eval("DATAOBJ."+sort);//原先值
var dom = $(this);
if(!CHECK.number.test(val)){
layer.msg('结算单中的罚款和税率必须是数字,且不能为空');
dom.val(vdata);
return false;
}
var str = "DATAOBJ."+sort+"='"+val+"';";
if(val > 100 || val < 0){
layer.msg('结算单中的税率不允许大于100和小于0');
dom.val(vdata);
return false;
}
eval(str);
var index = $(this).data("index");
var td = DATAOBJ.statement_info[index];
var rname = $(this).attr("name");
if( rname == "increment_ratio" || rname == "ratio"){
var ratio = val;
}
DATAOBJ.statement_money = PUBLIC.floatCut(DATAOBJ.statement_money,td['sum_money']);
td['sum_money'] = Math.round(td['pay_amount']*ratio)/100 - td['fine'] + (td['reward']-0);
DATAOBJ.statement_money=PUBLIC.floatAdd(DATAOBJ.statement_money,td['sum_money']);
TPLSHOW.showStatementList(true);
})
}
}
var CHECK = {
number: /^\d+(\.{1}\d+)?$/,
mobile: /^1[3456789]\d{9}$/,
BankNo: /^([1-9]{1})\d{10,19}$/,
money: /((^[1-9]\d*)|^0)(\.\d{0,2}){0,1}$/
}
//
var TPLSHOW = {
juicerInit() {
var nonull = function (data) {
if (!data) {
return '';
}
return data;
};
var number_chinese = function (str) {
var num = parseFloat(str);
var strOutput = "",
strUnit = '仟佰拾亿仟佰拾万仟佰拾元角分';
num += "00";
var intPos = num.indexOf('.');
if (intPos >= 0) {
num = num.substring(0, intPos) + num.substr(intPos + 1, 2);
}
strUnit = strUnit.substr(strUnit.length - num.length);
for (var i = 0; i < num.length; i++) {
strOutput += '零壹贰叁肆伍陆柒捌玖'.substr(num.substr(i, 1), 1) + strUnit.substr(i, 1);
}
return strOutput.replace(/零角零分$/, '整').replace(/零[仟佰拾]/g, '零').replace(/零{2,}/g, '零').replace(/零([亿|万])/g, '$1').replace(/零+元/, '元').replace(/亿零{0,3}万/, '亿').replace(/^元/, "零元")
}
juicer.register('nonull', nonull);
juicer.register('number_chinese', number_chinese);
},
//支付给公司
pushStatementTypeOption() {
EVENT.normalchange();
},
//支付信息显示
showPartPayInfo() {
var data = {};
if (DATAOBJ.pay_type == 1) {
data.party_info = DATAOBJ.first_party_info;
data.type ="first_party_info";
} else {
data.party_info = DATAOBJ.second_party_info;
data.type ="second_party_info";
}
var tpl = $("#partpaytpl").html();
var html = juicer(tpl, data);
$("#partpatinfo").html(html);
EVENT.normalchange();
},
//订单信息显示
showStatementList(flag) {
if (flag) {
var data = DATAOBJ;
console.log(data);
$("#statementInit").addClass("hidebox");
var tpl = $("#statementTpl").html();
var html = juicer(tpl, data);
$("#statementShow").html(html);
EVENT.statementchange();
}
}
}
</script>
</body>
</html>

@ -0,0 +1,191 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta charset="UTF-8">
<title></title>
<link rel="stylesheet" type="text/css" href="__CSS__/base.css" media="all">
<link rel="stylesheet" type="text/css" href="__CSS__/common.css" media="all">
<link rel="stylesheet" type="text/css" href="__CSS__/style.css" media="all">
<link rel="stylesheet" type="text/css" href="__CSS__/default_color.css" media="all">
<link href="__STATIC__/datetimepicker/css/datetimepicker.css" rel="stylesheet" type="text/css">
<link href="__STATIC__/datetimepicker/css/dropdown.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" href="__CSS__/select2.min.css" type="text/css" />
<script type="text/javascript" src="__STATIC__/jquery-2.0.3.min.js"></script>
<script type="text/javascript" src="__JS__/select2.min.js"></script>
<script type="text/javascript" src="__STATIC__/layer3/layer.js"></script>
<script type="text/javascript" src="__STATIC__/datetimepicker/js/bootstrap-datetimepicker.min.js"></script>
<script type="text/javascript" src="__STATIC__/datetimepicker/js/locales/bootstrap-datetimepicker.zh-CN.js"charset="UTF-8"></script>
<script src="__STATIC__/juicer-min.js" type="text/javascript"></script>
<script src="__STATIC__/table2excel.js"></script>
</head>
<style>
html {
min-width:100%;
}
body {
padding: 0px 10px 150px 10px;
/* width: 960px; */
margin: auto;
}
/* .tabcon1711 table{
width: 480px;
} */
table{
margin: auto;
}
tr{
border-bottom: dotted 1px #c7c7c7;
}
.hidebox{
display: none;
}
.r{
width: 300px;
}
.l{
width: 180px;
}
.select2-container--default .select2-selection--single {
color: #000;
resize: none;
border-width: 1px;
border-style: solid;
border-color: #a7b5bc #ced9df #ced9df #a7b5bc;
box-shadow: 0px 3px 3px #F7F8F9 inset;
height: 35px;
height: 28px;
border-radius: 3px;
font-size: 12px;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
line-height: 35px;
line-height: 28px;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
height: 26px;
}
.select2-container--default .select2-search--dropdown .select2-search__field {
height: 26px;
line-height: 26px;
font-size: 12px;
}
.select2-results__option[aria-selected] {
font-size: 12px;
}
.input-list, .i_list {
float: left;
margin: 0;
}
</style>
<body>
<!-- <div style="width: 100%;line-height: 100px;font-size: 25px;font-weight: 600;text-align: center;">
海南万盟天下科技有限公司
</div> -->
<div class="data_list box_mt" style="margin-top: 10px;">
<div class="">
<table id="exporttable">
<!-- 表头 -->
<thead>
<tr>
<th>序号</th>
<th>下游名称</th>
<th>会长账号</th>
<th>下游类型</th>
<th>市场员</th>
<th>下游性质</th>
<th>产品</th>
<th>产品类型</th>
<th>结算时间</th>
<th>推广流水(元)</th>
<th>分成比例</th>
<th>补点</th>
<th>奖励</th>
<th>罚款</th>
<th>结算金额(元)</th>
<th>开户名</th>
<th>银行卡号</th>
<th>开户支行</th>
<th>帐户类型</th>
<th>备注</th>
</tr>
</thead>
<tbody id="statementShow">
<tr>
<td rowspan="{$data.statement_count}">1</td>
<td rowspan="{$data.statement_count}">{$data.company_name}</td>
<td rowspan="{$data.statement_count}">{$data.receive_company.account}</td>
<td rowspan="{$data.statement_count}">{$data.receive_company.company_relation_str}</td>
<td rowspan="{$data.statement_count}">{$data.receive_company.nickname}</td>
<td rowspan="{$data.statement_count}">{$data.receive_company.company_type_str}</td>
<td>{$data['statement_info'][0]['game_name']}</td>
<td>{$data['statement_info'][0]['game_type_name']}</td>
<td>{$data['statement_info'][0]['statement_begin_time']}~ {$data['statement_info'][0]['statement_end_time']}</td>
<td>{$data['statement_info'][0]['pay_amount']}</td>
<td>{$data['statement_info'][0]['ratio']|default=0}%</td>
<td>{$data['statement_info'][0]['increment_ratio']|default=0}%</td>
<td>{$data['statement_info'][0]['reward']}</td>
<td>{$data['statement_info'][0]['fine']}</td>
<td>{$data['statement_info'][0]['sum_money']}</td>
<td rowspan="{$data.statement_count}">{$data.receive_company.payee_name}</td>
<td rowspan="{$data.statement_count}">&nbsp;{$data.receive_company.bank_account}</td>
<td rowspan="{$data.statement_count}">{$data.receive_company.opening_bank}</td>
<td rowspan="{$data.statement_count}"></td>
<td rowspan="{$data.statement_count}">{$data.remark}</td>
</tr>
<foreach name="data.statement_info" item="it" key="k">
<if condition="$k neq 0">
<tr>
<td>{$it['game_name']}</td>
<td>{$it['game_type_name']}</td>
<td>{$it['statement_begin_time']} ~ {$it['statement_end_time']}</td>
<td>{$it['pay_amount']}</td>
<td>{$it['ratio']|default=0}%</td>
<td>{$it['increment_ratio']|default=0}%</td>
<td>{$it['reward']}</td>
<td>{$it['fine']}</td>
<td>{$it['sum_money']}</td>
</tr>
</if>
</foreach>
</foreach>
<tr>
<td colspan=9 >合计:</td>
<td>{$data.pay_amount}</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>{$data.statement_money}</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
</div>
</div>
</body>
<script>
$(function(){
$("#exporttable").table2excel({
filename: "{$data.statement_begin_time}-{$data.statement_end_time}下游外团对账结算单.xls", // do include extension
preserveColors: false // set to true if you want background colors and font colors preserved
});
});
</script>
</html>

@ -0,0 +1,223 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta charset="UTF-8">
<title></title>
<link rel="stylesheet" type="text/css" href="__CSS__/base.css" media="all">
<link rel="stylesheet" type="text/css" href="__CSS__/common.css" media="all">
<link rel="stylesheet" type="text/css" href="__CSS__/style.css" media="all">
<link rel="stylesheet" type="text/css" href="__CSS__/default_color.css" media="all">
<link href="__STATIC__/datetimepicker/css/datetimepicker.css" rel="stylesheet" type="text/css">
<link href="__STATIC__/datetimepicker/css/dropdown.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" href="__CSS__/select2.min.css" type="text/css" />
<script type="text/javascript" src="__STATIC__/jquery-2.0.3.min.js"></script>
<script type="text/javascript" src="__JS__/select2.min.js"></script>
<script type="text/javascript" src="__STATIC__/layer3/layer.js"></script>
<script type="text/javascript" src="__STATIC__/datetimepicker/js/bootstrap-datetimepicker.min.js"></script>
<script type="text/javascript" src="__STATIC__/datetimepicker/js/locales/bootstrap-datetimepicker.zh-CN.js"charset="UTF-8"></script>
<script src="__STATIC__/juicer-min.js" type="text/javascript"></script>
</head>
<style>
html {
min-width:100%;
}
body {
padding: 0px 0px 150px;
width: 960px;
margin: auto;
}
.tabcon1711 table{
width: 480px;
}
table{
margin: auto;
}
.hidebox{
display: none;
}
.r{
width: 300px;
}
.l{
width: 180px;
}
.select2-container--default .select2-selection--single {
color: #000;
resize: none;
border-width: 1px;
border-style: solid;
border-color: #a7b5bc #ced9df #ced9df #a7b5bc;
box-shadow: 0px 3px 3px #F7F8F9 inset;
height: 35px;
height: 28px;
border-radius: 3px;
font-size: 12px;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
line-height: 35px;
line-height: 28px;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
height: 26px;
}
.select2-container--default .select2-search--dropdown .select2-search__field {
height: 26px;
line-height: 26px;
font-size: 12px;
}
.select2-results__option[aria-selected] {
font-size: 12px;
}
.input-list, .i_list {
float: left;
margin: 0;
}
</style>
<body>
<!-- <div style="width: 100%;line-height: 100px;font-size: 25px;font-weight: 600;text-align: center;">
海南万盟天下科技有限公司
</div> -->
<div style="display: flex;margin: auto;">
<div class="tab-content tabcon1711" id="firstPartBaseInfo">
<table border="0" cellspacing="0" cellpadding="0">
<tbody id="first_part_bser_info_show">
<tr>
<td class="l">公司名称:</td>
<td class="r">
<input type="text" class="txt" name="partner" value="{$data['payinfo']['partner']}" disabled="disabled" placeholder="">
</td>
</tr>
<tr>
<td class="l">会长:</td>
<td class="r">
<input type="text" class="txt" name="account" value="{$data['payinfo']['account']}" disabled="disabled" placeholder="">
</td>
</tr>
<tr>
<td class="l">市场员:</td>
<td class="r">
<input type="text" class="txt" name="nickname" value="{$data['payinfo']['nickname']}" disabled="disabled" placeholder="">
</td>
</tr>
</tbody>
</table>
</div>
<div class="tab-content tabcon1711" id="secondPartBaseInfo">
<table border="0" cellspacing="0" cellpadding="0">
<tbody id="second_part_bser_info_show">
<tr>
<td class="l">下游类型:</td>
<td class="r">
<input type="text" class="txt" name="company_relation" value="{$data['payinfo']['company_relation_str']}" disabled="disabled" placeholder="">
</td>
</tr>
<tr>
<td class="l">下游性质:</td>
<td class="r">
<input type="text" class="txt" name="company_type_str" value="{$data['payinfo']['company_type_str']}" disabled="disabled" placeholder="">
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="data_list box_mt" style="margin-top: 10px;">
<div class="">
<table>
<!-- 表头 -->
<thead>
<tr>
<th style="border-right: solid 1px #b6cad2;">产品</th>
<th style="border-right: solid 1px #b6cad2;">产品类型</th>
<th style="border-right: solid 1px #b6cad2;">结算时间</th>
<th style="border-right: solid 1px #b6cad2;">推广流水(元)</th>
<if condition="$data['withdraw_type'] eq 2">
<th style="border-right: solid 1px #b6cad2;">补点比例</th>
<else />
<th style="border-right: solid 1px #b6cad2;">分成比例</th>
</if>
<th style="border-right: solid 1px #b6cad2;">奖励</th>
<th style="border-right: solid 1px #b6cad2;">罚款</th>
<th >结算金额(元)</th>
</tr>
</thead>
<tbody id="statementShow">
<foreach name="data.statement_info" item="it" >
<tr>
<td>{$it.game_name}</td>
<td>{$it.game_type_name}</td>
<td>{$it.statement_begin_time}~{$it.statement_end_time}</td>
<td>{$it.pay_amount}</td>
<if condition="$data['withdraw_type'] eq 2">
<td>{$it.increment_ratio}%</td>
<else />
<td>{$it.ratio}%</td>
</if>
<td>{$it.reward}</td>
<td>{$it.fine}</td>
<td>{$it.sum_money}</td>
</tr>
</foreach>
<tr>
<td colspan="3">合计</td>
<td>{$data.statement_count.pay_amount}</td>
<td></td>
<td></td>
<td></td>
<td>{$data.statement_count.statement_money}</td>
</tr>
<tr>
<td colspan=7>本月分成总金额(人民币大写):</td>
<td>{$data.statement_count.big_ratio_money}</td>
</tr>
</tbody>
</table>
</div>
</div>
<div id="partpatinfo" style="display: flex;margin: auto;">
<div class="tab-content tabcon1711" id="skf_payinfo">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td class="l">开户名:</td>
<td class="r">
<input type="text" class="txt" name="" disabled="disabled" placeholder="" value="{$data.payinfo.payee_name}">
</td>
</tr>
<tr>
<td class="l">开户支行:</td>
<td class="r">
<input type="text" class="txt" name="password" value="{$data.payinfo.opening_bank}" disabled="disabled">
</td>
</tr>
</tbody>
</table>
</div>
<div class="tab-content tabcon1711" id="fkf_payinfo">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td class="l">银行卡号:</td>
<td class="r">
<input type="text" class="txt" name="" value="{$data.payinfo.bank_account}" disabled="disabled" placeholder="">
</td>
</tr>
</tbody>
</table>
</div>
</div>
</body>
</html>

@ -1896,6 +1896,9 @@ CREATE TABLE `tab_company_statement_pool` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增主键',
`statement_num` varchar(500) COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '结算批量单号',
`statement_ids` varchar(500) COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '涉及的结算单id',
`create_lack_ids` varchar(500) COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '生成的lackid',
`del_lack_ids` varchar(500) COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '合并计算的lackid',
`statement_begin_time` int(11) NOT NULL DEFAULT '0' COMMENT '对账开始时间',
`statement_end_time` int(11) NOT NULL DEFAULT '0' COMMENT '对账截止时间',
`statement_money` decimal(10,2) DEFAULT '0.00' COMMENT '对账金额',
@ -1929,8 +1932,7 @@ CREATE TABLE `tab_company_statement_info` (
`company_id` int(11) DEFAULT '0' COMMENT '对账公司id',
`company_type` tinyint(3) NOT NULL DEFAULT '1' COMMENT '公司性质: 1-下游公司 2-下游个人 3上游公司',
`company_name` varchar(60) NOT NULL DEFAULT '' COMMENT '对账公司名称',
`ali_user` varchar(64) NOT NULL DEFAULT '' COMMENT '支付宝真实名称',
`ali_account` varchar(128) NOT NULL DEFAULT '' COMMENT '支付宝登陆账号',
`company_info` text NOT NULL DEFAULT '' COMMENT '公司其他信息json',
`statement_money` decimal(10,2) DEFAULT '0.00' COMMENT '对账金额',
`pay_amount` decimal(10,2) DEFAULT '0.00' COMMENT '总计',
@ -1954,3 +1956,27 @@ CREATE TABLE `tab_company_statement_info` (
KEY `pay_status` (`pay_status`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='对账单汇总详情';
CREATE TABLE `tab_company_lack_statement_info` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增主键',
`company_id` int(11) DEFAULT '0' COMMENT '对账公司id',
`company_type` tinyint(3) NOT NULL DEFAULT '1' COMMENT '公司性质: 1-下游公司 2-下游个人 3上游公司',
`company_name` varchar(60) NOT NULL DEFAULT '' COMMENT '对账公司名称',
`company_info` text NOT NULL DEFAULT '' COMMENT '公司其他信息json',
`statement_money` decimal(10,2) DEFAULT '0.00' COMMENT '对账金额',
`pay_amount` decimal(10,2) DEFAULT '0.00' COMMENT '总计',
`platform_amount` decimal(10,2) DEFAULT '0.00' COMMENT '平台流水金额',
`fine` decimal(10,2) DEFAULT '0.00' COMMENT '罚款',
`reward` decimal(10,2) DEFAULT '0.00' COMMENT '奖励',
`statement_begin_time` int(11) NOT NULL DEFAULT '0' COMMENT '对账开始时间',
`statement_end_time` int(11) NOT NULL DEFAULT '0' COMMENT '对账截止时间',
`statement_info` text NOT NULL DEFAULT '' COMMENT '订单相关信息json',
PRIMARY KEY (`id`),
KEY `company_tid` (`company_id`,`company_type`) USING BTREE,
KEY `statement_begin_time` (`statement_begin_time`) USING BTREE,
KEY `statement_end_time` (`statement_end_time`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='未满足支付条件的公司信息';

Loading…
Cancel
Save