OpenConcerto

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

svn://code.openconcerto.org/openconcerto

Rev

Rev 149 | Rev 156 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 149 Rev 151
Line 13... Line 13...
13
 
13
 
14
 package org.openconcerto.erp.core.sales.pos.ui;
14
 package org.openconcerto.erp.core.sales.pos.ui;
15
 
15
 
16
import org.openconcerto.erp.core.sales.pos.POSConfiguration;
16
import org.openconcerto.erp.core.sales.pos.POSConfiguration;
17
import org.openconcerto.erp.core.sales.pos.TicketPrinterConfiguration;
17
import org.openconcerto.erp.core.sales.pos.TicketPrinterConfiguration;
18
import org.openconcerto.erp.core.sales.pos.io.DefaultTicketPrinter;
-
 
19
import org.openconcerto.erp.core.sales.pos.io.Printable;
18
import org.openconcerto.erp.core.sales.pos.io.Printable;
20
import org.openconcerto.erp.core.sales.pos.io.TicketPrinter;
19
import org.openconcerto.erp.core.sales.pos.io.TicketPrinter;
21
import org.openconcerto.erp.core.sales.pos.model.Paiement;
20
import org.openconcerto.erp.core.sales.pos.model.Article;
22
import org.openconcerto.erp.core.sales.pos.model.RegisterFiles;
21
import org.openconcerto.erp.core.sales.pos.model.RegisterFiles;
23
import org.openconcerto.erp.core.sales.pos.model.RegisterLog;
22
import org.openconcerto.erp.core.sales.pos.model.RegisterLog;
24
import org.openconcerto.erp.core.sales.pos.model.RegisterState;
-
 
25
import org.openconcerto.erp.core.sales.pos.model.RegisterState.Status;
-
 
26
import org.openconcerto.erp.core.sales.pos.model.Ticket;
23
import org.openconcerto.erp.core.sales.pos.model.Ticket;
27
import org.openconcerto.ui.DefaultListModel;
24
import org.openconcerto.ui.DefaultListModel;
28
import org.openconcerto.ui.touch.ScrollableList;
25
import org.openconcerto.ui.touch.ScrollableList;
29
import org.openconcerto.utils.ExceptionHandler;
26
import org.openconcerto.utils.ExceptionHandler;
-
 
27
import org.openconcerto.utils.Pair;
30
 
28
 
31
import java.awt.Color;
29
import java.awt.Color;
32
import java.awt.Component;
30
import java.awt.Component;
33
import java.awt.Dimension;
31
import java.awt.Dimension;
34
import java.awt.FlowLayout;
32
import java.awt.FlowLayout;
Line 40... Line 38...
40
import java.awt.Insets;
38
import java.awt.Insets;
41
import java.awt.RenderingHints;
39
import java.awt.RenderingHints;
42
import java.awt.event.ActionEvent;
40
import java.awt.event.ActionEvent;
43
import java.awt.event.ActionListener;
41
import java.awt.event.ActionListener;
44
import java.io.IOException;
42
import java.io.IOException;
45
import java.math.BigDecimal;
-
 
46
import java.text.DateFormat;
-
 
47
import java.text.ParseException;
43
import java.text.ParseException;
48
import java.text.SimpleDateFormat;
-
 
49
import java.util.Calendar;
44
import java.util.Calendar;
50
import java.util.Date;
45
import java.util.Date;
51
import java.util.LinkedHashMap;
-
 
52
import java.util.List;
46
import java.util.List;
53
import java.util.Map;
-
 
54
import java.util.Map.Entry;
-
 
55
import java.util.TreeMap;
-
 
56
import java.util.logging.Level;
-
 
57
 
47
 
58
import javax.swing.JLabel;
48
import javax.swing.JLabel;
59
import javax.swing.JList;
49
import javax.swing.JList;
60
import javax.swing.JPanel;
50
import javax.swing.JPanel;
61
import javax.swing.JScrollPane;
51
import javax.swing.JScrollPane;
Line 248... Line 238...
248
 
238
 
249
        c.gridy++;
239
        c.gridy++;
250
        c.weighty = 0;
240
        c.weighty = 0;
251
        c.fill = GridBagConstraints.NONE;
241
        c.fill = GridBagConstraints.NONE;
252
        final Font font = new Font(ARIAL_FONT, Font.PLAIN, 46);
242
        final Font font = new Font(ARIAL_FONT, Font.PLAIN, 46);
253
        l = new JList(new String[] { "Imprimer" });
243
        l = new JList(new String[] { "Imprimer", "Annuler" });
254
        l.setCellRenderer(new ListCellRenderer() {
244
        l.setCellRenderer(new ListCellRenderer() {
255
 
245
 
256
            @Override
246
            @Override
257
            public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
247
            public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
258
                JLabel l = new JLabel(value.toString()) {
248
                JLabel l = new JLabel(value.toString()) {
Line 271... Line 261...
271
 
261
 
272
        });
262
        });
273
        l.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
263
        l.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
274
        l.getSelectionModel().addListSelectionListener(this);
264
        l.getSelectionModel().addListSelectionListener(this);
275
 
265
 
276
        l.setFixedCellHeight(80);
266
        l.setFixedCellHeight(160);
277
        this.add(l, c);
267
        this.add(l, c);
278
 
268
 
279
        setFont(new Font(ARIAL_FONT, Font.BOLD, 24));
269
        setFont(new Font(ARIAL_FONT, Font.BOLD, 24));
280
 
270
 
281
        // Listeners
271
        // Listeners
Line 297... Line 287...
297
        }
287
        }
298
        Object selectedValue = ticketList.getSelectedValue();
288
        Object selectedValue = ticketList.getSelectedValue();
299
        int selectedIndex = l.getSelectedIndex();
289
        int selectedIndex = l.getSelectedIndex();
300
        if (selectedIndex == 0 && selectedValue != null) {
290
        if (selectedIndex == 0 && selectedValue != null) {
301
            POSConfiguration.getInstance().printOnceOnFirstPrinter(((Printable) selectedValue));
291
            POSConfiguration.getInstance().printOnceOnFirstPrinter(((Printable) selectedValue));
-
 
292
        } else if (selectedIndex == 1 && selectedValue != null) {
-
 
293
            // Annulation du ticket
-
 
294
            Ticket t = (Ticket) selectedValue;
-
 
295
            for (Pair<Article, Integer> a : t.getArticles()) {
-
 
296
                frame.getControler().addArticle(a.getFirst());
-
 
297
                frame.getControler().setArticleCount(a.getFirst(), -a.getSecond());
-
 
298
                frame.getControler().setArticleHT(a.getFirst(), a.getFirst().getPriceWithoutTax());
-
 
299
            }
-
 
300
            frame.showCaisse();
302
        }
301
        }
303
        l.clearSelection();
302
        l.clearSelection();
304
    }
303
    }
305
 
304
 
306
    public void setSelectedTicket(Object selectedValue) {
305
    public void setSelectedTicket(Object selectedValue) {