| Line 990... |
Line 990... |
| 990 |
orders = orders.stream().skip(1).collect(Collectors.toList());
|
990 |
orders = orders.stream().skip(1).collect(Collectors.toList());
|
| 991 |
for (FofoOrder fofoOrder : orders) {
|
991 |
for (FofoOrder fofoOrder : orders) {
|
| 992 |
LOGGER.info("Fofo Order Id - {}, Invoice {}", fofoOrder.getId(), invoiceNumber);
|
992 |
LOGGER.info("Fofo Order Id - {}, Invoice {}", fofoOrder.getId(), invoiceNumber);
|
| 993 |
int inventoryItemId = 0;
|
993 |
int inventoryItemId = 0;
|
| 994 |
saleAmount += fofoOrder.getTotalAmount();
|
994 |
saleAmount += fofoOrder.getTotalAmount();
|
| 995 |
//fofoOrderRepository.delete(fofoOrder);
|
995 |
fofoOrderRepository.delete(fofoOrder);
|
| 996 |
List<FofoOrderItem> fofoOrderItems = fofoOrderItemRepository.selectByOrderId(fofoOrder.getId());
|
996 |
List<FofoOrderItem> fofoOrderItems = fofoOrderItemRepository.selectByOrderId(fofoOrder.getId());
|
| 997 |
List<PaymentOptionTransaction> paymentOptionTransactions = paymentOptionTransactionRepository.selectByReferenceIdAndType(fofoOrder.getId(), PaymentOptionReferenceType.ORDER);
|
997 |
List<PaymentOptionTransaction> paymentOptionTransactions = paymentOptionTransactionRepository.selectByReferenceIdAndType(fofoOrder.getId(), PaymentOptionReferenceType.ORDER);
|
| 998 |
for(PaymentOptionTransaction paymentOptionTransaction : paymentOptionTransactions) {
|
998 |
for(PaymentOptionTransaction paymentOptionTransaction : paymentOptionTransactions) {
|
| 999 |
//paymentOptionTransactionRepository.delete(paymentOptionTransaction);
|
999 |
paymentOptionTransactionRepository.delete(paymentOptionTransaction);
|
| 1000 |
}
|
1000 |
}
|
| 1001 |
for(FofoOrderItem foi : fofoOrderItems) {
|
1001 |
for(FofoOrderItem foi : fofoOrderItems) {
|
| 1002 |
//fofoOrderItemRepository.delete(foi);
|
1002 |
fofoOrderItemRepository.delete(foi);
|
| 1003 |
List<FofoLineItem> flis = fofoLineItemRepository.selectByFofoOrderItemId(foi.getId());
|
1003 |
List<FofoLineItem> flis = fofoLineItemRepository.selectByFofoOrderItemId(foi.getId());
|
| 1004 |
for(FofoLineItem fli : flis) {
|
1004 |
for(FofoLineItem fli : flis) {
|
| 1005 |
//fofoLineItemRepository.delete(fli);
|
1005 |
fofoLineItemRepository.delete(fli);
|
| 1006 |
inventoryItemId = fli.getInventoryItemId();
|
1006 |
inventoryItemId = fli.getInventoryItemId();
|
| 1007 |
}
|
1007 |
}
|
| 1008 |
}
|
1008 |
}
|
| 1009 |
//Rollback entry with reversal reason
|
1009 |
//Rollback entry with reversal reason
|
| 1010 |
if(fofoOrder.getCreateTimestamp().isAfter(LocalDate.of(2020, 4, 1).atStartOfDay())) {
|
1010 |
if(fofoOrder.getCreateTimestamp().isAfter(LocalDate.of(2020, 4, 1).atStartOfDay())) {
|
| 1011 |
float invoiceWalletAmount = 0;
|
1011 |
float invoiceWalletAmount = 0;
|
| 1012 |
float invoiceSchemeReversalAmount = 0;
|
1012 |
float invoiceSchemeReversalAmount = 0;
|
| 1013 |
List<UserWalletHistory> userWalletHistory = userWalletHistoryRepository.selectAllByreferenceIdandreferenceType(fofoOrder.getId(), WalletReferenceType.SCHEME_OUT);
|
1013 |
List<UserWalletHistory> userWalletHistory = userWalletHistoryRepository.selectAllByreferenceIdandreferenceType(fofoOrder.getId(), WalletReferenceType.SCHEME_OUT);
|
| 1014 |
totalAmount += userWalletHistory.stream().collect(Collectors.summingInt(y->y.getAmount()));
|
1014 |
totalAmount += userWalletHistory.stream().collect(Collectors.summingInt(y->y.getAmount()));
|
| 1015 |
invoiceWalletAmount += userWalletHistory.stream().collect(Collectors.summingInt(y->y.getAmount()));
|
1015 |
invoiceWalletAmount += userWalletHistory.stream().collect(Collectors.summingInt(y->y.getAmount()));
|
| 1016 |
/*walletService.rollbackAmountFromWallet(fofoOrder.getFofoId(), totalAmount, fofoOrder.getId(), WalletReferenceType.SCHEME_OUT,
|
1016 |
walletService.rollbackAmountFromWallet(fofoOrder.getFofoId(), totalAmount, fofoOrder.getId(), WalletReferenceType.SCHEME_OUT,
|
| 1017 |
"Same order for Invoice-"+ invoiceNumber + "created twice, duplicate invoice rollback", fofoOrder.getCancelledTimestamp());*/
|
1017 |
"Same order for Invoice-"+ invoiceNumber + "created twice, duplicate invoice rollback", fofoOrder.getCancelledTimestamp());
|
| 1018 |
List<SchemeInOut> schemeInOuts = schemeInOutRepository.selectByInventoryItemIds(new HashSet<>(Arrays.asList(inventoryItemId)));
|
1018 |
List<SchemeInOut> schemeInOuts = schemeInOutRepository.selectByInventoryItemIds(new HashSet<>(Arrays.asList(inventoryItemId)));
|
| 1019 |
Set<Integer> schemeIds = new HashSet<>();
|
1019 |
Set<Integer> schemeIds = new HashSet<>();
|
| 1020 |
for(SchemeInOut sio : schemeInOuts) {
|
1020 |
for(SchemeInOut sio : schemeInOuts) {
|
| 1021 |
if(Math.abs(sio.getCreateTimestamp().getMinute() - fofoOrder.getCreateTimestamp().getMinute()) <= 1 && sio.getRolledBackTimestamp() == null) {
|
1021 |
if(Math.abs(sio.getCreateTimestamp().getMinute() - fofoOrder.getCreateTimestamp().getMinute()) <= 1 && sio.getRolledBackTimestamp() == null) {
|
| 1022 |
LOGGER.info(sio);
|
1022 |
LOGGER.info(sio);
|
| 1023 |
if(!schemeIds.contains(sio.getSchemeId())) {
|
1023 |
if(!schemeIds.contains(sio.getSchemeId())) {
|
| 1024 |
schemeIds.add(sio.getSchemeId());
|
1024 |
schemeIds.add(sio.getSchemeId());
|
| 1025 |
} else {
|
1025 |
} else {
|
| - |
|
1026 |
sio.setRolledBackTimestamp(LocalDateTime.now());
|
| 1026 |
schemeReverseAmount += sio.getAmount();
|
1027 |
schemeReverseAmount += sio.getAmount();
|
| 1027 |
invoiceSchemeReversalAmount += sio.getAmount();
|
1028 |
invoiceSchemeReversalAmount += sio.getAmount();
|
| 1028 |
}
|
1029 |
}
|
| 1029 |
}
|
1030 |
}
|
| 1030 |
}
|
1031 |
}
|