From 43913b038e2ee8c561c6a8d7904859305be34852 Mon Sep 17 00:00:00 2001 From: walid seghier Date: Sun, 6 Nov 2022 15:07:50 +0100 Subject: [PATCH] payment voucher :: cheque printing PDF --- .../apps/account/web/InvoiceController.java | 52 +++++++++---------- 1 file changed, 25 insertions(+), 27 deletions(-) diff --git a/modules/axelor-open-suite/axelor-account/src/main/java/com/axelor/apps/account/web/InvoiceController.java b/modules/axelor-open-suite/axelor-account/src/main/java/com/axelor/apps/account/web/InvoiceController.java index b8a9443..2441f15 100644 --- a/modules/axelor-open-suite/axelor-account/src/main/java/com/axelor/apps/account/web/InvoiceController.java +++ b/modules/axelor-open-suite/axelor-account/src/main/java/com/axelor/apps/account/web/InvoiceController.java @@ -72,6 +72,7 @@ import java.util.Map; import java.util.Set; import java.util.HashMap; import java.util.stream.Collectors; +import java.math.BigDecimal; import org.apache.commons.lang3.tuple.Pair; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -958,35 +959,32 @@ public class InvoiceController { public void printInvoicePayment(ActionRequest request, ActionResponse response) throws AxelorException { - - InvoicePayment invoicePayment = request.getContext().asType(InvoicePayment.class); - - String name = I18n.get("Payment voucher"); - String AmountToPay = invoicePayment.getAmount().toString(); - String[] arrOfStr = AmountToPay.split("\\."); - - String left = Beans.get(ConvertNumberToFrenchWordsService.class).convert(Long.parseLong(arrOfStr[0])); - String right = Beans.get(ConvertNumberToFrenchWordsService.class).convert(Long.parseLong(arrOfStr[1])); - String number = left+" dinars algériens et "+right+" centimes"; - String chequeModelBank = request.getContext().get("chequeModelBank").toString(); - - Map Report = new HashMap(); - Report.put("CPA", "CPA.rptdesign"); - Report.put("ASB", "ASB.rptdesign"); - Report.put("BDL", "BDL.rptdesign"); - Report.put("SGA", "SGA.rptdesign"); - Report.put("BNA", "BNA.rptdesign"); + + String name = I18n.get("Payment voucher"); + String AmountToPay = request.getContext().get("amount").toString(); + String[] arrOfStr = AmountToPay.split("\\."); - String fileLink = - ReportFactory.createReport(Report.get(chequeModelBank), name + "-${date}") - .addParam("PaymentVoucherId", invoicePayment.getId()) - .addParam("NumberToWords", number) - .addParam("Wilaya", request.getContext().get("wilaya")) - .generate() - .getFileLink(); - logger.debug("Printing " + name); + String left = Beans.get(ConvertNumberToFrenchWordsService.class).convert(Long.parseLong(arrOfStr[0])); + String right = Beans.get(ConvertNumberToFrenchWordsService.class).convert(Long.parseLong(arrOfStr[1])); + String number = left+" dinars algériens et "+right+" centimes"; + String chequeModelBank = request.getContext().get("chequeModelBank").toString(); + BigDecimal amount = new BigDecimal(AmountToPay); + + String fileLink = + ReportFactory.createReport("chequeModelBank.rptdesign", name + "-${date}") + .addParam("NumberToWords", number) + .addParam("Wilaya", request.getContext().get("wilaya").toString()) + .addParam("amount", amount) + .addParam("date", request.getContext().get("date").toString() ) + .addParam("name", request.getContext().get("PartnerName")) + .addParam("chequeModelBank", chequeModelBank) + .generate() + .getFileLink(); + + logger.debug("Printing " + name); + + response.setView(ActionView.define(name).add("html", fileLink).map()); - response.setView(ActionView.define(name).add("html", fileLink).map()); } }