Browse Source

全部订单导出优化

gorden 6 months ago
parent
commit
8765f75266
1 changed files with 26 additions and 0 deletions
  1. 26 0
      app/admin/controller/order/WholeController.php

+ 26 - 0
app/admin/controller/order/WholeController.php

@@ -3874,6 +3874,32 @@ class WholeController extends Curd
             $where['order_addtimes'][0] = strtotime($where['order_addtimes'][0]);
             $where['order_addtimes'][1] = strtotime($where['order_addtimes'][1]);
         }
+        if ($request->get('goods_classify') || $request->get('goods_name')) {
+            $where['order_id'] = '';
+            $goodsClassify = $request->get('goods_classify', '');
+            $goodsName = $request->get('goods_name', '');
+            if (!empty($goodsName) && empty($goodsClassify)) {
+                $goodsIds = Goods::where('goods_name', 'like', '%' . $request->get('goods_name') . '%')->pluck('goods_id')->toArray();
+            } else if (!empty($goodsClassify)) {
+                if ($goodsClassify == 'SERVICE') {
+                    $goodsModel = Goods::whereIn('goods_classify', ['SERVICE', 'CHNMED', 'CHNNCD']);
+                } else {
+                    $goodsModel = Goods::where('goods_classify', $goodsClassify);
+                }
+
+                if (!empty($goodsName)) {
+                    $goodsModel->where('goods_name', 'like', '%' . $goodsName . '%');
+                }
+
+                $goodsIds = $goodsModel->pluck('goods_id')->toArray();
+            }
+            if ($goodsIds) {
+                $orderIds = OrderSheet::whereIn('join_sheet_goods_id', $goodsIds)->pluck('join_sheet_order_id')->toArray();
+                if ($orderIds) {
+                    $where['order_id'] = ['in', implode(',', $orderIds)];
+                }
+            }
+        }
         $order = $request->get('order', 'desc');
         $field = $field ?? 'order_addtimes';