OpenConcerto

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

svn://code.openconcerto.org/openconcerto

Rev

Rev 156 | Blame | Compare with Previous | 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.core.sales.order.element;

import org.openconcerto.erp.core.common.element.ComptaSQLConfElement;
import org.openconcerto.erp.core.common.ui.DeviseTableCellRenderer;
import org.openconcerto.sql.element.SQLComponent;
import org.openconcerto.sql.element.UISQLComponent;
import org.openconcerto.sql.view.list.SQLTableModelColumn;
import org.openconcerto.sql.view.list.SQLTableModelSource;
import org.openconcerto.utils.ListMap;

import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

public class ChiffrageCommandeClientSQLElement extends ComptaSQLConfElement {

    public ChiffrageCommandeClientSQLElement() {
        super("CHIFFRAGE_COMMANDE_CLIENT", "un chiffrage de commande client", "chffrages commandes clients");

    }

    @Override
    public Set<String> getReadOnlyFields() {
        Set<String> s = new HashSet<>();
        s.add("NOM");
        s.add("ID_FAMILLE_ARTICLE");
        s.add("PA_HT");
        s.add("PV_HT");        
        s.add("QTE");
        s.add("ID_UNITE_VENTE");
        s.add("T_PA_HT");
        s.add("T_PV_HT");
        return s;
    }

    /*
     * (non-Javadoc)
     * 
     * @see org.openconcerto.devis.BaseSQLElement#getComboFields()
     */
    protected List<String> getComboFields() {
        final List<String> l = new ArrayList<String>();
        // remove id_commande_client for CIM
        if (!getTable().getDBRoot().contains("ID_AFFAIRE")) {
            l.add("ID_COMMANDE_CLIENT");
        }
        l.add("NOM");
        return l;
    }

    @Override
    protected String getParentFFName() {
        return "ID_COMMANDE_CLIENT";
    }

    @Override
    protected void _initTableSource(SQLTableModelSource res) {
        super._initTableSource(res);

        SQLTableModelColumn columnQte = res.getColumn(getTable().getField("QTE"));
        if (columnQte != null) {
            columnQte.setRenderer(new DeviseTableCellRenderer());
        }

        if (getTable().contains("ANT")) {
            final SQLTableModelColumn columnAnt = res.getColumn(getTable().getField("ANT"));
            if (columnAnt != null) {
                columnAnt.setRenderer(new DeviseTableCellRenderer());
            }
        }

        final SQLTableModelColumn columnPA = res.getColumn(getTable().getField("PA_HT"));
        if (columnPA != null) {
            columnPA.setRenderer(new DeviseTableCellRenderer());
        }
        final SQLTableModelColumn columnmarge = res.getColumn(getTable().getField("MARGE"));
        if (columnmarge != null) {
            columnmarge.setRenderer(new DeviseTableCellRenderer());
        }
        SQLTableModelColumn column = res.getColumn(getTable().getField("T_PA_HT"));
        if (column != null) {
            column.setRenderer(new DeviseTableCellRenderer());
        }
    }

    /*
     * (non-Javadoc)
     * 
     * @see org.openconcerto.devis.BaseSQLElement#getListFields()
     */
    protected List<String> getListFields() {
        final List<String> l = new ArrayList<String>();
        l.add("ID_COMMANDE_CLIENT");
        l.add("NOM");
        l.add("ID_FAMILLE_ARTICLE");
        l.add("PA_HT");
        l.add("QTE");
        l.add("ID_UNITE_VENTE");
        l.add("T_PA_HT");
        l.add("MARGE");
        return l;
    }

    @Override
    public ListMap<String, String> getShowAs() {
        // TODO Auto-generated method stub
        ListMap<String, String> l = new ListMap<String, String>();
        l.putCollection(null, "ID_COMMANDE_CLIENT", "NOM", "ID_FAMILLE_ARTICLE", "PA_HT", "QTE", "T_PA_HT");
        return l;
    }

    /*
     * (non-Javadoc)
     * 
     * @see org.openconcerto.devis.SQLElement#getComponent()
     */
    public SQLComponent createComponent() {
        return new UISQLComponent(this, 3) {
            public void addViews() {
                this.addView("NOM", "1");
                this.addView("ID_FAMILLE_ARTICLE", "1");
                this.addView("PA_HT", "1");
                this.addView("PV_HT", "1");
                this.addView("QTE", "1");
                if (getTable().contains("RESTANT")) {
                    this.addView("RESTANT", "1");
                }
                this.addView("ID_UNITE_VENTE", "1");
                this.addView("T_PA_HT", "1");
                this.addView("T_PV_HT", "1");
                if (getTable().contains("ANT")) {
                    this.addView("ANT", "1");
                }
                if (getTable().contains("MOTIF")) {
                    this.addView("MOTIF", "1");
                }
            }
        };
    }

    @Override
    protected String createCode() {
        return createCodeOfPackage() + ".chiffrage";
    }

}