Browse Source

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

wufeng 2 years ago
parent
commit
0af6b25cf4
1 changed files with 16 additions and 3 deletions
  1. 16 3
      app/admin/controller/Report.php

+ 16 - 3
app/admin/controller/Report.php

@@ -301,16 +301,29 @@ class Report extends Base
 
         $list = Db::name('purchease_order')
             ->alias('po')
-            ->field('po.id,DATE_FORMAT(po.addtime,"%Y%m%d") addtime,po.cgder_id,IF(ISNULL(`du`.`itemid`),0,`du`.`itemid`) itemid,IF(ISNULL(`ci`.`name`),"供应商端",`ci`.`name`) name,po.total_fee,po.good_num,po.status')
+            ->field('po.id,DATE_FORMAT(po.addtime,"%Y%m%d") addtime,po.cgder_id,IF(ISNULL(`du`.`itemid`),0,`du`.`itemid`) itemid,IF(ISNULL(`ci`.`name`),"供应商端",`ci`.`name`) name,po.total_fee,po.good_num,po.status,po.supplierNo')
             ->leftJoin('depart_user du', 'du.uid=po.cgder_id AND du.is_del=0 AND du.nickname = po.cgder')
             ->leftJoin('company_item ci', 'ci.id=du.itemid')
             ->where($where)
             ->order(['addtime' => 'desc', 'itemid' => 'asc'])
-            ->cursor();
+//            ->cursor();
+            ->select()
+            ->toArray();
+
+        $all_supplier_no = array_column($list, 'supplierNo');
+
+        $all_supplier = checkHasAccountBySupplierNos($all_supplier_no);//检查这些供应商账号是否开通账户
+        $all_supplier = array_keys($all_supplier);
 
         $data = [];
         foreach ($list as $value) {
 
+            //把供应商端的数据单列出来
+            if (in_array($value['supplierNo'], $all_supplier)) {
+                $value['itemid'] = -1;
+                $value['name'] = '供应商端';
+            }
+
             if (!isset($data[$value['addtime']][$value['itemid']])) {
                 $data[$value['addtime']][$value['itemid']] = [
                     'addtime' => date('Y-m-d', strtotime($value['addtime'])),
@@ -529,7 +542,7 @@ class Report extends Base
         if ($param['cbaddtime_start_date'] != '' && $param['cbaddtime_end_date'] != '') $where[] = ['cb.addtime', 'between', [$param['cbaddtime_start_date'] . ' 00:00:00', $param['cbaddtime_end_date'] . ' 23:59:59']];
         if ($param['supplier'] != '') $where[] = ['cb.supplierNo|s.name', 'like', '%' . $param['supplier'] . '%'];
         if ($param['creater'] != '') $where[] = ['cb.creater', 'like', '%' . $param['creater'] . '%'];
-        if ($param['zxNo'] != '') $where[] = ['cb.infoNo', 'in', $param['zxNo']];
+        if ($param['zxNo'] != '') $where[] = ['cb.infoNo', 'like', '%' . $param['zxNo'] . '%'];
 
 
         $count = Db::name('consult_bids')