diff --git a/app/Admin/Controllers/OrderStatisticsController.php b/app/Admin/Controllers/OrderStatisticsController.php index 6fb3c25..cee4a71 100755 --- a/app/Admin/Controllers/OrderStatisticsController.php +++ b/app/Admin/Controllers/OrderStatisticsController.php @@ -60,7 +60,7 @@ class OrderStatisticsController extends AdminController $count = Order::query(); $dateTime = request('created_at', 0); if ($dateTime) { - $count->whereBetween('created_at',$dateTime); + $count->whereBetween('created_at',[$dateTime['start'] . ' 00:00:00',$dateTime['end'].' 23:59:59']); } $count = $count->count(); $row->column(3, function (Column $column) use ($count) { @@ -78,7 +78,7 @@ HTML; $orders = Order::query()->where('status',$v); if ($dateTime) { - $orders->whereBetween('created_at',$dateTime); + $orders->whereBetween('created_at',[$dateTime['start'] . ' 00:00:00',$dateTime['end'].' 23:59:59']); } $orders = $orders->count(); diff --git a/app/Admin/Controllers/ProductStatisticsController.php b/app/Admin/Controllers/ProductStatisticsController.php index 8582c3f..ab4165d 100755 --- a/app/Admin/Controllers/ProductStatisticsController.php +++ b/app/Admin/Controllers/ProductStatisticsController.php @@ -73,7 +73,7 @@ class ProductStatisticsController extends AdminController $dateTime = request()->get('created_at')??null; $count = AgentProduct::query(); if (!empty($dateTime)) { - $count->whereBetween('created_at',$dateTime); + $count->whereBetween('created_at',[$dateTime['start'] . ' 00:00:00',$dateTime['end'].' 23:59:59']); } $count = $count->count(); return <<get('created_at')??null; $profit = AgentProduct::query()->where('status',ProductStatus::ON_SALE); if (!empty($dateTime)) { - $profit->whereBetween('created_at',$dateTime); + $profit->whereBetween('created_at',[$dateTime['start'] . ' 00:00:00',$dateTime['end'].' 23:59:59']); } $profit = $profit->count(); return <<where('status',ProductStatus::SOLD_OUT); $dateTime = request()->get('created_at')??null; if (!empty($dateTime)) { - $unSale->whereBetween('created_at',$dateTime); + $unSale->whereBetween('created_at',[$dateTime['start'] . ' 00:00:00',$dateTime['end'].' 23:59:59']); } $unSale = $unSale->count(); return <<where('agent_id',Admin::user()->id)->complete(); + //线下 + $price = Order::query()->where('agent_id',Admin::user()->id)->where('pay_type','=',PayType::OFFLINE)->complete(); + //线上 + $onlinePrice = Order::query()->where('agent_id',Admin::user()->id)->where('pay_type','!=',PayType::OFFLINE)->complete(); //利润 $costPrice = OrderProductItem::query()->where('agent_id',Admin::user()->id)->whereHas('order',function ($query) { $query->complete(); @@ -44,14 +48,16 @@ class FinanceStatisticsController extends AdminController $dateTime = request('created_at', 0); if ($dateTime) { - $price->whereBetween('created_at',$dateTime); - $costPrice->whereBetween('created_at',$dateTime); - $count->whereBetween('created_at',$dateTime); + $price->whereBetween('created_at',[$dateTime['start'] . ' 00:00:00',$dateTime['end'].' 23:59:59']); + $costPrice->whereBetween('created_at',[$dateTime['start'] . ' 00:00:00',$dateTime['end'].' 23:59:59']); + $count->whereBetween('created_at',[$dateTime['start'] . ' 00:00:00',$dateTime['end'].' 23:59:59']); + $onlinePrice->whereBetween('created_at',[$dateTime['start'] . ' 00:00:00',$dateTime['end'].' 23:59:59']); } $price = $price->sum('price'); + $onlinePrice = $onlinePrice->sum('price'); $costPrice = $costPrice->sum('price'); - $profit = bcsub($price,$costPrice,2); + $profit = bcsub(bcadd($price,$onlinePrice,6),$costPrice,2); $count = $count->count(); return $content ->body( @@ -75,10 +81,20 @@ class FinanceStatisticsController extends AdminController }); }) - ->body(function (Row $row) use ($price, $profit, $count) { + ->body(function (Row $row) use ($price, $profit, $count,$onlinePrice) { - $row->column(4, function (Column $column) use ($price) { - $column->row(Card::make('金额', function () use ($price) { + $row->column(3, function (Column $column) use ($onlinePrice) { + $column->row(Card::make('线上金额', function () use ($onlinePrice) { + return << +

$onlinePrice

+ +HTML; + })); + }); + + $row->column(3, function (Column $column) use ($price) { + $column->row(Card::make('线下金额', function () use ($price) { return <<

$price

@@ -87,7 +103,7 @@ HTML; })); }); - $row->column(4, function (Column $column) use ($profit) { + $row->column(3, function (Column $column) use ($profit) { $column->row(Card::make('利润', function () use ($profit) { return << @@ -98,7 +114,7 @@ HTML; }); - $row->column(4, function (Column $column) use ($count) { + $row->column(3, function (Column $column) use ($count) { $column->row(Card::make('已完成订单', function () use ($count) { return << diff --git a/app/AdminAgent/Controllers/OrderStatisticsController.php b/app/AdminAgent/Controllers/OrderStatisticsController.php index 237f003..2d4d0c2 100755 --- a/app/AdminAgent/Controllers/OrderStatisticsController.php +++ b/app/AdminAgent/Controllers/OrderStatisticsController.php @@ -61,7 +61,7 @@ class OrderStatisticsController extends AdminController $count = Order::query()->where('agent_id',Admin::user()->id); $dateTime = request('created_at', 0); if ($dateTime) { - $count->whereBetween('created_at',$dateTime); + $count->whereBetween('created_at',[$dateTime['start'] . ' 00:00:00',$dateTime['end'].' 23:59:59']); } $count = $count->count(); $row->column(3, function (Column $column) use ($count) { @@ -79,7 +79,7 @@ HTML; $orders = Order::query()->where('agent_id',Admin::user()->id)->where('status',$v); if ($dateTime) { - $orders->whereBetween('created_at',$dateTime); + $orders->whereBetween('created_at',[$dateTime['start'] . ' 00:00:00',$dateTime['end'].' 23:59:59']); } $orders = $orders->count(); diff --git a/app/AdminAgent/Controllers/ProductStatisticsController.php b/app/AdminAgent/Controllers/ProductStatisticsController.php index 49df036..aff8fdc 100755 --- a/app/AdminAgent/Controllers/ProductStatisticsController.php +++ b/app/AdminAgent/Controllers/ProductStatisticsController.php @@ -73,7 +73,7 @@ class ProductStatisticsController extends AdminController $dateTime = request()->get('created_at')??null; $count = AgentProduct::query()->where('agent_id',Admin::user()->id); if (!empty($dateTime)) { - $count->whereBetween('created_at',$dateTime); + $count->whereBetween('created_at',[$dateTime['start'] . ' 00:00:00',$dateTime['end'].' 23:59:59']); } $count = $count->count(); return <<get('created_at')??null; $profit = AgentProduct::query()->where('agent_id',Admin::user()->id)->where('status',ProductStatus::ON_SALE); if (!empty($dateTime)) { - $profit->whereBetween('created_at',$dateTime); + $profit->whereBetween('created_at',[$dateTime['start'] . ' 00:00:00',$dateTime['end'].' 23:59:59']); } $profit = $profit->count(); return <<where('status',ProductStatus::SOLD_OUT); $dateTime = request()->get('created_at')??null; if (!empty($dateTime)) { - $unSale->whereBetween('created_at',$dateTime); + $unSale->whereBetween('created_at',[$dateTime['start'] . ' 00:00:00',$dateTime['end'].' 23:59:59']); } $unSale = $unSale->count(); return <<where('supplier_id',Admin::user()->id)->whereHas('order',function ($query) { - $query->complete(); + $query->complete()->where('pay_type','=',PayType::OFFLINE); }); - //利润 - $costPrice = OrderProductItem::query()->where('supplier_id',Admin::user()->id)->whereHas('order',function ($query) { - $query->complete(); + + $onlinePrice = OrderProductItem::query()->where('supplier_id',Admin::user()->id)->whereHas('order',function ($query) { + $query->complete()->where('pay_type','!=',PayType::OFFLINE); }); + ////利润 + //$costPrice = OrderProductItem::query()->where('supplier_id',Admin::user()->id)->whereHas('order',function ($query) { + // $query->complete(); + //}); //已完成订单 $count = OrderProductItem::query()->where('supplier_id',Admin::user()->id)->whereHas('order',function ($query) { @@ -48,14 +53,15 @@ class FinanceStatisticsController extends AdminController $dateTime = request('created_at', 0); if ($dateTime) { - $price->whereBetween('created_at',$dateTime); - $costPrice->whereBetween('created_at',$dateTime); - $count->whereBetween('created_at',$dateTime); + $price->whereBetween('created_at',[$dateTime['start'] . ' 00:00:00',$dateTime['end'].' 23:59:59']); + //$costPrice->whereBetween('created_at',[$dateTime['start'] . ' 00:00:00',$dateTime['end'].' 23:59:59']) + $count->whereBetween('created_at',[$dateTime['start'] . ' 00:00:00',$dateTime['end'].' 23:59:59']); + $onlinePrice->whereBetween('created_at',[$dateTime['start'] . ' 00:00:00',$dateTime['end'].' 23:59:59']); } $price = $price->sum('price'); - $costPrice = $costPrice->sum('price'); - $profit = bcsub($price,$costPrice,2); + $onlinePrice = $onlinePrice->sum('price'); + $profit = bcadd($price,$onlinePrice,2); $count = $count->count(); return $content ->body( @@ -79,10 +85,21 @@ class FinanceStatisticsController extends AdminController }); }) - ->body(function (Row $row) use ($price, $profit, $count) { + ->body(function (Row $row) use ($price, $profit, $count,$onlinePrice) { + + + $row->column(3, function (Column $column) use ($onlinePrice) { + $column->row(Card::make('线上金额', function () use ($onlinePrice) { + return << +

$onlinePrice

+ +HTML; + })); + }); - $row->column(4, function (Column $column) use ($price) { - $column->row(Card::make('金额', function () use ($price) { + $row->column(3, function (Column $column) use ($price) { + $column->row(Card::make('线下金额', function () use ($price) { return <<

$price

@@ -91,7 +108,7 @@ HTML; })); }); - $row->column(4, function (Column $column) use ($profit) { + $row->column(3, function (Column $column) use ($profit) { $column->row(Card::make('利润', function () use ($profit) { return << @@ -102,7 +119,7 @@ HTML; }); - $row->column(4, function (Column $column) use ($count) { + $row->column(3, function (Column $column) use ($count) { $column->row(Card::make('已完成订单', function () use ($count) { return << diff --git a/app/AdminSupplier/Controllers/OrderStatisticsController.php b/app/AdminSupplier/Controllers/OrderStatisticsController.php index 39e1f5c..aa93e9f 100755 --- a/app/AdminSupplier/Controllers/OrderStatisticsController.php +++ b/app/AdminSupplier/Controllers/OrderStatisticsController.php @@ -61,7 +61,7 @@ class OrderStatisticsController extends AdminController $count = OrderProductItem::query()->where('supplier_id',Admin::user()->id); $dateTime = request('created_at', 0); if ($dateTime) { - $count->whereBetween('created_at',$dateTime); + $count->whereBetween('created_at',[$dateTime['start'] . ' 00:00:00',$dateTime['end'].' 23:59:59']); } $count = $count->count(); $row->column(3, function (Column $column) use ($count) { @@ -82,7 +82,7 @@ HTML; $query->where('status',$v); }); if ($dateTime) { - $orders->whereBetween('created_at',$dateTime); + $orders->whereBetween('created_at',[$dateTime['start'] . ' 00:00:00',$dateTime['end'].' 23:59:59']); } $orders = $orders->count(); diff --git a/app/AdminSupplier/Controllers/ProductStatisticsController.php b/app/AdminSupplier/Controllers/ProductStatisticsController.php index 8f31488..8ef902e 100755 --- a/app/AdminSupplier/Controllers/ProductStatisticsController.php +++ b/app/AdminSupplier/Controllers/ProductStatisticsController.php @@ -71,7 +71,7 @@ class ProductStatisticsController extends AdminController $dateTime = request()->get('created_at')??null; $count = Product::query()->where('supplier_id',Admin::user()->id); if (!empty($dateTime)) { - $count->whereBetween('created_at',$dateTime); + $count->whereBetween('created_at',[$dateTime['start'] . ' 00:00:00',$dateTime['end'].' 23:59:59']); } $count = $count->count(); return <<get('created_at')??null; $profit = Product::query()->where('supplier_id',Admin::user()->id)->where('status',ProductStatus::ON_SALE); if (!empty($dateTime)) { - $profit->whereBetween('created_at',$dateTime); + $profit->whereBetween('created_at',[$dateTime['start'] . ' 00:00:00',$dateTime['end'].' 23:59:59']); } $profit = $profit->count(); return <<where('status',ProductStatus::UNAUDITED); $dateTime = request()->get('created_at')??null; if (!empty($dateTime)) { - $unSale->whereBetween('created_at',$dateTime); + $unSale->whereBetween('created_at',[$dateTime['start'] . ' 00:00:00',$dateTime['end'].' 23:59:59']); } $unSale = $unSale->count(); return <<