|
@@ -153,6 +153,7 @@ class GoodsService
|
|
|
$goodsName = $request->get('goods_name', '');
|
|
|
$categoryId = $request->get('join_goods_category_id', null);
|
|
|
$goodsCategory = $request->get('goods_category', null);
|
|
|
+ $type = $request->get('type','');
|
|
|
if ($categoryId != null) {
|
|
|
$categoryPath = SysCategory::where('category_id', $categoryId)->value('category_super_path');
|
|
|
$categoryPath .= '#' . $categoryId . '#';
|
|
@@ -178,7 +179,8 @@ class GoodsService
|
|
|
'user' => function ($query) {
|
|
|
$query->select('user_id', 'user_name');
|
|
|
}
|
|
|
- ])->select('goods_id', 'join_goods_category_id', 'join_goods_supplier_id', 'creator_user_id', 'goods_status', 'goods_sales_price', 'goods_category', 'goods_name', 'goods_title', 'goods_cover', 'goods_sort', 'goods_attribute_json', 'goods_addtimes', 'goods_updatetimes')
|
|
|
+ ])->leftJoin('goods_running','goods_running.join_running_goods_id','=','goods.goods_id')
|
|
|
+ ->select('goods_id', 'join_goods_category_id', 'join_goods_supplier_id', 'creator_user_id', 'goods_status', 'goods_sales_price', 'goods_category', 'goods_name', 'goods_title', 'goods_cover', 'goods_sort', 'goods_attribute_json', 'goods_addtimes', 'goods_updatetimes')
|
|
|
->when($goodsName != '', function ($query) use ($goodsName) {
|
|
|
$query->where(function ($q) use ($goodsName) {
|
|
|
$q->where('goods_name', 'like', '%' . $goodsName . '%')
|
|
@@ -195,6 +197,10 @@ class GoodsService
|
|
|
} else if ($classify != 'GOODS' && empty($categoryId)) {
|
|
|
$query->where('goods_classify', $classify);
|
|
|
}
|
|
|
+ })->when( !empty($type),function ($query) use ($type){
|
|
|
+ if ($type == 'storageWarning'){
|
|
|
+ $query->where('goods_running.goods_running_storage','<=',2);
|
|
|
+ }
|
|
|
})
|
|
|
->orderBy('goods_sort', 'DESC')
|
|
|
->orderBy('goods_addtimes', 'DESC')
|
|
@@ -202,7 +208,8 @@ class GoodsService
|
|
|
->get()
|
|
|
->toArray();
|
|
|
|
|
|
- $total = Goods::when($goodsName != '', function ($query) use ($goodsName) {
|
|
|
+ $total = Goods::leftJoin('goods_running','goods_running.join_running_goods_id','=','goods.goods_id')
|
|
|
+ ->when($goodsName != '', function ($query) use ($goodsName) {
|
|
|
$query->where(function ($q) use ($goodsName) {
|
|
|
$q->where('goods_name', 'like', '%' . $goodsName . '%')
|
|
|
->OrWhere('goods_title', 'like', '%' . $goodsName . '%');
|
|
@@ -217,7 +224,11 @@ class GoodsService
|
|
|
} else if ($classify != 'GOODS' && empty($categoryId)) {
|
|
|
$query->where('goods_classify', $classify);
|
|
|
}
|
|
|
- })
|
|
|
+ })->when( !empty($type),function ($query) use ($type){
|
|
|
+ if ($type == 'storageWarning'){
|
|
|
+ $query->where('goods_running.goods_running_storage','<=',2);
|
|
|
+ }
|
|
|
+ })
|
|
|
->count();
|
|
|
|
|
|
foreach ($rows as &$row) {
|