Base de Données: SAMS
F1 |
Dossiers |
F11 |
Appels |
F12 |
Interventions |
F13 |
Demandes de corrections |
F14 |
Techniciens par intervention |
F15 |
Historique des événements du dossier |
F16 |
Liens inter-dossiers |
F2 |
Devis |
F21 |
Demandes d'évolution |
F22 |
Versions applicatives par évolution (évolution répartie sur plusieurs versions) |
F23 |
Compléments d'analyse de demande d'évolution |
F3 |
Commandes |
F30 |
Utilisateurs |
F31 |
Profils d'utilisateur |
F32 |
Droits par profil d'utilisateur |
F33 |
Livraisons |
F34 |
Reports de livraison |
F4 |
Applications |
F41 |
Versions |
F5 |
Sites |
F51 |
Correspondants locaux (des sites) |
F6 |
Diffusions des versions |
F61 |
Envois/installations de versions (correctifs, sites pilotes ou diffusion) |
F7 |
Fiches d'expression de besoin |
F70 |
Techniciens |
F71 |
Profils de technicien |
F72 |
Qualifications de dossier |
F73 |
Modes de résolution |
F74 |
Types de juridiction |
F75 |
Qualités de correspondant |
F76 |
Types d'action préventive |
F77 |
Logiciels de base |
F78 |
Niveaux de support |
F79 |
Etats d'avancement |
F80 |
Paramètres SAMS |
F81 |
Domaines fonctionnels |
F82 |
Domaine métiers |
F83 |
Environnements |
F84 |
Environnements techniques |
F85 |
Référentiel des qualifications |
MENUS |
Eléments du menu HTML de l'application |
TAILLELISTE |
Taille des différentes listes par utilisateur |
Table: F1
Index:
Champs:
F1ID | int(11) | NULL | NULL | auto_increment | |
F1NUM | varchar(9) | NULL | NULL | | Automatique (égal au n° du 1er appel saisi pour le dossier) |
F1DATE | datetime | NULL | NULL | | Date et heure de l'appel initial - Automatique (égal à la date et heure du 1er appel saisi pour le dossier) |
F1INCID | int(1) | NULL | NULL | | 0 ou NULL (difficulté d'utilisation), 1 (incident) |
F1BLOQ | int(1) | NULL | NULL | | Bloquant (0 ou NULL = Non, 1 = Oui) |
F1DTFIN | datetime | NULL | NULL | | Date et heure de clôture du dossier |
F1DESCR | text | NULL | NULL | |
Descriptif (PJ stockées dans le répertoire DESCR) |
F1SOLUTION | text | NULL | NULL | |
Solution (PJ stockées dans le répertoire SOLUTION) |
F1SITE | int(11) | NULL | NULL | | Ville du site |
F1VERSAPP | int(11) | NULL | NULL | | Code de la version de l'application |
F1NIVINC | int(11) | NULL | NULL | | Code du mode de résolution |
F1DOMFONCT | int(11) | NULL | NULL | | Code du domaine fonctionnel |
F1QUALIF | int(11) | NULL | NULL | | Code de la qualification |
Clé secondaire:
top
Table: F11
Index:
Champs:
F11ID | int(11) | NULL | NULL | auto_increment | |
F11NUM | varchar(9) | NULL | NULL | | Automatique (format AAAANNNNN où AAAA = année de la date d'appel et NNNNN = n° d'ordre dans l'année) |
F11DATE | datetime | NULL | NULL | | Date et heure (par défaut date et heure système à la validation) |
F11MOTIF | text | NULL | NULL | | Motif de l'appel (PJ stockées dans le répertoire MOTIF) |
F11TYPE | int(1) | NULL | NULL | | Type d'appel (0 = appel complémentaire, 1 = appel initial) |
F11REPONSE | text | NULL | NULL | | Réponse du technicien qui a traité l'appel (PJ stockées dans le répertoire REPONSE) |
F11DUREE | int(4) | NULL | NULL | | Durée de l'appel en minutes |
F11DURRES | int(4) | NULL | NULL | | Durée de résolution en minutes |
F11DTRECEP | datetime | NULL | NULL | |
Date de réception (saisissable par un utilisateur de profil Ministère) |
F11FACT | int(1) | NULL | NULL | |
Appel facturable (0 ou NULL = facturable, 1= non facturable) |
F11DTETAT | datetime | NULL | NULL | | Date d'état d'avancement (depuis le) |
F11DOS | int(11) | NULL | NULL | |
Code du dossier |
F11CORRESP | int(11) | NULL | NULL | | Auteur de l'appel |
F11TECH | int(11) | NULL | NULL | | Technicien qui traite l'appel |
F11QUALIF | int(11) | NULL | NULL | | Code qualification (inutilisé) |
F11TRANSTECH | int(11) | NULL | NULL | | Technicien à qui l'appel est transféré |
F11ETAT | int(11) | NULL | NULL | | Etat d'avancement de l'appel |
Clé secondaire:
top
Table: F12
Index:
Champs:
F12ID | int(11) | NULL | NULL | auto_increment | |
F12NUM | varchar(9) | NULL | NULL | | Automatique (format AAAANNNNN où AAAA = année de la date de début d'intervention et NNNNN = n° d'ordre dans l'année) |
F12DTDEB | datetime | NULL | NULL | | Date et heure de début de l'intervention |
F12DTFIN | datetime | NULL | NULL | | Date et heure de fin de l'intervention |
F12DESCR | text | NULL | NULL | | Descriptif (PJ stockées dans le répertoire DESCR) |
F12NATURE | int(1) | NULL | NULL | | Nature de l'intervention (1 = A distance, 2 : Sur site) |
F12TYPE | varchar(8) | NULL | NULL | | Nature de l'intervention (1 = Incident, 2 = Action préventive) |
F12DTRECEP | datetime | NULL | NULL | | Date de réception |
F12SITE | int(11) | NULL | NULL | | Ville du site |
F12VERSAPP | int(11) | NULL | NULL | | Code de la version de l'application |
F12DOS | int(11) | NULL | NULL | | Numéro de dossier |
F12TYPAP | int(11) | NULL | NULL | | Code de l'action préventive si F12TYPE = 2 |
Clé secondaire:
top
Table: F13
Index:
Champs:
F13ID | int(11) | NULL | NULL | auto_increment | |
F13NUM | varchar(9) | NULL | NULL | | Automatique (format AAAANNNNN où AAAA = année de la date de demande de correction et NNNNN = n° d'ordre dans l'année) |
F13DATE | datetime | NULL | NULL | | Date de la demande |
F13ORIGINE | int(1) | NULL | NULL | | Origine (0 = Administrateur, 1 = Ministère, 2 = Site) |
F13DESDEM | text | NULL | NULL | | Descriptif de la demande (PJ stockées dans le répertoire DESDEM) |
F13REPONSE | text | NULL | NULL | |
Réponse (PJ stockées dans le répertoire REPONSE) |
F13DESCOR | text | NULL | NULL | |
Description de la correction (Pièces jointes stockées dans le répertoire DESCOR) |
F13DTCOR | datetime | NULL | NULL | |
Date de la correction |
F13DTRECEP | datetime | NULL | NULL | |
Date de réception |
F13DTANNUL | datetime | NULL | NULL | |
Date d'annulation |
F13PRIO | varchar(1) | NULL | NULL | | Indicateur de priorité de correction |
F13DTETAT | datetime | NULL | NULL | | Date associée à l'état d'avancement (depuis le) |
F13NBRET | int(2) | NULL | NULL | | Nombre de retours au réalisateur |
F13SITE | int(11) | NULL | NULL | | Ville du site à l'origine de la demande si F13ORIGINE = 2 |
F13VERSAPP | int(11) | NULL | NULL | | Code de la version de l'application concernée par la demande |
F13CORRECTIF | int(11) | NULL | NULL | | |
F13DOS | int(11) | NULL | NULL | | Numéro du dossier |
F13EVOL | int(11) | NULL | NULL | | N° de l'évolution objet de la présente demande de correction |
F13DOMFONCT | int(11) | NULL | NULL | |
Code du domaine fonctionnel |
F13DOMMETIER | int(11) | NULL | NULL | |
Code du domaine métier |
F13ENVIR | int(11) | NULL | NULL | | Code de l'environnement techniques |
F13ETAT | int(11) | NULL | NULL | |
Code de l'état d'avancement |
F13CORINI | int(11) | NULL | NULL | |
N° de la demande de correction initiale objet de la présente demande de correction |
Clé secondaire:
top
Table: F14
Index:
Champs:
F14DUREE | decimal(5,1) | NULL | NULL | | Durée de l'intervention du technicien |
F14INTERV | int(11) | NULL | NULL | | Numéro de l'intervention |
F14TECH | int(11) | NULL | NULL | | Code du technicien |
Clé secondaire:
top
Table: F15
Index:
Champs:
F15ID | int(11) | NULL | NULL | auto_increment | |
F15ORDRE |
tinyint(4) |
NULL |
'1' |
| N° d'ordre de la ligne d'historique pour l'appel |
F15DATE | datetime | NULL | NULL | | Date et heure |
F15UTILISATEUR | int(11) | NULL | NULL | | Code de l'utilisateur connecté (créateur de l'appel ou émetteur du message) |
F15DESTCORR | int(11) | NULL | NULL | | Code du correspondant destinataire du message (bouton Informer) |
F15DESTTECH | int(11) | NULL | NULL | | Code du technicien destinataire du message (bouton Transférer) |
F15APPEL | int(11) | NULL | NULL | | N° de l'appel |
Clé secondaire:
top
Table: F16
Index:
Champs:
F16DATE | datetime | NULL | NULL | |
Date du lien |
F16COMMENT | text | NULL | NULL | |
Commentaires du lien |
F16DOS | int(11) | NULL | NULL | | N° du dossier |
F16DOSLIE | int(11) | NULL | NULL | | N° du dossier lié |
Clé secondaire:
top
Table: F2
Index:
Champs:
F2ID | int(11) | NULL | NULL | auto_increment | |
F2NUM | varchar(9) | NULL | NULL | | Automatique (format AAAANNNNN où AAAA = année de la date de demande de devis et NNNNN = n° d'ordre dans l'année) |
F2DATE | datetime | NULL | NULL | |
Date de demande |
F2REFDEM | varchar(60) | NULL | NULL | |
Référence du demandeur du devis |
F2REFTITU | varchar(60) | NULL | NULL | |
Référence de l'émetteur du devis |
F2DTREMIS | datetime | NULL | NULL | |
Date de remise |
F2COMMENT | text | NULL | NULL | |
Commentaires (PJ stockées dans le répertoire COMMENT) |
top
Table: F21
Index:
Champs:
F21ID | int(11) | NULL | NULL | auto_increment | |
F21NUM | varchar(9) | NULL | NULL | | Automatique (format AAAANNNNN où AAAA = année de la date de demande et NNNNN = n° d'ordre dans l'année) |
F21DATE | datetime | NULL | NULL | | Date de la demande |
F21REF | varchar(60) | NULL | NULL | | Référence de la demande (libellé succint) |
F21DESCR |
text |
NULL | NULL | | Descriptif de la demande (PJ stockées dans le répertoire DESCR) |
F21REPMIN | text | NULL | NULL | |
Réponse du ministère (PJ stockées dans le répertoire REPMIN) |
F21REPTITU | text | NULL | NULL | |
Réponse de l'administrateur (Pièces jointes stockées dans le répertoire REPTITU) |
F21ORIG | int(1) | NULL | NULL | | Origine (0 = Administrateur, 1 = Ministère, 2 = Site) |
F21PRIO | varchar(1) | NULL | NULL | | Indicateur de priorité de la demande d'évolution |
F21DTETAT | datetime | NULL | NULL | | Date associée à l'état d'avancement (depuis le) |
F21MIN | int(1) | NULL | NULL | | Evolution mineure (0 ou NULL = Non, 1 = Oui) |
F21SITE | int(11) | NULL | NULL | | Ville du site à l'origine de la demande (si F21ORIG = 2) |
F21DEVIS | int(11) | NULL | NULL | | Numéro de devis évaluant la demande |
F21CMD | int(11) | NULL | NULL | | Numéro de commande |
F21APPLI | int(11) | NULL | NULL | | Code de l'application concernée |
F21DOMFONCT | int(11) | NULL | NULL | |
Code du domaine fonctionnel |
F21DOMMETIER | int(11) | NULL | NULL | |
Code du domaine métier |
F21ETAT | int(11) | NULL | NULL | | Code de l'état d'avancement |
Clé secondaire:
top
Table: F22
Index:
Champs:
F22DTDEB | datetime | NULL | NULL | |
Date de début de réalisation |
F22DTFIN | datetime | NULL | NULL | |
Date de fin de réalisation |
F22COMMENT | text | NULL | NULL | |
Commentaire (PJ stockées dans le répertoire COMMENT) |
F22VERSAPP | int(11) | NULL | NULL | | Code de la version de l'application |
F22EVOL | int(11) | NULL | NULL | | Numéro d'évolution |
Clé secondaire:
top
Table: F23
Index:
Champs:
F23ID | int(11) | NULL | NULL | auto_increment | |
F23ORDRE | varchar(2) | NULL | NULL | |
N° ordre du complément (automatique) |
F23DTQUES | datetime | NULL | NULL | |
Date de la question |
F23QUES | text | NULL | NULL | |
Question (PJ stockées dans le répertoire QUES) |
F23DTREP | datetime | NULL | NULL | |
Date de la réponse |
F23REP | text | NULL | NULL | |
Réponse (PJ stockées dans le répertoire REPONSE) |
F23EVO | int(11) | NULL | NULL | | N° d'évolution |
Clé secondaire:
top
Table: F3
Index:
Champs:
F3ID | int(11) | NULL | NULL | auto_increment | |
F3NUM | varchar(9) | NULL | NULL | | Automatique (format AAAANNNNN où AAAA = année de la date de commande et NNNNN = n° d'ordre dans l'année) |
F3DATE | datetime | NULL | NULL | | Date de la commande |
F3NUMMIN | varchar(60) | NULL | NULL | | Numéro de la commande pour le ministère |
F3OBJET | varchar(60) | NULL | NULL | | Objet |
F3DTLIV | datetime | NULL | NULL | |
Date limite de livraison |
F3DTDOCUT | datetime | NULL | NULL | |
Date limite de livraison de la documentation utilisateur |
F3DTDOCMA | datetime | NULL | NULL | |
Date limite de livraison de la documentation de maintenance |
F3DTRECEP | datetime | NULL | NULL | |
Date de réception définitive de la commande |
F3COMMENT | text | NULL | NULL | |
Commentaire (PJ stockées dans le répertoire COMMENT) |
F3CHARGE | decimal(6,2) | NULL | NULL | | Charges en j*h |
F3MONTANT | decimal(11,2) | NULL | NULL | | Montant TTC |
F3DEVIS | int(11) | NULL | NULL | | Numéro du devis |
F3CATEG | int(11) | NULL | NULL | | Code de la catégorie |
Clé secondaire:
top
Table: F30
Index:
Champs:
F30ID | int(11) | NULL | NULL | auto_increment | |
F30NOM | varchar(60) | NULL | NULL | |
Nom |
F30PRENOM | varchar(60) | NULL | NULL | |
Prénom |
F30MOTPASS | varchar(32) | NULL | NULL | | Mot de passe |
F30PROFIL | int(11) | NULL | NULL | | Code du profil de l'utilisateur |
F30TECH | int(11) | NULL | NULL | | Code technicien (si l'utilisateur est aussi technicien) |
F30SITE | int(11) | NULL | NULL | | Ville du site de l'utilisateur |
Clé secondaire:
top
Table: F31
Index:
Champs:
F31ID | int(11) | NULL | NULL | auto_increment | |
F31CODE | varchar(8) | NULL | NULL | |
Code du profil |
F31TYPE | int(1) | NULL | NULL | |
Type de profil (Administrateur =1, Ministère = 2, site = 3) |
top
Table: F32
Index:
Champs:
F32ID | int(11) | NULL | NULL | auto_increment | |
F32DONNEE | varchar(60) | NULL | NULL | |
Adresse de la fonction, sous la forme /nomPackage/nomFonction/ |
F32CONSULT | int(1) | NULL | NULL | |
Consultation (1 = Oui (toujours)) |
F32MODIF | int(1) | NULL | NULL | |
Modification (0 = Non, 1 = Oui) |
F32AJOUT | int(1) | NULL | NULL | |
Ajout (0 = Non, 1 = Oui) |
F32SUPPR | int(1) | NULL | NULL | |
Suppression (0 = Non, 1 = Oui) |
F32LIBEL | varchar(60) | NULL | NULL | |
Libellé |
F32PROFIL | int(11) | NULL | NULL | | Code du profil |
Clé secondaire:
top
Table: F33
Index:
Champs:
F33ID | int(11) | NULL | NULL | auto_increment | |
F33NUM | varchar(9) | NULL | NULL | | Automatique (format AAAANNNNN où AAAA = année de la date prévue de livraison et NNNNN = n° d'ordre dans l'année) |
F33ORIGINE | int(1) | NULL | NULL | | Origine ( 0 = Administrateur, 1 = Ministère) |
F33REF | varchar(60) | NULL | NULL | |
Référence de livraison |
F33DESCR | text | NULL | NULL | |
Descriptif ( PJ stockées dans le répertoire DESCR) |
F33DTPREV | datetime | NULL | NULL | |
Date de livraison prévue |
F33DTREEL | datetime | NULL | NULL | |
Date de livraison réelle |
F33RESERVE | text | NULL | NULL | |
Réserves (PJ stockées dans le répertoire RES) |
F33TRAITEE | int(1) | NULL | NULL | |
Traitée (0 ou NULL = Non, 1 = Oui) |
F33VERSAPP | int(11) | NULL | NULL | | Code de la version de l'application |
F33CMD | int(11) | NULL | NULL | | N° de commande |
Clé secondaire:
top
Table: F34
Index:
Champs:
F34ID | int(11) | NULL | NULL | auto_increment | |
F34ORDRE | varchar(2) | NULL | NULL | |
N° d'ordre du report pour une livraison |
F34DATE | datetime | NULL | NULL | |
Date à laquelle la livraison est reportée |
F34MOTIF | text | NULL | NULL | | Motif (PJ dans le répertoire MOT) |
F34LIV | int(11) | NULL | NULL | | N° de livraison |
Clé secondaire:
top
Table: F4
Index:
Champs:
F4ID | int(11) | NULL | NULL | auto_increment | |
F4CODE | varchar(8) | NULL | NULL | |
Code de l'application |
F4LIBEL | varchar(60) | NULL | NULL | |
Libellé de l'application |
F4APPSEC | int(11) | NULL | NULL | |
Code de l'application secondaire (modifiable hors SAMS via SQL |
Clé secondaire:
top
Table: F41
Index:
Champs:
F41ID | int(11) | NULL | NULL | auto_increment | |
F41CODE | varchar(20) | NULL | NULL | | Code de la version |
F41DTVER | datetime | NULL | NULL | |
Date de validation de la version |
F41DTNOTE | datetime | NULL | NULL | |
Date de validation de la note descriptive |
F41DTPILOT | datetime | NULL | NULL | |
Date de demande d'installation des sites pilotes |
F41INACTIF | int(1) | NULL | NULL | |
Inactivité (0 ou NULL = non, 1 = Oui) |
F41APPLI | int(11) | NULL | NULL | | Code de l'application |
Clé secondaire:
top
Table: F5
Index:
Champs:
F5ID | int(11) | NULL | NULL | auto_increment | |
F5REPRISE | int(1) | NULL | NULL | | Reprise de données (0 ou NULL = Non, 1 = Oui) |
F5ANCSYST | varchar(60) | NULL | NULL | | Nom de l'ancien système (si F5REPRISE = 1) |
F5DTMOM | datetime | NULL | NULL | | Date de mise en ordre de marche |
F5DTADMIS | datetime | NULL | NULL | | Date d'admission par le responsable du site |
F5NBFORME | int(4) | NULL | NULL | | Nombre d'exploitants formés |
F5NBFORMU | int(4) | NULL | NULL | | Nombre d'utilisateurs formés |
F5FORMA | varchar(60) | NULL | NULL | | Dates de formation (saisie libre) |
F5ADD3 | varchar(60) | NULL | NULL | | Adresse |
F5VILLE | varchar(60) | NULL | NULL | | Ville du site |
F5ORDRE |
tinyint(4) |
NULL |
'1' |
| N°ordre du site |
F5DTMAJ | datetime | NULL | NULL | | Date de la dernière mise à jour des informations du site, automatique (remplie avec la date du jour à chaque validation) |
F5ADD1 | varchar(60) | NULL | NULL | |
Adresse |
F5ADD2 | varchar(60) | NULL | NULL | |
Adresse |
F5CP | varchar(5) | NULL | NULL | | Code postal |
F5TEL | varchar(20) | NULL | NULL | | N° de téléphone |
F5FAX | varchar(20) | NULL | NULL | | N° de fax |
F5MAIL | varchar(60) | NULL | NULL | | Adresse e-mail |
F5PCHANC | int(1) | NULL | NULL | | Priorité Chancellerie pour l'informatisation initiale (0 = Non, 1 = Oui) |
F5PCA | int(1) | NULL | NULL | | Priorité du site de rattachement pour l'informatisation intiale (0 = Non, 1 = Oui) |
F5DTDEPCA | datetime | NULL | NULL | | Date dépêche au site de rattachement |
F5AUTOCAB | varchar(60) | NULL | NULL | | Autorité pour le câblage |
F5AUTOMAT | varchar(60) | NULL | NULL | | Autorité pour le matériel |
F5OSSERV | varchar(60) | NULL | NULL | |
OS serveur (inutilisé car remplacé depuis la version 2 par F5LOGOSSERV) |
F5SGBD | varchar(60) | NULL | NULL | |
Système de gestion des données (inutilisé car remplacé depuis la version 2 par F5LOGSGBD) |
F5NBPOSTE | int(4) | NULL | NULL | |
Nombre de postes de travail |
F5VERWIN | varchar(20) | NULL | NULL | |
Version de Windows (inutilisé car remplacé depuis la version 2 par F5LOGWIN) |
F5VERWP | varchar(20) | NULL | NULL | |
Version de WordPerfect (inutilisé car remplacé depuis la version 2 par F5LOGTXT) |
F5NBPORRE | int(4) | NULL | NULL | |
Nombre de portables réseau |
F5NBPORNC | int(4) | NULL | NULL | |
Nombre de portables non connectés |
F5NBIMPRE | int(4) | NULL | NULL | |
Nombre d'imprimantes réseau |
F5NBIMPLO | int(4) | NULL | NULL | |
Nombre d'imprimantes locales |
F5AUTRMAT | varchar(60) | NULL | NULL | |
Autres matériels |
F5TELEM | int(1) | NULL | NULL | |
Télémaintenance (0 = Non, 1 = Oui) |
F5MODEM | varchar(20) | NULL | NULL | |
N° d'appel modem pour télémaintenance (si F5TELEM = 1 |
F5DTINMAT | datetime | NULL | NULL | |
Date d'installation initiale du matériel |
F5DTDEBIM | datetime | NULL | NULL | |
Date prévue du début d'implantation |
F5DTFINIM | datetime | NULL | NULL | |
Date prévue de fin d'implantation |
F5COMMENT | text | NULL | NULL | | Commentaire (PJ stockées dans le répertoire COMMENT) |
F5UNITINST | varchar(20) | NULL | NULL | | Unité d'installation de l'application (ex : C:) |
F5CODEESSR | varchar(8) | NULL | NULL | | Code national ESSR du site |
F5SAR | varchar(60) | NULL | NULL | |
SAR de rattachement |
F5CPR | varchar(60) | NULL | NULL | |
CPR de rattachement |
F5NOMSERV | varchar(60) | NULL | NULL | | Nom du serveur principal |
F5CA | int(11) | NULL | NULL | | |
F5TYPJUR | int(11) | NULL | NULL | | Code du type de site |
F5LOGOSSERV | int(11) | NULL | NULL | |
Code du logiciel de base 'OS Serveur' |
F5LOGSGBD | int(11) | NULL | NULL | |
Code du logiciel de base 'SGBD' |
F5LOGWIN | int(11) | NULL | NULL | |
Code de la version du logiciel de base 'Windows' |
F5LOGTXT | int(11) | NULL | NULL | |
Code de la version du logiciel de base 'WordPerfect' |
Clé secondaire:
top
Table: F51
Index:
Champs:
F51ID | int(11) | NULL | NULL | auto_increment | |
F51NOM | varchar(60) | NULL | NULL | |
Nom |
F51PRENOM | varchar(60) | NULL | NULL | |
Prénom |
F51TEL | varchar(20) | NULL | NULL | |
N° de téléphone |
F51TELMOB | varchar(20) | NULL | NULL | |
N° de téléphone portable |
F51FAX | varchar(20) | NULL | NULL | |
N° de fax |
F51MAIL | varchar(60) | NULL | NULL | |
Adresse e-mail |
F51RESPON | int(1) | NULL | NULL | |
Responsable (0 = Non, 1 = Oui) |
F51CIVIL | int(1) | NULL | NULL | |
Civilité (1 = Monsieur, 2 = Madame, 3 = Mademoiselle) |
F51POSTE | varchar(5) | NULL | NULL | |
N° de poste (téléphonique) |
F51NOMPDT | varchar(60) | NULL | NULL | |
Nom du poste de travail |
F51IPPDT | varchar(39) | NULL | NULL | |
Adresse IP du poste de travail |
F51SITE | int(11) | NULL | NULL | | Ville du site du correspondant |
F51QUALITE | int(11) | NULL | NULL | | Code de la qualité du correspondant (cf. table de référence) |
Clé secondaire:
top
Table: F6
Index:
Champs:
F6ID | int(11) | NULL | NULL | auto_increment | |
F6NUM | varchar(9) | NULL | NULL | |
Automatique (format AAAANNNNN où AAAA = année de référence de la diffusion générale et NNNNN = n° d'ordre dans l'année) |
F6DTRECEP | datetime | NULL | NULL | |
Date de réception |
F6TYPE | int(1) | NULL | NULL | |
Type de diffusion (1 : simple par envoi postal, 2 : simple par envoi d'e-mail, 3 : complexe par télémaintenance, 4 : complexe sur site |
F6DESCR | text | NULL | NULL | | Descriptif (PJ stockées dans le répertoire DESDIF) |
F6VERSAPP | int(11) | NULL | NULL | | Version de l'application |
top
Table: F61
Index:
Champs:
F61DTENV | datetime | NULL | NULL | | Date de l'envoi (si F6TYPE = 1 ou F6TYPE = 2) |
F61DTDEB | datetime | NULL | NULL | |
Date de début de l'installation (si F6TYPE = 3 ou F6TYPE = 4) |
F61DTFIN | datetime | NULL | NULL | |
Date de fin de l'installation (si F6TYPE = 3 ou F6TYPE = 4) |
F61DUREE | decimal(5,1) | NULL | NULL | |
Durée de l'installation effectuée par le technicien (si F6TYPE = 3 ou F6TYPE = 4) |
F61DTMOM | datetime | NULL | NULL | |
Date de mise en ordre de marche |
F61DTVAL | datetime | NULL | NULL | |
Date de validation de l'envoi/installation |
F61PILOTE | int(1) | NULL | NULL | |
Site pilote (0 = Non, 1 = Oui) |
F61COMMENT | text | NULL | NULL | |
Commentaire (PJ stockées dans le répertoire COMMENT) |
F61SITE | int(11) | NULL | NULL | | Ville du site |
F61VERSAPP | int(11) | NULL | NULL | | Version de l'application |
F61DIFFUS | int(11) | NULL | NULL | | N° de diffusion (envoi/installation) |
F61TECH | int(11) | NULL | NULL | | Code du technicien (si F6TYPE = 3 ou F6TYPE = 4) |
Clé secondaire:
top
Table: F7
Index:
Champs:
F7ID | int(11) | NULL | NULL | auto_increment | |
F7NUM | varchar(9) | NULL | NULL | | Automatique (format AAAANNNNN où AAAA = année de la date de demande de la fiche d'expression de besoin et NNNNN = n° d'ordre dans l'année) |
F7DATE | datetime | NULL | NULL | | Date de la demande |
F7REF | varchar(60) | NULL | NULL | | Référence |
F7DTETAT | datetime | NULL | NULL | | Date associée à l'état d'avancement (depuis le) |
F7DESCR | text | NULL | NULL | | Descriptif de la demande ( PJ stockées dans le répertoire DESCR) |
F7REPONSE | text | NULL | NULL | | Réponse de la MOA (PJ stockées dans le répertoire REPONSE) |
F7PRIO | varchar(1) | NULL | NULL | | Indicateur de priorité |
F7SITE | int(11) | NULL | NULL | |
Site à l'origine de la demande |
F7APPLI | int(11) | NULL | NULL | | Code de l'application |
F7DOMFONCT | int(11) | NULL | NULL | |
Code du domaine fonctionnel |
F7DOMMETIER | int(11) | NULL | NULL | |
Code du domaine métier |
F7ETAT | int(11) | NULL | NULL | | Code de l'état d'avancement |
F7EVOL | int(11) | NULL | NULL | | N° de la demande d'évolution (si la FEB donne lieu à une demande d'évolution) |
Clé secondaire:
top
Table: F70
Index:
Champs:
F70ID | int(11) | NULL | NULL | auto_increment | |
F70CODE | varchar(8) | NULL | NULL | |
Code du technicien |
F70NOM | varchar(60) | NULL | NULL | |
Nom |
F70PRENOM | varchar(60) | NULL | NULL | |
Prénom |
F70TEL | varchar(20) | NULL | NULL | |
N° de téléphone |
F70FAX | varchar(20) | NULL | NULL | |
N° de fax |
F70MAIL | varchar(60) | NULL | NULL | |
Adresse e-mail |
F70INACTIF | int(1) | NULL | NULL | | Inactivité (0 ou NULL = actif, 1 = Inactif) |
F70NIVSUP | int(11) | NULL | NULL | | Code du niveau de support dont relève le technicien |
F70PROFIL | int(11) | NULL | NULL | | Code du profil du technicien (fonction, expertise) |
Clé secondaire:
top
Table: F71
Index:
Champs:
F71ID | int(11) | NULL | NULL | auto_increment | |
F71CODE | varchar(8) | NULL | NULL | |
Code |
F71LIBEL | varchar(60) | NULL | NULL | |
Libellé |
top
Table: F72
Index:
Champs:
F72ID | int(11) | NULL | NULL | auto_increment | |
F72CODE | varchar(8) | NULL | NULL | |
Code |
F72LIBEL | varchar(60) | NULL | NULL | |
Libellé |
F72DIFUTIL | int(1) | NULL | NULL | |
Difficulté d'utilisation (0 ou NULL = Non, 1 = Oui) |
F72INCID | int(1) | NULL | NULL | |
Incident (0 ou NULL = Non, 1 = Oui) |
F72QUALR | varchar(5) | NULL | NULL | |
Code de la qualification correspondante du référentiel |
top
Table: F73
Index:
Champs:
F73ID | int(11) | NULL | NULL | auto_increment | |
F73CODE | varchar(8) | NULL | NULL | |
Code |
F73LIBEL | varchar(60) | NULL | NULL | |
Libellé |
top
Table: F74
Index:
Champs:
F74ID | int(11) | NULL | NULL | auto_increment | |
F74CODE | varchar(8) | NULL | NULL | |
Code |
F74LIBEL | varchar(60) | NULL | NULL | |
Libellé |
F74FIGE | int(1) | NULL | NULL | |
Figé (NULL = Non, 1 = Oui) (modifiable hors SAMS via SQL) |
F74TPSITRATT | int(11) | NULL | NULL | |
Code du type de site de rattachement |
F74APPLIPPALE | int(11) | NULL | NULL | |
Code de l'application principale |
Clé secondaire:
top
Table: F75
Index:
Champs:
F75ID | int(11) | NULL | NULL | auto_increment | |
F75CODE | varchar(8) | NULL | NULL | |
Code |
F75LIBEL | varchar(60) | NULL | NULL | |
Libellé |
top
Table: F76
Index:
Champs:
F76ID | int(11) | NULL | NULL | auto_increment | |
F76CODE | varchar(8) | NULL | NULL | |
Code |
F76LIBEL | varchar(60) | NULL | NULL | |
Libellé |
top
Table: F77
Index:
Champs:
F77ID | int(11) | NULL | NULL | auto_increment | |
F77CODE | varchar(10) | NULL | NULL | |
Code |
F77LIBEL | varchar(60) | NULL | NULL | |
Libellé |
top
Table: F78
Index:
Champs:
F78ID | int(11) | NULL | NULL | auto_increment | |
F78CODE | varchar(10) | NULL | NULL | |
Code |
F78LIBEL | varchar(30) | NULL | NULL | |
Libellé |
top
Table: F79
Index:
Champs:
F79ID | int(11) | NULL | NULL | auto_increment | |
F79CODE | varchar(10) | NULL | NULL | |
Code |
F79LIBEL | varchar(30) | NULL | NULL | |
Libellé |
top
Table: F80
Index:
Champs:
F80ID | int(11) | NULL | NULL | auto_increment | |
F80NUM | varchar(9) | NULL | NULL | |
Numéro (cadré à droite avec des espaces) (1 : Terme "Ministère", 2 : Facturation, 3 : Saisie obligatoire "Techniciens", 4 : Saisie obligatoire "Profils de technicien", 5 : Saisie obligatoire "Qualifications", 6 : Saisie obligatoire "Modes de résolution", 7 : Saisie obligatoire "Types de site", 8 : Saisie obligatoire "Qualités de correspondant", 9 : Saisie obligatoire "Types d'action préventive", 10 : Saisie obligatoire "Logiciels de base", 11 : Saisie obligatoire "Niveaux de support", 12 : Saisie obligatoire "Etats d'avancement", 13 : Saisie obligatoire "Domaines fonctionnels", 14 : Saisie obligatoire "Domaines métiers", 15 : Saisie obligatoire "Catégories de commande", 16 : Saisie obligatoire "Environnements", 17 : Saisie obligatoire "Applications (types de site)", 18 : Site administrateur, 19 : Consultation par les utilisateurs finals) |
F80NOM | varchar(60) | NULL | NULL | |
Intitulé (libellé du paramètre) |
F80VALEUR | varchar(70) | NULL | NULL | |
Si F80NUM = ' 1' : Libellé remplacement terme "Ministère". Si F80NUM = ' 2' à '17' et '19' : 0 = Non, 1 = Oui. Si F80NUM = '18' : type, ville et n° ordre du site administrateur |
top
Table: F81
Index:
Champs:
F81ID | int(11) | NULL | NULL | auto_increment | |
F81CODE | varchar(10) | NULL | NULL | |
Code |
F81LIBEL | varchar(60) | NULL | NULL | |
Libellé |
F81DECOUPAGE | int(1) | NULL | NULL | | Découpage (1 = Support, 2 = Maintenance, 3 = Support et maintenance) |
top
Table: F82
Index:
Champs:
F82ID | int(11) | NULL | NULL | auto_increment | |
F82CODE | varchar(10) | NULL | NULL | |
Code |
F82LIBEL | varchar(60) | NULL | NULL | |
Libellé |
top
Table: F83
Index:
Champs:
F83ID | int(11) | NULL | NULL | auto_increment | |
F83CODE | varchar(10) | NULL | NULL | |
Code |
F83LIBEL | varchar(60) | NULL | NULL | |
Libellé |
top
Table: F84
Index:
Champs:
F84ID | int(11) | NULL | NULL | auto_increment | |
F84CODE | varchar(10) | NULL | NULL | |
Code |
F84LIBEL | varchar(60) | NULL | NULL | |
Libellé |
top
Table: F85
Index:
Champs:
F85ID | int(11) | NULL | NULL | auto_increment | |
F85CODE | varchar(5) | NULL | NULL | |
Code |
F85LIBEL | varchar(80) | NULL | NULL | |
Libellé |
top
Table: MENUS
Index:
Champs:
ID_MENU | int(10) unsigned |
NULL |
NULL |
| |
ROOTNODE | int(10) unsigned | |
'0' |
|
Racine (niveau 0 du menu) |
IDX | int(10) unsigned | |
'0' |
|
Sous-menu (niveau 1 du menu) |
LIBELLE | varchar(80) | |
'' |
|
Libellé |
LIEN | varchar(250) | |
'' |
|
Lien |
top
Table: TAILLELISTE
Index:
Champs:
ID | int(11) | NULL | NULL | auto_increment | |
IDUTILISATEUR | int(11) | NULL | NULL | |
Code de l'utilisateur |
ALIAS | varchar(60) | NULL | NULL | |
Adresse de la liste dans l'application |
PREMIERE | int(6) | NULL | NULL | |
Première valeur |
DEUXIEME | int(6) | NULL | NULL | |
Seconde valeur |
TROISIEME | int(6) | NULL | NULL | |
Troisième valeur |
SELECTION | int(6) | NULL | NULL | |
Sélection par défaut (parmi les trois valeurs ci-dessus) |
top
Procédures stockées
-- ----------------------------------------------------------------------
-- SQL stored routines script generated by the PBO, SodiFrance.
-- ----------------------------------------------------------------------
-- Modified by PBO for v1 reliability
-- -------------------------------------------------------------------
-- Migration de procédure stockée.
-- OK_Accessite
-- version 1.0 par PBO.
-- -------------------------------------------------------------------
DELIMITER $$
-- Destruction de la version précédente
DROP FUNCTION IF EXISTS `ok_accessite` $$
-- Définition de la fonction
CREATE FUNCTION `ok_accessite` (siteUtil INTEGER(11), site INTEGER(11)) RETURNS INT
BEGIN
DECLARE ret INT DEFAULT 0 ;
DECLARE rec INT(11) DEFAULT NULL ;
DECLARE rat INT(11) DEFAULT NULL ;
-- Si l'utilisateur est sur le site recherché, alors c'est bon
IF siteUtil = site THEN
SET ret = 1 ;
-- Sinon, nous recherchons dans la hiérarchie des sites celui de l'utlisateur
ELSE
BEGIN
SET rec = site ;
WHILE ret = 0 AND rat IS NOT NULL DO
-- Recherche du site associé
SELECT F5CA INTO rat FROM F5 WHERE F5ID = rec ;
IF rat = siteUtil THEN
SET ret = 1 ;
END IF ;
SET rec = rat ;
END WHILE ;
END ;
END IF ;
RETURN ret ;
END $$
DELIMITER ;
-- -------------------------------------------------------------------
-- Migration de procédure stockée.
-- Maj_descr_solution_f1
-- version 1.0 par PBO.
-- -------------------------------------------------------------------
DELIMITER $$
-- Suppression de l'ancienne version
DROP PROCEDURE IF EXISTS `maj_descr_solution_f1` $$
-- Définition de la procédure
CREATE PROCEDURE `maj_descr_solution_f1` (dossier INT(11))
BEGIN
DECLARE libelle1 TEXT ;
DECLARE libelle2 TEXT ;
DECLARE libelle3 TEXT ;
DECLARE rTxt TEXT ;
DECLARE rNom VARCHAR(130) ;
DECLARE rTyp INT ;
DECLARE rDat VARCHAR(10) ;
DECLARE done INT(1) DEFAULT 0 ;
DECLARE motif_appels CURSOR FOR SELECT F11TYPE,
CONCAT_WS(' ',ELT(F51CIVIL,'M.','Mme','Mlle'),F51NOM,F51PRENOM) AS NOM,
DATE_FORMAT(F11DATE,'%d/%m/%Y') AS DTAPL,
F11MOTIF
FROM F11 RIGHT JOIN F51 ON (F51ID = F11CORRESP AND F11DOS = dossier)
ORDER BY F11DATE ;
DECLARE reponse_appels CURSOR FOR SELECT F11TYPE,
CONCAT_WS(' ',F70NOM, F70PRENOM) AS NOM,
DATE_FORMAT(F11DATE,'%d/%m/%Y') as DTAPL,
F11REPONSE
FROM F11 RIGHT JOIN F70 ON (F70ID = F11TECH AND F11DOS = dossier)
ORDER BY F11DATE ;
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1 ;
-- Nettoyage des informations du dossier
UPDATE F1 SET F1DESCR = '', F1SOLUTION = '' WHERE F1ID = dossier ;
-- Mise à jour de la description du dossier
OPEN motif_appels ;
FETCH motif_appels INTO rTyp, rNom, rDat, rTxt ;
WHILE done = 0 DO
IF TRIM(rNom) IS NULL OR TRIM(rNom) = '' THEN
SET libelle2 = CONCAT('?, le ',rDat,' : ') ;
ELSE
SET libelle2 = CONCAT(rNom,', le ',rDat,' : ') ;
END IF ;
IF TRIM(rTxt) IS NULL OR TRIM(rTxt) = '' THEN
SET libelle3 = CONCAT('absence de motif.',CHR(10),CHR(10)) ;
ELSE
SET libelle3 = CONCAT(rTxt,CHR(10),CHR(10)) ;
END IF ;
SET libelle1 = CONCAT(libelle2,libelle3) ;
IF rTyp = 1 THEN
UPDATE F1 SET F1DESCR = libelle1 WHERE F1ID = dossier ;
ELSE
UPDATE F1 SET F1DESCR = CONCAT(F1DESCR,' ',libelle1) WHERE F1ID = dossier ;
END IF ;
FETCH motif_appels INTO rTyp, rNom, rDat, rTxt ;
END WHILE ;
CLOSE motif_appels ;
SET done = 0 ;
-- Mise à jour de la solution du dossier
OPEN reponse_appels ;
FETCH reponse_appels INTO rTyp, rNom, rDat, rTxt ;
WHILE done = 0 DO
IF TRIM(rNom) IS NULL OR TRIM(rNom) = '' THEN
SET libelle2 = CONCAT('?, le ',rDat,' : ') ;
ELSE
SET libelle2 = CONCAT(rNom,', le ',rDat,' : ') ;
END IF ;
IF TRIM(rTxt) IS NULL OR TRIM(rTxt) = '' THEN
SET libelle3 = CONCAT('absence de réponse.',CHR(10),CHR(10)) ;
ELSE
SET libelle3 = CONCAT(rTxt,CHR(10),CHR(10)) ;
END IF ;
SET libelle1 = CONCAT(libelle2,libelle3) ;
IF rTyp = 1 THEN
UPDATE F1 SET F1SOLUTION = libelle1 WHERE F1ID = dossier ;
ELSE
UPDATE F1 SET F1SOLUTION = CONCAT(F1SOLUTION,' ',libelle1) WHERE F1ID = dossier ;
END IF ;
FETCH reponse_appels INTO rTyp, rNom, rDat, rTxt ;
END WHILE ;
CLOSE reponse_appels ;
END $$
DELIMITER ;
-- -------------------------------------------------------------------
-- Migration de procédure stockée.
-- analysetxapl
-- version 1.0 par PBO.
-- -------------------------------------------------------------------
DELIMITER $$
DROP PROCEDURE IF EXISTS `analysetxapl` $$
CREATE PROCEDURE `analysetxapl`(util INT(11), moisDeb INT(2), moisFin INT(2), anDeb INT(4), anFin INT(4), appli INT(11))
BEGIN
-- Création de la table de reception des données FTX
creationTX: BEGIN
DECLARE lookupExists INT(1) DEFAULT 1 ;
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET lookupExists = 0 ;
SET @lookupTable = CONCAT('SELECT * FROM ftx',util) ;
PREPARE goLookup FROM @lookupTable ;
EXECUTE goLookup ;
DEALLOCATE PREPARE goLookup ;
IF lookupExists = 0 THEN
SET @createTable = CONCAT('CREATE TABLE ftx',util,' (ftxannee INTEGER(4) NOT NULL, ftxmois INTEGER(2) NOT NULL, ftxnbdos INTEGER(5), ftxnbapl INTEGER(5), ftxnbpostes INTEGER(6), ftxprcaplut INTEGER(6), ftxprcaplin INTEGER(6), ftxtxaplm DECIMAL(5,3), ftxtxapla DECIMAL(5,3), ftxtxapla_1 DECIMAL(5,3), CONSTRAINT ftx',util,'_PK PRIMARY KEY (ftxannee,ftxmois))') ;
PREPARE goCreateTable FROM @createTable ;
EXECUTE goCreateTable ;
DEALLOCATE PREPARE goCreateTable ;
ELSE
SET @truncateTable = CONCAT('TRUNCATE TABLE ftx',util) ;
PREPARE goTruncateTable FROM @truncateTable ;
EXECUTE goTruncateTable ;
DEALLOCATE PREPARE goTruncateTable ;
END IF ;
END creationTX ;
-- Création de la table de reception des données FTXDF
creationDF: BEGIN
DECLARE lookupExists INT(1) DEFAULT 1 ;
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET lookupExists = 0 ;
SET @lookupTable = CONCAT('SELECT * FROM ftxdf',util) ;
PREPARE goLookup FROM @lookupTable ;
EXECUTE goLookup ;
DEALLOCATE PREPARE goLookup ;
IF lookupExists = 0 THEN
SET @createTable = CONCAT('CREATE TABLE ftxdf',util,' (ftxdfannee INTEGER(4) NOT NULL, ftxdfmois INTEGER(2) NOT NULL, ftxdfcode INTEGER(11) NOT NULL, ftxdfnbapl INTEGER(5), CONSTRAINT ftxdf',util,'_PK PRIMARY KEY (ftxdfannee,ftxdfmois,ftxdfcode))') ;
PREPARE goCreateTable FROM @createTable ;
EXECUTE goCreateTable ;
DEALLOCATE PREPARE goCreateTable ;
ELSE
SET @truncateTable = CONCAT('TRUNCATE TABLE ftxdf',util) ;
PREPARE goTruncateTable FROM @truncateTable ;
EXECUTE goTruncateTable ;
DEALLOCATE PREPARE goTruncateTable ;
END IF ;
END creationDF ;
-- Chargement de la période d'analyse dans la table
loading: BEGIN
DECLARE alreadyLoaded INT(1) DEFAULT 0 ;
DECLARE dateDebut DATETIME ;
DECLARE dateFin DATETIME ;
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET alreadyLoaded = 1 ;
-- Date de début du traitement
SET dateDebut = CONCAT(anDeb,'-',moisDeb,'-01 00:00:00') ;
-- Soustraction de 12 mois ! Voir code initial. Pas de commentaire.
SET dateDebut = DATE_ADD(dateDebut,INTERVAL -12 MONTH) ;
-- Date de fin du traitement
SET dateFin = LAST_DAY(CONCAT(anFin,'-',moisFin,'-01 23:59:00')) ;
SET @tableName = CONCAT('ftx',util) ;
SET @loader = CONCAT('INSERT INTO ',@tableName,' (ftxannee, ftxmois) VALUES (?,?)') ;
PREPARE goLoading FROM @loader ;
inserting_dates: LOOP
IF dateDebut > dateFin THEN
LEAVE inserting_dates ;
END IF ;
SET @anCourant = DATE_FORMAT(dateDebut,'%Y') ;
SET @moisCourant = DATE_FORMAT(dateDebut,'%m') ;
EXECUTE goLoading USING @anCourant,@moisCourant ;
SET dateDebut = DATE_ADD(dateDebut,INTERVAL 1 MONTH) ;
END LOOP inserting_dates ;
DEALLOCATE PREPARE goLoading ;
END loading ;
first_part: BEGIN
DECLARE dateDebut DATETIME ;
DECLARE dateFin DATETIME ;
-- Variables extraites du curseur
DECLARE rSite INT(11) ;
DECLARE rMois INT(2) ;
DECLARE rAn INT(4) ;
DECLARE rDos INT(11) ;
DECLARE rDif INT(1) ;
DECLARE rInc1 INT(1) ;
DECLARE rDom INT(11) ;
DECLARE rFin DATETIME ;
DECLARE rInc2 INT(1) ;
DECLARE rDat DATETIME ;
-- Booléen de fin de parcours des dossiers
DECLARE parseEnd INT(1) DEFAULT 0 ;
DECLARE no_row INT(1) DEFAULT 0 ;
-- Variables de travail
DECLARE nbAppels INT(6) DEFAULT 0 ;
DECLARE debutPeriode DATETIME ;
DECLARE finPeriode DATETIME ;
DECLARE debut DATETIME ;
DECLARE fin DATETIME ;
-- Curseur de travail des dossiers à traiter.
DECLARE dossiers CURSOR FOR SELECT F1SITE,
DATE_FORMAT(F1DATE,'%m') moisDeb,
DATE_FORMAT(F1DATE,'%Y') anneeDeb,
F1ID,
F72DIFUTIL,
F1INCID,
F1DOMFONCT,
F1DTFIN,
F72INCID,
F1DATE
FROM F72 RIGHT JOIN
F1 RIGHT JOIN F41
ON ((F41ID = F1VERSAPP AND F41APPLI = appli) OR F1VERSAPP IS NULL)
ON (F1QUALIF = F72ID)
WHERE F1DATE <= dateFin
AND (F1DTFIN >= dateDebut OR F1DTFIN IS NULL)
ORDER BY F1DATE,F1SITE ;
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET parseEnd = 1 ;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET no_row = 1 ;
-- Préparation des requête de mise à jour des tables
SET @store_call = CONCAT("UPDATE ftx",util," SET ftxnbapl = IFNULL(ftxnbapl,0)+? WHERE ftxannee = ? AND ftxmois = ?") ;
SET @store_case = CONCAT("UPDATE ftx",util," SET ftxnbdos = IFNULL(ftxnbdos,0)+1 WHERE ftxannee = ? AND ftxmois = ?") ;
SET @store_in = CONCAT("UPDATE ftx",util," SET ftxprcaplin = IFNULL(ftxprcaplin,0)+? WHERE ftxannee = ? AND ftxmois = ?") ;
SET @store_out = CONCAT("UPDATE ftx",util," SET ftxprcaplut = IFNULL(ftxprcaplut,0)+? WHERE ftxannee = ? AND ftxmois = ?") ;
SET @store_dfcall_sl = CONCAT("SELECT IFNULL(COUNT(*),0) INTO @existe_ftx from ftxdf",util," WHERE ftxdfannee = ? AND ftxdfmois = ? AND ftxdfcode = ?") ;
SET @store_dfcall_up = CONCAT("UPDATE ftxdf",util," SET ftxdfnbapl = IFNULL(ftxdfnbapl,0)+? WHERE ftxdfannee = ? AND ftxdfmois = ? AND ftxdfcode = ?") ;
SET @store_dfcall_in = CONCAT("INSERT INTO ftxdf",util," (ftxdfannee,ftxdfmois,ftxdfnbapl,ftxdfcode) VALUES(?,?,?,?)") ;
PREPARE goStoreCall FROM @store_call ;
PREPARE goStoreCase FROM @store_case ;
PREPARE goStoreIn FROM @store_in ;
PREPARE goStoreOut FROM @store_out ;
PREPARE goStoreDfCallSl FROM @store_dfcall_sl ;
PREPARE goStoreDfCallUp FROM @store_dfcall_up ;
PREPARE goStoreDfCallIn FROM @store_dfcall_in ;
SET dateDebut = CONCAT(anDeb,'-',moisDeb,'-01 00:00:00') ;
-- Soustraction de 12 mois ! Voir code initial. Pas de commentaire.
SET dateDebut = DATE_ADD(dateDebut,INTERVAL -12 MONTH) ;
-- Date de fin du traitement
SET dateFin = LAST_DAY(CONCAT(anFin,'-',moisFin,'-01 23:59:00')) ;
-- Début du parcours des dossiers
OPEN dossiers ;
-- Premier dossier
FETCH dossiers INTO rSite, rMois, rAn, rDos, rDif, rInc1, rDom, rFin, rInc2, rDat ;
boucle: WHILE parseEnd = 0 DO
SET nbAppels = 0 ;
SET debutPeriode = CONCAT(rAn,'-',rMois,'-01 00:00:00') ;
IF debutPeriode < dateDebut THEN
SET debutPeriode = dateDebut ;
END IF ;
IF rFin IS NULL THEN
SET finPeriode = dateFin ;
ELSE
SET finPeriode = LAST_DAY(CONCAT(DATE_FORMAT(rFin,'%Y-%m'),'-01 23:59:59')) ;
END IF ;
IF finPeriode > dateFin THEN
SET finPeriode = dateFin ;
END IF ;
SET debut = debutPeriode ;
SET fin = LAST_DAY(CONCAT(DATE_FORMAT(debut,'%Y-%m'),'-01 23:59:59')) ;
working: LOOP
IF debut > finPeriode THEN
LEAVE working ;
END IF ;
SET @currentM = DATE_FORMAT(debut,'%m') ;
SET @currentY = DATE_FORMAT(debut,'%Y') ;
IF rDat BETWEEN debut AND fin THEN
EXECUTE goStoreCase USING @currentY, @currentM ;
END IF ;
SELECT count(*) INTO nbAppels FROM F11 WHERE F11DOS = rDos AND F11DATE BETWEEN debut AND fin ;
SET @callCount = nbAppels ;
IF nbAppels > 0 THEN
EXECUTE goStoreCall USING @callCount, @currentY, @currentM ;
IF rDif = 1 THEN
EXECUTE goStoreOut USING @callCount, @currentY, @currentM ;
END IF ;
IF rInc1 = 1 THEN
EXECUTE goStoreIn USING @callCount, @currentY, @currentM ;
END IF ;
IF rDom IS NOT NULL THEN
SET @domId = rDom ;
SET @existe_ftx = 0 ;
EXECUTE goStoreDfCallSl USING @currentY, @currentM, @domId ;
IF @existe_ftx = 0 THEN
EXECUTE goStoreDfCallIn USING @currentY, @currentM, @callCount, @domId ;
ELSE
EXECUTE goStoreDfCallUp USING @callCount, @currentY, @currentM, @domId ;
END IF;
END IF;
END IF;
SET debut = DATE_ADD(debut,INTERVAL 1 MONTH) ;
SET fin = LAST_DAY(CONCAT(DATE_FORMAT(debut,'%Y-%m'),'-01 23:59:59')) ;
END LOOP working ;
-- Dossier suivant
FETCH dossiers INTO rSite, rMois, rAn, rDos, rDif, rInc1, rDom, rFin, rInc2, rDat ;
END WHILE boucle ;
CLOSE dossiers ;
DEALLOCATE PREPARE goStoreCall ;
DEALLOCATE PREPARE goStoreCase ;
DEALLOCATE PREPARE goStoreIn ;
DEALLOCATE PREPARE goStoreOut ;
DEALLOCATE PREPARE goStoreDfCallSl ;
DEALLOCATE PREPARE goStoreDfCallUp ;
DEALLOCATE PREPARE goStoreDfCallIn ;
END first_part ;
second_part: BEGIN
-- DECLARE nbAppels INT(6) ;
-- DECLARE nbAplsUt INT(6) ;
-- DECLARE nbAplsIn INT(6) ;
-- DECLARE nbPostes INT(6) ;
-- DECLARE currentM INT(2) ;
-- DECLARE currentY INT(4) ;
-- DECLARE txAnnuel DECIMAL(5,3) ;
DECLARE finMois DATETIME ;
DECLARE norow INT(1) DEFAULT 0 ;
DECLARE notFound INT(1) DEFAULT 0 ;
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET norow = 1 ;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET notFound = 1 ;
SET @nbAppels = 0 ;
SET @nbAplsUt = 0 ;
SET @nbAplsIn = 0 ;
SET @nbPostes = 0 ;
SET @currentM = 0 ;
SET @currentY = 0 ;
SET @txAnnuel = 0 ;
SET @txAplA_1 = 0 ;
-- Requête simili curseur dynamique
SET @tauxReq = CONCAT("SELECT IFNULL(FTXNBAPL,0), IFNULL(FTXPRCAPLUT,0), IFNULL(FTXPRCAPLIN,0), IFNULL(FTXNBPOSTES,0), FTXMOIS, FTXANNEE INTO @nbAppels, @nbAplsUt, @nbAplsIn, @nbPostes, @currentM, @currentY FROM FTX",util," LIMIT ?,1") ;
SET @storePostes = CONCAT("UPDATE FTX",util," SET FTXNBPOSTES = IFNULL(FTXNBPOSTES,0)+? WHERE FTXANNEE = ? AND FTXMOIS = ?") ;
SET @storeAplUtIn = CONCAT("UPDATE FTX",util," SET FTXPRCAPLUT = ?, FTXPRCAPLIN = ? WHERE FTXANNEE = ? AND FTXMOIS = ?") ;
SET @storeTxAplM = CONCAT("UPDATE FTX",util," SET FTXTXAPLM = ? WHERE FTXANNEE = ? AND FTXMOIS = ?") ;
SET @storeTxAplA = CONCAT("UPDATE FTX",util," SET FTXTXAPLA = ? WHERE FTXANNEE = ? AND FTXMOIS = ?") ;
SET @tauxAnnuel = CONCAT("SELECT IFNULL(SUM(IFNULL(FTXTXAPLM,0)),0) INTO @txAnnuel FROM FTX",util," WHERE STR_TO_DATE(CONCAT(FTXANNEE,'-',FTXMOIS,'-01'),'%Y-%m-%d') between ? AND ? ORDER BY FTXANNEE, FTXMOIS");
SET @storeTxAnnuel = CONCAT("UPDATE FTX",util," SET FTXTXAPLA_1 = ? WHERE FTXANNEE = ? AND FTXMOIS = ?") ;
PREPARE goTaux FROM @tauxReq ;
PREPARE goPostes FROM @storePostes ;
PREPARE goAplUtIn FROM @storeAplUtIn ;
PREPARE goTxAplM FROM @storeTxAplM ;
PREPARE goTxAplA FROM @storeTxAplA ;
PREPARE goTxAnnuel FROM @tauxAnnuel ;
PREPARE goStoreTx FROM @storeTxAnnuel ;
-- Requête sur le premier enregistrement
SET @idxLigne = 1 ;
SET @txAplA = 0 ;
EXECUTE goTaux USING @idxLigne ;
travail: WHILE norow = 0 DO
SET @txAplM = 0 ;
SET finMois = LAST_DAY(CONCAT(@currentY,'-',@currentM,'-01 23:59:59')) ;
SET notFound = 0 ;
SET @nbPostes = 0 ;
SELECT IFNULL(SUM(IFNULL(F5NBPOSTE,0))+SUM(IFNULL(F5NBPORRE,0))+SUM(IFNULL(F5NBPORNC,0)),0)
INTO @nbPostes
FROM F5
WHERE F5DTFINIM <= finMois
AND F5ID IN (
SELECT DISTINCT(F61SITE)
FROM F61 INNER JOIN F41
ON ((F41ID=F61VERSAPP AND F41APPLI = appli)
OR F61VERSAPP IS NULL)
WHERE F61DTENV <= finMois) ;
IF notFound = 1 THEN
SET notFound = 0 ;
SET @nbPostes = 0 ;
END IF ;
IF @nbPostes > 0 THEN
EXECUTE goPostes USING @nbPostes, @currentY, @currentM ;
END IF;
IF @nbAppels > 0 THEN
SET @prcAplUt = ROUND((@nbAplsUt/@nbAppels)*100,0) ;
SET @prcAplIn = ROUND((@nbAplsIn/@nbAppels)*100,0) ;
EXECUTE goAplUtIn USING @prcAplUt, @prcAplIn, @currentY, @currentM ;
IF @nbPostes > 0 THEN
SET @txAplM = ROUND((@nbAppels/@nbPostes),3) ;
EXECUTE goTxAplM USING @txAplM, @currentY, @currentM ;
-- SET @nbPostes = 0 ;
END IF ;
END IF ;
IF @currentM <> 12 THEN
SET @txAplA = @txAplA + IFNULL(@txAplM,0) ;
SET @txAplM = 0;
ELSE
EXECUTE goTxAplA USING @txAplA, @currentY, @currentM ;
SET @txAplA = 0 ;
END IF ;
IF STR_TO_DATE(CONCAT(@currentY,'-',@currentM,'-01'),'%Y-%m-%d') >= STR_TO_DATE(CONCAT(anDeb,'-',moisDeb,'-01'),'%Y-%m-%d') THEN
SET @moisPrec = DATE_FORMAT(DATE_ADD(CONCAT(@currentY,'-',@currentM,'-01 00:00:00'),INTERVAL -12 MONTH),'%m') ;
SET @anPrec = DATE_FORMAT(DATE_ADD(CONCAT(@currentY,'-',@currentM,'-01 00:00:00'),INTERVAL -12 MONTH),'%Y') ;
SET @interval12mois = STR_TO_DATE(CONCAT(@anPrec,'-',@moisPrec,'-01'),'%Y-%m-%d');
SET @intervalCurrent = STR_TO_DATE(CONCAT(@currentY,'-',@currentM,'-01'),'%Y-%m-%d');
EXECUTE goTxAnnuel USING @interval12mois,@intervalCurrent ;
IF @txAnnuel IS NOT NULL THEN
SET @txAplA_1 = @txAnnuel ;
END IF;
EXECUTE goStoreTx USING @txAplA_1, @currentY, @currentM ;
SET @txAplA_1 = 0 ;
END IF ;
SET @idxLigne = @idxLigne+1 ;
EXECUTE goTaux USING @idxLigne ;
END WHILE travail ;
DEALLOCATE PREPARE goTaux ;
DEALLOCATE PREPARE goPostes ;
DEALLOCATE PREPARE goAplUtIn ;
DEALLOCATE PREPARE goTxAplM ;
DEALLOCATE PREPARE goTxAplA ;
DEALLOCATE PREPARE goTxAnnuel ;
DEALLOCATE PREPARE goStoreTx ;
END second_part ;
END $$
DELIMITER ;
-- -------------------------------------------------------------------
-- Migration de procédure stockée.
-- donne_dtMom
-- version 1.0 par PBO.
-- -------------------------------------------------------------------
-- Destruction de la version précédente
DELIMITER $$
DROP FUNCTION IF EXISTS `donne_dtmom` $$
CREATE FUNCTION `donne_dtmom`(appli INT(11), site INT(11)) RETURNS varchar(10)
p1: BEGIN
DECLARE final VARCHAR(10) ;
DECLARE dordre DATE ;
SELECT IFNULL(F61.F61DTENV,F61.F61DTDEB) DATEORDER,
DATE_FORMAT(F61.F61DTMOM,'%d/%m/%Y') dtMOM INTO dordre, final
FROM F61 INNER JOIN F41
ON (F61.F61VERSAPP = F41.F41ID AND F41.F41APPLI = appli)
WHERE F61.F61SITE = site
ORDER BY dtMOM DESC LIMIT 1 ;
RETURN final ;
END p1 $$
DELIMITER ;
-- -------------------------------------------------------------------
-- Migration de procédure stockée.
-- donne_dtVal
-- version 1.0 par PBO.
-- -------------------------------------------------------------------
-- Destruction de la version précédente
DELIMITER $$
DROP FUNCTION IF EXISTS `donne_dtval` $$
CREATE FUNCTION `donne_dtval`(appli INT(11), site INT(11)) RETURNS varchar(10)
p1: BEGIN
DECLARE final VARCHAR(10) ;
DECLARE dordre DATE ;
SELECT IFNULL(F61.F61DTENV,F61.F61DTDEB) DATEORDER,
DATE_FORMAT(F61.F61DTVAL,'%d/%m/%Y') dtVAL INTO dordre, final
FROM F61 INNER JOIN F41
ON (F61.F61VERSAPP = F41.F41ID AND F41.F41APPLI = appli)
WHERE F61.F61SITE = site
ORDER BY dtVAL DESC LIMIT 1 ;
RETURN final ;
END p1 $$
DELIMITER ;
-- -------------------------------------------------------------------
-- Migration de procdure stocke.
-- version
-- version 1.0 par ABE.
-- -------------------------------------------------------------------
-- Destruction de la version prcdente
DROP FUNCTION IF EXISTS donne_version ;
-- Dfinition de la procdure
DELIMITER //
CREATE FUNCTION donne_version (appli INT(11), site INT(11)) RETURNS VARCHAR(20)
LANGUAGE SQL
p1: BEGIN
DECLARE result VARCHAR(20) ;
SELECT MAX(F41.F41CODE) INTO result
FROM F61 INNER JOIN F41
ON (F61.F61VERSAPP = F41.F41ID AND F41.F41APPLI = appli)
WHERE F61.F61SITE = site ;
RETURN result ;
END p1 ;
//
DELIMITER ;
-- -------------------------------------------------------------------
-- Migration de fonction stockee.
-- version
-- version 1.0 par ABE.
-- -------------------------------------------------------------------
-- Destruction de la version precedente
DROP FUNCTION IF EXISTS donne_ecartDate ;
-- Definition de la fonction
DELIMITER $$
CREATE FUNCTION donne_ecartDate (d1 DATETIME,d2 DATETIME) RETURNS DECIMAL(8,2)
LANGUAGE SQL
BEGIN
DECLARE delta DECIMAL(8,2) ;
SELECT (
(DATEDIFF(d1,d2)*1440)+
(MINUTE(d1)-MINUTE(d2))+
((HOUR(d1)-HOUR(d2))*60)
)/60 into delta ;
return delta ;
END ;
$$
DELIMITER ;