diff --git a/application/WorkorderBase/WorkorderBaseController.php b/application/WorkorderBase/WorkorderBaseController.php index a5f203b85..dac63aa6b 100644 --- a/application/WorkorderBase/WorkorderBaseController.php +++ b/application/WorkorderBase/WorkorderBaseController.php @@ -167,41 +167,39 @@ class WorkorderBaseController extends TTCrud $filters['preordercampaign_id'] = $tenantCampaigns; $newPreorders = PreorderModel::searchActive($filters); -foreach ($newPreorders as $preorder) { - $existingWorkorder = WorkorderModel::getFirst(['preorderId' => $preorder->id]); + foreach ($newPreorders as $preorder) { + $existingWorkorder = (array) WorkorderModel::getFirst(['preorderId' => $preorder->id]); - if ($existingWorkorder) { - if ($existingWorkorder->status === 'archived') { - $oldStatus = $existingWorkorder->status; + if ($existingWorkorder) { + if ($existingWorkorder['status'] === 'archived') { + $oldStatus = $existingWorkorder['status']; + $new = (array) $existingWorkorder; - $new = (array) $existingWorkorder; + $new['status'] = 'new'; + $new['companyId'] = null; + $new['civilEngineeringCompanyId'] = null; + $new['deadlineDate'] = null; + $new['appointmentDate'] = null; + $new['clusterId'] = $preorder->preordercampaign_id; - $new['status'] = 'new'; - $new['companyId'] = null; - $new['civilEngineeringCompanyId'] = null; - $new['deadlineDate'] = null; - $new['appointmentDate'] = null; - $new['clusterId'] = $preorder->preordercampaign_id; - WorkorderModel::update($new); - - 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 - ]); - } -} + 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()); }