Subversion Repositories SmartDukaan

Rev

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

Rev 35726 Rev 35737
Line 113... Line 113...
113
    TransactionService transactionService;
113
    TransactionService transactionService;
114
    @Autowired
114
    @Autowired
115
    BulkOrderService bulkOrderService;
115
    BulkOrderService bulkOrderService;
116
    @Autowired
116
    @Autowired
117
    private CustomerRepository customerRepository;
117
    private CustomerRepository customerRepository;
118
    private boolean accessoriesDeals = true;
118
    private static final boolean accessoriesDeals = true;
119
    @Autowired
119
    @Autowired
120
    private RoleManager roleManager;
120
    private RoleManager roleManager;
121
    @Autowired
121
    @Autowired
122
    private Gson gson;
122
    private Gson gson;
123
    @Autowired
123
    @Autowired
Line 230... Line 230...
230
    @RequestMapping(value = "/wa-send-invoice", method = RequestMethod.GET)
230
    @RequestMapping(value = "/wa-send-invoice", method = RequestMethod.GET)
231
    public String sendWhatsappMessage(HttpServletRequest request, @RequestParam(name = ProfitMandiConstants.ORDER_ID) int orderId, Model model) {
231
    public String sendWhatsappMessage(HttpServletRequest request, @RequestParam(name = ProfitMandiConstants.ORDER_ID) int orderId, Model model) {
232
        try {
232
        try {
233
            this.sendWhatsappInvoice(fofoOrderRepository.selectByOrderId(orderId));
233
            this.sendWhatsappInvoice(fofoOrderRepository.selectByOrderId(orderId));
234
        } catch (Exception e) {
234
        } catch (Exception e) {
235
            LOGGER.info("Could not send whatsapp message");
235
            LOGGER.error("Could not send whatsapp message for order {}", orderId, e);
236
            e.printStackTrace();
-
 
237
        }
236
        }
238
        model.addAttribute("response1", true);
237
        model.addAttribute("response1", true);
239
        return "response";
238
        return "response";
240
    }
239
    }
241
 
240
 
Line 332... Line 331...
332
        Map<Integer, PaymentOption> paymentOptionIdPaymentOptionMap = this
331
        Map<Integer, PaymentOption> paymentOptionIdPaymentOptionMap = this
333
                .paymentOptionIdPaymentOptionMap(paymentOptionTransactions);
332
                .paymentOptionIdPaymentOptionMap(paymentOptionTransactions);
334
        List<InsurancePolicy> insurancePolicies = insurancePolicyRepository
333
        List<InsurancePolicy> insurancePolicies = insurancePolicyRepository
335
                .selectByRetailerIdInvoiceNumber(fofoOrder.getInvoiceNumber());
334
                .selectByRetailerIdInvoiceNumber(fofoOrder.getInvoiceNumber());
336
        this.addInsuranceProvider(insurancePolicies);
335
        this.addInsuranceProvider(insurancePolicies);
337
        Map<Integer, Item> itemsMap = fofoOrderItems.stream().collect(Collectors.toMap(x -> x.getItemId(), x -> {
336
        Set<Integer> itemIds = fofoOrderItems.stream().map(FofoOrderItem::getItemId).collect(Collectors.toSet());
338
            try {
-
 
339
                return itemRepository.selectById(x.getItemId());
337
        Map<Integer, Item> itemsMap = itemRepository.selectByIds(itemIds).stream()
340
            } catch (ProfitMandiBusinessException e) {
338
                .collect(Collectors.toMap(Item::getId, item -> item));
341
                // TODO Auto-generated catch block
-
 
342
                return null;
-
 
343
            }
-
 
344
        }));
-
 
345
        Map<Integer, Set<FofoLineItem>> fofoOrderItemIdLineItemMap = fofoOrderItems.stream()
339
        Map<Integer, Set<FofoLineItem>> fofoOrderItemIdLineItemMap = fofoOrderItems.stream()
346
                .collect(Collectors.toMap(FofoOrderItem::getId, FofoOrderItem::getFofoLineItems));
340
                .collect(Collectors.toMap(FofoOrderItem::getId, FofoOrderItem::getFofoLineItems));
347
 
341
 
348
        Map<Integer, List<CustomerReturnItem>> foiIdCustomerReturnInventoryItemsMap = fofoOrderItems.stream()
342
        Map<Integer, List<CustomerReturnItem>> foiIdCustomerReturnInventoryItemsMap = new HashMap<>();
349
                .collect(Collectors.toMap(foi -> foi.getId(),
-
 
350
                        foi -> customerReturnItemRepository.selectAllByOrderItemId(foi.getId())));
-
 
351
 
-
 
352
        Map<Integer, Integer> inventoryItemBilledQtyMap = new HashMap<>();
343
        Map<Integer, Integer> inventoryItemBilledQtyMap = new HashMap<>();
353
 
344
 
354
        for (FofoOrderItem foi : fofoOrderItems) {
345
        for (FofoOrderItem foi : fofoOrderItems) {
-
 
346
            List<CustomerReturnItem> customerReturnItems = customerReturnItemRepository
-
 
347
                    .selectAllByOrderItemId(foi.getId());
-
 
348
            foiIdCustomerReturnInventoryItemsMap.put(foi.getId(), customerReturnItems);
355
            for (FofoLineItem fli : foi.getFofoLineItems()) {
349
            for (FofoLineItem fli : foi.getFofoLineItems()) {
356
                inventoryItemBilledQtyMap.put(fli.getInventoryItemId(), fli.getQuantity());
350
                inventoryItemBilledQtyMap.put(fli.getInventoryItemId(), fli.getQuantity());
357
            }
351
            }
358
            List<CustomerReturnItem> customerReturnItems = customerReturnItemRepository
-
 
359
                    .selectAllByOrderItemId(foi.getId());
-
 
360
            this.markDoa(fofoOrder, foi, isAdmin);
352
            this.markDoa(fofoOrder, foi, isAdmin);
361
            for (CustomerReturnItem customerReturnItem : customerReturnItems) {
353
            for (CustomerReturnItem customerReturnItem : customerReturnItems) {
362
                inventoryItemBilledQtyMap.put(customerReturnItem.getInventoryItemId(),
354
                inventoryItemBilledQtyMap.put(customerReturnItem.getInventoryItemId(),
363
                        inventoryItemBilledQtyMap.get(customerReturnItem.getInventoryItemId()) - 1);
355
                        inventoryItemBilledQtyMap.get(customerReturnItem.getInventoryItemId()) - 1);
364
            }
356
            }
Line 445... Line 437...
445
        List<FofoOrderItem> fofoOrderItems = fofoOrderItemRepository.selectByOrderId(fofoOrder.getId());
437
        List<FofoOrderItem> fofoOrderItems = fofoOrderItemRepository.selectByOrderId(fofoOrder.getId());
446
        Customer customer = customerRepository.selectById(fofoOrder.getCustomerId());
438
        Customer customer = customerRepository.selectById(fofoOrder.getCustomerId());
447
        CustomerAddress customerAddress = customerAddressRepository.selectById(fofoOrder.getCustomerAddressId());
439
        CustomerAddress customerAddress = customerAddressRepository.selectById(fofoOrder.getCustomerAddressId());
448
        Map<Integer, PaymentOption> paymentOptionIdPaymentOptionMap = paymentOptionRepository.selectActiveOption().stream().collect(Collectors.toMap(x -> x.getId(), x -> x));
440
        Map<Integer, PaymentOption> paymentOptionIdPaymentOptionMap = paymentOptionRepository.selectActiveOption().stream().collect(Collectors.toMap(x -> x.getId(), x -> x));
449
        List<Integer> fofoPartnerPaymentOptions = new ArrayList<>(paymentOptionIdPaymentOptionMap.keySet());
441
        List<Integer> fofoPartnerPaymentOptions = new ArrayList<>(paymentOptionIdPaymentOptionMap.keySet());
450
        Map<Integer, Item> itemsMap = fofoOrderItems.stream().collect(Collectors.toMap(x -> x.getItemId(), x -> {
442
        Set<Integer> searchItemIds = fofoOrderItems.stream().map(FofoOrderItem::getItemId).collect(Collectors.toSet());
451
            try {
-
 
452
                return itemRepository.selectById(x.getItemId());
443
        Map<Integer, Item> itemsMap = itemRepository.selectByIds(searchItemIds).stream()
453
            } catch (ProfitMandiBusinessException e) {
444
                .collect(Collectors.toMap(Item::getId, item -> item));
454
                // TODO Auto-generated catch block
-
 
455
                return null;
-
 
456
            }
-
 
457
        }));
-
 
458
        LOGGER.info("fofoPartnerPaymentOptions" + fofoPartnerPaymentOptions);
445
        LOGGER.info("fofoPartnerPaymentOptions {}", fofoPartnerPaymentOptions);
459
        List<PaymentOptionTransaction> paymentOptionTransactions = paymentOptionTransactionRepository
446
        List<PaymentOptionTransaction> paymentOptionTransactions = paymentOptionTransactionRepository
460
                .selectByReferenceIdAndType(fofoOrder.getId(), PaymentOptionReferenceType.ORDER);
447
                .selectByReferenceIdAndType(fofoOrder.getId(), PaymentOptionReferenceType.ORDER);
461
        LOGGER.info("paymentOptionTransactions" + paymentOptionTransactions);
448
        LOGGER.info("paymentOptionTransactions {}", paymentOptionTransactions);
462
 
449
 
463
        Map<Integer, PaymentOptionTransaction> paymentOptionIdPaymentOptionTransactionMap = this
450
        Map<Integer, PaymentOptionTransaction> paymentOptionIdPaymentOptionTransactionMap = this
464
                .paymentOptionIdPaymentOptionTransactionMap(paymentOptionTransactions);
451
                .paymentOptionIdPaymentOptionTransactionMap(paymentOptionTransactions);
465
        LOGGER.info("paymentOptionIdPaymentOptionTransactionMap" + paymentOptionIdPaymentOptionTransactionMap.keySet());
452
        LOGGER.info("paymentOptionIdPaymentOptionTransactionMap {}", paymentOptionIdPaymentOptionTransactionMap.keySet());
466
        List<InsurancePolicy> insurancePolicies = insurancePolicyRepository
453
        List<InsurancePolicy> insurancePolicies = insurancePolicyRepository
467
                .selectByRetailerIdInvoiceNumber(fofoOrder.getInvoiceNumber());
454
                .selectByRetailerIdInvoiceNumber(fofoOrder.getInvoiceNumber());
468
        this.addInsuranceProvider(insurancePolicies);
455
        this.addInsuranceProvider(insurancePolicies);
469
        model.addAttribute("fofoOrder", fofoOrder);
456
        model.addAttribute("fofoOrder", fofoOrder);
470
        for (FofoOrderItem fofoOrderItem : fofoOrderItems) {
457
        for (FofoOrderItem fofoOrderItem : fofoOrderItems) {
Line 472... Line 459...
472
        }
459
        }
473
 
460
 
474
        Map<Integer, Set<FofoLineItem>> fofoOrderItemIdLineItemMap = fofoOrderItems.stream()
461
        Map<Integer, Set<FofoLineItem>> fofoOrderItemIdLineItemMap = fofoOrderItems.stream()
475
                .collect(Collectors.toMap(FofoOrderItem::getId, FofoOrderItem::getFofoLineItems));
462
                .collect(Collectors.toMap(FofoOrderItem::getId, FofoOrderItem::getFofoLineItems));
476
 
463
 
477
        Map<Integer, List<CustomerReturnItem>> foiIdCustomerReturnInventoryItemsMap = fofoOrderItems.stream()
464
        Map<Integer, List<CustomerReturnItem>> foiIdCustomerReturnInventoryItemsMap = new HashMap<>();
478
                .collect(Collectors.toMap(foi -> foi.getId(),
-
 
479
                        foi -> customerReturnItemRepository.selectAllByOrderItemId(foi.getId())));
-
 
480
 
-
 
481
        Map<Integer, Integer> inventoryItemBilledQtyMap = new HashMap<>();
465
        Map<Integer, Integer> inventoryItemBilledQtyMap = new HashMap<>();
482
 
466
 
483
        for (FofoOrderItem foi : fofoOrderItems) {
467
        for (FofoOrderItem foi : fofoOrderItems) {
-
 
468
            List<CustomerReturnItem> customerReturnItems = customerReturnItemRepository
-
 
469
                    .selectAllByOrderItemId(foi.getId());
-
 
470
            foiIdCustomerReturnInventoryItemsMap.put(foi.getId(), customerReturnItems);
484
            for (FofoLineItem fli : foi.getFofoLineItems()) {
471
            for (FofoLineItem fli : foi.getFofoLineItems()) {
485
                inventoryItemBilledQtyMap.put(fli.getInventoryItemId(), fli.getQuantity());
472
                inventoryItemBilledQtyMap.put(fli.getInventoryItemId(), fli.getQuantity());
486
            }
473
            }
487
            List<CustomerReturnItem> customerReturnItems = customerReturnItemRepository
-
 
488
                    .selectAllByOrderItemId(foi.getId());
-
 
489
            for (CustomerReturnItem customerReturnItem : customerReturnItems) {
474
            for (CustomerReturnItem customerReturnItem : customerReturnItems) {
490
                inventoryItemBilledQtyMap.put(customerReturnItem.getInventoryItemId(),
475
                inventoryItemBilledQtyMap.put(customerReturnItem.getInventoryItemId(),
491
                        inventoryItemBilledQtyMap.get(customerReturnItem.getInventoryItemId()) - 1);
476
                        inventoryItemBilledQtyMap.get(customerReturnItem.getInventoryItemId()) - 1);
492
            }
477
            }
493
        }
478
        }
Line 1001... Line 986...
1001
 
986
 
1002
        List<PaymentOptionTransactionModel> paymentOptionTransactionModels = partnerOptionsAndItemAmountModel
987
        List<PaymentOptionTransactionModel> paymentOptionTransactionModels = partnerOptionsAndItemAmountModel
1003
                .getPaymentOptionTransactionModel();
988
                .getPaymentOptionTransactionModel();
1004
        LOGGER.info(paymentOptionTransactionModels);
989
        LOGGER.info(paymentOptionTransactionModels);
1005
        FofoOrder fofoOrder = fofoOrderRepository.selectByFofoIdAndOrderId(fofoId, referenceId);
990
        FofoOrder fofoOrder = fofoOrderRepository.selectByFofoIdAndOrderId(fofoId, referenceId);
1006
        LOGGER.info("sdssd" + fofoOrder);
991
        LOGGER.info("fofoOrder: {}", fofoOrder);
1007
        fofoOrder.setTotalAmount(totalAmount);
992
        fofoOrder.setTotalAmount(totalAmount);
1008
        List<FofoItemIdAmountModel> fofoItemIdAmountModel = partnerOptionsAndItemAmountModel.getItemAmountModel();
993
        List<FofoItemIdAmountModel> fofoItemIdAmountModel = partnerOptionsAndItemAmountModel.getItemAmountModel();
1009
        for (FofoItemIdAmountModel fim : fofoItemIdAmountModel) {
-
 
1010
            LOGGER.info("fim" + fim.getFofoItemId());
-
 
1011
 
994
 
-
 
995
        Set<Integer> fimItemIds = fofoItemIdAmountModel.stream().map(FofoItemIdAmountModel::getItemId).collect(Collectors.toSet());
-
 
996
        Map<Integer, Item> fimItemMap = itemRepository.selectByIds(fimItemIds).stream()
-
 
997
                .collect(Collectors.toMap(Item::getId, item -> item));
-
 
998
        Map<Integer, TagListing> fimTagMap = tagListingRepository.selectByItemIds(fimItemIds);
-
 
999
        List<Integer> fimFofoItemIds = fofoItemIdAmountModel.stream().map(FofoItemIdAmountModel::getFofoItemId).collect(Collectors.toList());
-
 
1000
        Map<Integer, FofoOrderItem> fimFofoItemMap = fofoOrderItemRepository.selectByIds(fimFofoItemIds).stream()
-
 
1001
                .collect(Collectors.toMap(FofoOrderItem::getId, foi -> foi));
-
 
1002
 
-
 
1003
        for (FofoItemIdAmountModel fim : fofoItemIdAmountModel) {
-
 
1004
            LOGGER.info("fim: {}", fim.getFofoItemId());
1012
            LOGGER.info("fimAmount" + fim.getAmount());
1005
            LOGGER.info("fimAmount: {}", fim.getAmount());
1013
            Item item = itemRepository.selectById(fim.getItemId());
1006
            Item item = fimItemMap.get(fim.getItemId());
1014
            TagListing tagListing = tagListingRepository.selectByItemId(item.getId());
1007
            TagListing tagListing = fimTagMap.get(item.getId());
1015
            FofoOrderItem fofoOrderItem = fofoOrderItemRepository.selectById(fim.getFofoItemId());
1008
            FofoOrderItem fofoOrderItem = fimFofoItemMap.get(fim.getFofoItemId());
1016
            LOGGER.info("category" + item.getCategoryId());
1009
            LOGGER.info("category: {}", item.getCategoryId());
1017
            if (item.getCategoryId() == ProfitMandiConstants.MOBILE_CATEGORY_ID) {
1010
            if (item.getCategoryId() == ProfitMandiConstants.MOBILE_CATEGORY_ID) {
1018
                if (fofoOrderItem.getMop() <= fim.getAmount()) {
1011
                if (fofoOrderItem.getMop() <= fim.getAmount()) {
1019
 
1012
 
1020
                    if (fim.getAmount() <= tagListing.getMrp()) {
1013
                    if (fim.getAmount() <= tagListing.getMrp()) {
1021
                        fofoOrderItem.setSellingPrice(fim.getAmount());
1014
                        fofoOrderItem.setSellingPrice(fim.getAmount());
1022
                    } else {
1015
                    } else {
1023
                        throw new ProfitMandiBusinessException("Amount", fim.getAmount(),
1016
                        throw new ProfitMandiBusinessException("Amount", fim.getAmount(),
1024
                                "Sum of amount is not less than  to MRP");
1017
                                "Sum of amount is not less than  to MRP");
1025
                    }
1018
                    }
1026
 
1019
 
1027
                    LOGGER.info("fofoOrderItem2" + fofoOrderItem);
1020
                    LOGGER.info("fofoOrderItem2: {}", fofoOrderItem);
1028
 
1021
 
1029
                } else {
1022
                } else {
1030
                    // TODO below mop condition need to added added
1023
                    // TODO below mop condition need to added added
1031
                    fofoOrderItem.setSellingPrice(fim.getAmount());
1024
                    fofoOrderItem.setSellingPrice(fim.getAmount());
1032
                }
1025
                }
1033
 
1026
 
1034
            } else {
1027
            } else {
1035
                fofoOrderItem.setSellingPrice(fim.getAmount());
1028
                fofoOrderItem.setSellingPrice(fim.getAmount());
1036
                LOGGER.info("fofoOrderItem1" + fofoOrderItem);
1029
                LOGGER.info("fofoOrderItem1: {}", fofoOrderItem);
1037
 
1030
 
1038
            }
1031
            }
1039
            LOGGER.info("fofoOrderItem" + fofoOrderItem);
1032
            LOGGER.info("fofoOrderItem: {}", fofoOrderItem);
1040
 
1033
 
1041
        }
1034
        }
1042
 
1035
 
1043
        /*
1036
        /*
1044
         * for (PaymentOptionTransactionModel paymentOptionTransactionModel :
1037
         * for (PaymentOptionTransactionModel paymentOptionTransactionModel :
Line 1050... Line 1043...
1050
        if (paymentOptionTransactionModels.size() > 0) {
1043
        if (paymentOptionTransactionModels.size() > 0) {
1051
            List<PaymentOptionTransaction> paymentOptionTransactions = paymentOptionTransactionRepository
1044
            List<PaymentOptionTransaction> paymentOptionTransactions = paymentOptionTransactionRepository
1052
                    .selectByReferenceIdAndType(referenceId, PaymentOptionReferenceType.ORDER);
1045
                    .selectByReferenceIdAndType(referenceId, PaymentOptionReferenceType.ORDER);
1053
            Map<Integer, PaymentOptionTransaction> paymentOptionIdPaymentOptionTransactionMap = this
1046
            Map<Integer, PaymentOptionTransaction> paymentOptionIdPaymentOptionTransactionMap = this
1054
                    .paymentOptionIdPaymentOptionTransactionMap(paymentOptionTransactions);
1047
                    .paymentOptionIdPaymentOptionTransactionMap(paymentOptionTransactions);
1055
            LOGGER.info(
-
 
1056
                    "paymentOptionIdPaymentOptionTransactionMap" + paymentOptionIdPaymentOptionTransactionMap.keySet());
1048
            LOGGER.info("paymentOptionIdPaymentOptionTransactionMap: {}", paymentOptionIdPaymentOptionTransactionMap.keySet());
1057
            for (PaymentOptionTransactionModel paymentOptionTransactionModel : paymentOptionTransactionModels) {
1049
            for (PaymentOptionTransactionModel paymentOptionTransactionModel : paymentOptionTransactionModels) {
1058
                if (paymentOptionIdPaymentOptionTransactionMap
1050
                if (paymentOptionIdPaymentOptionTransactionMap
1059
                        .containsKey(paymentOptionTransactionModel.getPaymentOptionId())) {
1051
                        .containsKey(paymentOptionTransactionModel.getPaymentOptionId())) {
1060
 
1052
 
1061
                    PaymentOptionTransaction paymentOptionTransaction = paymentOptionIdPaymentOptionTransactionMap
1053
                    PaymentOptionTransaction paymentOptionTransaction = paymentOptionIdPaymentOptionTransactionMap
Line 1143... Line 1135...
1143
        // List<PaymentOption> paymentOptions = paymentOptionRepository.selectByIds(new
1135
        // List<PaymentOption> paymentOptions = paymentOptionRepository.selectByIds(new
1144
        // HashSet<>(paymentOptionIds));
1136
        // HashSet<>(paymentOptionIds));
1145
 
1137
 
1146
        List<PaymentOption> paymentOptions = paymentOptionRepository.selectActiveOption();
1138
        List<PaymentOption> paymentOptions = paymentOptionRepository.selectActiveOption();
1147
 
1139
 
1148
        LOGGER.info("pendingOrder" + po);
1140
        LOGGER.info("pendingOrder: {}", po);
1149
        LOGGER.info("pendingOrderItem" + poi);
1141
        LOGGER.info("pendingOrderItem: {}", poi);
1150
 
1142
 
1151
        int onlineSellingPrice = 0;
1143
        int onlineSellingPrice = 0;
1152
        Map<Integer, PendingOrderItem> itemIdAndPoiMap = new HashMap<>();
1144
        Map<Integer, PendingOrderItem> itemIdAndPoiMap = new HashMap<>();
1153
 
1145
 
1154
        if (po != null) {
1146
        if (po != null) {
1155
            List<PendingOrderItem> pendingOrderItems = pendingOrderItemRepository.selectByOrderId(po.getId());
1147
            List<PendingOrderItem> pendingOrderItems = pendingOrderItemRepository.selectByOrderId(po.getId());
-
 
1148
            Map<Integer, PendingOrderItem> poiByIdMap = pendingOrderItems.stream()
-
 
1149
                    .collect(Collectors.toMap(PendingOrderItem::getId, x -> x));
1156
            if (!(po.getPayMethod().equals("EMIOD") || po.getPayMethod().equals("POD"))) {
1150
            if (!(po.getPayMethod().equals("EMIOD") || po.getPayMethod().equals("POD"))) {
1157
                for (CartFofo cartItem : cartItems) {
1151
                for (CartFofo cartItem : cartItems) {
1158
                    PendingOrderItem pendingOItem = pendingOrderItemRepository.selectById(cartItem.getPoItemId());
1152
                    PendingOrderItem pendingOItem = poiByIdMap.get(cartItem.getPoItemId());
1159
                    PendingOrderPlan pendingOrderPlan = pendingOrderPlanRepository.selectByPoid(cartItem.getPoItemId());
1153
                    PendingOrderPlan pendingOrderPlan = pendingOrderPlanRepository.selectByPoid(cartItem.getPoItemId());
1160
                    if (pendingOrderPlan != null) {
1154
                    if (pendingOrderPlan != null) {
1161
                        onlineSellingPrice += pendingOItem.getSellingPrice() * pendingOItem.getQuantity() + pendingOrderPlan.getPremiumPrice() * pendingOItem.getQuantity();
1155
                        onlineSellingPrice += pendingOItem.getSellingPrice() * pendingOItem.getQuantity() + pendingOrderPlan.getPremiumPrice() * pendingOItem.getQuantity();
1162
                    } else {
1156
                    } else {
1163
                        onlineSellingPrice += pendingOItem.getSellingPrice() * pendingOItem.getQuantity();
1157
                        onlineSellingPrice += pendingOItem.getSellingPrice() * pendingOItem.getQuantity();
1164
                    }
1158
                    }
1165
                }
1159
                }
1166
            }
1160
            }
1167
 
1161
 
1168
            itemIdAndPoiMap = pendingOrderItems.stream().collect(Collectors.toMap(x -> x.getItemId(), x -> pendingOrderItemRepository.selectById(x.getId())));
1162
            itemIdAndPoiMap = pendingOrderItems.stream().collect(Collectors.toMap(PendingOrderItem::getItemId, x -> x));
1169
        }
1163
        }
1170
 
1164
 
1171
 
1165
 
1172
//        get the list of customer item for every item code start here
1166
//        get the list of customer item for every item code start here
1173
//        ...............................................................
1167
//        ...............................................................
Line 1198... Line 1192...
1198
            webOfferMap.put(item.getId(), webOffers);
1192
            webOfferMap.put(item.getId(), webOffers);
1199
        }*/
1193
        }*/
1200
 
1194
 
1201
 
1195
 
1202
        Map<Integer, ItemWiseCustomerOfferSummaryModel> offerItemSummaryMap = new HashMap<>();
1196
        Map<Integer, ItemWiseCustomerOfferSummaryModel> offerItemSummaryMap = new HashMap<>();
-
 
1197
        Map<Integer, Item> cartItemMap = itemRepository.selectByIds(itemIds).stream()
-
 
1198
                .collect(Collectors.toMap(Item::getId, item -> item));
1203
 
1199
 
1204
        for (CartFofo cartItem : cartItems) {
1200
        for (CartFofo cartItem : cartItems) {
1205
            Item item = itemRepository.selectById(cartItem.getItemId());
1201
            Item item = cartItemMap.get(cartItem.getItemId());
1206
            List<CustomerOfferItem> customerOfferItems = null;
1202
            List<CustomerOfferItem> customerOfferItems = null;
1207
            if (customerOfferIds.size() > 0) {
1203
            if (customerOfferIds.size() > 0) {
1208
                customerOfferItems = customerOfferItemRepository
1204
                customerOfferItems = customerOfferItemRepository
1209
                        .selectByOfferIds(customerOfferIds, item.getCatalogItemId(), todayDate2)
1205
                        .selectByOfferIds(customerOfferIds, item.getCatalogItemId(), todayDate2)
1210
                        .stream()
1206
                        .stream()
Line 1516... Line 1512...
1516
        Map<Integer, Item> itemMap = new HashMap<>();
1512
        Map<Integer, Item> itemMap = new HashMap<>();
1517
        Map<Integer, CurrentInventorySnapshot> inventoryMap = new HashMap<>();
1513
        Map<Integer, CurrentInventorySnapshot> inventoryMap = new HashMap<>();
1518
        PendingOrder pendingPO = pendingOrderRepository.selectById(orderId);
1514
        PendingOrder pendingPO = pendingOrderRepository.selectById(orderId);
1519
        Customer customer = customerRepository.selectById(pendingPO.getCustomerId());
1515
        Customer customer = customerRepository.selectById(pendingPO.getCustomerId());
1520
        List<PendingOrderItem> pendingOrderItems = pendingOrderItemRepository.selectByOrderId(orderId);
1516
        List<PendingOrderItem> pendingOrderItems = pendingOrderItemRepository.selectByOrderId(orderId);
1521
        for (PendingOrderItem pendingOrderItem : pendingOrderItems) {
1517
        Set<Integer> poItemIds = pendingOrderItems.stream().map(PendingOrderItem::getItemId).collect(Collectors.toSet());
1522
            Item item = itemRepository.selectById(pendingOrderItem.getItemId());
1518
        itemMap = itemRepository.selectByIds(poItemIds).stream()
-
 
1519
                .collect(Collectors.toMap(Item::getId, item -> item));
1523
            CurrentInventorySnapshot cis = currentInventorySnapshotRepository
1520
        List<CurrentInventorySnapshot> snapshots = currentInventorySnapshotRepository
1524
                    .selectByItemAndFofoId(pendingOrderItem.getItemId(), pendingPO.getFofoId());
1521
                .selectByFofoItemIds(pendingPO.getFofoId(), poItemIds);
1525
            itemMap.put(pendingOrderItem.getItemId(), item);
1522
        for (CurrentInventorySnapshot cis : snapshots) {
1526
            LOGGER.info("cis" + cis);
1523
            LOGGER.info("cis: {}", cis);
1527
            inventoryMap.put(pendingOrderItem.getItemId(), cis);
1524
            inventoryMap.put(cis.getItemId(), cis);
1528
        }
1525
        }
1529
 
1526
 
1530
        LOGGER.info("inventoryMap" + inventoryMap);
1527
        LOGGER.info("inventoryMap: {}", inventoryMap);
1531
        model.addAttribute("pendingOrderItems", pendingOrderItems);
1528
        model.addAttribute("pendingOrderItems", pendingOrderItems);
1532
        model.addAttribute("itemMap", itemMap);
1529
        model.addAttribute("itemMap", itemMap);
1533
        model.addAttribute("inventoryMap", inventoryMap);
1530
        model.addAttribute("inventoryMap", inventoryMap);
1534
        model.addAttribute("pendingPO", gson.toJson(pendingPO));
1531
        model.addAttribute("pendingPO", gson.toJson(pendingPO));
1535
        model.addAttribute("pendingPOCustomer", gson.toJson(customer));
1532
        model.addAttribute("pendingPOCustomer", gson.toJson(customer));
Line 1602... Line 1599...
1602
 
1599
 
1603
        Map<String, Object> emailModel = new HashMap<>();
1600
        Map<String, Object> emailModel = new HashMap<>();
1604
        emailModel.put("customer", customerAddress);
1601
        emailModel.put("customer", customerAddress);
1605
        emailModel.put("pendingOrder", pendingOrder);
1602
        emailModel.put("pendingOrder", pendingOrder);
1606
        emailModel.put("date", dateTimeFormatter);
1603
        emailModel.put("date", dateTimeFormatter);
1607
        LOGGER.info("emal" + customer.getEmailId());
1604
        LOGGER.info("email: {}", customer.getEmailId());
1608
        String[] customerEmail = null;
1605
        String[] customerEmail = null;
1609
        if (customer.getEmailId() != null && !customer.getEmailId().isEmpty()) {
1606
        if (customer.getEmailId() != null && !customer.getEmailId().isEmpty()) {
1610
            customerEmail = new String[]{customer.getEmailId()};
1607
            customerEmail = new String[]{customer.getEmailId()};
1611
 
1608
 
1612
            List<String> bccTo = Arrays.asList("vikas.jangra@smartdukaan.com");
1609
            List<String> bccTo = Arrays.asList("vikas.jangra@smartdukaan.com");
Line 1867... Line 1864...
1867
 
1864
 
1868
    // This method is use for sending all pending transaction to Transation Approval menu
1865
    // This method is use for sending all pending transaction to Transation Approval menu
1869
    @RequestMapping(value = "/transaction/pendingApprovals", method = RequestMethod.GET)
1866
    @RequestMapping(value = "/transaction/pendingApprovals", method = RequestMethod.GET)
1870
    public String getTransactionApproval(HttpServletRequest request, Model model) throws Exception {
1867
    public String getTransactionApproval(HttpServletRequest request, Model model) throws Exception {
1871
        List<TransactionApproval> transactionApprovals = transactionApprovalRepository.selectAllPending();
1868
        List<TransactionApproval> transactionApprovals = transactionApprovalRepository.selectAllPending();
1872
        LOGGER.info("list of Approval transaction Id " + transactionApprovals);
1869
        LOGGER.info("list of Approval transaction Id: {}", transactionApprovals);
1873
        List<TransactionApprovalModel> approvalModelList = bulkOrderService.getAllPendingTransactionApproval();
1870
        List<TransactionApprovalModel> approvalModelList = bulkOrderService.getAllPendingTransactionApproval();
1874
        model.addAttribute("approvalModelList", approvalModelList);
1871
        model.addAttribute("approvalModelList", approvalModelList);
1875
        return "transaction/transaction-approvals";
1872
        return "transaction/transaction-approvals";
1876
    }
1873
    }
1877
 
1874