".__("dossiers d'instruction"); $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"; /*Tables sur lesquels la requête va s'effectuer*/ $table = sprintf( '%1$sdossier LEFT JOIN %1$slien_dossier_demandeur ON lien_dossier_demandeur.dossier=dossier.dossier AND lien_dossier_demandeur.petitionnaire_principal IS TRUE LEFT JOIN %1$sdemandeur ON lien_dossier_demandeur.demandeur=demandeur.demandeur LEFT JOIN %1$sdossier_autorisation ON dossier_autorisation.dossier_autorisation = dossier.dossier_autorisation LEFT JOIN %1$sdossier_autorisation_type_detaille ON dossier_autorisation_type_detaille.dossier_autorisation_type_detaille = dossier_autorisation.dossier_autorisation_type_detaille LEFT JOIN %1$sinstructeur ON dossier.instructeur = instructeur.instructeur LEFT JOIN %1$som_utilisateur ON instructeur.om_utilisateur = om_utilisateur.om_utilisateur LEFT JOIN %1$setat ON dossier.etat = etat.etat LEFT JOIN %1$sdivision ON dossier.division = division.division LEFT JOIN %1$savis_decision ON avis_decision.avis_decision=dossier.avis_decision -- Récupère la demande qui a créé le type dossier du dossier LEFT JOIN (%1$sdemande JOIN %1$sdemande_type ON demande.demande_type = demande_type.demande_type) ON demande.dossier_instruction = dossier.dossier AND demande_type.dossier_instruction_type = dossier.dossier_instruction_type', DB_PREFIXE ); /*Champs du début de la requête*/ $champAffiche_debut_commun = array_merge( $array_base_ct_select_champaffiche, array( $case_demandeur.' as "'.__("petitionnaire").'"', $trim_concat_terrain.'as "'.__("localisation").'"', '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").'"', 'to_char(dossier.date_limite ,\'DD/MM/YYYY\') as "'.__("date_limite").'"', )); /*Champs de la fin de la requête*/ $champAffiche_fin_commun = array($select_enjeux_dossier); /*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 (in_array($retourformulaire, $foreign_keys_extended["dossier"]) === true || $retourformulaire == 'dossier_qualifier_qualificateur' || $retourformulaire== 'dossier_autorisation'){ // Table principale : dossier cible (résultats du tableau) $table = DB_PREFIXE.'dossier as dossier'; // Jointure avec le DI source $table .= ' INNER JOIN '.DB_PREFIXE.'dossier as di_source ON di_source.dossier = \''.$f->db->escapeSimple($idxformulaire).'\''; // Éventuelle jointure avec la table de liaison des DI liés $table .= ' LEFT JOIN '.DB_PREFIXE.'lien_dossier_dossier ON lien_dossier_dossier.dossier_src = dossier.dossier AND lien_dossier_dossier.dossier_cible = \''.$f->db->escapeSimple($idxformulaire).'\''; // Jointure avec les clés étrangères du DI cible pour récupérer leurs libellés $table .= ' INNER JOIN '.DB_PREFIXE.'dossier_instruction_type as di_type_cible ON di_type_cible.dossier_instruction_type = dossier.dossier_instruction_type INNER JOIN '.DB_PREFIXE.'etat as etat_cible ON dossier.etat = etat_cible.etat'; // Jointure avec la table groupe $table .= " INNER JOIN ".DB_PREFIXE."dossier_autorisation_type_detaille ON di_type_cible.dossier_autorisation_type_detaille = dossier_autorisation_type_detaille.dossier_autorisation_type_detaille"; $table .= " INNER JOIN ".DB_PREFIXE."dossier_autorisation_type ON dossier_autorisation_type.dossier_autorisation_type = dossier_autorisation_type_detaille.dossier_autorisation_type"; $table .= " INNER JOIN ".DB_PREFIXE."groupe ON dossier_autorisation_type.groupe = groupe.groupe"; $table .= "-- Récupère la demande qui a créé le type dossier du dossier LEFT JOIN (".DB_PREFIXE."demande JOIN ".DB_PREFIXE."demande_type ON demande.demande_type = demande_type.demande_type) ON demande.dossier_instruction = dossier.dossier AND demande_type.dossier_instruction_type = dossier.dossier_instruction_type"; $champAffiche=array( 'dossier.dossier as "'.__("dossier d'instruction").'"', 'dossier.geom as "geom_picto"', 'demande.source_depot as "demat_picto"', $select__dossier_libelle__column.' as "'.__("Liaisons retour").'"', 'to_char(dossier.date_depot ,\'DD/MM/YYYY\') as "'.__("date_depot").'"', 'etat_cible.libelle as "'.__("etat").'"', ); // Exclusion du DI source des DI cibles récupérés par le DA // et filtre du DI source $selection = ' WHERE dossier.dossier != \''.$f->db->escapeSimple($idxformulaire).'\' AND lien_dossier_dossier.dossier_cible IS NOT NULL'; // Éventuel filtre mono sur les dossiers cibles if ($f->isCollectiviteMono($_SESSION['collectivite']) === true) { $selection .= " AND dossier.om_collectivite = ".$_SESSION['collectivite']; } // Tri chronologique par la date de dépôt du dossier cible $tri= "ORDER BY dossier.date_depot ASC"; // Récupération de la classe qui contient le soustab $class = ((isset($_GET['context']))?$_GET['context']: ''); // Gestion action ajouter $tab_actions['corner']['ajouter'] = NULL; // Action consulter sans AJAX $tab_actions['left']["consulter"] = array( 'lien' => ''.OM_ROUTE_FORM.'&obj=dossier_instruction&action=777&retourformulaire='.$retourformulaire.'&idxformulaire='.$idxformulaire.'&idx=', 'lib' => ''.__('Consulter').'', 'rights' => array( 'list' => array( 'dossier_instruction', 'dossier_instruction_consulter', 'dossier_contentieux_tous_recours', 'dossier_contentieux_tous_recours_consulter', 'dossier_contentieux_toutes_infractions', 'dossier_contentieux_toutes_infractions_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; // $tab_actions['left']["consulter"] = array('lien' => ''.OM_ROUTE_FORM.'&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' => ''.OM_ROUTE_FORM.'&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); } ?>