2025-04-15 19:51:14 +00:00
< ui:composition xmlns = "http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui"
template="/WEB-INF/template.xhtml">
< ui:define name = "title" > #{i18n.project} - Pólizas< / ui:define >
< ui:define name = "head" >
< h:outputScript library = "js" name = "catalog/carBrand.js" / >
< h:outputScript library = "serenity-layout" name = "js/calendar_es.js" / >
< style >
.bgVerde {
background-color: #56E635 !important;
color: black;
}
< / style >
2025-04-29 20:44:34 +00:00
< script >
function truncateDecimals(input, maxDecimals) {
let value = input.value;
if (value.includes('.')) {
let parts = value.split('.');
let integerPart = parts[0];
let decimalPart = parts[1];
if (decimalPart.length > maxDecimals) {
decimalPart = decimalPart.substring(0, maxDecimals);
input.value = integerPart + '.' + decimalPart;
}
}
}
< / script >
2025-04-15 19:51:14 +00:00
< / ui:define >
< ui:define name = "breadcrumb" >
< li > Prase< / li >
< li > /< / li >
< li > < p:link outcome = "#{i18n['outcome.prase.polizas']}" > Pólizas< / p:link > < / li >
< / ui:define >
< ui:define name = "content" >
< div class = "ui-g" >
< div class = "ui-g-12" >
< div class = "card card-w-title" >
< h1 > Pagos de pólizas< / h1 >
< h:form id = "form" rendered = "#{loginBean.isUserInRole('catalog.brand.car.name')}" >
< p:growl id = "msgs" showDetail = "true" / >
< p:dataTable widgetVar = "dtTable" id = "dtTable" var = "data" draggableRows = "true" draggableColumns = "true" value = "#{pagosPolizasBean.poliza}" style = "margin-bottom:20px;text-align: center" reflow = "true" rowsPerPageTemplate = "5,10,25,50,100" emptyMessage = "Sin registros"
rowKey="#{data.id}" selection="#{pagosPolizasBean.selectedPoliza}" editable="true" selectionMode="single" paginator="true" rows="10" paginatorTemplate="{RowsPerPageDropdown} {FirstPageLink} {PreviousPageLink} {CurrentPageReport} {NextPageLink} {LastPageLink}"
rowStyleClass="#{pagosPolizasBean.validarColores(data.estatus)}">
< 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: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: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 = "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 = "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 vencimiento" sortBy = "#{data.endDate}" filterBy = "#{data.endDate}" >
< h:outputText value = "#{data.endDate}" style = "text-transform: capitalize;" >
< f:convertDateTime type = "date" timeZone = "GMT-6" 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 = "Cantidad pagada" sortBy = "#{data.cantidadPagada}" filterBy = "#{data.cantidadPagada}" >
< h:outputText value = "#{data.cantidadPagada}" style = "text-transform: capitalize;" >
< f:convertNumber pattern = "¤#,##0.00" locale = "en_US" currencySymbol = "$" / >
< / h:outputText >
< / p:column >
< p:column headerText = "Pago restante" sortBy = "#{data.amount-data.cantidadPagada}" filterBy = "#{data.amount-data.cantidadPagada}" >
< h:outputText value = "#{data.amount-data.cantidadPagada}" 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 = "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 = "Fecha registro" sortBy = "#{data.createdOn}" filterBy = "#{data.createdOn}" >
< h:outputText value = "#{data.createdOn}" style = "text-transform: capitalize;" >
< f:convertDateTime type = "date" timeZone = "GMT-6" 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 >
2025-04-18 00:21:39 +00:00
< p:column headerText = "Acciones" style = "width: 9em" >
2025-04-15 19:51:14 +00:00
< p:commandButton
process="@this"
value="Pagos"
title="Pagos"
style="background-color: #E6702E"
update="pagosForm:pagosDialog"
oncomplete="PF('pagosDialog').show()"
action="#{pagosPolizasBean.cargarPagosPoliza()}" >
< f:setPropertyActionListener value = "#{data}" target = "#{pagosPolizasBean.selectedPoliza}" / >
< / p:commandButton >
2025-04-18 00:21:39 +00:00
< p:commandButton
process="@this"
value="Pago multiple"
title="Pago multiple"
style="background-color: #4D9190; margin-top: 0.5em"
update="pagarMultipleForm"
oncomplete="PF('pagarMultipleDialog').show()"
2025-04-18 01:15:10 +00:00
action="#{pagosPolizasBean.limpiarDetallePago()}"
2025-04-28 19:47:34 +00:00
rendered="#{data.estatus=='PENDIENTE' and data.estatus ne 'CANCELADO'}">
2025-04-18 00:21:39 +00:00
< f:setPropertyActionListener value = "#{data}" target = "#{pagosPolizasBean.selectedPoliza}" / >
< / p:commandButton >
2025-04-15 19:51:14 +00:00
< / p:column >
< / p:dataTable >
< / h:form >
< / div >
< / div >
< h:form id = "pagosForm" >
< p:dialog widgetVar = "pagosDialog" id = "pagosDialog" style = "max-height: 45em; overflow-y: scroll;" width = "95em" header = "Pagos" modal = "true" >
< p:outputPanel style = "padding-top: 2em" >
< p:dataTable widgetVar = "dtPagos" id = "dtPagos" value = "#{pagosPolizasBean.listPagosPolizas}" var = "pago" draggableRows = "true" draggableColumns = "true" style = "margin-bottom:20px; text-align: center" reflow = "true" rowsPerPageTemplate = "5,10,25,50,100" emptyMessage = "No hay registros"
rowKey="#{pago.id}" selection="#{pagosPolizasBean.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 = "dtPagos" trigger = "toggler" / >
< p:outputPanel >
< h:outputText value = "#{i18n['general.search']}: " / >
< p:inputText id = "globalFilter" onkeyup = "PF('dtPagos').filter()" style = "width:150px;color: #000000;" / >
< / p:outputPanel >
< / f:facet >
< p:column headerText = "Tipo" sortBy = "#{pago.tipoPago}" filterBy = "#{pago.tipoPago}" >
< h:outputText value = "#{pago.tipoPago}" / >
< / p:column >
< p:column headerText = "Estatus" sortBy = "#{pago.pagoEstatus}" filterBy = "#{pago.pagoEstatus}" >
< h:outputText value = "#{pago.pagoEstatus eq 'ENABLED'?'Pagado':pago.pagoEstatus eq 'INCOMPLETE'?'Incompleto':'No pagado'}" / >
< / p:column >
< p:column headerText = "Pago" sortBy = "#{pago.pago}" filterBy = "#{pago.pago}" >
< h:outputText value = "#{pago.pago}" >
< f:convertNumber currencySymbol = "$" groupingUsed = "true" maxFractionDigits = "2" type = "currency" locale = "en" / >
< / h:outputText >
< / p:column >
< p:column headerText = "Cantidad pagada" sortBy = "#{pago.cantidadPagada}" filterBy = "#{pago.cantidadPagada}" >
< h:outputText value = "#{pago.cantidadPagada}" >
< f:convertNumber currencySymbol = "$" groupingUsed = "true" maxFractionDigits = "2" type = "currency" locale = "en" / >
< / h:outputText >
< / p:column >
< p:column headerText = "Pago restante" sortBy = "#{pago.diferenciaPago}" filterBy = "#{pago.diferenciaPago}" >
< h:outputText value = "#{pago.diferenciaPago}" >
< f:convertNumber currencySymbol = "$" groupingUsed = "true" maxFractionDigits = "2" type = "currency" locale = "en" / >
< / h:outputText >
< / p:column >
< p:column headerText = "Fecha programada" sortBy = "#{pago.fechaAPagar}" filterBy = "#{pago.fechaAPagar}" >
< h:outputText value = "#{pago.fechaAPagar}" >
< f:convertDateTime pattern = "dd/MM/yyyy" / >
< / h:outputText >
< / p:column >
< p:column headerText = "Acciones" >
2025-04-28 19:47:34 +00:00
< p:commandButton title = "Pagar" value = "Pagar" update = "pagarForm" oncomplete = "PF('pagarDialog').show()"
action="#{pagosPolizasBean.cargarPago()}"
rendered="#{ (pago.pagoEstatus eq 'DISABLED' or pago.pagoEstatus eq 'INCOMPLETE' ) and pago.id eq pagosPolizasBean.pagoSiguiente and (pago.poliza.estatus ne 'CANCELADO')}" >
2025-04-15 19:51:14 +00:00
< f:setPropertyActionListener value = "#{pago}" target = "#{pagosPolizasBean.selectedPago}" / >
2025-04-16 01:15:56 +00:00
< / p:commandButton >
< p:commandButton
2025-04-18 00:21:39 +00:00
process="@this"
2025-04-16 01:15:56 +00:00
value="Detalles"
title="Detalles"
oncomplete="PF('detallePagosDialog').show()"
update="detallePagosForm"
style="margin-top: 0.5em; background-color: #E6702E"
action="#{pagosPolizasBean.cargarDetalles()}"
rendered="#{pago.pagoEstatus=='ENABLED' or pago.pagoEstatus=='INCOMPLETE'}">
< f:setPropertyActionListener value = "#{pago}" target = "#{pagosPolizasBean.selectedPago}" / >
< / p:commandButton >
< / p:column >
< / p:dataTable >
< / p:outputPanel >
< / p:dialog >
< / h:form >
< h:form id = "detallePagosForm" >
< p:dialog widgetVar = "detallePagosDialog" id = "detallePagosDialog" style = "max-height: 45em; overflow-y: scroll;" width = "95em" header = "detallePagos" modal = "true" >
< p:outputPanel style = "padding-top: 2em" >
< p:dataTable widgetVar = "dtdetallePagos" id = "dtdetallePagos" value = "#{pagosPolizasBean.listDetallePagosPolizas}" var = "detallePago" draggableRows = "true" draggableColumns = "true" style = "margin-bottom:20px; text-align: center" reflow = "true" rowsPerPageTemplate = "5,10,25,50,100" emptyMessage = "No hay registros"
rowKey="#{detallePago.id}" selection="#{pagosPolizasBean.selectedDetellePago}" 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 = "dtdetallePagos" trigger = "toggler" / >
< p:outputPanel >
< h:outputText value = "#{i18n['general.search']}: " / >
< p:inputText id = "globalFilter" onkeyup = "PF('dtdetallePagos').filter()" style = "width:150px;color: #000000;" / >
< / p:outputPanel >
< / f:facet >
2025-04-28 19:47:34 +00:00
2025-04-25 20:34:25 +00:00
< p:column headerText = "Tipo pago" sortBy = "#{detallePago.tipoPago}" filterBy = "#{detallePago.tipoPago}" >
< h:outputText value = "#{detallePago.tipoPago}" / >
< / p:column >
2025-04-28 19:47:34 +00:00
2025-04-25 20:34:25 +00:00
< p:column headerText = "Estatus del pago" sortBy = "#{detallePago.estatusPago eq 'ENABLED'?'PAGADO':detallePago.estatusPago eq 'ENABLED'?'NO PAGADO':detallePago.estatusPago eq 'CANCELED'?'CANCELADO':'INCOMPLETO'}" filterBy = "#{detallePago.estatusPago eq 'ENABLED'?'PAGADO':detallePago.estatusPago eq 'ENABLED'?'NO PAGADO':detallePago.estatusPago eq 'CANCELED'?'CANCELADO':'INCOMPLETO'}" >
< h:outputText value = "#{detallePago.estatusPago eq 'ENABLED'?'PAGADO':detallePago.estatusPago eq 'ENABLED'?'NO PAGADO':detallePago.estatusPago eq 'CANCELED'?'CANCELADO':'INCOMPLETO'}" / >
< / p:column >
2025-04-16 01:15:56 +00:00
< p:column headerText = "Metodo pago" sortBy = "#{detallePago.metodoPago}" filterBy = "#{detallePago.metodoPago}" >
< h:outputText value = "#{detallePago.metodoPago}" / >
< / p:column >
< p:column headerText = "Folio" sortBy = "#{detallePago.folio}" filterBy = "#{detallePago.folio}" >
< h:outputText value = "#{detallePago.folio}" / >
< / p:column >
< p:column headerText = "Cantidad pagada" sortBy = "#{detallePago.cantidadPagada}" filterBy = "#{detallePago.cantidadPagada}" >
< h:outputText value = "#{detallePago.cantidadPagada}" >
< f:convertNumber currencySymbol = "$" groupingUsed = "true" maxFractionDigits = "2" type = "currency" locale = "en" / >
< / h:outputText >
< / p:column >
< p:column headerText = "Fecha de pago" sortBy = "#{detallePago.fechaPago}" filterBy = "#{detallePago.fechaPago}" >
< h:outputText value = "#{detallePago.fechaPago}" >
< f:convertDateTime pattern = "dd/MM/yyyy" / >
< / h:outputText >
< / p:column >
< p:column headerText = "Usuario cobro" sortBy = "#{detallePago.cobro.person.firstName} #{detallePago.cobro.person.secondName} #{detallePago.cobro.person.lastName} #{detallePago.cobro.person.middleName}" filterBy = "#{detallePago.cobro.person.firstName} #{detallePago.cobro.person.secondName} #{detallePago.cobro.person.lastName} #{detallePago.cobro.person.middleName}" >
< h:outputText value = "#{detallePago.cobro.person.firstName} #{detallePago.cobro.person.secondName} #{detallePago.cobro.person.lastName} #{detallePago.cobro.person.middleName}" / >
< / p:column >
< p:column headerText = "Acciones" >
2025-04-15 19:51:14 +00:00
< p:commandButton
process="@this"
value="Reimprimir"
title="Reimprimir"
oncomplete="PF('printer').show()"
update="formTicket"
style="margin-top: 0.5em; background-color: #E6702E"
2025-04-25 20:34:25 +00:00
action="#{pagosPolizasBean.reimprimirTicket()}"
rendered="#{detallePago.tipoPago eq 'ABONO' and detallePago.estatusPago eq 'ENABLED'}">
< f:setPropertyActionListener value = "#{detallePago}" target = "#{pagosPolizasBean.selectedDetellePago}" / >
< / p:commandButton >
< p:commandButton
process="@this"
value="Devolver"
title="Devolver"
oncomplete="PF('devolverDetatallePagoDialog').show()"
update="devolverDetatallePagoForm"
style="margin-top: 0.5em; background-color: #E6702E"
action="#{pagosPolizasBean.limpiarFormDevolusionDetallePago()}"
2025-04-28 19:47:34 +00:00
rendered="#{detallePago.id eq pagosPolizasBean.detallePagoDisponibleParaDevocion and detallePago.pagoPoliza.poliza.estatus ne 'CANCELADO'}">
2025-04-16 01:15:56 +00:00
< f:setPropertyActionListener value = "#{detallePago}" target = "#{pagosPolizasBean.selectedDetellePago}" / >
2025-04-15 19:51:14 +00:00
< / p:commandButton >
< / p:column >
< / p:dataTable >
< / p:outputPanel >
< / p:dialog >
< / h:form >
< h:form id = "pagarForm" >
< p:dialog widgetVar = "pagarDialog" height = "30%" width = "30%" id = "pagarDialog" header = "Abonos" modal = "true" >
< p:ajax event = "close" update = "pagarDialog" / >
< p:outputPanel style = "margin-top: 1em" >
2025-04-16 01:15:56 +00:00
< h:panelGroup id = "panel" style = "margin-top: 2em; margin-bottom: 2em" >
2025-04-18 00:21:39 +00:00
< h:panelGroup styleClass = "md-inputfield" >
2025-04-29 20:44:34 +00:00
< p:inputNumber
id="canridadPagada"
decimalPlaces="100"
value="#{pagosPolizasBean.cantidadAPagar}"
onkeyup="truncateDecimals(this, 3)"
onchange="truncateDecimals(this, 3)"
onfocus="truncateDecimals(this, 3)"
required="true"
style="width: 100%;"
/>
2025-04-18 00:21:39 +00:00
< label > Cantidad a pagar< / label >
< p:message for = "canridadPagada" display = "text" / >
< / h:panelGroup >
2025-04-15 19:51:14 +00:00
< / h:panelGroup >
< h:panelGroup styleClass = "md-inputfield" style = "margin-top: 2em; margin-bottom: 2em" >
< p:selectOneMenu
id="metodoPagoSlct"
style="width:100%"
value="#{pagosPolizasBean.metodoPago}"
required="true"
requiredMessage="El método de pago es obligatorio en las pólizas marcadas como liquidadas" >
< f:selectItem itemLabel = "Selecione el método de pago" itemValue = "" / >
< f:selectItem itemLabel = "Efectivo" itemValue = "EFECTIVO" / >
< f:selectItem itemLabel = "Tarjeta" itemValue = "TARJETA" / >
< f:selectItem itemLabel = "Deposito" itemValue = "DEPOSITO" / >
< f:selectItem itemLabel = "Trasferencia" itemValue = "TRASFERENCIA" / >
2025-05-07 19:00:41 +00:00
< p:ajax update = "tipoTargeta" listener = "#{pagosPolizasBean.limpiarTipoPago()}" / >
2025-04-15 19:51:14 +00:00
< / p:selectOneMenu >
< p:message for = "metodoPagoSlct" display = "text" / >
< / h:panelGroup >
2025-05-07 19:00:41 +00:00
< h:panelGroup id = "tipoTargeta" styleClass = "md-inputfield" style = "margin-top: 2em; margin-bottom: 2em" >
< p:selectOneMenu
id="tipoTargetaSlct"
style="width:100%"
value="#{pagosPolizasBean.tipoTargeta}"
rendered="#{pagosPolizasBean.metodoPago eq 'TARJETA'}">
< f:selectItem itemLabel = "Selecione el tipo de tarjeta" itemValue = "0" / >
< f:selectItem itemLabel = "Credito" itemValue = "CREDITO" / >
< f:selectItem itemLabel = "Debito" itemValue = "DEBITO" / >
< / p:selectOneMenu >
< p:message for = "tipoTargetaSlct" display = "text" / >
< / h:panelGroup >
2025-04-16 01:15:56 +00:00
< p:commandButton id = "addButton1" value = "Pagar" actionListener = "#{pagosPolizasBean.pagar()}" update = "form, pagosForm:dtPagos, pagarForm, formTicket, pagarDialog" rendered = "#{pagosPolizasBean.selectedPago.pagoEstatus eq 'DISABLED' or pagosPolizasBean.selectedPago.pagoEstatus=='INCOMPLETE'}" oncomplete = "PF('printer').show()" / >
2025-04-15 19:51:14 +00:00
< / p:outputPanel >
< / p:dialog >
< / h:form >
2025-04-18 00:21:39 +00:00
< h:form id = "pagarMultipleForm" >
< p:dialog widgetVar = "pagarMultipleDialog" height = "30%" width = "30%" id = "pagarMultipleDialog" header = "Abono multiple" modal = "true" >
< p:ajax event = "close" update = "pagarMultipleDialog" / >
< p:outputPanel style = "margin-top: 1em" >
< h:panelGroup id = "panel" style = "margin-top: 2em; margin-bottom: 2em" >
< h:panelGroup styleClass = "md-inputfield" >
< p:inputNumber id = "canridadPagada" value = "#{pagosPolizasBean.cantidadAPagar}" minValue = "0" decimalPlaces = "2" autocomplete = "off" required = "true" requiredMessage = "El monto a pagar es obligatorio" style = "width: 100%;" / >
< label > Cantidad a pagar< / label >
< p:message for = "canridadPagada" display = "text" / >
< / h:panelGroup >
< / h:panelGroup >
< h:panelGroup styleClass = "md-inputfield" style = "margin-top: 2em; margin-bottom: 2em" >
< p:selectOneMenu
id="metodoPagoSlct"
style="width:100%"
value="#{pagosPolizasBean.metodoPago}"
required="true"
requiredMessage="El método de pago es obligatorio en las pólizas marcadas como liquidadas" >
< f:selectItem itemLabel = "Selecione el método de pago" itemValue = "" / >
< f:selectItem itemLabel = "Efectivo" itemValue = "EFECTIVO" / >
< f:selectItem itemLabel = "Tarjeta" itemValue = "TARJETA" / >
< f:selectItem itemLabel = "Deposito" itemValue = "DEPOSITO" / >
< f:selectItem itemLabel = "Trasferencia" itemValue = "TRASFERENCIA" / >
< / p:selectOneMenu >
< p:message for = "metodoPagoSlct" display = "text" / >
< / h:panelGroup >
< h:panelGroup styleClass = "md-inputfield" >
< p:inputText id = "comentario" value = "#{pagosPolizasBean.comentario}" style = "width: 100%;" / >
< label > Comentario< / label >
< p:message for = "comentario" display = "text" / >
< / h:panelGroup >
< p:commandButton id = "addButton1" value = "Pagar" actionListener = "#{pagosPolizasBean.pagarMultiple()}" update = "form, pagosForm:dtPagos, pagarMultipleForm, formTicketMultiple" oncomplete = "PF('printerMultiple').show()" / >
< / p:outputPanel >
< / p:dialog >
< / h:form >
2025-04-25 20:34:25 +00:00
< h:form id = "devolverDetatallePagoForm" >
< p:dialog widgetVar = "devolverDetatallePagoDialog" height = "30%" width = "30%" id = "devolverDetatallePagoDialog" header = "Solicitar devolución de detalle de pago" modal = "true" >
< p:ajax event = "close" update = "devolverDetatallePagoDialog" / >
< p:outputPanel style = "margin-top: 1em" >
< h:panelGroup styleClass = "md-inputfield" >
< p:inputText id = "comentario" value = "#{pagosPolizasBean.comentarioDevolucionPago}" style = "width: 100%;" / >
< label > Motivo por el cual solicita la devoción< / label >
< p:message for = "comentario" display = "text" / >
< / h:panelGroup >
< p:commandButton id = "addButton1" value = "Solicitar" actionListener = "#{pagosPolizasBean.solicitarDevolusionDePago()}" update = "form, devolverDetatallePagoForm" / >
< / p:outputPanel >
< / p:dialog >
< / h:form >
2025-04-15 19:51:14 +00:00
< h:form id = "formTicket" >
2025-04-16 01:15:56 +00:00
< p:dialog header = "Vista previa del ticket" widgetVar = "printer" minHeight = "40" width = "350" showEffect = "fade" id = "printer" >
< p:ajax event = "close" update = "printer" listener = "#{pagosPolizasBean.limpiarDetallePago()}" / >
< p:outputPanel id = "pnlPrint" class = "no-page-break scrollable-panel" rendered = "#{pagosPolizasBean.pagoExitoso}" >
2025-04-15 19:51:14 +00:00
< p:graphicImage name = "#{pagosPolizasBean.imagen}" style = "width: 110px; height: 100px; display: block; margin-left: auto; margin-right: auto;" library = "serenity-layout" / >
< div class = "details" >
< p > < strong > Folio: < / strong >
2025-04-16 01:15:56 +00:00
< h:outputText value = "#{pagosPolizasBean.selectedDetellePago.folio}" style = "margin-right: 5em" / >
2025-04-15 19:51:14 +00:00
< / p >
< p > < strong > Poliza: < / strong >
< h:outputText value = "#{pagosPolizasBean.selectedPoliza.folio}" style = "margin-right: 5em" / >
< / p >
< p > < strong > Fecha: < / strong >
2025-04-16 01:15:56 +00:00
< h:outputText value = "#{pagosPolizasBean.selectedDetellePago.fechaPago}" style = "margin-right: 5em" >
2025-04-15 19:51:14 +00:00
< f:convertDateTime type = "date" locale = "es" timeZone = "GMT-6" pattern = "dd - MMMM - yyyy" / >
< / h:outputText >
< / p >
2025-04-16 01:15:56 +00:00
< p > < strong > < h:outputText value = "CLIENTE: " / > < / strong > < h:outputText value = "#{pagosPolizasBean.selectedDetellePago.pagoPoliza.poliza.customer.firstName} #{pagosPolizasBean.selectedDetellePago.pagoPoliza.poliza.customer.secondName} #{pagosPolizasBean.selectedDetellePago.pagoPoliza.poliza.customer.lastName}" / > < / p >
< p > < strong > < h:outputText value = "PAGO: " / > < / strong > < h:outputText value = "#{pagosPolizasBean.selectedDetellePago.cantidadPagada}" > < f:convertNumber currencySymbol = "$" groupingUsed = "true" maxFractionDigits = "2" type = "currency" locale = "en" / > < / h:outputText > < / p >
< p > < strong > < h:outputText value = "PAGO RESTANTE: " / > < / strong > < h:outputText value = "#{pagosPolizasBean.selectedDetellePago.pagoPoliza.poliza.amount - pagosPolizasBean.selectedDetellePago.pagoPoliza.poliza.cantidadPagada}" > < f:convertNumber currencySymbol = "$" groupingUsed = "true" maxFractionDigits = "2" type = "currency" locale = "en" / > < / h:outputText > < / p >
< p > < strong > < h:outputText value = "COBRO: " / > < / strong > < h:outputText value = "#{pagosPolizasBean.selectedDetellePago.cobro.person.firstName} #{pagosPolizasBean.selectedDetellePago.cobro.person.secondName} #{pagosPolizasBean.selectedDetellePago.cobro.person.lastName} #{pagosPolizasBean.selectedDetellePago.cobro.person.middleName}" / > < / p >
< p > < strong > < h:outputText value = "MÉTODO DE PAGO: " / > < / strong > < h:outputText value = "#{pagosPolizasBean.selectedDetellePago.metodoPago.type}" > < / h:outputText > < / p >
2025-05-07 19:00:41 +00:00
< p > < strong > < h:outputText rendered = "#{pagosPolizasBean.selectedDetellePago.metodoPago eq 'TARJETA'}" value = "TIPO DE TARJETA: " / > < / strong > < h:outputText rendered = "#{pagosPolizasBean.selectedDetellePago.metodoPago eq 'TARJETA'}" value = "#{pagosPolizasBean.selectedDetellePago.tipoTarjeta.type}" > < / h:outputText > < / p >
2025-04-15 19:51:14 +00:00
< / div >
< p > < center > < strong > < h:outputText value = "#{pagosPolizasBean.loggedUser.location.businessName}" / > < br / > AGRADECE SU PREFERENCIA < / strong > < / center > < / p >
< p >
< h:outputText value = "#{pagosPolizasBean.loggedUser.location.completeAddress}, " / >
< h:outputText value = "#{pagosPolizasBean.loggedUser.location.municipality}, " / >
< h:outputText value = "#{pagosPolizasBean.loggedUser.location.state}, " / >
< h:outputText value = "#{pagosPolizasBean.loggedUser.location.postalCode}" / >
< / p >
< p > < strong > < h:outputText value = "RFC: " / > < / strong > < h:outputText value = "#{pagosPolizasBean.loggedUser.location.rfc}" / > < / p >
< p > < strong > < h:outputText value = "TEL: " / > < / strong > < h:outputText value = "#{pagosPolizasBean.loggedUser.location.phone}" / > < / p >
< / p:outputPanel >
< p:outputPanel id = "pnlPrint2" class = "no-page-break" rendered = "#{!pagosPolizasBean.pagoExitoso}" >
< h3 > ERROR AL GENERAR EL PAGO < / h3 >
< / p:outputPanel >
< f:facet name = "footer" >
< h:panelGroup >
< p:commandButton value = "Imprimir" title = "Imprimir" icon = "ui-icon-print" >
< p:printer target = "pnlPrint" / >
< / p:commandButton >
< / h:panelGroup >
< / f:facet >
< / p:dialog >
2025-04-18 00:21:39 +00:00
< / h:form >
2025-04-25 20:34:25 +00:00
2025-04-18 00:21:39 +00:00
< h:form id = "formTicketMultiple" >
< p:dialog header = "Vista previa del ticket de pago multiple" widgetVar = "printerMultiple" minHeight = "40" width = "350" showEffect = "fade" id = "printerMultiple" >
< p:ajax event = "close" update = "printerMultiple" listener = "#{pagosPolizasBean.limpiarDetallePagoMultiple()}" / >
< p:outputPanel id = "pnlPrint" class = "no-page-break scrollable-panel" rendered = "#{pagosPolizasBean.pagoExitoso}" >
< p:graphicImage name = "#{pagosPolizasBean.imagen}" style = "width: 110px; height: 100px; display: block; margin-left: auto; margin-right: auto;" library = "serenity-layout" / >
< div class = "details" >
< p > < strong > Poliza: < / strong >
< h:outputText value = "#{pagosPolizasBean.selectedHistorialAbonoMultiple.poliza.folio}" style = "margin-right: 5em" / >
< / p >
< p > < strong > Fecha: < / strong >
< h:outputText value = "#{pagosPolizasBean.selectedHistorialAbonoMultiple.fechaPago}" style = "margin-right: 5em" >
< f:convertDateTime type = "date" locale = "es" timeZone = "GMT-6" pattern = "dd - MMMM - yyyy" / >
< / h:outputText >
< / p >
< p > < strong > < h:outputText value = "CLIENTE: " / > < / strong > < h:outputText value = "#{pagosPolizasBean.selectedHistorialAbonoMultiple.poliza.customer.firstName} #{pagosPolizasBean.selectedHistorialAbonoMultiple.poliza.customer.secondName} #{pagosPolizasBean.selectedHistorialAbonoMultiple.poliza.customer.lastName}" / > < / p >
< p > < strong > < h:outputText value = "PAGO: " / > < / strong > < h:outputText value = "#{pagosPolizasBean.selectedHistorialAbonoMultiple.totalPago}" > < f:convertNumber currencySymbol = "$" groupingUsed = "true" maxFractionDigits = "2" type = "currency" locale = "en" / > < / h:outputText > < / p >
< p > < strong > < h:outputText value = "PAGO RESTANTE: " / > < / strong > < h:outputText value = "#{pagosPolizasBean.selectedHistorialAbonoMultiple.poliza.amount - pagosPolizasBean.selectedHistorialAbonoMultiple.poliza.cantidadPagada}" > < f:convertNumber currencySymbol = "$" groupingUsed = "true" maxFractionDigits = "2" type = "currency" locale = "en" / > < / h:outputText > < / p >
< p > < strong > < h:outputText value = "COBRO: " / > < / strong > < h:outputText value = "#{pagosPolizasBean.selectedHistorialAbonoMultiple.cobro.person.firstName} #{pagosPolizasBean.selectedHistorialAbonoMultiple.cobro.person.secondName} #{pagosPolizasBean.selectedHistorialAbonoMultiple.cobro.person.lastName} #{pagosPolizasBean.selectedHistorialAbonoMultiple.cobro.person.middleName}" / > < / p >
< p > < strong > < h:outputText value = "MÉTODO DE PAGO: " / > < / strong > < h:outputText value = "#{pagosPolizasBean.selectedHistorialAbonoMultiple.metodoPago.type}" > < / h:outputText > < / p >
< p > < strong > < h:outputText value = "PAGOS REALIZADOS: " / > < / strong > < h:outputText value = "#{pagosPolizasBean.selectedHistorialAbonoMultiple.detalle}" > < / h:outputText > < / p >
< / div >
< p > < center > < strong > < h:outputText value = "#{pagosPolizasBean.loggedUser.location.businessName}" / > < br / > AGRADECE SU PREFERENCIA < / strong > < / center > < / p >
< p >
< h:outputText value = "#{pagosPolizasBean.loggedUser.location.completeAddress}, " / >
< h:outputText value = "#{pagosPolizasBean.loggedUser.location.municipality}, " / >
< h:outputText value = "#{pagosPolizasBean.loggedUser.location.state}, " / >
< h:outputText value = "#{pagosPolizasBean.loggedUser.location.postalCode}" / >
< / p >
< p > < strong > < h:outputText value = "RFC: " / > < / strong > < h:outputText value = "#{pagosPolizasBean.loggedUser.location.rfc}" / > < / p >
< p > < strong > < h:outputText value = "TEL: " / > < / strong > < h:outputText value = "#{pagosPolizasBean.loggedUser.location.phone}" / > < / p >
< / p:outputPanel >
< p:outputPanel id = "pnlPrint2" class = "no-page-break" rendered = "#{!pagosPolizasBean.pagoExitoso}" >
< h3 > ERROR AL GENERAR EL PAGO < / h3 >
< / p:outputPanel >
2025-04-15 19:51:14 +00:00
2025-04-18 00:21:39 +00:00
< f:facet name = "footer" >
< h:panelGroup >
< p:commandButton value = "Imprimir" title = "Imprimir" icon = "ui-icon-print" >
< p:printer target = "pnlPrint" / >
< / p:commandButton >
< / h:panelGroup >
< / f:facet >
< / p:dialog >
2025-04-15 19:51:14 +00:00
< / h:form >
< / div >
< / ui:define >
< / ui:composition >