| 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(),
|