Subversion Repositories SmartDukaan

Rev

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

Rev 25043 Rev 25046
Line 40... Line 40...
40
import com.spice.profitmandi.dao.entity.inventory.SaholicInventorySnapshot;
40
import com.spice.profitmandi.dao.entity.inventory.SaholicInventorySnapshot;
41
import com.spice.profitmandi.dao.entity.transaction.LineItem;
41
import com.spice.profitmandi.dao.entity.transaction.LineItem;
42
import com.spice.profitmandi.dao.entity.transaction.LineItemImei;
42
import com.spice.profitmandi.dao.entity.transaction.LineItemImei;
43
import com.spice.profitmandi.dao.entity.transaction.Order;
43
import com.spice.profitmandi.dao.entity.transaction.Order;
44
import com.spice.profitmandi.dao.entity.transaction.SellerWarehouse;
44
import com.spice.profitmandi.dao.entity.transaction.SellerWarehouse;
-
 
45
import com.spice.profitmandi.dao.entity.transaction.UserWallet;
45
import com.spice.profitmandi.dao.entity.transaction.UserWalletHistory;
46
import com.spice.profitmandi.dao.entity.transaction.UserWalletHistory;
46
import com.spice.profitmandi.dao.enumuration.catalog.AmountType;
47
import com.spice.profitmandi.dao.enumuration.catalog.AmountType;
47
import com.spice.profitmandi.dao.enumuration.catalog.SchemeType;
48
import com.spice.profitmandi.dao.enumuration.catalog.SchemeType;
48
import com.spice.profitmandi.dao.repository.GenericRepository;
49
import com.spice.profitmandi.dao.repository.GenericRepository;
49
import com.spice.profitmandi.dao.repository.catalog.ItemRepository;
50
import com.spice.profitmandi.dao.repository.catalog.ItemRepository;
Line 612... Line 613...
612
		List<SchemeInOut> sios = schemeInOutRepository.selectAllByCreateDate(startDate, startDate.plusDays(15));
613
		List<SchemeInOut> sios = schemeInOutRepository.selectAllByCreateDate(startDate, startDate.plusDays(15));
613
 
614
 
614
		for (SchemeInOut sio : sios) {
615
		for (SchemeInOut sio : sios) {
615
			genericRepository.delete(sio);
616
			genericRepository.delete(sio);
616
			InventoryItem ii = inventoryItemRepository.selectById(sio.getInventoryItemId());
617
			InventoryItem ii = inventoryItemRepository.selectById(sio.getInventoryItemId());
-
 
618
			UserWallet userWallet = userWalletRepository.selectById(ii.getFofoId());
617
			Scheme scheme = schemeRepository.selectById(sio.getSchemeId());
619
			Scheme scheme = schemeRepository.selectById(sio.getSchemeId());
618
			if (scheme.getType().equals(SchemeType.IN)) {
620
			if (scheme.getType().equals(SchemeType.IN)) {
619
				Purchase purchase = purchaseRepository.selectByIdAndFofoId(ii.getPurchaseId(), ii.getFofoId());
-
 
620
				List<UserWalletHistory> historyList = userWalletHistoryRepository
621
				List<UserWalletHistory> historyList = userWalletHistoryRepository
621
						.selectAllByreferenceIdandreferenceType(purchase.getId(), WalletReferenceType.SCHEME_IN);
622
						.selectAllByreferenceIdandreferenceType(ii.getPurchaseId(), WalletReferenceType.SCHEME_IN);
622
				for (UserWalletHistory uwh : historyList) {
623
				for (UserWalletHistory uwh : historyList) {
623
					if(uwh.getTimestamp().isAfter(startDate)) {
624
					if(uwh.getTimestamp().isAfter(startDate)) {
624
						genericRepository.delete(uwh);
625
						genericRepository.delete(uwh);
-
 
626
						userWallet.setAmount(userWallet.getAmount() - uwh.getAmount());
625
					}
627
					}
626
				}
628
				}
627
			} else {
629
			} else {
628
				List<ScanRecord> scanRecords = scanRecordRepository.selectByInventoryItemId(ii.getId());
630
				List<ScanRecord> scanRecords = scanRecordRepository.selectByInventoryItemId(ii.getId());
629
				int orderId = scanRecords.get(0).getOrderId();
631
				int orderId = scanRecords.get(0).getOrderId();
630
				List<UserWalletHistory> historyList = userWalletHistoryRepository
632
				List<UserWalletHistory> historyList = userWalletHistoryRepository
631
						.selectAllByreferenceIdandreferenceType(orderId, WalletReferenceType.SCHEME_OUT);
633
						.selectAllByreferenceIdandreferenceType(orderId, WalletReferenceType.SCHEME_OUT);
632
				for (UserWalletHistory uwh : historyList) {
634
				for (UserWalletHistory uwh : historyList) {
633
					if(uwh.getTimestamp().isAfter(startDate)) {
635
					if(uwh.getTimestamp().isAfter(startDate)) {
-
 
636
						userWallet.setAmount(userWallet.getAmount() - uwh.getAmount());
634
						genericRepository.delete(uwh);
637
						genericRepository.delete(uwh);
635
					}
638
					}
636
				}
639
				}
-
 
640
				List<UserWalletHistory> historyListBroken = userWalletHistoryRepository
-
 
641
				.selectAllByreferenceIdandreferenceType(ii.getPurchaseId(), WalletReferenceType.SCHEME_OUT);
-
 
642
				for (UserWalletHistory uwh : historyListBroken) {
-
 
643
					if(uwh.getTimestamp().isAfter(startDate)) {
-
 
644
						genericRepository.delete(uwh);
-
 
645
						userWallet.setAmount(userWallet.getAmount() - uwh.getAmount());
-
 
646
					}
-
 
647
				}
637
			}
648
			}
638
 
649
 
639
			// System.out.println("Total Amount Rolled Back is " + totalRollbackAmount);
650
			// System.out.println("Total Amount Rolled Back is " + totalRollbackAmount);
640
		}
651
		}
641
		scheduledTasks.processScheme(startDate, startDate.plusDays(15));
652
		scheduledTasks.processScheme(startDate, startDate.plusDays(15));