permission($radice) && tokenVerify()) { if ($_SESSION["importAnac"][$_POST["operationID"]]["partecipanti"] && !empty($_SESSION["importAnac"][$_POST["operationID"]]["lotti"])) { $error = false; $anni = $_SESSION["importAnac"][$_POST["operationID"]]["lotti"]; $tmpPartecipanti = $_SESSION["importAnac"][$_POST["operationID"]]["partecipanti"]; $partecipanti = []; $cf = []; $raggruppamenti = []; $errors = []; foreach ($tmpPartecipanti AS $partecipante) { if (empty($partecipante["codice_fiscale_capogruppo"])) { if (!isset($partecipanti[$partecipante["cig"]])) $partecipanti[$partecipante["cig"]] = []; if (!isset($cf[$partecipante["cig"]])) $cf[$partecipante["cig"]] = []; $cf[$partecipante["cig"]][] = $partecipante["codice_fiscale"]; $partecipanti[$partecipante["cig"]][$partecipante["codice_fiscale"]] = $partecipante; } } foreach ($tmpPartecipanti AS $key => $partecipante) { if (!empty($partecipante["codice_fiscale_capogruppo"])) { if (isset($cf[$partecipante["cig"]])) { if (in_array($partecipante["codice_fiscale_capogruppo"],$cf[$partecipante["cig"]]) === false) { $errors[] = $partecipante["codice_fiscale_capogruppo"] . " - " . __("Codice fiscale non presente tra i capogruppo"); } else { if (!empty($partecipante["ruolo"])) { if (isset($partecipanti[$partecipante["cig"]][$partecipante["codice_fiscale_capogruppo"]])) { if (!isset($raggruppamenti[$partecipante["cig"]])) { $raggruppamenti[$partecipante["cig"]] = []; $raggruppamenti[$partecipante["cig"]] = [$partecipante["codice_fiscale_capogruppo"] => [$partecipanti[$partecipante["cig"]][$partecipante["codice_fiscale_capogruppo"]]]]; } $raggruppamenti[$partecipante["cig"]][$partecipante["codice_fiscale_capogruppo"]][] = $partecipante; } else { $errors[] = $partecipante["codice_fiscale_capogruppo"] . " - " . __("Codice fiscale non presente tra i capogruppo"); } } else { $errors[] = $partecipante["ragione_sociale"] . " - " . __("Ruolo nel raggruppamento non specificato"); } } } else { $errors[] = $partecipante["codice_fiscale_capogruppo"] . " - " . __("Codice fiscale non presente tra i capogruppo"); } } } if (count($errors) === 0) { foreach($anni AS $anno => $tmpLotti) { $lotti = []; foreach($tmpLotti AS $i => $data) { $tmp = []; $tmp["cig"] = $data["cig"]; $tmp["oggetto"] = $data["oggetto"]; $tmp["sceltaContraente"] = $data["sceltaContraente"]; $point = substr_count($data["importoAggiudicazione"],"."); $comma = substr_count($data["importoAggiudicazione"],","); if ($point > 0) { if ($comma > 0) { $data["importoAggiudicazione"] = str_replace(".","",$data["importoAggiudicazione"]); $data["importoAggiudicazione"] = str_replace(",",".",$data["importoAggiudicazione"]); } else if ($point > 1) { $data["importoAggiudicazione"] = str_replace(".","",$data["importoAggiudicazione"]); } } else if ($comma > 0) { $data["importoAggiudicazione"] = str_replace(",",".",$data["importoAggiudicazione"]); } $tmp["importoAggiudicazione"] = $data["importoAggiudicazione"]; $tmp["tempiCompletamento"] = ["dataInizio"=>date2mysql($data["inizioContratto"]),"dataUltimazione"=>date2mysql($data["fineContratto"])]; $point = substr_count($data["importoLiquidato"],"."); $comma = substr_count($data["importoLiquidato"],","); if ($point > 0) { if ($comma > 0) { $data["importoLiquidato"] = str_replace(".","",$data["importoLiquidato"]); $data["importoLiquidato"] = str_replace(",",".",$data["importoLiquidato"]); } else if ($point > 1) { $data["importoLiquidato"] = str_replace(".","",$data["importoLiquidato"]); } } else if ($comma > 0) { $data["importoLiquidato"] = str_replace(",",".",$data["importoLiquidato"]); } $tmp["importoSommeLiquidate"] = $data["importoLiquidato"]; if (!empty($partecipanti[$data["cig"]])) { $tmp["partecipanti"] = []; $singoli = $partecipanti[$data["cig"]] ?? []; $raggruppamenti = $raggruppamenti[$data["cig"]] ?? []; $aggiudicatario = []; $aggiudicatario_raggruppamenti = []; foreach($singoli AS $key => $singolo) { if (empty($raggruppamenti[$singolo["codice_fiscale"]])) { if ($singolo["aggiudicatario"] == "S") $aggiudicatario[] = $partecipante; } else { unset($raggruppamenti[$singolo["codice_fiscale"]]); } } if (!empty($raggruppamenti)) { $keysRaggruppamenti = array_keys($raggruppamenti); $tmp["partecipanti"]["raggruppamento"] = []; foreach($keysRaggruppamenti AS $raggruppamento) { if ($raggruppamento[0]["aggiudicatario"] == "S") $aggiudicatario_raggruppamenti[] = $raggruppamento; $raggr = []; foreach($raggruppamento AS $membro) { $t = []; if ($membro["stato"] == "IT") { $t["codiceFiscale"] = $membro["codice_fiscale"]; } else { $t["identificativoFiscaleEstero"] = $membro["codice_fiscale"]; } $t["ragioneSociale"] = $membro["ragione_sociale"]; $t["ruolo"] = $membro["ruolo"] ?? "04-CAPOGRUPPO"; $raggr[] = $t; } $tmp["partecipanti"]["raggruppamento"][] = ["membro"=>$raggr]; } } if (!empty($singoli)) { $tmp["partecipanti"]["partecipante"] = []; foreach($singoli AS $membro) { $t = []; if ($membro["stato"] == "IT") { $t["codiceFiscale"] = $membro["codice_fiscale"]; } else { $t["identificativoFiscaleEstero"] = $membro["codice_fiscale"]; } $t["ragioneSociale"] = $membro["ragione_sociale"]; $tmp["partecipanti"]["partecipante"][] = $t; } } if (!empty($aggiudicatario) || !empty($aggiudicatario_raggruppamenti)) { $tmp["aggiudicatari"] = []; if (!empty($aggiudicatario)) { $tmp["aggiudicatari"]["aggiudicatario"] = []; foreach($aggiudicatario AS $membro) { $t = []; if ($membro["stato"] == "IT") { $t["codiceFiscale"] = $membro["codice_fiscale"]; } else { $t["identificativoFiscaleEstero"] = $membro["codice_fiscale"]; } $t["ragioneSociale"] = $membro["ragione_sociale"]; $tmp["aggiudicatari"]["aggiudicatario"][] = $t; } } if (!empty($aggiudicatario_raggruppamenti)) { $tmp["aggiudicatari"]["aggiudicatarioRaggruppamento"] = []; foreach($aggiudicatario_raggruppamenti AS $group) { $raggr = []; foreach($group as $membro) { $t = []; if ($membro["stato"] == "IT") { $t["codiceFiscale"] = $membro["codice_fiscale"]; } else { $t["identificativoFiscaleEstero"] = $membro["codice_fiscale"]; } $t["ragioneSociale"] = $membro["ragione_sociale"]; $t["ruolo"] = $membro["ruolo"] ?? "04-CAPOGRUPPO"; $raggr[] = $t; } $tmp["aggiudicatari"]["aggiudicatarioRaggruppamento"][] = ["membro"=>$raggr]; } } } } $lotti[] = $tmp; } if (!empty($lotti)) { $errors += anac::massiveImport($_SESSION["ente"]->codice,$anno,$lotti); } } } if (empty($errors)) { ?> swal({title:js_dict["success-msg"],type:"success"}).then(function(){ window.location.reload(); });
swal({title:js_dict.error,type:"error",html: "A-Za-z0-9 ]/","",$table) ?>"}).then(function(){ window.location.reload(); });