This commit is contained in:
KONE SOREL 2026-03-25 15:54:02 +00:00
parent 3b0f1f67a4
commit 418e51476e
4 changed files with 136 additions and 55 deletions

View File

@ -1,16 +1,19 @@
<?php
require_once 'Framework/Controleur.php';
require_once 'Modele/Ged.php';
require_once 'Modele/Naturepiece.php';
require_once 'Modele/Menuvueutilisateur.php';
class ControleurGedbeneficiaireprod extends Controleur {
private $ged;
private $naturepiece;
public function __construct() {
$this->menuvue = new Menuvueutilisateur();
$this->menuvue->getMenuVue('Gedbeneficiaireprod');
$this->ged = new Ged();
$this->naturepiece = (new Naturepiece())->getListe();
}
public function index($msgErreur=null)
@ -20,6 +23,9 @@ class ControleurGedbeneficiaireprod extends Controleur {
$nouveau_fichier = "Rien";
$nomOrigine = $this->requete->getParametreFormulaire("nomOrigine");
$codeNaturePiece = $this->requete->getParametreFormulaire("codeNaturePiece");
if(!empty($_POST))
{
define('TARGET', $_SESSION['cheminGed']); // Repertoire cible
@ -34,6 +40,12 @@ class ControleurGedbeneficiaireprod extends Controleur {
// Variables
$extension = '';
if($codeNaturePiece == "AUT"){
$libelleAutre = $this->requete->getParametreFormulaire("libelleAutre");
}else{
$libelleAutre = "";
}
if( !is_dir(TARGET) )
{
if( !mkdir(TARGET, 0755) )
@ -76,7 +88,7 @@ class ControleurGedbeneficiaireprod extends Controleur {
: 'Chargé avec succès';
// on va envoyer dans la base de données
$this->ged->enregistrergedbeneficiaireprod($nomOrigine, $nouveau_fichier, $taille);
$this->ged->enregistrergedbeneficiaireprod($nomOrigine, $nouveau_fichier, $taille, $codeNaturePiece, $libelleAutre);
$this->rediriger("Gedbeneficiaireprod");
}
else
@ -125,7 +137,7 @@ class ControleurGedbeneficiaireprod extends Controleur {
$d1 = $_SESSION['dUneSemaineAvant_C'];
$d2 = date('Y-m-d');
$geds = $this->ged->getgedbeneficiaireprod($d1, $d2, "");
$geds = $this->ged->getgedbeneficiaireprod($d1, $d2, "", "");
unset($_FILES['fichier_upload']);

View File

@ -47,24 +47,25 @@ class Ged extends Modele {
return $resultat->fetchAll(PDO::FETCH_ASSOC);
}
public function enregistrergedbeneficiaireprod($nomOrigine, $nouveau_fichier, $taille)
public function enregistrergedbeneficiaireprod($nomOrigine, $nouveau_fichier, $taille, $codeNaturePiece, $libelleAutre)
{
$idBeneficiaire = $_SESSION['idBeneficiaire_C'];
$user = $_SESSION['login'];
$cheminFichier = $_SESSION['dossierGed'].$nouveau_fichier;
$sql = 'call sp_r_ajouter_ged_beneficiaire_prod(?, ?, ?, ?, ?)';
$sql = 'call sp_r_ajouter_ged_beneficiaire_prod_rh(?, ?, ?, ?, ?, ?, ?);';
$this->executerRequete($sql, array($idBeneficiaire, $nomOrigine, $cheminFichier, $taille, $user));
$this->executerRequete($sql, array($idBeneficiaire, $nomOrigine, $cheminFichier, $taille, $user, $codeNaturePiece, $libelleAutre));
}
public function getgedbeneficiaireprod($d1, $d2, $nomOrigine)
public function getgedbeneficiaireprod($d1, $d2, $nomOrigine, $codeNaturePiece)
{
$idBeneficiaire = $_SESSION['idBeneficiaire_C'];
$lang = $_SESSION['lang'];
$sql = 'call sp_r_get_ged_beneficiaire_prod(?, ?, ?, ?)';
$sql = 'call sp_r_get_ged_beneficiaire_prod_rh(?, ?, ?, ?, ?, ?);';
$resultat = $this->executerRequete($sql, array($idBeneficiaire, $d1, $d2, $nomOrigine));
$resultat = $this->executerRequete($sql, array($idBeneficiaire, $d1, $d2, $nomOrigine, $codeNaturePiece, $lang));
return $resultat->fetchAll(PDO::FETCH_ASSOC);
}

View File

@ -25,7 +25,7 @@
<form id="form_ged_adherent" enctype="multipart/form-data" action="Gedadherent" method="post">
<div class="row g-3">
<div class="col-md-11">
<label class="form-label small fw-bold text-muted text-uppercase"><?= _("Nouveau Document") ?></label>
<label class="form-label small fw-bold text-muted text-uppercase"><?= _("Joindre un nouveau document") ?></label>
<input class="form-control form-control-sm border-info" name="fichier_upload" type="file" id="fichier_upload">
</div>
@ -36,7 +36,7 @@
</div>
<div class="col-md-3">
<label class="form-label small fw-bold text-muted text-uppercase"><?= _("Période du") ?></label>
<label class="form-label small fw-bold text-muted text-uppercase"><?= _("Période de recherche du") ?></label>
<div class="input-group input-group-sm">
<span class="input-group-text bg-white"><i class="far fa-calendar-alt"></i></span>
<input class="form-control datepicker text-center" type="text" id="d1" name="d1"
@ -94,7 +94,7 @@
<th class="text-center">Date</th>
<th class="text-center">Src</th>
<th><?= _("Souscripteur / Police") ?></th>
<th><?= _("Bénéficiaire / Adhérent") ?></th>
<th><?= _("Bénéficiaire / Adhérent") ?></th>
<th><?= _("Type du Document") ?></th>
<th><?= _("Nom du Document") ?></th>
<th class="text-center no-export"><?= _("Action") ?></th>

View File

@ -18,47 +18,105 @@
</div>
</div>
<div class="card border-0 shadow-sm mb-4">
<div class="card-body p-3">
<form enctype="multipart/form-data" action="Gedbeneficiaireprod" method="post">
<div class="row g-3 align-items-end">
<div class="col-xl-4 col-lg-6">
<label class="form-label small fw-bold text-muted text-uppercase"><?= _("Période de recherche") ?></label>
<div class="input-group input-group-sm">
<span class="input-group-text bg-white"><i class="fas fa-calendar-alt text-primary"></i></span>
<input class="form-control datepicker text-center fw-bold" type="text" id="d1" name="d1"
value="<?= dateLang($_SESSION['dUneSemaineAvant_C'], $_SESSION['lang']) ?>" required>
<span class="input-group-text bg-light fw-bold px-3"><?= _("au") ?></span>
<input class="form-control datepicker text-center fw-bold" type="text" id="d2" name="d2"
value="<?= dateCouranteLang($_SESSION['lang']) ?>" required>
</div>
</div>
<div class="row g-4">
<div class="col-xl-12">
<div class="card border-0 shadow-sm">
<div class="card-body">
<form id="form_ged_beneficiaireprod" enctype="multipart/form-data" action="Gedbeneficiaireprod" method="post">
<div class="row g-3">
<div class="col-md-11">
<label class="form-label small fw-bold text-muted text-uppercase"><?= _("Joindre un nouveau document") ?></label>
<input class="form-control form-control-sm border-info" name="fichier_upload" type="file" id="fichier_upload">
</div>
<div class="col-xl-3 col-lg-6">
<label class="form-label small fw-bold text-muted text-uppercase"><?= _("Nom du document") ?></label>
<div class="input-group input-group-sm">
<span class="input-group-text bg-white"><i class="fas fa-search"></i></span>
<input class="form-control" type="text" id="nomOrigine" name="nomOrigine"
onkeypress="javascript:ctrlkeypress_lister_ged(event);" placeholder="<?= _("Contient...") ?>">
<button class="btn btn-primary fw-bold px-3" type="button" onclick="javascript:lister_ged_beneficiaire_prod();">
<i class="fas fa-sync-alt me-1"></i>
</button>
</div>
</div>
<div class="col-md-1 d-flex align-items-end gap-1">
<button type="submit" name="submit" class="btn btn-success btn-sm flex-fill fw-bold">
<i class="fas fa-upload me-1"></i> <?= _("Envoyer") ?>
</button>
</div>
<div class="col-xl-3 col-lg-8">
<label class="form-label small fw-bold text-muted text-uppercase"><?= _("Joindre un nouveau document") ?></label>
<input class="form-control form-control-sm border-info" name="fichier_upload" type="file" id="fichier_upload" />
</div>
<div class="col-md-3">
<label class="form-label small fw-bold text-muted text-uppercase"><?= _("Période de recherche du") ?></label>
<div class="input-group input-group-sm">
<span class="input-group-text bg-white"><i class="far fa-calendar-alt"></i></span>
<input class="form-control datepicker text-center" type="text" id="d1" name="d1"
value="<?= dateLang($_SESSION['dUneSemaineAvant_C'], $_SESSION['lang']) ?>" required>
<span class="input-group-text bg-light fw-bold"><?= _("au") ?></span>
<input class="form-control datepicker text-center" type="text" id="d2" name="d2"
value="<?= dateCouranteLang($_SESSION['lang']) ?>" required>
</div>
</div>
<div class="col-xl-2 col-lg-4 text-end">
<button type="submit" name="submit" class="btn btn-success btn-sm w-100 fw-bold py-2 shadow-sm">
<i class="fas fa-upload me-2"></i><?= _("ENVOYER") ?>
</button>
</div>
<div class="col-md-4">
<label class="form-label small fw-bold text-muted text-uppercase"><?= _("Nom du document") ?></label>
<input class="form-control form-control-sm" type="text" id="nomOrigine" name="nomOrigine" placeholder="<?= _("Rechercher un fichier...") ?>">
</div>
<div class="col-md-4">
<label class="form-label fw-bold small text-muted text-uppercase">
<?= _("Type Document") ?><span class="text-danger"> *</span>
</label>
<select class="form-select" id="codeNaturePiece" name="codeNaturePiece">
<?php liste_options($naturepiece, ""); ?>
</select>
</div>
<div class="col-md-1 d-flex align-items-end gap-1">
<button type="button" class="btn btn-primary btn-sm flex-fill fw-bold" onclick="lister_ged_beneficiaire_prod();">
<i class="fas fa-sync-alt me-1"></i> <?= _("Filtrer") ?>
</button>
</div>
<div class="col-md-12" id="div_autre_type" style="display: none;">
<div class="alert alert-info py-2 shadow-sm border-start border-4 border-info mb-0">
<label class="form-label fw-bold small text-muted text-uppercase mb-1">
<?= _("Préciser si autre type") ?><span class="text-danger"> *</span>
</label>
<input type="text" class="form-control form-control-sm border-info" id="libelleAutre" name="libelleAutre" placeholder="<?= _("Saisissez le type de document...") ?>">
</div>
</div>
</div>
<!--
<div class="row g-3 align-items-end">
<div class="col-xl-4 col-lg-6">
<label class="form-label small fw-bold text-muted text-uppercase"><?= _("Période de recherche du") ?></label>
<div class="input-group input-group-sm">
<span class="input-group-text bg-white"><i class="fas fa-calendar-alt text-primary"></i></span>
<input class="form-control datepicker text-center fw-bold" type="text" id="d1" name="d1"
value="<?= dateLang($_SESSION['dUneSemaineAvant_C'], $_SESSION['lang']) ?>" required>
<span class="input-group-text bg-light fw-bold px-3"><?= _("au") ?></span>
<input class="form-control datepicker text-center fw-bold" type="text" id="d2" name="d2"
value="<?= dateCouranteLang($_SESSION['lang']) ?>" required>
</div>
</div>
<div class="col-xl-3 col-lg-6">
<label class="form-label small fw-bold text-muted text-uppercase"><?= _("Nom du document") ?></label>
<div class="input-group input-group-sm">
<span class="input-group-text bg-white"><i class="fas fa-search"></i></span>
<input class="form-control" type="text" id="nomOrigine" name="nomOrigine"
onkeypress="javascript:ctrlkeypress_lister_ged(event);" placeholder="<?= _("Contient...") ?>">
<button class="btn btn-primary fw-bold px-3" type="button" onclick="javascript:lister_ged_beneficiaire_prod();">
<i class="fas fa-sync-alt me-1"></i>
</button>
</div>
</div>
<div class="col-xl-3 col-lg-8">
<label class="form-label small fw-bold text-muted text-uppercase"><?= _("Joindre un nouveau document") ?></label>
<input class="form-control form-control-sm border-info" name="fichier_upload" type="file" id="fichier_upload" />
</div>
<div class="col-xl-2 col-lg-4 text-end">
<button type="submit" name="submit" class="btn btn-success btn-sm w-100 fw-bold py-2 shadow-sm">
<i class="fas fa-upload me-2"></i><?= _("ENVOYER") ?>
</button>
</div>
</div>-->
</form>
</div>
</form>
</div>
</div>
</div>
@ -76,16 +134,24 @@
<th class="text-center px-3">Date</th>
<th class="text-center">Src</th>
<th><?= _("Souscripteur / Police") ?></th>
<th><?= _("Prestataire") ?></th>
<th><?= _("Bénéficiaire (Adhérent)") ?></th>
<th><?= _("Document") ?></th>
<th class="text-center"><?= _("Action") ?></th>
<th><?= _("Bénéficiaire / Adhérent") ?></th>
<th><?= _("Type du Document") ?></th>
<th><?= _("Nom du Document") ?></th>
<th class="text-center no-export"><?= _("Action") ?></th>
</tr>
</thead>
<tbody>
<?php foreach ($geds as $ged):
$idGed = $this->nettoyer($ged['idGed']);
$cheminFichier = $this->nettoyer($ged['cheminFichier']);
if($ged['codeNaturePiece'] == "AUT")
{
$libelleType = $this->nettoyer($ged['libelleAutre']);
} else
{
$libelleType = $this->nettoyer($ged['libelleType']);
}
?>
<tr class="text-nowrap">
<td class="text-center small text-muted"><?= dateheureLang($this->nettoyer($ged['dateSysteme'])) ?></td>
@ -95,14 +161,16 @@
<td>
<div class="fw-bold text-dark"><?= $this->nettoyer($ged['souscripteur']) ?></div>
<div class="small text-primary"> <?= $this->nettoyer($ged['numeroPolice']) ?></div>
</td>
<td class="small text-muted text-truncate" style="max-width: 150px;"><?= $this->nettoyer($ged['prestataire']) ?></td>
</td>
<td>
<div class="fw-bold"><?= $this->nettoyer($ged['beneficiaire']) ?></div>
<div class="small text-muted italic">
<?= $this->nettoyer($ged['adherent']) ?> (<?= $this->nettoyer($ged['numeroBeneficiaire']) ?>)
</div>
</td>
<td class="small text-uppercase"><?= $libelleType; ?></td>
<td class="small">
<i class="far fa-file-pdf text-danger me-1"></i>
<span class="text-truncate d-inline-block" style="max-width: 180px;" title="<?= $this->nettoyer($ged['nomOrigine']) ?>">
@ -110,7 +178,7 @@
</span>
</td>
<td class="text-center">
<a href="<?= $cheminFichier ?>" target="_blank" class="btn btn-xs btn-outline-danger shadow-sm px-3 fw-bold border-2">
<a href="<?= $cheminFichier ?>" target="_blank" class="btn btn-xs btn-outline-danger shadow-sm px-3 fw-bold border-2" style="font-size:9pt;">
<i class="fas fa-download me-1"></i><?= _("TELECHARGER") ?>
</a>
</td>