add aha blatt parsing

This commit is contained in:
Luca Haid
2026-01-20 13:27:35 +01:00
parent b79be61ca9
commit d6d213a8d3
9 changed files with 412 additions and 140 deletions

View File

@@ -244,7 +244,8 @@ class WorkorderHandler extends MobileAppBaseHandler {
$technicalData = null;
if ($tenantConfigData && !empty($tenantConfigData['showTechnicalData'])) {
$technicalData = $this->getTechnicalData($id);
RimoWorkorder::autoParseForWorkorder($id);
$technicalData = WorkorderModel::getTechnicalData($id);
}
self::returnJson([
@@ -900,51 +901,6 @@ class WorkorderHandler extends MobileAppBaseHandler {
return true;
}
/**
* Get technical data (patchposition and AHA Blatt) for a workorder
*/
private function getTechnicalData($workorderId) {
$workorder = WorkorderModel::get($workorderId);
if (!$workorder || !$workorder->preorderId) return null;
$preorder = new Preorder($workorder->preorderId);
if (!$preorder->id || !$preorder->adb_wohneinheit_id) return null;
$wohneinheit = $preorder->adb_wohneinheit;
if (!$wohneinheit) return null;
$defaultCluster = '';
if ($preorder->adb_hausnummer && $preorder->adb_hausnummer->netzgebiet) {
$defaultCluster = $preorder->adb_hausnummer->netzgebiet->extref ?? '';
}
$patchposition = [
'equipmentName' => $wohneinheit->getPatchEqString(),
'equipmentPort' => $wohneinheit->patch_port,
'cluster' => $wohneinheit->patch_cluster ?: $defaultCluster,
'shelf' => $wohneinheit->patch_shelf,
'module' => $wohneinheit->patch_module,
];
$rimoWorkorders = [];
if (is_array($wohneinheit->rimo_workorders) && count($wohneinheit->rimo_workorders)) {
foreach ($wohneinheit->rimo_workorders as $wo) {
$rimoWorkorders[] = [
'id' => $wo->id,
'rimoName' => $wo->rimo_name,
'rimoId' => $wo->rimo_id,
'rimoStatus' => $wo->rimo_status,
'downloadUrl' => "/RimoWorkorder/downloadAha?id=" . $wo->id,
];
}
}
return [
'patchposition' => $patchposition,
'rimoWorkorders' => $rimoWorkorders,
];
}
/**
* Get single workorder with full joined data (same structure as getCompanyWorkorders)
*/