OpenConcerto

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

svn://code.openconcerto.org/openconcerto

Rev

Rev 144 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 144 Rev 156
Line 81... Line 81...
81
    }
81
    }
82
 
82
 
83
    private static SQLTable tableVF = Configuration.getInstance().getDirectory().getElement("SAISIE_VENTE_FACTURE").getTable();
83
    private static SQLTable tableVF = Configuration.getInstance().getDirectory().getElement("SAISIE_VENTE_FACTURE").getTable();
84
 
84
 
85
    class TaxeComplRecap {
85
    class TaxeComplRecap {
86
        private final String code, nom;
86
        private final String code, nom, numeroCptProduit, numeroCpt;
87
        private BigDecimal percentTaxe, totalBase, qte;
87
        private BigDecimal percentTaxe, totalBase, qte;
88
 
88
 
89
        public TaxeComplRecap(String code, String nom, BigDecimal percentTaxe) {
89
        public TaxeComplRecap(SQLRowAccessor foreignTaxeCompl) {
90
            this.code = code;
90
            this.code = foreignTaxeCompl.getString("CODE");
91
            this.nom = nom;
91
            this.nom = foreignTaxeCompl.getString("NOM");
92
            this.qte = BigDecimal.ZERO;
92
            this.qte = BigDecimal.ZERO;
93
            this.percentTaxe = percentTaxe;
93
            this.percentTaxe = foreignTaxeCompl.getBigDecimal("POURCENT");
94
            this.totalBase = BigDecimal.ZERO;
94
            this.totalBase = BigDecimal.ZERO;
-
 
95
            if (foreignTaxeCompl.getObject("ID_COMPTE_PCE") != null && !foreignTaxeCompl.isForeignEmpty("ID_COMPTE_PCE")) {
-
 
96
                this.numeroCpt = foreignTaxeCompl.getForeign("ID_COMPTE_PCE").getString("NUMERO");
-
 
97
            } else {
-
 
98
                this.numeroCpt = "";
-
 
99
            }
-
 
100
            if (foreignTaxeCompl.getObject("ID_COMPTE_PCE_PRODUITS") != null && !foreignTaxeCompl.isForeignEmpty("ID_COMPTE_PCE_PRODUITS")) {
-
 
101
                this.numeroCptProduit = foreignTaxeCompl.getForeign("ID_COMPTE_PCE_PRODUITS").getString("NUMERO");
-
 
102
            } else {
-
 
103
                this.numeroCptProduit = "";
-
 
104
            }
95
        }
105
        }
96
 
106
 
97
        public void cumul(BigDecimal qte, BigDecimal total) {
107
        public void cumul(BigDecimal qte, BigDecimal total) {
98
            this.qte = qte.add(this.qte);
108
            this.qte = qte.add(this.qte);
99
            this.totalBase = total.add(this.totalBase);
109
            this.totalBase = total.add(this.totalBase);
Line 105... Line 115...
105
 
115
 
106
        public String getNom() {
116
        public String getNom() {
107
            return nom;
117
            return nom;
108
        }
118
        }
109
 
119
 
-
 
120
        public String getNumeroCpt() {
-
 
121
            return numeroCpt;
-
 
122
        }
-
 
123
 
-
 
124
        public String getNumeroCptProduit() {
-
 
125
            return numeroCptProduit;
-
 
126
        }
-
 
127
 
110
        public BigDecimal getQte() {
128
        public BigDecimal getQte() {
111
            return qte;
129
            return qte;
112
        }
130
        }
113
 
131
 
114
        public BigDecimal getPercentTaxe() {
132
        public BigDecimal getPercentTaxe() {
Line 140... Line 158...
140
        SQLRowValues rowvalsVFElt = new SQLRowValues(tableVFElt);
158
        SQLRowValues rowvalsVFElt = new SQLRowValues(tableVFElt);
141
        rowvalsVFElt.put("ID_SAISIE_VENTE_FACTURE", rowvalsVF);
159
        rowvalsVFElt.put("ID_SAISIE_VENTE_FACTURE", rowvalsVF);
142
        rowvalsVFElt.put("T_PV_HT", null);
160
        rowvalsVFElt.put("T_PV_HT", null);
143
        rowvalsVFElt.put("QTE", null);
161
        rowvalsVFElt.put("QTE", null);
144
        rowvalsVFElt.put("QTE_UNITAIRE", null);
162
        rowvalsVFElt.put("QTE_UNITAIRE", null);
-
 
163
        final SQLRowValues rowValsTaxeCompl = rowvalsVFElt.putRowValues("ID_ARTICLE").putRowValues("ID_TAXE_COMPLEMENTAIRE");
-
 
164
        rowValsTaxeCompl.putNulls("CODE", "NOM", "POURCENT");
-
 
165
        rowValsTaxeCompl.putRowValues("ID_COMPTE_PCE_PRODUITS").putNulls("NUMERO", "NOM");
145
        rowvalsVFElt.putRowValues("ID_ARTICLE").putRowValues("ID_TAXE_COMPLEMENTAIRE").putNulls("CODE", "NOM", "POURCENT");
166
        rowValsTaxeCompl.putRowValues("ID_COMPTE_PCE").putNulls("NUMERO", "NOM");
146
 
-
 
147
        SQLRowValuesListFetcher fetcher = SQLRowValuesListFetcher.create(rowvalsVFElt);
167
        SQLRowValuesListFetcher fetcher = SQLRowValuesListFetcher.create(rowvalsVFElt);
148
        fetcher.setSelTransf(new ITransformer<SQLSelect, SQLSelect>() {
168
        fetcher.setSelTransf(new ITransformer<SQLSelect, SQLSelect>() {
149
 
169
 
150
            @Override
170
            @Override
151
            public SQLSelect transformChecked(SQLSelect input) {
171
            public SQLSelect transformChecked(SQLSelect input) {
Line 164... Line 184...
164
                if (foreignArt.getForeign("ID_TAXE_COMPLEMENTAIRE") != null && !foreignArt.isForeignEmpty("ID_TAXE_COMPLEMENTAIRE")) {
184
                if (foreignArt.getForeign("ID_TAXE_COMPLEMENTAIRE") != null && !foreignArt.isForeignEmpty("ID_TAXE_COMPLEMENTAIRE")) {
165
                    final SQLRowAccessor foreignTaxeCompl = foreignArt.getForeign("ID_TAXE_COMPLEMENTAIRE");
185
                    final SQLRowAccessor foreignTaxeCompl = foreignArt.getForeign("ID_TAXE_COMPLEMENTAIRE");
166
                    if (recap.containsKey(foreignTaxeCompl.getID())) {
186
                    if (recap.containsKey(foreignTaxeCompl.getID())) {
167
                        r = recap.get(foreignTaxeCompl.getID());
187
                        r = recap.get(foreignTaxeCompl.getID());
168
                    } else {
188
                    } else {
169
                        r = new TaxeComplRecap(foreignTaxeCompl.getString("CODE"), foreignTaxeCompl.getString("NOM"), foreignTaxeCompl.getBigDecimal("POURCENT"));
189
                        r = new TaxeComplRecap(foreignTaxeCompl);
170
                        recap.put(foreignTaxeCompl.getID(), r);
190
                        recap.put(foreignTaxeCompl.getID(), r);
171
                    }
191
                    }
172
                    r.cumul(sqlRowValues.getBigDecimal("QTE_UNITAIRE").multiply(new BigDecimal(sqlRowValues.getInt("QTE"))), sqlRowValues.getBigDecimal("T_PV_HT"));
192
                    r.cumul(sqlRowValues.getBigDecimal("QTE_UNITAIRE").multiply(new BigDecimal(sqlRowValues.getInt("QTE"))), sqlRowValues.getBigDecimal("T_PV_HT"));
173
                }
193
                }
174
            }
194
            }
Line 184... Line 204...
184
        BigDecimal qteTotal = BigDecimal.ZERO;
204
        BigDecimal qteTotal = BigDecimal.ZERO;
185
 
205
 
186
        for (TaxeComplRecap item : recap.values()) {
206
        for (TaxeComplRecap item : recap.values()) {
187
            Map<String, Object> vals = new HashMap<String, Object>();
207
            Map<String, Object> vals = new HashMap<String, Object>();
188
 
208
 
-
 
209
            vals.put("COMPTE_NUMERO", item.getNumeroCpt());
-
 
210
            vals.put("COMPTE_PRODUIT_NUMERO", item.getNumeroCptProduit());
-
 
211
 
189
            vals.put("CODE", item.getCode());
212
            vals.put("CODE", item.getCode());
190
            vals.put("NOM", item.getNom());
213
            vals.put("NOM", item.getNom());
191
            vals.put("QTE", item.getQte());
214
            vals.put("QTE", item.getQte());
192
            vals.put("POURCENT", item.getPercentTaxe());
215
            vals.put("POURCENT", item.getPercentTaxe());
193
            vals.put("TOTAL_BASE", item.getTotalBaseHT());
216
            vals.put("TOTAL_BASE", item.getTotalBaseHT());