package javacgc;

import java.util.ArrayList;



// <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
// #[regen=yes,id=DCE.FC31A983-5CC6-49BC-D755-90147FE8792C]
// </editor-fold> 
public class Arqueo {

    private String id;
    // <editor-fold defaultstate="collapsed" desc=" UML Marker ">
    // #[regen=yes,id=DCE.15E1ACC2-9A3E-6A03-E0C8-31EF8D4143CB]
    // </editor-fold>
    private Empleado mEmpleado;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker ">
    // #[regen=yes,id=DCE.5581912D-FCD2-EE1B-E266-1B561E9B4303]
    // </editor-fold>
    private ArrayList<OpBasica> mOpBasica;
    private PartDiferencia parte;
    private double saldo;
    public static int idsec=0;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker ">
    // #[regen=yes,id=DCE.8AFA370E-665D-B067-42DF-D4218DBE3B98]
    // </editor-fold>
    public Arqueo(){
        saldo=0;
        mOpBasica=new ArrayList<OpBasica>();
    }
    public Arqueo(Empleado empleado) {
        mEmpleado=empleado;
        saldo=0;
        id="ARQ"+Arqueo.idsec;
        Arqueo.idsec++;
        mOpBasica=new ArrayList<OpBasica>();
    }
    public Arqueo(Empleado empleado, double saldo) {
        mEmpleado=empleado;
        this.saldo=saldo;
        id="ARQ"+Arqueo.idsec;
        Arqueo.idsec++;
        mOpBasica=new ArrayList<OpBasica>();
    }
    public Arqueo(Empleado empleado, Arqueo arqueo) {
        mEmpleado=empleado;
        saldo=arqueo.getSaldo();
        this.setOpBasica(arqueo.getOpBasica());
        id="ARQ"+Arqueo.idsec;
        Arqueo.idsec++;
    }

    // <editor-fold defaultstate="collapsed" desc=" UML Marker ">
    // #[regen=yes,regenBody=yes,id=DCE.E7273A5E-D361-B036-72D4-4684DED06579]
    // </editor-fold>
    public String getId () {
        return id;
    }

    // <editor-fold defaultstate="collapsed" desc=" UML Marker ">
    // #[regen=yes,regenBody=yes,id=DCE.33ACBBE5-34F6-D683-E76B-F92AB39099D4]
    // </editor-fold>
    public void setId (String val) {
        this.id = val;
    }

    // <editor-fold defaultstate="collapsed" desc=" UML Marker ">
    // #[regen=yes,regenBody=yes,id=DCE.457E33DE-C1C3-F515-9309-E72815471F6C]
    // </editor-fold>
    public Empleado getEmpleado () {
        return mEmpleado;
    }

    // <editor-fold defaultstate="collapsed" desc=" UML Marker ">
    // #[regen=yes,regenBody=yes,id=DCE.F2FD87CE-7BF6-AED5-0EBA-3038B00529F5]
    // </editor-fold>
    public void setEmpleado (Empleado val) {
        this.mEmpleado = val;
    }

    // <editor-fold defaultstate="collapsed" desc=" UML Marker ">
    // #[regen=yes,regenBody=yes,id=DCE.08B1FF6F-6DE6-E041-E42D-1C8C9E37DA86]
    // </editor-fold>
    public ArrayList<OpBasica> getOpBasica () {
        return mOpBasica;
    }

    // <editor-fold defaultstate="collapsed" desc=" UML Marker ">
    // #[regen=yes,regenBody=yes,id=DCE.6BE6BA6E-91E4-26DC-AFDB-B3FA28FD844C]
    // </editor-fold>
    public void setOpBasica (ArrayList<OpBasica> val) {
        this.mOpBasica = val;
    }
    public double getSaldo() {
        double aux=this.saldo;
        for(int i=0; i<mOpBasica.size(); i++) aux+=mOpBasica.get(i).getImporte();
        return aux;
    }
    public double getSaldoIni(){
         return saldo;
                               }

    public void setSaldo(double saldo) {
        this.saldo = saldo;
    }
     public void copiar(Arqueo arqueo) {
        this.setSaldo(arqueo.getSaldoIni());
        this.setOpBasica(new ArrayList<OpBasica>(arqueo.getOpBasica()));
    }

    /**
     * @return the parte
     */
    public PartDiferencia getParte() {
        return parte;
    }

    /**
     * @param parte the parte to set
     */
    public void setParte(PartDiferencia parte) {
        this.parte = parte;
    }
}

