|
@@ -1,9 +1,11 @@
|
|
|
<?php namespace App\Http\Controllers\Admin;
|
|
|
|
|
|
use App\Http\Requests\Admin\Product as Request;
|
|
|
+use App\Models\AdminHistory;
|
|
|
use App\Models\AdminUser;
|
|
|
use App\Models\Business;
|
|
|
use App\Models\City;
|
|
|
+use App\Models\OrdersProduct;
|
|
|
use App\Models\Producer;
|
|
|
use App\Models\Product as Model;
|
|
|
use Illuminate\Support\Carbon;
|
|
@@ -33,7 +35,7 @@ class Product extends Auth{
|
|
|
* 首页列表
|
|
|
*
|
|
|
* */
|
|
|
- public function index(Model $Model,City $City,ProductCity $ProductCity){
|
|
|
+ public function index(Model $Model,City $City,ProductCity $ProductCity,OrdersProduct $OrdersProduct,AdminHistory $AdminHistory){
|
|
|
// 接受参数
|
|
|
$code = request('product_code','');
|
|
|
$name = request('name','');
|
|
@@ -61,8 +63,17 @@ class Product extends Auth{
|
|
|
->orderByDesc('product.id')
|
|
|
->select(['product.*'])
|
|
|
->paginate(request('limit',config('page_num',10)))->appends(request()->all());
|
|
|
+ // 统计销量
|
|
|
+ $salesList = $OrdersProduct->query()->where([['status','<>',4]])->whereIn('product_id',array_column($list->items(),'id'))->groupBy('product_id')->select([DB::raw('sum(`buy_num`) as sales_total'),'product_id'])->pluck('sales_total','product_id')->toArray();
|
|
|
// 循环处理数据
|
|
|
foreach ($list as $key => $value) {
|
|
|
+ // 判断总库存
|
|
|
+ if( !$value['stock_total'] ) {
|
|
|
+ // 以首次添加时的为准
|
|
|
+ $value['stock_total']= (int) $AdminHistory->query()->where([['table_name','=','product'],['primary_id','=',$value['id']],['notes_type','=',1],['column_name','=','stock']])->orderBy('update_time')->value('after_value');
|
|
|
+ // 修改库存
|
|
|
+ $Model->edit($value['id'],['stock_total'=>$value['stock_total']]);
|
|
|
+ }
|
|
|
// id转编号
|
|
|
$value['product_code'] = $Model->idToCode($value['id']);
|
|
|
// id转编号
|
|
@@ -79,6 +90,8 @@ class Product extends Auth{
|
|
|
$cityName[] = $City->getOne($cityId,'name');
|
|
|
}
|
|
|
}
|
|
|
+ // 销量统计
|
|
|
+ $value['sales_total'] = isset($salesList[$value['id']])?$salesList[$value['id']]:0;
|
|
|
// 城市
|
|
|
$value['city_name'] = implode('、',$cityName);
|
|
|
// 重组
|