Sfoglia il codice sorgente

报表-采购日报表-采购订单总金额优化

wufeng 2 anni fa
parent
commit
6b0efa99b3
1 ha cambiato i file con 22 aggiunte e 27 eliminazioni
  1. 22 27
      app/admin/controller/Report.php

+ 22 - 27
app/admin/controller/Report.php

@@ -205,53 +205,48 @@ class Report extends Base
 
         $rs = Db::name('purchease_order')
             ->alias('po')
-            ->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')
+            ->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')
             ->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('po.is_del', 0)
             ->group('addtime,du.itemid,po.status')
-            ->fetchSql()
-//            ->whereBetween('po.addtime', [$param['start_date'], $param['end_date']])
-        ->select();
-//            ->toArray();
-//            ->cursor();
-        halt($rs);
+            ->order('addtime,itemid')
+            ->whereBetween('po.addtime', [$param['start_date'], $param['end_date']])
+            ->cursor();
 
         $data = [];
         foreach ($rs as $value) {
-            $addtime_stamp = strtotime($value['addtime']);
-
-            if (!isset($data[$addtime_stamp])) {
-                $data[$addtime_stamp] = [
-                    'date' => $value['addtime'],//date('Y年m月d日', $addtime_stamp),
-                    'list' => [],
-                ];
-            }
-
-            if (!isset($data[$addtime_stamp]['list'][$value['itemid']])) {
-                $data[$addtime_stamp]['list'][$value['itemid']] = [
+            if (!isset($data[$value['addtime']][$value['itemid']])) {
+                $data[$value['addtime']][$value['itemid']] = [
+                    'addtime' => $value['addtime'],
+                    'itemid' => $value['itemid'],
                     'name' => $value['name'],
-                    'total_fee' => 0.00,
+                    'total_fee' => 0,
                     'good_num' => 0,
-                    'wait_total_fee' => 0.00,
+                    'wait_total_fee' => 0,
                     'wait_good_num' => 0,
                 ];
             }
+
             if ($value['status'] == 0) {
-                $data[$addtime_stamp]['list'][$value['itemid']]['wait_total_fee'] += $value['total_fee'];
-                $data[$addtime_stamp]['list'][$value['itemid']]['wait_good_num'] += $value['good_num'];
+                $data[$value['addtime']][$value['itemid']]['wait_total_fee'] += $value['total_fee'];
+                $data[$value['addtime']][$value['itemid']]['wait_good_num'] += $value['good_num'];
             } else {
-                $data[$addtime_stamp]['list'][$value['itemid']]['total_fee'] += $value['total_fee'];
-                $data[$addtime_stamp]['list'][$value['itemid']]['good_num'] += $value['good_num'];
+                $data[$value['addtime']][$value['itemid']]['total_fee'] += $value['total_fee'];
+                $data[$value['addtime']][$value['itemid']]['good_num'] += $value['good_num'];
             }
+
         }
 
         //去除下标
-        foreach ($data as &$v) {
-            $v['list'] = array_merge($v['list']);
+        $da = [];
+        foreach ($data as $v) {
+            foreach ($v as $vvv) {
+                $da[] = $vvv;
+            }
         }
 
-        return app_show(0, '请求成功', array_merge($data));
+        return app_show(0, '请求成功', $da);
 
     }