Subversion Repositories SmartDukaan

Rev

Rev 34287 | Rev 34338 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 34287 Rev 34319
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
    }