Browse Source

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

wufeng 2 years ago
parent
commit
dd7ad454e0
1 changed files with 12 additions and 9 deletions
  1. 12 9
      app/admin/controller/Report.php

+ 12 - 9
app/admin/controller/Report.php

@@ -511,16 +511,19 @@ class Report extends Base
 
         $all_supplier = array_column($rs, 'supplierNo');
         $has_account = checkHasAccountBySupplierNos($all_supplier);//检查供应商是否开通账号
-        $supplier = Db::name('supplier')->whereIn('code',array_keys($has_account))->column('name','code');
+        $supplier = Db::name('supplier')->whereIn('code', array_keys($has_account))->column('name', 'code');
 
         $data = [];
         foreach ($rs as $value) {
 
-            if (!isset($data[$value['addtime']][$value['cgder_id']])) {
-                $data[$value['addtime']][$value['cgder_id']] = [
+            $key = $value['cgder_id'];
+            if (isset($has_account[$value['supplierNo']])) $key = $value['supplierNo'];//如果开通了供应商账号,更改下标
+
+            if (!isset($data[$value['addtime']][$key])) {
+                $data[$value['addtime']][$key] = [
                     'addtime' => $value['addtime'],
                     'cgder' => isset($has_account[$value['supplierNo']]) ? $supplier[$value['supplierNo']] ?? '' : $value['cgder'],
-                    'name' => isset($has_account[$value['supplierNo']]) ? '供应商' : get_company_name_by_uid($value['cgder_id']),
+                    'name' => isset($has_account[$value['supplierNo']]) ? '供应商' : get_company_name_by_uid($key),
                     'count_num' => '0',
                     'total_fee' => '0',
                     'good_num' => '0',
@@ -529,15 +532,15 @@ class Report extends Base
                 ];
             }
             if ($value['status'] == 0) {
-                $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']][$key]['wait_total_fee'] = bcadd($data[$value['addtime']][$key]['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']);
+                $data[$value['addtime']][$key]['wait_good_num'] = bcadd($data[$value['addtime']][$key]['wait_good_num'], $value['good_num']);
             } else {
-                $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']][$key]['total_fee'] = bcadd($data[$value['addtime']][$key]['total_fee'], $value['total_fee'], 2);
+                $data[$value['addtime']][$key]['good_num'] = bcadd($data[$value['addtime']][$key]['good_num'], $value['good_num']);
             }
 
-            $data[$value['addtime']][$value['cgder_id']]['count_num'] = bcadd($data[$value['addtime']][$value['cgder_id']]['count_num'], 1);
+            $data[$value['addtime']][$key]['count_num'] = bcadd($data[$value['addtime']][$key]['count_num'], 1);
         }
 
         $da = [];