Subversion Repositories SmartDukaan

Rev

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

Rev 34348 Rev 34352
Line 1029... Line 1029...
1029
 
1029
 
1030
    public void test() throws Exception {
1030
    public void test() throws Exception {
1031
        //List<TotalLoanAmountDueModel> totalLoanAmountDueModels = loanRepository.getDueLoansByFofoId(175139438);
1031
        //List<TotalLoanAmountDueModel> totalLoanAmountDueModels = loanRepository.getDueLoansByFofoId(175139438);
1032
        //System.out.println(totalLoanAmountDueModels);
1032
        //System.out.println(totalLoanAmountDueModels);
1033
        //runOnceTasks.findCNDiff();
1033
        //runOnceTasks.findCNDiff();
1034
        Utils.sendMailWithAttachments(googleMailSender, new String[] { "amit.gupta@smartdukaan.com" }, null,
1034
        Utils.sendMailWithAttachments(googleMailSender, new String[]{"amit.gupta@smartdukaan.com"}, null,
1035
                "DTDC AWb", "PFA");
1035
                "DTDC AWb", "PFA");
1036
    }
1036
    }
1037
 
1037
 
1038
    public void test4() throws Exception {
1038
    public void test4() throws Exception {
1039
        List<Integer> offerIds = Arrays.asList(2882, 2881, 2880, 2879, 2878, 2877, 2876, 2875, 2874, 2873, 2872, 2871, 2870, 2869, 2868, 2867, 2866, 2865, 2864, 2863, 2862, 2861, 2860, 2859, 2858, 2857, 2856, 2855, 2854, 2853, 2852, 2851, 2850, 2849, 2847, 2846, 2845, 2844, 2843, 2842, 2841, 2840, 2839, 2838, 2837, 2836, 2835, 2834, 2833, 2832, 2831, 2830, 2829, 2828, 2827, 2826, 2825, 2824, 2823, 2822, 2821, 2820, 2819, 2818, 2817, 2816, 2815, 2814, 2813, 2812, 2811, 2810, 2809, 2808, 2807, 2806, 2805, 2804, 2803, 2802, 2801, 2800, 2799, 2798, 2797, 2796, 2795, 2794, 2793, 2792, 2791, 2790, 2789, 2788, 2787, 2786, 2785, 2784, 2783, 2782, 2781, 2780, 2777, 2776, 2775, 2774, 2773, 2772, 2771, 2770, 2769, 2768, 2767, 2766, 2765, 2764, 2763, 2762, 2761, 2760, 2759, 2758, 2757, 2756, 2755, 2754, 2753, 2752, 2751, 2750, 2749, 2748, 2747, 2746, 2745, 2744, 2723, 2722, 2721, 2720, 2719, 2718, 2717, 2716, 2715, 2714, 2713, 2712, 2711, 2710, 2709, 2708, 2707, 2706, 2705, 2704, 2703, 2702, 2701, 2700, 2699, 2698, 2697, 2696, 2695, 2694, 2693, 2692, 2691, 2690, 2494, 2493, 2492, 2491, 2490, 2489, 2488, 2487, 2486, 2485, 2484, 2483, 2482, 2481, 2480, 2479, 2478, 2477, 2476, 2475, 2474, 2473, 2472, 2471, 2470, 2469, 2466, 2465, 2464, 2463, 2462, 2461, 2460, 2459, 2458, 2457, 2456, 2455, 2454, 2453, 2452, 2451, 2450, 2449, 2448, 2447, 2446, 2445, 2444, 2443, 2442, 2441, 2440, 2439, 2407, 2406, 2405, 2404, 2403, 2402, 2401, 2400, 2399, 2398, 2397, 2396, 2395, 2394, 2393, 2392, 2391, 2390, 2389, 2388, 2387, 2386, 2385, 2384, 2383, 2382, 2381, 2117, 2116, 2115, 2114, 2113, 2112, 2111, 2110, 2109, 2108, 2107, 2106, 2105, 2104, 2103, 2102, 2101, 2100, 2099, 2098, 2077);
1039
        List<Integer> offerIds = Arrays.asList(2882, 2881, 2880, 2879, 2878, 2877, 2876, 2875, 2874, 2873, 2872, 2871, 2870, 2869, 2868, 2867, 2866, 2865, 2864, 2863, 2862, 2861, 2860, 2859, 2858, 2857, 2856, 2855, 2854, 2853, 2852, 2851, 2850, 2849, 2847, 2846, 2845, 2844, 2843, 2842, 2841, 2840, 2839, 2838, 2837, 2836, 2835, 2834, 2833, 2832, 2831, 2830, 2829, 2828, 2827, 2826, 2825, 2824, 2823, 2822, 2821, 2820, 2819, 2818, 2817, 2816, 2815, 2814, 2813, 2812, 2811, 2810, 2809, 2808, 2807, 2806, 2805, 2804, 2803, 2802, 2801, 2800, 2799, 2798, 2797, 2796, 2795, 2794, 2793, 2792, 2791, 2790, 2789, 2788, 2787, 2786, 2785, 2784, 2783, 2782, 2781, 2780, 2777, 2776, 2775, 2774, 2773, 2772, 2771, 2770, 2769, 2768, 2767, 2766, 2765, 2764, 2763, 2762, 2761, 2760, 2759, 2758, 2757, 2756, 2755, 2754, 2753, 2752, 2751, 2750, 2749, 2748, 2747, 2746, 2745, 2744, 2723, 2722, 2721, 2720, 2719, 2718, 2717, 2716, 2715, 2714, 2713, 2712, 2711, 2710, 2709, 2708, 2707, 2706, 2705, 2704, 2703, 2702, 2701, 2700, 2699, 2698, 2697, 2696, 2695, 2694, 2693, 2692, 2691, 2690, 2494, 2493, 2492, 2491, 2490, 2489, 2488, 2487, 2486, 2485, 2484, 2483, 2482, 2481, 2480, 2479, 2478, 2477, 2476, 2475, 2474, 2473, 2472, 2471, 2470, 2469, 2466, 2465, 2464, 2463, 2462, 2461, 2460, 2459, 2458, 2457, 2456, 2455, 2454, 2453, 2452, 2451, 2450, 2449, 2448, 2447, 2446, 2445, 2444, 2443, 2442, 2441, 2440, 2439, 2407, 2406, 2405, 2404, 2403, 2402, 2401, 2400, 2399, 2398, 2397, 2396, 2395, 2394, 2393, 2392, 2391, 2390, 2389, 2388, 2387, 2386, 2385, 2384, 2383, 2382, 2381, 2117, 2116, 2115, 2114, 2113, 2112, 2111, 2110, 2109, 2108, 2107, 2106, 2105, 2104, 2103, 2102, 2101, 2100, 2099, 2098, 2077);
Line 1226... Line 1226...
1226
                userCart.setCartId(user.getActiveCartId());
1226
                userCart.setCartId(user.getActiveCartId());
1227
                userCart.setUserId(user.getId());
1227
                userCart.setUserId(user.getId());
1228
 
1228
 
1229
                int transactionId = transactionService.createTransactionInternally(userCart, walletTotalAmount, warehouseCartItemsEntry.getKey());
1229
                int transactionId = transactionService.createTransactionInternally(userCart, walletTotalAmount, warehouseCartItemsEntry.getKey());
1230
                commonPaymentService.payThroughWallet(transactionId);
1230
                commonPaymentService.payThroughWallet(transactionId);
1231
                transactionService.processTransaction(transactionId,0);
1231
                transactionService.processTransaction(transactionId, 0);
1232
            }
1232
            }
1233
        }
1233
        }
1234
    }
1234
    }
1235
 
1235
 
1236
    @Autowired
1236
    @Autowired
Line 2378... Line 2378...
2378
        // throw new Exception();
2378
        // throw new Exception();
2379
    }
2379
    }
2380
 
2380
 
2381
    public void checkfocusedModelInPartnerStock() throws Exception {
2381
    public void checkfocusedModelInPartnerStock() throws Exception {
2382
 
2382
 
2383
        List<FofoStore> fofoStores = fofoStoreRepository.selectAll().stream().filter(x -> x.isActive()).collect(Collectors.toList());
2383
        //List<FofoStore> fofoStores = fofoStoreRepository.selectAll().stream().filter(x -> x.isActive()).limit(20).collect(Collectors.toList());
-
 
2384
        Map<Integer, FofoStore> fofoStoreMap = fofoStoreRepository.selectActiveStores().stream().collect(Collectors.toMap(x->x.getId(),x->x));
2384
        Map<Integer, Map<Integer, List<SaholicCIS>>> warehouseItemAvailabilityMap = saholicInventoryService.getSaholicStock();
2385
        Map<Integer, Map<Integer, List<SaholicCIS>>> warehouseItemAvailabilityMap = saholicInventoryService.getSaholicStock();
2385
        Map<Integer, String> warehouseMap = ProfitMandiConstants.WAREHOUSE_MAP;
2386
        Map<Integer, String> warehouseMap = ProfitMandiConstants.WAREHOUSE_MAP;
2386
        Map<Integer, FofoReportingModel> partnerIdSalesHeadersMap = this.getPartnerIdSalesHeaders();
2387
        Map<Integer, FofoReportingModel> partnerIdSalesHeadersMap = this.getPartnerIdSalesHeaders();
2387
        Map<Integer,List<FocusedModel>> focusedModelsMap = focusedModelRepository.selectAll().stream().collect(Collectors.groupingBy(x->x.getRegionId()));
2388
        Map<Integer, List<FocusedModel>> regionFocusedModelsMap = focusedModelRepository.selectAll().stream().collect(Collectors.groupingBy(x -> x.getRegionId()));
-
 
2389
        LOGGER.info("/ - {}", regionFocusedModelsMap);
2388
        Map<Integer, Map<Integer, List<SaholicPOItem>>> warehousePoItemAvailabilityMap = saholicInventoryService.getSaholicPOItems();
2390
        Map<Integer, Map<Integer, List<SaholicPOItem>>> warehousePoItemAvailabilityMap = saholicInventoryService.getSaholicPOItems();
2389
        Map<Integer, List<FocusedModelShortageModel>> focusedModelShortageReportMap = new HashMap<>();
2391
        Map<Integer, List<FocusedModelShortageModel>> focusedModelShortageReportMap = new HashMap<>();
2390
        Map<Integer,List<Integer>> partnerRegionMap = partnerRegionRepository.selectAll().stream().collect(Collectors.groupingBy(x->x.getFofoId(),Collectors.mapping(x->x.getRegionId(),Collectors.toList())));
2392
        //Map<Integer,List<Integer>> partnerRegionMap = partnerRegionRepository.selectAll().stream().collect(Collectors.groupingBy(x->x.getFofoId(),Collectors.mapping(x->x.getRegionId(),Collectors.toList())));
-
 
2393
        Map<Integer, Set<Integer>> partnerToRegions = partnerRegionRepository.selectAll().stream()
-
 
2394
                .collect(Collectors.groupingBy(
2391
        for (FofoStore fofoStore : fofoStores) {
2395
                        pr -> pr.getFofoId(),
-
 
2396
                        Collectors.mapping(pr -> pr.getRegionId(), Collectors.toSet())
-
 
2397
                ));
-
 
2398
        Map<Set<Integer>, List<Integer>> regionPartnerMap = partnerToRegions.entrySet().stream()
-
 
2399
                .collect(Collectors.groupingBy(
-
 
2400
                        Map.Entry::getValue,
-
 
2401
                        Collectors.mapping(Map.Entry::getKey, Collectors.toList())
-
 
2402
                ));
-
 
2403
        LOGGER.info("regionPartnerMap  - {}", regionPartnerMap.keySet());
-
 
2404
        for (Map.Entry<Set<Integer>, List<Integer>> regionPartnerEntry : regionPartnerMap.entrySet()) {
-
 
2405
            LOGGER.info("regionPartnerEntry - {}", regionPartnerEntry.getKey());
2392
            List<Integer> regionIds = partnerRegionMap.get(fofoStore.getId());
2406
            Set<Integer> regionIds = regionPartnerEntry.getKey();
-
 
2407
            List<Integer> partnerIds = regionPartnerEntry.getValue();
2393
            LOGGER.info("regionIds" + regionIds);
2408
            LOGGER.info("regionIds" + regionIds);
2394
            if (regionIds==null || regionIds.size() == 0) {
2409
            if (regionIds == null || regionIds.size() == 0) {
2395
                LOGGER.info("No region found for partner {}", fofoStore);
2410
                LOGGER.info("No region found for partner {}", partnerIds);
2396
                continue;
2411
                continue;
2397
            }
2412
            }
2398
            LOGGER.info("before focusedCatalogIdAndQtyMap");
2413
            regionIds.forEach(regionId -> LOGGER.info("Region: {}, Models: {}", regionId, regionFocusedModelsMap.get(regionId)));
2399
 
-
 
2400
            Map<Integer, Optional<Integer>> focusedCatalogIdAndQtyMap = regionIds.stream().map(focusedModelsMap::get).flatMap(x->x!=null ? x.stream():Stream.empty())
2414
            Map<Integer, Optional<Integer>> focusedCatalogIdAndQtyMap = regionIds.stream().map(regionFocusedModelsMap::get).flatMap(x -> x != null ? x.stream() : Stream.empty())
2401
                    .collect(groupingBy(FocusedModel::getCatalogId, mapping(FocusedModel::getObsMinimumQty, Collectors.maxBy(Integer::compareTo))));
2415
                    .collect(groupingBy(FocusedModel::getCatalogId, mapping(FocusedModel::getObsMinimumQty, Collectors.maxBy(Integer::compareTo))));
-
 
2416
            LOGGER.info("focusedCatalogIdAndQtyMap {}",focusedCatalogIdAndQtyMap);
-
 
2417
            if(focusedCatalogIdAndQtyMap.size() == 0) continue;
-
 
2418
            for (int partnerId : partnerIds) {
-
 
2419
                FofoStore fofoStore = fofoStoreMap.get(partnerId);
-
 
2420
                List<FocusedModelShortageModel> focusedModelShortageList = new ArrayList<>();
-
 
2421
                focusedModelShortageReportMap.put(fofoStore.getId(), focusedModelShortageList);
-
 
2422
                LOGGER.info("Before retailerService.getFofoRetailer(fofoId)");
-
 
2423
                CustomRetailer customRetailer = retailerService.getFofoRetailer(fofoStore.getId());
-
 
2424
                LOGGER.info("After retailerService.getFofoRetailer(fofoId)");
-
 
2425
                Map<Integer, Integer> processingOrderMap = null;
-
 
2426
                Map<Integer, Integer> catalogIdAndQtyMap = null;
-
 
2427
                Map<Integer, Integer> grnPendingOrdersMap = null;
2402
 
2428
 
2403
            LOGGER.info("after focusedCatalogIdAndQtyMap");
2429
                Map<Integer, Integer> currentInventorySnapshot = currentInventorySnapshotRepository.selectByFofoId(fofoStore.getId()).stream().collect(Collectors.toMap(x -> x.getItemId(), x -> x.getAvailability()));
2404
 
2430
 
-
 
2431
                if (!currentInventorySnapshot.isEmpty()) {
-
 
2432
                    catalogIdAndQtyMap = itemRepository.selectByIds(currentInventorySnapshot.keySet()).stream().collect(groupingBy(x -> x.getCatalogItemId(), Collectors.summingInt(x -> currentInventorySnapshot.get(x.getId()))));
2405
 
2433
 
2406
            List<FocusedModelShortageModel> focusedModelShortageList = new ArrayList<>();
-
 
2407
            focusedModelShortageReportMap.put(fofoStore.getId(), focusedModelShortageList);
-
 
2408
            LOGGER.info("Before retailerService.getFofoRetailer(fofoId)");
-
 
2409
            CustomRetailer customRetailer = retailerService.getFofoRetailer(fofoStore.getId());
-
 
2410
            LOGGER.info("After retailerService.getFofoRetailer(fofoId)");
-
 
2411
            Map<Integer, Integer> processingOrderMap = null;
-
 
2412
            Map<Integer, Integer> catalogIdAndQtyMap = null;
2434
                }
2413
            Map<Integer, Integer> grnPendingOrdersMap = null;
-
 
2414
 
2435
 
2415
            Map<Integer, Integer> currentInventorySnapshot = currentInventorySnapshotRepository.selectByFofoId(fofoStore.getId()).stream().collect(Collectors.toMap(x -> x.getItemId(), x -> x.getAvailability()));
2436
                Map<Integer, Integer> grnPendingOrders = orderRepository.selectPendingGrnOrders(fofoStore.getId()).stream().collect(groupingBy(x -> x.getLineItem().getItemId(), Collectors.summingInt(x -> x.getLineItem().getQuantity())));
-
 
2437
                if (!grnPendingOrders.isEmpty()) {
-
 
2438
                    grnPendingOrdersMap = itemRepository.selectByIds(grnPendingOrders.keySet()).stream().collect(groupingBy(x -> x.getCatalogItemId(), Collectors.summingInt(x -> grnPendingOrders.get(x.getId()))));
2416
 
2439
 
2417
            if (!currentInventorySnapshot.isEmpty()) {
2440
                }
2418
                catalogIdAndQtyMap = itemRepository.selectByIds(currentInventorySnapshot.keySet()).stream().collect(groupingBy(x -> x.getCatalogItemId(), Collectors.summingInt(x -> currentInventorySnapshot.get(x.getId()))));
-
 
2419
 
2441
 
-
 
2442
                Map<Integer, Integer> processingOrder = orderRepository.selectOrders(fofoStore.getId(), orderStatusList).stream().collect(groupingBy(x -> x.getLineItem().getItemId(), Collectors.summingInt(x -> x.getLineItem().getQuantity())));
2420
            }
2443
                if (!processingOrder.isEmpty()) {
-
 
2444
                    processingOrderMap = itemRepository.selectByIds(processingOrder.keySet()).stream().collect(groupingBy(x -> x.getCatalogItemId(), Collectors.summingInt(x -> processingOrder.get(x.getId()))));
2421
 
2445
 
2422
            Map<Integer, Integer> grnPendingOrders = orderRepository.selectPendingGrnOrders(fofoStore.getId()).stream().collect(groupingBy(x -> x.getLineItem().getItemId(), Collectors.summingInt(x -> x.getLineItem().getQuantity())));
-
 
2423
            if (!grnPendingOrders.isEmpty()) {
2446
                }
2424
                grnPendingOrdersMap = itemRepository.selectByIds(grnPendingOrders.keySet()).stream().collect(groupingBy(x -> x.getCatalogItemId(), Collectors.summingInt(x -> grnPendingOrders.get(x.getId()))));
-
 
2425
 
2447
 
2426
            }
-
 
2427
 
2448
 
2428
            Map<Integer, Integer> processingOrder = orderRepository.selectOrders(fofoStore.getId(), orderStatusList).stream().collect(groupingBy(x -> x.getLineItem().getItemId(), Collectors.summingInt(x -> x.getLineItem().getQuantity())));
-
 
2429
            if (!processingOrder.isEmpty()) {
-
 
2430
                processingOrderMap = itemRepository.selectByIds(processingOrder.keySet()).stream().collect(groupingBy(x -> x.getCatalogItemId(), Collectors.summingInt(x -> processingOrder.get(x.getId()))));
2449
                //Map<String, RetailerBlockBrands> retailerBlockBrands = retailerBlockBrandsRepository.selectAllByRetailer(fofoId).stream().collect(Collectors.toMap(x -> x.getBlockBrands(), x -> x));
2431
 
2450
 
2432
            }
-
 
2433
 
2451
 
-
 
2452
                for (Entry<Integer, Optional<Integer>> entry : focusedCatalogIdAndQtyMap.entrySet()) {
-
 
2453
                    int minQty = entry.getValue().get();
-
 
2454
                    int inStockQty = 0;
-
 
2455
                    int processingQty = 0;
-
 
2456
                    int grnPendingQty = 0;
-
 
2457
                    int allColorNetAvailability = 0;
-
 
2458
                    int allColorPoAvailability = 0;
-
 
2459
                    if (processingOrderMap != null) {
-
 
2460
                        processingQty = (processingOrderMap.get(entry.getKey()) == null) ? 0 : processingOrderMap.get(entry.getKey());
2434
 
2461
 
-
 
2462
                    }
-
 
2463
                    if (grnPendingOrdersMap != null) {
2435
            //Map<String, RetailerBlockBrands> retailerBlockBrands = retailerBlockBrandsRepository.selectAllByRetailer(fofoId).stream().collect(Collectors.toMap(x -> x.getBlockBrands(), x -> x));
2464
                        grnPendingQty = (grnPendingOrdersMap.get(entry.getKey()) == null) ? 0 : grnPendingOrdersMap.get(entry.getKey());
2436
 
2465
 
-
 
2466
                    }
-
 
2467
                    if (catalogIdAndQtyMap != null) {
-
 
2468
                        inStockQty = (catalogIdAndQtyMap.get(entry.getKey()) == null) ? 0 : catalogIdAndQtyMap.get(entry.getKey());
2437
 
2469
 
2438
            for (Entry<Integer, Optional<Integer>> entry : focusedCatalogIdAndQtyMap.entrySet()) {
-
 
2439
                int minQty = entry.getValue().get();
-
 
2440
                int inStockQty = 0;
2470
                    }
2441
                int processingQty = 0;
-
 
2442
                int grnPendingQty = 0;
-
 
2443
                int allColorNetAvailability = 0;
-
 
2444
                int allColorPoAvailability = 0;
-
 
2445
                if (processingOrderMap != null) {
-
 
2446
                    processingQty = (processingOrderMap.get(entry.getKey()) == null) ? 0 : processingOrderMap.get(entry.getKey());
-
 
2447
 
2471
 
2448
                }
-
 
2449
                if (grnPendingOrdersMap != null) {
2472
                    int grnStockQty = grnPendingQty + inStockQty;
2450
                    grnPendingQty = (grnPendingOrdersMap.get(entry.getKey()) == null) ? 0 : grnPendingOrdersMap.get(entry.getKey());
2473
                    int totalQty = processingQty + grnPendingQty + inStockQty;
2451
 
2474
 
2452
                }
-
 
2453
                if (catalogIdAndQtyMap != null) {
2475
                    int shortageQty = minQty - totalQty;
2454
                    inStockQty = (catalogIdAndQtyMap.get(entry.getKey()) == null) ? 0 : catalogIdAndQtyMap.get(entry.getKey());
2476
                    List<Item> items = itemRepository.selectAllByCatalogItemId(entry.getKey());
2455
 
2477
 
2456
                }
2478
                    TagListing tagListing = tagListingRepository.selectByCatalogId(entry.getKey());
2457
 
2479
 
2458
                int grnStockQty = grnPendingQty + inStockQty;
-
 
2459
                int totalQty = processingQty + grnPendingQty + inStockQty;
2480
                    Map<Integer, List<SaholicCIS>> itemAvailabilityMap = warehouseItemAvailabilityMap.get(fofoStore.getWarehouseId());
2460
 
2481
 
2461
                int shortageQty = minQty - totalQty;
-
 
2462
                List<Item> items = itemRepository.selectAllByCatalogItemId(entry.getKey());
2482
                    Map<Integer, List<SaholicPOItem>> poItemAvailabilityMap = warehousePoItemAvailabilityMap.get(fofoStore.getWarehouseId());
2463
 
2483
 
-
 
2484
                    for (Item item : items) {
-
 
2485
                        List<SaholicCIS> currentAvailability = null;
2464
                TagListing tagListing = tagListingRepository.selectByCatalogId(entry.getKey());
2486
                        List<SaholicPOItem> poItemAvailability = null;
2465
 
-
 
-
 
2487
                        if (itemAvailabilityMap != null) {
2466
                Map<Integer, List<SaholicCIS>> itemAvailabilityMap = warehouseItemAvailabilityMap.get(fofoStore.getWarehouseId());
2488
                            currentAvailability = itemAvailabilityMap.get(item.getId());
-
 
2489
                        }
2467
 
2490
 
-
 
2491
                        if (poItemAvailabilityMap != null) {
2468
                Map<Integer, List<SaholicPOItem>> poItemAvailabilityMap = warehousePoItemAvailabilityMap.get(fofoStore.getWarehouseId());
2492
                            poItemAvailability = poItemAvailabilityMap.get(item.getId());
-
 
2493
                        }
-
 
2494
                        if (currentAvailability != null) {
-
 
2495
                            allColorNetAvailability += currentAvailability.stream().collect(Collectors.summingInt(SaholicCIS::getNetavailability));
-
 
2496
                        }
2469
 
2497
 
2470
                for (Item item : items) {
-
 
2471
                    List<SaholicCIS> currentAvailability = null;
-
 
2472
                    List<SaholicPOItem> poItemAvailability = null;
-
 
2473
                    if (itemAvailabilityMap != null) {
2498
                        if (poItemAvailability != null) {
2474
                        currentAvailability = itemAvailabilityMap.get(item.getId());
2499
                            allColorPoAvailability += poItemAvailability.stream().collect(Collectors.summingInt(SaholicPOItem::getUnfulfilledQty));
2475
                    }
2500
                        }
2476
 
2501
 
2477
                    if (poItemAvailabilityMap != null) {
-
 
2478
                        poItemAvailability = poItemAvailabilityMap.get(item.getId());
-
 
2479
                    }
-
 
2480
                    if (currentAvailability != null) {
-
 
2481
                        allColorNetAvailability += currentAvailability.stream().collect(Collectors.summingInt(SaholicCIS::getNetavailability));
-
 
2482
                    }
2502
                    }
2483
 
2503
 
-
 
2504
                    FocusedModelShortageModel fm = new FocusedModelShortageModel();
-
 
2505
                    fm.setFofoId(fofoStore.getId());
-
 
2506
                    fm.setStoreCode(fofoStore.getCode());
-
 
2507
                    fm.setStoreName(customRetailer.getBusinessName());
-
 
2508
                    fm.setBrandName(items.get(0).getBrand());
-
 
2509
                    fm.setModelName(items.get(0).getModelName());
-
 
2510
                    fm.setModelNumber(items.get(0).getModelNumber());
-
 
2511
                    fm.setGrnStockQty(grnStockQty);
-
 
2512
                    fm.setPendingIndentQty(processingQty);
-
 
2513
                    fm.setShortageQty(shortageQty);
-
 
2514
                    fm.setPoAvailability(allColorPoAvailability);
-
 
2515
                    fm.setDp(tagListing.getSellingPrice());
-
 
2516
                    fm.setWarehouseName(warehouseMap.get(customRetailer.getWarehouseId()));
2484
                    if (poItemAvailability != null) {
2517
                    if (partnerIdSalesHeadersMap.get(fofoStore) != null) {
-
 
2518
                        fm.setStateManager(partnerIdSalesHeadersMap.get(fofoStore).getRegionalManager());
2485
                        allColorPoAvailability += poItemAvailability.stream().collect(Collectors.summingInt(SaholicPOItem::getUnfulfilledQty));
2519
                        fm.setTerritoryManager(partnerIdSalesHeadersMap.get(fofoStore).getTerritoryManager());
-
 
2520
                    } else {
-
 
2521
                        fm.setStateManager("");
-
 
2522
                        fm.setTerritoryManager("");
2486
                    }
2523
                    }
2487
 
2524
 
-
 
2525
                    fm.setItemName(items.get(0).getBrand() + items.get(0).getModelNumber() + items.get(0).getModelName());
2488
                }
2526
                    fm.setAvailability(allColorNetAvailability);
2489
 
2527
 
2490
                FocusedModelShortageModel fm = new FocusedModelShortageModel();
-
 
2491
                fm.setFofoId(fofoStore.getId());
-
 
2492
                fm.setStoreCode(fofoStore.getCode());
-
 
2493
                fm.setStoreName(customRetailer.getBusinessName());
-
 
2494
                fm.setBrandName(items.get(0).getBrand());
-
 
2495
                fm.setModelName(items.get(0).getModelName());
-
 
2496
                fm.setModelNumber(items.get(0).getModelNumber());
-
 
2497
                fm.setGrnStockQty(grnStockQty);
-
 
2498
                fm.setPendingIndentQty(processingQty);
-
 
2499
                fm.setShortageQty(shortageQty);
-
 
2500
                fm.setPoAvailability(allColorPoAvailability);
-
 
2501
                fm.setDp(tagListing.getSellingPrice());
-
 
2502
                fm.setWarehouseName(warehouseMap.get(customRetailer.getWarehouseId()));
-
 
2503
                if (partnerIdSalesHeadersMap.get(fofoStore) != null) {
-
 
2504
                    fm.setStateManager(partnerIdSalesHeadersMap.get(fofoStore).getRegionalManager());
-
 
2505
                    fm.setTerritoryManager(partnerIdSalesHeadersMap.get(fofoStore).getTerritoryManager());
-
 
2506
                } else {
-
 
2507
                    fm.setStateManager("");
2528
                    focusedModelShortageList.add(fm);
2508
                    fm.setTerritoryManager("");
-
 
2509
                }
2529
                }
2510
 
2530
 
2511
                fm.setItemName(items.get(0).getBrand() + items.get(0).getModelNumber() + items.get(0).getModelName());
-
 
2512
                fm.setAvailability(allColorNetAvailability);
-
 
2513
 
-
 
2514
                focusedModelShortageList.add(fm);
-
 
2515
            }
2531
            }
2516
 
-
 
2517
        }
2532
        }
-
 
2533
 
2518
        LOGGER.info("focusedModelShortageReportMap {}", focusedModelShortageReportMap);
2534
        LOGGER.info("focusedModelShortageReportMap {}", focusedModelShortageReportMap);
2519
        if (!focusedModelShortageReportMap.isEmpty()) {
2535
        if (!focusedModelShortageReportMap.isEmpty()) {
2520
            String fileName = "Stock Alert-" + FormattingUtils.formatDate(LocalDateTime.now()) + ".csv";
2536
            String fileName = "Stock Alert-" + FormattingUtils.formatDate(LocalDateTime.now()) + ".csv";
2521
            Map<String, Set<Integer>> storeGuyMap = csService.getAuthUserPartnerIdMapping();
2537
            Map<String, Set<Integer>> storeGuyMap = csService.getAuthUserPartnerIdMapping();
2522
            Map<String, List<List<?>>> emailRowsMap = new HashMap<>();
2538
            Map<String, List<List<?>>> emailRowsMap = new HashMap<>();
Line 4951... Line 4967...
4951
 
4967
 
4952
        this.sendMailOfHtmlFormat(mailSender, email, sb.toString(), null, subject);
4968
        this.sendMailOfHtmlFormat(mailSender, email, sb.toString(), null, subject);
4953
    }
4969
    }
4954
 
4970
 
4955
    public void send10OrMoreOlderStockReport() throws Exception {
4971
    public void send10OrMoreOlderStockReport() throws Exception {
4956
       purSaleService.moreThen10DaysEgedStockReport();
4972
        purSaleService.moreThen10DaysEgedStockReport();
4957
 
4973
 
4958
    }
4974
    }
4959
 
4975
 
4960
}
4976
}
4961
// 2284"
4977
// 2284"
4962
4978