Fehler in Abrechnungsende behoben

This commit is contained in:
2026-09-11 11:26:35 +02:00
parent 328825293a
commit ef6284d5cc
11 changed files with 284 additions and 19 deletions
+6 -9
View File
@@ -15,7 +15,6 @@ use Illuminate\Support\Facades\Mail;
class CloseCostUnit implements CronTask {
public function handle(): void
{
$now = now();
$costUnitRepository = new CostUnitRepository();
$now = now();
$billingResetEnd = clone $now;
@@ -25,7 +24,7 @@ class CloseCostUnit implements CronTask {
$billingEnd = $costUnit['billing_deadline'];
if ($billingEnd === null) {
$billingEnd = \DateTime::createFromFormat('Y-m-d H:i:s', $billingResetEnd)->format('Y-m-d H:i:s');
$billingEnd = $billingResetEnd->format('Y-m-d');
new ChangeCostUnitDetailsCommand(new ChangeCostUnitDetailsRequest(
CostUnit::where('id', $costUnit['id'])->first(),
Amount::fromString($costUnit['distance_allowance']),
@@ -34,9 +33,9 @@ class CloseCostUnit implements CronTask {
))->execute();
}
$billingEndTime = \DateTime::createFromFormat('Y-m-d H:i:s', $billingEnd);
$billingEndTime = \DateTime::createFromFormat('!Y-m-d', $billingEnd);
if (false === $billingEndTime) {
$billingEndTime = \DateTime::createFromFormat('Y-m-d', $billingEnd);
$billingEndTime = \DateTime::createFromFormat('Y-m-d H:i:s', $billingEnd);
}
if (false === $billingEndTime) {
@@ -56,12 +55,10 @@ class CloseCostUnit implements CronTask {
continue;
}
$billingEndTime->setTime(0,0,0);
$billingEndTime->add(new \DateInterval('P1D'));
// Der Abrechnungsschluss gilt einschließlich des ganzen Tages: bis 23:59:59 darf eingereicht werden.
$billingEndTime->setTime(23, 59, 59);
if ($billingEndTime < $now) {
if ($now > $billingEndTime) {
new ChangeCostUnitStateCommand(
new ChangeCostUnitStateRequest(
CostUnit::where('id', $costUnit['id'])->first(),false, false