Browse Source

数据大屏优化

wufeng 2 years ago
parent
commit
9dbc85624e
2 changed files with 70 additions and 39 deletions
  1. 20 13
      app/admin/controller/Data.php
  2. 50 26
      app/admin/controller/Report.php

+ 20 - 13
app/admin/controller/Data.php

@@ -224,21 +224,28 @@ class Data extends BaseController
 
         //招标单数(咨询单数)
         $zixun_total = Db::name('consult_info')
-            ->where(['is_del' => 0, 'bargain_code' => ''])
+            ->where(['is_del' => 0])
             ->count('id');
 
-        //已反馈单数
-        $zixun_bids = Db::name('consult_info')
-            ->alias('ci')
-            ->join('consult_bids cb', 'cb.infoNo=ci.infoNo')
-            ->join('consult_order co', 'co.zxNo = cb.zxNo ')
-            ->where(['cb.is_del' => 0, 'ci.is_del' => 0, 'bargain_code' => ''])
-            ->where('co.endtime', '>=', date('Y-m-d H:i:s'))
-            ->group('cb.infoNo')
-            ->count('cb.id');
-
-        //未竞价单数(未反馈单数)
-        $not_feedback = $zixun_total - $zixun_bids;
+        //已反馈单数,
+        $sql = Db::name('consult_info')
+            ->field('zxNo')
+            ->where(['is_del' => 0, 'status' => 1])
+            ->buildSql();
+
+        //正在进行中的咨询单(招标工作台上的数据)
+        $zixun_num_ing = Db::name('consult_info')
+            ->field('zxNo')
+            ->where(['is_del' => 0, 'status' => 1])
+            ->count('id');
+
+        //已反馈的单数
+        $not_feedback = Db::name('consult_bids')
+            ->where('zxNo IN ' . $sql)
+            ->count('id');
+
+        //未竞价单数(未反馈单数) = 进行中的单数-已反馈单数
+        $not_feedback = $zixun_num_ing - $not_feedback;
 
         //采购单数
         $purchease_total = Db::name('purchease_order')

+ 50 - 26
app/admin/controller/Report.php

@@ -68,7 +68,7 @@ class Report extends Base
             ->order('g.id')
             ->select()
             ->toArray();
-     
+
         $all_good_type = [1 => '定制商品', 2 => '常规商品'];
         $all_brand = Db::name('brand')->whereIn('id', array_column($rs_temp_good, '商品品牌'))->where('is_del', 0)->column('brand_name', 'id');
         $all_cat = Db::name('cat')
@@ -160,25 +160,25 @@ class Report extends Base
 
         if (!$val_params->check($param)) return error_show(1004, $val_params->getError());
 
-        $where = [['gz.is_del', '=', 0]];
-        if ($param['start_date'] != '' && $param['end_date'] != '') $where[] = ['gz.addtime', 'between', [$param['start_date'] . ' 00:00:00', $param['end_date'] . ' 23:59:59']];
+        $where = [['co.is_del', '=', 0]];
+        if ($param['start_date'] != '' && $param['end_date'] != '') $where[] = ['co.addtime', 'between', [$param['start_date'] . ' 00:00:00', $param['end_date'] . ' 23:59:59']];
 
-        $count = Db::name('good_zixun')
-            ->alias('gz')
-            ->field('count(gz.id) total,DATE_FORMAT(gz.addtime,"%Y-%m-%d") addtime,du.itemid,ci.name')
-            ->leftJoin('depart_user du', 'du.uid=gz.createrid AND du.is_del=0')
-            ->leftJoin('company_item ci', 'ci.id=du.itemid AND ci.is_del=0')
+        $count = Db::name('consult_order')
+            ->alias('co')
+            ->field('DATE_FORMAT(co.addtime,"%Y-%m-%d") addtime,cii.name,count(ci.id) total')
+            ->leftJoin('consult_info ci', 'ci.zxNo=co.zxNo AND ci.is_del=0 AND ci.bargain_code!="" ')
+            ->leftJoin('company_item cii', 'cii.id=co.depart AND cii.is_del=0')
             ->where($where)
-            ->group('addtime,du.itemid,ci.name')
+            ->group('addtime,co.depart')
             ->count();
 
-        $list = Db::name('good_zixun')
-            ->alias('gz')
-            ->field('count(gz.id) total,DATE_FORMAT(gz.addtime,"%Y-%m-%d") addtime,du.itemid,ci.name')
-            ->leftJoin('depart_user du', 'du.uid=gz.createrid AND du.is_del=0')
-            ->leftJoin('company_item ci', 'ci.id=du.itemid AND ci.is_del=0')
+        $list = Db::name('consult_order')
+            ->alias('co')
+            ->field('DATE_FORMAT(co.addtime,"%Y-%m-%d") addtime,cii.name,count(ci.id) total')
+            ->leftJoin('consult_info ci', 'ci.zxNo=co.zxNo AND ci.is_del=0 AND ci.bargain_code!="" ')
+            ->leftJoin('company_item cii', 'cii.id=co.depart AND cii.is_del=0')
             ->where($where)
-            ->group('addtime,du.itemid,ci.name')
+            ->group('addtime,co.depart')
             ->order('addtime')
             ->page($param['page'], $param['size'])
             ->select()
@@ -209,20 +209,24 @@ class Report extends Base
         $where = [['po.is_del', '=', 0]];
         if ($param['start_date'] != '' && $param['end_date'] != '') $where[] = ['po.addtime', 'between', [$param['start_date'] . ' 00:00:00', $param['end_date'] . ' 23:59:59']];
 
-        $rs = Db::name('purchease_order')
+
+        //统计条数的时候,不能按照status分组,否则下方列表不准
+        $count = Db::name('purchease_order')
             ->alias('po')
             ->leftJoin('depart_user du', 'du.uid=po.cgder_id AND du.is_del=0')
             ->leftJoin('company_item ci', 'ci.id=du.itemid AND ci.is_del=0')
             ->where($where)
-            ->order('addtime,itemid');
-
-        //统计条数的时候,不能按照status分组,否则下方列表不准
-        $count = $rs
+            ->order('addtime,itemid')
             ->field('DATE_FORMAT(po.addtime,"%Y-%m-%d") addtime,SUM(po.total_fee) total_fee,SUM(po.good_num) good_num,du.itemid,ci.name,"" wait_total_fee,"" wait_good_num')
             ->group('addtime,du.itemid')
             ->count();
 
-        $list = $rs
+        $list = Db::name('purchease_order')
+            ->alias('po')
+            ->leftJoin('depart_user du', 'du.uid=po.cgder_id AND du.is_del=0')
+            ->leftJoin('company_item ci', 'ci.id=du.itemid AND ci.is_del=0')
+            ->where($where)
+            ->order('addtime,itemid')
             ->field('DATE_FORMAT(po.addtime,"%Y-%m-%d") addtime,SUM(po.total_fee) total_fee,SUM(po.good_num) good_num,po.status,du.itemid,ci.name,"" wait_total_fee,"" wait_good_num')
             ->page($param['page'], $param['size'])
             ->group('addtime,du.itemid,po.status')
@@ -289,7 +293,7 @@ class Report extends Base
         $count = Db::name('consult_bids')
             ->alias('cb')
             ->field('DATE_FORMAT(cb.addtime,"%Y-%m-%d") addtime,du.itemid,cb.createrid,SUM(c.num) num,COUNT(cb.id) total,du.nickname,ci.name')
-            ->leftJoin('consult c', 'c.zxNo=cb.zxNo AND c.is_del=0')
+            ->leftJoin('consult_info c', 'c.zxNo=cb.zxNo AND c.is_del=0')
             ->leftJoin('depart_user du', 'du.uid=cb.createrid AND du.is_del=0')
             ->leftJoin('company_item ci', 'ci.id=du.itemid AND ci.is_del=0')
             ->where($where)
@@ -300,7 +304,7 @@ class Report extends Base
         $list = Db::name('consult_bids')
             ->alias('cb')
             ->field('DATE_FORMAT(cb.addtime,"%Y-%m-%d") addtime,du.itemid,cb.createrid,SUM(c.num) num,COUNT(cb.id) total,du.nickname,ci.name')
-            ->leftJoin('consult c', 'c.zxNo=cb.zxNo AND c.is_del=0')
+            ->leftJoin('consult_info c', 'c.zxNo=cb.zxNo AND c.is_del=0')
             ->leftJoin('depart_user du', 'du.uid=cb.createrid AND du.is_del=0')
             ->leftJoin('company_item ci', 'ci.id=du.itemid AND ci.is_del=0')
             ->where($where)
@@ -424,7 +428,7 @@ class Report extends Base
                 ->select()
                 ->toArray();
 
-            if (empty($data)) $data[] ='没有可供导出的数据';
+            if (empty($data)) $data[] = '没有可供导出的数据';
 
             $headerArr = array_keys($data[0]);
             excelSave('咨询单报表-已采反报价信息' . date('YmdHis'), $headerArr, $data);
@@ -443,6 +447,26 @@ class Report extends Base
                 ->select()
                 ->toArray();
 
+            //汇总
+            $data[]=[
+                'id'=>0,
+                'addtime'=>'汇总',
+                'bidNo'=>'',
+                'zxNo'=>'',
+                'cbaddtime'=>'',
+                'good_name'=>'',
+                'supplier'=>'',
+                'total_fee'=>array_sum(array_column($data,'total_fee')),
+                'delivery_day'=>'',
+                'work_day'=>'',
+                'expire_day'=>'',
+                'creater'=>'',
+                'num'=>array_sum(array_column($data,'num')),
+                'arrival_time'=>'',
+                'salesman'=>'',
+                'companyName'=>'',
+            ];
+
             return app_show(0, '请求成功', ['list' => $data, 'total' => $total]);
 
         }
@@ -487,7 +511,7 @@ class Report extends Base
                 ->select()
                 ->toArray();
 
-            if (empty($data)) $data[] ='没有可供导出的数据';
+            if (empty($data)) $data[] = '没有可供导出的数据';
 
             $headerArr = array_keys($data[0]);
             excelSave('咨询单报表-未采反信息' . date('YmdHis'), $headerArr, $data);
@@ -575,7 +599,7 @@ class Report extends Base
                 $list[] = $v;
             }
 
-            if (empty($list))$list[] = '没有可供导出的数据';
+            if (empty($list)) $list[] = '没有可供导出的数据';
 
             $headerArr = array_keys($list[0]);
             excelSave('订单明细报表' . date('YmdHis'), $headerArr, $list);