diff --git a/app/Admin/Controllers/Store/OrderController.php b/app/Admin/Controllers/Store/OrderController.php index c42e0aef..b40d4023 100644 --- a/app/Admin/Controllers/Store/OrderController.php +++ b/app/Admin/Controllers/Store/OrderController.php @@ -41,7 +41,7 @@ class OrderController extends AdminController $grid->model()->whereIn('store_id', $stores); } - $grid->model()->whereNotNull('store_id')->orderBy('created_at', 'desc'); + $grid->model()->orderBy('created_at', 'desc'); $grid->column('store.title', '门店'); $grid->column('sn')->copyable(); diff --git a/app/Admin/Controllers/Store/StockController.php b/app/Admin/Controllers/Store/StockController.php index 46d6dbcc..f442b3a2 100644 --- a/app/Admin/Controllers/Store/StockController.php +++ b/app/Admin/Controllers/Store/StockController.php @@ -33,7 +33,17 @@ class StockController extends AdminController $grid->column('amount')->display(function ($value) { return ''.$value.''; }); - $grid->column('balance'); + // $grid->column('balance'); + $grid->column('sell_price', '总销售价')->display(function () { + $amount = abs($this->amount); + $prcie = data_get($this->productSku, 'sell_price', 0); + return round($prcie * $amount / 100, 2, PHP_ROUND_HALF_DOWN); + }); + $grid->column('cost_price', '总成本价')->display(function () { + $amount = abs($this->amount); + $prcie = data_get($this->productSku, 'cost_price', 0); + return round($prcie * $amount / 100, 2, PHP_ROUND_HALF_DOWN); + }); $grid->column('operator_name', '操作人'); $grid->column('remarks', '备注'); $grid->column('created_at', '操作时间'); @@ -68,6 +78,45 @@ class StockController extends AdminController } }, '操作时间')->date()->width(6); }); + + $grid->footer(function ($collection) use ($grid) { + $query = StockLog::query(); + $grid->model()->getQueries()->unique()->each(function ($value) use (&$query) { + if (in_array($value['method'], ['paginate', 'get', 'orderBy', 'orderByDesc'], true)) { + return; + } + + $query = call_user_func_array([$query, $value['method']], $value['arguments'] ?? []); + }); + $list = $query->get(); + $sell = $list->sum(function ($item) { + $amount = abs($item->amount); + $prcie = data_get($item->productSku, 'sell_price', 0); + return round($prcie * $amount / 100, 2, PHP_ROUND_HALF_DOWN); + }); + $cost = $list->sum(function ($item) { + $amount = abs($item->amount); + $prcie = data_get($item->productSku, 'cost_price', 0); + return round($prcie * $amount / 100, 2, PHP_ROUND_HALF_DOWN); + }); + $amount = $list->sum(function ($item) { + return abs($item->amount); + }); + $count = $list->count(); + return << + + + 统计 + 记录数: $count + 数量: $amount + 总销售价: $sell + 总成本价: $cost + + + + HTML; + }); return $grid; }