From 5e59ae2162c37f991a59ec313ca72011e8898435 Mon Sep 17 00:00:00 2001 From: "r.mubarakzyanov" Date: Fri, 20 Mar 2026 23:15:50 +0300 Subject: [PATCH] Tested component --- public/userarea/export_to_lims.php | 55 ++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/public/userarea/export_to_lims.php b/public/userarea/export_to_lims.php index a8db866..ecf2aeb 100644 --- a/public/userarea/export_to_lims.php +++ b/public/userarea/export_to_lims.php @@ -243,6 +243,61 @@ try { $logFileStep6 = $logDir . "commessa_{$commessaId}_campioni_step6_" . time() . ".txt"; $writeLog($logFileStep6, $logContentStep6, "STEP 6 - Campioni (commessa={$commessaId})"); + // 🔹 STEP 6.0: PATCH each Campione to set "Tested Component" (CustomField 189) = part_description + $logContentStep63 = ""; + foreach ($campioni as $index => $campione) { + $campioneId = (int)($campione['IdCampione'] ?? 0); + $partDescription = $parts[$index]['part_description'] ?? ''; + + if ($campioneId <= 0 || $partDescription === '') { + continue; + } + + // GET campione custom fields + $campioneWithFields = $api->get("Campione({$campioneId})?\$expand=CampioniCustomFields(\$expand=CustomField)"); + + $logContentStep63 .= "GET Campione({$campioneId}) CustomFields:\n" . + json_encode($campioneWithFields['CampioniCustomFields'] ?? [], JSON_PRETTY_PRINT) . "\n\n"; + + // Find field 189 and build PATCH payload + $campioniCustomFields = []; + foreach ($campioneWithFields["CampioniCustomFields"] ?? [] as $cf) { + $definitionId = (int)($cf["CustomField"]["IdCustomField"] ?? 0); + $fieldInstanceId = (int)$cf["IdCampioniCustomFields"]; + $currentValue = $cf["Valore"] ?? ''; + + if ($definitionId === 189) { + $campioniCustomFields[] = [ + "IdCampioniCustomFields" => $fieldInstanceId, + "Valore" => $partDescription + ]; + } else { + $campioniCustomFields[] = [ + "IdCampioniCustomFields" => $fieldInstanceId, + "Valore" => $currentValue + ]; + } + } + + if (!empty($campioniCustomFields)) { + $patchPayload = ["CampioniCustomFields" => $campioniCustomFields]; + $patchJson = json_encode($patchPayload, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES); + + $logContentStep63 .= "PATCH Campione({$campioneId}):\n" . + "curl --location --request PATCH '{$apiBaseUrl}Campione({$campioneId})' \\\n" . + "--header 'Content-Type: application/json' \\\n" . + "--header 'Authorization: Bearer ••••••' \\\n" . + "--data '{$patchJson}'\n\n"; + + $patchResult = $api->patch("Campione({$campioneId})", $patchPayload); + + $logContentStep63 .= "RESPONSE:\n" . json_encode($patchResult, JSON_PRETTY_PRINT) . "\n\n---\n"; + } + } + + $logFileStep63 = $logDir . "commessa_{$commessaId}_campioni_customfields_step60_" . time() . ".txt"; + $writeLog($logFileStep63, $logContentStep63, "STEP 6.0 - Campioni CustomFields (commessa={$commessaId})"); + // 🔹 STEP 6.1: Fetch photos linked to this iddatadb $stmtPhotos = $pdo->prepare(" SELECT id, file_path, file_name, StampaNelRapporto, PrimaPagina