Subversion Repositories SmartDukaan

Rev

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

Rev 24805 Rev 24806
Line 1... Line 1...
1
package com.smartdukaan.cron.migrations;
1
package com.smartdukaan.cron.migrations;
2
 
2
 
3
import java.time.LocalDate;
3
import java.time.LocalDate;
4
import java.time.LocalDateTime;
4
import java.time.LocalDateTime;
5
import java.time.LocalTime;
5
import java.time.LocalTime;
-
 
6
import java.util.ArrayList;
6
import java.util.Arrays;
7
import java.util.Arrays;
7
import java.util.Collections;
8
import java.util.Collections;
8
import java.util.HashMap;
9
import java.util.HashMap;
9
import java.util.HashSet;
10
import java.util.HashSet;
10
import java.util.List;
11
import java.util.List;
Line 18... Line 19...
18
import org.springframework.mail.javamail.JavaMailSender;
19
import org.springframework.mail.javamail.JavaMailSender;
19
import org.springframework.stereotype.Component;
20
import org.springframework.stereotype.Component;
20
import org.springframework.transaction.annotation.Transactional;
21
import org.springframework.transaction.annotation.Transactional;
21
 
22
 
22
import com.spice.profitmandi.dao.entity.fofo.CurrentInventorySnapshot;
23
import com.spice.profitmandi.dao.entity.fofo.CurrentInventorySnapshot;
-
 
24
import com.spice.profitmandi.dao.entity.fofo.FofoOrder;
-
 
25
import com.spice.profitmandi.dao.entity.fofo.FofoOrderItem;
23
import com.spice.profitmandi.dao.entity.fofo.InventoryItem;
26
import com.spice.profitmandi.dao.entity.fofo.InventoryItem;
24
import com.spice.profitmandi.dao.entity.fofo.Purchase;
27
import com.spice.profitmandi.dao.entity.fofo.Purchase;
25
import com.spice.profitmandi.dao.entity.fofo.ScanRecord;
28
import com.spice.profitmandi.dao.entity.fofo.ScanRecord;
26
import com.spice.profitmandi.dao.entity.transaction.LineItem;
29
import com.spice.profitmandi.dao.entity.transaction.LineItem;
27
import com.spice.profitmandi.dao.entity.transaction.LineItemImei;
30
import com.spice.profitmandi.dao.entity.transaction.LineItemImei;
Line 30... Line 33...
30
import com.spice.profitmandi.dao.enumuration.fofo.ScanType;
33
import com.spice.profitmandi.dao.enumuration.fofo.ScanType;
31
import com.spice.profitmandi.dao.repository.GenericRepository;
34
import com.spice.profitmandi.dao.repository.GenericRepository;
32
import com.spice.profitmandi.dao.repository.dtr.FofoStoreRepository;
35
import com.spice.profitmandi.dao.repository.dtr.FofoStoreRepository;
33
import com.spice.profitmandi.dao.repository.fofo.CurrentInventorySnapshotRepository;
36
import com.spice.profitmandi.dao.repository.fofo.CurrentInventorySnapshotRepository;
34
import com.spice.profitmandi.dao.repository.fofo.DebitNoteRepository;
37
import com.spice.profitmandi.dao.repository.fofo.DebitNoteRepository;
-
 
38
import com.spice.profitmandi.dao.repository.fofo.FofoOrderItemRepository;
-
 
39
import com.spice.profitmandi.dao.repository.fofo.FofoOrderRepository;
35
import com.spice.profitmandi.dao.repository.fofo.InventoryItemRepository;
40
import com.spice.profitmandi.dao.repository.fofo.InventoryItemRepository;
-
 
41
import com.spice.profitmandi.dao.repository.fofo.InvoiceNumberGenerationSequenceRepository;
36
import com.spice.profitmandi.dao.repository.fofo.PurchaseRepository;
42
import com.spice.profitmandi.dao.repository.fofo.PurchaseRepository;
37
import com.spice.profitmandi.dao.repository.fofo.ScanRecordRepository;
43
import com.spice.profitmandi.dao.repository.fofo.ScanRecordRepository;
38
import com.spice.profitmandi.dao.repository.fofo.SchemeInOutRepository;
44
import com.spice.profitmandi.dao.repository.fofo.SchemeInOutRepository;
39
import com.spice.profitmandi.dao.repository.transaction.LineItemImeisRepository;
45
import com.spice.profitmandi.dao.repository.transaction.LineItemImeisRepository;
40
import com.spice.profitmandi.dao.repository.transaction.LineItemRepository;
46
import com.spice.profitmandi.dao.repository.transaction.LineItemRepository;
Line 65... Line 71...
65
 
71
 
66
	@Autowired
72
	@Autowired
67
	private SellerWarehouseRepository sellerWarehouseRepository;
73
	private SellerWarehouseRepository sellerWarehouseRepository;
68
	
74
	
69
	@Autowired
75
	@Autowired
-
 
76
	private FofoOrderItemRepository fofoOrderItemRepository;
-
 
77
	
-
 
78
	@Autowired
-
 
79
	private FofoOrderRepository fofoOrderRepository;
-
 
80
	
-
 
81
	@Autowired
70
	private UserWalletRepository userWalletRepository;
82
	private UserWalletRepository userWalletRepository;
71
 
83
 
72
	@Autowired
84
	@Autowired
73
	private UserWalletHistoryRepository userWalletHistoryRepository;
85
	private UserWalletHistoryRepository userWalletHistoryRepository;
74
 
86
 
Line 97... Line 109...
97
	@Autowired
109
	@Autowired
98
	private LineItemImeisRepository lineItemImeisRepository;
110
	private LineItemImeisRepository lineItemImeisRepository;
99
 
111
 
100
	@Autowired
112
	@Autowired
101
	private InventoryItemRepository inventoryItemRepository;
113
	private InventoryItemRepository inventoryItemRepository;
-
 
114
	
-
 
115
	@Autowired
-
 
116
	private InvoiceNumberGenerationSequenceRepository invoiceNumberGenerationSequenceRepository;
102
 
117
 
103
	@Autowired
118
	@Autowired
104
	private RetailerService retailerService;
119
	private RetailerService retailerService;
105
 
120
 
106
	@Autowired
121
	@Autowired
Line 293... Line 308...
293
		
308
		
294
		for(String invoice : invoiceOrdersMap.keySet()) {
309
		for(String invoice : invoiceOrdersMap.keySet()) {
295
			Order oneOrder = invoiceOrdersMap.get(invoice).get(0);
310
			Order oneOrder = invoiceOrdersMap.get(invoice).get(0);
296
			int totalOrders = invoiceOrdersMap.get(invoice).size();
311
			int totalOrders = invoiceOrdersMap.get(invoice).size();
297
			LineItem lineItem = oneOrder.getLineItem();
312
			LineItem lineItem = oneOrder.getLineItem();
298
			LOGGER.info("Total Orders {}, Challan No {}, Product Name {} {} {}, hsnCode {}", 
-
 
299
					totalOrders, oneOrder.getInvoiceNumber(), lineItem.getBrand(), lineItem.getModelNumber(), lineItem.getModelName(), lineItem.getHsnCode());
313
					totalOrders, oneOrder.getInvoiceNumber(), lineItem.getBrand(), lineItem.getModelNumber(), lineItem.getModelName(), lineItem.getHsnCode());
300
			
314
			
301
			oneOrder.setBillingTimestamp(LocalDateTime.now());
315
			oneOrder.setBillingTimestamp(LocalDateTime.now());
302
			oneOrder.setInvoiceNumber(getInvoiceNumber(oneOrder));
316
			oneOrder.setInvoiceNumber(getInvoiceNumber(oneOrder));
303
			System.out.println(oneOrder.getInvoiceNumber());
317
			System.out.println(invoice + "\t"+ oneOrder.getInvoiceNumber());
-
 
318
			changePartnerInvoices();
304
		}
319
		}
305
		throw new Exception();
320
		throw new Exception();
306
	}
321
	}
307
 
322
 
308
	private String getInvoiceNumber(Order oneOrder) {
323
	private String getInvoiceNumber(Order oneOrder) {
Line 311... Line 326...
311
		SellerWarehouse sellerWarehouse = sellerWarehouseRepository.selectByPrefix(prefix);
326
		SellerWarehouse sellerWarehouse = sellerWarehouseRepository.selectByPrefix(prefix);
312
		int newSequence = sellerWarehouse.getInvoiceSequence() + 1;
327
		int newSequence = sellerWarehouse.getInvoiceSequence() + 1;
313
		sellerWarehouse.setInvoiceSequence(newSequence);
328
		sellerWarehouse.setInvoiceSequence(newSequence);
314
		return prefix+newSequence;
329
		return prefix+newSequence;
315
	}
330
	}
-
 
331
	
-
 
332
	private void changePartnerInvoices() throws Exception {
-
 
333
		List<FofoOrder> fofoOrders  = fofoOrderRepository.selectByInvoiceNumberLike("%SEC%");
-
 
334
		for(FofoOrder fofoOrder: fofoOrders) {
-
 
335
			FofoOrderItem fofoOrderItem = fofoOrderItemRepository.selectByOrderId(fofoOrder.getId()).get(0);
-
 
336
			if(fofoOrderItem.getBrand().equals("Vivo")) {
-
 
337
				String challanString = fofoOrder.getInvoiceNumber();
-
 
338
				String storeCode = invoiceNumberGenerationSequenceRepository.selectByFofoId(fofoOrder.getFofoId()).getPrefix();
-
 
339
				String invoiceNumber = orderService.getInvoiceNumber(fofoOrder.getFofoId(), storeCode);
-
 
340
				fofoOrder.setInvoiceNumber(invoiceNumber);
-
 
341
				fofoOrder.setCreateTimestamp(LocalDateTime.now());
-
 
342
				LOGGER.info(challanString + "\t" + invoiceNumber);
-
 
343
			}
-
 
344
			
-
 
345
		}
-
 
346
	}
-
 
347
	
-
 
348
	
316
 
349
 
317
}
350
}
318
351