Subversion Repositories SmartDukaan

Rev

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

Rev 34568 Rev 34576
Line 61... Line 61...
61
        }
61
        }
62
        LOGGER.info("liquidations: {}",liquidations);
62
        LOGGER.info("liquidations: {}",liquidations);
63
 
63
 
64
        if (liquidations.size() > 0) {
64
        if (liquidations.size() > 0) {
65
            for (Liquidation liquidation : liquidations) {
65
            for (Liquidation liquidation : liquidations) {
-
 
66
                try {
66
                List<Item> items = itemRepository.selectAllByCatalogItemId(liquidation.getCatalogId());
67
                    List<Item> items = itemRepository.selectAllByCatalogItemId(liquidation.getCatalogId());
67
                if (items.size() > 0) {
68
                    if (items.size() > 0) {
68
                    long remainingQty = 0;
69
                        long remainingQty = 0;
69
                    for (Item item : items) {
70
                        for (Item item : items) {
70
                        List<SaholicCISTable> saholicCISTable = saholicCISTableRepository.selectAllByItemId(item.getId());
71
                            List<SaholicCISTable> saholicCISTable = saholicCISTableRepository.selectAllByItemId(item.getId());
71
                        remainingQty += saholicCISTable.stream().mapToInt(SaholicCISTable::getAvailability).sum();
72
                            remainingQty += saholicCISTable.stream().mapToInt(SaholicCISTable::getAvailability).sum();
72
                    }
73
                        }
73
                    List<Bid> bids = bidRepository.selectAllBidByLiquidationIdAndStatus(liquidation.getId(), Arrays.asList(ProfitMandiConstants.BID_ENUM.PENDING, ProfitMandiConstants.BID_ENUM.PROCESSING));
74
                        List<Bid> bids = bidRepository.selectAllBidByLiquidationIdAndStatus(liquidation.getId(), Arrays.asList(ProfitMandiConstants.BID_ENUM.PENDING, ProfitMandiConstants.BID_ENUM.PROCESSING));
74
 
75
 
75
                    for (Bid bid : bids) {
76
                        for (Bid bid : bids) {
-
 
77
                            LOGGER.info("remainingQty: {}",remainingQty);
76
                        if (remainingQty >= bid.getQuantity()) {
78
                            if (remainingQty >= bid.getQuantity()) {
-
 
79
                                try {
77
                            List<BulkOrderModel> bulkOrderModels = new ArrayList<>();
80
                                    List<BulkOrderModel> bulkOrderModels = new ArrayList<>();
78
                            BulkOrderModel bulkOrderModel = new BulkOrderModel();
81
                                    BulkOrderModel bulkOrderModel = new BulkOrderModel();
79
                            bulkOrderModel.setRowIndex(bid.getId());
82
                                    bulkOrderModel.setRowIndex(bid.getId());
80
                            bulkOrderModel.setFofoId(bid.getFofoId());
83
                                    bulkOrderModel.setFofoId(bid.getFofoId());
81
                            bulkOrderModel.setItemId(items.get(0).getId());
84
                                    bulkOrderModel.setItemId(items.get(0).getId());
82
                            bulkOrderModel.setQuantity(bid.getQuantity());
85
                                    bulkOrderModel.setQuantity(bid.getQuantity());
83
                            bulkOrderModel.setDescription(items.get(0).getItemDescription());
86
                                    bulkOrderModel.setDescription(items.get(0).getItemDescription());
84
                            bulkOrderModel.setItemPrice(bid.getBiddingAmount());
87
                                    bulkOrderModel.setItemPrice(bid.getBiddingAmount());
85
 
88
 
86
                            bulkOrderModels.add(bulkOrderModel);
89
                                    bulkOrderModels.add(bulkOrderModel);
87
 
90
 
88
                            bulkOrderService.generatePurchaseOrder(bulkOrderModels, bid.getFofoId(), ProfitMandiConstants.PO_TYPE.AUTO, type);
91
                                    bulkOrderService.generatePurchaseOrder(bulkOrderModels, bid.getFofoId(), ProfitMandiConstants.PO_TYPE.AUTO, type);
89
                            remainingQty -= bid.getQuantity();
92
                                    remainingQty -= bid.getQuantity();
-
 
93
                                } catch (Exception exception){
-
 
94
                                    LOGGER.info("generatePurchaseOrder if exception: ",exception);
-
 
95
                                }
90
                        } else {
96
                            } else {
-
 
97
                                try {
91
                            bidService.cancelYesterdayProcessBid(bid);
98
                                    bidService.cancelYesterdayProcessBid(bid);
-
 
99
                                } catch (Exception exception){
-
 
100
                                    LOGGER.info("generatePurchaseOrder else exception: ",exception);
-
 
101
                                }
-
 
102
                            }
-
 
103
                        }
-
 
104
                        if (remainingQty <= 0) {
-
 
105
                            bidService.sendSummaryMailToUserAndManagers(liquidation.getCreatedBy(), bids, liquidation);
-
 
106
                            LOGGER.info("generatePurchaseOrder qty exhausted: {}",remainingQty);
92
                        }
107
                        }
-
 
108
                        liquidation.setQuantity((int) remainingQty);
-
 
109
                        liquidation.setStatus(ProfitMandiConstants.LIQUIDATION_ENUM.CLOSED);
93
                    }
110
                    }
94
                    if (remainingQty <= 0) bidService.sendSummaryMailToUserAndManagers(liquidation.getCreatedBy(), bids, liquidation);
-
 
95
                    liquidation.setQuantity((int) remainingQty);
111
                } catch (Exception exception){
96
                    liquidation.setStatus(ProfitMandiConstants.LIQUIDATION_ENUM.CLOSED);
112
                    LOGGER.info("generatePurchaseOrder loop: {}",liquidation);
97
                }
113
                }
98
            }
114
            }
99
        }
115
        }
100
    }
116
    }
101
 
117