Your Name 2 years ago
parent
commit
9c92bd7a55
3 changed files with 89 additions and 65 deletions
  1. 44 24
      service/bill/database/shop_stat.php
  2. 20 36
      service/bill/lib/Cron.php
  3. 25 5
      service/bill/lib/Manage.php

+ 44 - 24
service/bill/database/shop_stat.php

@@ -43,6 +43,19 @@ $config = array
             'desc'      => '',
             'search'    => 'month',
             'list'      => 'date("Y-m", {month})',
+            'list_order' => 1,
+        ),
+
+        'mids'      => array
+        (
+            'type'      => 'text-255',
+            'name'      => '代理商id',
+            'default'   => '',
+            'desc'      => '代理商id',
+            'match'     => 'is_numeric',
+            // 'option'    => $shop,
+            // 'list'      => true,
+            //'list_order' => 6,
         ),
 
         'shop_id'      => array
@@ -53,8 +66,21 @@ $config = array
             'desc'      => '店铺名称',
             'match'     => 'is_numeric',
             'option'    => $shop,
+            'list_name' => '门店名称<br/>门店编号<br/>所属代理商',
+            'list'      => 'Dever::load("bill/lib/manage.shop_stat", {id})',
+            'list_order' => 2,
+        ),
+
+        'c_money'      => array
+        (
+            'type'      => 'decimal-11,2',
+            'name'      => '采购金额',
+            'default'   => '0',
+            'desc'      => '采购金额',
+            'match'     => 'is_numeric',
+            'update'    => 'text',
             'list'      => true,
-            //'list_order' => 6,
+            'list_order' => 3,
         ),
 
         'num'        => array
@@ -79,37 +105,40 @@ $config = array
             'list'      => true,
         ),
 
-        'v_num'        => array
+        'ck_num'        => array
         (
             'type'      => 'int-11',
-            'name'      => '创V总数量',
+            'name'      => '创客数',
             'default'   => '0',
-            'desc'      => '创V总数量',
+            'desc'      => '创客数',
             'match'     => 'is_numeric',
             // 'search'    => 'order',
-            // 'list'      => true,
+            'list'      => true,
+            'list_order' => 5,
         ),
 
-        'out_num'        => array
+        'v_num'        => array
         (
             'type'      => 'int-11',
-            'name'      => '创V名额<br/>外',
+            'name'      => '创V数',
             'default'   => '0',
-            'desc'      => '创V名额外数量',
+            'desc'      => '创V数量',
             'match'     => 'is_numeric',
             // 'search'    => 'order',
             'list'      => true,
+            'list_order' => 6,
         ),
 
-        'nei_num'        => array
+        'out_num'        => array
         (
             'type'      => 'int-11',
-            'name'      => '创V名额<br/>内数量',
+            'name'      => '名额外创V',
             'default'   => '0',
-            'desc'      => '创V名额数量',
+            'desc'      => '创V名额数量',
             'match'     => 'is_numeric',
             // 'search'    => 'order',
             'list'      => true,
+            'list_order' => 7,
         ),
 
         'money'      => array
@@ -126,12 +155,13 @@ $config = array
         'dl_money'      => array
         (
             'type'      => 'decimal-11,2',
-            'name'      => '代理商<br/>业绩',
+            'name'      => '归店业绩<br/>(除创V)',
             'default'   => '0',
             'desc'      => '代理商业绩',
             'match'     => 'is_numeric',
             'update'    => 'text',
             'list'      => true,
+            'list_order' => 4,
         ),
 
         'v_money'      => array
@@ -148,23 +178,13 @@ $config = array
         'out_money'      => array
         (
             'type'      => 'decimal-11,2',
-            'name'      => '创V名额<br/>业绩',
+            'name'      => '名额外创V<br/>业绩',
             'default'   => '0',
             'desc'      => '创V名额外业绩',
             'match'     => 'is_numeric',
             'update'    => 'text',
             'list'      => true,
-        ),
-
-        'nei_money'      => array
-        (
-            'type'      => 'decimal-11,2',
-            'name'      => '创V名额<br/>内业绩',
-            'default'   => '0',
-            'desc'      => '创V名额内业绩',
-            'match'     => 'is_numeric',
-            'update'    => 'text',
-            'list'      => true,
+            'list_order' => 8,
         ),
 
         'state'     => array

+ 20 - 36
service/bill/lib/Cron.php

@@ -486,6 +486,7 @@ class Cron
         foreach($shops as $key => $val){
             $logs = Dever::db('agent/member_shop_log')->getGui(array('start'=>$start,'end'=>$end,'new_shop_id'=>$val['id'],'state'=>1));
         }
+        // print_R($logs);die;
         foreach($shops as $s=>$sv){
             foreach($logs as $l => $lv){
                 if($lv['new_shop_id'] == $sv['id']){
@@ -496,34 +497,35 @@ class Cron
                 }
             }
         }
-        // print_R($shops);die;
+        // print_r($shops);die;
         $data=array_unique($shops, SORT_REGULAR);
         $rest=array();
         foreach($data as $k=>$v){
             $rest[$v['id']]=$v;
         }
         $shop=array_values($rest);
+        // print_R($shop);die;
         foreach($shop as $k => $v){
+            foreach($v as $key => $val){
+                $shop[$k]['mids'] = implode(',',$v['mid']);
+            }
+            
+            $shop[$k]['c_money'] = Dever::db('shop/buy_order')->getCashNum(array('type'=>1,'type_id'=>$v['id'],'state'=>1));
              $shop[$k]['num'] = Dever::db('agent/member_shop_log')->getAll(array('start'=>$start,'end'=>$end,'new_shop_id'=>$v['id'],'state'=>1));
              foreach($v['mid'] as $k1 => $v1){
                 #除去创V的代理数量
                 $shop[$k]['dl_num'][] = Dever::db('agent/member')->getCount(array('id'=>$v1,'role'=>'1,2,3,4,5,6,7','state'=>1));
+                $shop[$k]['ck_num'][] = Dever::db('agent/member')->getCount(array('id'=>$v1,'role'=>'7','state'=>1));
                 #创V数量
                 $shop[$k]['v_num'][] = Dever::db('agent/member')->getCount(array('id'=>$v1,'role'=>8,'state'=>1));
                 #创V名额外数量
                 $shop[$k]['out_num'][] = Dever::db('agent/member')->getCount(array('id'=>$v1,'role'=>8,'prize_type'=>1,'state'=>1));
-                // #创V名额内数量
-                $shop[$k]['nei_num'][] = Dever::db('agent/member')->getCount(array('id'=>$v1,'role'=>8,'prize_type'=>2,'state'=>1));
                 #代理商业绩
                 $shop[$k]['money'][] = Dever::db('agent/order')->getCount(array('start'=>$start,'end'=>$end,'mid'=>$v1,'state'=>1));
                 #除去创V的代理商业绩
                 $shop[$k]['dl_money'][] = Dever::db('agent/order')->getVCount(array('start'=>$start,'end'=>$end,'mid'=>$v1,'role'=>'1,2,3,4,5,6,7','state'=>1));
-                #创V业绩
-                $shop[$k]['v_money'][] = Dever::db('agent/order')->getVCount(array('start'=>$start,'end'=>$end,'mid'=>$v1,'role'=>8,'state'=>1));
                 #创V名额外业绩
                 $out[] = Dever::db('agent/member')->find(array('id'=>$v1,'role'=>8,'prize_type'=>1));
-                #创V名额内业绩
-                $nei[] = Dever::db('agent/member')->find(array('id'=>$v1,'role'=>8,'prize_type'=>2));
              }
              if(isset($out) && $out){
                 foreach($out as $a => $b){
@@ -532,40 +534,32 @@ class Cron
                     }
                 }
             }
-            if(isset($nei) && $nei){
-                foreach($nei as $a => $b){
-                    if(isset($b['id']) && $b['id']){
-                        $shop[$k]['nei_money'][] = Dever::db('agent/order')->getVCount(array('start'=>$start,'end'=>$end,'mid'=>$b['id'],'role'=>8,'state'=>1));
-                    }
-                }
-            }
             #除创V的代理商数量
             if(isset($shop[$k]['dl_num']) && $shop[$k]['dl_num']){
                 $shop[$k]['dl_num'] = array_sum($shop[$k]['dl_num']);
             }else{
                 $shop[$k]['dl_num'] = 0;
             }
+            #创客代理商数量
+            if(isset($shop[$k]['ck_num']) && $shop[$k]['ck_num']){
+                $shop[$k]['ck_num'] = array_sum($shop[$k]['ck_num']);
+            }else{
+                $shop[$k]['ck_num'] = 0;
+            }
             #创V总数量
             if(isset($shop[$k]['v_num']) && $shop[$k]['v_num']){
                 $shop[$k]['v_num'] = array_sum($shop[$k]['v_num']);
             }else{
                 $shop[$k]['v_num'] = 0;
             }
-            #创V名额外的数量
+            #创V名额外的数量
             if(isset($shop[$k]['out_num']) && $shop[$k]['out_num']){
                 $shop[$k]['out_num'] = array_sum($shop[$k]['out_num']);
             }else{
                 $shop[$k]['out_num'] = 0;
             }
-             if(isset($shop[$k]['nei_num']) && $shop[$k]['nei_num']){
-                $shop[$k]['nei_num'] = array_sum($shop[$k]['nei_num']);
-            }else{
-                $shop[$k]['nei_num'] = 0;
-            }
         }
-        // print_R($shop);die;
         foreach($shop as $key => $val){
-            // print_R($val);die;
             #代理商的总业绩
             if(isset($val['money']) && $val['money']){
                 $shop[$key]['money'] = array_sum(array_map(function($val){return $val['total'];}, $val['money']));
@@ -578,35 +572,25 @@ class Cron
             }else{
                 $shop[$key]['dl_money'] = 0;
             }
-            #创V总业绩
-            if(isset($val['v_money']) && $val['v_money']){
-                $shop[$key]['v_money'] = array_sum(array_map(function($val){return $val['total'];}, $val['v_money']));
-            }else{
-                $shop[$key]['v_money'] = 0;
-            }
+            #创V名额外业绩
             if(isset($val['out_money']) && $val['out_money']){
                 $shop[$key]['out_money'] = array_sum(array_map(function($val){return $val['total'];}, $val['out_money']));
             }else{
                 $shop[$key]['out_money'] = 0;
             }
-            if(isset($val['nei_money']) && $val['nei_money']){
-                $shop[$key]['nei_money'] = array_sum(array_map(function($val){return $val['total'];}, $val['nei_money']));
-            }else{
-                $shop[$key]['nei_money'] = 0;
-            }
            
             $insert['shop_id'] = $val['id'];
+            $insert['mids'] = $val['mids'];
             $insert['num'] = $val['num'];
+            $insert['c_money'] = $val['c_money']['total'];
             $insert['dl_num'] = $val['dl_num'];
             $insert['v_num'] = $val['v_num'];
+            $insert['ck_num'] = $val['ck_num'];
             $insert['money'] = $shop[$key]['money'];
             $insert['dl_money'] = $shop[$key]['dl_money'];
-            $insert['v_money'] = $shop[$key]['v_money'];
             $insert['month'] = $start;
             $insert['out_num'] = $val['out_num'];
-            $insert['nei_num'] = $val['nei_num'];
             $insert['out_money'] = $shop[$key]['out_money'];
-            $insert['nei_money'] = $shop[$key]['nei_money'];
 
             if($insert){
                 $res = Dever::db('bill/shop_stat')->state(array('month'=>$start,'shop_id'=>$insert['shop_id']));

+ 25 - 5
service/bill/lib/Manage.php

@@ -297,25 +297,45 @@ class Manage
             $where['end'] = strtotime($end);
         }
         $data = Dever::db('bill/shop_stat')->getExcelAll($where);
-        $header = array('月份', '店铺名称', '代理商数量', '创V名额外数量', '创V名额内数量', '代理商业绩', '创V名额外业绩', '创V名额内业绩');
+        $header = array('月份', '门店名称','门店编号','所属代理商', '采购金额','归店业绩(除创V外)','创客数','创V数','名额外创V','名额外创V业绩');
         $body = array();
         foreach($data as $k => $v){
             $month = date('Y-m',$v['month'])."\t";
             $shop = Dever::db('shop/info')->find(array('id'=>$v['shop_id']));
+            if($shop['mid']){
+                $member = Dever::db('agent/member')->find($shop['mid']);
+                $dl_mobile = $member['mobile'];
+            }else{
+                $dl_mobile = '-';
+            }
             $d = array
             (
                 $month,
                 $shop['name'],
-                $v['dl_num'],
-                $v['out_num'],
-                $v['nei_num'],
+                $shop['sid'],
+                $dl_mobile,
+                $v['c_money'],
                 $v['dl_money'],
+                $v['ck_num'],
+                $v['v_num'],
+                $v['out_num'],
                 $v['out_money'],
-                $v['nei_money'],
             );
             $body[] = $d;
         }
         $file = '归店统计';
         Dever::excelExport($body, $header, $file);
     }
+    #归店列表显示
+    public function shop_stat_api($id){
+        $info = Dever::db('bill/shop_stat')->find($id);
+        $shop = Dever::db('shop/info')->find($info['shop_id']);
+        $html = $shop['name'];
+        $html .= '<br />' .$shop['sid'];
+        if($shop['mid']){
+            $member = Dever::db('agent/member')->find($shop['mid']);
+            $html .= '<br />' .$member['mobile'];
+        }
+        return $html; 
+    }
 }