Documents "En Cours" d'application

version n°1 PB le 09/07/2001

Cette page a pour but de lister les documents dans la base répondant aux critères suivants :

*** : S'il n'y a pas de rubrique en cours (Session ("type_doc") = = ""), i.e. si le portail est situé sur une mire de département y compris de la société, le lien vers "En cours" pointe sur All_Users/en_cours_01.asp, laquelle classe les documents trouvés par rubrique dans le département.
Dans le cas contraire, si une rubrique a été choisie pour le département en cours, le lien pointe sur Moteurs/"moteur_de_la_rubrique"/en_cours_01.asp. Ainsi la page "en_cours" restreint sa recherche à ce type de document et peut éventuellement tenir compte des spécificités de chaque moteur.

All_Users/en_cours_01.asp
La requête SQL :
var my_dept = "" + Session ('dept_code');

    var OBJECT_oui = new DWGenerator ("OBJECT_oui", "SuneTeam");
    sqlquery = "select ";
    sqlquery += "documents.doc_id, ";
    sqlquery += "documents.doc_type_doc, "
    //sqlquery += "documents_versions.ver_creation_date, "
    sqlquery += "documents.doc_comment, ";
    sqlquery += "documents_versions.ver_application_date, ";
    sqlquery += "documents_versions.ver_nouveaute_duree, ";
    sqlquery += "documents_versions.ver_peremption_duree, ";
    sqlquery += "documents_versions.ver_peremption_date, ";    
    sqlquery += "documents_versions.ver_titre, ";    
    sqlquery += "documents_pages.pag_titre, "
    sqlquery += "documents_pages.pag_ref_info, ";
    sqlquery += "param_doc.par_txt_bouton ";

    sqlquery += "from documents, documents_versions, documents_pages, param_doc ";
    
    //département et rubrique en cours
    sqlquery += "where documents.doc_dept_code = '" + my_dept + "' "; 
    *** sqlquery += "and documents.doc_type_doc = '" + Session ('type_doc') + "' ";
    
    //on cache les mires aux non-administrateurs
    if ("" + Session ('client') != "admin") {sqlquery += "and documents.doc_type_doc != 'MIR' "};
    
    //jointures
    sqlquery += "and documents.doc_id = documents_versions.doc_id ";
    sqlquery += "and documents.doc_id = documents_pages.doc_id ";
    sqlquery += "and documents_versions.ver_id = documents_pages.ver_id ";
    sqlquery += "and param_doc.dept_code = documents.doc_dept_code ";
    sqlquery += "and param_doc.type_code = documents.doc_type_doc ";
    
    //versions validées seulement
    if ("" + Session ("projets") == "non") sqlquery += "and documents_versions.ver_no_projet = 0 ";
    
    //page de généralités seulement
    sqlquery += "and documents_pages.pag_type = 'G'"; 
    
    //la plus récente en haut de la datawindow
    sqlquery += " order by";
    sqlquery += " documents.doc_type_doc";
    sqlquery += ", documents_versions.ver_application_date ";
    //sqlquery += ", documents_pages.pag_titre ASC"
Titre de la fenêtre :
	 Write (trad('T_EN_COURS_01') + " - " + Session ("dept_libelle")) + " - " + Session ("type_libelle")
Ou *** : Write (trad('T_EN_COURS_01') + " - " + Session ("dept_libelle")) 
Colonnes affichées :
  • VER_APPLICATION_DATE : date d'application
  • VER_TITRE : " = trad('VER_TITRE') " ; titre du document
  • PAG_TITRE : " = trad('PAG_TITRE') " ; titre de la page avec lien sur PAG_REF_INFO : emplacement http dans l'intranet
  • DOC_COMMENT : " = trad('DOC_COMMENT') " ; commentaire
 
       *** var rubrique_cours = "";
       var num_line = 0;
       
          //variables du script vérifiant que le doc_id n'a pas été mis à la ligne du dessus 
          (une seule ligne par document = la version la plus récente)
          //var my_tab = "-"; 
          //var my_id = "";
          
	for (var i =0; i < OBJECT_oui.startrow; i++) {OBJECT_oui.cursor.MoveNext();}
	for (var i=0; !OBJECT_oui.cursor.EOF(); i++) {
        
        *** //gestion des lignes-titres de rubriques :

          if ((i == 0) || ("" + OBJECT_oui.cursor.GetValue ('doc_type_doc') != rubrique_cours)) {
            rubrique_cours = OBJECT_oui.cursor.GetValue ('doc_type_doc');
            Ecriture d'une TR / TD class=tableTitleRubrique COLSPAN=\"4\">" 
                + OBJECT_oui.cursor.GetValue ('par_txt_bouton')           
            }      
 //VERIFICATION CRITERES
            
                //on prépare la date de référence
                    var str_visu = "" + Session("date_visu");
                    var date_ref = new Date ();
                    date_ref.setDate(parseInt(str_visu.substring (0,2)));
                    date_ref.setMonth(parseInt(str_visu.substring (3,5)-1));
                    date_ref.setYear(parseInt(str_visu.substring (6,10)));
                    var int_date_ref = parseInt(format_time_comp(date_ref));
            
                // ... la date d'application  ... 
                    var str_application = "" + OBJECT_oui.cursor.GetValue ("ver_application_date");
                    var date_appli = new Date ();
                    date_appli.setDate(parseInt(str_application.substring (0,2)));
                    date_appli.setMonth(parseInt(str_application.substring (3,5)-1));
                    date_appli.setYear(parseInt(str_application.substring (6,10)));          
                    var int_date_appli = parseInt(format_time_comp(date_appli));
                        
                // ... la date de fin de nouveaute grace à la date d'application + la duree de nouveaute
                    var int_duree_nouveaute = parseInt("" + OBJECT_oui.cursor.GetValue ("ver_nouveaute_duree"));
                    date_appli.setDate(date_appli.getDate() + int_duree_nouveaute);
                    var int_date_fin_nouveaute = parseInt(format_time_comp(date_appli));
                    
                // ... et la date de peremption
                    if (("" + OBJECT_oui.cursor.GetValue ("ver_peremption_date") != "") && ("" + OBJECT_oui.cursor.GetValue ("ver_peremption_date") != "&nbsp")) {
                        var str_peremption = "" + OBJECT_oui.cursor.GetValue ("ver_peremption_date");
                        var date_peremp = new Date ();
                        date_peremp.setDate(parseInt(str_peremption.substring (0,2)));
                        date_peremp.setMonth(parseInt(str_peremption.substring (3,5)-1));
                        date_peremp.setYear(parseInt(str_peremption.substring (6,10)));          
                        var int_date_peremp = parseInt(format_time_comp(date_peremp));
                        }
                    else {
                        var int_duree_peremp = parseInt("" + OBJECT_oui.cursor.GetValue ("ver_peremption_duree"));
                        date_appli.setMonth(date_appli.getMonth() + int_duree_peremp);
                        var int_date_peremp = parseInt(format_time_comp(date_appli));
                        };

          if ((int_date_appli <= int_date_ref) && (int_date_ref < int_date_peremp)) {
              
 	      num_line++ ;
              with (psDocument) {
              if (num_line%2==1){Write ("\n      <TR class=tableTD1>");} else {Write ("\n      <TR class=tableTD2>");};
              //decodage "12/01/2000" en 12 janvier 2000
              var str_date_brute = "" + OBJECT_oui.cursor.GetValue ('ver_application_date');
              var str_date_litt = "";
              if (str_date_brute.length == 10) {
                str_date_litt = str_date_brute.substring (0,2) + " " + decode_mois(str_date_brute.substring (3,5)) + " " + str_date_brute.substring (6,10);
                }
              Write ("\n         <TD class=text>");
              if (int_date_ref <= int_date_fin_nouveaute) {Write ("<font color=\"blue\">New ! </font>");};
              Write (str_date_litt + "</TD>");
              Write ("\n         <TD class=text>" + OBJECT_oui.cursor.GetValue ('ver_titre') + "</TD>");  
              Write ("\n         <TD class=text><A HREF=\"" + OBJECT_oui.cursor.GetValue ('pag_ref_info') + "\">" + OBJECT_oui.cursor.GetValue ('pag_titre') + "</A></TD>");
              Write ("\n         <TD class=text>" + OBJECT_oui.cursor.GetValue ('doc_comment')+ "</TD>");          
              Write ("\n      </TR>");
              } //fin du with

            //my_tab += my_id;
            //Response.Write ("my_tab = " + my_tab);
            //} //fin du if doc_id
            
          } //fin du if dates
        OBJECT_oui.cursor.MoveNext();
        } //fin de la boucle i
    
   fermeture de la TABLE