
package src;

import java.awt.Component;
import java.text.DecimalFormat;
import java.text.ParseException;
import java.util.Date;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;


// <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
// #[regen=yes,id=DCE.B9410712-538A-52F7-3758-62840E07C82F]
// </editor-fold> 
public class Arqueo
{
    //En el arqueo tiene que ir un arraylist de op basicas
    Cajas caja=new Cajas();
    Empleado emple;
    private Component JfrmArqueoFinal;
    private Component JfrmArqueo;
    

   
    public Arqueo ()
    {
    }    


    public void CreaArqueo(String saldoini)
    {
        DecimalFormat df1=new DecimalFormat();
        Number n=0;
        float salini=0;
        try
        {
            n = df1.parse(saldoini);
        } catch (ParseException ex)
        {
            Logger.getLogger(jFrmIngreReinte.class.getName()).log(Level.SEVERE, null, ex);
        }
        emple.getC().setSaldo_ini(salini=n.floatValue());//Le asigno el saldo inicial de la cuenta
    }

   
    public boolean ComprobarEmpleado(Sucursal suc,String id,String contraseña)
    {
       
        boolean log=false;
        emple=suc.DevuelveEmpleado(id);
        if( (emple!=null))
        {
            if(emple.getContraseña().compareTo(contraseña)==0)
            {
                
                log=true;
            }
            else
            {
                JOptionPane.showMessageDialog(JfrmArqueo,"LA CONTRASEÑA ES INCORRECTA, VUELVA A INTENTARLO","Arqueo Inicial",JOptionPane.INFORMATION_MESSAGE);
                log=false;
            }
        }
        else
        {
            JOptionPane.showMessageDialog(JfrmArqueo,"EL USUARIO NO EXISTE","Arqueo Inicial",JOptionPane.INFORMATION_MESSAGE);
            log=false;
        }
        return log;
    }

    public void insertaCajaEmpleado(int seleccion,Sucursal suc,String idEmple)
    {
        String p= String.valueOf(seleccion);//Pasar de int a String 
        if(seleccion==1)//Caja 1
        {
            caja=suc.DevuelveCajas(p);
            emple=suc.DevuelveEmpleado(idEmple);
            emple.setIdempleado(idEmple);
            emple.setC(caja);
            Date Fechaini=new Date();
            emple.getC().setFechaArqueoInicial(Fechaini);
           
        }
        if(seleccion==2)//Caja 2
        {
            caja=suc.DevuelveCajas(p);
            emple=suc.DevuelveEmpleado(idEmple);
            emple.setIdempleado(idEmple);
            emple.setC(caja);
            Date Fechaini=new Date();
            emple.getC().setFechaArqueoInicial(Fechaini);
           
        }
        if(seleccion==3)//Caja 3
        {
            caja=suc.DevuelveCajas(p);
            emple=suc.DevuelveEmpleado(idEmple);
            emple.setIdempleado(idEmple);
            emple.setC(caja);
            Date Fechaini=new Date();
            emple.getC().setFechaArqueoInicial(Fechaini);
        }
        if(seleccion==4)//Caja 4
        {
            caja=suc.DevuelveCajas(p);
            emple=suc.DevuelveEmpleado(idEmple);
            emple.setIdempleado(idEmple);
            emple.setC(caja);
            Date Fechaini=new Date();
            emple.getC().setFechaArqueoInicial(Fechaini);
        }
        if(seleccion==5)//Caja 5
        {
            caja=suc.DevuelveCajas(p);
            emple=suc.DevuelveEmpleado(idEmple);
            emple.setIdempleado(idEmple);
            emple.setC(caja);
            Date Fechaini=new Date();
            emple.getC().setFechaArqueoInicial(Fechaini);
        }
    }
    //Metodo que comprueba el saldo final del dia, con lo que mete
    //el usuario y la suma de los ingresos y reintegros de ese dia

    public void ArqueoFinal(Sucursal suc,String saldousu)
    {
        emple=suc.DevuelveEmpleado(suc.getIdE());
        Date Fechafinal=new Date();
        emple.getC().setFechaArqueoFinal(Fechafinal);

        float saldoFinal=emple.getC().getSaldo_final();
        //Pasar de String a Float *********************************************
        float usu = 0;
        DecimalFormat df1=new DecimalFormat();
        Number n=0;
        try {
            n = df1.parse(saldousu);
        } catch (ParseException ex) {
            Logger.getLogger(jFrmIngreReinte1.class.getName()).log(Level.SEVERE, null, ex);
        }
        usu=n.floatValue();
       //**********************************************************************
        if(saldoFinal==usu)
        {
            JOptionPane.showMessageDialog(JfrmArqueoFinal,"EL SALDO ES CORRECTO, ¡¡BUEN TRABAJO!!","Arqueo Final",JOptionPane.INFORMATION_MESSAGE);
        }
        else
        {
            JOptionPane.showMessageDialog(JfrmArqueoFinal,"EL SALDO NO COINCIDE, POSIBLE ERROR","Arqueo Final",JOptionPane.ERROR_MESSAGE);
        }
    }

}
