"._("dossiers d'instruction");
if (isset($idz) && trim($idz) != '') {
$ent .= "-> ".mb_strtoupper($idz, "UTF-8")." ";
} else {
$idz = '';
}
$tab_title = _("DI");
/* Test SQL pour récupérer les bons champs selon la qualité du demandeur :
* particulier ou personne morale*/
$case_demandeur = "CASE WHEN demandeur.qualite='particulier'
THEN TRIM(CONCAT(demandeur.particulier_nom, ' ', demandeur.particulier_prenom))
ELSE TRIM(CONCAT(demandeur.personne_morale_raison_sociale, ' ', demandeur.personne_morale_denomination))
END";
/*Formatage de l'adresse du terrain, concatenantion de plusieurs champs pour les
* mettrent dans une seule colonne*/
$trim_concat_terrain ='TRIM(CONCAT(dossier.terrain_adresse_voie_numero,\' \',
dossier.terrain_adresse_voie,\' \',
dossier.terrain_adresse_lieu_dit,\' \',
dossier.terrain_adresse_code_postal,\' \',
dossier.terrain_adresse_localite,\' \',
dossier.terrain_adresse_bp,\' \',
dossier.terrain_adresse_cedex
)) as "'._("terrain").'"';
/*Tables sur lesquels la requête va s'effectuer*/
$table = DB_PREFIXE."dossier
LEFT JOIN ".DB_PREFIXE."lien_dossier_demandeur
ON lien_dossier_demandeur.dossier=dossier.dossier
AND lien_dossier_demandeur.petitionnaire_principal IS TRUE
LEFT JOIN ".DB_PREFIXE."demandeur
ON lien_dossier_demandeur.demandeur=demandeur.demandeur
LEFT JOIN ".DB_PREFIXE."dossier_autorisation
ON dossier_autorisation.dossier_autorisation = dossier.dossier_autorisation
LEFT JOIN ".DB_PREFIXE."dossier_autorisation_type_detaille
ON dossier_autorisation_type_detaille.dossier_autorisation_type_detaille = dossier_autorisation.dossier_autorisation_type_detaille
LEFT JOIN ".DB_PREFIXE."instructeur
ON dossier.instructeur = instructeur.instructeur
LEFT JOIN ".DB_PREFIXE."om_utilisateur
ON instructeur.om_utilisateur = om_utilisateur.om_utilisateur
LEFT JOIN ".DB_PREFIXE."etat
ON dossier.etat = etat.etat
LEFT JOIN ".DB_PREFIXE."division
ON dossier.division = division.division
LEFT JOIN ".DB_PREFIXE."avis_decision
ON avis_decision.avis_decision=dossier.avis_decision
LEFT JOIN ".DB_PREFIXE."om_collectivite
ON dossier.om_collectivite=om_collectivite.om_collectivite
";
/*Champs du début de la requête*/
$champAffiche_debut_commun = array(
'dossier.dossier as "'._("dossier").'"',
'dossier.dossier_libelle as "'._("dossier").'"',
$case_demandeur.' as "'._("petitionnaire").'"',
$trim_concat_terrain,
'dossier_autorisation_type_detaille.libelle as "'._("nature_dossier").'"',
'to_char(dossier.date_depot ,\'DD/MM/YYYY\') as "'._("date_depot").'"',
'to_char(dossier.date_complet ,\'DD/MM/YYYY\') as "'._("date_complet").'"',
'CASE WHEN dossier.incomplet_notifie IS TRUE AND dossier.incompletude IS TRUE
THEN to_char(dossier.date_limite_incompletude ,\'DD/MM/YYYY\')
ELSE to_char(dossier.date_limite ,\'DD/MM/YYYY\')
END as "'._("date_limite").'"',
);
/*Champs de la fin de la requête*/
$champAffiche_fin_commun = array(
'etat.libelle as "'._("etat").'"',
'CASE WHEN dossier.enjeu_urba is TRUE
THEN \'URBA\'
ELSE \'\'
END ||
CASE WHEN dossier.enjeu_erp is TRUE
THEN \'ERP\'
ELSE \'\'
END
as "'._("enjeu").'"',
);
//
if ($_SESSION['niveau'] == '2') {
array_push($champAffiche_fin_commun, "om_collectivite.libelle as \""._("collectivite")."\"");
}
/*Liste des champs affichés dans le tableau de résultat*/
$champAffiche = array_merge($champAffiche_debut_commun,
array('instructeur.nom as "'._("instructeur").'"',
'division.code as "'._("division").'"',
),
$champAffiche_fin_commun);
// Liste des autres dossiers d'instructions
if ($retourformulaire== 'dossier_instruction'){
$champAffiche=array(
'b.dossier as "'._("dossier_instruction").'"',
'b.dossier_libelle as "'._("dossier").'"',
'dossier_instruction_type.libelle as "'._("demande_type").'"',
'to_char(b.date_depot ,\'DD/MM/YYYY\') as "'._("date_depot").'"',
'b.etat as "'._("etat").'"',
);
$table =DB_PREFIXE.'dossier as a
JOIN '.DB_PREFIXE.'dossier_autorisation
ON a.dossier_autorisation=dossier_autorisation.dossier_autorisation
JOIN '.DB_PREFIXE.'dossier as b
ON b.dossier_autorisation=dossier_autorisation.dossier_autorisation
JOIN '.DB_PREFIXE.'dossier_instruction_type
ON dossier_instruction_type.dossier_instruction_type = b.dossier_instruction_type';
$selection = 'WHERE a.dossier=\''.$idx.'\'';
$tri= "order by b.date_depot ASC";
//Suppression du bouton d'ajout
$tab_actions['corner']['ajouter'] = NULL;
//Suppression du bouton d'ajout
$tab_actions['left']["consulter"] =
array('lien' => 'form.php?obj=dossier_instruction&action=3'.'&idx=',
'id' => '&retourformulaire='.$retourformulaire.'&retour=',
'lib' => ''._('Consulter').'',
'rights' => array('list' => array('dossier_instruction', 'dossier_instruction_consulter'), 'operator' => 'OR'),
'ordre' => 10,
'ajax' => false);
$tab_actions['content'] = $tab_actions['left']["consulter"];
$options[] = array(
"type"=>"pagination_select",
"display"=>false,
);
}
if ( $retourformulaire == "dossier_autorisation"){
//Suppression du bouton d'ajout
$tab_actions['corner']['ajouter'] = NULL;
//Suppression du bouton d'ajout
$tab_actions['left']["consulter"] =
array('lien' => '../scr/form.php?obj=dossier_instruction&action=3&idx=',
'id' => '&retourformulaire='.$retourformulaire,
'lib' => ''._('Consulter').'',
'rights' => array('list' => array('dossier_instruction', 'dossier_instruction_consulter'), 'operator' => 'OR'),
'ordre' => 10,
'ajax' => false);
$tab_actions['content'] = $tab_actions['left']["consulter"] ;
}
// Affichage du bouton de redirection vers le SIG externe si configuré
// XXX Ajouter filtre pour afficher l'icone géolocalisation en fonction de la conf SIG du dossier
if($f->getParameter('option_sig') == 'sig_externe') {
$tab_actions['left']["localiser-sig-externe"] = array(
'lien' => 'form.php?obj=dossier_instruction&action=140&idx=',
'id' => '',
'lib' => ''._('Localiser').'',
'rights' => array('list' => array('dossier_instruction', 'dossier_instruction_consulter'), 'operator' => 'OR'),
'ordre' => 20,
'target' => "_SIG",
'ajax' => false);
}
/*Paramétrage des actions du portlet*/
$portlet_actions['modifier'] = array('lien' => "form.php?obj=dossier_instruction&action=1&idx=",
'id' => "&idz=$idz&premier=0&advs_id=&recherche=&tricol=-0&selectioncol=&valide=&retour=form&retourformulaire=".$obj."&retourformulaire2=".$retourformulaire,
'lib' => ""._("Modifier")."",
'ordre' => 10,
'rights' => array('list' => array("dossier_instruction_mes_encours_modifier", "dossier_instruction_tous_encours_modifier", "dossier_instruction_mes_clotures_modifier", "dossier_instruction_tous_clotures_modifier", "dossier_instruction_modifier"), 'operator' => 'OR'),
'ajax' => false);
$portlet_actions['supprimer'] = array('lien' => "form.php?obj=dossier_instruction&action=2&idx=",
'id' => "&idz=$idz&premier=0&advs_id=&recherche=&tricol=-0&selectioncol=&valide=&retour=form&retourformulaire=".$obj."&retourformulaire2=".$retourformulaire,
'lib' => ""._("Supprimer")."",
'ordre' => 28,
'rights' => array('list' => array("dossier_instruction_mes_encours_supprimer", "dossier_instruction_tous_encours_supprimer", "dossier_instruction_mes_clotures_supprimer", "dossier_instruction_tous_clotures_supprimer", "dossier_instruction_supprimer"), 'operator' => 'OR'),
'ajax' => false);
// Si filtre DI auxquels on peut proposer une autre décision
if (isset($extra_parameters["filtre_decision"])
&& $extra_parameters["filtre_decision"] == true) {
// Suppression du bouton d'ajout
$tab_actions['corner']['ajouter'] = NULL;
// Augmentation de la limite
$serie = 50;
// Réinitialisation des options
$options = array();
// Suppression de la recherche avancée
$options[] = array(
'type' => 'search',
'display' => false);
// Suppression du sélecteur de pages
$options[] = array(
'type' => 'pagination_select',
'display' => false);
// Ajout jointure
$table .= "JOIN ".DB_PREFIXE."instruction ON instruction.instruction = (
SELECT instruction
FROM ".DB_PREFIXE."instruction
JOIN ".DB_PREFIXE."evenement on instruction.evenement=evenement.evenement
WHERE instruction.dossier = dossier.dossier
AND evenement.retour IS FALSE
ORDER BY date_evenement DESC, instruction DESC
LIMIT 1
)
JOIN ".DB_PREFIXE."evenement ON instruction.evenement=evenement.evenement
JOIN ".DB_PREFIXE."dossier_instruction_type ON dossier.dossier_instruction_type=dossier_instruction_type.dossier_instruction_type AND dossier_instruction_type.code IN ('P', 'T', 'M')";
// Modification sélection
$selection = "WHERE
((evenement.type = 'arrete' AND instruction.om_final_instruction IS TRUE) OR evenement.type = 'changement_decision')
AND evenement.retour IS FALSE
AND instruction.date_retour_signature IS NULL
AND instruction.date_envoi_rar IS NULL
AND instruction.date_retour_rar IS NULL
AND instruction.date_envoi_controle_legalite IS NULL
AND instruction.date_retour_controle_legalite IS NULL
AND etat.statut = 'encours'
AND om_utilisateur.login != '".$_SESSION['login']."'";
// Si collectivité de l'utilisateur niveau mono alors filtre sur celle-ci
if ($f->isCollectiviteMono($_SESSION['collectivite']) === true) {
$selection .= " AND dossier.om_collectivite=".$_SESSION['collectivite'];
}
// Modification tri
$tri = " ORDER BY dossier.dossier ";
}
?>