Update WorkorderBaseController.php

This commit is contained in:
Luca Haid
2025-11-12 12:53:20 +00:00
parent f2aaf64547
commit 63e78489f3

View File

@@ -167,14 +167,40 @@ class WorkorderBaseController extends TTCrud
$filters['preordercampaign_id'] = $tenantCampaigns;
$newPreorders = PreorderModel::searchActive($filters);
foreach ($newPreorders as $preorder) {
if (!WorkorderModel::getFirst(['preorderId' => $preorder->id])) {
WorkorderModel::create([
'preorderId' => $preorder->id, 'clusterId' => $preorder->preordercampaign_id,
'status' => 'new', 'create' => time(), 'createBy' => 0 // System User
]);
}
}
foreach ($newPreorders as $preorder) {
$existingWorkorder = WorkorderModel::getFirst(['preorderId' => $preorder->id]);
if ($existingWorkorder) {
if ($existingWorkorder->status === 'archived') {
$oldStatus = $existingWorkorder->status;
WorkorderModel::update($existingWorkorder->id, [
'status' => 'new',
'companyId' => null,
'civilEngineeringCompanyId' => null,
'deadlineDate' => null,
'appointmentDate' => null,
'clusterId' => $preorder->preordercampaign_id,
]);
WorkorderJournalModel::create([
'workorderId' => $existingWorkorder->id,
'text' => 'Arbeitsauftrag wurde automatisch reaktiviert, da die zugehörige Vorbestellung wieder den Kriterien entspricht.',
'statusChange' => $this->getStatusText($oldStatus) . " -> " . $this->getStatusText('new'),
'create' => time(),
'createBy' => 1,
]);
}
} else {
WorkorderModel::create([
'preorderId' => $preorder->id,
'clusterId' => $preorder->preordercampaign_id,
'status' => 'new',
'create' => time(),
'createBy' => 1
]);
}
}
}
file_put_contents($lockFile, time());
}
@@ -243,4 +269,4 @@ class WorkorderBaseController extends TTCrud
file_put_contents($lockFile, time());
}
//endregion
}
}