296 lines
7.9 KiB
PHP
296 lines
7.9 KiB
PHP
<?php
|
|
|
|
session_start();
|
|
|
|
// Headers requis
|
|
header("Access-Control-Allow-Origin: *");
|
|
header("Content-Type: application/json; charset=UTF-8");
|
|
header("Access-Control-Allow-Methods: POST");
|
|
header("Access-Control-Max-Age: 3600");
|
|
header("Access-Control-Allow-Headers: Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With");
|
|
|
|
//ajout du 26/01/2021
|
|
$seceretKey = '$2y$10$A0stANKY6LUCuSf/hdw9N.pVharAm/9U5wmUdhEbS2zjqdW9yIQNy';
|
|
$headers = apache_request_headers();
|
|
if(isset($headers['Authorization'])){
|
|
$api_key = $headers['Authorization'];
|
|
if($api_key != $seceretKey)
|
|
{
|
|
http_response_code(403);
|
|
$message = "Autoirisation refusée! / Authorization faild!";
|
|
echo json_encode(["success" => "0", "message" => $message]);
|
|
exit;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
http_response_code(403);
|
|
$message = "Autorisation refusée! / Authorization faild!";
|
|
echo json_encode(["success" => "0", "message" => $message]);
|
|
exit;
|
|
}
|
|
|
|
// fin 26/01/2021
|
|
|
|
// On vérifie la méthode
|
|
if($_SERVER['REQUEST_METHOD'] == 'POST')
|
|
{
|
|
require_once 'Modele_api.php';
|
|
require_once 'Police_api.php';
|
|
|
|
$_SESSION['codeTypeApporteur_C'] = "AP";
|
|
$_SESSION['codeApporteur_C'] = "nikao";
|
|
$_SESSION['libelleApporteur_C'] = "NIKAO";
|
|
$_SESSION['login'] = "nikao";
|
|
|
|
$codeTypeAvenant = "INC";
|
|
|
|
$motifavenant = "INCORPORATION NIKAO";
|
|
|
|
$police= new Police_api();
|
|
|
|
$idPolice = $police->fn_get_id_police_familliale();
|
|
|
|
$dateEffetPolice = $police->fn_date_effet_police($idPolice);
|
|
|
|
$dateFinPolice = $police->fn_date_fin_police($idPolice);
|
|
|
|
$_SESSION['idPolice_C'] = $idPolice;
|
|
|
|
$idAvenant = $police->creeravenantapi($idPolice);
|
|
|
|
$_SESSION['idAvenant_C'] = $idAvenant;
|
|
|
|
$idSaisie = uniqid();
|
|
|
|
$_SESSION['idSaisie'] = $idSaisie;
|
|
|
|
$police->viderbeneficiairemodeltempapi();
|
|
|
|
$police->initIinsererLigneModeleAssureFamilialeApi($idPolice, $idSaisie);
|
|
|
|
$donnees = json_decode(file_get_contents("php://input"));
|
|
|
|
$nb = count($donnees);
|
|
|
|
if ($nb == 0)
|
|
{
|
|
http_response_code(503);
|
|
$message = "Pas de données! / No data!";
|
|
echo json_encode(["success" => "0", "message" => $message]);
|
|
exit();
|
|
}
|
|
else
|
|
{
|
|
foreach ($donnees as $donnee)
|
|
{
|
|
$numeroAdherent = $donnee->{'numeroAdherent'};
|
|
$noFamille = $donnee->{'noFamille'};
|
|
$nom = $donnee->{'nom'};
|
|
$prenoms = $donnee->{'prenoms'};
|
|
$codeLienParente = $donnee->{'codeLienParente'};
|
|
$codeNaturePiece = $donnee->{'codeNaturePiece'};
|
|
$numeroPiece = $donnee->{'numeroPiece'};
|
|
$sexe = $donnee->{'sexe'};
|
|
$codeGroupeSanguin = $donnee->{'codeGroupeSanguin'};
|
|
$dateNaissance = $donnee->{'dateNaissance'};
|
|
$telephonePortable = $donnee->{'telephonePortable'};
|
|
$email = $donnee->{'email'};
|
|
$codeTypeEcheancier = $donnee->{'codeTypeEcheancier'};
|
|
$primeBase = $donnee->{'primeBase'};
|
|
$dateEntree = $donnee->{'dateEntree'};
|
|
$codecommercial = "nikao";
|
|
$idExterne = $donnee->{'id'};
|
|
|
|
if ($noFamille<=" ")
|
|
{
|
|
$noFamille = "0";
|
|
}
|
|
|
|
$primeBase = str_replace(",", "", $primeBase);
|
|
$primeBase = str_replace(".", "", $primeBase);
|
|
|
|
if ($primeBase<=" ")
|
|
{
|
|
$primeBase = "0";
|
|
}
|
|
|
|
settype($primeBase, "double");
|
|
|
|
$nomComplet = $nom . " " . $prenoms;
|
|
|
|
if ($idExterne<="0")
|
|
{
|
|
http_response_code(503);
|
|
$message = "$nomComplet => ID manquant / Missing ID!";
|
|
echo json_encode(["success" => "0", "message" => $message]);
|
|
exit();
|
|
}
|
|
|
|
$liste_liens = array("A", "C", "E", "O");
|
|
if (!in_array($codeLienParente, $liste_liens))
|
|
{
|
|
http_response_code(503);
|
|
$message = "$nomComplet => Revoir lien de parenté! / Review relationship!";
|
|
echo json_encode(["success" => "0", "message" => $message]);
|
|
exit();
|
|
}
|
|
|
|
$liste_sexes = array("M", "F");
|
|
if (!in_array($sexe, $liste_sexes))
|
|
{
|
|
http_response_code(503);
|
|
$message = "$nomComplet => Revoir le sexe! / Review the gender!";
|
|
echo json_encode(["success" => "0", "message" => $message]);
|
|
exit();
|
|
}
|
|
|
|
if ( ($codeLienParente=="A") && ($codeTypeEcheancier<=" "))
|
|
{
|
|
http_response_code(503);
|
|
$message = "$nomComplet => Pas de type echéancier! / No schedule type!";
|
|
echo json_encode(["success" => "0", "message" => $message]);
|
|
exit();
|
|
}
|
|
|
|
if ( ($codeLienParente=="A") && ($primeBase<="0"))
|
|
{
|
|
http_response_code(503);
|
|
$message = "$nomComplet => Pas de prime base! / No basic premium!";
|
|
echo json_encode(["success" => "0", "message" => $message]);
|
|
exit();
|
|
}
|
|
|
|
if($dateEntree>$dateFinPolice || $dateEntree<$dateEffetPolice)
|
|
{
|
|
http_response_code(503);
|
|
$message = "$nomComplet => Revoir la date d'entrée! / Review the entry date!";
|
|
echo json_encode(["success" => "0", "message" => $message]);
|
|
exit();
|
|
}
|
|
|
|
// Penser à gérer les erreurs de date
|
|
$police->insererLigneModeleAssureFamilialeApi($idAvenant, $numeroAdherent, $noFamille, $nom, $prenoms,
|
|
$codeLienParente, $codeNaturePiece, $numeroPiece, $sexe, $codeGroupeSanguin, $dateNaissance, $telephonePortable, $email,
|
|
$codecommercial, $codeTypeEcheancier, $primeBase, $dateEntree, $idExterne);
|
|
}
|
|
|
|
$police->gererIncorporationSurFamExistanteApi();
|
|
|
|
// Vérification de certaines erreurs :
|
|
// 1 => Si nouvelle famille sans Adhérent
|
|
$noFamilleSansAdherent = $police->getadhimpfamillesansadherentapi();
|
|
if ($noFamilleSansAdherent>"0")
|
|
{
|
|
$police->viderbeneficiairemodeltempapi();
|
|
|
|
http_response_code(405);
|
|
$message = "Famille $noFamilleSansAdherent => Adhérent Principal manquant! / Principal Member missing!";
|
|
echo json_encode(["success" => "0", "message" => $message]);
|
|
exit();
|
|
}
|
|
|
|
// 2 => Si plus d'1 Adhérent dans une même famille
|
|
$noFamillePlusieursAdherent = $police->getadhimpfamilleplusieursadherentapi();
|
|
if ($noFamillePlusieursAdherent>"0")
|
|
{
|
|
$police->viderbeneficiairemodeltempapi();
|
|
|
|
http_response_code(405);
|
|
$message = "Famille $noFamillePlusieursAdherent => Plusieurs Adherents Principaux! / Several Main Members!";
|
|
echo json_encode(["success" => "0", "message" => $message]);
|
|
exit();
|
|
}
|
|
|
|
// 3 => Incorporation sur une ancienne famille introuvable dans la police
|
|
$noFamilleExistantSansAdherent = $police->getadhimpfamilleexistantsansadherentapi();
|
|
if ($noFamilleExistantSansAdherent>"0")
|
|
{
|
|
$police->viderbeneficiairemodeltempapi();
|
|
|
|
http_response_code(405);
|
|
$message = "Famille $noFamilleExistantSansAdherent => Ancienne famille introuvable! / Old family not found!";
|
|
echo json_encode(["message" => $message]);
|
|
exit();
|
|
}
|
|
|
|
// Ajout du 03/12/2020 => renseigner les primes de base des dépendans
|
|
$police->recapitulerImportationAssuresFamlialeApi();
|
|
|
|
$police->incorpoerassuresimportesfamilialeapi();
|
|
|
|
/*
|
|
http_response_code(201);
|
|
$message = "Insertions réussies! / Successful insertions";
|
|
echo json_encode(["success" => "1", "message" => $message]);
|
|
exit();
|
|
*/
|
|
|
|
// retourner es données à NIKAO
|
|
|
|
$donnees = $police->retourdonneesapi();
|
|
|
|
if(count($donnees)>"0")
|
|
{
|
|
$numeroAdherentRetour = $donnees['0']['numeroAdherent'];
|
|
}
|
|
else
|
|
{
|
|
http_response_code(503);
|
|
$message = "Pas de données à retourner! / NNo data to return!";
|
|
echo json_encode(["success" => "0", "message" => $message]);
|
|
exit();
|
|
}
|
|
|
|
$tableau_retour = array();
|
|
|
|
/*
|
|
$tableau_retour[] =
|
|
[
|
|
"numeroAdherent" => $numeroAdherentRetour,
|
|
"member" => array(),
|
|
];
|
|
*/
|
|
|
|
/*
|
|
$tableau_retour[] =
|
|
[
|
|
"numeroAdherent" => $numeroAdherentRetour
|
|
];
|
|
*/
|
|
|
|
$tableau_member = array();
|
|
|
|
foreach ($donnees as $donnee)
|
|
{
|
|
$tableau_member[] =
|
|
[
|
|
"id" => $donnee['idExterne'],
|
|
"nocarte" => $donnee['numeroBeneficiaire']
|
|
];
|
|
}
|
|
|
|
// $tableau_retour[] = $tableau_member;
|
|
|
|
$tableau_retour[] =
|
|
[
|
|
"numeroAdherent" => $numeroAdherentRetour,
|
|
"member" => $tableau_member,
|
|
];
|
|
|
|
|
|
echo json_encode($tableau_retour);
|
|
exit();
|
|
|
|
}
|
|
}
|
|
else
|
|
{
|
|
// On gère l'erreur
|
|
// $police->viderbeneficiairemodeltempapi();
|
|
|
|
http_response_code(405);
|
|
$message = "Méthode non autoirisée! / Method Not Allowed!";
|
|
echo json_encode(["success" => "0", "message" => $message]);
|
|
}
|