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 :
|
*** 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") != " ")) {
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
|