35 lines
861 B
PHP
35 lines
861 B
PHP
<?php
|
|
|
|
namespace App\Actions\Dealer;
|
|
|
|
use App\Models\Dealer;
|
|
|
|
class CalculatePurchaseAmountOfCurrentPeriod
|
|
{
|
|
public function __construct(
|
|
protected CalculatePurchaseAmount $calculatePurchaseAmount,
|
|
) {
|
|
}
|
|
|
|
/**
|
|
* 计算当期的进货业绩
|
|
*
|
|
* @param \App\Models\Dealer $dealer
|
|
* @return string
|
|
*/
|
|
public function handle(Dealer $dealer): string
|
|
{
|
|
$tz = now();
|
|
|
|
if ($tz->day >= 20) {
|
|
// 上月20号-当月19号的进货业绩
|
|
$startAt = $tz->copy()->subMonthNoOverflow()->setDay(20)->startOfDay();
|
|
} else {
|
|
// 上上月20号-上月19号的进货业绩
|
|
$startAt = $tz->copy()->subMonthsNoOverflow(2)->setDay(20)->startOfDay();
|
|
}
|
|
|
|
return bcmul($this->calculatePurchaseAmount->handle($dealer, $startAt), '1', 2);
|
|
}
|
|
}
|