1 | # Nom fichier : RequeteODBCwheredate (classe) |
---|
2 | # Projet : controle migrateur / traitement |
---|
3 | # Organisme : IAV |
---|
4 | # Auteur : Cedric Briand |
---|
5 | # Contact : cedric.briand@lavilaine.com |
---|
6 | # Date de creation : 10/01/2009 22:49:33 |
---|
7 | # Compatibilite : R 2.7.0 |
---|
8 | # Etat : OK |
---|
9 | # Description Classe de connexion à la base de donnee, envoie une requete sql avec une clause where concernant une date |
---|
10 | # avec une commande overlaps |
---|
11 | # Utilisee par la classe BilanFonctionnementDC |
---|
12 | #********************************************************************** |
---|
13 | |
---|
14 | #' @title RequeteODBCwhere class |
---|
15 | #' @note Inherits from RequeteODBCwhere and uses its connect method with a new SetAs |
---|
16 | #' @slot datedebut="POSIXlt" |
---|
17 | #' @slot datefin="POSIXlt" |
---|
18 | #' @slot colonnedebut="character" # name of the column containing datedebut |
---|
19 | #' @slot colonnefin="character" # name of the column containing datefin |
---|
20 | #' @slot select="character" (inherited from ConnexionODBCwhere) |
---|
21 | #' @slot where="character" (inherited from ConnexionODBCwhere) |
---|
22 | #' @slot and="vector" (inherited from ConnexionODBCwhere) |
---|
23 | #' @slot order_by="character" (inherited from ConnexionODBCwhere) |
---|
24 | #' @slot baseODBC="vector" (inherited from ConnexionODBC) |
---|
25 | #' @slot silent="logical" (inherited from ConnexionODBC) |
---|
26 | #' @slot etat="character" (inherited from ConnexionODBC) |
---|
27 | #' @slot connexion="ANY" (inherited from ConnexionODBC) |
---|
28 | #' @slot sql="character" (inherited from RequeteODBC) |
---|
29 | #' @slot query="data.frame" (inherited from RequeteODBC) |
---|
30 | #' @slot open="logical" (inherited from RequeteODBC) |
---|
31 | #' @example objet=new("RequeteODBCwhere") |
---|
32 | #' @exportClass |
---|
33 | setClass(Class="RequeteODBCwheredate", |
---|
34 | representation= representation(datedebut="POSIXlt",datefin="POSIXlt",colonnedebut="character",colonnefin="character"), |
---|
35 | prototype = list(silent=TRUE,open=FALSE),contains="RequeteODBCwhere") |
---|
36 | |
---|
37 | #' transformation method from RequeteODBCwheredate to RequeteODBC |
---|
38 | #' @returnType S4 object |
---|
39 | #' @return An object of class RequeteODBC |
---|
40 | setAs("RequeteODBCwheredate","RequeteODBCwhere",function(from,to){ |
---|
41 | requeteODBCwhere=new("RequeteODBCwhere") |
---|
42 | requeteODBCwhere@where=paste("WHERE (",from@colonnedebut, |
---|
43 | ", ",from@colonnefin, |
---|
44 | ") overlaps (DATE '", |
---|
45 | from@datedebut,"',DATE '", |
---|
46 | from@datefin,"') ") |
---|
47 | requeteODBCwhere@and=paste(from@and,sep=" ") # concatenation du vecteur |
---|
48 | requeteODBCwhere@select=from@select |
---|
49 | requeteODBCwhere@order_by=from@order_by |
---|
50 | requeteODBCwhere@baseODBC=from@baseODBC |
---|
51 | requeteODBCwhere@silent=from@silent |
---|
52 | # other slots will be filled in by connect |
---|
53 | return(requeteODBCwhere) |
---|
54 | }) |
---|
55 | #' connect method loads a request to the database and returns either an error or a data.frame |
---|
56 | #' @note method modified from v0.2.1240 to use the connect method of the mother class which in turn will use the method of the mother class |
---|
57 | #' @returnType S4 object |
---|
58 | #' @return An object of class RequeteODBCwheredate |
---|
59 | #' @author Cedric Briand \email{cedric.briand@@lavilaine.com} |
---|
60 | #' @exportMethod |
---|
61 | #' @example |
---|
62 | #' objet<-new("RequeteODBCwheredate") |
---|
63 | #' objet@baseODBC<-baseODBC |
---|
64 | #' objet@select<- "select * from t_operation_ope" |
---|
65 | #' objet@datedebut=strptime("1996-01-01 00:00:00",format="%Y-%m-%d %H:%M:%S") |
---|
66 | #' objet@datefin=strptime("2000-01-01 00:00:00",format="%Y-%m-%d %H:%M:%S") |
---|
67 | #' objet@colonnedebut="ope_date_debut" |
---|
68 | #' objet@colonnefin="ope_date_fin" |
---|
69 | #' objet@and<-c("AND ope_dic_identifiant=1","AND ope_dic_identifiant=2") |
---|
70 | #' objet@order_by<-"ORDER BY ope_identifiant" |
---|
71 | #' objet@silent=FALSE |
---|
72 | #' objet<-connect(objet) |
---|
73 | setMethod("connect",signature=signature("RequeteODBCwheredate"),definition=function(objet) { |
---|
74 | requeteODBCwhere=as(objet,"RequeteODBCwhere") |
---|
75 | requeteODBCwhere=connect(requeteODBCwhere) # utilise la méthode de la classe mère |
---|
76 | # récupère au sein de l'objet les éléments de requeteODBC |
---|
77 | objet@where=requeteODBCwhere@where |
---|
78 | objet@connexion=requeteODBCwhere@connexion |
---|
79 | objet@query=requeteODBCwhere@query |
---|
80 | objet@etat=requeteODBCwhere@etat |
---|
81 | objet@sql=requeteODBCwhere@sql |
---|
82 | return(objet) |
---|
83 | }) |
---|
84 | |
---|