Dépôt officiel du code source de l'ERP OpenConcerto
Blame | Last modification | View Log | RSS feed
/*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
*
* Copyright 2011 OpenConcerto, by ILM Informatique. All rights reserved.
*
* The contents of this file are subject to the terms of the GNU General Public License Version 3
* only ("GPL"). You may not use this file except in compliance with the License. You can obtain a
* copy of the License at http://www.gnu.org/licenses/gpl-3.0.html See the License for the specific
* language governing permissions and limitations under the License.
*
* When distributing the software, include this License Header Notice in each file.
*/
package org.openconcerto.erp.generationDoc.provider;
import org.openconcerto.erp.generationDoc.SpreadSheetCellValueContext;
import org.openconcerto.erp.generationDoc.SpreadSheetCellValueProvider;
import org.openconcerto.erp.generationDoc.SpreadSheetCellValueProviderManager;
import org.openconcerto.sql.model.SQLRowAccessor;
import java.util.Arrays;
import java.util.List;
import com.ibm.icu.math.BigDecimal;
public class FichePayeHeureSupTotalProvider implements SpreadSheetCellValueProvider {
private boolean cumul = false;
public FichePayeHeureSupTotalProvider(boolean c) {
this.cumul = c;
}
@Override
public Object getValue(SpreadSheetCellValueContext context) {
BigDecimal total = BigDecimal.ZERO;
SQLRowAccessor rowVar = context.getRow().getForeign("ID_VARIABLE_SALARIE");
List<String> fieldHeures = Arrays.asList("HEURE_110", "HEURE_125", "HEURE_150", "HEURE_200");
for (String field : fieldHeures) {
if (cumul) {
field = field + "_CUMUL_VAL";
}
total = total.add(new BigDecimal(rowVar.getFloat(field)));
}
return total;
}
public static void register() {
SpreadSheetCellValueProviderManager.put("fichepaye.heure.sup.total", new FichePayeHeureSupTotalProvider(false));
SpreadSheetCellValueProviderManager.put("fichepaye.heure.sup.cumul.total", new FichePayeHeureSupTotalProvider(true));
}
}