Subversion Repositories SmartDukaan

Rev

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

Rev 31205 Rev 31274
Line 35... Line 35...
35
import com.spice.profitmandi.dao.repository.user.AddressRepository;
35
import com.spice.profitmandi.dao.repository.user.AddressRepository;
36
import com.spice.profitmandi.dao.repository.user.CounterRepository;
36
import com.spice.profitmandi.dao.repository.user.CounterRepository;
37
import com.spice.profitmandi.dao.repository.user.PrivateDealUserRepository;
37
import com.spice.profitmandi.dao.repository.user.PrivateDealUserRepository;
38
import com.spice.profitmandi.dao.repository.warehouse.WarehouseInventoryItemRepository;
38
import com.spice.profitmandi.dao.repository.warehouse.WarehouseInventoryItemRepository;
39
import com.spice.profitmandi.service.integrations.zest.InsuranceService;
39
import com.spice.profitmandi.service.integrations.zest.InsuranceService;
-
 
40
import com.spice.profitmandi.service.integrations.zest.MobileInsurancePlan;
40
import com.spice.profitmandi.service.inventory.InventoryService;
41
import com.spice.profitmandi.service.inventory.InventoryService;
41
import com.spice.profitmandi.service.inventory.PurchaseReturnService;
42
import com.spice.profitmandi.service.inventory.PurchaseReturnService;
42
import com.spice.profitmandi.service.inventory.SaholicInventoryService;
43
import com.spice.profitmandi.service.inventory.SaholicInventoryService;
43
import com.spice.profitmandi.service.offers.ItemCriteria;
44
import com.spice.profitmandi.service.offers.ItemCriteria;
44
import com.spice.profitmandi.service.pricing.PricingService;
45
import com.spice.profitmandi.service.pricing.PricingService;
Line 336... Line 337...
336
						im.setSerialNumber(serialNumberDetail.getSerialNumber());
337
						im.setSerialNumber(serialNumberDetail.getSerialNumber());
337
						im.setMemory(serialNumberDetail.getMemory());
338
						im.setMemory(serialNumberDetail.getMemory());
338
						im.setRam(serialNumberDetail.getRam());
339
						im.setRam(serialNumberDetail.getRam());
339
						im.setMfgDate(serialNumberDetail.getMfgDate());
340
						im.setMfgDate(serialNumberDetail.getMfgDate());
340
						insuredModels.add(im);
341
						insuredModels.add(im);
-
 
342
						//Check for free insurance code
-
 
343
						try {
-
 
344
							Map<String, List<MobileInsurancePlan>> mobileInsurancePlanMap = insuranceService.getAllPlans(item.getId(), im.getDeviceSellingPrice());
-
 
345
							MobileInsurancePlan mobileInsurancePlan = mobileInsurancePlanMap.entrySet().stream().flatMap(x -> x.getValue().stream())
-
 
346
									.filter(x -> x.getProductId().equals(serialNumberDetail.getInsurance())).findFirst().get();
-
 
347
							LOGGER.info("OneAssist Plan - {}", mobileInsurancePlanMap);
-
 
348
							LOGGER.info("SerialNumber Detqail InsuranceId - {}", serialNumberDetail.getInsurance());
-
 
349
							LOGGER.info("product description - {}", mobileInsurancePlan);
-
 
350
							if (mobileInsurancePlan.getPlanName().equals("OneAssist Damage Protection Plan")) {
-
 
351
								MobileInsurancePlan freePlan = mobileInsurancePlanMap.get("Prolong Extendended Warranty(SmartDukaan Special Price)").get(0);
-
 
352
								InsuranceModel imFree = new InsuranceModel();
-
 
353
								imFree.setBrand(item.getBrand());
-
 
354
								imFree.setColor(item.getColor());
-
 
355
								imFree.setModelName(item.getModelName() + item.getModelNumber());
-
 
356
								imFree.setInsuranceAmount(0);
-
 
357
								imFree.setDeviceSellingPrice(customFofoOrderItem.getSellingPrice());
-
 
358
								imFree.setInsuranceId(freePlan.getProductId());
-
 
359
								imFree.setSerialNumber(serialNumberDetail.getSerialNumber());
-
 
360
								imFree.setMemory(serialNumberDetail.getMemory());
-
 
361
								imFree.setRam(serialNumberDetail.getRam());
-
 
362
								imFree.setMfgDate(serialNumberDetail.getMfgDate());
-
 
363
								insuredModels.add(imFree);
-
 
364
							}
-
 
365
						} catch (Exception e) {
-
 
366
							LOGGER.error("Exception - {}", e);
-
 
367
							throw new ProfitMandiBusinessException("problem fetching plans", "problem fetching plans", "problem fetching plans");
-
 
368
						}
341
					}
369
					}
-
 
370
 
342
				}
371
				}
343
			} else {
372
			} else {
344
				nonSerializedItemIds.add(customFofoOrderItem.getItemId());
373
				nonSerializedItemIds.add(customFofoOrderItem.getItemId());
345
			}
374
			}
346
		}
375
		}
347
 
376
 
348
		Map<Integer, Set<InventoryItem>> serializedInventoryItemMap = new HashMap<>();
377
		Map<Integer, Set<InventoryItem>> serializedInventoryItemMap = new HashMap<>();
349
		Map<Integer, Set<InventoryItem>> nonSerializedInventoryItemMap = new HashMap<>();
378
		Map<Integer, Set<InventoryItem>> nonSerializedInventoryItemMap = new HashMap<>();
350
		// Map<String, Float> serialNumberItemPrice = new HashMap<>();
379
		//Map<String, Float> serialNumberItemPrice = new HashMap<>();
351
 
380
 
352
		if (!serialNumbers.isEmpty()) {
381
		if (!serialNumbers.isEmpty()) {
353
			List<InventoryItem> serializedInventoryItems = inventoryItemRepository.selectByFofoIdSerialNumbers(fofoId,
382
			List<InventoryItem> serializedInventoryItems = inventoryItemRepository.selectByFofoIdSerialNumbers(fofoId,
354
					serialNumbers, false);
383
					serialNumbers, false);
355
			LOGGER.info("serializedInventoryItems {}", serializedInventoryItems);
384
			LOGGER.info("serializedInventoryItems {}", serializedInventoryItems);
Line 518... Line 547...
518
			LOGGER.info("Processing insurane for serialNumbers");
547
			LOGGER.info("Processing insurane for serialNumbers");
519
			LOGGER.info("InsuranceModels {}", insuredModels);
548
			LOGGER.info("InsuranceModels {}", insuredModels);
520
			LocalDate customerDateOfBirth = LocalDate.from(createOrderRequest.getCustomer().getDateOfBirth());
549
			LocalDate customerDateOfBirth = LocalDate.from(createOrderRequest.getCustomer().getDateOfBirth());
521
			fofoOrder.setDateOfBirth(customerDateOfBirth);
550
			fofoOrder.setDateOfBirth(customerDateOfBirth);
522
			for (InsuranceModel insuranceModel : insuredModels) {
551
			for (InsuranceModel insuranceModel : insuredModels) {
-
 
552
				LOGGER.info("Creating insurance for {}", insuranceModel.getInsuranceId());
523
				insuranceService.createInsurance(fofoOrder, insuranceModel);
553
				insuranceService.createInsurance(fofoOrder, insuranceModel);
524
			}
554
			}
525
		}
555
		}
526
		schemeService.processSchemeOut(fofoOrder.getId(), fofoId);
556
		schemeService.processSchemeOut(fofoOrder.getId(), fofoId);
527
 
557