OpenConcerto

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

svn://code.openconcerto.org/openconcerto

Rev

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

Rev 132 Rev 174
Line 32... Line 32...
32
public class CurrencyWithSymbolRenderer extends DefaultTableCellRenderer {
32
public class CurrencyWithSymbolRenderer extends DefaultTableCellRenderer {
33
 
33
 
34
    private final FieldPath fieldPath;
34
    private final FieldPath fieldPath;
35
    private final CurrencyConverter c;
35
    private final CurrencyConverter c;
36
 
36
 
-
 
37
    private boolean hideZeroValue = false;
-
 
38
 
37
    private String getSymbol(String currencyCode) {
39
    private String getSymbol(String currencyCode) {
38
        // Because Java Currency return PLN as Symbol for Zl, we use our own talbe
40
        // Because Java Currency return PLN as Symbol for Zl, we use our own talbe
39
        return org.openconcerto.erp.core.finance.accounting.model.Currency.getSymbol(currencyCode);
41
        return org.openconcerto.erp.core.finance.accounting.model.Currency.getSymbol(currencyCode);
40
    }
42
    }
41
 
43
 
Line 44... Line 46...
44
     */
46
     */
45
    public CurrencyWithSymbolRenderer() {
47
    public CurrencyWithSymbolRenderer() {
46
        this(null);
48
        this(null);
47
    }
49
    }
48
 
50
 
-
 
51
    public void setHideZeroValue(boolean hideZeroValue) {
-
 
52
        this.hideZeroValue = hideZeroValue;
-
 
53
    }
-
 
54
 
49
    /**
55
    /**
50
     * Affiche une valeur monétaire en ajoutant le symbole de la devise du path
56
     * Affiche une valeur monétaire en ajoutant le symbole de la devise du path
51
     * 
57
     * 
52
     * @param path chemin jusqu'au champ DEVISE.CODE
58
     * @param path chemin jusqu'au champ DEVISE.CODE
53
     */
59
     */
Line 58... Line 64...
58
 
64
 
59
    @Override
65
    @Override
60
    public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
66
    public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
61
 
67
 
62
        if (value != null) {
68
        if (value != null) {
-
 
69
            BigDecimal amount = (BigDecimal) value;
-
 
70
 
-
 
71
            if (this.hideZeroValue && amount.signum() == 0) {
-
 
72
                value = "";
-
 
73
            } else {
63
            value = GestionDevise.currencyToString((BigDecimal) value);
74
                value = GestionDevise.currencyToString(amount);
64
 
75
 
65
            if (fieldPath == null) {
76
                if (fieldPath == null) {
66
                value = value + " " + getSymbol(c.getCompanyCurrencyCode());
77
                    value = value + " " + getSymbol(c.getCompanyCurrencyCode());
67
            } else {
78
                } else {
68
 
79
 
Line 76... Line 87...
76
                    // SQLRow deviseRow = asRow;
87
                        // SQLRow deviseRow = asRow;
77
                    // Ne pas utiliser getDistant row --> fait une requete dans la base et ne
88
                        // Ne pas utiliser getDistant row --> fait une requete dans la base et ne
78
                    // reprend
89
                        // reprend
79
                    // pas les valeurs de la SQLRow (ex : si on veut récupérer la devise du
90
                        // pas les valeurs de la SQLRow (ex : si on veut récupérer la devise du
80
                    // fournisseur
91
                        // fournisseur
81
                    // sélectionné, getDistantRow ira chercher la valeur du fournisseur référencé en
92
                        // sélectionné, getDistantRow ira chercher la valeur du fournisseur
-
 
93
                        // référencé en
82
                    // BDD
94
                        // BDD
83
                    // et non dans la SQLRow)
95
                        // et non dans la SQLRow)
84
 
96
 
85
                    final List<Step> steps = this.fieldPath.getPath().getSteps();
97
                        final List<Step> steps = this.fieldPath.getPath().getSteps();
86
                    for (int i = 0; i < steps.size(); i++) {
98
                        for (int i = 0; i < steps.size(); i++) {
Line 106... Line 118...
106
                        value = value + " " + getSymbol(code);
118
                            value = value + " " + getSymbol(code);
107
                    }
119
                        }
108
                }
120
                    }
109
            }
121
                }
110
        }
122
            }
-
 
123
        }
111
        setHorizontalAlignment(SwingConstants.RIGHT);
124
        setHorizontalAlignment(SwingConstants.RIGHT);
112
 
125
 
113
        return super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
126
        return super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
114
    }
127
    }
115
}
128
}