Subversion Repositories SmartDukaan

Rev

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

Rev 23568 Rev 23638
Line 796... Line 796...
796
			fofoOrder.setCashback(totalCashback);
796
			fofoOrder.setCashback(totalCashback);
797
			fofoOrderRepository.persist(fofoOrder);
797
			fofoOrderRepository.persist(fofoOrder);
798
		}
798
		}
799
	}
799
	}
800
 
800
 
801
	@Override
801
	/*@Override
802
	public void rollbackSchemeForInventoryItemId(int inventoryItemId) {
802
	public void rollbackSchemeForInventoryItemId(int inventoryItemId) {
803
		/*Set<Integer> inventoryItemIds = new HashSet<>();
803
		Set<Integer> inventoryItemIds = new HashSet<>();
804
		inventoryItemIds.add(inventoryItemId);
804
		inventoryItemIds.add(inventoryItemId);
805
		float amountToRollback = 0;
805
		float amountToRollback = 0;
806
		List<SchemeInOut> schemes = schemeInOutRepository.selectByInventoryItemIds(inventoryItemIds);
806
		List<SchemeInOut> schemes = schemeInOutRepository.selectByInventoryItemIds(inventoryItemIds);
807
		for(SchemeInOut schemeInOut: schemes) {
807
		for(SchemeInOut schemeInOut: schemes) {
808
			schemeInOut.setRolled_back_timestamp(LocalDateTime.now());
808
			schemeInOut.setRolled_back_timestamp(LocalDateTime.now());
809
			schemeInOutRepository.persist(schemeInOut);
809
			schemeInOutRepository.persist(schemeInOut);
810
			amountToRollback += schemeInOut.getAmount();
810
			amountToRollback += schemeInOut.getAmount();
811
		}*/
811
		}
812
		//TODO: Unused
812
		//TODO: Unused
813
	}
813
	}*/
814
 
814
 
815
	@Override
815
	@Override
816
	public void rollbackSchemes(List<InventoryItem> inventoryItems, int rollbackReference, String rollbackReason) {
816
	public void rollbackSchemes(List<Integer> inventoryItemIds, int rollbackReference, String rollbackReason) throws Exception{
817
		Set<Integer> inventoryItemIdSet = new HashSet<>(inventoryItems.stream().map(x->x.getId()).collect(Collectors.toList()));
817
		Set<Integer> inventoryItemIdSet = new HashSet<>(inventoryItemIds);
818
		float amountToRollback = 0;
818
		float amountToRollback = 0;
819
		List<SchemeInOut> schemes = schemeInOutRepository.selectByInventoryItemIds(inventoryItemIdSet);
819
		List<SchemeInOut> schemes = schemeInOutRepository.selectByInventoryItemIds(inventoryItemIdSet);
820
		for(SchemeInOut schemeInOut: schemes) {
820
		for(SchemeInOut schemeInOut: schemes) {
821
			schemeInOut.setRolledBackTimestamp(LocalDateTime.now());
821
			schemeInOut.setRolledBackTimestamp(LocalDateTime.now());
822
			schemeInOutRepository.persist(schemeInOut);
822
			schemeInOutRepository.persist(schemeInOut);
823
			amountToRollback += schemeInOut.getAmount();
823
			amountToRollback += schemeInOut.getAmount();
824
		}
824
		}
-
 
825
		if(schemes.size() > 0) {
-
 
826
			int inventoryItemId = inventoryItemIds.get(0);
-
 
827
			Integer fofoId = inventoryItemRepository.selectById(inventoryItemId).getFofoId();
825
		walletService.rollbackAmountFromWallet(inventoryItems.get(0).getFofoId(), amountToRollback, rollbackReference, WalletReferenceType.SCHEME_IN, rollbackReason);
828
			walletService.rollbackAmountFromWallet(fofoId, amountToRollback, rollbackReference, WalletReferenceType.SCHEME_IN, rollbackReason);
-
 
829
		}
826
	}
830
	}
827
 
831
 
828
}
832
}