| Line 612... |
Line 612... |
| 612 |
|
612 |
|
| 613 |
CustomerAddress customerAddress = null;
|
613 |
CustomerAddress customerAddress = null;
|
| 614 |
if (customCustomer.getCustomerAddressId() != 0) {
|
614 |
if (customCustomer.getCustomerAddressId() != 0) {
|
| 615 |
customerAddress = customer.getCustomerAddress().stream().filter(x -> x.getId() == customCustomer.getCustomerAddressId()).findFirst().get();
|
615 |
customerAddress = customer.getCustomerAddress().stream().filter(x -> x.getId() == customCustomer.getCustomerAddressId()).findFirst().get();
|
| 616 |
}
|
616 |
}
|
| 617 |
FofoOrder fofoOrder = this.createAndGetFofoOrder(customer.getId(), customCustomer.getGstNumber(), fofoId, documentNumber, totalAmount, customCustomer.getCustomerAddressId(), createOrderRequest.getPoId());
|
617 |
FofoOrder fofoOrder = this.createAndGetFofoOrder(customer.getId(), customCustomer.getGstNumber(), fofoId, documentNumber, totalAmount, customCustomer.getCustomerAddressId());
|
| 618 |
|
618 |
|
| 619 |
this.createPaymentOptions(fofoOrder, createOrderRequest.getPaymentOptions());
|
619 |
this.createPaymentOptions(fofoOrder, createOrderRequest.getPaymentOptions());
|
| 620 |
|
620 |
|
| 621 |
int retailerAddressId = retailerRegisteredAddressRepository.selectAddressIdByRetailerId(fofoId);
|
621 |
int retailerAddressId = retailerRegisteredAddressRepository.selectAddressIdByRetailerId(fofoId);
|
| 622 |
|
622 |
|
| Line 697... |
Line 697... |
| 697 |
PendingOrderItem poi = pendingOrderItemRepository.selectById(cfoi.getPoiId());
|
697 |
PendingOrderItem poi = pendingOrderItemRepository.selectById(cfoi.getPoiId());
|
| 698 |
poi.setStatus(OrderStatus.BILLED);
|
698 |
poi.setStatus(OrderStatus.BILLED);
|
| 699 |
poi.setBilledTimestamp(LocalDateTime.now());
|
699 |
poi.setBilledTimestamp(LocalDateTime.now());
|
| 700 |
}
|
700 |
}
|
| 701 |
po.setStatus(OrderStatus.BILLED);
|
701 |
po.setStatus(OrderStatus.BILLED);
|
| - |
|
702 |
|
| 702 |
}
|
703 |
}
|
| 703 |
//Process scratch
|
704 |
//Process scratch
|
| 704 |
this.processScratchOffer(fofoOrder);
|
705 |
this.processScratchOffer(fofoOrder);
|
| 705 |
|
706 |
|
| 706 |
// persist the data of upgrade offer table
|
707 |
// persist the data of upgrade offer table
|
| Line 1722... |
Line 1723... |
| 1722 |
ProfitMandiBusinessException {
|
1723 |
ProfitMandiBusinessException {
|
| 1723 |
FofoOrderItem fofoOrderItem = new FofoOrderItem();
|
1724 |
FofoOrderItem fofoOrderItem = new FofoOrderItem();
|
| 1724 |
fofoOrderItem.setItemId(customFofoOrderItem.getItemId());
|
1725 |
fofoOrderItem.setItemId(customFofoOrderItem.getItemId());
|
| 1725 |
fofoOrderItem.setQuantity(customFofoOrderItem.getQuantity());
|
1726 |
fofoOrderItem.setQuantity(customFofoOrderItem.getQuantity());
|
| 1726 |
fofoOrderItem.setSellingPrice(customFofoOrderItem.getSellingPrice());
|
1727 |
fofoOrderItem.setSellingPrice(customFofoOrderItem.getSellingPrice());
|
| 1727 |
fofoOrderItem.setPendingOrderItemId(customFofoOrderItem.getPoiId());
|
- |
|
| 1728 |
fofoOrderItem.setOrderId(fofoOrderId);
|
1728 |
fofoOrderItem.setOrderId(fofoOrderId);
|
| 1729 |
TagListing tl = tagListingRepository.selectByItemId(customFofoOrderItem.getItemId());
|
1729 |
TagListing tl = tagListingRepository.selectByItemId(customFofoOrderItem.getItemId());
|
| 1730 |
// In case listing gets removed rebill it using the selling price
|
1730 |
// In case listing gets removed rebill it using the selling price
|
| 1731 |
if (tl != null) {
|
1731 |
if (tl != null) {
|
| 1732 |
fofoOrderItem.setDp(tl.getSellingPrice());
|
1732 |
fofoOrderItem.setDp(tl.getSellingPrice());
|
| Line 1830... |
Line 1830... |
| 1830 |
}
|
1830 |
}
|
| 1831 |
}
|
1831 |
}
|
| 1832 |
}
|
1832 |
}
|
| 1833 |
|
1833 |
|
| 1834 |
private FofoOrder createAndGetFofoOrder(int customerId, String customerGstNumber, int fofoId, String
|
1834 |
private FofoOrder createAndGetFofoOrder(int customerId, String customerGstNumber, int fofoId, String
|
| 1835 |
documentNumber, float totalAmount, int customerAddressId, int poId) {
|
1835 |
documentNumber, float totalAmount, int customerAddressId) {
|
| 1836 |
FofoOrder fofoOrder = new FofoOrder();
|
1836 |
FofoOrder fofoOrder = new FofoOrder();
|
| 1837 |
fofoOrder.setCustomerGstNumber(customerGstNumber);
|
1837 |
fofoOrder.setCustomerGstNumber(customerGstNumber);
|
| 1838 |
fofoOrder.setCustomerId(customerId);
|
1838 |
fofoOrder.setCustomerId(customerId);
|
| 1839 |
fofoOrder.setFofoId(fofoId);
|
1839 |
fofoOrder.setFofoId(fofoId);
|
| 1840 |
fofoOrder.setPendingOrderId(poId);
|
- |
|
| 1841 |
fofoOrder.setInvoiceNumber(documentNumber);
|
1840 |
fofoOrder.setInvoiceNumber(documentNumber);
|
| 1842 |
fofoOrder.setTotalAmount(totalAmount);
|
1841 |
fofoOrder.setTotalAmount(totalAmount);
|
| 1843 |
fofoOrder.setCustomerAddressId(customerAddressId);
|
1842 |
fofoOrder.setCustomerAddressId(customerAddressId);
|
| 1844 |
fofoOrderRepository.persist(fofoOrder);
|
1843 |
fofoOrderRepository.persist(fofoOrder);
|
| 1845 |
return fofoOrder;
|
1844 |
return fofoOrder;
|
| Line 2281... |
Line 2280... |
| 2281 |
public void reverseScheme(FofoOrder fofoOrder) throws ProfitMandiBusinessException {
|
2280 |
public void reverseScheme(FofoOrder fofoOrder) throws ProfitMandiBusinessException {
|
| 2282 |
String reversalReason = "Order Rolledback/Cancelled/Returned for Invoice #" + fofoOrder.getInvoiceNumber();
|
2281 |
String reversalReason = "Order Rolledback/Cancelled/Returned for Invoice #" + fofoOrder.getInvoiceNumber();
|
| 2283 |
List<FofoOrderItem> fois = fofoOrderItemRepository.selectByOrderId(fofoOrder.getId());
|
2282 |
List<FofoOrderItem> fois = fofoOrderItemRepository.selectByOrderId(fofoOrder.getId());
|
| 2284 |
Set<Integer> inventoryItemIds = fois.stream().flatMap(x -> x.getFofoLineItems().stream().map(y -> y.getInventoryItemId())).collect(Collectors.toSet());
|
2283 |
Set<Integer> inventoryItemIds = fois.stream().flatMap(x -> x.getFofoLineItems().stream().map(y -> y.getInventoryItemId())).collect(Collectors.toSet());
|
| 2285 |
List<InventoryItem> inventoryItems = inventoryItemRepository.selectByIds(inventoryItemIds);
|
2284 |
List<InventoryItem> inventoryItems = inventoryItemRepository.selectByIds(inventoryItemIds);
|
| 2286 |
schemeService.reverseSchemes(inventoryItems, fofoOrder.getId(), reversalReason, SchemeService.OUT_SCHEME_TYPES);
|
2285 |
schemeService.reverseSchemes(inventoryItems, fofoOrder.getId(), reversalReason, SchemeType.OUT_SCHEME_TYPES);
|
| 2287 |
schemeService.reverseSchemes(inventoryItems, fofoOrder.getId(), reversalReason, Arrays.asList(SchemeType.INVESTMENT));
|
2286 |
schemeService.reverseSchemes(inventoryItems, fofoOrder.getId(), reversalReason, Arrays.asList(SchemeType.INVESTMENT));
|
| 2288 |
schemeService.reverseSchemes(inventoryItems, fofoOrder.getId(), reversalReason, Arrays.asList(SchemeType.ACTIVATION));
|
2287 |
//schemeService.reverseSchemes(inventoryItems, fofoOrder.getId(), reversalReason, Arrays.asList(SchemeType.ACTIVATION));
|
| 2289 |
schemeService.reverseSchemes(inventoryItems, fofoOrder.getId(), reversalReason, Arrays.asList(SchemeType.SPECIAL_SUPPORT));
|
2288 |
schemeService.reverseSchemes(inventoryItems, fofoOrder.getId(), reversalReason, Arrays.asList(SchemeType.SPECIAL_SUPPORT));
|
| 2290 |
|
2289 |
|
| 2291 |
}
|
2290 |
}
|
| 2292 |
|
2291 |
|
| 2293 |
@Override
|
2292 |
@Override
|
| Line 2297... |
Line 2296... |
| 2297 |
List<FofoLineItem> fofoLineItems = fofoLineItemRepository.selectByInventoryItemId(inventoryItem.getId());
|
2296 |
List<FofoLineItem> fofoLineItems = fofoLineItemRepository.selectByInventoryItemId(inventoryItem.getId());
|
| 2298 |
FofoLineItem fofoLineItem = fofoLineItems.get(0);
|
2297 |
FofoLineItem fofoLineItem = fofoLineItems.get(0);
|
| 2299 |
FofoOrderItem fofoOrderItem = fofoOrderItemRepository.selectById(fofoLineItem.getFofoOrderItemId());
|
2298 |
FofoOrderItem fofoOrderItem = fofoOrderItemRepository.selectById(fofoLineItem.getFofoOrderItemId());
|
| 2300 |
FofoOrder fofoOrder = fofoOrderRepository.selectByOrderId(fofoOrderItem.getOrderId());
|
2299 |
FofoOrder fofoOrder = fofoOrderRepository.selectByOrderId(fofoOrderItem.getOrderId());
|
| 2301 |
String reversalReason = "Scheme rolled back as activation date is invalid for imei " + inventoryItem.getSerialNumber();
|
2300 |
String reversalReason = "Scheme rolled back as activation date is invalid for imei " + inventoryItem.getSerialNumber();
|
| 2302 |
schemeService.reverseSchemes(Arrays.asList(inventoryItem), fofoOrder.getId(), reversalReason, Arrays.asList(SchemeType.ACTIVATION));
|
2301 |
//schemeService.reverseSchemes(Arrays.asList(inventoryItem), fofoOrder.getId(), reversalReason, Arrays.asList(SchemeType.ACTIVATION));
|
| 2303 |
schemeService.reverseSchemes(Arrays.asList(inventoryItem), fofoOrder.getId(), reversalReason, Arrays.asList(SchemeType.SPECIAL_SUPPORT));
|
2302 |
schemeService.reverseSchemes(Arrays.asList(inventoryItem), fofoOrder.getId(), reversalReason, Arrays.asList(SchemeType.SPECIAL_SUPPORT));
|
| 2304 |
|
2303 |
|
| 2305 |
}
|
2304 |
}
|
| 2306 |
|
2305 |
|
| 2307 |
}
|
2306 |
}
|