diff --git a/crov-prase-model/src/main/java/com/arrebol/taxiservicios/model/enums/TipoTarjeta.java b/crov-prase-model/src/main/java/com/arrebol/taxiservicios/model/enums/TipoTarjeta.java new file mode 100644 index 0000000..a52b013 --- /dev/null +++ b/crov-prase-model/src/main/java/com/arrebol/taxiservicios/model/enums/TipoTarjeta.java @@ -0,0 +1,34 @@ +/* + * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license + * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template + */ +package com.arrebol.taxiservicios.model.enums; + +/** + * + * @author Oscar + */ +public enum TipoTarjeta { + CREDITO("CREDITO") { + @Override + public String toString() { + return "Credito"; + } + }, + DEBITO("DEBITO") { + @Override + public String toString() { + return "Debito"; + } + }; + + private final String type; + + private TipoTarjeta(String type) { + this.type = type; + } + + public String getType() { + return type; + } +} diff --git a/crov-prase-model/src/main/java/com/crov/prase/model/prase/DetellePagoPoliza.java b/crov-prase-model/src/main/java/com/crov/prase/model/prase/DetellePagoPoliza.java index 9922a2e..18a9475 100644 --- a/crov-prase-model/src/main/java/com/crov/prase/model/prase/DetellePagoPoliza.java +++ b/crov-prase-model/src/main/java/com/crov/prase/model/prase/DetellePagoPoliza.java @@ -8,6 +8,7 @@ import com.arrebol.taxiservicios.model.core.User; import com.arrebol.taxiservicios.model.enums.GenericEnumType; import com.arrebol.taxiservicios.model.enums.MetodoPago; import com.arrebol.taxiservicios.model.enums.TipoAbono; +import com.arrebol.taxiservicios.model.enums.TipoTarjeta; import java.io.Serializable; import java.util.Date; import javax.persistence.Column; @@ -60,6 +61,10 @@ public class DetellePagoPoliza implements Serializable { @Column(name = "tipo_pago", nullable = false) private TipoAbono tipoPago; + @Enumerated(EnumType.STRING) + @Column(name = "tipo_tarjeta", nullable = true) + private TipoTarjeta tipoTarjeta; + @Temporal(TemporalType.TIMESTAMP) @Column(name = "fecha_pago") private Date fechaPago; @@ -241,4 +246,12 @@ public class DetellePagoPoliza implements Serializable { this.tipoPago = tipoPago; } + public TipoTarjeta getTipoTarjeta() { + return tipoTarjeta; + } + + public void setTipoTarjeta(TipoTarjeta tipoTarjeta) { + this.tipoTarjeta = tipoTarjeta; + } + } diff --git a/crov-prase-web/src/main/java/com/crov/prase/prase/PagosPolizasBean.java b/crov-prase-web/src/main/java/com/crov/prase/prase/PagosPolizasBean.java index 1c7f47f..d953146 100644 --- a/crov-prase-web/src/main/java/com/crov/prase/prase/PagosPolizasBean.java +++ b/crov-prase-web/src/main/java/com/crov/prase/prase/PagosPolizasBean.java @@ -11,6 +11,7 @@ import com.arrebol.taxiservicios.model.enums.GenericEnumType; import com.arrebol.taxiservicios.model.enums.MetodoPago; import com.arrebol.taxiservicios.model.enums.PolizaEstatus; import com.arrebol.taxiservicios.model.enums.TipoAbono; +import com.arrebol.taxiservicios.model.enums.TipoTarjeta; import com.crov.prase.controller.prase.PagosPolizaController; import com.crov.prase.controller.prase.PolizaController; import com.crov.prase.model.prase.DetellePagoPoliza; @@ -58,6 +59,7 @@ public class PagosPolizasBean extends TaxiGenericBean implements Serializable { private Boolean pagoExitoso; private String imagen; private String metodoPago; + private String tipoTargeta; private HistorialAbonoMultiple selectedHistorialAbonoMultiple; private String comentarioDevolucionPago; @@ -105,6 +107,11 @@ public class PagosPolizasBean extends TaxiGenericBean implements Serializable { setCantidadAPagar(getSelectedPago().getDiferenciaPago()); setSelectedDetellePago(null); setMetodoPago(""); + setTipoTargeta("0"); + } + + public void limpiarTipoPago() { + setTipoTargeta("0"); } public void pagarMultiple() { @@ -160,6 +167,11 @@ public class PagosPolizasBean extends TaxiGenericBean implements Serializable { return; } + if (getMetodoPago().equals("TARJETA") && getTipoTargeta().equals("0")) { + showMessage(FacesMessage.SEVERITY_WARN, "ERROR", "Si selecciono el método de pago con TARJETA, debe de seleccionar el TIPO DE TARJETA "); + return; + } + // se valida el pago realizado sea el siguiente según el consecutivo if (getSelectedPago().getId().equals(getPagoSiguiente())) { // se actuliza el pago @@ -197,6 +209,7 @@ public class PagosPolizasBean extends TaxiGenericBean implements Serializable { detalle.setCobro(getLoggedUser()); detalle.setFolio(folio); detalle.setMetodoPago(MetodoPago.valueOf(metodoDePago)); + detalle.setTipoTarjeta(detalle.getMetodoPago().equals(MetodoPago.TARJETA) ? TipoTarjeta.valueOf(getTipoTargeta()) : null); getPagosPolizaController().createDetellePago(detalle, getLoggedUser()); // se actualisa el pago pricipal @@ -521,4 +534,12 @@ public class PagosPolizasBean extends TaxiGenericBean implements Serializable { this.detallePagoDisponibleParaDevocion = detallePagoDisponibleParaDevocion; } + public String getTipoTargeta() { + return tipoTargeta; + } + + public void setTipoTargeta(String tipoTargeta) { + this.tipoTargeta = tipoTargeta; + } + } diff --git a/crov-prase-web/src/main/webapp/app/prase/poliza/pagos.xhtml b/crov-prase-web/src/main/webapp/app/prase/poliza/pagos.xhtml index 658aa21..f78056d 100644 --- a/crov-prase-web/src/main/webapp/app/prase/poliza/pagos.xhtml +++ b/crov-prase-web/src/main/webapp/app/prase/poliza/pagos.xhtml @@ -344,10 +344,24 @@ + + + + + + + + + + @@ -434,6 +448,7 @@

+


AGRADECE SU PREFERENCIA