浏览代码

后端报表,采购员订单金额,优化

wufeng 2 年之前
父节点
当前提交
ef40b8485e
共有 1 个文件被更改,包括 14 次插入10 次删除
  1. 14 10
      app/admin/controller/Report.php

+ 14 - 10
app/admin/controller/Report.php

@@ -440,7 +440,7 @@ class Report extends Base
 
         //先组织子查询
         $children_query = Db::name('purchease_order')
-            ->field('DATE_FORMAT(addtime, "%Y-%m-%d") addtime,cgder_id,cgder,total_fee,status,good_num')
+            ->field('id,DATE_FORMAT(addtime, "%Y-%m-%d") addtime,cgder_id,cgder,total_fee,status,good_num')
             ->where($where)
             ->buildSql();
 
@@ -451,7 +451,7 @@ class Report extends Base
 
         $rs = Db::table($children_query)
             ->alias('a')
-            ->field('a.addtime,a.cgder_id,a.cgder,SUM(a.total_fee) total_fee,SUM(a.good_num) good_num,a.status,0 wait_total_fee,0 wait_good_num')
+            ->field('a.addtime,a.cgder_id,a.cgder,SUM(a.total_fee) total_fee,SUM(a.good_num) good_num,COUNT(a.id) count_num,a.status,0 wait_total_fee,0 wait_good_num')
             ->group('a.addtime,a.cgder_id,a.cgder,a.status')
             ->order('a.addtime,a.cgder_id')
             ->page($param['page'], $param['size'])
@@ -465,19 +465,23 @@ class Report extends Base
                     'addtime' => $value['addtime'],
                     'cgder' => $value['cgder'],
                     'name' => get_company_name_by_uid($value['cgder_id']),
-                    'total_fee' => 0.00,
-                    'good_num' => 0,
-                    'wait_total_fee' => 0.00,
-                    'wait_good_num' => 0,
+                    'count_num' => '0',
+                    'total_fee' => '0',
+                    'good_num' => '0',
+                    'wait_total_fee' => '0',
+                    'wait_good_num' => '0',
                 ];
             }
             if ($value['status'] == 0) {
-                $data[$value['addtime']][$value['cgder_id']]['wait_total_fee'] += $value['total_fee'];
-                $data[$value['addtime']][$value['cgder_id']]['wait_good_num'] += $value['good_num'];
+                $data[$value['addtime']][$value['cgder_id']]['wait_total_fee'] = bcadd($data[$value['addtime']][$value['cgder_id']]['wait_total_fee'], $value['total_fee'], 2);
+
+                $data[$value['addtime']][$value['cgder_id']]['wait_good_num'] = bcadd($data[$value['addtime']][$value['cgder_id']]['wait_good_num'], $value['good_num']);
             } else {
-                $data[$value['addtime']][$value['cgder_id']]['total_fee'] += $value['total_fee'];
-                $data[$value['addtime']][$value['cgder_id']]['good_num'] += $value['good_num'];
+                $data[$value['addtime']][$value['cgder_id']]['total_fee'] = bcadd($data[$value['addtime']][$value['cgder_id']]['total_fee'], $value['total_fee'], 2);
+                $data[$value['addtime']][$value['cgder_id']]['good_num'] = bcadd($data[$value['addtime']][$value['cgder_id']]['good_num'], $value['good_num']);
             }
+
+            $data[$value['addtime']][$value['cgder_id']]['count_num'] = bcadd($data[$value['addtime']][$value['cgder_id']]['count_num'], $value['count_num']);
         }
 
         $da = [];