Subversion Repositories SmartDukaan

Rev

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

Rev 24602 Rev 24604
Line 898... Line 898...
898
			List<FofoOrderItem> orderItems = fofoOrderItemRepository.selectByOrderId(fofoOrder.getId());
898
			List<FofoOrderItem> orderItems = fofoOrderItemRepository.selectByOrderId(fofoOrder.getId());
899
			orderItems.forEach(x -> {
899
			orderItems.forEach(x -> {
900
				inventorySerialNumberMap.putAll(x.getFofoLineItems().stream().filter(li->li.getSerialNumber()!=null)
900
				inventorySerialNumberMap.putAll(x.getFofoLineItems().stream().filter(li->li.getSerialNumber()!=null)
901
						.collect(Collectors.toMap(FofoLineItem::getInventoryItemId, FofoLineItem::getSerialNumber)));
901
						.collect(Collectors.toMap(FofoLineItem::getInventoryItemId, FofoLineItem::getSerialNumber)));
902
			});
902
			});
-
 
903
			if(inventorySerialNumberMap.size() > 0) {
903
			List<SchemeInOut> sios = schemeInOutRepository
904
				List<SchemeInOut> sios = schemeInOutRepository
904
					.selectAllDuplicate(fofoOrder.getFofoId(), new ArrayList<String>(inventorySerialNumberMap.values()))
905
						.selectAllDuplicate(fofoOrder.getFofoId(), new ArrayList<String>(inventorySerialNumberMap.values()))
905
					.stream().filter(x -> schemeTypeMap.get(x.getSchemeId()).equals(SchemeType.OUT))
906
						.stream().filter(x -> schemeTypeMap.get(x.getSchemeId()).equals(SchemeType.OUT))
906
					.collect(Collectors.toList());
907
						.collect(Collectors.toList());
907
			LOGGER.info("Found {} duplicate schemeouts for Orderid {}", sios.size(), fofoOrder.getId());
908
				LOGGER.info("Found {} duplicate schemeouts for Orderid {}", sios.size(), fofoOrder.getId());
908
			UserWalletHistory uwh = new UserWalletHistory();
909
				UserWalletHistory uwh = new UserWalletHistory();
909
			for (SchemeInOut sio : sios) {
910
				for (SchemeInOut sio : sios) {
910
				String serialNumber = inventoryItemRepository.selectById(sio.getInventoryItemId()).getSerialNumber();
911
					String serialNumber = inventoryItemRepository.selectById(sio.getInventoryItemId()).getSerialNumber();
911
				sio.setRolledBackTimestamp(LocalDateTime.now());
912
					sio.setRolledBackTimestamp(LocalDateTime.now());
912
				amountToRollback += sio.getAmount();
913
					amountToRollback += sio.getAmount();
913
				sio.setSchemeType(SchemeType.OUT);
914
					sio.setSchemeType(SchemeType.OUT);
914
				sio.setSerialNumber(serialNumber);
915
					sio.setSerialNumber(serialNumber);
915
				sio.setStoreCode(fofoOrder.getInvoiceNumber().split("/")[0]);
916
					sio.setStoreCode(fofoOrder.getInvoiceNumber().split("/")[0]);
916
				rolledbackSios.add(sio);
917
					rolledbackSios.add(sio);
-
 
918
				}
-
 
919
				uwh.setAmount(Math.round(amountToRollback));
-
 
920
				uwh.setDescription(description);
-
 
921
				uwh.setTimestamp(LocalDateTime.now());
-
 
922
				uwh.setReferenceType(WalletReferenceType.SCHEME_OUT);
-
 
923
				uwh.setReference(fofoOrder.getId());
-
 
924
				uwh.setWalletId(userWalletMap.get(fofoOrder.getFofoId()));
-
 
925
				uwh.setFofoId(fofoOrder.getFofoId());
-
 
926
				uwh.setStoreCode(fofoOrder.getInvoiceNumber().split("/")[0]);
-
 
927
				userWalletHistory.add(uwh);
917
			}
928
			}
918
			uwh.setAmount(Math.round(amountToRollback));
-
 
919
			uwh.setDescription(description);
-
 
920
			uwh.setTimestamp(LocalDateTime.now());
-
 
921
			uwh.setReferenceType(WalletReferenceType.SCHEME_OUT);
-
 
922
			uwh.setReference(fofoOrder.getId());
-
 
923
			uwh.setWalletId(userWalletMap.get(fofoOrder.getFofoId()));
-
 
924
			uwh.setFofoId(fofoOrder.getFofoId());
-
 
925
			uwh.setStoreCode(fofoOrder.getInvoiceNumber().split("/")[0]);
-
 
926
			userWalletHistory.add(uwh);
-
 
927
		});
929
		});
928
 
930
 
929
		ByteArrayOutputStream baos = FileUtil.getCSVByteStream(
931
		ByteArrayOutputStream baos = FileUtil.getCSVByteStream(
930
				Arrays.asList("User Id", "Reference Type", "Reference", "Amount", "Description", "Timestamp"),
932
				Arrays.asList("User Id", "Reference Type", "Reference", "Amount", "Description", "Timestamp"),
931
				userWalletHistory.stream().map(x -> Arrays.asList(x.getWalletId(), x.getReferenceType(),
933
				userWalletHistory.stream().map(x -> Arrays.asList(x.getWalletId(), x.getReferenceType(),