OpenConcerto

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

svn://code.openconcerto.org/openconcerto

Rev

Rev 156 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 156 Rev 174
Line 55... Line 55...
55
    private Map<IListe, ITransformer<SQLSelect, SQLSelect>> mapListTransformer;
55
    private Map<IListe, ITransformer<SQLSelect, SQLSelect>> mapListTransformer;
56
    // Liste des filtres
56
    // Liste des filtres
57
    private Map<String, Tuple2<Date, Date>> map;
57
    private Map<String, Tuple2<Date, Date>> map;
58
    private static LinkedHashMap<String, Tuple2<Date, Date>> mapDefault;
58
    private static LinkedHashMap<String, Tuple2<Date, Date>> mapDefault;
59
    public static boolean LOAD_STATE = true;
59
    public static boolean LOAD_STATE = true;
-
 
60
    private static Tuple2<Date, Date> exerciceTuple;
60
 
61
 
61
    private JComboBox combo;
62
    private JComboBox combo;
62
 
63
 
63
    private EventListenerList listeners = new EventListenerList();
64
    private EventListenerList listeners = new EventListenerList();
64
 
65
 
Line 78... Line 79...
78
            System.err.println("Attention il ne faut pas utiliser la ListRequest par défaut sinon les filtres restent !!!");
79
            System.err.println("Attention il ne faut pas utiliser la ListRequest par défaut sinon les filtres restent !!!");
79
            Thread.dumpStack();
80
            Thread.dumpStack();
80
        }
81
        }
81
    }
82
    }
82
 
83
 
-
 
84
    private static void initDefaultMap() {
-
 
85
        mapDefault = new LinkedHashMap<String, Tuple2<Date, Date>>();
-
 
86
 
-
 
87
        // Exercice courant
-
 
88
        SQLRow rowEx = ComptaPropsConfiguration.getInstanceCompta().getRowSociete().getForeignRow("ID_EXERCICE_COMMON");
-
 
89
        Calendar c1 = rowEx.getDate("DATE_DEB");
-
 
90
        clearTimeSchedule(c1);
-
 
91
        Calendar c2 = rowEx.getDate("DATE_FIN");
-
 
92
        setEndTimeSchedule(c2);
-
 
93
        exerciceTuple = Tuple2.create(c1.getTime(), c2.getTime());
-
 
94
    }
-
 
95
 
83
    public static Map<String, Tuple2<Date, Date>> getDefaultMap() {
96
    public static Map<String, Tuple2<Date, Date>> getDefaultMap() {
84
        if (mapDefault == null) {
97
        if (mapDefault == null) {
85
            initDefaultMap();
98
            initDefaultMap();
86
        }
99
        }
87
        Map<String, Tuple2<Date, Date>> m = new LinkedHashMap<String, Tuple2<Date, Date>>();
100
        Map<String, Tuple2<Date, Date>> m = new LinkedHashMap<String, Tuple2<Date, Date>>();
-
 
101
        m.putAll(getDefaultDateFilter());
88
        m.putAll(mapDefault);
102
        m.putAll(mapDefault);
89
        return m;
103
        return m;
90
    }
104
    }
91
 
105
 
92
    private static void initDefaultMap() {
106
    public static Map<String, Tuple2<Date, Date>> getDefaultDateFilter() {
93
        mapDefault = new LinkedHashMap<String, Tuple2<Date, Date>>();
107
        Map<String, Tuple2<Date, Date>> mapDefaultDate = new LinkedHashMap<>();
94
 
108
 
95
        // ALL
109
        // ALL
96
        Date emptyDate = null;
110
        Date emptyDate = null;
97
        mapDefault.put(TM.tr("dateFilter.none"), Tuple2.create(emptyDate, emptyDate));
111
        mapDefaultDate.put(TM.tr("dateFilter.none"), Tuple2.create(emptyDate, emptyDate));
98
 
112
 
99
        Calendar c = Calendar.getInstance();
113
        Calendar c = Calendar.getInstance();
100
        // Année courante
114
        // Année courante
101
        clearTimeSchedule(c);
115
        clearTimeSchedule(c);
102
        c.set(Calendar.DATE, 1);
116
        c.set(Calendar.DATE, 1);
Line 104... Line 118...
104
        Date d1 = c.getTime();
118
        Date d1 = c.getTime();
105
        setEndTimeSchedule(c);
119
        setEndTimeSchedule(c);
106
        c.set(Calendar.DATE, 31);
120
        c.set(Calendar.DATE, 31);
107
        c.set(Calendar.MONTH, 11);
121
        c.set(Calendar.MONTH, 11);
108
        Date d2 = c.getTime();
122
        Date d2 = c.getTime();
109
        mapDefault.put(TM.tr("dateFilter.currentYear"), Tuple2.create(d1, d2));
123
        mapDefaultDate.put(TM.tr("dateFilter.currentYear"), Tuple2.create(d1, d2));
110
 
124
 
111
        // Année précedente
125
        // Année précedente
112
        clearTimeSchedule(c);
126
        clearTimeSchedule(c);
113
        c.set(Calendar.DATE, 1);
127
        c.set(Calendar.DATE, 1);
114
        c.set(Calendar.MONTH, 0);
128
        c.set(Calendar.MONTH, 0);
Line 117... Line 131...
117
 
131
 
118
        setEndTimeSchedule(c);
132
        setEndTimeSchedule(c);
119
        c.set(Calendar.DATE, 31);
133
        c.set(Calendar.DATE, 31);
120
        c.set(Calendar.MONTH, 11);
134
        c.set(Calendar.MONTH, 11);
121
        Date d4 = c.getTime();
135
        Date d4 = c.getTime();
122
        mapDefault.put(TM.tr("dateFilter.previousYear"), Tuple2.create(d3, d4));
136
        mapDefaultDate.put(TM.tr("dateFilter.previousYear"), Tuple2.create(d3, d4));
123
 
137
 
124
        // Mois courant
138
        // Mois courant
125
        c = Calendar.getInstance();
139
        c = Calendar.getInstance();
126
        clearTimeSchedule(c);
140
        clearTimeSchedule(c);
127
        c.set(Calendar.DATE, 1);
141
        c.set(Calendar.DATE, 1);
128
        Date d5 = c.getTime();
142
        Date d5 = c.getTime();
129
        c.set(Calendar.DATE, c.getActualMaximum(Calendar.DATE));
143
        c.set(Calendar.DATE, c.getActualMaximum(Calendar.DATE));
130
        setEndTimeSchedule(c);
144
        setEndTimeSchedule(c);
131
        Date d6 = c.getTime();
145
        Date d6 = c.getTime();
132
        mapDefault.put(TM.tr("dateFilter.currentMonth"), Tuple2.create(d5, d6));
146
        mapDefaultDate.put(TM.tr("dateFilter.currentMonth"), Tuple2.create(d5, d6));
133
 
147
 
134
        // Mois précédent
148
        // Mois précédent
135
        c = Calendar.getInstance();
149
        c = Calendar.getInstance();
136
        clearTimeSchedule(c);
150
        clearTimeSchedule(c);
137
        c.set(Calendar.DATE, 1);
151
        c.set(Calendar.DATE, 1);
138
        c.add(Calendar.MONTH, -1);
152
        c.add(Calendar.MONTH, -1);
139
        Date d7 = c.getTime();
153
        Date d7 = c.getTime();
140
        c.set(Calendar.DATE, c.getActualMaximum(Calendar.DATE));
154
        c.set(Calendar.DATE, c.getActualMaximum(Calendar.DATE));
141
        setEndTimeSchedule(c);
155
        setEndTimeSchedule(c);
142
        Date d8 = c.getTime();
156
        Date d8 = c.getTime();
143
        mapDefault.put(TM.tr("dateFilter.previousMonth"), Tuple2.create(d7, d8));
157
        mapDefaultDate.put(TM.tr("dateFilter.previousMonth"), Tuple2.create(d7, d8));
144
 
158
 
145
        // semaine courante
159
        // semaine courante
146
        c = Calendar.getInstance();
160
        c = Calendar.getInstance();
147
        clearTimeSchedule(c);
161
        clearTimeSchedule(c);
148
        c.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
162
        c.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
149
        Date d9 = c.getTime();
163
        Date d9 = c.getTime();
150
        c.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
164
        c.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
151
        setEndTimeSchedule(c);
165
        setEndTimeSchedule(c);
152
        Date d10 = c.getTime();
166
        Date d10 = c.getTime();
153
        mapDefault.put(TM.tr("dateFilter.currentWeek"), Tuple2.create(d9, d10));
167
        mapDefaultDate.put(TM.tr("dateFilter.currentWeek"), Tuple2.create(d9, d10));
154
 
168
 
155
        // semaine précédente
169
        // semaine précédente
156
        c = Calendar.getInstance();
170
        c = Calendar.getInstance();
157
        clearTimeSchedule(c);
171
        clearTimeSchedule(c);
158
        c.add(Calendar.DATE, -7);
172
        c.add(Calendar.DATE, -7);
159
        c.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
173
        c.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
160
        Date d11 = c.getTime();
174
        Date d11 = c.getTime();
161
        c.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
175
        c.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
162
        setEndTimeSchedule(c);
176
        setEndTimeSchedule(c);
163
        Date d12 = c.getTime();
177
        Date d12 = c.getTime();
164
        mapDefault.put(TM.tr("dateFilter.previousWeek"), Tuple2.create(d11, d12));
178
        mapDefaultDate.put(TM.tr("dateFilter.previousWeek"), Tuple2.create(d11, d12));
165
 
-
 
166
        // Exercice courant
-
 
167
        SQLRow rowEx = ComptaPropsConfiguration.getInstanceCompta().getRowSociete().getForeignRow("ID_EXERCICE_COMMON");
-
 
168
        Calendar c1 = rowEx.getDate("DATE_DEB");
-
 
169
        clearTimeSchedule(c1);
-
 
170
        Calendar c2 = rowEx.getDate("DATE_FIN");
-
 
171
        setEndTimeSchedule(c2);
-
 
172
 
179
 
173
        final Tuple2<Date, Date> exerciceTuple = Tuple2.create(c1.getTime(), c2.getTime());
-
 
174
        if (findItem(exerciceTuple, mapDefault).equals(CUSTOM_COMBO_ITEM)) {
180
        if (findItem(exerciceTuple, mapDefault).equals(CUSTOM_COMBO_ITEM)) {
175
            mapDefault.put(TM.tr("dateFilter.currentFiscalYear"), exerciceTuple);
181
            mapDefaultDate.put(TM.tr("dateFilter.currentFiscalYear"), exerciceTuple);
176
        }
182
        }
177
 
183
 
178
        // Custom
184
        // Custom
179
        mapDefault.put(CUSTOM_COMBO_ITEM, null);
185
        mapDefaultDate.put(CUSTOM_COMBO_ITEM, null);
-
 
186
 
-
 
187
        return mapDefaultDate;
-
 
188
 
-
 
189
    }
-
 
190
 
-
 
191
    private static void addCustomToMap(Map<String, Tuple2<Date, Date>> map) {
-
 
192
 
180
    }
193
    }
181
 
194
 
182
    public static void addDefaultValue(String label, Tuple2<Date, Date> period) {
195
    public static void addDefaultValue(String label, Tuple2<Date, Date> period) {
183
        if (mapDefault == null)
196
        if (mapDefault == null)
184
            initDefaultMap();
197
            initDefaultMap();
Line 334... Line 347...
334
            setEndTimeSchedule(c);
347
            setEndTimeSchedule(c);
335
            for (final IListe list : this.mapList.keySet()) {
348
            for (final IListe list : this.mapList.keySet()) {
336
                final SQLField filterField = this.mapList.get(list);
349
                final SQLField filterField = this.mapList.get(list);
337
 
350
 
338
                list.getRequest().setSelectTransf(new ITransformer<SQLSelect, SQLSelect>() {
351
                list.getRequest().setSelectTransf(new ITransformer<SQLSelect, SQLSelect>() {
-
 
352
 
339
                    @Override
353
                    @Override
340
                    public SQLSelect transformChecked(SQLSelect input) {
354
                    public SQLSelect transformChecked(SQLSelect input) {
341
                        Where w = new Where(input.getAlias(filterField), "<=", c.getTime());
355
                        Where w = new Where(input.getAlias(filterField), "<=", c.getTime());
342
                        return setWhere(input, w, mapListTransformer.get(list));
356
                        return setWhere(input, w, mapListTransformer.get(list));
343
                    }
357
                    }
344
                });
358
                });
345
            }
359
            }
346
 
360
 
347
        } else {
361
        } else {
-
 
362
 
348
            final Calendar c = Calendar.getInstance();
363
            final Calendar c = Calendar.getInstance();
349
            c.setTime(this.dateAu.getValue());
364
            c.setTime(this.dateAu.getValue());
-
 
365
 
350
            setEndTimeSchedule(c);
366
            setEndTimeSchedule(c);
351
 
367
 
352
            final Calendar c2 = Calendar.getInstance();
368
            final Calendar c2 = Calendar.getInstance();
353
            c2.setTime(this.dateDu.getValue());
369
            c2.setTime(this.dateDu.getValue());
354
            clearTimeSchedule(c2);
370
            clearTimeSchedule(c2);