From ba8dc4c7214b021053a6fd148a7549e30e97fca6 Mon Sep 17 00:00:00 2001 From: solocla Date: Wed, 29 Apr 2026 08:38:16 +0200 Subject: [PATCH] added get --- public/userarea/get_analisiabilitate.php | 95 ++++++++++++++++++++++++ public/userarea/get_campionematrice.php | 88 ++++++++++++++++++++++ 2 files changed, 183 insertions(+) create mode 100644 public/userarea/get_analisiabilitate.php create mode 100644 public/userarea/get_campionematrice.php diff --git a/public/userarea/get_analisiabilitate.php b/public/userarea/get_analisiabilitate.php new file mode 100644 index 0000000..d7db8ce --- /dev/null +++ b/public/userarea/get_analisiabilitate.php @@ -0,0 +1,95 @@ + 'AnalisiAbilitate' + ]; + + // Debug: salva URL usato + $base_url = 'https://93.43.5.102/limsapi/api/odata/'; + $query = http_build_query($options); + $query = urldecode($query); // rende leggibile $expand invece di %24expand + + $full_url = $base_url . $endpoint . ($query ? '?' . $query : ''); + file_put_contents(__DIR__ . '/last_url_analisi_abilitate.txt', $full_url . PHP_EOL, FILE_APPEND); + + // Chiamata API + $data = $api->get($endpoint, $options); + + // Recupera AnalisiAbilitate dalla risposta + $analisiAbilitate = $data['AnalisiAbilitate'] ?? []; + + // Alcune API OData possono restituire collection dentro "value" + if (isset($analisiAbilitate['value']) && is_array($analisiAbilitate['value'])) { + $analisiAbilitate = $analisiAbilitate['value']; + } + + // Cerca se il RecordKey / IdAnalisi che stai usando è effettivamente assegnabile + $matches = []; + + foreach ($analisiAbilitate as $analisi) { + $recordKey = isset($analisi['RecordKey']) ? (string)$analisi['RecordKey'] : ''; + $idAnalisi = isset($analisi['IdAnalisi']) ? (string)$analisi['IdAnalisi'] : ''; + + if ($recordKey === $targetRecordKey || $idAnalisi === $targetIdAnalisi) { + $matches[] = $analisi; + } + } + + // Output diagnostico + $output = [ + 'success' => true, + 'idCampione' => $idCampione, + 'request_url' => $full_url, + 'targetRecordKey' => $targetRecordKey, + 'targetIdAnalisi' => $targetIdAnalisi, + 'enabled_analyses_count' => is_array($analisiAbilitate) ? count($analisiAbilitate) : 0, + 'target_found' => count($matches) > 0, + 'target_matches' => $matches, + 'analisi_abilitate' => $analisiAbilitate, + 'raw_response' => $data + ]; + + // Salva il JSON in locale + file_put_contents( + __DIR__ . '/analisi_abilitate_campione_749027_response.json', + json_encode($output, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE) + ); + + echo json_encode($output, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE); +} catch (Exception $e) { + file_put_contents( + __DIR__ . '/error_log_analisi_abilitate.txt', + date('Y-m-d H:i:s') . ' - ' . $e->getMessage() . PHP_EOL, + FILE_APPEND + ); + + http_response_code(500); + + echo json_encode([ + 'success' => false, + 'error' => $e->getMessage() + ], JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE); +} diff --git a/public/userarea/get_campionematrice.php b/public/userarea/get_campionematrice.php new file mode 100644 index 0000000..74aef0e --- /dev/null +++ b/public/userarea/get_campionematrice.php @@ -0,0 +1,88 @@ + 'Matrice' + ]; + + // Debug URL + $base_url = 'https://93.43.5.102/limsapi/api/odata/'; + $query = http_build_query($options); + $queryReadable = urldecode($query); + + $full_url = $base_url . $endpoint . ($queryReadable ? '?' . $queryReadable : ''); + + file_put_contents( + __DIR__ . '/last_url_check_matrice.txt', + $full_url . PHP_EOL, + FILE_APPEND + ); + + // Chiamata API + $data = $api->get($endpoint, $options); + + // Recupero Matrice dalla response + $matrice = $data['Matrice'] ?? null; + + $actualMatriceId = null; + + if (is_array($matrice)) { + // Provo i nomi più probabili + $actualMatriceId = $matrice['IdMatrice'] + ?? $matrice['idMatrice'] + ?? $matrice['Id'] + ?? $matrice['ID'] + ?? null; + } + + $matrice_ok = ((int)$actualMatriceId === (int)$expectedMatriceId); + + $output = [ + 'success' => true, + 'idCampione' => $idCampione, + 'expectedMatriceId' => $expectedMatriceId, + 'actualMatriceId' => $actualMatriceId, + 'matrice_ok' => $matrice_ok, + 'request_url' => $full_url, + 'matrice' => $matrice, + 'raw_response' => $data + ]; + + // Salva JSON completo + file_put_contents( + __DIR__ . '/check_matrice_campione_749027_response.json', + json_encode($output, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE) + ); + + echo json_encode($output, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE); +} catch (Exception $e) { + file_put_contents( + __DIR__ . '/error_log_check_matrice.txt', + date('Y-m-d H:i:s') . ' - ' . $e->getMessage() . PHP_EOL, + FILE_APPEND + ); + + http_response_code(500); + + echo json_encode([ + 'success' => false, + 'error' => $e->getMessage() + ], JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE); +}