Browse Source

数据看板优化未竞标单数

wufeng 2 years ago
parent
commit
61f85db3f9
3 changed files with 27 additions and 42 deletions
  1. 1 0
      app/admin/controller/Data.php
  2. 25 41
      app/admin/controller/Report.php
  3. 1 1
      app/admin/route/app.php

+ 1 - 0
app/admin/controller/Data.php

@@ -231,6 +231,7 @@ class Data extends BaseController
         //已反馈单数
         $zixun_bids = Db::name('consult_bids')
             ->where('is_del', 0)
+            ->group('infoNo')
             ->count('id');
 
         //未竞价单数(未反馈单数)

+ 25 - 41
app/admin/controller/Report.php

@@ -152,38 +152,17 @@ class Report extends Base
 
         $rs = Db::name('good_zixun')
             ->alias('gz')
-            ->field('gz.id,DATE_FORMAT(gz.addtime,"%Y-%m-%d") addtime,gz.createrid,du.itemid,ci.name')
+            ->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')
             ->where('gz.is_del', 0)
-            ->whereBetween('gz.addtime', [$param['start_date'] . ' 00:00:00', $param['end_date'] . ' 23:59:59'])
-            ->cursor();
-
-        $data = [];
-        foreach ($rs as $value) {
-            $addtime_stamp = strtotime($value['addtime']);
-
-            if (!isset($data[$addtime_stamp])) $data[$addtime_stamp] = [
-                'date' => $value['addtime'],
-                'list' => [],
-            ];
-
-            if (isset($data[$addtime_stamp]['list'][$value['itemid']])) {
-                $data[$addtime_stamp]['list'][$value['itemid']]['total']++;
-            } else {
-                $data[$addtime_stamp]['list'][$value['itemid']] = [
-                    'total' => 1,
-                    'name' => $value['name'],
-                ];
-            }
-        }
-
-        //去掉下标
-        foreach ($data as &$v) {
-            $v['list'] = array_merge($v['list']);
-        }
+            ->group('addtime,du.itemid,ci.name')
+            ->order('addtime')
+//            ->whereBetween('gz.addtime', [$param['start_date'] . ' 00:00:00', $param['end_date'] . ' 23:59:59'])
+            ->select()
+            ->toArray();
 
-        return app_show(0, '请求成功', array_merge($data));
+        return app_show(0, '请求成功', $rs);
 
     }
 
@@ -472,8 +451,9 @@ class Report extends Base
     {
         $param = $this->request->only([
             'token',
-            'start_date' => date('Y-m-d'),
-            'end_date' => date('Y-m-d'),
+            'addtime_start' => date('Y-m-d'),
+            'addtime_end' => date('Y-m-d'),
+            'status' => '',
             'page' => 1,
             'size' => 15,
             'is_export' => 0,//是否导出,1导出,0不导出
@@ -488,26 +468,27 @@ class Report extends Base
         if (!$val_params->check($param)) return error_show(1004, $val_params->getError());
 
         $rs = Db::name('purchease_order')
-            ->alias('po');
-//            ->leftJoin('consult_info ci', 'ci.zxNo=cb.zxNo AND ci.is_del=0')
-//            ->leftJoin('consult_order co', 'co.zxNo=cb.zxNo AND co.is_del=0')
-//            ->leftJoin('customer_info csi', 'csi.companyNo=co.khNo AND csi.is_del=0')
-//            ->where('cb.is_del', 0)
-//            ->order('co.endtime', 'desc');
+            ->alias('po')
+            ->leftJoin('business b', 'b.companyNo=po.companyNo AND b.is_del=0');
 
-        if ($param['start_date'] != '' && $param['end_date'] != '') $rs->whereBetween('ci.addtime', [$param['start_date'] . ' 00:00:00', $param['end_date'] . ' 23:59:59']);
-        if ($param['companyName'] != '') $rs->whereLike('csi.companyName', '%' . $param['companyName'] . '%');
+        if ($param['addtime_start'] != '' && $param['addtime_end'] != '') $rs->whereBetween('po.addtime', [$param['addtime_start'] . ' 00:00:00', $param['addtime_end'] . ' 23:59:59']);
+        if ($param['status'] != '') $rs->where('po.status', '=', $param['status']);
+
+        $all_status = ['待与供应商确认', '待入库', '部分入库', '入库完成', '已取消订单'];
 
         if ($param['is_export'] == 1) {
             $data = $rs
-                ->field('cb.zxNo 咨询订单号,cb.good_name 产品名称,ci.num 需求数量,csi.companyName 客户名称,ci.addtime 咨询时间,co.endtime 截止时间')
+                ->field('po.cgdNo 采购单编号,po.addtime 创建时间,po.supplierNo 供应商编号,po.supplier_name 供应商名称,po.good_name 产品名称,po.good_num 购买数量,po.nake_fee 裸价,po.total_fee 成本合计,po.status 单据状态,po.wsend_num 未发货数量,"" 创建人,b.company 客户名称,po.cgder 采购员,"" 发货时间')
+                ->withAttr('单据状态', function ($val) use ($all_status) {
+                    return isset($all_status[$val]) ? $all_status[$val] : '';
+                })
                 ->select()
                 ->toArray();
 
             if (empty($data)) return error_show(1005, '没有可供导出的数据');
             else {
                 $headerArr = array_keys($data[0]);
-                excelSave('咨询单报表-未采反信息' . date('YmdHis'), $headerArr, $data);
+                excelSave('订单明细报表' . date('YmdHis'), $headerArr, $data);
             }
 
         } else {
@@ -515,7 +496,10 @@ class Report extends Base
             $total = $rs->count('po.id');
 
             $data = $rs
-                ->field('po.,po.,po.,po.,po.,po.,po.,po.')
+                ->field('po.cgdNo,po.addtime,po.supplierNo,po.supplier_name,po.good_name,po.good_num,po.nake_fee,po.total_fee,po.status,po.wsend_num,"" 创建人,b.company,po.cgder,"" 发货时间')
+                ->withAttr('status', function ($val) use ($all_status) {
+                    return isset($all_status[$val]) ? $all_status[$val] : '';
+                })
                 ->page($param['page'], $param['size'])
                 ->select()
                 ->toArray();

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

@@ -493,7 +493,7 @@ Route::rule('reportconsultbidssum','admin/Report/consultBidsSum');//报表-采
 Route::rule('reportpurcheaseordersumbyuser','admin/Report/purcheaseOrderSumByUser');//报表-采购日报表-采购员订单金额
 Route::rule('reportconsultinfobidssum','admin/Report/consultInfoBidsSum');//报表-咨询单报表-已采反报价信息
 Route::rule('reportconsultinfobidssumnot','admin/Report/consultInfoBidsSumNot');//报表-咨询单报表-未采反信息
-Route::rule('reportorderlistdetailed','admin/Report/orderListDetailed');//报表-咨询单报表-未采反信息
+Route::rule('reportorderlistdetailed','admin/Report/orderListDetailed');//报表-订单明细报表
 
 //数据看板
 Route::rule('datatodaysalesvolume','admin/Data/todaySalesVolume');//1.今日销量