Browse Source

数据看板-转单率

wufeng 2 years ago
parent
commit
2667e92b45
2 changed files with 80 additions and 7 deletions
  1. 76 6
      app/admin/controller/Data.php
  2. 4 1
      app/admin/route/app.php

+ 76 - 6
app/admin/controller/Data.php

@@ -295,23 +295,93 @@ class Data extends BaseController
     }
 
     //9.转单率-今日
-    public function orderTransferRateToday(){
-
-//        sale  order_type==2   咨询生成订单数
-
+    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' => 2, 's.is_del' => 0])
+            ->whereDay('s.addtime')
+            ->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.is_del' => 0])
+            ->whereDay('c.addtime')
+            ->group('c.depart')
+            ->append(['transfer_rate'])
+            ->withAttr('transfer_rate', function ($val, $data) use ($consulting) {
+                $consult = isset($consulting[$data['companyId']]) ? $consulting[$data['companyId']] : 0;
+                return round(($consult / $data['total']) * 100, 2);
+            })
+            ->select()
+            ->toArray();
 
+        return app_show(0, '请求成功', $rs);
 
     }
 
     //9.转单率-本月
-    public function orderTransferRateMonth(){
+    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' => 2, 's.is_del' => 0])
+            ->whereMonth('s.addtime')
+            ->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.is_del' => 0])
+            ->whereMonth('c.addtime')
+            ->group('c.depart')
+            ->append(['transfer_rate'])
+            ->withAttr('transfer_rate', function ($val, $data) use ($consulting) {
+                $consult = isset($consulting[$data['companyId']]) ? $consulting[$data['companyId']] : 0;
+                return round(($consult / $data['total']) * 100, 2);
+            })
+            ->select()
+            ->toArray();
+
+        return app_show(0, '请求成功', $rs);
 
     }
 
     //9.转单率-今年
-    public function orderTransferRateYear(){
+    public function orderTransferRateYear()
+    {
 
+        $consulting = Db::name('sale')
+            ->alias('s')
+            ->leftJoin('depart_user u', 'u.uid=s.apply_id AND u.is_del=0')
+            ->where(['s.order_type' => 2, 's.is_del' => 0])
+            ->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.is_del' => 0])
+            ->whereYear('c.addtime', date('Y'))
+            ->group('c.depart')
+            ->append(['transfer_rate'])
+            ->withAttr('transfer_rate', function ($val, $data) use ($consulting) {
+                $consult = isset($consulting[$data['companyId']]) ? $consulting[$data['companyId']] : 0;
+                return round(($consult / $data['total']) * 100, 2);
+            })
+            ->select()
+            ->toArray();
 
+        return app_show(0, '请求成功', $rs);
 
     }
 

+ 4 - 1
app/admin/route/app.php

@@ -494,4 +494,7 @@ Route::rule('datatodaysaleschampion','admin/Data/todaySalesChampion');//2.今日
 Route::rule('datatodaypurchase','admin/Data/todayPurchase');//3.今日采购
 Route::rule('datatotalzixunpurchease','admin/Data/totalZixunPurchease');//5.竞价单和采购单
 Route::rule('datawaitsendtotal','admin/Data/waitSendTotal');//6.未发货
-Route::rule('datatodaysale','admin/Data/todaySale');//7.今日订单
+Route::rule('datatodaysale','admin/Data/todaySale');//7.今日订单
+Route::rule('datatordertransferratetoday','admin/Data/orderTransferRateToday');//9.转单率,今日
+Route::rule('datatordertransferratemonth','admin/Data/orderTransferRateMonth');//9.转单率,本月
+Route::rule('datatordertransferrateyear','admin/Data/orderTransferRateYear');//9.转单率,本年