Subversion Repositories SmartDukaan

Rev

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

Rev 24813 Rev 24814
Line 68... Line 68...
68
	@Autowired
68
	@Autowired
69
	private LineItemRepository lineItemRepository;
69
	private LineItemRepository lineItemRepository;
70
 
70
 
71
	@Autowired
71
	@Autowired
72
	private SellerWarehouseRepository sellerWarehouseRepository;
72
	private SellerWarehouseRepository sellerWarehouseRepository;
73
	
73
 
74
	@Autowired
74
	@Autowired
75
	private FofoOrderItemRepository fofoOrderItemRepository;
75
	private FofoOrderItemRepository fofoOrderItemRepository;
76
	
76
 
77
	@Autowired
77
	@Autowired
78
	private FofoOrderRepository fofoOrderRepository;
78
	private FofoOrderRepository fofoOrderRepository;
79
	
79
 
80
	@Autowired
80
	@Autowired
81
	private UserWalletRepository userWalletRepository;
81
	private UserWalletRepository userWalletRepository;
82
 
82
 
83
	@Autowired
83
	@Autowired
84
	private UserWalletHistoryRepository userWalletHistoryRepository;
84
	private UserWalletHistoryRepository userWalletHistoryRepository;
Line 108... Line 108...
108
	@Autowired
108
	@Autowired
109
	private LineItemImeisRepository lineItemImeisRepository;
109
	private LineItemImeisRepository lineItemImeisRepository;
110
 
110
 
111
	@Autowired
111
	@Autowired
112
	private InventoryItemRepository inventoryItemRepository;
112
	private InventoryItemRepository inventoryItemRepository;
113
	
113
 
114
	@Autowired
114
	@Autowired
115
	private InvoiceNumberGenerationSequenceRepository invoiceNumberGenerationSequenceRepository;
115
	private InvoiceNumberGenerationSequenceRepository invoiceNumberGenerationSequenceRepository;
116
 
116
 
117
	@Autowired
117
	@Autowired
118
	private RetailerService retailerService;
118
	private RetailerService retailerService;
Line 300... Line 300...
300
		}
300
		}
301
		// throw new Exception();
301
		// throw new Exception();
302
	}
302
	}
303
 
303
 
304
	public void migrateChallansToInvoices() throws Exception {
304
	public void migrateChallansToInvoices() throws Exception {
305
		Map<String, List<Order>> invoiceOrdersMap = orderRepository.selectAllChallans().stream().filter(x->!x.getLineItem().getHsnCode().equals("NOGST"))
305
		Map<String, List<Order>> invoiceOrdersMap = orderRepository.selectAllChallans().stream()
-
 
306
				.filter(x -> !x.getLineItem().getHsnCode().equals("NOGST"))
306
				.collect(Collectors.groupingBy(Order::getInvoiceNumber, Collectors.toList()));
307
				.collect(Collectors.groupingBy(Order::getInvoiceNumber, Collectors.toList()));
307
		
308
 
308
		for(String invoice : invoiceOrdersMap.keySet()) {
309
		for (String invoice : invoiceOrdersMap.keySet()) {
309
			Order oneOrder = invoiceOrdersMap.get(invoice).get(0);
310
			Order oneOrder = invoiceOrdersMap.get(invoice).get(0);
310
			int totalOrders = invoiceOrdersMap.get(invoice).size();
311
			int totalOrders = invoiceOrdersMap.get(invoice).size();
311
			LineItem lineItem = oneOrder.getLineItem();
312
			LineItem lineItem = oneOrder.getLineItem();
312
			oneOrder.setBillingTimestamp(LocalDateTime.now());
313
			oneOrder.setBillingTimestamp(LocalDateTime.now());
313
			oneOrder.setInvoiceNumber(getInvoiceNumber(oneOrder));
314
			oneOrder.setInvoiceNumber(getInvoiceNumber(oneOrder));
314
			LOGGER.info(invoice + "\t"+ oneOrder.getInvoiceNumber());
315
			LOGGER.info(invoice + "\t" + oneOrder.getInvoiceNumber());
-
 
316
			Purchase p = null;
315
			
317
			try {
316
			Purchase p = purchaseRepository.selectByPurchaseReferenceAndFofoId(invoice, oneOrder.getRetailerId());
318
				p = purchaseRepository.selectByPurchaseReferenceAndFofoId(invoice, oneOrder.getRetailerId());
-
 
319
			} catch (Exception e) {
-
 
320
				LOGGER.info("Could not find purchase for invoice {}", p.getPurchaseReference());
-
 
321
			}
-
 
322
			if (p != null) {
317
			List<InventoryItem> inventoryItems = inventoryItemRepository.selectByPurchaseId(p.getId());
323
				List<InventoryItem> inventoryItems = inventoryItemRepository.selectByPurchaseId(p.getId());
318
			for(InventoryItem inventoryItem: inventoryItems) {
324
				for (InventoryItem inventoryItem : inventoryItems) {
319
				LOGGER.info(inventoryItem.getItemId() +  " " + inventoryItem.getGoodQuantity() +  inventoryItem.getHsnCode());
325
					LOGGER.info(inventoryItem.getItemId() + " " + inventoryItem.getGoodQuantity()
-
 
326
							+ inventoryItem.getHsnCode());
-
 
327
				}
320
			}
328
			}
321
			
329
 
322
		}
330
		}
323
		changePartnerInvoices();
331
		//changePartnerInvoices();
324
		throw new Exception();
332
		throw new Exception();
325
	}
333
	}
326
 
334
 
327
	private String getInvoiceNumber(Order oneOrder) {
335
	private String getInvoiceNumber(Order oneOrder) {
328
		String prefix = oneOrder.getInvoiceNumber().split("-")[1].replaceAll("\\d*", "");
336
		String prefix = oneOrder.getInvoiceNumber().split("-")[1].replaceAll("\\d*", "");
329
		System.out.println("Prefix is " + prefix);
337
		System.out.println("Prefix is " + prefix);
330
		SellerWarehouse sellerWarehouse = sellerWarehouseRepository.selectByPrefix(prefix);
338
		SellerWarehouse sellerWarehouse = sellerWarehouseRepository.selectByPrefix(prefix);
331
		int newSequence = sellerWarehouse.getInvoiceSequence() + 1;
339
		int newSequence = sellerWarehouse.getInvoiceSequence() + 1;
332
		sellerWarehouse.setInvoiceSequence(newSequence);
340
		sellerWarehouse.setInvoiceSequence(newSequence);
333
		return prefix+newSequence;
341
		return prefix + newSequence;
334
	}
342
	}
335
	
343
 
336
	private void changePartnerInvoices() throws Exception {
344
	private void changePartnerInvoices() throws Exception {
337
		List<FofoOrder> fofoOrders  = fofoOrderRepository.selectByInvoiceNumberLike("%SEC%");
345
		List<FofoOrder> fofoOrders = fofoOrderRepository.selectByInvoiceNumberLike("%SEC%");
338
		for(FofoOrder fofoOrder: fofoOrders) {
346
		for (FofoOrder fofoOrder : fofoOrders) {
339
			FofoOrderItem fofoOrderItem = fofoOrderItemRepository.selectByOrderId(fofoOrder.getId()).get(0);
347
			FofoOrderItem fofoOrderItem = fofoOrderItemRepository.selectByOrderId(fofoOrder.getId()).get(0);
340
			if(fofoOrderItem.getBrand().equals("Vivo")) {
348
			if (fofoOrderItem.getBrand().equals("Vivo")) {
341
				String challanString = fofoOrder.getInvoiceNumber();
349
				String challanString = fofoOrder.getInvoiceNumber();
342
				String storeCode = invoiceNumberGenerationSequenceRepository.selectByFofoId(fofoOrder.getFofoId()).getPrefix();
350
				String storeCode = invoiceNumberGenerationSequenceRepository.selectByFofoId(fofoOrder.getFofoId())
-
 
351
						.getPrefix();
343
				String invoiceNumber = orderService.getInvoiceNumber(fofoOrder.getFofoId(), storeCode);
352
				String invoiceNumber = orderService.getInvoiceNumber(fofoOrder.getFofoId(), storeCode);
344
				fofoOrder.setInvoiceNumber(invoiceNumber);
353
				fofoOrder.setInvoiceNumber(invoiceNumber);
345
				fofoOrder.setCreateTimestamp(LocalDateTime.now());
354
				fofoOrder.setCreateTimestamp(LocalDateTime.now());
346
				LOGGER.info(challanString + "\t" + invoiceNumber);
355
				LOGGER.info(challanString + "\t" + invoiceNumber);
347
			}
356
			}
348
			
357
 
349
		}
358
		}
350
	}
359
	}
351
	
-
 
352
	
-
 
353
 
360
 
354
}
361
}
355
362