Subversion Repositories SmartDukaan

Rev

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

Rev 24633 Rev 24634
Line 909... Line 909...
909
					int inventoryItemId = inventorySerialNumberEntry.getKey();
909
					int inventoryItemId = inventorySerialNumberEntry.getKey();
910
					if (serialNumbersConsidered.contains(serialNumber)) {
910
					if (serialNumbersConsidered.contains(serialNumber)) {
911
						// This will rollback scheme for differenct orders for same serial
911
						// This will rollback scheme for differenct orders for same serial
912
						List<SchemeInOut> sios = schemeInOutRepository
912
						List<SchemeInOut> sios = schemeInOutRepository
913
								.selectByInventoryItemIds(new HashSet<>(Arrays.asList(inventoryItemId))).stream()
913
								.selectByInventoryItemIds(new HashSet<>(Arrays.asList(inventoryItemId))).stream()
914
								.filter(x -> schemeTypeMap.get(x.getSchemeId()).equals(SchemeType.OUT))
914
								.filter(x -> x.getRolledBackTimestamp()==null && schemeTypeMap.get(x.getSchemeId()).equals(SchemeType.OUT))
915
								.collect(Collectors.toList());
915
								.collect(Collectors.toList());
916
						Collections.reverse(sios);
916
						Collections.reverse(sios);
917
						for (SchemeInOut sio : sios) {
917
						for (SchemeInOut sio : sios) {
918
							sio.setRolledBackTimestamp(LocalDateTime.now());
918
							sio.setRolledBackTimestamp(LocalDateTime.now());
919
							amountToRollback += sio.getAmount();
919
							amountToRollback += sio.getAmount();
Line 926... Line 926...
926
					} else {
926
					} else {
927
						serialNumbersConsidered.add(serialNumber);
927
						serialNumbersConsidered.add(serialNumber);
928
						List<Integer> schemesConsidered = new ArrayList<>();
928
						List<Integer> schemesConsidered = new ArrayList<>();
929
						List<SchemeInOut> sios = schemeInOutRepository
929
						List<SchemeInOut> sios = schemeInOutRepository
930
								.selectByInventoryItemIds(new HashSet<>(Arrays.asList(inventoryItemId))).stream()
930
								.selectByInventoryItemIds(new HashSet<>(Arrays.asList(inventoryItemId))).stream()
931
								.filter(x -> schemeTypeMap.get(x.getSchemeId()).equals(SchemeType.OUT))
931
								.filter(x -> x.getRolledBackTimestamp()==null && schemeTypeMap.get(x.getSchemeId()).equals(SchemeType.OUT))
932
								.collect(Collectors.toList());
932
								.collect(Collectors.toList());
933
						Collections.reverse(sios);
933
						Collections.reverse(sios);
934
						for (SchemeInOut sio : sios) {
934
						for (SchemeInOut sio : sios) {
935
							if (!schemesConsidered.contains(sio.getSchemeId())) {
935
							if (!schemesConsidered.contains(sio.getSchemeId())) {
936
								schemesConsidered.add(sio.getSchemeId());
936
								schemesConsidered.add(sio.getSchemeId());