diff --git a/Application/Admin/Controller/FinancePromoteController.class.php b/Application/Admin/Controller/FinancePromoteController.class.php index 9d4a714f3..25cf7c761 100644 --- a/Application/Admin/Controller/FinancePromoteController.class.php +++ b/Application/Admin/Controller/FinancePromoteController.class.php @@ -105,6 +105,7 @@ class FinancePromoteController extends AdminController ); foreach($senddata as $k=>$v){ + $v['company_belong']?$v['company_belong']='外团':$v['company_belong']='内团'; if(empty($v['company_name'])) $v['company_name']= "万盟天下科技"; if(empty($v['p_id'])) $v['p_id']= "0"; if(!array_key_exists('cash_count',$v)) $v['cash_count']=0; @@ -138,6 +139,24 @@ class FinancePromoteController extends AdminController $this->assign('_page', $page); } + $outBelong = 0; + $insideBelong = 0; + + foreach ($data as $key => $value) { + + if ($value['company_belong']) { + $outBelong+=$value['allcount']; + } else { + $insideBelong+=$value['allcount']; + } + + } + + //外团占比 + $this->assign('outBelong',$outBelong/$count['all_count']*100); + //内团占比 + $this->assign('insideBelong',$insideBelong/$count['all_count']*100); + $size = $row; $data = array_slice($data, ($arraypage - 1) * $size, $size); $this->assign('list_data', $data); @@ -176,7 +195,7 @@ class FinancePromoteController extends AdminController SUM(CASE WHEN pay_way = 0 THEN pay_amount ELSE 0 END) as balance_coin_count, SUM(CASE WHEN pay_way = -1 THEN pay_amount ELSE 0 END) as bind_coin_count, IFNULL(if(substring_index(substring_index(promote.`chain`,'/',2),'/',-1)='',s.promote_id,substring_index(substring_index(promote.`chain`,'/',2),'/',-1)),0) p_id, - IFNULL(company_id,0) company_id,company_name"; + IFNULL(company_id,0) company_id,company_name,promote.company_belong"; return M() ->table("tab_spend s") ->field($field) @@ -193,7 +212,7 @@ class FinancePromoteController extends AdminController $map['s.source_id']=0; $field= "SUM(CASE WHEN s.type = 1 THEN num ELSE 0 END) as pay_amount,SUM(CASE WHEN s.type = 2 THEN num ELSE 0 END) as back_amount,IFNULL(if(substring_index(substring_index(`chain`,'/',2),'/',-1)='', s.promote_id,substring_index(substring_index(`chain`,'/',2),'/',-1)),0) p_id, - IFNULL(company_id,0) company_id,company_name"; + IFNULL(company_id,0) company_id,company_name,promote.company_belong"; return M("promote_coin s","tab_") ->field($field) ->where($map) @@ -229,10 +248,12 @@ class FinancePromoteController extends AdminController $senddata = []; //获取各会长的现金充值 $cash = self::promoteUserData([],$istimeselect); + foreach($cash as $k=>$v){ $senddata[$v['promote_id']] = $v; } $inside = self::promoteUserData([],$istimeselect,"promote_coin"); + foreach($inside as $k=>$v){ if(array_key_exists($v['promote_id'],$senddata)){ $senddata[$v['promote_id']]['inside_cash_count']= $v['pay_amount']-$v['back_amount']; @@ -276,6 +297,7 @@ class FinancePromoteController extends AdminController ); foreach($senddata as $k=>$v){ + $v['company_belong']?$v['company_belong']='外团':$v['company_belong']='内团'; if(empty($v['company_name'])) $v['company_name']= "万盟天下科技"; if(empty($v['promote_account'])) $v['promote_account']= "官方渠道"; if(!array_key_exists('cash_count',$v)) $v['cash_count']=0; @@ -339,7 +361,7 @@ class FinancePromoteController extends AdminController $field= "SUM(CASE WHEN pay_way > 0 THEN pay_amount ELSE 0 END) as cash_count, SUM(CASE WHEN pay_way = 0 THEN pay_amount ELSE 0 END) as balance_coin_count, SUM(CASE WHEN pay_way = -1 THEN pay_amount ELSE 0 END) as bind_coin_count, - IFNULL(company_id,0) company_id,company_name,promote_id,promote.account promote_account"; + IFNULL(company_id,0) company_id,company_name,promote_id,promote.account promote_account,promote.company_belong"; return M() ->table("tab_spend s") ->field($field) @@ -355,7 +377,7 @@ class FinancePromoteController extends AdminController $map['s.status']=1; $map['s.source_id']=0; $field= "SUM(CASE WHEN s.type = 1 THEN num ELSE 0 END) as pay_amount,SUM(CASE WHEN s.type = 2 THEN num ELSE 0 END) as back_amount, - IFNULL(company_id,0) company_id,company_name,promote_id,promote.account promote_account"; + IFNULL(company_id,0) company_id,company_name,promote_id,promote.account promote_account,promote.company_belong"; return M("promote_coin s","tab_") ->field($field) ->where($map) diff --git a/Application/Admin/Controller/PromoteController.class.php b/Application/Admin/Controller/PromoteController.class.php index 3d77b58a6..cc5950c89 100644 --- a/Application/Admin/Controller/PromoteController.class.php +++ b/Application/Admin/Controller/PromoteController.class.php @@ -141,6 +141,7 @@ class PromoteController extends ThinkController //为数据权限添加 setPowerPromoteIds($map, 'id'); $list_data = D(self::model_name)->where($map)->order('id DESC')->page($p, $row)->select(); + $list_data = D(self::model_name)->parseListData($list_data); $oa_data = []; if (I('oa_associated', -1) == -1) { foreach ($list_data as $k => $v) { @@ -220,14 +221,29 @@ class PromoteController extends ThinkController if ($this->accountExist($account)) { $this->error('该账号已存在'); } - $data = array('account'=>$account,'password'=>$password,'second_pwd'=>$second_pwd,'real_name'=>$real_name, - 'email'=>$email,'mobile_phone'=>$mobile_phone,'bank_name'=>$bank_name,'bank_card'=>$bank_card, - 'admin_id'=>session('user_auth')['uid'],'status'=>$status,'ba_id'=>$ba_id, 'company_id' => $company_id); + $company_belong = $_REQUEST['company_belong']; + $company_relation = $_REQUEST['company_relation']; + $data = array( + 'account'=>$account, + 'password'=>$password, + 'second_pwd'=>$second_pwd, + 'real_name'=>$real_name, + 'email'=>$email, + 'mobile_phone'=>$mobile_phone, + 'bank_name'=>$bank_name, + 'bank_card'=>$bank_card, + 'admin_id'=>session('user_auth')['uid'], + 'status'=>$status, + 'ba_id'=>$ba_id, + 'company_id' => $company_id, + 'company_belong' => $company_belong, + 'company_relation' => $company_relation, + ); if (preg_match('/^[a-zA-Z0-9]{6,15}$/', $account)==false) { $this->error('账号只能是6-15位字母或数字'); } - if (empty($company_id)) { + if ($company_id < 0) { $this->error('请选择推广公司'); } $promoteService = new PromoteService(); @@ -277,12 +293,16 @@ class PromoteController extends ThinkController if (preg_match('/^[a-zA-Z0-9]{6,15}$/', I('post.account'))==false) { $this->error('账号只能是6-15位字母或数字'); } - $promote = M("promote", "tab_")->where(array("id" => $_POST['id']))->field('id, level')->find(); + $promote = M("promote", "tab_") + ->where(array("id" => $_POST['id'])) + ->field('id, level, company_belong, company_relation, company_id') + ->find(); $data['account'] = I('post.account'); if ($this->accountExist($data['account'], $_POST['id'])) { $this->error('该账号已存在'); } - if (empty(I('company_id')) && $promote['level'] ==1) { + $company_id = I('company_id'); + if ($company_id <0 && $promote['level'] ==1) { $this->error('请选择推广公司'); } empty(I('post.id')) ? : $data['id'] =I('post.id'); @@ -310,8 +330,14 @@ class PromoteController extends ThinkController $ba = new \Admin\Model\BusinessAffairsModel(); $ba->update_child($ba_id['ba_id'], $_REQUEST['ba_id'], $id); } - if (!empty(I('company_id')) && $promote['level'] ==1) { - $data['company_id'] = I('company_id'); + + if ($promote['level'] ==1) {//如果是会长才能修改的选项 + if (!is_null($company_id)) { + $data['company_id'] = $company_id;//推广公司 + } + + $data['company_belong'] = I('company_belong');//工会归属 + $data['company_relation'] = I('company_relation');//工会关系 } $settlementType = intval(I('settlement_type', 1)); if (!empty(I('settlement_type')) && in_array($settlementType, [1, 2])) { @@ -319,10 +345,21 @@ class PromoteController extends ThinkController } $res = M("promote", "tab_")->where(array("id"=>$_POST['id']))->save($data); if ($res !== false) { - if (!empty(I('company_id')) && $promote['level'] ==1) {//修改会长底下推广员的推广公司 - M("promote", "tab_")->where("chain like '%/{$_POST['id']}/%'")->save([ - 'company_id' => I('company_id') - ]); + if ($promote['level'] == 1) {//修改会长底下推广员的推广公司 + $array = array(); + if ($promote['company_id'] != $company_id) { + $array['company_id'] = I('company_id'); + } + if ($promote['company_belong'] != I('company_belong')) { + $array['company_belong'] = I('company_belong'); + } + if ($promote['company_relation'] != I('company_relation')) { + $array['company_relation'] = I('company_relation'); + } + if ($array) { + $res = M("promote", "tab_")->where("chain like '%/{$_POST['id']}/%'")->save($array); + } + } $this->success("修改成功", U('lists')); } else { diff --git a/Application/Admin/Controller/SpendCountSetController.class.php b/Application/Admin/Controller/SpendCountSetController.class.php index 2ea622e92..16dd8f585 100644 --- a/Application/Admin/Controller/SpendCountSetController.class.php +++ b/Application/Admin/Controller/SpendCountSetController.class.php @@ -18,7 +18,8 @@ class SpendCountSetController extends \Think\Controller //初始化 $this->beginThismonth = mktime(0,0,0,date('m')-1,1,date('Y')); $this->endThismonth = mktime(0,0,0,date('m'),1,date('Y'))-1; - $this->date = date('Y')."-".((date('m')-1) > 9 ? (date('m')-1) : "0".(date('m')-1)); + $temp = strtotime(date('Y-m-01 00:00:00',strtotime('-1 month'))); + $this->date = date('Y',$temp)."-".date('m',$temp); $this->nowdata =time(); $this->model =M(); $this->usermodel =M("spend_user_count",'tab_'); diff --git a/Application/Admin/Model/PromoteModel.class.php b/Application/Admin/Model/PromoteModel.class.php index b466da9a2..2e9a02bd8 100644 --- a/Application/Admin/Model/PromoteModel.class.php +++ b/Application/Admin/Model/PromoteModel.class.php @@ -407,4 +407,16 @@ class PromoteModel extends Model{ return $result; } + + public function parseListData($result) + { + $parseData = array(); + foreach ($result as $key => $value) { + $parseData[$key] = $value; + $parseData[$key]['company_belong_str'] = $value['company_belong'] ? '外团' : '内团'; + } + return $parseData; + } + + } \ No newline at end of file diff --git a/Application/Admin/View/FinancePromote/index.html b/Application/Admin/View/FinancePromote/index.html index e78c19eaa..a707f787f 100644 --- a/Application/Admin/View/FinancePromote/index.html +++ b/Application/Admin/View/FinancePromote/index.html @@ -155,6 +155,7 @@