Browse Source

数据大屏跨库加入客服部数据(跟网络部类似)

wufeng 2 years ago
parent
commit
81a2018ac6
1 changed files with 41 additions and 17 deletions
  1. 41 17
      app/admin/controller/Data.php

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

@@ -22,12 +22,12 @@ class Data extends BaseController
             ->whereDay('addtime', 'today')
             ->find();
 
-        //跨库查询网络部
+        //跨库查询网络部和客服部
         $internet = Db::connect('mysql3')
             ->table('source_all')
             ->field('SUM(sale_total) money,COUNT(id) orders_number')
             ->whereDay('ordertime')
-            ->where('depart', '网络部')
+            ->whereIn('depart', ['网络部', '客服部'])
             ->find();
 
         $temp = [
@@ -183,27 +183,40 @@ class Data extends BaseController
             ->order('total_price', 'desc')
             ->column('itemid companyId,c.`name` companyName,SUM(t.total_price) total_price,COUNT(t.id) total_order', 'name');
 
-        //跨库添加网络部数据
+        //跨库添加网络部数据和客服部数据
         $internet = Db::connect('mysql3')
             ->table('source_all')
-            ->field('SUM(sale_total) total_price,COUNT(id) total_order ')
             ->whereDay('ordertime')
-            ->where('depart', '网络部')
-            ->find();
+            ->group('depart')
+            ->whereIn('depart', ['网络部', '客服部'])
+            ->column('depart,SUM(sale_total) total_price,COUNT(id) total_order ', 'depart');
 
         if (!empty($internet)) {
             if (isset($rs['网络部'])) {
-                $rs['网络部']['total_price'] += $internet['total_price'];
-                $rs['网络部']['total_order'] += $internet['total_order'];
+                $rs['网络部']['total_price'] += $internet['网络部']['total_price'];
+                $rs['网络部']['total_order'] += $internet['网络部']['total_order'];
             } else {
                 $rs[] = [
                     'companyId' => '',
                     'companyName' => '网络部',
-                    'total_price' => $internet['total_price'],
-                    'total_order' => $internet['total_order'],
+                    'total_price' => $internet['网络部']['total_price'],
+                    'total_order' => $internet['网络部']['total_order'],
+                ];
+            }
+
+            if (isset($rs['客服部'])) {
+                $rs['客服部']['total_price'] += $internet['客服部']['total_price'];
+                $rs['客服部']['total_order'] += $internet['客服部']['total_order'];
+            } else {
+                $rs[] = [
+                    'companyId' => '',
+                    'companyName' => '客服部',
+                    'total_price' => $internet['客服部']['total_price'],
+                    'total_order' => $internet['客服部']['total_order'],
                 ];
             }
 
+
             //重新按照总金额排序
             usort($rs, function ($left, $right) {
                 return ($left['total_price'] > $right['total_price']) ? -1 : 1;
@@ -228,21 +241,32 @@ class Data extends BaseController
             ->whereMonth('s.addtime')
             ->column('(sum(s.total_price) - sum(s.th_fee)) sales_volume,u.itemid,c.name', 'c.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;
+            ->whereIn('depart', ['网络部', '客服部'])
+            ->group('depart')
+            ->column('SUM(sale_total) sale_total', 'depart');
+
+        if (isset($sales_volume['网络部'])) $sales_volume['网络部']['sales_volume'] += $other_network['网络部'];
         else {
             $sales_volume['网络部'] = [
-                'sales_volume' => $other_network,
+                'sales_volume' => $other_network['网络部'],
                 'itemid' => -1,
                 'name' => '网络部'
             ];
         }
 
+        if (isset($sales_volume['客服部'])) $sales_volume['客服部']['sales_volume'] += $other_network['客服部'];
+        else {
+            $sales_volume['客服部'] = [
+                'sales_volume' => $other_network['客服部'],
+                'itemid' => -2,
+                'name' => '客服部'
+            ];
+        }
+
         //部门销售指标
         $sale_indicators = Db::name('depart_tips')
             ->field('id,total_tips,depart_item department')
@@ -376,12 +400,12 @@ class Data extends BaseController
             ->whereDay('addtime', 'today')
             ->find();
 
-        //跨库查询网络部
+        //跨库查询网络部和客服部
         $internet = Db::connect('mysql3')
             ->table('source_all')
             ->field('SUM(sale_total) money,SUM(order_num) good_num,COUNT(id) orders_number')
             ->whereDay('ordertime')
-            ->where('depart', '网络部')
+            ->whereIn('depart', ['网络部', '客服部'])
             ->find();
 
         //组织数据