OpenConcerto

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

svn://code.openconcerto.org/openconcerto

Rev

Blame | Last modification | View Log | RSS feed

package org.openconcerto.modules.subscription;

import java.awt.event.ActionEvent;
import java.sql.SQLException;
import java.util.Arrays;
import java.util.List;

import javax.swing.AbstractAction;

import org.openconcerto.erp.core.sales.product.element.ReferenceArticleSQLElement;
import org.openconcerto.sql.model.DBRoot;
import org.openconcerto.sql.model.SQLRow;
import org.openconcerto.sql.model.SQLRowListRSH;
import org.openconcerto.sql.model.SQLSelect;
import org.openconcerto.sql.model.SQLTable;
import org.openconcerto.sql.model.Where;

public class CheckArticleAction extends AbstractAction {

    private DBRoot root;

    public CheckArticleAction(DBRoot root) {
        this.root = root;
    }

    @Override
    public void actionPerformed(ActionEvent e) {

        SQLTable tableDevisElt = this.root.getTable("DEVIS_ELEMENT");
        SQLTable tableCmd = this.root.getTable("COMMANDE_CLIENT_ELEMENT");
        SQLTable tableFacture = this.root.getTable("SAISIE_VENTE_FACTURE_ELEMENT");
        SQLTable tableAvoir = this.root.getTable("AVOIR_CLIENT_ELEMENT");

        List<SQLTable> tables = Arrays.asList(tableDevisElt, tableCmd, tableFacture, tableAvoir);
        for (SQLTable sqlTable : tables) {
            SQLSelect sel = new SQLSelect();

            sel.addSelect(sqlTable.getField("CODE"));
            sel.addSelect(sqlTable.getField("NOM"));

            Where w = new Where(sqlTable.getField("ID_ARTICLE"), "=", 1);
            sel.setWhere(w);
            List<SQLRow> res = SQLRowListRSH.execute(sel);
            for (SQLRow sqlRow : res) {
                int id = ReferenceArticleSQLElement.getIdForCN(sqlRow.asRowValues(), false);
                if (id > 1) {
                    try {
                        sqlRow.createEmptyUpdateRow().put("ID_ARTICLE", id).update();
                    } catch (SQLException e1) {
                        // TODO Auto-generated catch block
                        e1.printStackTrace();
                    }
                }
            }
        }

    }

}