diff --git a/reference-adapter/mgramseva-ifix-adapter/src/main/java/org/egov/ifix/mapper/impl/payment/PaymentEventMapper.java b/reference-adapter/mgramseva-ifix-adapter/src/main/java/org/egov/ifix/mapper/impl/payment/PaymentEventMapper.java index c2c66032..8ca192fa 100644 --- a/reference-adapter/mgramseva-ifix-adapter/src/main/java/org/egov/ifix/mapper/impl/payment/PaymentEventMapper.java +++ b/reference-adapter/mgramseva-ifix-adapter/src/main/java/org/egov/ifix/mapper/impl/payment/PaymentEventMapper.java @@ -15,7 +15,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; -import java.time.Instant; import java.util.ArrayList; import java.util.List; @@ -108,7 +107,7 @@ private List getAmounts(JsonObject payment, JsonObject data) { String coaCode = billAccountDetailsJO.get(PAYMENT_RECEIPT_CLIENT_COA_CODE).getAsString(); Amount amount = Amount.builder() - .amount(billAccountDetailsJO.get(PAYMENT_RECEIPT_CLIENT_COA_AMOUNT).getAsBigDecimal()) + .amount(billAccountDetailsJO.get(PAYMENT_RECEIPT_CLIENT_COA_ADJUSTED_AMOUNT).getAsBigDecimal()) .coaCode(chartOfAccountService.getResolvedChartOfAccountCode(coaCode)) .fromBillingPeriod(taxPeriodFrom) .toBillingPeriod(taxPeriodTo).build(); diff --git a/reference-adapter/mgramseva-ifix-adapter/src/main/java/org/egov/ifix/mapper/impl/receipt/ReceiptEventMapper.java b/reference-adapter/mgramseva-ifix-adapter/src/main/java/org/egov/ifix/mapper/impl/receipt/ReceiptEventMapper.java index b89cef4c..3c3ccaa7 100644 --- a/reference-adapter/mgramseva-ifix-adapter/src/main/java/org/egov/ifix/mapper/impl/receipt/ReceiptEventMapper.java +++ b/reference-adapter/mgramseva-ifix-adapter/src/main/java/org/egov/ifix/mapper/impl/receipt/ReceiptEventMapper.java @@ -15,7 +15,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; -import java.time.Instant; +import javax.validation.constraints.NotNull; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; @@ -107,17 +108,35 @@ private List getAmountDetails(JsonObject payment, JsonObject data) { JsonObject billAccountDetailsJB = billAccountDetailsJE.getAsJsonObject(); String coaCode = billAccountDetailsJB.get(PAYMENT_RECEIPT_CLIENT_COA_CODE).getAsString(); - Amount amount = Amount.builder() - .amount(billAccountDetailsJB.get(PAYMENT_RECEIPT_CLIENT_COA_AMOUNT).getAsBigDecimal()) - .coaCode(chartOfAccountService.getResolvedChartOfAccountCode(coaCode)) - .fromBillingPeriod(taxPeriodFrom) - .toBillingPeriod(taxPeriodTo).build(); + BigDecimal calculatedAmount = getBillAccountDetailAmount(coaCode, billAccountDetailsJB); - amountList.add(amount); + if (new BigDecimal(0).compareTo(calculatedAmount) != 0) { + + Amount amount = Amount.builder() + .amount(calculatedAmount) + .coaCode(chartOfAccountService.getResolvedChartOfAccountCode(coaCode)) + .fromBillingPeriod(taxPeriodFrom) + .toBillingPeriod(taxPeriodTo).build(); + + amountList.add(amount); + } }); }); } return amountList; } + + /** + * @param taxHeadCode + * @param billAccountDetailsJB + * @return + */ + private BigDecimal getBillAccountDetailAmount(@NotNull String taxHeadCode, @NotNull JsonObject billAccountDetailsJB) { + if (taxHeadCode.contains(ADVANCE_TAX_HEAD_CODE_SUBSTRING)) { + return billAccountDetailsJB.get(PAYMENT_RECEIPT_CLIENT_COA_AMOUNT).getAsBigDecimal(); + }else { + return billAccountDetailsJB.get(PAYMENT_RECEIPT_CLIENT_COA_ADJUSTED_AMOUNT).getAsBigDecimal(); + } + } } diff --git a/reference-adapter/mgramseva-ifix-adapter/src/main/java/org/egov/ifix/service/impl/PspclEventServiceImpl.java b/reference-adapter/mgramseva-ifix-adapter/src/main/java/org/egov/ifix/service/impl/PspclEventServiceImpl.java index 1ee3ba6b..6d140e9d 100644 --- a/reference-adapter/mgramseva-ifix-adapter/src/main/java/org/egov/ifix/service/impl/PspclEventServiceImpl.java +++ b/reference-adapter/mgramseva-ifix-adapter/src/main/java/org/egov/ifix/service/impl/PspclEventServiceImpl.java @@ -206,7 +206,7 @@ private Optional getDepartmentEntityCode(FiscalEvent fiscalEvent) { "PSPCL account number is missing from attributes section of fiscal event"); throw new GenericCustomException(PSPCL, "PSPCL account number is missing from attributes section"); } else { - return objectNodeAttribute.get("pspclAccountNumber").asText(); + return StringUtils.trimAllWhitespace(objectNodeAttribute.get("pspclAccountNumber").asText()); } } catch (JsonProcessingException e) { pspclEventPersistenceService.saveFailedPspclEventDetail(NA, NA, NA, diff --git a/reference-adapter/mgramseva-ifix-adapter/src/main/java/org/egov/ifix/utils/EventConstants.java b/reference-adapter/mgramseva-ifix-adapter/src/main/java/org/egov/ifix/utils/EventConstants.java index 534c43bd..8f9a0a24 100644 --- a/reference-adapter/mgramseva-ifix-adapter/src/main/java/org/egov/ifix/utils/EventConstants.java +++ b/reference-adapter/mgramseva-ifix-adapter/src/main/java/org/egov/ifix/utils/EventConstants.java @@ -41,7 +41,8 @@ public class EventConstants { public static final String PAYMENT_RECEIPT_TRANSACTION_DATE = "transactionDate"; public static final String PAYMENT_RECEIPT_FROM_BILLING_PERIOD = "fromPeriod"; public static final String PAYMENT_RECEIPT_TO_BILLING_PERIOD = "toPeriod"; - public static final String PAYMENT_RECEIPT_CLIENT_COA_AMOUNT = "adjustedAmount"; + public static final String PAYMENT_RECEIPT_CLIENT_COA_ADJUSTED_AMOUNT = "adjustedAmount"; + public static final String PAYMENT_RECEIPT_CLIENT_COA_AMOUNT = "amount"; public static final String BILL_ACCOUNT_DETAILS = "billAccountDetails"; public static final String PAYMENT_RECEIPT_CLIENT_COA_CODE = "taxHeadCode"; public static final String CONSUMER_CODE = "consumerCode"; @@ -88,5 +89,6 @@ public class EventConstants { public static final String CLIENT_SECRET = "client_secret"; public static final String CLIENT_ID = "client_id"; public static final String OWNER_ROLE_CITIZEN = "CITIZEN"; + public static final String ADVANCE_TAX_HEAD_CODE_SUBSTRING = "ADVANCE"; }