diff --git a/apc-controller-mobile/src/main/java/com/arrebol/apc/controller/mobile/controller/loan/LoanController.java b/apc-controller-mobile/src/main/java/com/arrebol/apc/controller/mobile/controller/loan/LoanController.java index fcbceab..d4c3044 100644 --- a/apc-controller-mobile/src/main/java/com/arrebol/apc/controller/mobile/controller/loan/LoanController.java +++ b/apc-controller-mobile/src/main/java/com/arrebol/apc/controller/mobile/controller/loan/LoanController.java @@ -1105,6 +1105,29 @@ public class LoanController implements Serializable { } } + /** + * + * @param idLoan + * @return + * @throws Exception + */ + public List approvedDetailsFromTiketByIdLoan(String idLoan) throws Exception { + logger.debug("approvedDetailsFromTiketByIdLoan"); + try { + List parameters = new ArrayList<>(); + + parameters.add(new ModelParameter(LoanDetailsCfg.FIELD_ID_LOAN, new Loan(idLoan))); + + return loanApprovedDetailViewRepository.findLoanDetailsFromTikedByLoan( + LoanDetailsCfg.QUERY_FIND_LOAN_DETAILS_FROM_TIKET_BY_LOAN, + parameters + ); + } catch (Exception e) { + logger.error("approvedDetailsFromTiketByIdLoan", e); + throw e; + } + } + /** * Searching all loan details by id. * diff --git a/apc-controller-mobile/src/main/java/com/arrebol/apc/controller/mobile/repository/views/LoanApprovedDetailViewRepository.java b/apc-controller-mobile/src/main/java/com/arrebol/apc/controller/mobile/repository/views/LoanApprovedDetailViewRepository.java index 733ab23..67b3618 100644 --- a/apc-controller-mobile/src/main/java/com/arrebol/apc/controller/mobile/repository/views/LoanApprovedDetailViewRepository.java +++ b/apc-controller-mobile/src/main/java/com/arrebol/apc/controller/mobile/repository/views/LoanApprovedDetailViewRepository.java @@ -1,8 +1,8 @@ /* * Arrebol Consultancy copyright. - * + * * This code belongs to Arrebol Consultancy - * its use, redistribution or modification are prohibited + * its use, redistribution or modification are prohibited * without written authorization from Arrebol Consultancy. */ package com.arrebol.apc.controller.mobile.repository.views; @@ -26,13 +26,13 @@ import org.apache.logging.log4j.Logger; */ public class LoanApprovedDetailViewRepository extends GenericRepository implements Serializable { - /* + /* public List findAllTransferByUserIdAndCurdate(String xmlQuery, List parameters) throws Exception { logger.debug("findAllTransferByUserIdAndCurdate"); List results = new ArrayList<>(); try { List tuples = xmlQueryTuple(xmlQuery, parameters); - + tuples.forEach((tuple) -> { results.add( new Exchange( @@ -43,82 +43,138 @@ public class LoanApprovedDetailViewRepository extends GenericRepository implemen ) ); }); - + return results; } catch (Exception e) { logger.error("findAllTransferByUserIdAndCurdate", e); throw e; } } - */ - /** - * - * @param xmlQuery - * @param parameters - * @return - * @throws Exception - */ - public List findLoanDetailsByLoan(String xmlQuery, List parameters) throws Exception { - logger.debug("findLoanDetailsByLoan"); - List results = new ArrayList<>(); - try { - List tuples = xmlQueryTuple(xmlQuery, parameters); + */ + /** + * + * @param xmlQuery + * @param parameters + * @return + * @throws Exception + */ + public List findLoanDetailsByLoan(String xmlQuery, List parameters) throws Exception { + logger.debug("findLoanDetailsByLoan"); + List results = new ArrayList<>(); + try { + List tuples = xmlQueryTuple(xmlQuery, parameters); - double total = 0d; + double total = 0d; - for (Tuple tuple : tuples) { - if (results.isEmpty()) { - total = ((BigDecimal) tuple.get("amountToPay")).doubleValue(); - } - LoanDetailsType type = tuple.get("loanDetailsType", LoanDetailsType.class); + for (Tuple tuple : tuples) { + if (results.isEmpty()) { + total = ((BigDecimal) tuple.get("amountToPay")).doubleValue(); + } + LoanDetailsType type = tuple.get("loanDetailsType", LoanDetailsType.class); - switch (type) { - case PAYMENT: - total = total - ((BigDecimal) tuple.get("paymentAmount")).doubleValue(); - break; - case FEE: - total = total + ((BigDecimal) tuple.get("paymentAmount")).doubleValue(); - break; - case TRANSFER: - total = total - (tuple.get("paymentAmount", BigDecimal.class)).doubleValue(); - break; - } - - LoanDetailJaxb detail = new LoanDetailJaxb( - tuple.get("createdOn", String.class), - ((BigDecimal) tuple.get("paymentAmount")).doubleValue(), - total, - tuple.get("comments", String.class), - type.toString() - ); - - results.add(detail); + switch (type) { + case PAYMENT: + total = total - ((BigDecimal) tuple.get("paymentAmount")).doubleValue(); + break; + case FEE: + total = total + ((BigDecimal) tuple.get("paymentAmount")).doubleValue(); + break; + case TRANSFER: + total = total - (tuple.get("paymentAmount", BigDecimal.class)).doubleValue(); + break; } - return results; - } catch (Exception e) { - logger.error("findLoanDetailsByLoan", e); - throw e; - } - } + LoanDetailJaxb detail = new LoanDetailJaxb( + tuple.get("createdOn", String.class), + ((BigDecimal) tuple.get("paymentAmount")).doubleValue(), + total, + tuple.get("comments", String.class), + type.toString() + ); - /** - * - * @param idLoan - * @return - * @throws Exception - */ - public LoanApprovedDetailView approvedDetailsByIdLoan(String idLoan) throws Exception { - logger.debug("approvedDetailsByIdLoan"); - try { - return (LoanApprovedDetailView) findAPCEntity(LoanApprovedDetailView.class, idLoan); - } catch (Exception e) { - logger.error("approvedDetailsByIdLoan", e); - throw e; - } - } + results.add(detail); + } - private static final long serialVersionUID = -7364653160752676339L; - final Logger logger = LogManager.getLogger(LoanApprovedDetailViewRepository.class); + return results; + } catch (Exception e) { + logger.error("findLoanDetailsByLoan", e); + throw e; + } + } + + /** + * + * @param xmlQuery + * @param parameters + * @return + * @throws Exception + */ + public List findLoanDetailsFromTikedByLoan(String xmlQuery, List parameters) throws Exception { + logger.debug("Consulta actual recibida: {}", xmlQuery); + logger.debug("findLoanDetailsFromTikedByLoan"); + List results = new ArrayList<>(); + try { + List tuples = xmlQueryTuple(xmlQuery, parameters); + + double total = 0d; + + for (Tuple tuple : tuples) { + if (results.isEmpty()) { + total = ((BigDecimal) tuple.get("amountToPay")).doubleValue(); + } + LoanDetailsType type = tuple.get("loanDetailsType", LoanDetailsType.class); + + switch (type) { + case PAYMENT: + total = total - ((BigDecimal) tuple.get("paymentAmount")).doubleValue(); + break; + case FEE: + total = total + ((BigDecimal) tuple.get("paymentAmount")).doubleValue(); + break; + case TRANSFER: + total = total - (tuple.get("paymentAmount", BigDecimal.class)).doubleValue(); + break; + } + + LoanDetailJaxb detail = new LoanDetailJaxb( + tuple.get("createdOn", String.class), + ((BigDecimal) tuple.get("paymentAmount")).doubleValue(), + total, + tuple.get("comments", String.class), + type.toString(), + tuple.get("fullNameVendedor", String.class), + tuple.get("fullNameCliente", String.class), + tuple.get("numeroCuenta", String.class), + tuple.get("fullNameCrobrador", String.class) + ); + + results.add(detail); + } + + return results; + } catch (Exception e) { + logger.error("findLoanDetailsFromTikedByLoan", e); + throw e; + } + } + + /** + * + * @param idLoan + * @return + * @throws Exception + */ + public LoanApprovedDetailView approvedDetailsByIdLoan(String idLoan) throws Exception { + logger.debug("approvedDetailsByIdLoan"); + try { + return (LoanApprovedDetailView) findAPCEntity(LoanApprovedDetailView.class, idLoan); + } catch (Exception e) { + logger.error("approvedDetailsByIdLoan", e); + throw e; + } + } + + private static final long serialVersionUID = -7364653160752676339L; + final Logger logger = LogManager.getLogger(LoanApprovedDetailViewRepository.class); } diff --git a/apc-model/src/main/java/com/arrebol/apc/model/core/constance/LoanDetailsCfg.java b/apc-model/src/main/java/com/arrebol/apc/model/core/constance/LoanDetailsCfg.java index 315d892..3022156 100644 --- a/apc-model/src/main/java/com/arrebol/apc/model/core/constance/LoanDetailsCfg.java +++ b/apc-model/src/main/java/com/arrebol/apc/model/core/constance/LoanDetailsCfg.java @@ -14,6 +14,7 @@ package com.arrebol.apc.model.core.constance; public interface LoanDetailsCfg extends GenericCfg { String QUERY_FIND_LOAN_DETAILS_BY_LOAN = "findLoanDetailsByLoan"; + String QUERY_FIND_LOAN_DETAILS_FROM_TIKET_BY_LOAN = "findLoanDetailsFromTikedByLoan"; String QUERY_FIND_FEES_TO_PAY_BY_LOAN_ID = "findFeesToPayByLoanId"; String QUERY_FIND_ALL_FEES_BY_LOAN_ID = "findAllFeesByLoanId"; String QUERY_UPDATE_PAID_FEES_STATUS_IN_LOAN_DETAILS_IDS = "updatePaidFeesStatusInLoanDetailIds"; diff --git a/apc-model/src/main/java/com/arrebol/apc/model/ws/parsed/LoanDetailJaxb.java b/apc-model/src/main/java/com/arrebol/apc/model/ws/parsed/LoanDetailJaxb.java index 1743a64..dafa5d0 100644 --- a/apc-model/src/main/java/com/arrebol/apc/model/ws/parsed/LoanDetailJaxb.java +++ b/apc-model/src/main/java/com/arrebol/apc/model/ws/parsed/LoanDetailJaxb.java @@ -1,8 +1,8 @@ /* * Arrebol Consultancy copyright. - * + * * This code belongs to Arrebol Consultancy - * its use, redistribution or modification are prohibited + * its use, redistribution or modification are prohibited * without written authorization from Arrebol Consultancy. */ package com.arrebol.apc.model.ws.parsed; @@ -17,106 +17,172 @@ import javax.xml.bind.annotation.XmlRootElement; @XmlRootElement(name = "loanDetail") public class LoanDetailJaxb { - private String paymentDate; - private double paymentOfDay; - private double toPay; - private boolean payment; - private String comment; - private String paymentType; + private String paymentDate; + private double paymentOfDay; + private double toPay; + private boolean payment; + private String comment; + private String paymentType; - public LoanDetailJaxb() { - } + private String fullNameVendedor; + private String fullNameCliente; + private String numeroCuenta; + private String fullNameCrobrador; - /** - * Created for add transfer accoutn payments. - * - * @param paymentDate - * @param paymentOfDay - * @param toPay - * @param comment - * @param paymentType - */ - public LoanDetailJaxb(String paymentDate, double paymentOfDay, double toPay, String comment, String paymentType) { - this.paymentDate = paymentDate; - this.paymentOfDay = paymentOfDay; - this.toPay = toPay; - this.comment = comment; - this.paymentType = paymentType; - } + public LoanDetailJaxb() { + } - /** - * - * @param paymentDate - * @param paymentOfDay - * @param toPay - * @param payment true eq payment, false eq fee. - * @param comment - */ - public LoanDetailJaxb(String paymentDate, double paymentOfDay, double toPay, boolean payment, String comment) { - this.paymentDate = paymentDate; - this.paymentOfDay = paymentOfDay; - this.toPay = toPay; - this.payment = payment; - this.comment = comment; - } + /** + * Created for add transfer accoutn payments. + * + * @param paymentDate + * @param paymentOfDay + * @param toPay + * @param comment + * @param paymentType + * @param fullNameVendedor + * @param fullNameCliente + * @param numeroCuenta + * @param fullNameCrobrador + */ + public LoanDetailJaxb(String paymentDate, double paymentOfDay, double toPay, String comment, String paymentType, String fullNameVendedor, String fullNameCliente, String numeroCuenta, String fullNameCrobrador) { + this.paymentDate = paymentDate; + this.paymentOfDay = paymentOfDay; + this.toPay = toPay; + this.comment = comment; + this.paymentType = paymentType; + this.fullNameVendedor = fullNameVendedor; + this.fullNameCliente = fullNameCliente; + this.numeroCuenta = numeroCuenta; + this.fullNameCrobrador = fullNameCrobrador; + } - @XmlElement(name = "paymentDate") - public String getPaymentDate() { - return paymentDate; - } + /** + * Created for add transfer accoutn payments. + * + * @param paymentDate + * @param paymentOfDay + * @param toPay + * @param comment + * @param paymentType + */ + public LoanDetailJaxb(String paymentDate, double paymentOfDay, double toPay, String comment, String paymentType) { + this.paymentDate = paymentDate; + this.paymentOfDay = paymentOfDay; + this.toPay = toPay; + this.comment = comment; + this.paymentType = paymentType; + } - public void setPaymentDate(String paymentDate) { - this.paymentDate = paymentDate; - } + /** + * + * @param paymentDate + * @param paymentOfDay + * @param toPay + * @param payment true eq payment, false eq fee. + * @param comment + */ + public LoanDetailJaxb(String paymentDate, double paymentOfDay, double toPay, boolean payment, String comment) { + this.paymentDate = paymentDate; + this.paymentOfDay = paymentOfDay; + this.toPay = toPay; + this.payment = payment; + this.comment = comment; + } - @XmlElement(name = "paymentOfDay") - public double getPaymentOfDay() { - return paymentOfDay; - } + @XmlElement(name = "paymentDate") + public String getPaymentDate() { + return paymentDate; + } - public void setPaymentOfDay(double paymentOfDay) { - this.paymentOfDay = paymentOfDay; - } + public void setPaymentDate(String paymentDate) { + this.paymentDate = paymentDate; + } - @XmlElement(name = "toPay") - public double getToPay() { - return toPay; - } + @XmlElement(name = "paymentOfDay") + public double getPaymentOfDay() { + return paymentOfDay; + } - public void setToPay(double toPay) { - this.toPay = toPay; - } + public void setPaymentOfDay(double paymentOfDay) { + this.paymentOfDay = paymentOfDay; + } - @XmlElement(name = "payment") - public boolean isPayment() { - return payment; - } + @XmlElement(name = "toPay") + public double getToPay() { + return toPay; + } - public void setPayment(boolean payment) { - this.payment = payment; - } + public void setToPay(double toPay) { + this.toPay = toPay; + } - @XmlElement(name = "comment") - public String getComment() { - return comment; - } + @XmlElement(name = "payment") + public boolean isPayment() { + return payment; + } - public void setComment(String comment) { - this.comment = comment; - } + public void setPayment(boolean payment) { + this.payment = payment; + } - @XmlElement(name = "paymentType") - public String getPaymentType() { - return paymentType; - } + @XmlElement(name = "comment") + public String getComment() { + return comment; + } - public void setPaymentType(String paymentType) { - this.paymentType = paymentType; - } + public void setComment(String comment) { + this.comment = comment; + } - @Override - public String toString() { - return "LoanDetailJaxb{" + "paymentDate=" + paymentDate + ", paymentOfDay=" + paymentOfDay + ", toPay=" + toPay + ", payment=" + payment + '}'; - } + @XmlElement(name = "paymentType") + public String getPaymentType() { + return paymentType; + } + + public void setPaymentType(String paymentType) { + this.paymentType = paymentType; + } + + @XmlElement(name = "fullNameCliente") + public String getFullNameCliente() { + return fullNameCliente; + } + + public void setFullNameCliente(String fullNameCliente) { + this.fullNameCliente = fullNameCliente; + } + + @XmlElement(name = "numeroCuenta") + public String getNumeroCuenta() { + return numeroCuenta; + } + + public void setNumeroCuenta(String numeroCuenta) { + this.numeroCuenta = numeroCuenta; + } + + @XmlElement(name = "fullNameVendedor") + public String getFullNameVendedor() { + return fullNameVendedor; + } + + public void setFullNameVendedor(String fullNameVendedor) { + this.fullNameVendedor = fullNameVendedor; + } + + @XmlElement(name = "fullNameCrobrador") + public String getFullNameCrobrador() { + return fullNameCrobrador; + } + + public void setFullNameCrobrador(String fullNameCrobrador) { + this.fullNameCrobrador = fullNameCrobrador; + } + + @Override + public String toString() { + return "LoanDetailJaxb{" + "paymentDate=" + paymentDate + ", paymentOfDay=" + paymentOfDay + ", toPay=" + toPay + ", payment=" + payment + '}'; + } } diff --git a/apc-model/src/main/resources/com/arrebol/apc/model/queries/loan/loan.details.queries.hbm.xml b/apc-model/src/main/resources/com/arrebol/apc/model/queries/loan/loan.details.queries.hbm.xml index 8e4ad9d..d524081 100644 --- a/apc-model/src/main/resources/com/arrebol/apc/model/queries/loan/loan.details.queries.hbm.xml +++ b/apc-model/src/main/resources/com/arrebol/apc/model/queries/loan/loan.details.queries.hbm.xml @@ -22,6 +22,45 @@ ld.referenceNumber ]]> + + + + 1.8-web ide - AWS_corretto_JDK_8 + JDK_1.8 Tomcat diff --git a/apc-ws-rest/pom.xml b/apc-ws-rest/pom.xml index 8d0e431..f29f788 100644 --- a/apc-ws-rest/pom.xml +++ b/apc-ws-rest/pom.xml @@ -117,6 +117,12 @@ jersey-media-multipart 2.27 + + + org.eclipse.persistence + org.eclipse.persistence.moxy + 2.7.4 + @@ -178,6 +191,14 @@ + + Localhost + + jdbc:mysql://localhost:3306/apo_pro_com_april_ten?serverTimezone=UTC + root + Saladeespera2_ + + Localhost-Mobile-APP diff --git a/apc-ws-rest/src/main/java/com/arrebol/apc/ws/loan/LoanWS.java b/apc-ws-rest/src/main/java/com/arrebol/apc/ws/loan/LoanWS.java index 2985e3c..1467b5b 100644 --- a/apc-ws-rest/src/main/java/com/arrebol/apc/ws/loan/LoanWS.java +++ b/apc-ws-rest/src/main/java/com/arrebol/apc/ws/loan/LoanWS.java @@ -499,6 +499,28 @@ public class LoanWS implements Serializable { return response; } + @GET + @Path("approved-details-print") + @Produces(MediaType.APPLICATION_JSON) + public Response approvedDetailsFromTiketByIdLoan(@QueryParam("id") String loan) { + logger.debug("approvedDetailsFromTiketByIdLoan"); + Response response; + try { + + GenericEntity> results + = new GenericEntity< List< LoanDetailJaxb>>( + loanController.approvedDetailsFromTiketByIdLoan(loan) + ) { + }; + + response = Response.ok(results).build(); + } catch (Exception e) { + logger.error("approvedDetailsFromTiketByIdLoan", e); + response = Response.status(Response.Status.NOT_ACCEPTABLE).build(); + } + return response; + } + @PUT @Path("renovation-with-endorsement") @Consumes(MediaType.APPLICATION_JSON)