@Override public Integer getQuantity() { return item.getQuantity(); }
@VisibleForTesting List<UsageConsumableInArrearTierUnitAggregate> getBilledDetailsForUnitType(final Iterable<InvoiceItem> billedItems, final String unitType) { // Aggregate on a per-tier level, will return a list with item per level -- for this 'unitType' final Map<Integer, UsageConsumableInArrearTierUnitAggregate> resultMap = new TreeMap<Integer, UsageConsumableInArrearTierUnitAggregate>(Ordering.<Integer>natural()); List<UsageConsumableInArrearTierUnitAggregate> tierDetails = new ArrayList<UsageConsumableInArrearTierUnitAggregate>(); for (final InvoiceItem bi : billedItems) { if (usageDetailMode == UsageDetailMode.DETAIL) { final UsageConsumableInArrearTierUnitAggregate targetTierUnitDetail = fromJson(bi.getItemDetails(), new TypeReference<UsageConsumableInArrearTierUnitAggregate>() {}); if (targetTierUnitDetail.getTierUnit().equals(unitType)) { tierDetails.add(new UsageConsumableInArrearTierUnitAggregate(targetTierUnitDetail.getTier(), targetTierUnitDetail.getTierUnit(), bi.getRate(), targetTierUnitDetail.getQuantity(), bi.getQuantity(), bi.getAmount())); } } else { final UsageConsumableInArrearAggregate usageDetail = fromJson(bi.getItemDetails(), new TypeReference<UsageConsumableInArrearAggregate>() {}); for (final UsageConsumableInArrearTierUnitAggregate unitAgg : usageDetail.getTierDetails()) { if (unitAgg.getTierUnit().equals(unitType)) { tierDetails.add(unitAgg); } } } } for (final UsageConsumableInArrearTierUnitAggregate curDetail : tierDetails) { if (!resultMap.containsKey(curDetail.getTier())) { resultMap.put(curDetail.getTier(), curDetail); } else { final UsageConsumableInArrearTierUnitAggregate perTierDetail = resultMap.get(curDetail.getTier()); perTierDetail.updateQuantityAndAmount(curDetail.getQuantity()); } } return ImmutableList.copyOf(resultMap.values()); }
assertEquals(result.get(0).getQuantity().intValue(), 99); assertEquals(result.get(0).getRate().compareTo(new BigDecimal("2.0")), 0); assertEquals(result.get(1).getQuantity().intValue(), 5); assertEquals(result.get(1).getRate().compareTo(BigDecimal.ONE), 0); assertEquals(result.get(0).getQuantity().intValue(), 101); assertEquals(result.get(0).getRate().compareTo(new BigDecimal("20.0")), 0); assertEquals(result.get(1).getQuantity().intValue(), 5); assertEquals(result.get(1).getRate().compareTo(BigDecimal.ONE), 0); assertEquals(result.get(0).getQuantity().intValue(), 101); assertEquals(result.get(0).getRate().compareTo(new BigDecimal("20.0")), 0); assertEquals(result.get(1).getQuantity().intValue(), 76); assertEquals(result.get(1).getRate().compareTo(new BigDecimal("100.0")), 0);
assertEquals(result.get(0).getQuantity().intValue(), 99); assertEquals(result.get(0).getRate().compareTo(new BigDecimal("2.0")), 0); assertEquals(result.get(1).getQuantity().intValue(), 5); assertEquals(result.get(1).getRate().compareTo(BigDecimal.ONE), 0); assertEquals(result.get(0).getQuantity().intValue(), 100); assertEquals(result.get(0).getRate().compareTo(new BigDecimal("2.0")), 0); assertEquals(result.get(1).getQuantity().intValue(), 1); assertEquals(result.get(1).getRate().compareTo(new BigDecimal("20.0")), 0); assertEquals(result.get(2).getQuantity().intValue(), 5); assertEquals(result.get(2).getRate().compareTo(BigDecimal.ONE), 0); assertEquals(result.get(0).getQuantity().intValue(), 100); assertEquals(result.get(0).getRate().compareTo(new BigDecimal("2.0")), 0); assertEquals(result.get(1).getQuantity().intValue(), 1); assertEquals(result.get(1).getRate().compareTo(new BigDecimal("20.0")), 0); assertEquals(result.get(2).getQuantity().intValue(), 10); assertEquals(result.get(2).getRate().compareTo(BigDecimal.ONE), 0); assertEquals(result.get(3).getQuantity().intValue(), 50); assertEquals(result.get(3).getRate().compareTo(BigDecimal.TEN), 0); assertEquals(result.get(4).getQuantity().intValue(), 15); assertEquals(result.get(4).getRate().compareTo(new BigDecimal("100.0")), 0);
assertEquals(result.get(0).getQuantity().intValue(), 20); assertEquals(result.get(1).getQuantity().intValue(), 100); assertEquals(result.get(2).getQuantity().intValue(), 10); assertEquals(result.get(3).getQuantity().intValue(), 10);
accountCurrency, inputItem.getLinkedItemId(), inputItem.getQuantity(), inputItem.getItemDetails());
public InvoiceItemJson(final InvoiceItem item, final List<InvoiceItem> childItems, @Nullable final List<AuditLog> auditLogs) { this(item.getId(), item.getInvoiceId(), item.getLinkedItemId(), item.getAccountId(), item.getChildAccountId(), item.getBundleId(), item.getSubscriptionId(), item.getProductName(), item.getPlanName(), item.getPhaseName(), item.getUsageName(), item.getPrettyProductName(), item.getPrettyPlanName(), item.getPrettyPhaseName(), item.getPrettyUsageName(), item.getInvoiceItemType(), item.getDescription(), item.getStartDate(), item.getEndDate(), item.getAmount(), item.getRate(), item.getCurrency(), item.getQuantity(), item.getItemDetails(), toInvoiceItemJson(childItems), toAuditLogJson(auditLogs)); }
public InvoiceItemModelDao(final InvoiceItem invoiceItem) { this(invoiceItem.getId(), invoiceItem.getCreatedDate(), invoiceItem.getInvoiceItemType(), invoiceItem.getInvoiceId(), invoiceItem.getAccountId(), invoiceItem.getChildAccountId(), invoiceItem.getBundleId(), invoiceItem.getSubscriptionId(), invoiceItem.getDescription(), invoiceItem.getProductName(), invoiceItem.getPlanName(), invoiceItem.getPhaseName(), invoiceItem.getUsageName(), invoiceItem.getStartDate(), invoiceItem.getEndDate(), invoiceItem.getAmount(), invoiceItem.getRate(), invoiceItem.getCurrency(), invoiceItem.getLinkedItemId(), invoiceItem.getQuantity(), invoiceItem.getItemDetails()); }
model.getUsageName(), model.getPrettyUsageName(), model.getQuantity(), model.getItemDetails(), model.getCreatedDate(),
immutableField("currency", existingItem, existingItem != null ? existingItem.getCurrency() : null, additionalInvoiceItem.getCurrency(), invoicePlugin), immutableField("linkedItemId", existingItem, existingItem != null ? existingItem.getLinkedItemId() : null, additionalInvoiceItem.getLinkedItemId(), invoicePlugin), immutableField("quantity", existingItem, existingItem != null ? existingItem.getQuantity() : null, additionalInvoiceItem.getQuantity(), invoicePlugin), mutableField("itemDetails", existingItem != null ? existingItem.getItemDetails() : null, additionalInvoiceItem.getItemDetails(), invoicePlugin), immutableField("invoiceItemType", existingItem, existingItem != null ? existingItem.getInvoiceItemType() : null, additionalInvoiceItem.getInvoiceItemType(), invoicePlugin));