Browse Source

数据大屏优化完成率和转单率

wufeng 2 years ago
parent
commit
227333380a
1 changed files with 41 additions and 59 deletions
  1. 41 59
      app/admin/controller/Data.php

+ 41 - 59
app/admin/controller/Data.php

@@ -356,11 +356,19 @@ class Data extends BaseController
             ->column('(sum(s.total_price) - sum(s.th_fee)) sales_volume,u.itemid,c.name', 'c.name');
 
         //额外把网络部的销售数据跨数据库查询出来
-        $sales_volume['网络部'] = [
-            'sales_volume' => Db::connect('mysql3')->table('source_all')->whereMonth('ordertime')->where('depart', '网络部')->sum('sale_total'),
-            'itemid' => -1,
-            'name' => '网络部',
-        ];
+        $other_network = Db::connect('mysql3')
+            ->table('source_all')
+            ->whereMonth('ordertime')
+            ->where('depart', '网络部')
+            ->sum('sale_total');
+        if (isset($sales_volume['网络部'])) $sales_volume['网络部']['sales_volume'] += $other_network;
+        else {
+            $sales_volume['网络部'] = [
+                'sales_volume' => $other_network,
+                'itemid' => -1,
+                'name' => '网络部'
+            ];
+        }
 
         //部门销售指标
         $sale_indicators = Db::name('depart_tips')
@@ -394,29 +402,20 @@ class Data extends BaseController
     //9.转单率-今日
     public function orderTransferRateToday()
     {
+        $consulting = Db::name('sale')
+            ->alias('s')
+            ->leftJoin('depart_user u', 'u.uid=s.apply_id AND u.is_del=0')
+            ->where(['s.order_type' => 3, 's.is_del' => 0])//order_type==3 咨询采反
+            ->whereDay('s.addtime')
+            ->group('u.itemid')
+            ->column('count(s.id) consulting', 'u.itemid');
 
-        //当天所有的咨询单
-        $temp_sql = Db::name('consult_info')
-            ->field('zxNo')
-            ->where(['is_del' => 0])
-            ->whereDay('addtime')
-            ->buildSql();
-
-        //转单成功的数据
-        $consulting = Db::name('consult_info')
-            ->alias('ci')
-            ->where(['ci.status' => 5, 'ci.is_del' => 0])//status==5 成功转单
-            ->where('ci.zxNo IN '.$temp_sql)
-            ->leftJoin('consult_order co', 'co.zxNo=ci.zxNo AND co.is_del=0')
-            ->group('co.depart')
-            ->column('count(ci.id) total', 'co.depart');
-
-        //处理全部数据
         $rs = Db::name('consult_order')
             ->alias('c')
             ->field('count(c.id) total,c.depart companyId,i.name companyName')
             ->leftJoin('company_item i', 'i.id=c.depart AND i.is_del=0')
-            ->where('c.zxNo IN '.$temp_sql)
+            ->where(['c.is_del' => 0])
+            ->whereDay('c.addtime')
             ->group('c.depart')
             ->append(['transfer_rate'])
             ->withAttr('transfer_rate', function ($val, $data) use ($consulting) {
@@ -433,29 +432,20 @@ class Data extends BaseController
     //9.转单率-本月
     public function orderTransferRateMonth()
     {
+        $consulting = Db::name('sale')
+            ->alias('s')
+            ->leftJoin('depart_user u', 'u.uid=s.apply_id AND u.is_del=0')
+            ->where(['s.order_type' => 3, 's.is_del' => 0])//order_type==3 咨询采反
+            ->whereMonth('s.addtime')
+            ->group('u.itemid')
+            ->column('count(s.id) consulting', 'u.itemid');
 
-        //当天所有的咨询单
-        $temp_sql = Db::name('consult_info')
-            ->field('zxNo')
-            ->where(['is_del' => 0])
-            ->whereMonth('addtime')
-            ->buildSql();
-
-        //转单成功的数据
-        $consulting = Db::name('consult_info')
-            ->alias('ci')
-            ->where(['ci.status' => 5, 'ci.is_del' => 0])//status==5 成功转单
-            ->where('ci.zxNo IN '.$temp_sql)
-            ->leftJoin('consult_order co', 'co.zxNo=ci.zxNo AND co.is_del=0')
-            ->group('co.depart')
-            ->column('count(ci.id) total', 'co.depart');
-
-        //处理全部数据
         $rs = Db::name('consult_order')
             ->alias('c')
             ->field('count(c.id) total,c.depart companyId,i.name companyName')
             ->leftJoin('company_item i', 'i.id=c.depart AND i.is_del=0')
-            ->where('c.zxNo IN '.$temp_sql)
+            ->where(['c.is_del' => 0])
+            ->whereMonth('c.addtime')
             ->group('c.depart')
             ->append(['transfer_rate'])
             ->withAttr('transfer_rate', function ($val, $data) use ($consulting) {
@@ -473,28 +463,20 @@ class Data extends BaseController
     public function orderTransferRateYear()
     {
 
-        //当天所有的咨询单
-        $temp_sql = Db::name('consult_info')
-            ->field('zxNo')
-            ->where(['is_del' => 0])
-            ->whereYear('addtime')
-            ->buildSql();
-
-        //转单成功的数据
-        $consulting = Db::name('consult_info')
-            ->alias('ci')
-            ->where(['ci.status' => 5, 'ci.is_del' => 0])//status==5 成功转单
-            ->where('ci.zxNo IN '.$temp_sql)
-            ->leftJoin('consult_order co', 'co.zxNo=ci.zxNo AND co.is_del=0')
-            ->group('co.depart')
-            ->column('count(ci.id) total', 'co.depart');
+        $consulting = Db::name('sale')
+            ->alias('s')
+            ->leftJoin('depart_user u', 'u.uid=s.apply_id AND u.is_del=0')
+            ->where(['s.order_type' => 3, 's.is_del' => 0])//order_type==3 咨询采反
+            ->whereYear('s.addtime', date('Y'))
+            ->group('u.itemid')
+            ->column('count(s.id) consulting', 'u.itemid');
 
-        //处理全部数据
         $rs = Db::name('consult_order')
             ->alias('c')
             ->field('count(c.id) total,c.depart companyId,i.name companyName')
             ->leftJoin('company_item i', 'i.id=c.depart AND i.is_del=0')
-            ->where('c.zxNo IN '.$temp_sql)
+            ->where(['c.is_del' => 0])
+            ->whereYear('c.addtime', date('Y'))
             ->group('c.depart')
             ->append(['transfer_rate'])
             ->withAttr('transfer_rate', function ($val, $data) use ($consulting) {
@@ -505,7 +487,7 @@ class Data extends BaseController
             ->toArray();
 
         return app_show(0, '请求成功', $rs);
-    }
 
+    }
 
 }