From a02e7c2f8e3a42d7bd227c56f369e58b76eb8018 Mon Sep 17 00:00:00 2001 From: "Brayan.Gonzalez" Date: Mon, 7 Jul 2025 15:13:21 -0600 Subject: [PATCH] - LOCACIONES - DETALLES VARIOS - DEVOLUCIONES - QUE LAS DEVOLUCIONES DEN OPCION DE ELEGIR LA FORMA EN QUE SE REALIZARA DICHA DEVOLUCION (EFECTIVO, TARJETA, TRANFERENCIA...) --- .../admin/ClosingDayController.java | 2 +- .../prase/PagosPolizaController.java | 2 +- .../prase/SolicitudCancelacionPoliza.java | 13 ++++++ .../SolicitudDevolucionDetellePagoPoliza.java | 13 ++++++ .../beans/admin/AddClosingDayBean.java | 1 + .../crov/prase/prase/PagosPolizasBean.java | 12 ++++++ .../java/com/crov/prase/prase/PolizaBean.java | 11 +++++ .../src/main/webapp/WEB-INF/sidebar.xhtml | 4 +- .../poliza/aprobarDevolucionDePagos.xhtml | 4 ++ .../poliza/aprobarDevolucionPoliza.xhtml | 4 ++ .../main/webapp/app/prase/poliza/index.xhtml | 41 +++++++++++++------ .../main/webapp/app/prase/poliza/pagos.xhtml | 32 +++++++++++---- .../main/webapp/app/system/user/create.xhtml | 2 +- .../src/main/webapp/app/topbar/profile.xhtml | 7 +--- 14 files changed, 119 insertions(+), 29 deletions(-) diff --git a/crov-prase-controller/src/main/java/com/arrebol/taxiservicios/controller/admin/ClosingDayController.java b/crov-prase-controller/src/main/java/com/arrebol/taxiservicios/controller/admin/ClosingDayController.java index d08fc31..c8956fe 100644 --- a/crov-prase-controller/src/main/java/com/arrebol/taxiservicios/controller/admin/ClosingDayController.java +++ b/crov-prase-controller/src/main/java/com/arrebol/taxiservicios/controller/admin/ClosingDayController.java @@ -1063,7 +1063,7 @@ public class ClosingDayController extends ConnectionManager implements Serializa + "AND e.cobro = :userID "; private final String query_solicitudes_cancelacion_poliza = "SELECT e.monto_devolucion, " - + " 'Primas no devengadas' AS tipo_pago, " + + " CONCAT('Primas no devengadas - ', e.metodo_devolucion) AS tipo_pago, " + "p.id as person, " + "CONCAT('Poliza: ', pol.folio), " + complete_name + ", e.id " + "FROM solicitud_cancelacion_poliza e " diff --git a/crov-prase-controller/src/main/java/com/crov/prase/controller/prase/PagosPolizaController.java b/crov-prase-controller/src/main/java/com/crov/prase/controller/prase/PagosPolizaController.java index 1606cb1..f020b50 100644 --- a/crov-prase-controller/src/main/java/com/crov/prase/controller/prase/PagosPolizaController.java +++ b/crov-prase-controller/src/main/java/com/crov/prase/controller/prase/PagosPolizaController.java @@ -764,7 +764,7 @@ public class PagosPolizaController extends ConnectionManager implements Serializ detalleDevolucion.setCantidadPagada(solicitud.getMontoDevolucion()); detalleDevolucion.setCobro(solicitud.getUsuarioCorte()); detalleDevolucion.setFolio(""); - detalleDevolucion.setMetodoPago(MetodoPago.EFECTIVO); + detalleDevolucion.setMetodoPago(solicitud.getMetodoDevolucion()); detalleDevolucion.setCreatedOn(fechaActual); detalleDevolucion.setCreatedBy(user); detalleDevolucion.setHistorialAbonoMultiple(null); diff --git a/crov-prase-model/src/main/java/com/crov/prase/model/prase/SolicitudCancelacionPoliza.java b/crov-prase-model/src/main/java/com/crov/prase/model/prase/SolicitudCancelacionPoliza.java index aaaf6a7..7b89230 100644 --- a/crov-prase-model/src/main/java/com/crov/prase/model/prase/SolicitudCancelacionPoliza.java +++ b/crov-prase-model/src/main/java/com/crov/prase/model/prase/SolicitudCancelacionPoliza.java @@ -8,6 +8,7 @@ import com.arrebol.taxiservicios.model.catalog.Location; import com.arrebol.taxiservicios.model.core.User; import com.arrebol.taxiservicios.model.enums.EstatusSolicitud; import com.arrebol.taxiservicios.model.enums.GenericEnumType; +import com.arrebol.taxiservicios.model.enums.MetodoPago; import java.io.Serializable; import java.util.Date; import javax.persistence.Column; @@ -79,6 +80,10 @@ public class SolicitudCancelacionPoliza implements Serializable { @Column(name = "monto_devolucion") private Double montoDevolucion; + @Enumerated(EnumType.STRING) + @Column(name = "metodo_devolucion", nullable = true) + private MetodoPago metodoDevolucion; + @Column(name = "comentario") private String comentario; @@ -217,4 +222,12 @@ public class SolicitudCancelacionPoliza implements Serializable { this.fechaPago = fechaPago; } + public MetodoPago getMetodoDevolucion() { + return metodoDevolucion; + } + + public void setMetodoDevolucion(MetodoPago metodoDevolucion) { + this.metodoDevolucion = metodoDevolucion; + } + } diff --git a/crov-prase-model/src/main/java/com/crov/prase/model/prase/SolicitudDevolucionDetellePagoPoliza.java b/crov-prase-model/src/main/java/com/crov/prase/model/prase/SolicitudDevolucionDetellePagoPoliza.java index 4510092..cf2cecf 100644 --- a/crov-prase-model/src/main/java/com/crov/prase/model/prase/SolicitudDevolucionDetellePagoPoliza.java +++ b/crov-prase-model/src/main/java/com/crov/prase/model/prase/SolicitudDevolucionDetellePagoPoliza.java @@ -8,6 +8,7 @@ import com.arrebol.taxiservicios.model.catalog.Location; import com.arrebol.taxiservicios.model.core.User; import com.arrebol.taxiservicios.model.enums.EstatusSolicitud; import com.arrebol.taxiservicios.model.enums.GenericEnumType; +import com.arrebol.taxiservicios.model.enums.MetodoPago; import java.io.Serializable; import java.util.Date; import javax.persistence.Column; @@ -91,6 +92,10 @@ public class SolicitudDevolucionDetellePagoPoliza implements Serializable { @Column(name = "monto_devolucion") private Double montoDevolucion; + @Enumerated(EnumType.STRING) + @Column(name = "metodo_devolucion", nullable = true) + private MetodoPago metodoDevolucion; + @Column(name = "comentario") private String comentario; @@ -237,4 +242,12 @@ public class SolicitudDevolucionDetellePagoPoliza implements Serializable { this.lastUpdatedBy = lastUpdatedBy; } + public MetodoPago getMetodoDevolucion() { + return metodoDevolucion; + } + + public void setMetodoDevolucion(MetodoPago metodoDevolucion) { + this.metodoDevolucion = metodoDevolucion; + } + } diff --git a/crov-prase-web/src/main/java/com/arrebol/taxiservicios/beans/admin/AddClosingDayBean.java b/crov-prase-web/src/main/java/com/arrebol/taxiservicios/beans/admin/AddClosingDayBean.java index b782670..aa6f828 100644 --- a/crov-prase-web/src/main/java/com/arrebol/taxiservicios/beans/admin/AddClosingDayBean.java +++ b/crov-prase-web/src/main/java/com/arrebol/taxiservicios/beans/admin/AddClosingDayBean.java @@ -704,6 +704,7 @@ public class AddClosingDayBean extends TaxiGenericBean implements Serializable { + "FROM solicitud_cancelacion_poliza WHERE DATE(fecha_pago) > " + sub_query_to_find_previously_closing_day + " " + " AND id_solicitante = :userID " + " AND estatus_solicitud = 'APROBADO' " + + " AND metodo_devolucion = 'EFECTIVO' " + " AND estatus_activo = 'ENABLED' "; } 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 d953146..f1f36f7 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 @@ -63,6 +63,7 @@ public class PagosPolizasBean extends TaxiGenericBean implements Serializable { private HistorialAbonoMultiple selectedHistorialAbonoMultiple; private String comentarioDevolucionPago; + private String metodoDevolucionPago; private String detallePagoDisponibleParaDevocion; @PostConstruct @@ -266,8 +267,11 @@ public class PagosPolizasBean extends TaxiGenericBean implements Serializable { solicitud.setUsuarioCorte(getLoggedUser()); solicitud.setEstatusSolicitud(EstatusSolicitud.PENDIENTE); solicitud.setMontoDevolucion(getSelectedDetellePago().getCantidadPagada()); + solicitud.setMetodoDevolucion(MetodoPago.valueOf(getMetodoDevolucionPago())); solicitud.setComentario(getComentarioDevolucionPago()); getPagosPolizaController().createSolicitudDevolucionDetellePagoPoliza(solicitud, getLoggedUser()); + setComentarioDevolucionPago(""); + setMetodoDevolucionPago("EFECTIVO"); showMessage(FacesMessage.SEVERITY_INFO, "Solicitud realizada", "Solicitud de devolución de abono realizada correctamente"); } catch (Exception e) { logger.error("solicitarDevolusionDePago(): " + e); @@ -526,6 +530,14 @@ public class PagosPolizasBean extends TaxiGenericBean implements Serializable { this.comentarioDevolucionPago = comentarioDevolucionPago; } + public String getMetodoDevolucionPago() { + return metodoDevolucionPago; + } + + public void setMetodoDevolucionPago(String metodoDevolucionPago) { + this.metodoDevolucionPago = metodoDevolucionPago; + } + public String getDetallePagoDisponibleParaDevocion() { return detallePagoDisponibleParaDevocion; } diff --git a/crov-prase-web/src/main/java/com/crov/prase/prase/PolizaBean.java b/crov-prase-web/src/main/java/com/crov/prase/prase/PolizaBean.java index e4abedf..d887f5a 100644 --- a/crov-prase-web/src/main/java/com/crov/prase/prase/PolizaBean.java +++ b/crov-prase-web/src/main/java/com/crov/prase/prase/PolizaBean.java @@ -279,6 +279,7 @@ public class PolizaBean extends TaxiGenericBean implements Serializable, Datatab public void cargarDevolucion() { setComentario(""); setMontoRenbolso(getSelectedPoliza().getCantidadPagada()); + setMetodoPago("EFECTIVO"); } public void editarPoliza() { @@ -460,6 +461,7 @@ public class PolizaBean extends TaxiGenericBean implements Serializable, Datatab socitud.setFechaPago(null); socitud.setEstatusSolicitud(EstatusSolicitud.PENDIENTE); socitud.setMontoDevolucion(getMontoRenbolso()); + socitud.setMetodoDevolucion(MetodoPago.valueOf(getMetodoPagoRenbolso())); socitud.setComentario(getComentario()); if (getController().saveSolicitudCancelacionPoliza(socitud, getLoggedUser())) { showMessage(FacesMessage.SEVERITY_INFO, "Solicitud realizada", "Solicitud de cancelación de poliza realizada correctamente"); @@ -865,6 +867,7 @@ public class PolizaBean extends TaxiGenericBean implements Serializable, Datatab private Boolean editPoliza; private Date initDate; private String metodoPago; + private String metodoPagoRenbolso; private Double primerPago; private Poliza selectedPoliza; @@ -1312,6 +1315,14 @@ public class PolizaBean extends TaxiGenericBean implements Serializable, Datatab this.metodoPago = metodoPago; } + public String getMetodoPagoRenbolso() { + return metodoPagoRenbolso; + } + + public void setMetodoPagoRenbolso(String metodoPagoRenbolso) { + this.metodoPagoRenbolso = metodoPagoRenbolso; + } + public Double getMontoRenbolso() { return montoRenbolso; } diff --git a/crov-prase-web/src/main/webapp/WEB-INF/sidebar.xhtml b/crov-prase-web/src/main/webapp/WEB-INF/sidebar.xhtml index e3b3fa9..8de3d18 100644 --- a/crov-prase-web/src/main/webapp/WEB-INF/sidebar.xhtml +++ b/crov-prase-web/src/main/webapp/WEB-INF/sidebar.xhtml @@ -48,8 +48,8 @@ - - + + diff --git a/crov-prase-web/src/main/webapp/app/prase/poliza/aprobarDevolucionDePagos.xhtml b/crov-prase-web/src/main/webapp/app/prase/poliza/aprobarDevolucionDePagos.xhtml index b85e8c7..06e4290 100644 --- a/crov-prase-web/src/main/webapp/app/prase/poliza/aprobarDevolucionDePagos.xhtml +++ b/crov-prase-web/src/main/webapp/app/prase/poliza/aprobarDevolucionDePagos.xhtml @@ -59,6 +59,10 @@ + + + + diff --git a/crov-prase-web/src/main/webapp/app/prase/poliza/aprobarDevolucionPoliza.xhtml b/crov-prase-web/src/main/webapp/app/prase/poliza/aprobarDevolucionPoliza.xhtml index 094142b..48e9c9f 100644 --- a/crov-prase-web/src/main/webapp/app/prase/poliza/aprobarDevolucionPoliza.xhtml +++ b/crov-prase-web/src/main/webapp/app/prase/poliza/aprobarDevolucionPoliza.xhtml @@ -47,6 +47,10 @@ + + + + diff --git a/crov-prase-web/src/main/webapp/app/prase/poliza/index.xhtml b/crov-prase-web/src/main/webapp/app/prase/poliza/index.xhtml index 30668d0..8a2299c 100644 --- a/crov-prase-web/src/main/webapp/app/prase/poliza/index.xhtml +++ b/crov-prase-web/src/main/webapp/app/prase/poliza/index.xhtml @@ -131,6 +131,7 @@ oncomplete="PF('dlg2').show()" update="carBrandForm:carBrandDialog" action="#{polizaBean.cargarPoliza()}" + style="margin-bottom: 0.3em;" rendered="#{data.active and (data.estatus eq 'COTIZACION' or data.estatus eq 'PENDIENTE' or data.estatus eq 'LIQUIDADO')}"> @@ -181,55 +182,55 @@ - + - + - + - + - + - + - + - + - + - + @@ -791,7 +792,7 @@ - + @@ -1295,7 +1296,23 @@ - + +
+ + + + + + + + + +
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 f78056d..7f15734 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 @@ -412,13 +412,31 @@ - - - - - - - + + +
+ + + + + +
+
+ + + + + + + + + +
diff --git a/crov-prase-web/src/main/webapp/app/system/user/create.xhtml b/crov-prase-web/src/main/webapp/app/system/user/create.xhtml index ac74b03..7d14a55 100644 --- a/crov-prase-web/src/main/webapp/app/system/user/create.xhtml +++ b/crov-prase-web/src/main/webapp/app/system/user/create.xhtml @@ -131,7 +131,7 @@ required="true" requiredMessage="La localidad es requerida"> - + diff --git a/crov-prase-web/src/main/webapp/app/topbar/profile.xhtml b/crov-prase-web/src/main/webapp/app/topbar/profile.xhtml index f3e382b..cfaf18f 100644 --- a/crov-prase-web/src/main/webapp/app/topbar/profile.xhtml +++ b/crov-prase-web/src/main/webapp/app/topbar/profile.xhtml @@ -126,11 +126,8 @@ filterMatchMode="contains" required="true" requiredMessage="La localidad es requerida"> - - + +