528 lines
42 KiB
HTML
528 lines
42 KiB
HTML
<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> |