- DASHBOARD - PAGOS DE POLIZAS PROXIMAS A VENCER - QUE NO MUESTRE CANCELADAS

- DASHBOARD - POLIZAS PROXIMAS A VENCER - QUE NO MUESTRE CANCELADAS
- DASHBOARD - CUANDO UNA POLIZA SE VENCE Y NO SE PAGA YA NO SE VUELVE A MOSTRAR COMO DEUDORA
- CAJA GENERAL - INICIOS - AGREGAR NOMBRE EN LA TABLA DE USUARIO CREACION
This commit is contained in:
Brayan.Gonzalez 2025-04-21 11:29:47 -06:00
parent 45f688afde
commit bf281bef70
3 changed files with 237 additions and 229 deletions

View File

@ -91,15 +91,18 @@ public class PagosPolizaController extends ConnectionManager implements Serializ
CriteriaQuery<PagosPoliza> criteria = builder.createQuery(PagosPoliza.class); CriteriaQuery<PagosPoliza> criteria = builder.createQuery(PagosPoliza.class);
Root<PagosPoliza> root = criteria.from(PagosPoliza.class); Root<PagosPoliza> root = criteria.from(PagosPoliza.class);
LocalDate localHoy = new Date().toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
LocalDate localStartDate = startDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDate(); LocalDate localStartDate = startDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
LocalDate localEndDate = endDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDate(); LocalDate localEndDate = endDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
Predicate criterio1 = builder.equal(root.get("poliza").get("location"), location); Predicate criterio1 = builder.equal(root.get("poliza").get("location"), location);
Predicate criterio2 = builder.equal(root.get("estatusActivo"), GenericEnumType.ENABLED); Predicate criterio2 = builder.equal(root.get("estatusActivo"), GenericEnumType.ENABLED);
Predicate criterio3 = builder.equal(root.get("pagoEstatus"), GenericEnumType.DISABLED); Predicate criterio3 = builder.equal(root.get("pagoEstatus"), GenericEnumType.DISABLED);
Predicate criterio4 = builder.notEqual(root.get("poliza").get("estatus"), PolizaEstatus.CANCELADO);
Predicate criterio5 = builder.greaterThanOrEqualTo(root.get("poliza").get("endDate").as(LocalDate.class), localHoy);
Predicate startDatePredicate = builder.greaterThanOrEqualTo(root.get("fechaAPagar").as(LocalDate.class), localStartDate); Predicate startDatePredicate = builder.greaterThanOrEqualTo(root.get("fechaAPagar").as(LocalDate.class), localStartDate);
Predicate endDatePredicate = builder.lessThanOrEqualTo(root.get("fechaAPagar").as(LocalDate.class), localEndDate); Predicate endDatePredicate = builder.lessThanOrEqualTo(root.get("fechaAPagar").as(LocalDate.class), localEndDate);
criteria.where(builder.and(criterio1, criterio2, criterio3, startDatePredicate, endDatePredicate)); criteria.where(builder.and(criterio1, criterio2, criterio3, criterio4, criterio5, startDatePredicate, endDatePredicate));
criteria.orderBy(builder.asc(root.get("fechaAPagar"))); criteria.orderBy(builder.asc(root.get("fechaAPagar")));
resultList = session.createQuery(criteria).getResultList(); resultList = session.createQuery(criteria).getResultList();

View File

@ -12,6 +12,7 @@ import com.arrebol.taxiservicios.controller.util.HibernateUtil;
import com.arrebol.taxiservicios.model.catalog.Location; import com.arrebol.taxiservicios.model.catalog.Location;
import com.arrebol.taxiservicios.model.core.Address; import com.arrebol.taxiservicios.model.core.Address;
import com.arrebol.taxiservicios.model.core.User; import com.arrebol.taxiservicios.model.core.User;
import com.arrebol.taxiservicios.model.enums.PolizaEstatus;
import com.crov.prase.model.prase.DetellePagoPoliza; import com.crov.prase.model.prase.DetellePagoPoliza;
import com.crov.prase.model.prase.PagosPoliza; import com.crov.prase.model.prase.PagosPoliza;
import com.crov.prase.model.prase.Poliza; import com.crov.prase.model.prase.Poliza;
@ -374,11 +375,12 @@ public class PolizaController extends ConnectionManager implements Serializable
LocalDate localEndDate = endDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDate(); LocalDate localEndDate = endDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
Predicate criterio = builder.equal(root.get("active"), Boolean.TRUE); Predicate criterio = builder.equal(root.get("active"), Boolean.TRUE);
Predicate criterio2 = builder.equal(root.get("location"), location); Predicate criterio2 = builder.notEqual(root.get("estatus"), PolizaEstatus.CANCELADO);
Predicate criterio3 = builder.equal(root.get("location"), location);
Predicate startDatePredicate = builder.greaterThanOrEqualTo(root.get("endDate").as(LocalDate.class), localStartDate); Predicate startDatePredicate = builder.greaterThanOrEqualTo(root.get("endDate").as(LocalDate.class), localStartDate);
Predicate endDatePredicate = builder.lessThanOrEqualTo(root.get("endDate").as(LocalDate.class), localEndDate); Predicate endDatePredicate = builder.lessThanOrEqualTo(root.get("endDate").as(LocalDate.class), localEndDate);
query.where(builder.and(criterio, criterio2, startDatePredicate, endDatePredicate)); query.where(builder.and(criterio, criterio2, criterio3, startDatePredicate, endDatePredicate));
query.orderBy(builder.asc(root.get("createdOn"))); query.orderBy(builder.asc(root.get("createdOn")));
results = session.createQuery(query).getResultList(); results = session.createQuery(query).getResultList();

View File

@ -117,7 +117,10 @@
<p:column headerText="#{i18n['menu.admin.expense.column.description']}" sortBy="#{expense.description}" filterBy="#{expense.description}"> <p:column headerText="#{i18n['menu.admin.expense.column.description']}" sortBy="#{expense.description}" filterBy="#{expense.description}">
<h:outputText value="#{expense.description}" /> <h:outputText value="#{expense.description}" />
</p:column> </p:column>
<p:column headerText="#{i18n.user}" sortBy="#{expense.lastUpdatedBy.person.firstName} #{expense.lastUpdatedBy.person.lastName} #{expense.lastUpdatedBy.person.middleName}" filterBy="#{expense.lastUpdatedBy.person.firstName} #{expense.lastUpdatedBy.person.lastName} #{expense.lastUpdatedBy.person.middleName}"> <p:column headerText="Creado por" sortBy="#{expense.createdBy.person.firstName} #{expense.createdBy.person.lastName} #{expense.createdBy.person.middleName}" filterBy="#{expense.createdBy.person.firstName} #{expense.createdBy.person.lastName} #{expense.createdBy.person.middleName}">
<h:outputText value="#{expense.createdBy.person.firstName} #{expense.createdBy.person.lastName} #{expense.createdBy.person.middleName}" />
</p:column>
<p:column headerText="Modificado por" sortBy="#{expense.lastUpdatedBy.person.firstName} #{expense.lastUpdatedBy.person.lastName} #{expense.lastUpdatedBy.person.middleName}" filterBy="#{expense.lastUpdatedBy.person.firstName} #{expense.lastUpdatedBy.person.lastName} #{expense.lastUpdatedBy.person.middleName}">
<h:outputText value="#{expense.lastUpdatedBy.person.firstName} #{expense.lastUpdatedBy.person.lastName} #{expense.lastUpdatedBy.person.middleName}" /> <h:outputText value="#{expense.lastUpdatedBy.person.firstName} #{expense.lastUpdatedBy.person.lastName} #{expense.lastUpdatedBy.person.middleName}" />
</p:column> </p:column>
<p:column headerText="Locación" sortBy="#{expense.location.name}" filterBy="#{expense.location.name}"> <p:column headerText="Locación" sortBy="#{expense.location.name}" filterBy="#{expense.location.name}">