/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.rjconsultores.ventaboletos.web.utilerias.render;

import java.text.SimpleDateFormat;

import org.springframework.context.annotation.Scope;
import org.zkoss.zul.Listcell;
import org.zkoss.zul.Listitem;
import org.zkoss.zul.ListitemRenderer;

import com.rjconsultores.ventaboletos.dao.UsuarioDAO;
import com.rjconsultores.ventaboletos.entidad.CtrlSerieEmbarcada;
import com.rjconsultores.ventaboletos.entidad.Usuario;
import com.rjconsultores.ventaboletos.web.utilerias.spring.AppContext;

@Scope("prototype")
public class RenderAutorizacaoUsoSerieEmbarcada implements ListitemRenderer {
	private SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm");
	
	private UsuarioDAO usuarioDAO;

	public RenderAutorizacaoUsoSerieEmbarcada() {
		usuarioDAO = (UsuarioDAO) AppContext.getApplicationContext().getBean("usuarioDAO");
	}
	
	public void render(Listitem lstm, Object o) throws Exception {
		CtrlSerieEmbarcada item = (CtrlSerieEmbarcada) o;
		
		Usuario usuario = usuarioDAO.buscarPeloId(item.getUsuarioId());
		
		Listcell lc = new Listcell(item.getCtrlSerieEmbarcadaId().toString());
		lc.setParent(lstm);

		lc = new Listcell(item.getEmpresa().getNombempresa());
		lc.setParent(lstm);

		lc = new Listcell(item.getEstado().getCveestado());
		lc.setParent(lstm);

		lc = new Listcell(item.getSerie());
		lc.setParent(lstm);

		lc = new Listcell(item.getNumeroCorrente());
		lc.setParent(lstm);

		lc = new Listcell(item.getDispositivoEmbarcada().getDescricao());
		lc.setParent(lstm);

		lc = new Listcell(item.getDispositivoEmbarcada().getRegistro());
		lc.setParent(lstm);
		
		lc = new Listcell(item.getDispositivoEmbarcada().getIndDispBloqueado() == null || !item.getDispositivoEmbarcada().getIndDispBloqueado() ? "NÃO" : "SIM");
		lc.setParent(lstm);

		lc = new Listcell(item.getDispositivoEmbarcada().getIndDispManutencao() == null || !item.getDispositivoEmbarcada().getIndDispManutencao() ? "NÃO" : "SIM");
		lc.setParent(lstm);

		lc = new Listcell(item.getDispositivoEmbarcada().getIndDispBaixado() == null || !item.getDispositivoEmbarcada().getIndDispBaixado() ? "NÃO" : "SIM");
		lc.setParent(lstm);
		
		lc = new Listcell(item.getPuntoventa().getNombpuntoventa());
		lc.setParent(lstm);
		
		lc = new Listcell(String.format("%s - %s", usuario.getUsuarioId().toString(), usuario.getNombusuario()));
		lc.setParent(lstm);

		lc = new Listcell(sdf.format(item.getFecmodif()));
		lc.setParent(lstm);

		lstm.setAttribute("data", item);
	}
}
