OpenConcerto

Dépôt officiel du code source de l'ERP OpenConcerto
sonarqube

svn://code.openconcerto.org/openconcerto

Rev

Rev 151 | Rev 174 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 151 Rev 156
Line 13... Line 13...
13
 
13
 
14
 package org.openconcerto.erp.config;
14
 package org.openconcerto.erp.config;
15
 
15
 
16
import static java.util.Arrays.asList;
16
import static java.util.Arrays.asList;
17
 
17
 
18
import org.openconcerto.erp.core.common.component.SocieteCommonSQLElement;
-
 
19
import org.openconcerto.erp.core.common.element.AdresseCommonSQLElement;
18
import org.openconcerto.erp.core.common.element.AdresseCommonSQLElement;
20
import org.openconcerto.erp.core.common.element.AdresseSQLElement;
19
import org.openconcerto.erp.core.common.element.AdresseSQLElement;
21
import org.openconcerto.erp.core.common.element.BanqueSQLElement;
20
import org.openconcerto.erp.core.common.element.BanqueSQLElement;
22
import org.openconcerto.erp.core.common.element.DepartementSQLElement;
21
import org.openconcerto.erp.core.common.element.DepartementSQLElement;
23
import org.openconcerto.erp.core.common.element.LangueSQLElement;
22
import org.openconcerto.erp.core.common.element.LangueSQLElement;
24
import org.openconcerto.erp.core.common.element.MoisSQLElement;
23
import org.openconcerto.erp.core.common.element.MoisSQLElement;
25
import org.openconcerto.erp.core.common.element.NumerotationAutoSQLElement;
24
import org.openconcerto.erp.core.common.element.NumerotationAutoSQLElement;
26
import org.openconcerto.erp.core.common.element.PaysSQLElement;
25
import org.openconcerto.erp.core.common.element.PaysSQLElement;
-
 
26
import org.openconcerto.erp.core.common.element.SocieteCommonSQLElement;
27
import org.openconcerto.erp.core.common.element.StyleSQLElement;
27
import org.openconcerto.erp.core.common.element.StyleSQLElement;
28
import org.openconcerto.erp.core.common.element.TitrePersonnelSQLElement;
28
import org.openconcerto.erp.core.common.element.TitrePersonnelSQLElement;
29
import org.openconcerto.erp.core.customerrelationship.customer.element.ClientDepartementSQLElement;
29
import org.openconcerto.erp.core.customerrelationship.customer.element.ClientDepartementSQLElement;
30
import org.openconcerto.erp.core.customerrelationship.customer.element.CompteClientTransactionSQLELement;
30
import org.openconcerto.erp.core.customerrelationship.customer.element.CompteClientTransactionSQLELement;
31
import org.openconcerto.erp.core.customerrelationship.customer.element.ContactSQLElement;
31
import org.openconcerto.erp.core.customerrelationship.customer.element.ContactSQLElement;
Line 40... Line 40...
40
import org.openconcerto.erp.core.customerrelationship.customer.element.TypeLettreRelanceSQLElement;
40
import org.openconcerto.erp.core.customerrelationship.customer.element.TypeLettreRelanceSQLElement;
41
import org.openconcerto.erp.core.edm.AttachmentSQLElement;
41
import org.openconcerto.erp.core.edm.AttachmentSQLElement;
42
import org.openconcerto.erp.core.finance.accounting.element.AssociationAnalytiqueSQLElement;
42
import org.openconcerto.erp.core.finance.accounting.element.AssociationAnalytiqueSQLElement;
43
import org.openconcerto.erp.core.finance.accounting.element.AssociationCompteAnalytiqueSQLElement;
43
import org.openconcerto.erp.core.finance.accounting.element.AssociationCompteAnalytiqueSQLElement;
44
import org.openconcerto.erp.core.finance.accounting.element.AxeAnalytiqueSQLElement;
44
import org.openconcerto.erp.core.finance.accounting.element.AxeAnalytiqueSQLElement;
-
 
45
import org.openconcerto.erp.core.finance.accounting.element.CategorieComptableSQLElement;
45
import org.openconcerto.erp.core.finance.accounting.element.ComptePCESQLElement;
46
import org.openconcerto.erp.core.finance.accounting.element.ComptePCESQLElement;
46
import org.openconcerto.erp.core.finance.accounting.element.ComptePCGSQLElement;
47
import org.openconcerto.erp.core.finance.accounting.element.ComptePCGSQLElement;
47
import org.openconcerto.erp.core.finance.accounting.element.DeviseHistoriqueSQLElement;
48
import org.openconcerto.erp.core.finance.accounting.element.DeviseHistoriqueSQLElement;
48
import org.openconcerto.erp.core.finance.accounting.element.EcritureSQLElement;
49
import org.openconcerto.erp.core.finance.accounting.element.EcritureSQLElement;
49
import org.openconcerto.erp.core.finance.accounting.element.ExerciceCommonSQLElement;
50
import org.openconcerto.erp.core.finance.accounting.element.ExerciceCommonSQLElement;
-
 
51
import org.openconcerto.erp.core.finance.accounting.element.FraisDocumentSQLElement;
50
import org.openconcerto.erp.core.finance.accounting.element.JournalSQLElement;
52
import org.openconcerto.erp.core.finance.accounting.element.JournalSQLElement;
51
import org.openconcerto.erp.core.finance.accounting.element.MouvementSQLElement;
53
import org.openconcerto.erp.core.finance.accounting.element.MouvementSQLElement;
52
import org.openconcerto.erp.core.finance.accounting.element.NatureCompteSQLElement;
54
import org.openconcerto.erp.core.finance.accounting.element.NatureCompteSQLElement;
53
import org.openconcerto.erp.core.finance.accounting.element.PieceSQLElement;
55
import org.openconcerto.erp.core.finance.accounting.element.PieceSQLElement;
54
import org.openconcerto.erp.core.finance.accounting.element.PosteAnalytiqueSQLElement;
56
import org.openconcerto.erp.core.finance.accounting.element.PosteAnalytiqueSQLElement;
Line 58... Line 60...
58
import org.openconcerto.erp.core.finance.accounting.element.TypeComptePCGSQLElement;
60
import org.openconcerto.erp.core.finance.accounting.element.TypeComptePCGSQLElement;
59
import org.openconcerto.erp.core.finance.accounting.model.Currency;
61
import org.openconcerto.erp.core.finance.accounting.model.Currency;
60
import org.openconcerto.erp.core.finance.payment.element.ChequeAEncaisserSQLElement;
62
import org.openconcerto.erp.core.finance.payment.element.ChequeAEncaisserSQLElement;
61
import org.openconcerto.erp.core.finance.payment.element.ChequeAvoirClientSQLElement;
63
import org.openconcerto.erp.core.finance.payment.element.ChequeAvoirClientSQLElement;
62
import org.openconcerto.erp.core.finance.payment.element.ChequeFournisseurSQLElement;
64
import org.openconcerto.erp.core.finance.payment.element.ChequeFournisseurSQLElement;
-
 
65
import org.openconcerto.erp.core.finance.payment.element.DepotChequeElementSQLElement;
-
 
66
import org.openconcerto.erp.core.finance.payment.element.DepotChequeSQLElement;
63
import org.openconcerto.erp.core.finance.payment.element.EncaisserMontantElementSQLElement;
67
import org.openconcerto.erp.core.finance.payment.element.EncaisserMontantElementSQLElement;
64
import org.openconcerto.erp.core.finance.payment.element.EncaisserMontantSQLElement;
68
import org.openconcerto.erp.core.finance.payment.element.EncaisserMontantSQLElement;
65
import org.openconcerto.erp.core.finance.payment.element.ModeDeReglementSQLElement;
69
import org.openconcerto.erp.core.finance.payment.element.ModeDeReglementSQLElement;
66
import org.openconcerto.erp.core.finance.payment.element.ReglerMontantElementSQLElement;
70
import org.openconcerto.erp.core.finance.payment.element.ReglerMontantElementSQLElement;
67
import org.openconcerto.erp.core.finance.payment.element.ReglerMontantSQLElement;
71
import org.openconcerto.erp.core.finance.payment.element.ReglerMontantSQLElement;
Line 69... Line 73...
69
import org.openconcerto.erp.core.finance.payment.element.SEPAMandateSQLElement;
73
import org.openconcerto.erp.core.finance.payment.element.SEPAMandateSQLElement;
70
import org.openconcerto.erp.core.finance.payment.element.TypeReglementSQLElement;
74
import org.openconcerto.erp.core.finance.payment.element.TypeReglementSQLElement;
71
import org.openconcerto.erp.core.finance.tax.element.EcoTaxeSQLElement;
75
import org.openconcerto.erp.core.finance.tax.element.EcoTaxeSQLElement;
72
import org.openconcerto.erp.core.finance.tax.element.TaxeComplementaireSQLElement;
76
import org.openconcerto.erp.core.finance.tax.element.TaxeComplementaireSQLElement;
73
import org.openconcerto.erp.core.finance.tax.element.TaxeSQLElement;
77
import org.openconcerto.erp.core.finance.tax.element.TaxeSQLElement;
74
import org.openconcerto.erp.core.humanresources.employe.SituationFamilialeSQLElement;
-
 
75
import org.openconcerto.erp.core.humanresources.employe.element.CommercialSQLElement;
78
import org.openconcerto.erp.core.humanresources.employe.element.CommercialSQLElement;
76
import org.openconcerto.erp.core.humanresources.employe.element.EtatCivilSQLElement;
79
import org.openconcerto.erp.core.humanresources.employe.element.EtatCivilSQLElement;
77
import org.openconcerto.erp.core.humanresources.employe.element.ObjectifSQLElement;
80
import org.openconcerto.erp.core.humanresources.employe.element.ObjectifSQLElement;
-
 
81
import org.openconcerto.erp.core.humanresources.employe.element.SituationFamilialeSQLElement;
78
import org.openconcerto.erp.core.humanresources.payroll.element.AcompteSQLElement;
82
import org.openconcerto.erp.core.humanresources.payroll.element.AcompteSQLElement;
79
import org.openconcerto.erp.core.humanresources.payroll.element.AyantDroitContratPrevSQLElement;
83
import org.openconcerto.erp.core.humanresources.payroll.element.AyantDroitContratPrevSQLElement;
80
import org.openconcerto.erp.core.humanresources.payroll.element.AyantDroitSQLElement;
84
import org.openconcerto.erp.core.humanresources.payroll.element.AyantDroitSQLElement;
81
import org.openconcerto.erp.core.humanresources.payroll.element.AyantDroitTypeSQLElement;
85
import org.openconcerto.erp.core.humanresources.payroll.element.AyantDroitTypeSQLElement;
82
import org.openconcerto.erp.core.humanresources.payroll.element.CaisseCotisationRenseignentSQLElement;
86
import org.openconcerto.erp.core.humanresources.payroll.element.CaisseCotisationRenseignentSQLElement;
Line 120... Line 124...
120
import org.openconcerto.erp.core.humanresources.payroll.element.InfosSalariePayeSQLElement;
124
import org.openconcerto.erp.core.humanresources.payroll.element.InfosSalariePayeSQLElement;
121
import org.openconcerto.erp.core.humanresources.payroll.element.ModeReglementPayeSQLElement;
125
import org.openconcerto.erp.core.humanresources.payroll.element.ModeReglementPayeSQLElement;
122
import org.openconcerto.erp.core.humanresources.payroll.element.MotifArretTravailSQLElement;
126
import org.openconcerto.erp.core.humanresources.payroll.element.MotifArretTravailSQLElement;
123
import org.openconcerto.erp.core.humanresources.payroll.element.MotifFinContratSQLElement;
127
import org.openconcerto.erp.core.humanresources.payroll.element.MotifFinContratSQLElement;
124
import org.openconcerto.erp.core.humanresources.payroll.element.MotifRepriseArretTravailSQLElement;
128
import org.openconcerto.erp.core.humanresources.payroll.element.MotifRepriseArretTravailSQLElement;
-
 
129
import org.openconcerto.erp.core.humanresources.payroll.element.PasSQLElement;
125
import org.openconcerto.erp.core.humanresources.payroll.element.PeriodeValiditeSQLElement;
130
import org.openconcerto.erp.core.humanresources.payroll.element.PeriodeValiditeSQLElement;
126
import org.openconcerto.erp.core.humanresources.payroll.element.ProfilPayeElementSQLElement;
131
import org.openconcerto.erp.core.humanresources.payroll.element.ProfilPayeElementSQLElement;
127
import org.openconcerto.erp.core.humanresources.payroll.element.ProfilPayeSQLElement;
132
import org.openconcerto.erp.core.humanresources.payroll.element.ProfilPayeSQLElement;
128
import org.openconcerto.erp.core.humanresources.payroll.element.RegimeBaseSQLElement;
133
import org.openconcerto.erp.core.humanresources.payroll.element.RegimeBaseSQLElement;
129
import org.openconcerto.erp.core.humanresources.payroll.element.ReglementPayeSQLElement;
134
import org.openconcerto.erp.core.humanresources.payroll.element.ReglementPayeSQLElement;
Line 134... Line 139...
134
import org.openconcerto.erp.core.humanresources.payroll.element.SalarieSQLElement;
139
import org.openconcerto.erp.core.humanresources.payroll.element.SalarieSQLElement;
135
import org.openconcerto.erp.core.humanresources.payroll.element.TypeComposantBaseAssujettieSQLElement;
140
import org.openconcerto.erp.core.humanresources.payroll.element.TypeComposantBaseAssujettieSQLElement;
136
import org.openconcerto.erp.core.humanresources.payroll.element.TypePreavisSQLElement;
141
import org.openconcerto.erp.core.humanresources.payroll.element.TypePreavisSQLElement;
137
import org.openconcerto.erp.core.humanresources.payroll.element.TypeRubriqueBrutSQLElement;
142
import org.openconcerto.erp.core.humanresources.payroll.element.TypeRubriqueBrutSQLElement;
138
import org.openconcerto.erp.core.humanresources.payroll.element.TypeRubriqueNetSQLElement;
143
import org.openconcerto.erp.core.humanresources.payroll.element.TypeRubriqueNetSQLElement;
-
 
144
import org.openconcerto.erp.core.humanresources.payroll.element.TypeTauxPasSQLElement;
139
import org.openconcerto.erp.core.humanresources.payroll.element.VariablePayeSQLElement;
145
import org.openconcerto.erp.core.humanresources.payroll.element.VariablePayeSQLElement;
140
import org.openconcerto.erp.core.humanresources.payroll.element.VariableSalarieSQLElement;
146
import org.openconcerto.erp.core.humanresources.payroll.element.VariableSalarieSQLElement;
141
import org.openconcerto.erp.core.humanresources.timesheet.element.PointageSQLElement;
147
import org.openconcerto.erp.core.humanresources.timesheet.element.PointageSQLElement;
142
import org.openconcerto.erp.core.project.element.CalendarItemGroupSQLElement;
148
import org.openconcerto.erp.core.project.element.CalendarItemGroupSQLElement;
143
import org.openconcerto.erp.core.project.element.CalendarItemSQLElement;
149
import org.openconcerto.erp.core.project.element.CalendarItemSQLElement;
Line 158... Line 164...
158
import org.openconcerto.erp.core.sales.pos.element.SaisieVenteComptoirSQLElement;
164
import org.openconcerto.erp.core.sales.pos.element.SaisieVenteComptoirSQLElement;
159
import org.openconcerto.erp.core.sales.pos.element.TicketCaisseSQLElement;
165
import org.openconcerto.erp.core.sales.pos.element.TicketCaisseSQLElement;
160
import org.openconcerto.erp.core.sales.pos.io.BarcodeReader;
166
import org.openconcerto.erp.core.sales.pos.io.BarcodeReader;
161
import org.openconcerto.erp.core.sales.price.element.DeviseSQLElement;
167
import org.openconcerto.erp.core.sales.price.element.DeviseSQLElement;
162
import org.openconcerto.erp.core.sales.price.element.TarifSQLElement;
168
import org.openconcerto.erp.core.sales.price.element.TarifSQLElement;
-
 
169
import org.openconcerto.erp.core.sales.product.element.ArticleCatComptableSQLElement;
163
import org.openconcerto.erp.core.sales.product.element.ArticleCodeClientSQLElement;
170
import org.openconcerto.erp.core.sales.product.element.ArticleCodeClientSQLElement;
164
import org.openconcerto.erp.core.sales.product.element.ArticleDesignationSQLElement;
171
import org.openconcerto.erp.core.sales.product.element.ArticleDesignationSQLElement;
-
 
172
import org.openconcerto.erp.core.sales.product.element.ArticleFournisseurSecondaireSQLElement;
165
import org.openconcerto.erp.core.sales.product.element.ArticleTarifSQLElement;
173
import org.openconcerto.erp.core.sales.product.element.ArticleTarifSQLElement;
-
 
174
import org.openconcerto.erp.core.sales.product.element.CoutRevientSQLElement;
166
import org.openconcerto.erp.core.sales.product.element.EcoContributionSQLElement;
175
import org.openconcerto.erp.core.sales.product.element.EcoContributionSQLElement;
167
import org.openconcerto.erp.core.sales.product.element.FamilleArticleSQLElement;
176
import org.openconcerto.erp.core.sales.product.element.FamilleArticleSQLElement;
168
import org.openconcerto.erp.core.sales.product.element.FamilleEcoContributionSQLElement;
177
import org.openconcerto.erp.core.sales.product.element.FamilleEcoContributionSQLElement;
169
import org.openconcerto.erp.core.sales.product.element.MetriqueSQLElement;
178
import org.openconcerto.erp.core.sales.product.element.MetriqueSQLElement;
170
import org.openconcerto.erp.core.sales.product.element.ModeVenteArticleSQLElement;
179
import org.openconcerto.erp.core.sales.product.element.ModeVenteArticleSQLElement;
171
import org.openconcerto.erp.core.sales.product.element.ProductItemSQLElement;
180
import org.openconcerto.erp.core.sales.product.element.ProductItemSQLElement;
172
import org.openconcerto.erp.core.sales.product.element.ProductQtyPriceSQLElement;
181
import org.openconcerto.erp.core.sales.product.element.ProductQtyPriceSQLElement;
173
import org.openconcerto.erp.core.sales.product.element.ReferenceArticleSQLElement;
182
import org.openconcerto.erp.core.sales.product.element.ReferenceArticleSQLElement;
174
import org.openconcerto.erp.core.sales.product.element.ReliquatSQLElement;
183
import org.openconcerto.erp.core.sales.product.element.ReliquatSQLElement;
175
import org.openconcerto.erp.core.sales.product.element.ReliquatSQLElement.ReliquatBRSQLElement;
184
import org.openconcerto.erp.core.sales.product.element.ReliquatSQLElement.ReliquatBRSQLElement;
-
 
185
import org.openconcerto.erp.core.sales.product.element.SupplierPriceListSQLElement;
176
import org.openconcerto.erp.core.sales.product.element.UniteVenteArticleSQLElement;
186
import org.openconcerto.erp.core.sales.product.element.UniteVenteArticleSQLElement;
177
import org.openconcerto.erp.core.sales.quote.element.DevisItemSQLElement;
187
import org.openconcerto.erp.core.sales.quote.element.DevisItemSQLElement;
178
import org.openconcerto.erp.core.sales.quote.element.DevisLogMailSQLElement;
188
import org.openconcerto.erp.core.sales.quote.element.DevisLogMailSQLElement;
179
import org.openconcerto.erp.core.sales.quote.element.DevisSQLElement;
189
import org.openconcerto.erp.core.sales.quote.element.DevisSQLElement;
180
import org.openconcerto.erp.core.sales.quote.element.EtatDevisSQLElement;
190
import org.openconcerto.erp.core.sales.quote.element.EtatDevisSQLElement;
Line 200... Line 210...
200
import org.openconcerto.erp.core.supplychain.product.element.FamilleArticleFounisseurSQLElement;
210
import org.openconcerto.erp.core.supplychain.product.element.FamilleArticleFounisseurSQLElement;
201
import org.openconcerto.erp.core.supplychain.receipt.element.BonReceptionElementSQLElement;
211
import org.openconcerto.erp.core.supplychain.receipt.element.BonReceptionElementSQLElement;
202
import org.openconcerto.erp.core.supplychain.receipt.element.BonReceptionSQLElement;
212
import org.openconcerto.erp.core.supplychain.receipt.element.BonReceptionSQLElement;
203
import org.openconcerto.erp.core.supplychain.receipt.element.CodeFournisseurSQLElement;
213
import org.openconcerto.erp.core.supplychain.receipt.element.CodeFournisseurSQLElement;
204
import org.openconcerto.erp.core.supplychain.receipt.element.TransferReceiptSQLElement;
214
import org.openconcerto.erp.core.supplychain.receipt.element.TransferReceiptSQLElement;
-
 
215
import org.openconcerto.erp.core.supplychain.stock.element.DepotStockSQLElement;
-
 
216
import org.openconcerto.erp.core.supplychain.stock.element.EtatStockItemSQLElement;
-
 
217
import org.openconcerto.erp.core.supplychain.stock.element.EtatStockSQLElement;
205
import org.openconcerto.erp.core.supplychain.stock.element.MouvementStockSQLElement;
218
import org.openconcerto.erp.core.supplychain.stock.element.MouvementStockSQLElement;
206
import org.openconcerto.erp.core.supplychain.stock.element.StockSQLElement;
219
import org.openconcerto.erp.core.supplychain.stock.element.StockSQLElement;
207
import org.openconcerto.erp.core.supplychain.supplier.element.EcheanceFournisseurSQLElement;
220
import org.openconcerto.erp.core.supplychain.supplier.element.EcheanceFournisseurSQLElement;
208
import org.openconcerto.erp.core.supplychain.supplier.element.FournisseurSQLElement;
221
import org.openconcerto.erp.core.supplychain.supplier.element.FournisseurSQLElement;
209
import org.openconcerto.erp.generationDoc.element.ModeleSQLElement;
222
import org.openconcerto.erp.generationDoc.element.ModeleSQLElement;
Line 249... Line 262...
249
import org.openconcerto.erp.injector.BonFactureSQLInjector;
262
import org.openconcerto.erp.injector.BonFactureSQLInjector;
250
import org.openconcerto.erp.injector.BonReceptionFactureFournisseurSQLInjector;
263
import org.openconcerto.erp.injector.BonReceptionFactureFournisseurSQLInjector;
251
import org.openconcerto.erp.injector.BrFactureAchatSQLInjector;
264
import org.openconcerto.erp.injector.BrFactureAchatSQLInjector;
252
import org.openconcerto.erp.injector.CommandeBlEltSQLInjector;
265
import org.openconcerto.erp.injector.CommandeBlEltSQLInjector;
253
import org.openconcerto.erp.injector.CommandeBlSQLInjector;
266
import org.openconcerto.erp.injector.CommandeBlSQLInjector;
-
 
267
import org.openconcerto.erp.injector.CommandeBrEltSQLInjector;
254
import org.openconcerto.erp.injector.CommandeBrSQLInjector;
268
import org.openconcerto.erp.injector.CommandeBrSQLInjector;
255
import org.openconcerto.erp.injector.CommandeCliCommandeSQLInjector;
269
import org.openconcerto.erp.injector.CommandeCliCommandeSQLInjector;
256
import org.openconcerto.erp.injector.CommandeFactureAchatSQLInjector;
270
import org.openconcerto.erp.injector.CommandeFactureAchatSQLInjector;
257
import org.openconcerto.erp.injector.CommandeFactureClientSQLInjector;
271
import org.openconcerto.erp.injector.CommandeFactureClientSQLInjector;
-
 
272
import org.openconcerto.erp.injector.DevisBlEltSQLInjector;
-
 
273
import org.openconcerto.erp.injector.DevisBlSQLInjector;
258
import org.openconcerto.erp.injector.DevisCommandeFournisseurSQLInjector;
274
import org.openconcerto.erp.injector.DevisCommandeFournisseurSQLInjector;
259
import org.openconcerto.erp.injector.DevisCommandeSQLInjector;
275
import org.openconcerto.erp.injector.DevisCommandeSQLInjector;
260
import org.openconcerto.erp.injector.DevisEltFactureEltSQLInjector;
276
import org.openconcerto.erp.injector.DevisEltFactureEltSQLInjector;
261
import org.openconcerto.erp.injector.DevisFactureSQLInjector;
277
import org.openconcerto.erp.injector.DevisFactureSQLInjector;
262
import org.openconcerto.erp.injector.DmdAchatDmdPrixEltSQLInjector;
278
import org.openconcerto.erp.injector.DmdAchatDmdPrixEltSQLInjector;
-
 
279
import org.openconcerto.erp.injector.DmdPrixCmdSQLInjector;
263
import org.openconcerto.erp.injector.EcheanceEncaisseSQLInjector;
280
import org.openconcerto.erp.injector.EcheanceEncaisseSQLInjector;
264
import org.openconcerto.erp.injector.EcheanceRegleSQLInjector;
281
import org.openconcerto.erp.injector.EcheanceRegleSQLInjector;
265
import org.openconcerto.erp.injector.FactureAvoirSQLInjector;
282
import org.openconcerto.erp.injector.FactureAvoirSQLInjector;
266
import org.openconcerto.erp.injector.FactureBonSQLInjector;
283
import org.openconcerto.erp.injector.FactureBonSQLInjector;
267
import org.openconcerto.erp.injector.FactureCommandeSQLInjector;
284
import org.openconcerto.erp.injector.FactureCommandeSQLInjector;
-
 
285
import org.openconcerto.erp.modules.ModuleManager;
268
import org.openconcerto.erp.preferences.DefaultNXProps;
286
import org.openconcerto.erp.preferences.DefaultNXProps;
269
import org.openconcerto.erp.preferences.GestionClientPreferencePanel;
287
import org.openconcerto.erp.preferences.GestionClientPreferencePanel;
270
import org.openconcerto.erp.preferences.GestionCommercialeGlobalPreferencePanel;
288
import org.openconcerto.erp.preferences.GestionCommercialeGlobalPreferencePanel;
271
import org.openconcerto.erp.preferences.TemplateNXProps;
289
import org.openconcerto.erp.preferences.TemplateNXProps;
272
import org.openconcerto.erp.storage.CloudStorageEngine;
290
import org.openconcerto.erp.storage.CloudStorageEngine;
Line 330... Line 348...
330
import javax.swing.JDialog;
348
import javax.swing.JDialog;
331
import javax.swing.JFrame;
349
import javax.swing.JFrame;
332
import javax.swing.JOptionPane;
350
import javax.swing.JOptionPane;
333
import javax.swing.SwingUtilities;
351
import javax.swing.SwingUtilities;
334
 
352
 
335
import eu.medsea.mimeutil.MimeUtil;
-
 
336
import eu.medsea.mimeutil.detector.ExtensionMimeDetector;
-
 
337
import eu.medsea.mimeutil.detector.MagicMimeMimeDetector;
-
 
338
 
-
 
339
/***************************************************************************************************
353
/***************************************************************************************************
340
 * Configuration de la gestion: Une base commune "Common" --> société, user, tasks. Une base
354
 * Configuration de la gestion: Une base commune "Common" --> société, user, tasks. Une base
341
 * par défaut pour créer une société "Default". Un fichier mapping.xml pour la base commune.
355
 * par défaut pour créer une société "Default". Un fichier mapping.xml pour la base commune.
342
 * Un fichier mappingCompta.xml pour les bases sociétés.
356
 * Un fichier mappingCompta.xml pour les bases sociétés.
343
 **************************************************************************************************/
357
 **************************************************************************************************/
Line 357... Line 371...
357
    // the properties path from this class
371
    // the properties path from this class
358
    private static final String PROPERTIES = "main.properties";
372
    private static final String PROPERTIES = "main.properties";
359
 
373
 
360
    public static final String DATA_DIR_VAR = "${data.dir}";
374
    public static final String DATA_DIR_VAR = "${data.dir}";
361
 
375
 
362
    // private Logger rootLogger;
-
 
363
 
-
 
364
    protected String version = "";
376
    protected String version = "";
365
    private static OOConnexion conn;
377
    private static OOConnexion conn;
366
 
378
 
367
    public static OOConnexion getOOConnexion() {
379
    public static OOConnexion getOOConnexion() {
368
        if (conn == null || conn.isClosed()) {
380
        if (conn == null || conn.isClosed()) {
Line 446... Line 458...
446
    private final boolean isServerless;
458
    private final boolean isServerless;
447
    private boolean isOnCloud;
459
    private boolean isOnCloud;
448
    private boolean isPortable;
460
    private boolean isPortable;
449
    private File portableDir = null;
461
    private File portableDir = null;
450
    private Currency currency = null;
462
    private Currency currency = null;
-
 
463
    private final ModuleManager moduleMngr = new ModuleManager();
451
 
464
 
452
    public ComptaPropsConfiguration(Properties props, final ProductInfo productInfo) {
465
    public ComptaPropsConfiguration(Properties props, final ProductInfo productInfo) {
453
        super(props, productInfo);
466
        super(props, productInfo);
454
        this.isServerless = false;
467
        this.isServerless = false;
455
        this.isMain = true;
468
        this.isMain = true;
Line 521... Line 534...
521
                        props.put("storage.server", cProperty.getProperty("storage.server"));
534
                        props.put("storage.server", cProperty.getProperty("storage.server"));
522
 
535
 
523
                    } catch (Exception e) {
536
                    } catch (Exception e) {
524
                        e.printStackTrace();
537
                        e.printStackTrace();
525
                        String s = ExceptionUtils.getStackTrace(e);
538
                        String s = ExceptionUtils.getStackTrace(e);
526
                        JOptionPane.showMessageDialog(new JFrame(), "Impossible récupérer les informations de connexion\n" + s + "\ntoken: " + token + "\nr: " + result);
539
                        JOptionPane.showMessageDialog(new JFrame(),
527
                        ExceptionHandler.handle("Impossible récupérer les informations de connexion", e);
540
                                "Impossible récupérer les informations de connexion\n" + s + "\ntoken: " + token + "\nr: " + result + "\nMerci de vérifier votre connexion internet.");
528
                        System.exit(1);
541
                        System.exit(1);
529
                    }
542
                    }
530
 
543
 
531
                } else if (result != null && result.contains("not paid")) {
544
                } else if (result != null && result.contains("not paid")) {
532
                    JOptionPane.showMessageDialog(new JFrame(), "Compte Cloud non crédité");
545
                    JOptionPane.showMessageDialog(new JFrame(), "Compte Cloud non crédité");
Line 562... Line 575...
562
                System.err.println("ComptaPropsConfiguration() error in log setup : " + e.getMessage());
575
                System.err.println("ComptaPropsConfiguration() error in log setup : " + e.getMessage());
563
            }
576
            }
564
            registerAccountingProvider();
577
            registerAccountingProvider();
565
            registerCellValueProvider();
578
            registerCellValueProvider();
566
        }
579
        }
567
 
-
 
568
        MimeUtil.registerMimeDetector(ExtensionMimeDetector.class.getName());
-
 
569
        MimeUtil.registerMimeDetector(MagicMimeMimeDetector.class.getName());
-
 
570
    }
580
    }
571
 
581
 
572
    private void registerAccountingProvider() {
582
    private void registerAccountingProvider() {
573
        SalesInvoiceAccountingRecordsProvider.register();
583
        SalesInvoiceAccountingRecordsProvider.register();
574
        SalesCreditAccountingRecordsProvider.register();
584
        SalesCreditAccountingRecordsProvider.register();
Line 673... Line 683...
673
 
683
 
674
    public String getToken() {
684
    public String getToken() {
675
        return getProperty("token");
685
        return getProperty("token");
676
    }
686
    }
677
 
687
 
678
    @Override
-
 
679
    public void destroy() {
-
 
680
        // since we used setupLogging() in the constructor (allows to remove confDir)
-
 
681
        if (this.isMain) {
-
 
682
            this.tearDownLogging(true);
-
 
683
        }
-
 
684
        super.destroy();
-
 
685
    }
-
 
686
 
-
 
687
    public final boolean isServerless() {
688
    public final boolean isServerless() {
688
        return this.isServerless;
689
        return this.isServerless;
689
    }
690
    }
690
 
691
 
691
    public final boolean isOnCloud() {
692
    public final boolean isOnCloud() {
Line 787... Line 788...
787
    public String getDefaultBase() {
788
    public String getDefaultBase() {
788
        return super.getDefaultBase();
789
        return super.getDefaultBase();
789
 
790
 
790
    }
791
    }
791
 
792
 
792
    protected File getMappingFile() {
-
 
793
        return new File("mapping.xml");
-
 
794
    }
-
 
795
 
-
 
796
    @Override
793
    @Override
797
    protected SQLElementDirectory createDirectory() {
794
    protected SQLElementDirectory createDirectory() {
798
        final SQLElementDirectory dir = super.createDirectory();
795
        final SQLElementDirectory dir = super.createDirectory();
-
 
796
        final DBRoot root = getRoot();
799
        dir.addSQLElement(new AdresseCommonSQLElement());
797
        dir.addSQLElement(new AdresseCommonSQLElement(root));
800
        dir.addSQLElement(new ExerciceCommonSQLElement());
798
        dir.addSQLElement(new ExerciceCommonSQLElement(root));
801
        dir.addSQLElement(DeviseSQLElement.class);
799
        dir.addSQLElement(DeviseSQLElement.class, root);
802
        dir.addSQLElement(TypeModeleSQLElement.class);
800
        dir.addSQLElement(TypeModeleSQLElement.class, root);
803
        dir.addSQLElement(new SocieteCommonSQLElement());
801
        dir.addSQLElement(new SocieteCommonSQLElement(root));
804
 
802
 
805
        // DSN
803
        // DSN
806
        dir.addSQLElement(CaisseCotisationRenseignentSQLElement.class);
804
        dir.addSQLElement(CaisseCotisationRenseignentSQLElement.class, root);
807
        dir.addSQLElement(CodeBaseAssujettieSQLElement.class);
805
        dir.addSQLElement(CodeBaseAssujettieSQLElement.class, root);
808
        dir.addSQLElement(ContratModaliteTempsSQLElement.class);
806
        dir.addSQLElement(ContratModaliteTempsSQLElement.class, root);
809
        dir.addSQLElement(CodeCaisseTypeRubriqueSQLElement.class);
807
        dir.addSQLElement(CodeCaisseTypeRubriqueSQLElement.class, root);
810
        dir.addSQLElement(CodeTypeRubriqueBrutSQLElement.class);
808
        dir.addSQLElement(CodeTypeRubriqueBrutSQLElement.class, root);
811
        dir.addSQLElement(MotifArretTravailSQLElement.class);
809
        dir.addSQLElement(MotifArretTravailSQLElement.class, root);
812
        dir.addSQLElement(ContratDispositifPolitiqueSQLElement.class);
810
        dir.addSQLElement(ContratDispositifPolitiqueSQLElement.class, root);
813
        dir.addSQLElement(ContratDetacheExpatrieSQLElement.class);
811
        dir.addSQLElement(ContratDetacheExpatrieSQLElement.class, root);
814
        dir.addSQLElement(ContratRegimeMaladieSQLElement.class);
812
        dir.addSQLElement(ContratRegimeMaladieSQLElement.class, root);
815
        dir.addSQLElement(ContratMotifRecoursSQLElement.class);
813
        dir.addSQLElement(ContratMotifRecoursSQLElement.class, root);
816
        dir.addSQLElement(ContratRegimeVieillesseSQLElement.class);
814
        dir.addSQLElement(ContratRegimeVieillesseSQLElement.class, root);
817
        dir.addSQLElement(MotifFinContratSQLElement.class);
815
        dir.addSQLElement(MotifFinContratSQLElement.class, root);
818
        dir.addSQLElement(MotifRepriseArretTravailSQLElement.class);
816
        dir.addSQLElement(MotifRepriseArretTravailSQLElement.class, root);
819
        dir.addSQLElement(TypePreavisSQLElement.class);
817
        dir.addSQLElement(TypePreavisSQLElement.class, root);
820
        dir.addSQLElement(DSNNatureSQLElement.class);
818
        dir.addSQLElement(DSNNatureSQLElement.class, root);
-
 
819
        dir.addSQLElement(TypeTauxPasSQLElement.class, root);
821
 
820
 
822
        // ECO
821
        // ECO
823
        dir.addSQLElement(FamilleEcoContributionSQLElement.class);
822
        dir.addSQLElement(FamilleEcoContributionSQLElement.class, root);
824
        dir.addSQLElement(EcoContributionSQLElement.class);
823
        dir.addSQLElement(EcoContributionSQLElement.class, root);
-
 
824
 
-
 
825
        dir.addSQLElement(new RubriqueCotisationSQLElement(root));
-
 
826
        dir.addSQLElement(new RubriqueCommSQLElement(root));
-
 
827
        dir.addSQLElement(new RubriqueNetSQLElement(root));
-
 
828
        dir.addSQLElement(new RubriqueBrutSQLElement(root));
-
 
829
 
-
 
830
        dir.addSQLElement(new CaisseCotisationSQLElement(root));
-
 
831
        dir.addSQLElement(new ProfilPayeSQLElement(root));
-
 
832
        dir.addSQLElement(new ProfilPayeElementSQLElement(root));
-
 
833
        dir.addSQLElement(new PeriodeValiditeSQLElement(root));
-
 
834
 
-
 
835
        dir.addSQLElement(new TypeRubriqueBrutSQLElement(root));
-
 
836
        dir.addSQLElement(new TypeRubriqueNetSQLElement(root));
-
 
837
 
-
 
838
        dir.addSQLElement(AyantDroitTypeSQLElement.class, root);
-
 
839
        dir.addSQLElement(TypeComposantBaseAssujettieSQLElement.class, root);
-
 
840
        dir.addSQLElement(CaisseModePaiementSQLElement.class, root);
-
 
841
        dir.addSQLElement(CodeCotisationIndividuelleSQLElement.class, root);
-
 
842
        dir.addSQLElement(CodeCotisationEtablissementSQLElement.class, root);
-
 
843
        dir.addSQLElement(CodePenibiliteSQLElement.class, root);
-
 
844
        dir.addSQLElement(new ImpressionRubriqueSQLElement(root));
-
 
845
 
-
 
846
        dir.addSQLElement(new VariablePayeSQLElement(root));
825
 
847
 
826
        return dir;
848
        return dir;
827
    }
849
    }
828
 
850
 
829
    private void setSocieteDirectory() {
851
    private void setSocieteDirectory() {
830
        try {
852
        try {
831
            // Check 1.5.3 updated
853
            // Check 1.5.3 updated
832
            if (!this.getRootSociete().getTable("SAISIE_VENTE_FACTURE").contains("T_ACOMPTE")) {
854
            if (!this.getRootSociete().getTable("SAISIE_VENTE_FACTURE").contains("T_ACOMPTE")) {
833
                throw new DBStructureItemNotFound("Base de données non à jour");
855
                throw new DBStructureItemNotFound("Base de données non à jour");
834
            }
856
            }
-
 
857
            // Check 1.6 updated
-
 
858
            if (!this.getRootSociete().contains("ETAT_STOCK")) {
-
 
859
                throw new DBStructureItemNotFound("Base de données non à jour");
835
 
860
            }
836
            SQLElementDirectory dir = this.getDirectory();
861
            SQLElementDirectory dir = this.getDirectory();
837
 
862
 
838
            dir.addSQLElement(AttachmentSQLElement.class);
863
            dir.addSQLElement(AttachmentSQLElement.class);
839
 
864
 
-
 
865
 
-
 
866
            dir.addSQLElement(EtatStockSQLElement.class);
-
 
867
            dir.addSQLElement(EtatStockItemSQLElement.class);
840
            dir.addSQLElement(ArticleTarifSQLElement.class);
868
            dir.addSQLElement(ArticleTarifSQLElement.class);
-
 
869
            dir.addSQLElement(CoutRevientSQLElement.class);
841
            dir.addSQLElement(ReliquatBRSQLElement.class);
870
            dir.addSQLElement(ReliquatBRSQLElement.class);
842
            dir.addSQLElement(ReliquatSQLElement.class);
871
            dir.addSQLElement(ReliquatSQLElement.class);
843
            dir.addSQLElement(ProductQtyPriceSQLElement.class);
872
            dir.addSQLElement(ProductQtyPriceSQLElement.class);
844
            dir.addSQLElement(ProductItemSQLElement.class);
873
            dir.addSQLElement(ProductItemSQLElement.class);
-
 
874
            dir.addSQLElement(CategorieComptableSQLElement.class);
-
 
875
            dir.addSQLElement(ArticleCatComptableSQLElement.class);
-
 
876
            dir.addSQLElement(ArticleFournisseurSecondaireSQLElement.class);
-
 
877
            dir.addSQLElement(SupplierPriceListSQLElement.class);
-
 
878
            dir.addSQLElement(FraisDocumentSQLElement.class);
845
            dir.addSQLElement(ArticleDesignationSQLElement.class);
879
            dir.addSQLElement(ArticleDesignationSQLElement.class);
846
            dir.addSQLElement(BanqueSQLElement.class);
880
            dir.addSQLElement(BanqueSQLElement.class);
847
            dir.addSQLElement(ClientDepartementSQLElement.class);
881
            dir.addSQLElement(ClientDepartementSQLElement.class);
848
            dir.addSQLElement(CoefficientPrimeSQLElement.class);
882
            dir.addSQLElement(CoefficientPrimeSQLElement.class);
849
            dir.addSQLElement(ContactFournisseurSQLElement.class);
883
            dir.addSQLElement(ContactFournisseurSQLElement.class);
Line 851... Line 885...
851
            dir.addSQLElement(new TitrePersonnelSQLElement());
885
            dir.addSQLElement(new TitrePersonnelSQLElement());
852
            dir.addSQLElement(new ContactSQLElement());
886
            dir.addSQLElement(new ContactSQLElement());
853
            dir.addSQLElement(new SaisieKmItemSQLElement());
887
            dir.addSQLElement(new SaisieKmItemSQLElement());
854
            dir.addSQLElement(new EcritureSQLElement());
888
            dir.addSQLElement(new EcritureSQLElement());
855
 
889
 
856
            dir.addSQLElement(new SharedSQLElement("EMPLOYEUR_MULTIPLE"));
890
            dir.addSQLElement(new SharedSQLElement(this, "EMPLOYEUR_MULTIPLE", "humanresources.multipleEmployer"));
857
            dir.addSQLElement(PosteAnalytiqueSQLElement.class);
891
            dir.addSQLElement(PosteAnalytiqueSQLElement.class);
858
            dir.addSQLElement(new SharedSQLElement("CLASSE_COMPTE"));
892
            dir.addSQLElement(new SharedSQLElement(this, "CLASSE_COMPTE", "finance.accounting.accountClass"));
859
 
893
 
860
            dir.addSQLElement(new CaisseCotisationSQLElement());
-
 
861
            dir.addSQLElement(CaisseTicketSQLElement.class);
894
            dir.addSQLElement(CaisseTicketSQLElement.class);
862
 
895
 
863
            dir.addSQLElement(new ImpressionRubriqueSQLElement());
-
 
864
 
-
 
865
            dir.addSQLElement(ModeleSQLElement.class);
896
            dir.addSQLElement(ModeleSQLElement.class);
866
 
897
 
867
            dir.addSQLElement(new ProfilPayeSQLElement());
-
 
868
            dir.addSQLElement(new ProfilPayeElementSQLElement());
-
 
869
            dir.addSQLElement(new PeriodeValiditeSQLElement());
-
 
870
 
-
 
871
            dir.addSQLElement(new RubriqueCotisationSQLElement());
-
 
872
            dir.addSQLElement(new RubriqueCommSQLElement());
-
 
873
            dir.addSQLElement(new RubriqueNetSQLElement());
-
 
874
            dir.addSQLElement(new RubriqueBrutSQLElement());
-
 
875
 
-
 
876
            dir.addSQLElement(new TypeRubriqueBrutSQLElement());
-
 
877
            dir.addSQLElement(new TypeRubriqueNetSQLElement());
-
 
878
 
-
 
879
            dir.addSQLElement(new VariablePayeSQLElement());
-
 
880
 
-
 
881
            dir.addSQLElement(new AdresseSQLElement());
898
            dir.addSQLElement(new AdresseSQLElement());
882
            dir.addSQLElement(ArticleCodeClientSQLElement.class);
899
            dir.addSQLElement(ArticleCodeClientSQLElement.class);
883
            dir.addSQLElement(ReferenceArticleSQLElement.class);
900
            dir.addSQLElement(ReferenceArticleSQLElement.class);
884
            dir.addSQLElement(ArticleFournisseurSQLElement.class);
901
            dir.addSQLElement(ArticleFournisseurSQLElement.class);
885
            dir.addSQLElement(FamilleArticleFounisseurSQLElement.class);
902
            dir.addSQLElement(FamilleArticleFounisseurSQLElement.class);
Line 898... Line 915...
898
 
915
 
899
            dir.addSQLElement(new BonReceptionElementSQLElement());
916
            dir.addSQLElement(new BonReceptionElementSQLElement());
900
            dir.addSQLElement(new BonReceptionSQLElement());
917
            dir.addSQLElement(new BonReceptionSQLElement());
901
            dir.addSQLElement(new TransferReceiptSQLElement());
918
            dir.addSQLElement(new TransferReceiptSQLElement());
902
            dir.addSQLElement(new ChequeAEncaisserSQLElement());
919
            dir.addSQLElement(new ChequeAEncaisserSQLElement());
-
 
920
            dir.addSQLElement(DepotChequeSQLElement.class);
-
 
921
            dir.addSQLElement(DepotChequeElementSQLElement.class);
903
            dir.addSQLElement(new ChequeAvoirClientSQLElement());
922
            dir.addSQLElement(new ChequeAvoirClientSQLElement());
904
            dir.addSQLElement(new ChequeFournisseurSQLElement());
923
            dir.addSQLElement(new ChequeFournisseurSQLElement());
905
                dir.addSQLElement(new CustomerCategorySQLElement());
924
                dir.addSQLElement(new CustomerCategorySQLElement());
906
                dir.addSQLElement(new CustomerSQLElement());
925
                dir.addSQLElement(new CustomerSQLElement());
907
                dir.addSQLElement(new CompteClientTransactionSQLELement());
926
                dir.addSQLElement(new CompteClientTransactionSQLELement());
Line 923... Line 942...
923
            dir.addSQLElement(DemandePrixSQLElement.class);
942
            dir.addSQLElement(DemandePrixSQLElement.class);
924
            dir.addSQLElement(DemandePrixItemSQLElement.class);
943
            dir.addSQLElement(DemandePrixItemSQLElement.class);
925
            dir.addSQLElement(FabricantSQLElement.class);
944
            dir.addSQLElement(FabricantSQLElement.class);
926
            dir.addSQLElement(ChiffrageCommandeClientSQLElement.class);
945
            dir.addSQLElement(ChiffrageCommandeClientSQLElement.class);
927
 
946
 
928
                dir.addSQLElement(new CommercialSQLElement());
947
            dir.addSQLElement(new CommercialSQLElement());
-
 
948
 
929
            dir.addSQLElement(ObjectifSQLElement.class);
949
            dir.addSQLElement(ObjectifSQLElement.class);
930
            dir.addSQLElement(new ComptePCESQLElement());
950
            dir.addSQLElement(new ComptePCESQLElement());
931
            dir.addSQLElement(new ComptePCGSQLElement());
951
            dir.addSQLElement(new ComptePCGSQLElement());
932
 
952
 
933
            dir.addSQLElement(new ContratSalarieSQLElement());
953
            dir.addSQLElement(new ContratSalarieSQLElement());
934
            dir.addSQLElement(ContratPrevoyanceSQLElement.class);
954
            dir.addSQLElement(ContratPrevoyanceSQLElement.class);
935
            dir.addSQLElement(ContratPrevoyanceRubriqueSQLElement.class);
955
            dir.addSQLElement(ContratPrevoyanceRubriqueSQLElement.class);
936
            dir.addSQLElement(ContratPrevoyanceRubriqueNetSQLElement.class);
956
            dir.addSQLElement(ContratPrevoyanceRubriqueNetSQLElement.class);
937
            dir.addSQLElement(ContratPrevoyanceSalarieSQLElement.class);
957
            dir.addSQLElement(ContratPrevoyanceSalarieSQLElement.class);
938
            dir.addSQLElement(AyantDroitSQLElement.class);
958
            dir.addSQLElement(AyantDroitSQLElement.class);
939
            dir.addSQLElement(AyantDroitTypeSQLElement.class);
-
 
940
            dir.addSQLElement(AyantDroitContratPrevSQLElement.class);
959
            dir.addSQLElement(AyantDroitContratPrevSQLElement.class);
941
 
960
 
942
            dir.addSQLElement(new CodeRegimeSQLElement());
961
            dir.addSQLElement(new CodeRegimeSQLElement());
943
            dir.addSQLElement(new CodeEmploiSQLElement());
962
            dir.addSQLElement(new CodeEmploiSQLElement());
944
            dir.addSQLElement(new CodeContratTravailSQLElement());
963
            dir.addSQLElement(new CodeContratTravailSQLElement());
Line 946... Line 965...
946
            dir.addSQLElement(new CodeCaractActiviteSQLElement());
965
            dir.addSQLElement(new CodeCaractActiviteSQLElement());
947
 
966
 
948
            dir.addSQLElement(new CodeStatutCategorielSQLElement());
967
            dir.addSQLElement(new CodeStatutCategorielSQLElement());
949
            dir.addSQLElement(CodeStatutCategorielConventionnelSQLElement.class);
968
            dir.addSQLElement(CodeStatutCategorielConventionnelSQLElement.class);
950
            dir.addSQLElement(new CodeStatutProfSQLElement());
969
            dir.addSQLElement(new CodeStatutProfSQLElement());
951
            dir.addSQLElement(CaisseModePaiementSQLElement.class);
-
 
952
            dir.addSQLElement(CodeCotisationIndividuelleSQLElement.class);
-
 
953
            dir.addSQLElement(CodeCotisationEtablissementSQLElement.class);
-
 
954
            dir.addSQLElement(CodePenibiliteSQLElement.class);
-
 
955
            dir.addSQLElement(CodePenibiliteContratSQLElement.class);
970
            dir.addSQLElement(CodePenibiliteContratSQLElement.class);
-
 
971
 
956
            dir.addSQLElement(TypeComposantBaseAssujettieSQLElement.class);
972
            dir.addSQLElement(PasSQLElement.class);
957
 
973
 
958
            dir.addSQLElement(new CumulsCongesSQLElement());
974
            dir.addSQLElement(new CumulsCongesSQLElement());
959
            dir.addSQLElement(new CumulsPayeSQLElement());
975
            dir.addSQLElement(new CumulsPayeSQLElement());
960
 
976
 
961
            dir.addSQLElement(new DepartementSQLElement());
977
            dir.addSQLElement(new DepartementSQLElement());
962
                dir.addSQLElement(new DevisSQLElement());
978
            dir.addSQLElement(new DevisSQLElement());
963
            dir.addSQLElement(new TransferQuoteSQLElement());
979
            dir.addSQLElement(new TransferQuoteSQLElement());
964
            dir.addSQLElement(new DevisItemSQLElement());
980
            dir.addSQLElement(new DevisItemSQLElement());
965
 
981
 
966
            dir.addSQLElement(new EcheanceClientSQLElement());
982
            dir.addSQLElement(new EcheanceClientSQLElement());
967
            dir.addSQLElement(new EcheanceFournisseurSQLElement());
983
            dir.addSQLElement(new EcheanceFournisseurSQLElement());
Line 992... Line 1008...
992
            dir.addSQLElement(new ModeDeReglementSQLElement());
1008
            dir.addSQLElement(new ModeDeReglementSQLElement());
993
            dir.addSQLElement(new ModeReglementPayeSQLElement());
1009
            dir.addSQLElement(new ModeReglementPayeSQLElement());
994
            dir.addSQLElement(new MoisSQLElement());
1010
            dir.addSQLElement(new MoisSQLElement());
995
            dir.addSQLElement(new MouvementSQLElement());
1011
            dir.addSQLElement(new MouvementSQLElement());
996
            dir.addSQLElement(new MouvementStockSQLElement());
1012
            dir.addSQLElement(new MouvementStockSQLElement());
-
 
1013
            dir.addSQLElement(DepotStockSQLElement.class);
997
 
1014
 
998
            dir.addSQLElement(new NatureCompteSQLElement());
1015
            dir.addSQLElement(new NatureCompteSQLElement());
999
 
1016
 
1000
            dir.addSQLElement(new NumerotationAutoSQLElement());
1017
            dir.addSQLElement(new NumerotationAutoSQLElement());
1001
 
1018
 
1002
            dir.addSQLElement(new PaysSQLElement());
1019
            dir.addSQLElement(new PaysSQLElement());
1003
 
1020
 
1004
            dir.addSQLElement(new PieceSQLElement());
1021
            dir.addSQLElement(new PieceSQLElement());
1005
 
1022
 
1006
            dir.addSQLElement(new ProfilPayeElementSQLElement());
-
 
1007
 
-
 
1008
            dir.addSQLElement(ReferenceClientSQLElement.class);
1023
            dir.addSQLElement(ReferenceClientSQLElement.class);
1009
            dir.addSQLElement(new RegimeBaseSQLElement());
1024
            dir.addSQLElement(new RegimeBaseSQLElement());
1010
            dir.addSQLElement(new RelanceSQLElement());
1025
            dir.addSQLElement(new RelanceSQLElement());
1011
            dir.addSQLElement(new ReglementPayeSQLElement());
1026
            dir.addSQLElement(new ReglementPayeSQLElement());
1012
            dir.addSQLElement(new ReglerMontantSQLElement());
1027
            dir.addSQLElement(new ReglerMontantSQLElement());
Line 1021... Line 1036...
1021
            dir.addSQLElement(new SaisieVenteComptoirSQLElement());
1036
            dir.addSQLElement(new SaisieVenteComptoirSQLElement());
1022
            dir.addSQLElement(new SaisieVenteFactureSQLElement());
1037
            dir.addSQLElement(new SaisieVenteFactureSQLElement());
1023
            dir.addSQLElement(new TransferInvoiceSQLElement());
1038
            dir.addSQLElement(new TransferInvoiceSQLElement());
1024
            // at the end since it specifies action which initialize foreign keys
1039
            // at the end since it specifies action which initialize foreign keys
1025
            dir.addSQLElement(AssociationAnalytiqueSQLElement.class);
1040
            dir.addSQLElement(AssociationAnalytiqueSQLElement.class);
1026
                dir.addSQLElement(new SaisieVenteFactureItemSQLElement());
1041
                dir.addSQLElement(new SaisieVenteFactureItemSQLElement(this));
1027
 
1042
 
1028
            dir.addSQLElement(SituationFamilialeSQLElement.class);
1043
            dir.addSQLElement(SituationFamilialeSQLElement.class);
1029
            dir.addSQLElement(new StockSQLElement());
1044
            dir.addSQLElement(new StockSQLElement());
1030
            dir.addSQLElement(new StyleSQLElement());
1045
            dir.addSQLElement(new StyleSQLElement());
1031
 
1046
 
Line 1113... Line 1128...
1113
        new FactureBonSQLInjector(rootSociete);
1128
        new FactureBonSQLInjector(rootSociete);
1114
        new FactureCommandeSQLInjector(rootSociete);
1129
        new FactureCommandeSQLInjector(rootSociete);
1115
        new DevisFactureSQLInjector(rootSociete);
1130
        new DevisFactureSQLInjector(rootSociete);
1116
        new DevisCommandeSQLInjector(rootSociete);
1131
        new DevisCommandeSQLInjector(rootSociete);
1117
        new DevisCommandeFournisseurSQLInjector(rootSociete);
1132
        new DevisCommandeFournisseurSQLInjector(rootSociete);
-
 
1133
        new DevisBlEltSQLInjector(rootSociete);
-
 
1134
        new DevisBlSQLInjector(rootSociete);
1118
        new CommandeBlEltSQLInjector(rootSociete);
1135
        new CommandeBlEltSQLInjector(rootSociete);
-
 
1136
        new CommandeBrEltSQLInjector(rootSociete);
1119
        new CommandeBlSQLInjector(rootSociete);
1137
        new CommandeBlSQLInjector(rootSociete);
1120
        new BonFactureSQLInjector(rootSociete);
1138
        new BonFactureSQLInjector(rootSociete);
1121
        new BonFactureEltSQLInjector(rootSociete);
1139
        new BonFactureEltSQLInjector(rootSociete);
1122
        new CommandeFactureClientSQLInjector(rootSociete);
1140
        new CommandeFactureClientSQLInjector(rootSociete);
1123
        new CommandeBrSQLInjector(rootSociete);
1141
        new CommandeBrSQLInjector(rootSociete);
Line 1128... Line 1146...
1128
        new BrFactureAchatSQLInjector(rootSociete);
1146
        new BrFactureAchatSQLInjector(rootSociete);
1129
        new DevisEltFactureEltSQLInjector(rootSociete);
1147
        new DevisEltFactureEltSQLInjector(rootSociete);
1130
 
1148
 
1131
        if (rootSociete.contains("DEMANDE_PRIX_ACHAT_ELEMENT")) {
1149
        if (rootSociete.contains("DEMANDE_PRIX_ACHAT_ELEMENT")) {
1132
            new DmdAchatDmdPrixEltSQLInjector(rootSociete);
1150
            new DmdAchatDmdPrixEltSQLInjector(rootSociete);
-
 
1151
            new DmdPrixCmdSQLInjector(rootSociete);
1133
        }
1152
        }
1134
 
1153
 
1135
    }
1154
    }
1136
 
1155
 
1137
 
1156
 
Line 1178... Line 1197...
1178
        showAs.show("CODE_DROIT_CONTRAT", SQLRow.toList("CODE,NOM"));
1197
        showAs.show("CODE_DROIT_CONTRAT", SQLRow.toList("CODE,NOM"));
1179
        showAs.show("CODE_CARACT_ACTIVITE", SQLRow.toList("CODE,NOM"));
1198
        showAs.show("CODE_CARACT_ACTIVITE", SQLRow.toList("CODE,NOM"));
1180
        showAs.show("CODE_STATUT_PROF", SQLRow.toList("CODE,NOM"));
1199
        showAs.show("CODE_STATUT_PROF", SQLRow.toList("CODE,NOM"));
1181
        showAs.show("CODE_STATUT_CATEGORIEL", SQLRow.toList("CODE,NOM"));
1200
        showAs.show("CODE_STATUT_CATEGORIEL", SQLRow.toList("CODE,NOM"));
1182
        showAs.show("CODE_REGIME", SQLRow.toList("CODE,NOM"));
1201
        showAs.show("CODE_REGIME", SQLRow.toList("CODE,NOM"));
-
 
1202
 
1183
        showAs.show("COMMANDE", "NUMERO", "DATE", "DATE_RECEPTION_DEMANDEE", "NOM", "ID_FOURNISSEUR");
1203
        showAs.show("COMMANDE", "NUMERO", "DATE", "DATE_RECEPTION_DEMANDEE", "NOM", "ID_FOURNISSEUR");
1184
        if (root.contains("AFFAIRE")) {
1204
        if (root.getTable("COMMANDE_CLIENT").contains("ID_AFFAIRE")) {
1185
            showAs.show("COMMANDE_CLIENT", "NUMERO", "DATE", "ID_CLIENT", "ID_AFFAIRE", "NOM", "T_HT");
1205
            showAs.show("COMMANDE_CLIENT", "NUMERO", "DATE", "ID_CLIENT", "ID_AFFAIRE", "NOM", "T_HT");
1186
        } else {
1206
        } else {
1187
            showAs.show("COMMANDE_CLIENT", "NUMERO", "DATE", "NOM", "ID_CLIENT", "T_HT");
1207
            showAs.show("COMMANDE_CLIENT", "NUMERO", "ID_CLIENT", "DATE", "NOM", "T_HT");
1188
        }
1208
        }
-
 
1209
 
1189
        showAs.show("COMPTE_PCE", "NUMERO", "NOM");
1210
        showAs.show("COMPTE_PCE", "NUMERO", "NOM");
1190
        showAs.show("COMPTE_PCG", "NUMERO", "NOM");
1211
        showAs.show("COMPTE_PCG", "NUMERO", "NOM");
1191
        showAs.show("CONTACT", "NOM");
1212
        showAs.show("CONTACT", "NOM");
1192
        showAs.show("CONTRAT_SALARIE", "NATURE");
1213
        showAs.show("CONTRAT_SALARIE", "NATURE");
1193
 
1214
 
Line 1248... Line 1269...
1248
        showAs.showField("SAISIE_VENTE_FACTURE_ELEMENT.ID_SAISIE_VENTE_FACTURE", listFieldFactureElt);
1269
        showAs.showField("SAISIE_VENTE_FACTURE_ELEMENT.ID_SAISIE_VENTE_FACTURE", listFieldFactureElt);
1249
 
1270
 
1250
        showAs.show("SALARIE", SQLRow.toList("CODE,NOM,PRENOM"));
1271
        showAs.show("SALARIE", SQLRow.toList("CODE,NOM,PRENOM"));
1251
 
1272
 
1252
        showAs.show("SITUATION_FAMILIALE", "NOM");
1273
        showAs.show("SITUATION_FAMILIALE", "NOM");
-
 
1274
        if (root.getTable("STOCK").contains("ID_ARTICLE")) {
-
 
1275
            List<String> listFieldArtElt = new ArrayList<String>();
-
 
1276
            listFieldArtElt.add("CODE");
-
 
1277
            listFieldArtElt.add("NOM");
-
 
1278
            listFieldArtElt.add("ID_FAMILLE_ARTICLE");
-
 
1279
            showAs.showField("STOCK.ID_ARTICLE", listFieldArtElt);
1253
 
1280
        }
1254
        showAs.show("STYLE", "NOM");
1281
        showAs.show("STYLE", "NOM");
1255
 
1282
 
1256
        showAs.show("TAXE", "TAUX");
1283
        showAs.show("TAXE", "TAUX");
1257
 
1284
 
1258
        showAs.show(directory.getElement("TITRE_PERSONNEL").getTable(), asList("NOM"));
1285
        showAs.show(directory.getElement("TITRE_PERSONNEL").getTable(), asList("NOM"));
Line 1297... Line 1324...
1297
            SQLPreferences.startMemCached(rootSociete);
1324
            SQLPreferences.startMemCached(rootSociete);
1298
        } catch (Exception e) {
1325
        } catch (Exception e) {
1299
            // don't die now, we might not need them
1326
            // don't die now, we might not need them
1300
            ExceptionHandler.handle("Impossible d'accéder aux préférences", e);
1327
            ExceptionHandler.handle("Impossible d'accéder aux préférences", e);
1301
        }
1328
        }
-
 
1329
 
-
 
1330
        this.getModuleManager().addFactories(Gestion.MODULES_DIR);
-
 
1331
        this.getModuleManager().setup(this.getRootSociete(), this);
-
 
1332
    }
-
 
1333
 
-
 
1334
    public final ModuleManager getModuleManager() {
-
 
1335
        return this.moduleMngr;
1302
    }
1336
    }
1303
 
1337
 
1304
    public void setupBarCodeIfNeeded() {
1338
    public void setupBarCodeIfNeeded() {
1305
        final DBRoot rootSociete = this.getRootSociete();
1339
        final DBRoot rootSociete = this.getRootSociete();
1306
 
1340
 
Line 1339... Line 1373...
1339
    }
1373
    }
1340
 
1374
 
1341
    @Override
1375
    @Override
1342
    protected SQLServer createServer() {
1376
    protected SQLServer createServer() {
1343
        if (GraphicsEnvironment.isHeadless()) {
1377
        if (GraphicsEnvironment.isHeadless()) {
1344
            SQLServer server = super.createServer();
1378
            return super.createServer();
1345
            return server;
-
 
1346
        }
1379
        }
1347
        InProgressFrame progress = new InProgressFrame();
1380
        InProgressFrame progress = new InProgressFrame();
-
 
1381
        if (isOnCloud) {
-
 
1382
            progress.show("Connexion au cloud en cours");
-
 
1383
        } else {
1348
        progress.show("Connexion à votre base de données en cours");
1384
            progress.show("Connexion à la base de données en cours");
-
 
1385
        }
1349
        try {
1386
        try {
1350
            SQLServer server = super.createServer();
1387
            SQLServer server = super.createServer();
1351
            return server;
1388
            return server;
1352
        } catch (Throwable e) {
1389
        } catch (Throwable e) {
-
 
1390
            if (isOnCloud) {
-
 
1391
                JOptionPane.showMessageDialog(null, "Impossible de se connecter au cloud.\n\nVérifiez votre connexion internet.", "Erreur", JOptionPane.ERROR_MESSAGE);
-
 
1392
            } else {
1353
            ExceptionHandler.die("Impossible de se connecter à la base de données.\nVérifiez votre connexion.", e);
1393
                JOptionPane.showMessageDialog(null, "Impossible de se connecter à la base de données.\n\nVérifiez votre connexion.", "Erreur réseau", JOptionPane.ERROR_MESSAGE);
-
 
1394
            }
-
 
1395
            System.exit(1);
1354
            return null;
1396
            return null;
1355
        } finally {
1397
        } finally {
1356
            progress.dispose();
1398
            progress.dispose();
1357
        }
1399
        }
1358
 
1400