Subversion Repositories SmartDukaan

Rev

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

Rev 24801 Rev 24802
Line 24... Line 24...
24
import com.spice.profitmandi.dao.entity.fofo.Purchase;
24
import com.spice.profitmandi.dao.entity.fofo.Purchase;
25
import com.spice.profitmandi.dao.entity.fofo.ScanRecord;
25
import com.spice.profitmandi.dao.entity.fofo.ScanRecord;
26
import com.spice.profitmandi.dao.entity.transaction.LineItem;
26
import com.spice.profitmandi.dao.entity.transaction.LineItem;
27
import com.spice.profitmandi.dao.entity.transaction.LineItemImei;
27
import com.spice.profitmandi.dao.entity.transaction.LineItemImei;
28
import com.spice.profitmandi.dao.entity.transaction.Order;
28
import com.spice.profitmandi.dao.entity.transaction.Order;
-
 
29
import com.spice.profitmandi.dao.entity.transaction.SellerWarehouse;
29
import com.spice.profitmandi.dao.enumuration.fofo.ScanType;
30
import com.spice.profitmandi.dao.enumuration.fofo.ScanType;
30
import com.spice.profitmandi.dao.repository.GenericRepository;
31
import com.spice.profitmandi.dao.repository.GenericRepository;
31
import com.spice.profitmandi.dao.repository.dtr.FofoStoreRepository;
32
import com.spice.profitmandi.dao.repository.dtr.FofoStoreRepository;
32
import com.spice.profitmandi.dao.repository.fofo.CurrentInventorySnapshotRepository;
33
import com.spice.profitmandi.dao.repository.fofo.CurrentInventorySnapshotRepository;
33
import com.spice.profitmandi.dao.repository.fofo.DebitNoteRepository;
34
import com.spice.profitmandi.dao.repository.fofo.DebitNoteRepository;
Line 37... Line 38...
37
import com.spice.profitmandi.dao.repository.fofo.SchemeInOutRepository;
38
import com.spice.profitmandi.dao.repository.fofo.SchemeInOutRepository;
38
import com.spice.profitmandi.dao.repository.transaction.LineItemImeisRepository;
39
import com.spice.profitmandi.dao.repository.transaction.LineItemImeisRepository;
39
import com.spice.profitmandi.dao.repository.transaction.LineItemRepository;
40
import com.spice.profitmandi.dao.repository.transaction.LineItemRepository;
40
import com.spice.profitmandi.dao.repository.transaction.OrderRepository;
41
import com.spice.profitmandi.dao.repository.transaction.OrderRepository;
41
import com.spice.profitmandi.dao.repository.transaction.ReturnOrderRepository;
42
import com.spice.profitmandi.dao.repository.transaction.ReturnOrderRepository;
-
 
43
import com.spice.profitmandi.dao.repository.transaction.SellerWarehouseRepository;
42
import com.spice.profitmandi.dao.repository.transaction.UserWalletHistoryRepository;
44
import com.spice.profitmandi.dao.repository.transaction.UserWalletHistoryRepository;
43
import com.spice.profitmandi.dao.repository.transaction.UserWalletRepository;
45
import com.spice.profitmandi.dao.repository.transaction.UserWalletRepository;
44
import com.spice.profitmandi.dao.repository.user.UserRepository;
46
import com.spice.profitmandi.dao.repository.user.UserRepository;
45
import com.spice.profitmandi.service.inventory.InventoryService;
47
import com.spice.profitmandi.service.inventory.InventoryService;
46
import com.spice.profitmandi.service.order.OrderService;
48
import com.spice.profitmandi.service.order.OrderService;
Line 60... Line 62...
60
 
62
 
61
	@Autowired
63
	@Autowired
62
	private LineItemRepository lineItemRepository;
64
	private LineItemRepository lineItemRepository;
63
 
65
 
64
	@Autowired
66
	@Autowired
-
 
67
	private SellerWarehouseRepository sellerWarehouseRepository;
-
 
68
	
-
 
69
	@Autowired
65
	private UserWalletRepository userWalletRepository;
70
	private UserWalletRepository userWalletRepository;
66
 
71
 
67
	@Autowired
72
	@Autowired
68
	private UserWalletHistoryRepository userWalletHistoryRepository;
73
	private UserWalletHistoryRepository userWalletHistoryRepository;
69
 
74
 
Line 280... Line 285...
280
			}
285
			}
281
		}
286
		}
282
		// throw new Exception();
287
		// throw new Exception();
283
	}
288
	}
284
 
289
 
285
	public void migrateChallansToInvoices() {
290
	public void migrateChallansToInvoices() throws Exception {
286
		Map<String, List<Order>> invoiceOrdersMap = orderRepository.selectAllChallans().stream().filter(x->!x.getLineItem().getHsnCode().equals("NOGST"))
291
		Map<String, List<Order>> invoiceOrdersMap = orderRepository.selectAllChallans().stream().filter(x->!x.getLineItem().getHsnCode().equals("NOGST"))
287
				.collect(Collectors.groupingBy(Order::getInvoiceNumber, Collectors.toList()));
292
				.collect(Collectors.groupingBy(Order::getInvoiceNumber, Collectors.toList()));
288
		
293
		
289
		for(String invoice : invoiceOrdersMap.keySet()) {
294
		for(String invoice : invoiceOrdersMap.keySet()) {
290
			Order oneOrder = invoiceOrdersMap.get(invoice).get(0);
295
			Order oneOrder = invoiceOrdersMap.get(invoice).get(0);
291
			int totalOrders = invoiceOrdersMap.get(invoice).size();
296
			int totalOrders = invoiceOrdersMap.get(invoice).size();
292
			LineItem lineItem = oneOrder.getLineItem();
297
			LineItem lineItem = oneOrder.getLineItem();
293
			LOGGER.info("Total Orders {}, Challan No {}, Product Name {} {} {}, hsnCode {}", 
298
			LOGGER.info("Total Orders {}, Challan No {}, Product Name {} {} {}, hsnCode {}", 
294
					totalOrders, oneOrder.getInvoiceNumber(), lineItem.getBrand(), lineItem.getModelNumber(), lineItem.getModelName(), lineItem.getHsnCode());
299
					totalOrders, oneOrder.getInvoiceNumber(), lineItem.getBrand(), lineItem.getModelNumber(), lineItem.getModelName(), lineItem.getHsnCode());
-
 
300
			
-
 
301
			oneOrder.setBillingTimestamp(LocalDateTime.now());
-
 
302
			oneOrder.setInvoiceNumber(getInvoiceNumber(oneOrder));
-
 
303
			System.out.println(oneOrder.getInvoiceNumber());
295
		}
304
		}
-
 
305
		throw new Exception();
-
 
306
	}
-
 
307
 
-
 
308
	private String getInvoiceNumber(Order oneOrder) {
-
 
309
		String prefix = oneOrder.getInvoiceNumber().split("-")[1].replaceFirst("/d+", "");
-
 
310
		SellerWarehouse sellerWarehouse = sellerWarehouseRepository.selectByPrefix(prefix);
-
 
311
		int newSequence = sellerWarehouse.getInvoiceSequence() + 1;
-
 
312
		sellerWarehouse.setInvoiceSequence(newSequence);
-
 
313
		return prefix+newSequence;
296
	}
314
	}
297
 
315
 
298
}
316
}
299
317