Skip to content

Commit

Permalink
Merge pull request #20 from pagopa/hotfix-amount
Browse files Browse the repository at this point in the history
fix: general amount on TemplateDataMapper
  • Loading branch information
jacopocarlini authored Jul 4, 2024
2 parents ef2392e + f1050f4 commit 9ee8d90
Showing 1 changed file with 55 additions and 53 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,11 @@
*/
public class TemplateDataMapper {

private static String POSTE_DOCUMENT_TYPE_CODE = "896";
private static final String POSTE_DOCUMENT_TYPE_CODE = "896";

/**
* Map notice generation dat
*
* @param noticeRequestData request data
* @return mapped notice data
*/
Expand All @@ -29,7 +30,8 @@ public static PaymentNotice mapTemplate(NoticeRequestData noticeRequestData) {
String noticeCode = noticeRequestData.getNotice().getCode();
String cbill = noticeRequestData.getCreditorInstitution().getCbill();
String ciTaxCode = noticeRequestData.getCreditorInstitution().getTaxCode();
String noticeAmount = String.valueOf(noticeRequestData.getNotice().getPaymentAmount());
String noticeAmount = noticeRequestData.getNotice().getPaymentAmount() != null ?
String.valueOf(noticeRequestData.getNotice().getPaymentAmount()) : null;
InstallmentData reduced = noticeRequestData.getNotice().getReduced();
InstallmentData discounted = noticeRequestData.getNotice().getDiscounted();
String debtorTaxCode = noticeRequestData.getDebtor().getTaxCode();
Expand All @@ -44,10 +46,10 @@ public static PaymentNotice mapTemplate(NoticeRequestData noticeRequestData) {
.taxCode(ciTaxCode)
.name(noticeRequestData.getCreditorInstitution().getFullName())
.channel(Channel.builder().online(
Online.builder()
.website(Objects.requireNonNullElse(noticeRequestData.getCreditorInstitution().getWebChannel(), false))
.app(Objects.requireNonNullElse(noticeRequestData.getCreditorInstitution().getAppChannel(), false))
.build())
Online.builder()
.website(Objects.requireNonNullElse(noticeRequestData.getCreditorInstitution().getWebChannel(), false))
.app(Objects.requireNonNullElse(noticeRequestData.getCreditorInstitution().getAppChannel(), false))
.build())
.physical(Physical.builder()
.data(noticeRequestData.getCreditorInstitution().getPhysicalChannel())
.build())
Expand All @@ -74,8 +76,8 @@ public static PaymentNotice mapTemplate(NoticeRequestData noticeRequestData) {
.cbillCode(cbill)
.qrCode(noticeAmount != null ?
generateQrCode(noticeCode,
ciTaxCode,
noticeAmount) : null
ciTaxCode,
noticeAmount) : null
)
.subject(noticeRequestData.getNotice().getSubject())
.amount(noticeAmount != null ? currencyFormat(noticeAmount) : null)
Expand All @@ -85,53 +87,53 @@ public static PaymentNotice mapTemplate(NoticeRequestData noticeRequestData) {
.expiryDate(noticeRequestData.getNotice().getDueDate())
.posteDataMatrix(posteAuthCode != null ?
generatePosteDataMatrix(
ciTaxCode,
debtorTaxCode,
fullName,
subject,
posteAccountNumber,
noticeAmount,
POSTE_DOCUMENT_TYPE_CODE,
noticeCode
) : null)
.instalments(Installments.builder()
.reduced(
reduced != null ? mapInstallment(
cbill,
ciTaxCode,
debtorTaxCode,
fullName,
subject,
posteAccountNumber,
posteAuthCode,
reduced
) : null
noticeAmount,
POSTE_DOCUMENT_TYPE_CODE,
noticeCode
) : null)
.instalments(Installments.builder()
.reduced(
reduced != null ? mapInstallment(
cbill,
ciTaxCode,
debtorTaxCode,
fullName,
subject,
posteAccountNumber,
posteAuthCode,
reduced
) : null
)
.discounted(
discounted != null ? mapInstallment(
cbill,
ciTaxCode,
debtorTaxCode,
fullName,
subject,
posteAccountNumber,
posteAuthCode,
discounted
) : null
)
.items(noticeRequestData.getNotice().getInstallments() != null ?
noticeRequestData.getNotice().getInstallments().stream().map(item ->
mapInstallment(
discounted != null ? mapInstallment(
cbill,
ciTaxCode,
debtorTaxCode,
fullName,
subject,
posteAccountNumber,
posteAuthCode,
item
)).toList() :
Collections.emptyList()).build())
discounted
) : null
)
.items(noticeRequestData.getNotice().getInstallments() != null ?
noticeRequestData.getNotice().getInstallments().stream().map(item ->
mapInstallment(
cbill,
ciTaxCode,
debtorTaxCode,
fullName,
subject,
posteAccountNumber,
posteAuthCode,
item
)).toList() :
Collections.emptyList()).build())
.build())
.build();
}
Expand All @@ -154,7 +156,7 @@ private static String generatePosteDataMatrix(

private static String generateCodeline(String noticeCode, String posteAccountNumber,
String amount, String posteTypeCode) {
return String.join("","18",
return String.join("", "18",
StringUtils.leftPad(noticeCode, 18, "0"),
"12",
StringUtils.leftPad(posteAccountNumber, 12, "0"),
Expand All @@ -165,7 +167,7 @@ private static String generateCodeline(String noticeCode, String posteAccountNum

private static String generateQrCode(String code, String taxCode, String amount) {
return String.join("|",
"PAGOPA","002",
"PAGOPA", "002",
StringUtils.leftPad(code, 18, "0"),
StringUtils.leftPad(taxCode, 11, "0"),
amount
Expand All @@ -186,16 +188,16 @@ private static Installment mapInstallment(
.posteDocumentType(POSTE_DOCUMENT_TYPE_CODE)
.posteAuth(posteAuth)
.posteDataMatrix(posteAuth != null ?
generatePosteDataMatrix(
ciTaxCode,
debtorTaxCode,
fullname,
subject,
accountNumber,
String.valueOf(installmentData.getAmount()),
POSTE_DOCUMENT_TYPE_CODE,
installmentData.getCode()
) :
generatePosteDataMatrix(
ciTaxCode,
debtorTaxCode,
fullname,
subject,
accountNumber,
String.valueOf(installmentData.getAmount()),
POSTE_DOCUMENT_TYPE_CODE,
installmentData.getCode()
) :
null
)
.build();
Expand Down

0 comments on commit 9ee8d90

Please sign in to comment.