Subversion Repositories SmartDukaan

Rev

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

Rev 34367 Rev 34381
Line 611... Line 611...
611
 
611
 
612
        CustomerAddress customerAddress = null;
612
        CustomerAddress customerAddress = null;
613
        if (customCustomer.getCustomerAddressId() != 0) {
613
        if (customCustomer.getCustomerAddressId() != 0) {
614
            customerAddress = customer.getCustomerAddress().stream().filter(x -> x.getId() == customCustomer.getCustomerAddressId()).findFirst().get();
614
            customerAddress = customer.getCustomerAddress().stream().filter(x -> x.getId() == customCustomer.getCustomerAddressId()).findFirst().get();
615
        }
615
        }
616
        FofoOrder fofoOrder = this.createAndGetFofoOrder(customer.getId(), customCustomer.getGstNumber(), fofoId, documentNumber, totalAmount, customCustomer.getCustomerAddressId());
616
        FofoOrder fofoOrder = this.createAndGetFofoOrder(customer.getId(), customCustomer.getGstNumber(), fofoId, documentNumber, totalAmount, customCustomer.getCustomerAddressId(), createOrderRequest.getPoId());
617
 
617
 
618
        this.createPaymentOptions(fofoOrder, createOrderRequest.getPaymentOptions());
618
        this.createPaymentOptions(fofoOrder, createOrderRequest.getPaymentOptions());
619
 
619
 
620
        int retailerAddressId = retailerRegisteredAddressRepository.selectAddressIdByRetailerId(fofoId);
620
        int retailerAddressId = retailerRegisteredAddressRepository.selectAddressIdByRetailerId(fofoId);
621
 
621
 
Line 696... Line 696...
696
                PendingOrderItem poi = pendingOrderItemRepository.selectById(cfoi.getPoiId());
696
                PendingOrderItem poi = pendingOrderItemRepository.selectById(cfoi.getPoiId());
697
                poi.setStatus(OrderStatus.BILLED);
697
                poi.setStatus(OrderStatus.BILLED);
698
                poi.setBilledTimestamp(LocalDateTime.now());
698
                poi.setBilledTimestamp(LocalDateTime.now());
699
            }
699
            }
700
            po.setStatus(OrderStatus.BILLED);
700
            po.setStatus(OrderStatus.BILLED);
701
 
-
 
702
        }
701
        }
703
        //Process scratch
702
        //Process scratch
704
        this.processScratchOffer(fofoOrder);
703
        this.processScratchOffer(fofoOrder);
705
 
704
 
706
//        persist the data of upgrade offer table
705
//        persist the data of upgrade offer table
Line 1785... Line 1784...
1785
            ProfitMandiBusinessException {
1784
            ProfitMandiBusinessException {
1786
        FofoOrderItem fofoOrderItem = new FofoOrderItem();
1785
        FofoOrderItem fofoOrderItem = new FofoOrderItem();
1787
        fofoOrderItem.setItemId(customFofoOrderItem.getItemId());
1786
        fofoOrderItem.setItemId(customFofoOrderItem.getItemId());
1788
        fofoOrderItem.setQuantity(customFofoOrderItem.getQuantity());
1787
        fofoOrderItem.setQuantity(customFofoOrderItem.getQuantity());
1789
        fofoOrderItem.setSellingPrice(customFofoOrderItem.getSellingPrice());
1788
        fofoOrderItem.setSellingPrice(customFofoOrderItem.getSellingPrice());
-
 
1789
        fofoOrderItem.setPendingOrderItemId(customFofoOrderItem.getPoiId());
1790
        fofoOrderItem.setOrderId(fofoOrderId);
1790
        fofoOrderItem.setOrderId(fofoOrderId);
1791
        TagListing tl = tagListingRepository.selectByItemId(customFofoOrderItem.getItemId());
1791
        TagListing tl = tagListingRepository.selectByItemId(customFofoOrderItem.getItemId());
1792
        // In case listing gets removed rebill it using the selling price
1792
        // In case listing gets removed rebill it using the selling price
1793
        if (tl != null) {
1793
        if (tl != null) {
1794
            fofoOrderItem.setDp(tl.getSellingPrice());
1794
            fofoOrderItem.setDp(tl.getSellingPrice());
Line 1892... Line 1892...
1892
            }
1892
            }
1893
        }
1893
        }
1894
    }
1894
    }
1895
 
1895
 
1896
    private FofoOrder createAndGetFofoOrder(int customerId, String customerGstNumber, int fofoId, String
1896
    private FofoOrder createAndGetFofoOrder(int customerId, String customerGstNumber, int fofoId, String
1897
            documentNumber, float totalAmount, int customerAddressId) {
1897
            documentNumber, float totalAmount, int customerAddressId, int poId) {
1898
        FofoOrder fofoOrder = new FofoOrder();
1898
        FofoOrder fofoOrder = new FofoOrder();
1899
        fofoOrder.setCustomerGstNumber(customerGstNumber);
1899
        fofoOrder.setCustomerGstNumber(customerGstNumber);
1900
        fofoOrder.setCustomerId(customerId);
1900
        fofoOrder.setCustomerId(customerId);
1901
        fofoOrder.setFofoId(fofoId);
1901
        fofoOrder.setFofoId(fofoId);
-
 
1902
        fofoOrder.setPendingOrderId(poId);
1902
        fofoOrder.setInvoiceNumber(documentNumber);
1903
        fofoOrder.setInvoiceNumber(documentNumber);
1903
        fofoOrder.setTotalAmount(totalAmount);
1904
        fofoOrder.setTotalAmount(totalAmount);
1904
        fofoOrder.setCustomerAddressId(customerAddressId);
1905
        fofoOrder.setCustomerAddressId(customerAddressId);
1905
        fofoOrderRepository.persist(fofoOrder);
1906
        fofoOrderRepository.persist(fofoOrder);
1906
        return fofoOrder;
1907
        return fofoOrder;
Line 2377... Line 2378...
2377
    public void reverseScheme(FofoOrder fofoOrder) throws ProfitMandiBusinessException {
2378
    public void reverseScheme(FofoOrder fofoOrder) throws ProfitMandiBusinessException {
2378
        String reversalReason = "Order Rolledback/Cancelled/Returned for Invoice #" + fofoOrder.getInvoiceNumber();
2379
        String reversalReason = "Order Rolledback/Cancelled/Returned for Invoice #" + fofoOrder.getInvoiceNumber();
2379
        List<FofoOrderItem> fois = fofoOrderItemRepository.selectByOrderId(fofoOrder.getId());
2380
        List<FofoOrderItem> fois = fofoOrderItemRepository.selectByOrderId(fofoOrder.getId());
2380
        Set<Integer> inventoryItemIds = fois.stream().flatMap(x -> x.getFofoLineItems().stream().map(y -> y.getInventoryItemId())).collect(Collectors.toSet());
2381
        Set<Integer> inventoryItemIds = fois.stream().flatMap(x -> x.getFofoLineItems().stream().map(y -> y.getInventoryItemId())).collect(Collectors.toSet());
2381
        List<InventoryItem> inventoryItems = inventoryItemRepository.selectByIds(inventoryItemIds);
2382
        List<InventoryItem> inventoryItems = inventoryItemRepository.selectByIds(inventoryItemIds);
2382
        schemeService.reverseSchemes(inventoryItems, fofoOrder.getId(), reversalReason, SchemeType.OUT_SCHEME_TYPES);
2383
        //schemeService.reverseSchemes(inventoryItems, fofoOrder.getId(), reversalReason, SchemeService.OUT_SCHEME_TYPES);
2383
        schemeService.reverseSchemes(inventoryItems, fofoOrder.getId(), reversalReason, Arrays.asList(SchemeType.INVESTMENT));
2384
        schemeService.reverseSchemes(inventoryItems, fofoOrder.getId(), reversalReason, Arrays.asList(SchemeType.INVESTMENT));
2384
        //schemeService.reverseSchemes(inventoryItems, fofoOrder.getId(), reversalReason, Arrays.asList(SchemeType.ACTIVATION));
2385
        //schemeService.reverseSchemes(inventoryItems, fofoOrder.getId(), reversalReason, Arrays.asList(SchemeType.ACTIVATION));
2385
        schemeService.reverseSchemes(inventoryItems, fofoOrder.getId(), reversalReason, Arrays.asList(SchemeType.SPECIAL_SUPPORT));
2386
        schemeService.reverseSchemes(inventoryItems, fofoOrder.getId(), reversalReason, Arrays.asList(SchemeType.SPECIAL_SUPPORT));
2386
 
2387
 
2387
    }
2388
    }