Subversion Repositories SmartDukaan

Rev

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

Rev 29672 Rev 29801
Line 19... Line 19...
19
import java.util.Base64;
19
import java.util.Base64;
20
import java.util.Collections;
20
import java.util.Collections;
21
import java.util.Comparator;
21
import java.util.Comparator;
22
import java.util.HashMap;
22
import java.util.HashMap;
23
import java.util.HashSet;
23
import java.util.HashSet;
-
 
24
import java.util.LinkedHashMap;
24
import java.util.List;
25
import java.util.List;
25
import java.util.Map;
26
import java.util.Map;
26
import java.util.Map.Entry;
27
import java.util.Map.Entry;
27
import java.util.Optional;
28
import java.util.Optional;
28
import java.util.Set;
29
import java.util.Set;
Line 56... Line 57...
56
import com.google.common.collect.Lists;
57
import com.google.common.collect.Lists;
57
import com.google.gson.Gson;
58
import com.google.gson.Gson;
58
import com.razorpay.Payment;
59
import com.razorpay.Payment;
59
import com.smartdukaan.cron.itelImeiActivation.ItelImeiActivationService;
60
import com.smartdukaan.cron.itelImeiActivation.ItelImeiActivationService;
60
import com.smartdukaan.cron.itelImeiActivation.TecnoImeiActivation;
61
import com.smartdukaan.cron.itelImeiActivation.TecnoImeiActivation;
-
 
62
import com.smartdukaan.cron.properties.WriteToPropertiesFile;
61
import com.spice.profitmandi.common.enumuration.MessageType;
63
import com.spice.profitmandi.common.enumuration.MessageType;
62
import com.spice.profitmandi.common.enumuration.RechargeStatus;
64
import com.spice.profitmandi.common.enumuration.RechargeStatus;
63
import com.spice.profitmandi.common.enumuration.ReporticoProject;
65
import com.spice.profitmandi.common.enumuration.ReporticoProject;
64
import com.spice.profitmandi.common.exception.ProfitMandiBusinessException;
66
import com.spice.profitmandi.common.exception.ProfitMandiBusinessException;
65
import com.spice.profitmandi.common.model.CustomRetailer;
67
import com.spice.profitmandi.common.model.CustomRetailer;
Line 127... Line 129...
127
import com.spice.profitmandi.dao.enumuration.cs.EscalationType;
129
import com.spice.profitmandi.dao.enumuration.cs.EscalationType;
128
import com.spice.profitmandi.dao.enumuration.dtr.RefferalStatus;
130
import com.spice.profitmandi.dao.enumuration.dtr.RefferalStatus;
129
import com.spice.profitmandi.dao.enumuration.fofo.PartnerStatusType;
131
import com.spice.profitmandi.dao.enumuration.fofo.PartnerStatusType;
130
import com.spice.profitmandi.dao.enumuration.fofo.ScanType;
132
import com.spice.profitmandi.dao.enumuration.fofo.ScanType;
131
import com.spice.profitmandi.dao.enumuration.transaction.PriceDropImeiStatus;
133
import com.spice.profitmandi.dao.enumuration.transaction.PriceDropImeiStatus;
-
 
134
import com.spice.profitmandi.dao.model.FinanceServicesModel;
132
import com.spice.profitmandi.dao.model.SimpleCampaign;
135
import com.spice.profitmandi.dao.model.SimpleCampaign;
133
import com.spice.profitmandi.dao.model.SimpleCampaignParams;
136
import com.spice.profitmandi.dao.model.SimpleCampaignParams;
134
import com.spice.profitmandi.dao.repository.auth.AuthRepository;
137
import com.spice.profitmandi.dao.repository.auth.AuthRepository;
135
import com.spice.profitmandi.dao.repository.catalog.DeviceRepository;
138
import com.spice.profitmandi.dao.repository.catalog.DeviceRepository;
136
import com.spice.profitmandi.dao.repository.catalog.FocusedModelRepository;
139
import com.spice.profitmandi.dao.repository.catalog.FocusedModelRepository;
Line 226... Line 229...
226
 
229
 
227
	@Autowired
230
	@Autowired
228
	private RegionRepository regionRepository;
231
	private RegionRepository regionRepository;
229
 
232
 
230
	@Autowired
233
	@Autowired
-
 
234
	private ServiceConfigService serviceConfigService;
-
 
235
 
-
 
236
	@Autowired
231
	private TecnoImeiActivation tecnoImeiActivation;
237
	private TecnoImeiActivation tecnoImeiActivation;
232
 
238
 
233
	private static final DateTimeFormatter leadTimeFormatter = DateTimeFormatter.ofPattern("d LLL, hh:mm a");
239
	private static final DateTimeFormatter leadTimeFormatter = DateTimeFormatter.ofPattern("d LLL, hh:mm a");
234
 
240
 
235
	@Autowired
241
	@Autowired
Line 2436... Line 2442...
2436
				}
2442
				}
2437
 
2443
 
2438
				int grnStockQty = grnPendingQty + inStockQty;
2444
				int grnStockQty = grnPendingQty + inStockQty;
2439
				int totalQty = processingQty + grnPendingQty + inStockQty;
2445
				int totalQty = processingQty + grnPendingQty + inStockQty;
2440
 
2446
 
2441
			
-
 
2442
 
-
 
2443
					int shortageQty = minQty - totalQty;
2447
				int shortageQty = minQty - totalQty;
2444
					List<Item> item = itemRepository.selectAllByCatalogItemId(entry.getKey());
2448
				List<Item> item = itemRepository.selectAllByCatalogItemId(entry.getKey());
2445
					FofoStore fofoStore = fofoStoreRepository.selectByRetailerId(fofoId);
2449
				FofoStore fofoStore = fofoStoreRepository.selectByRetailerId(fofoId);
2446
 
2450
 
2447
					Map<Integer, List<SaholicCIS>> itemAvailabilityMap = warehouseItemAvailabilityMap
2451
				Map<Integer, List<SaholicCIS>> itemAvailabilityMap = warehouseItemAvailabilityMap
2448
							.get(fofoStore.getWarehouseId());
2452
						.get(fofoStore.getWarehouseId());
2449
 
2453
 
2450
					Map<Integer, List<SaholicPOItem>> poItemAvailabilityMap = warehousePoItemAvailabilityMap
2454
				Map<Integer, List<SaholicPOItem>> poItemAvailabilityMap = warehousePoItemAvailabilityMap
2451
							.get(fofoStore.getWarehouseId());
2455
						.get(fofoStore.getWarehouseId());
2452
 
2456
 
2453
					for (Item it : item) {
2457
				for (Item it : item) {
2454
						List<SaholicCIS> currentAvailability = null;
2458
					List<SaholicCIS> currentAvailability = null;
2455
						List<SaholicPOItem> poItemAvailability = null;
2459
					List<SaholicPOItem> poItemAvailability = null;
2456
						if (itemAvailabilityMap != null) {
2460
					if (itemAvailabilityMap != null) {
2457
							currentAvailability = itemAvailabilityMap.get(it.getId());
2461
						currentAvailability = itemAvailabilityMap.get(it.getId());
2458
						}
2462
					}
2459
 
-
 
2460
						if (poItemAvailabilityMap != null) {
-
 
2461
							poItemAvailability = poItemAvailabilityMap.get(it.getId());
-
 
2462
						}
-
 
2463
						if (currentAvailability != null) {
-
 
2464
							allColorNetAvailability += currentAvailability.stream()
-
 
2465
									.collect(Collectors.summingInt(SaholicCIS::getNetavailability));
-
 
2466
						}
-
 
2467
 
-
 
2468
						if (poItemAvailability != null) {
-
 
2469
							allColorPoAvailability += poItemAvailability.stream()
-
 
2470
									.collect(Collectors.summingInt(SaholicPOItem::getUnfulfilledQty));
-
 
2471
						}
-
 
2472
 
2463
 
-
 
2464
					if (poItemAvailabilityMap != null) {
-
 
2465
						poItemAvailability = poItemAvailabilityMap.get(it.getId());
-
 
2466
					}
-
 
2467
					if (currentAvailability != null) {
-
 
2468
						allColorNetAvailability += currentAvailability.stream()
-
 
2469
								.collect(Collectors.summingInt(SaholicCIS::getNetavailability));
2473
					}
2470
					}
2474
 
2471
 
2475
					FocusedModelShortageModel fm = new FocusedModelShortageModel();
-
 
2476
					fm.setFofoId(fofoId);
-
 
2477
					fm.setStoreCode(fofoStore.getCode());
-
 
2478
					fm.setStoreName(customRetailer.getBusinessName());
-
 
2479
					fm.setBrandName(item.get(0).getBrand());
-
 
2480
					fm.setModelName(item.get(0).getModelName());
-
 
2481
					fm.setModelNumber(item.get(0).getModelNumber());
-
 
2482
					fm.setGrnStockQty(grnStockQty);
-
 
2483
					fm.setPendingIndentQty(processingQty);
-
 
2484
					fm.setShortageQty(shortageQty);
2472
					if (poItemAvailability != null) {
2485
					fm.setPoAvailabitiy(allColorPoAvailability);
2473
						allColorPoAvailability += poItemAvailability.stream()
2486
					fm.setWarehouseName(warehouseMap.get(customRetailer.getWarehouseId()));
2474
								.collect(Collectors.summingInt(SaholicPOItem::getUnfulfilledQty));
2487
					fm.setStateManager(partnerIdSalesHeadersMap.get(fofoId).getRegionalManager());
-
 
2488
					fm.setTerritoryManager(partnerIdSalesHeadersMap.get(fofoId).getTerritoryManager());
-
 
2489
					fm.setItemName(item.get(0).getBrand() + item.get(0).getModelNumber() + item.get(0).getModelName());
-
 
2490
					fm.setAvailabitiy(allColorNetAvailability);
2475
					}
2491
 
2476
 
2492
					focusedModelShortageList.add(fm);
-
 
2493
				}
2477
				}
2494
 
2478
 
-
 
2479
				FocusedModelShortageModel fm = new FocusedModelShortageModel();
-
 
2480
				fm.setFofoId(fofoId);
-
 
2481
				fm.setStoreCode(fofoStore.getCode());
-
 
2482
				fm.setStoreName(customRetailer.getBusinessName());
-
 
2483
				fm.setBrandName(item.get(0).getBrand());
-
 
2484
				fm.setModelName(item.get(0).getModelName());
-
 
2485
				fm.setModelNumber(item.get(0).getModelNumber());
-
 
2486
				fm.setGrnStockQty(grnStockQty);
-
 
2487
				fm.setPendingIndentQty(processingQty);
-
 
2488
				fm.setShortageQty(shortageQty);
-
 
2489
				fm.setPoAvailabitiy(allColorPoAvailability);
-
 
2490
				fm.setWarehouseName(warehouseMap.get(customRetailer.getWarehouseId()));
-
 
2491
				fm.setStateManager(partnerIdSalesHeadersMap.get(fofoId).getRegionalManager());
-
 
2492
				fm.setTerritoryManager(partnerIdSalesHeadersMap.get(fofoId).getTerritoryManager());
-
 
2493
				fm.setItemName(item.get(0).getBrand() + item.get(0).getModelNumber() + item.get(0).getModelName());
-
 
2494
				fm.setAvailabitiy(allColorNetAvailability);
-
 
2495
 
-
 
2496
				focusedModelShortageList.add(fm);
2495
			
2497
			}
2496
 
2498
 
2497
			/*
2499
			/*
2498
			 * if (!focusedModelShortageList.isEmpty()) { String subject = "Stock Alert";
2500
			 * if (!focusedModelShortageList.isEmpty()) { String subject = "Stock Alert";
2499
			 * String messageText = this.getMessage(focusedModelShortageList);
2501
			 * String messageText = this.getMessage(focusedModelShortageList);
2500
			 * 
2502
			 * 
Line 3058... Line 3060...
3058
			e.printStackTrace();
3060
			e.printStackTrace();
3059
		}
3061
		}
3060
 
3062
 
3061
	}
3063
	}
3062
 
3064
 
-
 
3065
	public void selectFinServiceFollowUpDateByCurrDate(LocalDate currentDate) {
-
 
3066
		LOGGER.info("selectfinServiceFollow - {}", "selectfinServiceFollowUpDateByCurrDate");
-
 
3067
 
-
 
3068
			serviceConfigService.selectFinServicePartnerfollowUpDateByCurrentDate(currentDate);
-
 
3069
		
-
 
3070
	}
-
 
3071
 
3063
	public void checkTecnoImeiActivation(LocalDate date, Integer day) {
3072
	public void checkTecnoImeiActivation(LocalDate date, Integer day) {
3064
		LOGGER.info("Hello - {}", "hhh");
3073
		LOGGER.info("Hello - {}", "hhh");
3065
 
3074
 
3066
		try {
3075
		try {
3067
			tecnoImeiActivation.checkTecnoImeiActivation(date, day);
3076
			tecnoImeiActivation.checkTecnoImeiActivation(date, day);