- LISTADO DE POLIZAS (SEPARAR POR TABS)

ACTIVAS: SON LAS POLIZAS QUE ESTAN VIGENTES Y PAGADAS
EMITIDAS: SON POLIZAS EMITIDAS DE MANERA INICIAL Y ESTA CORRIENDO SU PLAZO DE GRACIA
PENDIENTE DE PAGO: SON POLIZAS QUE ESTABAN VENCIDAS Y SE LES ASIGNO NUEVO PLAZO A PAGAR
VENCIDAS: LAS QUE PASO SU FECHA DE PAGO Y NO SE REALIZO EL PAGO, CUANDO ESTÉN EN ESTE ESTATUS QUE SE PUEDA AGREGAR NUEVO PLAZO PARA PAGAR Y PASEN A ESTATUS “PENDIENTE DE PAGO”
NOTA:
Se agregaron 2 categorías extra para mostrar las pólizas que no entraban en las categorías definidas en la tarea 
FINALIZADAS: pólizas pagadas y cuya fecha de fin ya paso
CANCELADAS: pólizas canceladas por solicitud
This commit is contained in:
Brayan.Gonzalez 2025-05-08 16:49:42 -06:00
parent a266bf4f68
commit 1264aa127b
6 changed files with 1311 additions and 426 deletions

View File

@ -81,6 +81,40 @@ public class PagosPolizaController extends ConnectionManager implements Serializ
return resultList;
}
public List<PagosPoliza> fillPagosPedientesPolizaByPoliza(Poliza poliza) {
logger.info("fillPagosPolizaByPoliza");
List<PagosPoliza> resultList = null;
Transaction transaction = null;
try {
logger.info("Searching pagos for poliza..");
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
transaction = session.beginTransaction();
CriteriaBuilder builder = session.getCriteriaBuilder();
CriteriaQuery<PagosPoliza> criteria = builder.createQuery(PagosPoliza.class);
Root<PagosPoliza> root = criteria.from(PagosPoliza.class);
Predicate criterio1 = builder.equal(root.get("poliza"), poliza);
Predicate criterio2 = builder.equal(root.get("estatusActivo"), GenericEnumType.ENABLED);
Predicate criterio3 = builder.equal(root.get("pagoEstatus"), GenericEnumType.DISABLED);
Predicate criterio4 = builder.equal(root.get("pagoEstatus"), GenericEnumType.INCOMPLETE);
criteria.where(builder.and(criterio1, criterio2), builder.or(criterio3, criterio4));
criteria.orderBy(builder.asc(root.get("fechaAPagar")));
resultList = session.createQuery(criteria).getResultList();
logger.info("Total of pagos found: " + (null == resultList ? -1 : resultList.size()));
transaction.commit();
} catch (HibernateException e) {
logger.error("Pagos cannot be loaded ");
rollback(transaction);
} catch (Exception e) {
logger.error("Method fillPagosPolizaByPoliza ", e);
rollback(transaction);
}
return resultList;
}
public List<PagosPoliza> fillPagosPolizaFechaAPagarByLocationFechaInicioAndFechaFin(Location location, Date startDate, Date endDate) {
logger.info("fillPagosPolizaByPoliza");
List<PagosPoliza> resultList = null;
@ -175,6 +209,44 @@ public class PagosPolizaController extends ConnectionManager implements Serializ
return success;
}
public PagosPoliza getSiguintePagosPolizaARealizarByPoliza(Poliza poliza) {
logger.info("getSiguintePagosPolizaARealizarByPoliza");
PagosPoliza result = null;
Transaction transaction = null;
try {
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
transaction = session.beginTransaction();
CriteriaBuilder builder = session.getCriteriaBuilder();
CriteriaQuery<PagosPoliza> criteria = builder.createQuery(PagosPoliza.class);
Root<PagosPoliza> root = criteria.from(PagosPoliza.class);
Predicate criterio1 = builder.equal(root.get("poliza"), poliza);
Predicate criterio2 = builder.equal(root.get("estatusActivo"), GenericEnumType.ENABLED);
Predicate criterio3 = builder.equal(root.get("pagoEstatus"), GenericEnumType.DISABLED);
Predicate criterio4 = builder.equal(root.get("pagoEstatus"), GenericEnumType.INCOMPLETE);
criteria.where(builder.and(criterio1, criterio2), builder.or(criterio3, criterio4));
criteria.orderBy(builder.desc(root.get("fechaAPagar")));
TypedQuery<PagosPoliza> query = session.createQuery(criteria);
query.setMaxResults(1);
result = query.getSingleResult();
transaction.commit();
} catch (NoResultException e) {
logger.info("No se encontró el pago: " + poliza.getFolio());
rollback(transaction);
} catch (HibernateException e) {
logger.error("Error al obtener el pago " + poliza.getFolio(), e);
rollback(transaction);
} catch (Exception e) {
logger.error("Error en getSiguintePagosPolizaARealizarByPoliza(" + poliza.getFolio() + ")", e);
rollback(transaction);
}
return result;
}
public boolean createDetellePago(DetellePagoPoliza dpago, User user) {
logger.info("createDetellePago");
boolean success = false;

View File

@ -107,6 +107,38 @@ public class PolizaController extends ConnectionManager implements Serializable
return results;
}
public List<Poliza> getAllPolizasByLocation(Location location) {
logger.info("findDisable");
List<Poliza> results = new ArrayList<>();
Transaction transaction = null;
try {
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
transaction = session.beginTransaction();
CriteriaBuilder builder = session.getCriteriaBuilder();
CriteriaQuery<Poliza> query = builder.createQuery(Poliza.class);
Root<Poliza> root = query.from(Poliza.class);
Predicate locations = builder.equal(root.get("location"), location);
query.where(builder.and(locations));
query.orderBy(builder.asc(root.get("createdOn")));
results = session.createQuery(query).getResultList();
transaction.commit();
logger.info("Poliza's list " + results.size());
} catch (HibernateException e) {
logger.error("Can not load Poliza list ", e);
rollback(transaction);
} catch (Exception e) {
logger.error("Method findDisable() ", e);
rollback(transaction);
}
return results;
}
/**
* @param location
* @return List of all Poliza.

View File

@ -5,8 +5,8 @@
package com.crov.prase.model.catalog;
import com.arrebol.taxiservicios.model.core.User;
import com.arrebol.taxiservicios.model.enums.PeriodoPago;
import com.arrebol.taxiservicios.model.enums.PolizaType;
import java.io.Serializable;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
@ -28,164 +28,163 @@ import org.hibernate.annotations.GenericGenerator;
*/
@Entity
@Table(name = "tipo_poliza")
public class TipoPoliza {
private static final long serialVersionUID = -6653037938225719593L;
public class TipoPoliza implements Serializable {
@Id
@GeneratedValue(generator = "uuid")
@GenericGenerator(name = "uuid", strategy = "uuid2")
@Column(name = "id", length = 36)
private String id;
@Column(name = "name", nullable = true)
private String name;
@Column(name = "costo", nullable = true)
private Double costo;
@Column(name = "costo_semestral", nullable = true)
private Double costoSemestral;
@Column(name = "costo_trimestral", nullable = true)
private Double costoTrimestral;
@Column(name = "costo_mensual", nullable = true)
private Double costoMensual;
@Enumerated(EnumType.STRING)
@Column(name = "tipo", nullable = true)
private PolizaType tipo;
@Column(name = "active", nullable = true)
private boolean active;
@ManyToOne(fetch = FetchType.LAZY, optional = false)
@JoinColumn(
name = "created_by",
referencedColumnName = "id",
nullable = false
)
private User createdBy;
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "created_on", length = 19)
private Date createdOn;
@ManyToOne(fetch = FetchType.LAZY, optional = true)
@JoinColumn(
name = "last_updated_by",
referencedColumnName = "id",
nullable = true
)
private User lastUpdatedBy;
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "last_updated_on", length = 19, nullable = true)
private Date lastUpdatedOn;
private static final long serialVersionUID = -6653037938225719593L;
public String getId() {
return id;
}
@Id
@GeneratedValue(generator = "uuid")
@GenericGenerator(name = "uuid", strategy = "uuid2")
@Column(name = "id", length = 36)
private String id;
public void setId(String id) {
this.id = id;
}
@Column(name = "name", nullable = true)
private String name;
public String getName() {
return name;
}
@Column(name = "costo", nullable = true)
private Double costo;
public void setName(String name) {
this.name = name;
}
@Column(name = "costo_semestral", nullable = true)
private Double costoSemestral;
public boolean isActive() {
return active;
}
@Column(name = "costo_trimestral", nullable = true)
private Double costoTrimestral;
public void setActive(boolean active) {
this.active = active;
}
@Column(name = "costo_mensual", nullable = true)
private Double costoMensual;
public User getCreatedBy() {
return createdBy;
}
@Enumerated(EnumType.STRING)
@Column(name = "tipo", nullable = true)
private PolizaType tipo;
public void setCreatedBy(User createdBy) {
this.createdBy = createdBy;
}
@Column(name = "active", nullable = true)
private boolean active;
public Date getCreatedOn() {
return createdOn;
}
@ManyToOne(fetch = FetchType.LAZY, optional = false)
@JoinColumn(
name = "created_by",
referencedColumnName = "id",
nullable = false
)
private User createdBy;
public void setCreatedOn(Date createdOn) {
this.createdOn = createdOn;
}
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "created_on", length = 19)
private Date createdOn;
public User getLastUpdatedBy() {
return lastUpdatedBy;
}
@ManyToOne(fetch = FetchType.LAZY, optional = true)
@JoinColumn(
name = "last_updated_by",
referencedColumnName = "id",
nullable = true
)
private User lastUpdatedBy;
public void setLastUpdatedBy(User lastUpdatedBy) {
this.lastUpdatedBy = lastUpdatedBy;
}
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "last_updated_on", length = 19, nullable = true)
private Date lastUpdatedOn;
public Date getLastUpdatedOn() {
return lastUpdatedOn;
}
public String getId() {
return id;
}
public void setLastUpdatedOn(Date lastUpdatedOn) {
this.lastUpdatedOn = lastUpdatedOn;
}
public void setId(String id) {
this.id = id;
}
public Double getCosto() {
return costo;
}
public String getName() {
return name;
}
public void setCosto(Double costo) {
this.costo = costo;
}
public void setName(String name) {
this.name = name;
}
public PolizaType getTipo() {
return tipo;
}
public boolean isActive() {
return active;
}
public void setTipo(PolizaType tipo) {
this.tipo = tipo;
}
public void setActive(boolean active) {
this.active = active;
}
public Double getCostoSemestral() {
return costoSemestral;
}
public User getCreatedBy() {
return createdBy;
}
public void setCostoSemestral(Double costoSemestral) {
this.costoSemestral = costoSemestral;
}
public void setCreatedBy(User createdBy) {
this.createdBy = createdBy;
}
public Double getCostoTrimestral() {
return costoTrimestral;
}
public Date getCreatedOn() {
return createdOn;
}
public void setCostoTrimestral(Double costoTrimestral) {
this.costoTrimestral = costoTrimestral;
}
public void setCreatedOn(Date createdOn) {
this.createdOn = createdOn;
}
public Double getCostoMensual() {
return costoMensual;
}
public User getLastUpdatedBy() {
return lastUpdatedBy;
}
public void setCostoMensual(Double costoMensual) {
this.costoMensual = costoMensual;
}
public void setLastUpdatedBy(User lastUpdatedBy) {
this.lastUpdatedBy = lastUpdatedBy;
}
public TipoPoliza(String id) {
this.id = id;
}
public Date getLastUpdatedOn() {
return lastUpdatedOn;
}
public void setLastUpdatedOn(Date lastUpdatedOn) {
this.lastUpdatedOn = lastUpdatedOn;
}
public Double getCosto() {
return costo;
}
public void setCosto(Double costo) {
this.costo = costo;
}
public PolizaType getTipo() {
return tipo;
}
public void setTipo(PolizaType tipo) {
this.tipo = tipo;
}
public Double getCostoSemestral() {
return costoSemestral;
}
public void setCostoSemestral(Double costoSemestral) {
this.costoSemestral = costoSemestral;
}
public Double getCostoTrimestral() {
return costoTrimestral;
}
public void setCostoTrimestral(Double costoTrimestral) {
this.costoTrimestral = costoTrimestral;
}
public Double getCostoMensual() {
return costoMensual;
}
public void setCostoMensual(Double costoMensual) {
this.costoMensual = costoMensual;
}
public TipoPoliza(String id) {
this.id = id;
}
public TipoPoliza() {
}
public TipoPoliza() {
}
}

View File

@ -32,231 +32,243 @@ import org.hibernate.annotations.GenericGenerator;
@Table(name = "pagos_poliza")
public class PagosPoliza implements Serializable {
private static final long serialVersionUID = -6653037938225719593L;
private static final long serialVersionUID = -6653037938225719593L;
@Id
@GeneratedValue(generator = "uuid")
@GenericGenerator(name = "uuid", strategy = "uuid2")
@Column(name = "id", length = 36)
private String id;
@Id
@GeneratedValue(generator = "uuid")
@GenericGenerator(name = "uuid", strategy = "uuid2")
@Column(name = "id", length = 36)
private String id;
@ManyToOne(fetch = FetchType.LAZY, optional = false)
@JoinColumn(
name = "id_poliza",
referencedColumnName = "id",
nullable = false
)
private Poliza poliza;
@ManyToOne(fetch = FetchType.LAZY, optional = false)
@JoinColumn(
name = "id_poliza",
referencedColumnName = "id",
nullable = false
)
private Poliza poliza;
@Enumerated(EnumType.STRING)
@Column(name = "estatus_activo", nullable = false)
private GenericEnumType estatusActivo;
@Enumerated(EnumType.STRING)
@Column(name = "estatus_activo", nullable = false)
private GenericEnumType estatusActivo;
@Enumerated(EnumType.STRING)
@Column(name = "tipo_pago", nullable = false)
private TipoAbono tipoPago;
@Enumerated(EnumType.STRING)
@Column(name = "tipo_pago", nullable = false)
private TipoAbono tipoPago;
@Enumerated(EnumType.STRING)
@Column(name = "pago_estatus", nullable = false)
private GenericEnumType pagoEstatus;
@Enumerated(EnumType.STRING)
@Column(name = "pago_estatus", nullable = false)
private GenericEnumType pagoEstatus;
@Enumerated(EnumType.STRING)
@Column(name = "metodo_pago", nullable = true)
private MetodoPago metodoPago;
@Enumerated(EnumType.STRING)
@Column(name = "metodo_pago", nullable = true)
private MetodoPago metodoPago;
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "fecha_a_pagar")
private Date fechaAPagar;
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "fecha_a_pagar")
private Date fechaAPagar;
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "fecha_pago")
private Date fechaPago;
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "nueva_fecha_a_pagar")
private Date nuevaFechaAPagar;
@Column(name = "pago")
private Double pago;
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "fecha_pago")
private Date fechaPago;
@Column(name = "cantidad_pagada")
private Double cantidadPagada;
@Column(name = "pago")
private Double pago;
@Column(name = "diferencia_pago")
private Double diferenciaPago;
@Column(name = "cantidad_pagada")
private Double cantidadPagada;
@Column(name = "folio")
private String folio;
@Column(name = "diferencia_pago")
private Double diferenciaPago;
@ManyToOne(fetch = FetchType.LAZY, optional = true)
@JoinColumn(
name = "cobro",
referencedColumnName = "id",
nullable = true
)
private User cobro;
@Column(name = "folio")
private String folio;
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "created_on")
private Date createdOn;
@ManyToOne(fetch = FetchType.LAZY, optional = true)
@JoinColumn(
name = "cobro",
referencedColumnName = "id",
nullable = true
)
private User cobro;
@ManyToOne(fetch = FetchType.LAZY, optional = false)
@JoinColumn(
name = "created_by",
referencedColumnName = "id",
nullable = false
)
private User createdBy;
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "created_on")
private Date createdOn;
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "last_updated_on")
private Date lastUpdatedOn;
@ManyToOne(fetch = FetchType.LAZY, optional = false)
@JoinColumn(
name = "created_by",
referencedColumnName = "id",
nullable = false
)
private User createdBy;
@ManyToOne(fetch = FetchType.LAZY, optional = true)
@JoinColumn(
name = "last_updated_by",
referencedColumnName = "id",
nullable = true
)
private User lastUpdatedBy;
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "last_updated_on")
private Date lastUpdatedOn;
public PagosPoliza() {
}
@ManyToOne(fetch = FetchType.LAZY, optional = true)
@JoinColumn(
name = "last_updated_by",
referencedColumnName = "id",
nullable = true
)
private User lastUpdatedBy;
public PagosPoliza(String id) {
this.id = id;
}
public PagosPoliza() {
}
public String getId() {
return id;
}
public PagosPoliza(String id) {
this.id = id;
}
public void setId(String id) {
this.id = id;
}
public String getId() {
return id;
}
public Poliza getPoliza() {
return poliza;
}
public void setId(String id) {
this.id = id;
}
public void setPoliza(Poliza poliza) {
this.poliza = poliza;
}
public Poliza getPoliza() {
return poliza;
}
public GenericEnumType getEstatusActivo() {
return estatusActivo;
}
public void setPoliza(Poliza poliza) {
this.poliza = poliza;
}
public void setEstatusActivo(GenericEnumType estatusActivo) {
this.estatusActivo = estatusActivo;
}
public GenericEnumType getEstatusActivo() {
return estatusActivo;
}
public TipoAbono getTipoPago() {
return tipoPago;
}
public void setEstatusActivo(GenericEnumType estatusActivo) {
this.estatusActivo = estatusActivo;
}
public void setTipoPago(TipoAbono tipoPago) {
this.tipoPago = tipoPago;
}
public TipoAbono getTipoPago() {
return tipoPago;
}
public GenericEnumType getPagoEstatus() {
return pagoEstatus;
}
public void setTipoPago(TipoAbono tipoPago) {
this.tipoPago = tipoPago;
}
public void setPagoEstatus(GenericEnumType pagoEstatus) {
this.pagoEstatus = pagoEstatus;
}
public GenericEnumType getPagoEstatus() {
return pagoEstatus;
}
public Date getFechaAPagar() {
return fechaAPagar;
}
public void setPagoEstatus(GenericEnumType pagoEstatus) {
this.pagoEstatus = pagoEstatus;
}
public void setFechaAPagar(Date fechaAPagar) {
this.fechaAPagar = fechaAPagar;
}
public Date getFechaAPagar() {
return fechaAPagar;
}
public Date getFechaPago() {
return fechaPago;
}
public void setFechaAPagar(Date fechaAPagar) {
this.fechaAPagar = fechaAPagar;
}
public void setFechaPago(Date fechaPago) {
this.fechaPago = fechaPago;
}
public Date getFechaPago() {
return fechaPago;
}
public Double getPago() {
return pago;
}
public void setFechaPago(Date fechaPago) {
this.fechaPago = fechaPago;
}
public void setPago(Double pago) {
this.pago = pago;
}
public Double getPago() {
return pago;
}
public Double getCantidadPagada() {
return cantidadPagada;
}
public void setPago(Double pago) {
this.pago = pago;
}
public void setCantidadPagada(Double cantidadPagada) {
this.cantidadPagada = cantidadPagada;
}
public Double getCantidadPagada() {
return cantidadPagada;
}
public Double getDiferenciaPago() {
return diferenciaPago;
}
public void setCantidadPagada(Double cantidadPagada) {
this.cantidadPagada = cantidadPagada;
}
public void setDiferenciaPago(Double diferenciaPago) {
this.diferenciaPago = diferenciaPago;
}
public Double getDiferenciaPago() {
return diferenciaPago;
}
public String getFolio() {
return folio;
}
public void setDiferenciaPago(Double diferenciaPago) {
this.diferenciaPago = diferenciaPago;
}
public void setFolio(String folio) {
this.folio = folio;
}
public String getFolio() {
return folio;
}
public User getCobro() {
return cobro;
}
public void setFolio(String folio) {
this.folio = folio;
}
public void setCobro(User cobro) {
this.cobro = cobro;
}
public User getCobro() {
return cobro;
}
public Date getCreatedOn() {
return createdOn;
}
public void setCobro(User cobro) {
this.cobro = cobro;
}
public void setCreatedOn(Date createdOn) {
this.createdOn = createdOn;
}
public Date getCreatedOn() {
return createdOn;
}
public User getCreatedBy() {
return createdBy;
}
public void setCreatedOn(Date createdOn) {
this.createdOn = createdOn;
}
public void setCreatedBy(User createdBy) {
this.createdBy = createdBy;
}
public User getCreatedBy() {
return createdBy;
}
public Date getLastUpdatedOn() {
return lastUpdatedOn;
}
public void setCreatedBy(User createdBy) {
this.createdBy = createdBy;
}
public void setLastUpdatedOn(Date lastUpdatedOn) {
this.lastUpdatedOn = lastUpdatedOn;
}
public Date getLastUpdatedOn() {
return lastUpdatedOn;
}
public User getLastUpdatedBy() {
return lastUpdatedBy;
}
public void setLastUpdatedOn(Date lastUpdatedOn) {
this.lastUpdatedOn = lastUpdatedOn;
}
public void setLastUpdatedBy(User lastUpdatedBy) {
this.lastUpdatedBy = lastUpdatedBy;
}
public User getLastUpdatedBy() {
return lastUpdatedBy;
}
public MetodoPago getMetodoPago() {
return metodoPago;
}
public void setLastUpdatedBy(User lastUpdatedBy) {
this.lastUpdatedBy = lastUpdatedBy;
}
public void setMetodoPago(MetodoPago metodoPago) {
this.metodoPago = metodoPago;
}
public MetodoPago getMetodoPago() {
return metodoPago;
}
public void setMetodoPago(MetodoPago metodoPago) {
this.metodoPago = metodoPago;
}
public Date getNuevaFechaAPagar() {
return nuevaFechaAPagar;
}
public void setNuevaFechaAPagar(Date nuevaFechaAPagar) {
this.nuevaFechaAPagar = nuevaFechaAPagar;
}
}

View File

@ -254,6 +254,28 @@ public class PolizaBean extends TaxiGenericBean implements Serializable, Datatab
}
}
public void cargarPagos() {
logger.info("cargarPagos()");
try {
setPagosPolizaList(getPagosPolizaController().fillPagosPedientesPolizaByPoliza(getSelectedPoliza()));
} catch (Exception e) {
logger.error("cargarPagos(): " + e);
}
}
public void actualizarPagoPoliza() {
logger.info("actualizarPagoPoliza()");
try {
getPagosPolizaController().updatePago(getSelectedPago(), getLoggedUser());
getPolizaList();
cargarPagos();
showMessage(FacesMessage.SEVERITY_INFO, "Pago actualizado", "Se actualizó la nueva fecha de pago");
} catch (Exception e) {
showMessage(FacesMessage.SEVERITY_ERROR, "Error", "Ocurrió un error al actualizar el pago");
logger.error("actualizarPagoPoliza(): " + e);
}
}
public void cargarDevolucion() {
setComentario("");
setMontoRenbolso(getSelectedPoliza().getCantidadPagada());
@ -771,6 +793,14 @@ public class PolizaBean extends TaxiGenericBean implements Serializable, Datatab
private GenericPersonController genericPersonController;
private List<Poliza> poliza;
private List<Poliza> polizasActivasList;
private List<Poliza> polizasEmitidasList;
private List<Poliza> polizasPedientesDePagoList;
private List<Poliza> polizasVencidasList;
private List<Poliza> polizasFinalizadasList;
private List<Poliza> polizasCaseladasList;
private List<PagosPoliza> pagosPolizaList;
private PagosPoliza selectedPago;
private List<Taxi> taxi;
private List<TipoPoliza> tipoPoliza;
private List<Person> asesor;
@ -1238,12 +1268,116 @@ public class PolizaBean extends TaxiGenericBean implements Serializable, Datatab
this.montoRenbolso = montoRenbolso;
}
public List<Poliza> getPolizasActivasList() {
return polizasActivasList;
}
public void setPolizasActivasList(List<Poliza> polizasActivasList) {
this.polizasActivasList = polizasActivasList;
}
public List<Poliza> getPolizasEmitidasList() {
return polizasEmitidasList;
}
public void setPolizasEmitidasList(List<Poliza> polizasEmitidasList) {
this.polizasEmitidasList = polizasEmitidasList;
}
public List<Poliza> getPolizasPedientesDePagoList() {
return polizasPedientesDePagoList;
}
public void setPolizasPedientesDePagoList(List<Poliza> polizasPedientesDePagoList) {
this.polizasPedientesDePagoList = polizasPedientesDePagoList;
}
public List<Poliza> getPolizasVencidasList() {
return polizasVencidasList;
}
public void setPolizasVencidasList(List<Poliza> polizasVencidasList) {
this.polizasVencidasList = polizasVencidasList;
}
public List<Poliza> getPolizasCaseladasList() {
return polizasCaseladasList;
}
public void setPolizasCaseladasList(List<Poliza> polizasCaseladasList) {
this.polizasCaseladasList = polizasCaseladasList;
}
public List<Poliza> getPolizasFinalizadasList() {
return polizasFinalizadasList;
}
public void setPolizasFinalizadasList(List<Poliza> polizasFinalizadasList) {
this.polizasFinalizadasList = polizasFinalizadasList;
}
public List<PagosPoliza> getPagosPolizaList() {
return pagosPolizaList;
}
public void setPagosPolizaList(List<PagosPoliza> pagosPolizaList) {
this.pagosPolizaList = pagosPolizaList;
}
public PagosPoliza getSelectedPago() {
return selectedPago;
}
public void setSelectedPago(PagosPoliza selectedPago) {
this.selectedPago = selectedPago;
}
public void getPolizaList() {
List<Poliza> PolizaActiva = getController().findActive(getLoggedUser().getLocation());
List<Poliza> PolizaDeshabilitada = getController().findDisable(getLoggedUser().getLocation());
setPoliza(new ArrayList<>());
getPoliza().addAll(PolizaActiva);
getPoliza().addAll(PolizaDeshabilitada);
try {
setPoliza(getController().getAllPolizasByLocation(getLoggedUser().getLocation()));
setPolizasActivasList(new ArrayList<>());
setPolizasEmitidasList(new ArrayList<>());
setPolizasPedientesDePagoList(new ArrayList<>());
setPolizasVencidasList(new ArrayList<>());
setPolizasFinalizadasList(new ArrayList<>());
setPolizasCaseladasList(new ArrayList<>());
Date fechaActual = new Date();
int NoPolizasConErrorDeCargado = 0;
for (Poliza selecPoliza : getPoliza()) {
switch (selecPoliza.getEstatus()) {
case CANCELADO:
getPolizasCaseladasList().add(selecPoliza);
break;
case LIQUIDADO:
if (selecPoliza.getEndDate().after(fechaActual)) {
getPolizasActivasList().add(selecPoliza);
} else {
getPolizasFinalizadasList().add(selecPoliza);
}
break;
default:
PagosPoliza proximoPago = getPagosPolizaController().getSiguintePagosPolizaARealizarByPoliza(selecPoliza);
if (proximoPago == null) {
NoPolizasConErrorDeCargado++;
continue;
}
if (proximoPago.getNuevaFechaAPagar() != null) {
getPolizasPedientesDePagoList().add(selecPoliza);
} else if (proximoPago.getFechaAPagar().before(fechaActual)) {
getPolizasVencidasList().add(selecPoliza);
} else {
getPolizasEmitidasList().add(selecPoliza);
}
break;
}
}
if (NoPolizasConErrorDeCargado > 0) {
showMessage(FacesMessage.SEVERITY_WARN, "ADVERTENCIA", NoPolizasConErrorDeCargado + " pólizas no se pudieron cargar correctamente ");
}
} catch (Exception e) {
showMessage(FacesMessage.SEVERITY_FATAL, "ERROR", "OCURRIÓ UN ERROR AL TRATA DE CARGAR LAS PÓLIZAS");
logger.error("getPolizaList(): " + e);
}
}
public String validarColores(Boolean estatus) {

View File

@ -8,6 +8,14 @@
<ui:define name="head">
<h:outputScript library="js" name="catalog/carBrand.js" />
<h:outputScript library="serenity-layout" name="js/calendar_es.js" />
<style type="text/css">
.grayRow {
background-color: #C4A09B !important;
background-image: none !important;
color: #f0e9e8 !important;
}
</style>
<script>
window.onload = function () {
var inputs = document.querySelectorAll('.year');
@ -34,131 +42,696 @@
<h:form id="form" rendered="#{loginBean.isUserInRole('catalog.brand.car.name')}">
<p:growl id="msgs" showDetail="true"/>
<style type="text/css">
.grayRow {
background-color: #C4A09B !important;
background-image: none !important;
color: #f0e9e8 !important;
}
</style>
<p:tabView>
<p:tab title="ACTIVAS" id="tap1">
<p:dataTable widgetVar="dtTable1" id="dtTable1" var="data" draggableRows="true" draggableColumns="true" value="#{polizaBean.polizasActivasList}" style="margin-bottom:20px; text-align: center" reflow="true" rowsPerPageTemplate="5,10,25,50,100" emptyMessage="Sin registros"
rowKey="#{data.id}" selection="#{polizaBean.selectedPoliza}" editable="true" selectionMode="single" paginator="true" rows="10" paginatorTemplate="{RowsPerPageDropdown} {FirstPageLink} {PreviousPageLink} {CurrentPageReport} {NextPageLink} {LastPageLink}"
rowStyleClass="#{polizaBean.validarColores(data.active)}">
<p:dataTable widgetVar="dtTable" id="dtTable" var="data" draggableRows="true" draggableColumns="true" value="#{polizaBean.poliza}" style="margin-bottom:20px; text-align: center" reflow="true" rowsPerPageTemplate="5,10,25,50,100" emptyMessage="Sin registros"
rowKey="#{data.id}" selection="#{polizaBean.selectedPoliza}" editable="true" selectionMode="single" paginator="true" rows="10" paginatorTemplate="{RowsPerPageDropdown} {FirstPageLink} {PreviousPageLink} {CurrentPageReport} {NextPageLink} {LastPageLink}"
rowStyleClass="#{polizaBean.validarColores(data.active)}">
<f:facet name="header">
<p:commandButton id="toggler" type="button" value="Columnas" style="float:left;" styleClass="amber-btn flat" icon="ui-icon-calendar"/>
<p:columnToggler datasource="dtTable1" trigger="toggler" />
<p:commandButton value="#{i18n['button.add']}" styleClass="amber-btn flat" style="float: right;" icon="ui-icon-plus" oncomplete="PF('dlg2').show();" action="#{polizaBean.newPoliza()}" update="carBrandForm:carBrandDialog" rendered="#{loginBean.isUserInRole('catalog.brand.car.add')}"/>
<p:commandButton value="Agregar cliente" styleClass="amber-btn flat" style="float: right;background-color: gray" icon="ui-icon-plus" update="agregarClienteForm" action="#{polizaBean.clearFormClient()}" oncomplete="PF('agregarClienteDialog').show();" />
<f:facet name="header">
<p:commandButton id="toggler" type="button" value="Columnas" style="float:left;" styleClass="amber-btn flat" icon="ui-icon-calendar"/>
<p:columnToggler datasource="dtTable" trigger="toggler" />
<p:commandButton value="#{i18n['button.add']}" styleClass="amber-btn flat" style="float: right;" icon="ui-icon-plus" oncomplete="PF('dlg2').show();" action="#{polizaBean.newPoliza()}" update="carBrandForm:carBrandDialog" rendered="#{loginBean.isUserInRole('catalog.brand.car.add')}"/>
<p:commandButton value="Agregar cliente" styleClass="amber-btn flat" style="float: right;background-color: gray" icon="ui-icon-plus" update="agregarClienteForm" action="#{polizaBean.clearFormClient()}" oncomplete="PF('agregarClienteDialog').show();" />
<p:outputPanel>
<h:outputText value="#{i18n['general.search']}: " />
<p:inputText id="globalFilter" onkeyup="PF('dtTable1').filter()" style="width:150px;color: #000000;"/>
</p:outputPanel>
</f:facet>
<p:outputPanel>
<h:outputText value="#{i18n['general.search']}: " />
<p:inputText id="globalFilter" onkeyup="PF('dtTable').filter()" style="width:150px;color: #000000;"/>
</p:outputPanel>
</f:facet>
<p:ajax event="rowEdit" listener="#{polizaBean.editRow}" update=":form:msgs" />
<p:ajax event="rowEditCancel" listener="#{polizaBean.onRowCancel}" update=":form:msgs" />
<p:ajax event="rowReorder" listener="#{polizaBean.onRowReorder}" update=":form:msgs" />
<p:ajax event="rowEdit" listener="#{polizaBean.editRow}" update=":form:msgs" />
<p:ajax event="rowEditCancel" listener="#{polizaBean.onRowCancel}" update=":form:msgs" />
<p:ajax event="rowReorder" listener="#{polizaBean.onRowReorder}" update=":form:msgs" />
<p:column headerText="Folio" sortBy="#{data.folio}" filterBy="#{data.folio}">
<h:outputText value="#{data.folio}"
style="text-transform: capitalize;">
</h:outputText>
</p:column>
<p:column headerText="Estatus" sortBy="#{data.estatus.value}" filterBy="#{data.estatus.value}">
<h:outputText value="#{data.estatus.value}" style="text-transform: capitalize;">
</h:outputText>
</p:column>
<p:column headerText="Cliente" sortBy="#{data.customer.firstName} #{data.customer.secondName} #{data.customer.lastName} #{data.customer.middleName}" filterBy="#{data.customer.firstName} #{data.customer.secondName} #{data.customer.lastName} #{data.customer.middleName}">
<h:outputText value="#{data.customer.firstName} #{data.customer.secondName} #{data.customer.lastName} #{data.customer.middleName}" style="text-transform: capitalize;">
</h:outputText>
</p:column>
<p:column headerText="Teléfono" sortBy="#{data.telefonoCliente}" filterBy="#{data.telefonoCliente}">
<h:outputText value="#{data.telefonoCliente}" style="text-transform: capitalize;">
</h:outputText>
</p:column>
<p:column headerText="Vehículo" sortBy="#{data.taxi.placa} #{data.taxi.vehicle.name} #{data.taxi.vehicle.brand.name} #{data.taxi.color.name} #{data.taxi.year}" filterBy="#{data.taxi.placa} #{data.taxi.vehicle.name} #{data.taxi.vehicle.brand.name} #{data.taxi.color.name} #{data.taxi.year}">
<h:outputText value="#{data.taxi.placa} #{data.taxi.vehicle.name} #{data.taxi.vehicle.brand.name} #{data.taxi.color.name} #{data.taxi.year}" style="text-transform: capitalize;">
</h:outputText>
</p:column>
<p:column headerText="Fecha inicial" sortBy="#{data.initDate}" filterBy="#{data.initDate}">
<h:outputText value="#{data.initDate}" style="text-transform: capitalize;">
<f:convertDateTime type="date" locale="es" pattern="dd - MMMM - yyyy"/>
</h:outputText>
</p:column>
<p:column headerText="Fecha vencimiento" sortBy="#{data.endDate}" filterBy="#{data.endDate}">
<h:outputText value="#{data.endDate}" style="text-transform: capitalize;">
<f:convertDateTime type="date" locale="es" pattern="dd - MMMM - yyyy"/>
</h:outputText>
</p:column>
<p:column headerText="Tipo" sortBy="#{data.tipoPoliza.name}" filterBy="#{data.tipoPoliza.name}">
<h:outputText value="#{data.tipoPoliza.name}" style="text-transform: capitalize;">
</h:outputText>
</p:column>
<p:column headerText="Costo" sortBy="#{data.amount}" filterBy="#{data.amount}">
<h:outputText value="#{data.amount}" style="text-transform: capitalize;">
<f:convertNumber pattern="¤#,##0.00" locale="en_US" currencySymbol="$" />
</h:outputText>
</p:column>
<p:column headerText="Asesor" sortBy="#{data.asesor.firstName} #{data.asesor.lastName}" filterBy="#{data.asesor.firstName} #{data.asesor.lastName}">
<h:outputText value="#{data.asesor.firstName} #{data.asesor.lastName}" style="text-transform: capitalize;">
</h:outputText>
</p:column>
<p:column headerText="Comentarios" sortBy="#{data.comentarios}" filterBy="#{data.comentarios}">
<h:outputText value="#{data.comentarios}" style="text-transform: capitalize;">
</h:outputText>
</p:column>
<p:column headerText="Folio" sortBy="#{data.folio}" filterBy="#{data.folio}">
<h:outputText value="#{data.folio}"
style="text-transform: capitalize;">
</h:outputText>
</p:column>
<p:column headerText="Estatus" sortBy="#{data.estatus.value}" filterBy="#{data.estatus.value}">
<h:outputText value="#{data.estatus.value}" style="text-transform: capitalize;">
</h:outputText>
</p:column>
<p:column headerText="Cliente" sortBy="#{data.customer.firstName} #{data.customer.secondName} #{data.customer.lastName} #{data.customer.middleName}" filterBy="#{data.customer.firstName} #{data.customer.secondName} #{data.customer.lastName} #{data.customer.middleName}">
<h:outputText value="#{data.customer.firstName} #{data.customer.secondName} #{data.customer.lastName} #{data.customer.middleName}" style="text-transform: capitalize;">
</h:outputText>
</p:column>
<p:column headerText="Teléfono" sortBy="#{data.telefonoCliente}" filterBy="#{data.telefonoCliente}">
<h:outputText value="#{data.telefonoCliente}" style="text-transform: capitalize;">
</h:outputText>
</p:column>
<p:column headerText="Vehículo" sortBy="#{data.taxi.placa} #{data.taxi.vehicle.name} #{data.taxi.vehicle.brand.name} #{data.taxi.color.name} #{data.taxi.year}" filterBy="#{data.taxi.placa} #{data.taxi.vehicle.name} #{data.taxi.vehicle.brand.name} #{data.taxi.color.name} #{data.taxi.year}">
<h:outputText value="#{data.taxi.placa} #{data.taxi.vehicle.name} #{data.taxi.vehicle.brand.name} #{data.taxi.color.name} #{data.taxi.year}" style="text-transform: capitalize;">
</h:outputText>
</p:column>
<p:column headerText="Fecha inicial" sortBy="#{data.initDate}" filterBy="#{data.initDate}">
<h:outputText value="#{data.initDate}" style="text-transform: capitalize;">
<f:convertDateTime type="date" locale="es" pattern="dd - MMMM - yyyy"/>
</h:outputText>
</p:column>
<p:column headerText="Fecha vencimiento" sortBy="#{data.endDate}" filterBy="#{data.endDate}">
<h:outputText value="#{data.endDate}" style="text-transform: capitalize;">
<f:convertDateTime type="date" locale="es" pattern="dd - MMMM - yyyy"/>
</h:outputText>
</p:column>
<p:column headerText="Tipo" sortBy="#{data.tipoPoliza.name}" filterBy="#{data.tipoPoliza.name}">
<h:outputText value="#{data.tipoPoliza.name}" style="text-transform: capitalize;">
</h:outputText>
</p:column>
<p:column headerText="Costo" sortBy="#{data.amount}" filterBy="#{data.amount}">
<h:outputText value="#{data.amount}" style="text-transform: capitalize;">
<f:convertNumber pattern="¤#,##0.00" locale="en_US" currencySymbol="$" />
</h:outputText>
</p:column>
<p:column headerText="Asesor" sortBy="#{data.asesor.firstName} #{data.asesor.lastName}" filterBy="#{data.asesor.firstName} #{data.asesor.lastName}">
<h:outputText value="#{data.asesor.firstName} #{data.asesor.lastName}" style="text-transform: capitalize;">
</h:outputText>
</p:column>
<p:column headerText="Comentarios" sortBy="#{data.comentarios}" filterBy="#{data.comentarios}">
<h:outputText value="#{data.comentarios}" style="text-transform: capitalize;">
</h:outputText>
</p:column>
<p:column headerText="Fecha registro" sortBy="#{data.createdOn}" filterBy="#{data.createdOn}">
<h:outputText value="#{data.createdOn}" style="text-transform: capitalize;">
<f:convertDateTime type="date" timeZone="GMT-7" locale="es" pattern="dd - MMMM - yyyy"/>
</h:outputText>
</p:column>
<p:column headerText="Fecha registro" sortBy="#{data.createdOn}" filterBy="#{data.createdOn}">
<h:outputText value="#{data.createdOn}" style="text-transform: capitalize;">
<f:convertDateTime type="date" timeZone="GMT-7" locale="es" pattern="dd - MMMM - yyyy"/>
</h:outputText>
</p:column>
<p:column headerText="Usuario creación" sortBy="#{data.createdBy.person.firstName} #{data.createdBy.person.secondName} #{data.createdBy.person.lastName} #{data.createdBy.person.middleName}" filterBy="#{data.createdBy.person.firstName} #{data.createdBy.person.secondName} #{data.createdBy.person.lastName} #{data.createdBy.person.middleName}">
<h:outputText value="#{data.createdBy.person.firstName} #{data.createdBy.person.secondName} #{data.createdBy.person.lastName} #{data.createdBy.person.middleName}" />
</p:column>
<p:column headerText="Usuario creación" sortBy="#{data.createdBy.person.firstName} #{data.createdBy.person.secondName} #{data.createdBy.person.lastName} #{data.createdBy.person.middleName}" filterBy="#{data.createdBy.person.firstName} #{data.createdBy.person.secondName} #{data.createdBy.person.lastName} #{data.createdBy.person.middleName}">
<h:outputText value="#{data.createdBy.person.firstName} #{data.createdBy.person.secondName} #{data.createdBy.person.lastName} #{data.createdBy.person.middleName}" />
</p:column>
<p:column headerText="Acciones" style="width: 4em">
<p:commandButton
icon="ui-icon-pencil"
title="Editar"
class="ui-button-icon-only green-pixcua"
oncomplete="PF('dlg2').show()"
update="carBrandForm:carBrandDialog"
action="#{polizaBean.cargarPoliza()}"
rendered="#{data.active and (data.estatus eq 'COTIZACION' or data.estatus eq 'PENDIENTE')}">
<f:setPropertyActionListener value="#{data}" target="#{polizaBean.selectedPoliza}"/>
</p:commandButton>
<p:column headerText="Acciones" style="width: 4em">
<p:commandButton
icon="ui-icon-pencil"
title="Editar"
class="ui-button-icon-only green-pixcua"
oncomplete="PF('dlg2').show()"
update="carBrandForm:carBrandDialog"
action="#{polizaBean.cargarPoliza()}"
rendered="#{data.active and (data.estatus eq 'COTIZACION' or data.estatus eq 'PENDIENTE')}">
<f:setPropertyActionListener value="#{data}" target="#{polizaBean.selectedPoliza}"/>
</p:commandButton>
<p:commandButton
icon="ui-icon-close"
title="Cancelar póliza"
class="rounded-button"
style="background: red"
oncomplete="PF('eliminarPoliza').show()"
update="eliminarPolizaForm:eliminarPoliza"
action="#{polizaBean.cargarDevolucion()}"
rendered="#{data.active and data.estatus ne 'CANCELADO'}">
<f:setPropertyActionListener value="#{data}" target="#{polizaBean.selectedPoliza}"/>
<p:commandButton
icon="ui-icon-close"
title="Cancelar póliza"
class="rounded-button"
style="background: red"
oncomplete="PF('eliminarPoliza').show()"
update="eliminarPolizaForm:eliminarPoliza"
action="#{polizaBean.cargarDevolucion()}"
rendered="#{data.active and data.estatus ne 'CANCELADO'}">
<f:setPropertyActionListener value="#{data}" target="#{polizaBean.selectedPoliza}"/>
<p:commandButton title="Deshabilitar póliza" rendered="#{data.active}" styleClass="edit-button rounded-button ui-button-secondary"
style="background-color: gray; padding-top: 1em" icon="ui-icon-minusthick" action="#{polizaBean.deleteRow()}" update="form" >
<f:setPropertyActionListener value="#{data}" target="#{polizaBean.selectedPoliza}"/>
<p:confirm header="Deshabilitar póliza" message="¿Está seguro de deshabilitar esta póliza?" icon="pi pi-info-circle"/>
</p:commandButton>
<p:commandButton title="Deshabilitar póliza" rendered="#{data.active}" styleClass="edit-button rounded-button ui-button-secondary"
style="background-color: gray; padding-top: 1em" icon="ui-icon-minusthick" action="#{polizaBean.deleteRow()}" update="form" >
<f:setPropertyActionListener value="#{data}" target="#{polizaBean.selectedPoliza}"/>
<p:confirm header="Deshabilitar póliza" message="¿Está seguro de deshabilitar esta póliza?" icon="pi pi-info-circle"/>
</p:commandButton>
</p:commandButton>
</p:column>
</p:dataTable>
</p:tab>
<p:tab title="EMITIDAS" id="tap2">
<p:dataTable widgetVar="dtTable2" id="dtTable2" var="data" draggableRows="true" draggableColumns="true" value="#{polizaBean.polizasEmitidasList}" style="margin-bottom:20px; text-align: center" reflow="true" rowsPerPageTemplate="5,10,25,50,100" emptyMessage="Sin registros"
rowKey="#{data.id}" selection="#{polizaBean.selectedPoliza}" editable="true" selectionMode="single" paginator="true" rows="10" paginatorTemplate="{RowsPerPageDropdown} {FirstPageLink} {PreviousPageLink} {CurrentPageReport} {NextPageLink} {LastPageLink}"
rowStyleClass="#{polizaBean.validarColores(data.active)}">
</p:commandButton>
</p:column>
</p:dataTable>
<f:facet name="header">
<p:commandButton id="toggler" type="button" value="Columnas" style="float:left;" styleClass="amber-btn flat" icon="ui-icon-calendar"/>
<p:columnToggler datasource="dtTable2" trigger="toggler" />
<p:commandButton value="#{i18n['button.add']}" styleClass="amber-btn flat" style="float: right;" icon="ui-icon-plus" oncomplete="PF('dlg2').show();" action="#{polizaBean.newPoliza()}" update="carBrandForm:carBrandDialog" rendered="#{loginBean.isUserInRole('catalog.brand.car.add')}"/>
<p:commandButton value="Agregar cliente" styleClass="amber-btn flat" style="float: right;background-color: gray" icon="ui-icon-plus" update="agregarClienteForm" action="#{polizaBean.clearFormClient()}" oncomplete="PF('agregarClienteDialog').show();" />
<p:contextMenu for="dtTable" rendered="#{loginBean.isUserInRole('catalog.brand.car.delete')}">
<p:menuitem value="Borrar" update="dtTable,:form:msgs" icon="ui-icon-close" actionListener="#{polizaBean.deleteRow}"/>
</p:contextMenu>
<p:outputPanel>
<h:outputText value="#{i18n['general.search']}: " />
<p:inputText id="globalFilter" onkeyup="PF('dtTable2').filter()" style="width:150px;color: #000000;"/>
</p:outputPanel>
</f:facet>
<p:confirmDialog global="true" showEffect="fade" hideEffect="fade" responsive="true" width="350">
<p:ajax event="rowEdit" listener="#{polizaBean.editRow}" update=":form:msgs" />
<p:ajax event="rowEditCancel" listener="#{polizaBean.onRowCancel}" update=":form:msgs" />
<p:ajax event="rowReorder" listener="#{polizaBean.onRowReorder}" update=":form:msgs" />
<p:column headerText="Folio" sortBy="#{data.folio}" filterBy="#{data.folio}">
<h:outputText value="#{data.folio}"
style="text-transform: capitalize;">
</h:outputText>
</p:column>
<p:column headerText="Estatus" sortBy="#{data.estatus.value}" filterBy="#{data.estatus.value}">
<h:outputText value="#{data.estatus.value}" style="text-transform: capitalize;">
</h:outputText>
</p:column>
<p:column headerText="Cliente" sortBy="#{data.customer.firstName} #{data.customer.secondName} #{data.customer.lastName} #{data.customer.middleName}" filterBy="#{data.customer.firstName} #{data.customer.secondName} #{data.customer.lastName} #{data.customer.middleName}">
<h:outputText value="#{data.customer.firstName} #{data.customer.secondName} #{data.customer.lastName} #{data.customer.middleName}" style="text-transform: capitalize;">
</h:outputText>
</p:column>
<p:column headerText="Teléfono" sortBy="#{data.telefonoCliente}" filterBy="#{data.telefonoCliente}">
<h:outputText value="#{data.telefonoCliente}" style="text-transform: capitalize;">
</h:outputText>
</p:column>
<p:column headerText="Vehículo" sortBy="#{data.taxi.placa} #{data.taxi.vehicle.name} #{data.taxi.vehicle.brand.name} #{data.taxi.color.name} #{data.taxi.year}" filterBy="#{data.taxi.placa} #{data.taxi.vehicle.name} #{data.taxi.vehicle.brand.name} #{data.taxi.color.name} #{data.taxi.year}">
<h:outputText value="#{data.taxi.placa} #{data.taxi.vehicle.name} #{data.taxi.vehicle.brand.name} #{data.taxi.color.name} #{data.taxi.year}" style="text-transform: capitalize;">
</h:outputText>
</p:column>
<p:column headerText="Fecha inicial" sortBy="#{data.initDate}" filterBy="#{data.initDate}">
<h:outputText value="#{data.initDate}" style="text-transform: capitalize;">
<f:convertDateTime type="date" locale="es" pattern="dd - MMMM - yyyy"/>
</h:outputText>
</p:column>
<p:column headerText="Fecha vencimiento" sortBy="#{data.endDate}" filterBy="#{data.endDate}">
<h:outputText value="#{data.endDate}" style="text-transform: capitalize;">
<f:convertDateTime type="date" locale="es" pattern="dd - MMMM - yyyy"/>
</h:outputText>
</p:column>
<p:column headerText="Tipo" sortBy="#{data.tipoPoliza.name}" filterBy="#{data.tipoPoliza.name}">
<h:outputText value="#{data.tipoPoliza.name}" style="text-transform: capitalize;">
</h:outputText>
</p:column>
<p:column headerText="Costo" sortBy="#{data.amount}" filterBy="#{data.amount}">
<h:outputText value="#{data.amount}" style="text-transform: capitalize;">
<f:convertNumber pattern="¤#,##0.00" locale="en_US" currencySymbol="$" />
</h:outputText>
</p:column>
<p:column headerText="Asesor" sortBy="#{data.asesor.firstName} #{data.asesor.lastName}" filterBy="#{data.asesor.firstName} #{data.asesor.lastName}">
<h:outputText value="#{data.asesor.firstName} #{data.asesor.lastName}" style="text-transform: capitalize;">
</h:outputText>
</p:column>
<p:column headerText="Comentarios" sortBy="#{data.comentarios}" filterBy="#{data.comentarios}">
<h:outputText value="#{data.comentarios}" style="text-transform: capitalize;">
</h:outputText>
</p:column>
<p:column headerText="Fecha registro" sortBy="#{data.createdOn}" filterBy="#{data.createdOn}">
<h:outputText value="#{data.createdOn}" style="text-transform: capitalize;">
<f:convertDateTime type="date" timeZone="GMT-7" locale="es" pattern="dd - MMMM - yyyy"/>
</h:outputText>
</p:column>
<p:column headerText="Usuario creación" sortBy="#{data.createdBy.person.firstName} #{data.createdBy.person.secondName} #{data.createdBy.person.lastName} #{data.createdBy.person.middleName}" filterBy="#{data.createdBy.person.firstName} #{data.createdBy.person.secondName} #{data.createdBy.person.lastName} #{data.createdBy.person.middleName}">
<h:outputText value="#{data.createdBy.person.firstName} #{data.createdBy.person.secondName} #{data.createdBy.person.lastName} #{data.createdBy.person.middleName}" />
</p:column>
<p:column headerText="Acciones" style="width: 4em">
<p:commandButton
icon="ui-icon-pencil"
title="Editar"
class="ui-button-icon-only green-pixcua"
oncomplete="PF('dlg2').show()"
update="carBrandForm:carBrandDialog"
action="#{polizaBean.cargarPoliza()}"
rendered="#{data.active and (data.estatus eq 'COTIZACION' or data.estatus eq 'PENDIENTE')}">
<f:setPropertyActionListener value="#{data}" target="#{polizaBean.selectedPoliza}"/>
</p:commandButton>
<p:commandButton
icon="ui-icon-close"
title="Cancelar póliza"
class="rounded-button"
style="background: red"
oncomplete="PF('eliminarPoliza').show()"
update="eliminarPolizaForm:eliminarPoliza"
action="#{polizaBean.cargarDevolucion()}"
rendered="#{data.active and data.estatus ne 'CANCELADO'}">
<f:setPropertyActionListener value="#{data}" target="#{polizaBean.selectedPoliza}"/>
<p:commandButton title="Deshabilitar póliza" rendered="#{data.active}" styleClass="edit-button rounded-button ui-button-secondary"
style="background-color: gray; padding-top: 1em" icon="ui-icon-minusthick" action="#{polizaBean.deleteRow()}" update="form" >
<f:setPropertyActionListener value="#{data}" target="#{polizaBean.selectedPoliza}"/>
<p:confirm header="Deshabilitar póliza" message="¿Está seguro de deshabilitar esta póliza?" icon="pi pi-info-circle"/>
</p:commandButton>
</p:commandButton>
</p:column>
</p:dataTable>
</p:tab>
<p:tab title="PENDIENTE DE PAGO" id="tap3">
<p:dataTable widgetVar="dtTable3" id="dtTable3" var="data" draggableRows="true" draggableColumns="true" value="#{polizaBean.polizasPedientesDePagoList}" style="margin-bottom:20px; text-align: center" reflow="true" rowsPerPageTemplate="5,10,25,50,100" emptyMessage="Sin registros"
rowKey="#{data.id}" selection="#{polizaBean.selectedPoliza}" editable="true" selectionMode="single" paginator="true" rows="10" paginatorTemplate="{RowsPerPageDropdown} {FirstPageLink} {PreviousPageLink} {CurrentPageReport} {NextPageLink} {LastPageLink}"
rowStyleClass="#{polizaBean.validarColores(data.active)}">
<f:facet name="header">
<p:commandButton id="toggler" type="button" value="Columnas" style="float:left;" styleClass="amber-btn flat" icon="ui-icon-calendar"/>
<p:columnToggler datasource="dtTable3" trigger="toggler" />
<p:commandButton value="#{i18n['button.add']}" styleClass="amber-btn flat" style="float: right;" icon="ui-icon-plus" oncomplete="PF('dlg2').show();" action="#{polizaBean.newPoliza()}" update="carBrandForm:carBrandDialog" rendered="#{loginBean.isUserInRole('catalog.brand.car.add')}"/>
<p:commandButton value="Agregar cliente" styleClass="amber-btn flat" style="float: right;background-color: gray" icon="ui-icon-plus" update="agregarClienteForm" action="#{polizaBean.clearFormClient()}" oncomplete="PF('agregarClienteDialog').show();" />
<p:outputPanel>
<h:outputText value="#{i18n['general.search']}: " />
<p:inputText id="globalFilter" onkeyup="PF('dtTable3').filter()" style="width:150px;color: #000000;"/>
</p:outputPanel>
</f:facet>
<p:ajax event="rowEdit" listener="#{polizaBean.editRow}" update=":form:msgs" />
<p:ajax event="rowEditCancel" listener="#{polizaBean.onRowCancel}" update=":form:msgs" />
<p:ajax event="rowReorder" listener="#{polizaBean.onRowReorder}" update=":form:msgs" />
<p:column headerText="Folio" sortBy="#{data.folio}" filterBy="#{data.folio}">
<h:outputText value="#{data.folio}"
style="text-transform: capitalize;">
</h:outputText>
</p:column>
<p:column headerText="Estatus" sortBy="#{data.estatus.value}" filterBy="#{data.estatus.value}">
<h:outputText value="#{data.estatus.value}" style="text-transform: capitalize;">
</h:outputText>
</p:column>
<p:column headerText="Cliente" sortBy="#{data.customer.firstName} #{data.customer.secondName} #{data.customer.lastName} #{data.customer.middleName}" filterBy="#{data.customer.firstName} #{data.customer.secondName} #{data.customer.lastName} #{data.customer.middleName}">
<h:outputText value="#{data.customer.firstName} #{data.customer.secondName} #{data.customer.lastName} #{data.customer.middleName}" style="text-transform: capitalize;">
</h:outputText>
</p:column>
<p:column headerText="Teléfono" sortBy="#{data.telefonoCliente}" filterBy="#{data.telefonoCliente}">
<h:outputText value="#{data.telefonoCliente}" style="text-transform: capitalize;">
</h:outputText>
</p:column>
<p:column headerText="Vehículo" sortBy="#{data.taxi.placa} #{data.taxi.vehicle.name} #{data.taxi.vehicle.brand.name} #{data.taxi.color.name} #{data.taxi.year}" filterBy="#{data.taxi.placa} #{data.taxi.vehicle.name} #{data.taxi.vehicle.brand.name} #{data.taxi.color.name} #{data.taxi.year}">
<h:outputText value="#{data.taxi.placa} #{data.taxi.vehicle.name} #{data.taxi.vehicle.brand.name} #{data.taxi.color.name} #{data.taxi.year}" style="text-transform: capitalize;">
</h:outputText>
</p:column>
<p:column headerText="Fecha inicial" sortBy="#{data.initDate}" filterBy="#{data.initDate}">
<h:outputText value="#{data.initDate}" style="text-transform: capitalize;">
<f:convertDateTime type="date" locale="es" pattern="dd - MMMM - yyyy"/>
</h:outputText>
</p:column>
<p:column headerText="Fecha vencimiento" sortBy="#{data.endDate}" filterBy="#{data.endDate}">
<h:outputText value="#{data.endDate}" style="text-transform: capitalize;">
<f:convertDateTime type="date" locale="es" pattern="dd - MMMM - yyyy"/>
</h:outputText>
</p:column>
<p:column headerText="Tipo" sortBy="#{data.tipoPoliza.name}" filterBy="#{data.tipoPoliza.name}">
<h:outputText value="#{data.tipoPoliza.name}" style="text-transform: capitalize;">
</h:outputText>
</p:column>
<p:column headerText="Costo" sortBy="#{data.amount}" filterBy="#{data.amount}">
<h:outputText value="#{data.amount}" style="text-transform: capitalize;">
<f:convertNumber pattern="¤#,##0.00" locale="en_US" currencySymbol="$" />
</h:outputText>
</p:column>
<p:column headerText="Asesor" sortBy="#{data.asesor.firstName} #{data.asesor.lastName}" filterBy="#{data.asesor.firstName} #{data.asesor.lastName}">
<h:outputText value="#{data.asesor.firstName} #{data.asesor.lastName}" style="text-transform: capitalize;">
</h:outputText>
</p:column>
<p:column headerText="Comentarios" sortBy="#{data.comentarios}" filterBy="#{data.comentarios}">
<h:outputText value="#{data.comentarios}" style="text-transform: capitalize;">
</h:outputText>
</p:column>
<p:column headerText="Fecha registro" sortBy="#{data.createdOn}" filterBy="#{data.createdOn}">
<h:outputText value="#{data.createdOn}" style="text-transform: capitalize;">
<f:convertDateTime type="date" timeZone="GMT-7" locale="es" pattern="dd - MMMM - yyyy"/>
</h:outputText>
</p:column>
<p:column headerText="Usuario creación" sortBy="#{data.createdBy.person.firstName} #{data.createdBy.person.secondName} #{data.createdBy.person.lastName} #{data.createdBy.person.middleName}" filterBy="#{data.createdBy.person.firstName} #{data.createdBy.person.secondName} #{data.createdBy.person.lastName} #{data.createdBy.person.middleName}">
<h:outputText value="#{data.createdBy.person.firstName} #{data.createdBy.person.secondName} #{data.createdBy.person.lastName} #{data.createdBy.person.middleName}" />
</p:column>
<p:column headerText="Acciones" style="width: 4em">
<p:commandButton
value="$"
title="Pagos"
class="ui-button"
style="background: orange; margin-bottom: 0.5em"
oncomplete="PF('verPagoPoliza').show()"
update="verPagoPolizaForm"
action="#{polizaBean.cargarPagos()}"
rendered="#{data.active and (data.estatus eq 'COTIZACION' or data.estatus eq 'PENDIENTE')}">
<f:setPropertyActionListener value="#{data}" target="#{polizaBean.selectedPoliza}"/>
</p:commandButton>
<br/>
<p:commandButton
icon="ui-icon-pencil"
title="Editar"
class="ui-button-icon-only green-pixcua"
oncomplete="PF('dlg2').show()"
update="carBrandForm:carBrandDialog"
action="#{polizaBean.cargarPoliza()}"
rendered="#{data.active and (data.estatus eq 'COTIZACION' or data.estatus eq 'PENDIENTE')}">
<f:setPropertyActionListener value="#{data}" target="#{polizaBean.selectedPoliza}"/>
</p:commandButton>
<p:commandButton
icon="ui-icon-close"
title="Cancelar póliza"
class="rounded-button"
style="background: red"
oncomplete="PF('eliminarPoliza').show()"
update="eliminarPolizaForm:eliminarPoliza"
action="#{polizaBean.cargarDevolucion()}"
rendered="#{data.active and data.estatus ne 'CANCELADO'}">
<f:setPropertyActionListener value="#{data}" target="#{polizaBean.selectedPoliza}"/>
<p:commandButton title="Deshabilitar póliza" rendered="#{data.active}" styleClass="edit-button rounded-button ui-button-secondary"
style="background-color: gray; padding-top: 1em" icon="ui-icon-minusthick" action="#{polizaBean.deleteRow()}" update="form" >
<f:setPropertyActionListener value="#{data}" target="#{polizaBean.selectedPoliza}"/>
<p:confirm header="Deshabilitar póliza" message="¿Está seguro de deshabilitar esta póliza?" icon="pi pi-info-circle"/>
</p:commandButton>
</p:commandButton>
</p:column>
</p:dataTable>
</p:tab>
<p:tab title="VENCIDAS" id="tap4">
<p:dataTable widgetVar="dtTable4" id="dtTable4" var="data" draggableRows="true" draggableColumns="true" value="#{polizaBean.polizasVencidasList}" style="margin-bottom:20px; text-align: center" reflow="true" rowsPerPageTemplate="5,10,25,50,100" emptyMessage="Sin registros"
rowKey="#{data.id}" selection="#{polizaBean.selectedPoliza}" editable="true" selectionMode="single" paginator="true" rows="10" paginatorTemplate="{RowsPerPageDropdown} {FirstPageLink} {PreviousPageLink} {CurrentPageReport} {NextPageLink} {LastPageLink}"
rowStyleClass="#{polizaBean.validarColores(data.active)}">
<f:facet name="header">
<p:commandButton id="toggler" type="button" value="Columnas" style="float:left;" styleClass="amber-btn flat" icon="ui-icon-calendar"/>
<p:columnToggler datasource="dtTable4" trigger="toggler" />
<p:commandButton value="#{i18n['button.add']}" styleClass="amber-btn flat" style="float: right;" icon="ui-icon-plus" oncomplete="PF('dlg2').show();" action="#{polizaBean.newPoliza()}" update="carBrandForm:carBrandDialog" rendered="#{loginBean.isUserInRole('catalog.brand.car.add')}"/>
<p:commandButton value="Agregar cliente" styleClass="amber-btn flat" style="float: right;background-color: gray" icon="ui-icon-plus" update="agregarClienteForm" action="#{polizaBean.clearFormClient()}" oncomplete="PF('agregarClienteDialog').show();" />
<p:outputPanel>
<h:outputText value="#{i18n['general.search']}: " />
<p:inputText id="globalFilter" onkeyup="PF('dtTable4').filter()" style="width:150px;color: #000000;"/>
</p:outputPanel>
</f:facet>
<p:ajax event="rowEdit" listener="#{polizaBean.editRow}" update=":form:msgs" />
<p:ajax event="rowEditCancel" listener="#{polizaBean.onRowCancel}" update=":form:msgs" />
<p:ajax event="rowReorder" listener="#{polizaBean.onRowReorder}" update=":form:msgs" />
<p:column headerText="Folio" sortBy="#{data.folio}" filterBy="#{data.folio}">
<h:outputText value="#{data.folio}"
style="text-transform: capitalize;">
</h:outputText>
</p:column>
<p:column headerText="Estatus" sortBy="#{data.estatus.value}" filterBy="#{data.estatus.value}">
<h:outputText value="#{data.estatus.value}" style="text-transform: capitalize;">
</h:outputText>
</p:column>
<p:column headerText="Cliente" sortBy="#{data.customer.firstName} #{data.customer.secondName} #{data.customer.lastName} #{data.customer.middleName}" filterBy="#{data.customer.firstName} #{data.customer.secondName} #{data.customer.lastName} #{data.customer.middleName}">
<h:outputText value="#{data.customer.firstName} #{data.customer.secondName} #{data.customer.lastName} #{data.customer.middleName}" style="text-transform: capitalize;">
</h:outputText>
</p:column>
<p:column headerText="Teléfono" sortBy="#{data.telefonoCliente}" filterBy="#{data.telefonoCliente}">
<h:outputText value="#{data.telefonoCliente}" style="text-transform: capitalize;">
</h:outputText>
</p:column>
<p:column headerText="Vehículo" sortBy="#{data.taxi.placa} #{data.taxi.vehicle.name} #{data.taxi.vehicle.brand.name} #{data.taxi.color.name} #{data.taxi.year}" filterBy="#{data.taxi.placa} #{data.taxi.vehicle.name} #{data.taxi.vehicle.brand.name} #{data.taxi.color.name} #{data.taxi.year}">
<h:outputText value="#{data.taxi.placa} #{data.taxi.vehicle.name} #{data.taxi.vehicle.brand.name} #{data.taxi.color.name} #{data.taxi.year}" style="text-transform: capitalize;">
</h:outputText>
</p:column>
<p:column headerText="Fecha inicial" sortBy="#{data.initDate}" filterBy="#{data.initDate}">
<h:outputText value="#{data.initDate}" style="text-transform: capitalize;">
<f:convertDateTime type="date" locale="es" pattern="dd - MMMM - yyyy"/>
</h:outputText>
</p:column>
<p:column headerText="Fecha vencimiento" sortBy="#{data.endDate}" filterBy="#{data.endDate}">
<h:outputText value="#{data.endDate}" style="text-transform: capitalize;">
<f:convertDateTime type="date" locale="es" pattern="dd - MMMM - yyyy"/>
</h:outputText>
</p:column>
<p:column headerText="Tipo" sortBy="#{data.tipoPoliza.name}" filterBy="#{data.tipoPoliza.name}">
<h:outputText value="#{data.tipoPoliza.name}" style="text-transform: capitalize;">
</h:outputText>
</p:column>
<p:column headerText="Costo" sortBy="#{data.amount}" filterBy="#{data.amount}">
<h:outputText value="#{data.amount}" style="text-transform: capitalize;">
<f:convertNumber pattern="¤#,##0.00" locale="en_US" currencySymbol="$" />
</h:outputText>
</p:column>
<p:column headerText="Asesor" sortBy="#{data.asesor.firstName} #{data.asesor.lastName}" filterBy="#{data.asesor.firstName} #{data.asesor.lastName}">
<h:outputText value="#{data.asesor.firstName} #{data.asesor.lastName}" style="text-transform: capitalize;">
</h:outputText>
</p:column>
<p:column headerText="Comentarios" sortBy="#{data.comentarios}" filterBy="#{data.comentarios}">
<h:outputText value="#{data.comentarios}" style="text-transform: capitalize;">
</h:outputText>
</p:column>
<p:column headerText="Fecha registro" sortBy="#{data.createdOn}" filterBy="#{data.createdOn}">
<h:outputText value="#{data.createdOn}" style="text-transform: capitalize;">
<f:convertDateTime type="date" timeZone="GMT-7" locale="es" pattern="dd - MMMM - yyyy"/>
</h:outputText>
</p:column>
<p:column headerText="Usuario creación" sortBy="#{data.createdBy.person.firstName} #{data.createdBy.person.secondName} #{data.createdBy.person.lastName} #{data.createdBy.person.middleName}" filterBy="#{data.createdBy.person.firstName} #{data.createdBy.person.secondName} #{data.createdBy.person.lastName} #{data.createdBy.person.middleName}">
<h:outputText value="#{data.createdBy.person.firstName} #{data.createdBy.person.secondName} #{data.createdBy.person.lastName} #{data.createdBy.person.middleName}" />
</p:column>
<p:column headerText="Acciones" style="width: 4em">
<p:commandButton
value="$"
title="Pagos"
class="ui-button"
style="background: orange; margin-bottom: 0.5em"
oncomplete="PF('verPagoPoliza').show()"
update="verPagoPolizaForm"
action="#{polizaBean.cargarPagos()}"
rendered="#{data.active and (data.estatus eq 'COTIZACION' or data.estatus eq 'PENDIENTE')}">
<f:setPropertyActionListener value="#{data}" target="#{polizaBean.selectedPoliza}"/>
</p:commandButton>
<br/>
<p:commandButton
icon="ui-icon-pencil"
title="Editar"
style="padding-top: 1em"
class="ui-button-icon-only green-pixcua"
oncomplete="PF('dlg2').show()"
update="carBrandForm:carBrandDialog"
action="#{polizaBean.cargarPoliza()}"
rendered="#{data.active and (data.estatus eq 'COTIZACION' or data.estatus eq 'PENDIENTE')}">
<f:setPropertyActionListener value="#{data}" target="#{polizaBean.selectedPoliza}"/>
</p:commandButton>
<p:commandButton
icon="ui-icon-close"
title="Cancelar póliza"
class="rounded-button"
style="background: red; padding-top: 1em"
oncomplete="PF('eliminarPoliza').show()"
update="eliminarPolizaForm:eliminarPoliza"
action="#{polizaBean.cargarDevolucion()}"
rendered="#{data.active and data.estatus ne 'CANCELADO'}">
<f:setPropertyActionListener value="#{data}" target="#{polizaBean.selectedPoliza}"/>
<p:commandButton title="Deshabilitar póliza" rendered="#{data.active}" styleClass="edit-button rounded-button ui-button-secondary"
style="background-color: gray; padding-top: 1em" icon="ui-icon-minusthick" action="#{polizaBean.deleteRow()}" update="form" >
<f:setPropertyActionListener value="#{data}" target="#{polizaBean.selectedPoliza}"/>
<p:confirm header="Deshabilitar póliza" message="¿Está seguro de deshabilitar esta póliza?" icon="pi pi-info-circle"/>
</p:commandButton>
</p:commandButton>
</p:column>
</p:dataTable>
</p:tab>
<p:tab title="FINALIZADAS" id="tap5">
<p:dataTable widgetVar="dtTable5" id="dtTable5" var="data" draggableRows="true" draggableColumns="true" value="#{polizaBean.polizasFinalizadasList}" style="margin-bottom:20px; text-align: center" reflow="true" rowsPerPageTemplate="5,10,25,50,100" emptyMessage="Sin registros"
rowKey="#{data.id}" selection="#{polizaBean.selectedPoliza}" editable="true" selectionMode="single" paginator="true" rows="10" paginatorTemplate="{RowsPerPageDropdown} {FirstPageLink} {PreviousPageLink} {CurrentPageReport} {NextPageLink} {LastPageLink}"
rowStyleClass="#{polizaBean.validarColores(data.active)}">
<f:facet name="header">
<p:commandButton id="toggler" type="button" value="Columnas" style="float:left;" styleClass="amber-btn flat" icon="ui-icon-calendar"/>
<p:columnToggler datasource="dtTable5" trigger="toggler" />
<p:commandButton value="#{i18n['button.add']}" styleClass="amber-btn flat" style="float: right;" icon="ui-icon-plus" oncomplete="PF('dlg2').show();" action="#{polizaBean.newPoliza()}" update="carBrandForm:carBrandDialog" rendered="#{loginBean.isUserInRole('catalog.brand.car.add')}"/>
<p:commandButton value="Agregar cliente" styleClass="amber-btn flat" style="float: right;background-color: gray" icon="ui-icon-plus" update="agregarClienteForm" action="#{polizaBean.clearFormClient()}" oncomplete="PF('agregarClienteDialog').show();" />
<p:outputPanel>
<h:outputText value="#{i18n['general.search']}: " />
<p:inputText id="globalFilter" onkeyup="PF('dtTable5').filter()" style="width:150px;color: #000000;"/>
</p:outputPanel>
</f:facet>
<p:ajax event="rowEdit" listener="#{polizaBean.editRow}" update=":form:msgs" />
<p:ajax event="rowEditCancel" listener="#{polizaBean.onRowCancel}" update=":form:msgs" />
<p:ajax event="rowReorder" listener="#{polizaBean.onRowReorder}" update=":form:msgs" />
<p:column headerText="Folio" sortBy="#{data.folio}" filterBy="#{data.folio}">
<h:outputText value="#{data.folio}"
style="text-transform: capitalize;">
</h:outputText>
</p:column>
<p:column headerText="Estatus" sortBy="#{data.estatus.value}" filterBy="#{data.estatus.value}">
<h:outputText value="#{data.estatus.value}" style="text-transform: capitalize;">
</h:outputText>
</p:column>
<p:column headerText="Cliente" sortBy="#{data.customer.firstName} #{data.customer.secondName} #{data.customer.lastName} #{data.customer.middleName}" filterBy="#{data.customer.firstName} #{data.customer.secondName} #{data.customer.lastName} #{data.customer.middleName}">
<h:outputText value="#{data.customer.firstName} #{data.customer.secondName} #{data.customer.lastName} #{data.customer.middleName}" style="text-transform: capitalize;">
</h:outputText>
</p:column>
<p:column headerText="Teléfono" sortBy="#{data.telefonoCliente}" filterBy="#{data.telefonoCliente}">
<h:outputText value="#{data.telefonoCliente}" style="text-transform: capitalize;">
</h:outputText>
</p:column>
<p:column headerText="Vehículo" sortBy="#{data.taxi.placa} #{data.taxi.vehicle.name} #{data.taxi.vehicle.brand.name} #{data.taxi.color.name} #{data.taxi.year}" filterBy="#{data.taxi.placa} #{data.taxi.vehicle.name} #{data.taxi.vehicle.brand.name} #{data.taxi.color.name} #{data.taxi.year}">
<h:outputText value="#{data.taxi.placa} #{data.taxi.vehicle.name} #{data.taxi.vehicle.brand.name} #{data.taxi.color.name} #{data.taxi.year}" style="text-transform: capitalize;">
</h:outputText>
</p:column>
<p:column headerText="Fecha inicial" sortBy="#{data.initDate}" filterBy="#{data.initDate}">
<h:outputText value="#{data.initDate}" style="text-transform: capitalize;">
<f:convertDateTime type="date" locale="es" pattern="dd - MMMM - yyyy"/>
</h:outputText>
</p:column>
<p:column headerText="Fecha vencimiento" sortBy="#{data.endDate}" filterBy="#{data.endDate}">
<h:outputText value="#{data.endDate}" style="text-transform: capitalize;">
<f:convertDateTime type="date" locale="es" pattern="dd - MMMM - yyyy"/>
</h:outputText>
</p:column>
<p:column headerText="Tipo" sortBy="#{data.tipoPoliza.name}" filterBy="#{data.tipoPoliza.name}">
<h:outputText value="#{data.tipoPoliza.name}" style="text-transform: capitalize;">
</h:outputText>
</p:column>
<p:column headerText="Costo" sortBy="#{data.amount}" filterBy="#{data.amount}">
<h:outputText value="#{data.amount}" style="text-transform: capitalize;">
<f:convertNumber pattern="¤#,##0.00" locale="en_US" currencySymbol="$" />
</h:outputText>
</p:column>
<p:column headerText="Asesor" sortBy="#{data.asesor.firstName} #{data.asesor.lastName}" filterBy="#{data.asesor.firstName} #{data.asesor.lastName}">
<h:outputText value="#{data.asesor.firstName} #{data.asesor.lastName}" style="text-transform: capitalize;">
</h:outputText>
</p:column>
<p:column headerText="Comentarios" sortBy="#{data.comentarios}" filterBy="#{data.comentarios}">
<h:outputText value="#{data.comentarios}" style="text-transform: capitalize;">
</h:outputText>
</p:column>
<p:column headerText="Fecha registro" sortBy="#{data.createdOn}" filterBy="#{data.createdOn}">
<h:outputText value="#{data.createdOn}" style="text-transform: capitalize;">
<f:convertDateTime type="date" timeZone="GMT-7" locale="es" pattern="dd - MMMM - yyyy"/>
</h:outputText>
</p:column>
<p:column headerText="Usuario creación" sortBy="#{data.createdBy.person.firstName} #{data.createdBy.person.secondName} #{data.createdBy.person.lastName} #{data.createdBy.person.middleName}" filterBy="#{data.createdBy.person.firstName} #{data.createdBy.person.secondName} #{data.createdBy.person.lastName} #{data.createdBy.person.middleName}">
<h:outputText value="#{data.createdBy.person.firstName} #{data.createdBy.person.secondName} #{data.createdBy.person.lastName} #{data.createdBy.person.middleName}" />
</p:column>
<p:column headerText="Acciones" style="width: 4em">
<p:commandButton
icon="ui-icon-pencil"
title="Editar"
class="ui-button-icon-only green-pixcua"
oncomplete="PF('dlg2').show()"
update="carBrandForm:carBrandDialog"
action="#{polizaBean.cargarPoliza()}"
rendered="#{data.active and (data.estatus eq 'COTIZACION' or data.estatus eq 'PENDIENTE')}">
<f:setPropertyActionListener value="#{data}" target="#{polizaBean.selectedPoliza}"/>
</p:commandButton>
<p:commandButton
icon="ui-icon-close"
title="Cancelar póliza"
class="rounded-button"
style="background: red"
oncomplete="PF('eliminarPoliza').show()"
update="eliminarPolizaForm:eliminarPoliza"
action="#{polizaBean.cargarDevolucion()}"
rendered="#{data.active and data.estatus ne 'CANCELADO'}">
<f:setPropertyActionListener value="#{data}" target="#{polizaBean.selectedPoliza}"/>
<p:commandButton title="Deshabilitar póliza" rendered="#{data.active}" styleClass="edit-button rounded-button ui-button-secondary"
style="background-color: gray; padding-top: 1em" icon="ui-icon-minusthick" action="#{polizaBean.deleteRow()}" update="form" >
<f:setPropertyActionListener value="#{data}" target="#{polizaBean.selectedPoliza}"/>
<p:confirm header="Deshabilitar póliza" message="¿Está seguro de deshabilitar esta póliza?" icon="pi pi-info-circle"/>
</p:commandButton>
</p:commandButton>
</p:column>
</p:dataTable>
</p:tab>
<p:tab title="CANCELADAS" id="tap6">
<p:dataTable widgetVar="dtTable6" id="dtTable6" var="data" draggableRows="true" draggableColumns="true" value="#{polizaBean.polizasCaseladasList}" style="margin-bottom:20px; text-align: center" reflow="true" rowsPerPageTemplate="5,10,25,50,100" emptyMessage="Sin registros"
rowKey="#{data.id}" selection="#{polizaBean.selectedPoliza}" editable="true" selectionMode="single" paginator="true" rows="10" paginatorTemplate="{RowsPerPageDropdown} {FirstPageLink} {PreviousPageLink} {CurrentPageReport} {NextPageLink} {LastPageLink}"
rowStyleClass="#{polizaBean.validarColores(data.active)}">
<f:facet name="header">
<p:commandButton id="toggler" type="button" value="Columnas" style="float:left;" styleClass="amber-btn flat" icon="ui-icon-calendar"/>
<p:columnToggler datasource="dtTable6" trigger="toggler" />
<p:commandButton value="#{i18n['button.add']}" styleClass="amber-btn flat" style="float: right;" icon="ui-icon-plus" oncomplete="PF('dlg2').show();" action="#{polizaBean.newPoliza()}" update="carBrandForm:carBrandDialog" rendered="#{loginBean.isUserInRole('catalog.brand.car.add')}"/>
<p:commandButton value="Agregar cliente" styleClass="amber-btn flat" style="float: right;background-color: gray" icon="ui-icon-plus" update="agregarClienteForm" action="#{polizaBean.clearFormClient()}" oncomplete="PF('agregarClienteDialog').show();" />
<p:outputPanel>
<h:outputText value="#{i18n['general.search']}: " />
<p:inputText id="globalFilter" onkeyup="PF('dtTable6').filter()" style="width:150px;color: #000000;"/>
</p:outputPanel>
</f:facet>
<p:ajax event="rowEdit" listener="#{polizaBean.editRow}" update=":form:msgs" />
<p:ajax event="rowEditCancel" listener="#{polizaBean.onRowCancel}" update=":form:msgs" />
<p:ajax event="rowReorder" listener="#{polizaBean.onRowReorder}" update=":form:msgs" />
<p:column headerText="Folio" sortBy="#{data.folio}" filterBy="#{data.folio}">
<h:outputText value="#{data.folio}"
style="text-transform: capitalize;">
</h:outputText>
</p:column>
<p:column headerText="Estatus" sortBy="#{data.estatus.value}" filterBy="#{data.estatus.value}">
<h:outputText value="#{data.estatus.value}" style="text-transform: capitalize;">
</h:outputText>
</p:column>
<p:column headerText="Cliente" sortBy="#{data.customer.firstName} #{data.customer.secondName} #{data.customer.lastName} #{data.customer.middleName}" filterBy="#{data.customer.firstName} #{data.customer.secondName} #{data.customer.lastName} #{data.customer.middleName}">
<h:outputText value="#{data.customer.firstName} #{data.customer.secondName} #{data.customer.lastName} #{data.customer.middleName}" style="text-transform: capitalize;">
</h:outputText>
</p:column>
<p:column headerText="Teléfono" sortBy="#{data.telefonoCliente}" filterBy="#{data.telefonoCliente}">
<h:outputText value="#{data.telefonoCliente}" style="text-transform: capitalize;">
</h:outputText>
</p:column>
<p:column headerText="Vehículo" sortBy="#{data.taxi.placa} #{data.taxi.vehicle.name} #{data.taxi.vehicle.brand.name} #{data.taxi.color.name} #{data.taxi.year}" filterBy="#{data.taxi.placa} #{data.taxi.vehicle.name} #{data.taxi.vehicle.brand.name} #{data.taxi.color.name} #{data.taxi.year}">
<h:outputText value="#{data.taxi.placa} #{data.taxi.vehicle.name} #{data.taxi.vehicle.brand.name} #{data.taxi.color.name} #{data.taxi.year}" style="text-transform: capitalize;">
</h:outputText>
</p:column>
<p:column headerText="Fecha inicial" sortBy="#{data.initDate}" filterBy="#{data.initDate}">
<h:outputText value="#{data.initDate}" style="text-transform: capitalize;">
<f:convertDateTime type="date" locale="es" pattern="dd - MMMM - yyyy"/>
</h:outputText>
</p:column>
<p:column headerText="Fecha vencimiento" sortBy="#{data.endDate}" filterBy="#{data.endDate}">
<h:outputText value="#{data.endDate}" style="text-transform: capitalize;">
<f:convertDateTime type="date" locale="es" pattern="dd - MMMM - yyyy"/>
</h:outputText>
</p:column>
<p:column headerText="Tipo" sortBy="#{data.tipoPoliza.name}" filterBy="#{data.tipoPoliza.name}">
<h:outputText value="#{data.tipoPoliza.name}" style="text-transform: capitalize;">
</h:outputText>
</p:column>
<p:column headerText="Costo" sortBy="#{data.amount}" filterBy="#{data.amount}">
<h:outputText value="#{data.amount}" style="text-transform: capitalize;">
<f:convertNumber pattern="¤#,##0.00" locale="en_US" currencySymbol="$" />
</h:outputText>
</p:column>
<p:column headerText="Asesor" sortBy="#{data.asesor.firstName} #{data.asesor.lastName}" filterBy="#{data.asesor.firstName} #{data.asesor.lastName}">
<h:outputText value="#{data.asesor.firstName} #{data.asesor.lastName}" style="text-transform: capitalize;">
</h:outputText>
</p:column>
<p:column headerText="Comentarios" sortBy="#{data.comentarios}" filterBy="#{data.comentarios}">
<h:outputText value="#{data.comentarios}" style="text-transform: capitalize;">
</h:outputText>
</p:column>
<p:column headerText="Fecha registro" sortBy="#{data.createdOn}" filterBy="#{data.createdOn}">
<h:outputText value="#{data.createdOn}" style="text-transform: capitalize;">
<f:convertDateTime type="date" timeZone="GMT-7" locale="es" pattern="dd - MMMM - yyyy"/>
</h:outputText>
</p:column>
<p:column headerText="Usuario creación" sortBy="#{data.createdBy.person.firstName} #{data.createdBy.person.secondName} #{data.createdBy.person.lastName} #{data.createdBy.person.middleName}" filterBy="#{data.createdBy.person.firstName} #{data.createdBy.person.secondName} #{data.createdBy.person.lastName} #{data.createdBy.person.middleName}">
<h:outputText value="#{data.createdBy.person.firstName} #{data.createdBy.person.secondName} #{data.createdBy.person.lastName} #{data.createdBy.person.middleName}" />
</p:column>
<p:column headerText="Acciones" style="width: 4em">
<p:commandButton
icon="ui-icon-pencil"
title="Editar"
class="ui-button-icon-only green-pixcua"
oncomplete="PF('dlg2').show()"
update="carBrandForm:carBrandDialog"
action="#{polizaBean.cargarPoliza()}"
rendered="#{data.active and (data.estatus eq 'COTIZACION' or data.estatus eq 'PENDIENTE')}">
<f:setPropertyActionListener value="#{data}" target="#{polizaBean.selectedPoliza}"/>
</p:commandButton>
</p:column>
</p:dataTable>
</p:tab>
</p:tabView>
<p:confirmDialog global="true" showEffect="fade" hideEffect="fade" responsive="true" width="350">
<p:commandButton value="No" type="button" styleClass="ui-confirmdialog-no ui-button-flat"/>
<p:commandButton value="Si" type="button" styleClass="ui-confirmdialog-yes" />
</p:confirmDialog>
@ -309,8 +882,8 @@
</h:panelGroup>
<div class="ui-g-12" >
<p:commandButton id="addButton1" value="#{i18n['button.save']}" rendered="#{polizaBean.polizaAdd.id==null}" actionListener="#{polizaBean.addRow}" oncomplete="validNewCarBrand(xhr, status, args)" update=":form:dtTable,msgsDialog,carBrandDialog"/>
<p:commandButton id="addButton2" value="#{i18n['button.edit']}" rendered="#{polizaBean.polizaAdd.id!=null}" actionListener="#{polizaBean.editarPoliza}" oncomplete="validNewCarBrand(xhr, status, args)" update=":form:dtTable,msgsDialog,carBrandDialog"/>
<p:commandButton id="addButton1" value="#{i18n['button.save']}" rendered="#{polizaBean.polizaAdd.id==null}" actionListener="#{polizaBean.addRow}" oncomplete="validNewCarBrand(xhr, status, args)" update=":form,msgsDialog,carBrandDialog"/>
<p:commandButton id="addButton2" value="#{i18n['button.edit']}" rendered="#{polizaBean.polizaAdd.id!=null}" actionListener="#{polizaBean.editarPoliza}" oncomplete="validNewCarBrand(xhr, status, args)" update=":form,msgsDialog,carBrandDialog"/>
</div>
</p:dialog>
</h:form>
@ -634,6 +1207,69 @@
</p:dialog>
</h:form>
<h:form id="verPagoPolizaForm">
<p:dialog header="Pagos pendientes" widgetVar="verPagoPoliza" modal="true" width="70em" id="verPagoPoliza">
<p:ajax event="close" update="verPagoPoliza" />
<p:outputPanel id="pagos">
<p:dataTable widgetVar="dtTable2" id="dtTable2" var="data" draggableRows="true" draggableColumns="true" value="#{polizaBean.pagosPolizaList}" style="margin-bottom:20px; text-align: center" reflow="true" rowsPerPageTemplate="5,10,25,50,100" emptyMessage="Sin registros"
rowKey="#{data.id}" selection="#{polizaBean.selectedPago}" editable="true" selectionMode="single" paginator="true" rows="10" paginatorTemplate="{RowsPerPageDropdown} {FirstPageLink} {PreviousPageLink} {CurrentPageReport} {NextPageLink} {LastPageLink}">
<f:facet name="header">
<p:commandButton id="toggler" type="button" value="Columnas" style="float:left;" styleClass="amber-btn flat" icon="ui-icon-calendar"/>
<p:columnToggler datasource="dtTable2" trigger="toggler" />
<p:outputPanel>
<h:outputText value="#{i18n['general.search']}: " />
<p:inputText id="globalFilter" onkeyup="PF('dtTable2').filter()" style="width:150px;color: #000000;"/>
</p:outputPanel>
</f:facet>
<p:column headerText="Fecha a pagar" sortBy="#{data.fechaAPagar}" filterBy="#{data.fechaAPagar}">
<h:outputText value="#{data.fechaAPagar}" >
<f:convertDateTime type="date" timeZone="GMT-7" locale="es" pattern="dd - MMMM - yyyy"/>
</h:outputText>
</p:column>
<p:column headerText="Estatus" sortBy="#{data.pagoEstatus}" filterBy="#{data.pagoEstatus}">
<h:outputText value="#{data.pagoEstatus eq 'ENABLED'?'Pagado':data.pagoEstatus eq 'INCOMPLETE'?'Incompleto':'No pagado'}" />
</p:column>
<p:column headerText="Nueva fecha de pago" sortBy="#{data.nuevaFechaAPagar}" filterBy="#{data.nuevaFechaAPagar}">
<h:outputText value="#{data.nuevaFechaAPagar}" >
<f:convertDateTime type="date" timeZone="GMT-7" locale="es" pattern="dd - MMMM - yyyy"/>
</h:outputText>
</p:column>
<p:column headerText="Acciones">
<p:commandButton
value="Nueva fecha pago"
title="Nueva fecha pago"
class="ui-button"
oncomplete="PF('nuevaFechaPago').show()"
update="nuevaFechaPagoForm">
<f:setPropertyActionListener value="#{data}" target="#{polizaBean.selectedPago}"/>
</p:commandButton>
</p:column>
</p:dataTable>
</p:outputPanel>
</p:dialog>
</h:form>
<h:form id="nuevaFechaPagoForm">
<p:dialog header="Actualizar nueva fecha de pago" widgetVar="nuevaFechaPago" modal="true" height="30%" width="30%" id="nuevaFechaPago">
<p:ajax event="close" update="nuevaFechaPago" />
<p:outputPanel>
<h:panelGroup styleClass="md-inputfield" style="margin-top: 2em; margin-bottom: 2em" >
<p:calendar id="paymentDate" value="#{polizaBean.selectedPago.nuevaFechaAPagar}" readonlyInput="true" navigator="true" locale="es" pattern="dd - MMMM - yyyy" required="true" requiredMessage="La fecha es requerida" style="width: 100%;" />
<label>Nueva fecha de pago </label>
<p:message for="paymentDate" display="text"/>
</h:panelGroup>
<p:commandButton id="addButtonC" value="Confirmar" actionListener="#{polizaBean.actualizarPagoPoliza()}" update="nuevaFechaPagoForm, form, verPagoPolizaForm:pagos" />
</p:outputPanel>
</p:dialog>
</h:form>
</div>
</ui:define>