package Hito4;

// <editor-fold defaultstate="collapsed" desc=" UML Marker "> 

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Observable;
import javax.persistence.*;

// #[regen=yes,id=DCE.BADD59A2-4B3E-4207-0513-52FC7DD49333]
// </editor-fold> ~

public class Arqueo extends Observable{

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.917C51D5-6FFD-1F14-1625-E9C6A16ABABF]
    // </editor-fold>
    private Empleado mEmpleado;
    private List<OP_Basica> mOP_Basica;
    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.ED4E776C-E0AB-A19E-1C15-B3A01617F224]
    // </editor-fold> 
    

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.54137737-5932-6F5C-D3D9-52517C68BFBC]
    // </editor-fold> 
    public Arqueo () {
        mOP_Basica=new ArrayList();
    }

    public Caja ArqueoInicial(Caja AuxCaja, Double saldo){
        if (AuxCaja.getSaldoFinal() == saldo){
            AuxCaja.setSaldoInicial(AuxCaja.getSaldoFinal());
            return AuxCaja;
        }
        return null;
    }
    public Double ArqueoFinal(Sucursal s,Caja AuxCaja, Double saldo){
        if(AuxCaja.getSaldoFinal()==saldo){return null;}
        return AuxCaja.getSaldoFinal();
    }

    public boolean IngresoCentral(Sucursal s,Caja c,Double importe){
        boolean ok=false;
        Double saldo=c.getSaldoFinal();
        c.reintegroCaja(importe);
        if(importe>0){
            if(c.getSaldoFinal()<saldo){ok=true;}}
        else if(importe<0){
            if(c.getSaldoFinal()>saldo){ok=true;}}
        Producto p=new Producto();

        java.util.Date fecha = new Date();

        OP_Basica op=new OP_Basica();
        op.setConcepto("Ingreso Caja Central.");
        op.setFechaOperacion(fecha);
        op.setImporte(importe-(importe*2));

        mOP_Basica.add(op);
        s.setMOP_Basica(mOP_Basica);

        Caja cajaDire=s.devuelveCaja("Director");
        cajaDire.ingresoCaja(importe);
        return ok;
    }
    
    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,regenBody=yes,id=DCE.FE30FD14-4289-5254-26A7-3BAA4D3C0E27]
    // </editor-fold> 
    public Empleado getEmpleado () {
        return mEmpleado;
    }

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,regenBody=yes,id=DCE.BEFC3F77-CF9E-0B0C-D8F0-FE5DA4F2BDDB]
    // </editor-fold> 
    public void setEmpleado (Empleado val) {
        this.mEmpleado = val;
    }
}

