diff --git a/Application/Admin/Controller/CompanyStatementSetController.class.php b/Application/Admin/Controller/CompanyStatementSetController.class.php index e96474a28..f1ccf89a0 100644 --- a/Application/Admin/Controller/CompanyStatementSetController.class.php +++ b/Application/Admin/Controller/CompanyStatementSetController.class.php @@ -181,14 +181,19 @@ class CompanyStatementSetController extends Controller { } if(count($js_id) ==0 || count($cpList) == 0){return ;} - $cp_id = implode(",",array_flip(array_flip(array_keys($cpList)))); + $cp_id = implode(",",array_flip(array_flip(array_keys($cpList))));//已绑定关系 $js_id = implode(",",array_unique($js_id)); //获取cp公司 - $tmpp = M("Partner","tab_")->field("id,partner,link_man,link_phone,address,company_tax_no,payee_name,bank_account,opening_bank,channel_rate,invoice_rate,taxation_rate,company_type,ali_user,ali_account,has_advance_charge,has_server_fee,server_fee")->where(["id"=>['in',$cp_id]])->select(); + $cpmap = [ + "id"=>['in',$cp_id], + "_string"=>"(validity_start_time > 0 AND validity_end_time = 0 ) OR validity_end_time >= {$endtime}" + ]; + $tmpp = M("Partner","tab_")->field("id,partner,link_man,link_phone,address,company_tax_no,payee_name,bank_account,opening_bank,channel_rate,invoice_rate,taxation_rate,company_type,ali_user,ali_account,has_advance_charge,has_server_fee,server_fee")->where($cpmap)->select(); $cp =[]; foreach ($tmpp as $v) { $cp[$v['id']]=$v; } + $cp_id = implode(",",array_column($tmpp,"id")); //结算的id unset($tmpp); //获取己方公司 $our = []; @@ -512,9 +517,14 @@ class CompanyStatementSetController extends Controller { //无需处理 return ; } + $pc_map = [ + "id"=>["IN",$pc_id], + "_string"=>"(validity_start_time > 0 AND validity_end_time = 0 ) OR validity_end_time >= {$endtime}", + "company_type"=>1 + ]; //获取pc公司 $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,taxation_rate,company_belong,company_type,ali_user,ali_account,has_server_fee,server_fee,has_ratio,turnover_ratio") - ->where(["id"=>['in',$pc_id],"company_type"=>1]) + ->where($pc_map) ->select(); $pc =[]; $Promote = M("Promote","tab_"); @@ -545,7 +555,6 @@ class CompanyStatementSetController extends Controller { unset($tmpp); unset($js_id); $this->getPromoteCompanySpend($pcList,array_unique(array_keys($pcList)),$begintime,$endtime); - // dd($pcList); //数据整合 $verify_log=json_encode(["create_user"=>"system","create_time"=>date("Y-m-d H:i:s")]); $StatementDb = M("CompanyStatement","tab_"); @@ -553,7 +562,6 @@ class CompanyStatementSetController extends Controller { $statement_begin_time = date("Y-m-d",$begintime); $statement_end_time = date("Y-m-d",$endtime); $RewardRecord = M("RewardDetail","tab_"); - foreach($pcList as $k=>$v){ if(!isset($pc[$k])){continue;}//不存在的公司不结算 if($pc[$k]['has_ratio'] == 1){ @@ -860,9 +868,14 @@ class CompanyStatementSetController extends Controller { } //获取pc公司 $pc_id = implode(",",array_flip(array_flip(array_keys($pcList)))); + $pu_map = [ + "id"=>["IN",$pc_id], + "_string"=>"(validity_start_time > 0 AND validity_end_time = 0 ) OR validity_end_time >= {$endtime}", + "company_type"=>2 + ]; $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,taxation_rate,company_belong,company_type,ali_user,ali_account,has_server_fee,server_fee,has_ratio,turnover_ratio") - ->where(["id"=>['in',$pc_id],"company_type"=>2]) + ->where($pu_map) ->select(); if(count($tmpp)<1){return;} diff --git a/Application/Admin/View/Partner/add.html b/Application/Admin/View/Partner/add.html index ab72c45e1..b0e4f67a6 100644 --- a/Application/Admin/View/Partner/add.html +++ b/Application/Admin/View/Partner/add.html @@ -48,6 +48,7 @@