package com.rjconsultores.ventaboletos.web.gui.controladores.pagoconductor;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;
import org.zkoss.util.resource.Labels;
import org.zkoss.zhtml.Messagebox;
import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zul.Datebox;

import com.rjconsultores.ventaboletos.entidad.TarjetaViaje;
import com.rjconsultores.ventaboletos.service.TarjetaViajeService;
import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer;

@Controller("envioTarjetaNominaController")
@Scope("prototype")
public class EnvioNominaController extends MyGenericForwardComposer {

    private Datebox fecInicio;
    private Datebox fecFinal;
    @Autowired
    private TarjetaViajeService tarjetaViajeService;

    @Override
    public void doAfterCompose(Component comp) throws Exception {
        super.doAfterCompose(comp);
    }

    public Datebox getFecInicio() {
        return fecInicio;
    }

    public void setFecInicio(Datebox fecInicio) {
        this.fecInicio = fecInicio;
    }

    public Datebox getFecFinal() {
        return fecFinal;
    }

    public void setFecFinal(Datebox fecFinal) {
        this.fecFinal = fecFinal;
    }

    public void onClick$btnEnviar(Event ev) throws InterruptedException {
        List<TarjetaViaje> ls = tarjetaViajeService.generarArchivoNomina(fecInicio.getValue(), fecFinal.getValue());
        if (ls != null && ls.size() > 0) {
            tarjetaViajeService.actulizarTarjetasEnviadas(ls);
            Messagebox.show(Labels.getLabel("envioNominaControllerController.MSG.enviarOK"), Labels.getLabel("busquedaTarjetaViajeController.window.title"),
                    Messagebox.OK, Messagebox.INFORMATION);
            closeWindow();
        } else {
            Messagebox.show(Labels.getLabel("envioNominaControllerController.MSG.noHayArchivosOK"), Labels.getLabel("busquedaTarjetaViajeController.window.title"),
                    Messagebox.OK, Messagebox.INFORMATION);
        }
    }
}
