getLotti($codice_lotto)[0] ?? NULL; if (!empty($lotto["codice"]) && !empty($lotto["cig"])) { $lotto["dati"] = json_decode(($lotto["dati"]),true); $datiSimog = $this->getDati(); $simogMethod = "loaderAppalto"; if ($operation == "get") { $schede = []; $appaltoType = anac::getAppaloType($lotto); if (!empty($appaltoType)) { $delete = null; $tmp = $this->getSchede($lotto["codice"]); if (!empty($tmp)) { foreach($tmp AS $scheda) { if ($scheda["stato"] === "97") { $delete = $scheda; break; } } } if (!empty($delete)) { $return = []; $return["method"] = $simogMethod; $return["data"] = []; $data["InfoTrasferimento"] = ["DATA_CREAZIONE_FLUSSO"=>date("Y-m-d H:i:s"),"NUM_SCHEDE"=>1]; $tipologia = $this->listSchede($lotto["codice"])[$delete["tipologia"]]; $cui = $this->getLastCUI($lotto["codice"],true); $array = []; $array["SCHEDA"] = strtoupper($tipologia["delete"]); if ($array["SCHEDA"] == "#APPALTOTYPE#") { $array["SCHEDA"] = strtoupper($appaltoType); } $array["CIG"] = $lotto["cig"]; $array["CUI"] = $cui; $array["ID_SCHEDA_SIMOG"] = $delete["response_id"]; $data["SchedeEliminate"] = [$array]; $data = convertDate_DbDateSimog($data); $return["data"] = ["trasferimentoDati" => $data]; } else { $errors = __("Nessuna scheda da eliminare"); } } else { $errors = __("Impossibile riconoscere il tipo di appalto"); } } else if ($operation == "put" && !empty($response)) { $errori = 0; $warning = 0; $success = 0; $anomalie = []; $updateInfo = []; $updateScheda = $this->db->prepare("UPDATE b_simog_schede SET stato = :stato WHERE response_id = :response_id AND codice NOT IN (SELECT codice_padre FROM b_simog_schede)"); foreach($response AS $resp) { if (!empty($resp->return->feedBack)) { $feedback = $resp->return->feedBack; if (!empty($feedback->AnomalieSchede)) { if (!is_array($feedback->AnomalieSchede)) { $feedback->AnomalieSchede = [$feedback->AnomalieSchede]; } $idSchedeFeedback = []; $anomalieFeedback = []; $anomalie = []; foreach($feedback->AnomalieSchede AS $anomalieSchede) { if (!empty($anomalieSchede->IdScheda)) { if (!is_array($anomalieSchede->IdScheda)) { $idSchedeFeedback = [$anomalieSchede->IdScheda]; } else { $idSchedeFeedback = $anomalieSchede->IdScheda; } } if (!empty($anomalieSchede->Anomalia)) { if (!is_array($anomalieSchede->Anomalia)) { $anomalieFeedback = [$anomalieSchede->Anomalia]; } else { $anomalieFeedback = $anomalieSchede->Anomalia; } } if (!empty($anomalieFeedback)) { foreach($anomalieFeedback as $anomalia) { $anomalie[] = $anomalia; } } } foreach($idSchedeFeedback as $idScheda) { if (!empty($idScheda->ID_SCHEDA_SIMOG)) { if (!isset($updateInfo[$idScheda->ID_SCHEDA_SIMOG])) { $updateInfo[$idScheda->ID_SCHEDA_SIMOG] = 98; } } } } } } if (!empty($updateInfo)) { foreach($updateInfo AS $idSIMOG => $otherInfo) { $updateScheda->bindValue(":stato",$otherInfo); $updateScheda->bindValue(":response_id",$idSIMOG); $updateScheda->execute(); } $return = true; } if (!empty($anomalie)) { ?>
SCHEDA ?> DESCRIZIONE ?>
return->error)) { $errors = $response->return->error; } else { $errors = __("Errore nella risposta"); } } else { $errors = __("Operazione sconosciuta"); } } else { $errors = __("Impossibile trovare lotto"); } if (!empty($errors)) { $this->updateSimogLog($simogMethod,2,$errors,$lotto["codice"]); alertManager::printAlertBox($errors); } } ?>