Subversion Repositories SmartDukaan

Rev

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

Rev 24246 Rev 24249
Line 47... Line 47...
47
import com.spice.profitmandi.dao.entity.dtr.RechargeProvider;
47
import com.spice.profitmandi.dao.entity.dtr.RechargeProvider;
48
import com.spice.profitmandi.dao.entity.dtr.RechargeProviderCreditWalletHistory;
48
import com.spice.profitmandi.dao.entity.dtr.RechargeProviderCreditWalletHistory;
49
import com.spice.profitmandi.dao.entity.dtr.RechargeTransaction;
49
import com.spice.profitmandi.dao.entity.dtr.RechargeTransaction;
50
import com.spice.profitmandi.dao.entity.fofo.FofoOrder;
50
import com.spice.profitmandi.dao.entity.fofo.FofoOrder;
51
import com.spice.profitmandi.dao.entity.fofo.FofoStore;
51
import com.spice.profitmandi.dao.entity.fofo.FofoStore;
-
 
52
import com.spice.profitmandi.dao.entity.fofo.InventoryItem;
52
import com.spice.profitmandi.dao.entity.fofo.PartnerTargetDetails;
53
import com.spice.profitmandi.dao.entity.fofo.PartnerTargetDetails;
53
import com.spice.profitmandi.dao.entity.fofo.Purchase;
54
import com.spice.profitmandi.dao.entity.fofo.Purchase;
54
import com.spice.profitmandi.dao.entity.fofo.SaleHeadDetails;
55
import com.spice.profitmandi.dao.entity.fofo.SaleHeadDetails;
55
import com.spice.profitmandi.dao.entity.fofo.ScanRecord;
56
import com.spice.profitmandi.dao.entity.fofo.ScanRecord;
56
import com.spice.profitmandi.dao.entity.fofo.SchemeInOut;
57
import com.spice.profitmandi.dao.entity.fofo.SchemeInOut;
57
import com.spice.profitmandi.dao.entity.transaction.Order;
58
import com.spice.profitmandi.dao.entity.transaction.Order;
58
import com.spice.profitmandi.dao.enumuration.catalog.AmountType;
-
 
59
import com.spice.profitmandi.dao.enumuration.fofo.ScanType;
59
import com.spice.profitmandi.dao.enumuration.fofo.ScanType;
-
 
60
import com.spice.profitmandi.dao.repository.catalog.ItemRepository;
60
import com.spice.profitmandi.dao.repository.catalog.SchemeRepository;
61
import com.spice.profitmandi.dao.repository.catalog.SchemeRepository;
61
import com.spice.profitmandi.dao.repository.dtr.DailyRechargeRepository;
62
import com.spice.profitmandi.dao.repository.dtr.DailyRechargeRepository;
62
import com.spice.profitmandi.dao.repository.dtr.FofoStoreRepository;
63
import com.spice.profitmandi.dao.repository.dtr.FofoStoreRepository;
63
import com.spice.profitmandi.dao.repository.dtr.RechargeProviderCreditWalletHistoryRepository;
64
import com.spice.profitmandi.dao.repository.dtr.RechargeProviderCreditWalletHistoryRepository;
64
import com.spice.profitmandi.dao.repository.dtr.RechargeProviderRepository;
65
import com.spice.profitmandi.dao.repository.dtr.RechargeProviderRepository;
65
import com.spice.profitmandi.dao.repository.dtr.RechargeTransactionRepository;
66
import com.spice.profitmandi.dao.repository.dtr.RechargeTransactionRepository;
66
import com.spice.profitmandi.dao.repository.fofo.FofoOrderRepository;
67
import com.spice.profitmandi.dao.repository.fofo.FofoOrderRepository;
-
 
68
import com.spice.profitmandi.dao.repository.fofo.InventoryItemRepository;
67
import com.spice.profitmandi.dao.repository.fofo.PartnerTargetRepository;
69
import com.spice.profitmandi.dao.repository.fofo.PartnerTargetRepository;
68
import com.spice.profitmandi.dao.repository.fofo.PurchaseRepository;
70
import com.spice.profitmandi.dao.repository.fofo.PurchaseRepository;
69
import com.spice.profitmandi.dao.repository.fofo.ScanRecordRepository;
71
import com.spice.profitmandi.dao.repository.fofo.ScanRecordRepository;
70
import com.spice.profitmandi.dao.repository.fofo.SchemeInOutRepository;
72
import com.spice.profitmandi.dao.repository.fofo.SchemeInOutRepository;
71
import com.spice.profitmandi.dao.repository.transaction.OrderRepository;
73
import com.spice.profitmandi.dao.repository.transaction.OrderRepository;
Line 135... Line 137...
135
	@Autowired
137
	@Autowired
136
	private RechargeProviderCreditWalletHistoryRepository rechargeProviderCreditWalletHistoryRepository;
138
	private RechargeProviderCreditWalletHistoryRepository rechargeProviderCreditWalletHistoryRepository;
137
 
139
 
138
	@Autowired
140
	@Autowired
139
	private FofoOrderRepository fofoOrderRepository;
141
	private FofoOrderRepository fofoOrderRepository;
-
 
142
	
-
 
143
	@Autowired
-
 
144
	private InventoryItemRepository inventoryItemRepository;
140
 
145
 
141
	@Autowired
146
	@Autowired
142
	private WalletService walletService;
147
	private WalletService walletService;
143
 
148
 
144
	@Autowired
149
	@Autowired
Line 168... Line 173...
168
	@Autowired
173
	@Autowired
169
	private RetailerService retailerService;
174
	private RetailerService retailerService;
170
 
175
 
171
	@Autowired
176
	@Autowired
172
	private TransactionService transactionService;
177
	private TransactionService transactionService;
-
 
178
	
-
 
179
	@Autowired
-
 
180
	private ItemRepository itemRepository;
173
 
181
 
174
	@Autowired
182
	@Autowired
175
	private OrderRepository orderRepository;
183
	private OrderRepository orderRepository;
176
 
184
 
177
	@Autowired
185
	@Autowired
Line 329... Line 337...
329
 
337
 
330
	// Temporary Method
338
	// Temporary Method
331
	public void evaluateExcessSchemeOut() {
339
	public void evaluateExcessSchemeOut() {
332
		Map<Integer, String> userNameMap = retailerService.getAllFofoRetailerIdNameMap();
340
		Map<Integer, String> userNameMap = retailerService.getAllFofoRetailerIdNameMap();
333
		Map<Integer, Float> userAmountMap = new HashMap<>();
341
		Map<Integer, Float> userAmountMap = new HashMap<>();
-
 
342
		LOGGER.info("{}\t{}\t{}\t{}",
-
 
343
				"Scheme Id", "Item Id", "Item", "Partner",  "Amount", "Credited On", "Sale On", "Scheme", "Start","End","Active On", "Expired On");
334
		schemeRepository.selectAll().stream().forEach(x -> {
344
		schemeRepository.selectAll().stream().forEach(x -> {
335
			List<SchemeInOut> sioList = schemeInOutRepository
345
			List<SchemeInOut> sioList = schemeInOutRepository
336
					.selectBySchemeIds(new HashSet<>(Arrays.asList(x.getId())));
346
					.selectBySchemeIds(new HashSet<>(Arrays.asList(x.getId())));
337
			if (x.getActiveTimestamp() != null) {
347
			if (x.getActiveTimestamp() != null) {
338
				LocalDateTime endDateTime = x.getEndDateTime();
348
				LocalDateTime endDateTime = x.getEndDateTime();
339
				if (x.getExpireTimestamp() != null && x.getExpireTimestamp().isBefore(x.getEndDateTime())) {
349
				if (x.getExpireTimestamp() != null && x.getExpireTimestamp().isBefore(x.getEndDateTime())) {
340
					endDateTime = x.getExpireTimestamp();
350
					endDateTime = x.getExpireTimestamp();
341
				}
351
				}
342
				for (SchemeInOut sio : sioList) {
352
				for (SchemeInOut sio : sioList) {
-
 
353
					InventoryItem inventoryItem =null;
-
 
354
					try {
-
 
355
						inventoryItem = inventoryItemRepository.selectById(sio.getInventoryItemId());
-
 
356
					} catch (ProfitMandiBusinessException e) {
-
 
357
						// TODO Auto-generated catch block
-
 
358
						e.printStackTrace();
-
 
359
					}
343
					Optional<ScanRecord> record = scanRecordRepository.selectByInventoryItemId(sio.getInventoryItemId())
360
					Optional<ScanRecord> record = scanRecordRepository.selectByInventoryItemId(sio.getInventoryItemId())
344
							.stream().filter(y -> y.getType().equals(ScanType.SALE)).findFirst();
361
							.stream().filter(y -> y.getType().equals(ScanType.SALE)).findFirst();
345
					if (record.isPresent()) {
362
					if (record.isPresent()) {
346
						int fofoId = record.get().getFofoId();
363
						int fofoId = record.get().getFofoId();
347
						if (record.get().getCreateTimestamp().isAfter(endDateTime)
364
						if (record.get().getCreateTimestamp().isAfter(endDateTime)
348
								|| record.get().getCreateTimestamp().isBefore(x.getStartDateTime())) {
365
								|| record.get().getCreateTimestamp().isBefore(x.getStartDateTime())) {
349
							if (!userAmountMap.containsKey(fofoId)) {
366
							if (!userAmountMap.containsKey(fofoId)) {
350
								userAmountMap.put(fofoId, 0f);
367
								userAmountMap.put(fofoId, 0f);
351
							}
368
							}
352
							userAmountMap.put(fofoId, sio.getAmount() + userAmountMap.get(fofoId));
369
							userAmountMap.put(fofoId, sio.getAmount() + userAmountMap.get(fofoId));
353
							LOGGER.info("Scheme disbursed to user {} for inventoryItem {} and scheme {} for amount {}",
370
							/*LOGGER.info("Scheme disbursed to user {} for inventoryItem {} and scheme {} for amount {}",
354
									userNameMap.get(fofoId), sio.getInventoryItemId(), sio.getSchemeId(),
371
									userNameMap.get(fofoId), sio.getInventoryItemId(), sio.getSchemeId(),
355
									sio.getAmount());
372
									sio.getAmount());*/
-
 
373
							try {
-
 
374
							LOGGER.info("{}\t{}\t{}\t{}\t{}\t{}\t{}",
-
 
375
									x.getDescription(), itemRepository.selectById(inventoryItem.getItemId()).getItemDescription(), userNameMap.get(fofoId),
-
 
376
									sio.getAmount(), sio.getCreateTimestamp(), record.get().getCreateTimestamp(), x.getStartDateTime(), x.getEndDateTime(), x.getActiveTimestamp(), x.getExpireTimestamp());
-
 
377
							}catch (Exception e) {
-
 
378
								e.printStackTrace();
-
 
379
							}
356
						}
380
						}
357
					}
381
					}
358
				}
382
				}
359
			}
383
			}
360
		});
384
		});