Subversion Repositories SmartDukaan

Rev

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

Rev 26268 Rev 26299
Line 119... Line 119...
119
	@Autowired
119
	@Autowired
120
	private SaholicInventorySnapshotRepository saholicInventorySnapshotRepository;
120
	private SaholicInventorySnapshotRepository saholicInventorySnapshotRepository;
121
 
121
 
122
	@Autowired
122
	@Autowired
123
	private CsService csService;
123
	private CsService csService;
124
	
124
 
125
	@Autowired
125
	@Autowired
126
	private SamsungIMEIActivationService samsungActivationService;
126
	private SamsungIMEIActivationService samsungActivationService;
127
	
127
 
128
	@Autowired
128
	@Autowired
129
	private PrebookingOrderRepository prebookingOrderRepository;
129
	private PrebookingOrderRepository prebookingOrderRepository;
130
 
130
 
131
	@Autowired
131
	@Autowired
132
	private SaholicReservationInventorySnapshotRepository saholicReservationInventorySnapshotRepository;
132
	private SaholicReservationInventorySnapshotRepository saholicReservationInventorySnapshotRepository;
Line 164... Line 164...
164
	@Autowired
164
	@Autowired
165
	private InventoryService inventoryService;
165
	private InventoryService inventoryService;
166
 
166
 
167
	@Autowired
167
	@Autowired
168
	private TransactionService transactionService;
168
	private TransactionService transactionService;
169
	
169
 
170
	@Autowired
170
	@Autowired
171
	private PurchaseService purchaseService;
171
	private PurchaseService purchaseService;
172
 
172
 
173
 
-
 
174
	// Service for Tertiary/Partner Orders
173
	// Service for Tertiary/Partner Orders
175
	@Autowired
174
	@Autowired
176
	private OrderService orderService;
175
	private OrderService orderService;
177
 
176
 
178
	@Autowired
177
	@Autowired
Line 290... Line 289...
290
			}
289
			}
291
		}
290
		}
292
 
291
 
293
	}
292
	}
294
 
293
 
295
	public void fetchImeiActivation( ) throws Exception{
294
	public void fetchImeiActivation() throws Exception {
296
		samsungActivationService.getActivationsBetweenNew(LocalDate.now().minusDays(30), LocalDate.now());
295
		samsungActivationService.getActivationsBetweenNew(LocalDate.now().minusDays(30), LocalDate.now());
297
	}
296
	}
-
 
297
 
298
	public void migarateLineItemsToNewTable() throws Exception {
298
	public void migarateLineItemsToNewTable() throws Exception {
299
		LOGGER.info("Before Migrated LineItems Successfully");
299
		LOGGER.info("Before Migrated LineItems Successfully");
300
		int lineItemImeiId = 0;
300
		int lineItemImeiId = 0;
301
		LocalDateTime startDate = null;
301
		LocalDateTime startDate = null;
302
		try {
302
		try {
Line 717... Line 717...
717
			LOGGER.info("Sent mail to {}", email);
717
			LOGGER.info("Sent mail to {}", email);
718
		}
718
		}
719
		driver.quit();
719
		driver.quit();
720
	}
720
	}
721
 
721
 
722
	//Rollout prebooking orders amount in case the order is grned.
722
	// Rollout prebooking orders amount in case the order is grned.
723
	public void pbfix() throws ProfitMandiBusinessException {
723
	public void pbfix() throws ProfitMandiBusinessException {
724
		List<Item> items = itemRepository.selectAllByCatalogItemId(1022304);
724
		List<Item> items = itemRepository.selectAllByCatalogItemId(1022304);
725
		for(Item item : items) {
725
		for (Item item : items) {
726
			List<InventoryItem> inventoryItems = inventoryItemRepository.selectByItemId(item.getId(), 0, 500);
726
			List<InventoryItem> inventoryItems = inventoryItemRepository.selectByItemId(item.getId(), 0, 500);
727
			for(InventoryItem inventoryItem : inventoryItems) {
727
			for (InventoryItem inventoryItem : inventoryItems) {
728
				List<PrebookingOrder> prebookingOrders = prebookingOrderRepository
728
				List<PrebookingOrder> prebookingOrders = prebookingOrderRepository
729
						.selectByFofoIdAndCatalogIds(inventoryItem.getFofoId(), item.getCatalogItemId())
729
						.selectByFofoIdAndCatalogIds(inventoryItem.getFofoId(), item.getCatalogItemId()).stream()
730
						.stream().collect(Collectors.toList());
730
						.collect(Collectors.toList());
731
				if(prebookingOrders.size() > 0) {
731
				if (prebookingOrders.size() > 0) {
732
						purchaseService.sendPrebookingNotifyMessage(prebookingOrders.get(0));
732
					purchaseService.sendPrebookingNotifyMessage(prebookingOrders.get(0));
733
				}
733
				}
734
				//inventoryItem.getFofoId()
734
				// inventoryItem.getFofoId()
735
			}
735
			}
736
		}
736
		}
737
		//throw new ProfitMandiBusinessException("", "", "");
737
		// throw new ProfitMandiBusinessException("", "", "");
738
		//prebookingOrderRepository.select
738
		// prebookingOrderRepository.select
739
		// TODO Auto-generated method stub
739
		// TODO Auto-generated method stub
740
		
740
 
741
	}
741
	}
742
 
742
 
743
	public void fixGrn()  throws Exception {
743
	public void fixGrn() throws Exception {
744
		List<Purchase> incompletePurchases = purchaseRepository.selectIncompletePurchase();
744
		List<Purchase> incompletePurchases = purchaseRepository.selectIncompletePurchase();
745
		for(Purchase incompletePurchase : incompletePurchases) {
745
		for (Purchase incompletePurchase : incompletePurchases) {
-
 
746
			List<Order> orders = orderRepository.selectByAirwayBillOrInvoiceNumber(
746
			List<Order> orders = orderRepository.selectByAirwayBillOrInvoiceNumber(incompletePurchase.getPurchaseReference(), incompletePurchase.getFofoId());
747
					incompletePurchase.getPurchaseReference(), incompletePurchase.getFofoId());
747
			List<InventoryItem> inventoryItems = inventoryItemRepository.selectByPurchaseId(incompletePurchase.getId());
748
			List<InventoryItem> inventoryItems = inventoryItemRepository.selectByPurchaseId(incompletePurchase.getId());
748
			Map<Integer, Integer> grnedItems = inventoryItems.stream().collect(
749
			Map<Integer, Integer> grnedItems = inventoryItems.stream().collect(
749
					Collectors.groupingBy(x->x.getItemId(), 
-
 
750
					Collectors.summingInt(x->x.getInitialQuantity())));
750
					Collectors.groupingBy(x -> x.getItemId(), Collectors.summingInt(x -> x.getInitialQuantity())));
751
			Map<Integer, Integer> billedItems = orders.stream().collect(
751
			Map<Integer, Integer> billedItems = orders.stream().collect(Collectors.groupingBy(
752
					Collectors.groupingBy(x->x.getLineItem().getItemId(), 
-
 
753
					Collectors.summingInt(x->x.getLineItem().getQuantity())));
752
					x -> x.getLineItem().getItemId(), Collectors.summingInt(x -> x.getLineItem().getQuantity())));
754
			for(Integer billedItemId : billedItems.keySet()) {
753
			for (Integer billedItemId : billedItems.keySet()) {
755
				if(grnedItems.containsKey(billedItemId)) {
754
				if (grnedItems.containsKey(billedItemId)) {
756
					if(grnedItems.get(billedItemId) > billedItems.get(billedItemId)) {
755
					if (grnedItems.get(billedItemId) > billedItems.get(billedItemId)) {
757
						LOGGER.info("Billed Qty {} ---- Grned {}, ItemId {}, Invoice Number {}({}), Grn Date {}", 
756
						LOGGER.info("Billed Qty {} ---- Grned {}, ItemId {}, Invoice Number {}({}), Grn Date {}",
758
								billedItems.get(billedItemId), grnedItems.get(billedItemId), billedItemId, incompletePurchase.getPurchaseReference(), incompletePurchase.getId(), incompletePurchase.getCreateTimestamp());
757
								billedItems.get(billedItemId), grnedItems.get(billedItemId), billedItemId,
-
 
758
								incompletePurchase.getPurchaseReference(), incompletePurchase.getId(),
-
 
759
								incompletePurchase.getCreateTimestamp());
759
						Item item = itemRepository.selectById(billedItemId);
760
						Item item = itemRepository.selectById(billedItemId);
760
						if(item.getType().equals(ItemType.SERIALIZED)) {
761
						if (item.getType().equals(ItemType.SERIALIZED)) {
761
							
762
 
762
						} else {
763
						} else {
763
							for(InventoryItem inventoryItem : inventoryItems) {
764
							for (InventoryItem inventoryItem : inventoryItems) {
764
								if(inventoryItem.getItemId()==billedItemId && inventoryItem.getGoodQuantity()==0) {
765
								if (inventoryItem.getItemId() == billedItemId && inventoryItem.getGoodQuantity() == 0) {
765
									List<ScanRecord> scanRecords = scanRecordRepository.selectByInventoryItemId(inventoryItem.getId());
766
									List<ScanRecord> scanRecords = scanRecordRepository
-
 
767
											.selectByInventoryItemId(inventoryItem.getId());
766
									if(scanRecords.size() == 1 && scanRecords.get(0).getQuantity()==0) {
768
									if (scanRecords.size() == 1 && scanRecords.get(0).getQuantity() == 0) {
767
										LOGGER.info("Safe to remove InventoryItem Id {}", inventoryItem.getId());
769
										LOGGER.info("Safe to remove InventoryItem Id {}", inventoryItem.getId());
768
										scanRecordRepository.delete(scanRecords.get(0));
770
										scanRecordRepository.delete(scanRecords.get(0));
769
										inventoryItemRepository.delete(inventoryItem);
771
										inventoryItemRepository.delete(inventoryItem);
-
 
772
										incompletePurchase.setUnfullfilledNonSerializedQuantity(
770
										incompletePurchase.setUnfullfilledNonSerializedQuantity(incompletePurchase.getUnfullfilledNonSerializedQuantity()+inventoryItem.getInitialQuantity());
773
												incompletePurchase.getUnfullfilledNonSerializedQuantity()
-
 
774
														+ inventoryItem.getInitialQuantity());
771
									}
775
									}
772
								}
776
								}
773
							}
777
							}
774
						}
778
						}
775
					}
779
					}
776
				}
780
				}
777
			}
781
			}
778
			
782
 
779
		}
783
		}
780
		
784
 
781
	}
785
	}
782
 
786
 
783
	public void fixDupGrns() throws Exception {
787
	public void fixDupGrns() throws Exception {
784
		List<Integer> duplicatePurchaseIds = Arrays.asList(11655,13615, 13616, 13617, 13625, 13626, 8227);
788
		List<Integer> duplicatePurchaseIds = Arrays.asList(11655, 13615, 13616, 13617, 13625, 13626, 8227);
785
		for(int duplicatePurchaseId : duplicatePurchaseIds) {
789
		for (int duplicatePurchaseId : duplicatePurchaseIds) {
786
			Purchase purchase = purchaseRepository.selectById(duplicatePurchaseId);
790
			Purchase purchase = purchaseRepository.selectById(duplicatePurchaseId);
787
			List<InventoryItem> inventoryItems = inventoryItemRepository.selectByPurchaseId(duplicatePurchaseId);
791
			List<InventoryItem> inventoryItems = inventoryItemRepository.selectByPurchaseId(duplicatePurchaseId);
788
			if(inventoryItems.size()==0) {
792
			if (inventoryItems.size() == 0) {
789
				LOGGER.info("Could not find InventoryItems for {}", duplicatePurchaseId);
793
				LOGGER.info("Could not find InventoryItems for {}", duplicatePurchaseId);
790
				continue;
794
				continue;
791
			}
795
			}
792
			schemeService.rollbackSchemes(inventoryItems.stream().map(x->x.getId()).collect(Collectors.toList()), duplicatePurchaseId, "Rolled back duplicate grn for Purchase Invoice " + purchase.getPurchaseReference());
796
			schemeService.rollbackSchemes(inventoryItems.stream().map(x -> x.getId()).collect(Collectors.toList()),
-
 
797
					duplicatePurchaseId,
-
 
798
					"Rolled back duplicate grn for Purchase Invoice " + purchase.getPurchaseReference());
793
			for(InventoryItem inventoryItem : inventoryItems) {
799
			for (InventoryItem inventoryItem : inventoryItems) {
794
				inventoryItemRepository.delete(inventoryItem);
800
				inventoryItemRepository.delete(inventoryItem);
795
				List<ScanRecord> scanRecords = scanRecordRepository.selectByInventoryItemId(inventoryItem.getId());
801
				List<ScanRecord> scanRecords = scanRecordRepository.selectByInventoryItemId(inventoryItem.getId());
796
				for(ScanRecord scanRecord : scanRecords) {
802
				for (ScanRecord scanRecord : scanRecords) {
797
					scanRecordRepository.delete(scanRecord);
803
					scanRecordRepository.delete(scanRecord);
798
				}
804
				}
-
 
805
				List<SchemeInOut> sios = schemeInOutRepository
799
				List<SchemeInOut> sios = schemeInOutRepository.selectByInventoryItemIds(new HashSet<>(Arrays.asList(inventoryItem.getId())));
806
						.selectByInventoryItemIds(new HashSet<>(Arrays.asList(inventoryItem.getId())));
800
				for(SchemeInOut sio : sios) {
807
				for (SchemeInOut sio : sios) {
801
					LOGGER.info("SIO - {}", sio);
808
					LOGGER.info("SIO - {}", sio);
802
					schemeInOutRepository.delete(sio);
809
					schemeInOutRepository.delete(sio);
803
				}
810
				}
804
				
811
 
805
			}
812
			}
806
		}
813
		}
807
		//throw new Exception();
814
		// throw new Exception();
808
	}
815
	}
809
}
816
}
810
 
817
 
811
//7015845171
818
//7015845171
812
819