PRASE/crov-prase-web/src/main/webapp/app/prase/poliza/pagos.xhtml

528 lines
42 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<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>
<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>
</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>
<p:column headerText="Acciones" style="width: 9em">
<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>
<p:commandButton
process="@this"
value="Pago multiple"
title="Pago multiple"
style="background-color: #4D9190; margin-top: 0.5em"
update="pagarMultipleForm"
oncomplete="PF('pagarMultipleDialog').show()"
action="#{pagosPolizasBean.limpiarDetallePago()}"
rendered="#{data.estatus=='PENDIENTE' and data.estatus ne 'CANCELADO'}">
<f:setPropertyActionListener value="#{data}" target="#{pagosPolizasBean.selectedPoliza}"/>
</p:commandButton>
</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">
<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')}" >
<f:setPropertyActionListener value="#{pago}" target="#{pagosPolizasBean.selectedPago}" />
</p:commandButton>
<p:commandButton
process="@this"
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>
<p:column headerText="Tipo pago" sortBy="#{detallePago.tipoPago}" filterBy="#{detallePago.tipoPago}">
<h:outputText value="#{detallePago.tipoPago}" />
</p:column>
<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>
<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">
<p:commandButton
process="@this"
value="Reimprimir"
title="Reimprimir"
oncomplete="PF('printer').show()"
update="formTicket"
style="margin-top: 0.5em; background-color: #E6702E"
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()}"
rendered="#{detallePago.id eq pagosPolizasBean.detallePagoDisponibleParaDevocion and detallePago.pagoPoliza.poliza.estatus ne 'CANCELADO'}">
<f:setPropertyActionListener value="#{detallePago}" target="#{pagosPolizasBean.selectedDetellePago}"/>
</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" >
<h:panelGroup id="panel" style="margin-top: 2em; margin-bottom: 2em">
<h:panelGroup styleClass="md-inputfield" >
<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%;"
/>
<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:ajax update="tipoTargeta" listener="#{pagosPolizasBean.limpiarTipoPago()}" />
</p:selectOneMenu>
<p:message for="metodoPagoSlct" display="text"/>
</h:panelGroup>
<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>
<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()" />
</p:outputPanel>
</p:dialog>
</h:form>
<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>
<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>
<h:form id="formTicket">
<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}">
<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>
<h:outputText value="#{pagosPolizasBean.selectedDetellePago.folio}" style="margin-right: 5em" />
</p>
<p><strong>Poliza: </strong>
<h:outputText value="#{pagosPolizasBean.selectedPoliza.folio}" style="margin-right: 5em" />
</p>
<p><strong>Fecha: </strong>
<h:outputText value="#{pagosPolizasBean.selectedDetellePago.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.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>
<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>
</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>
</h:form>
<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>
<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>
</h:form>
</div>
</ui:define>
</ui:composition>