| Line 24... |
Line 24... |
| 24 |
import com.spice.profitmandi.dao.entity.fofo.Purchase;
|
24 |
import com.spice.profitmandi.dao.entity.fofo.Purchase;
|
| 25 |
import com.spice.profitmandi.dao.entity.fofo.ScanRecord;
|
25 |
import com.spice.profitmandi.dao.entity.fofo.ScanRecord;
|
| 26 |
import com.spice.profitmandi.dao.entity.transaction.LineItem;
|
26 |
import com.spice.profitmandi.dao.entity.transaction.LineItem;
|
| 27 |
import com.spice.profitmandi.dao.entity.transaction.LineItemImei;
|
27 |
import com.spice.profitmandi.dao.entity.transaction.LineItemImei;
|
| 28 |
import com.spice.profitmandi.dao.entity.transaction.Order;
|
28 |
import com.spice.profitmandi.dao.entity.transaction.Order;
|
| - |
|
29 |
import com.spice.profitmandi.dao.entity.transaction.SellerWarehouse;
|
| 29 |
import com.spice.profitmandi.dao.enumuration.fofo.ScanType;
|
30 |
import com.spice.profitmandi.dao.enumuration.fofo.ScanType;
|
| 30 |
import com.spice.profitmandi.dao.repository.GenericRepository;
|
31 |
import com.spice.profitmandi.dao.repository.GenericRepository;
|
| 31 |
import com.spice.profitmandi.dao.repository.dtr.FofoStoreRepository;
|
32 |
import com.spice.profitmandi.dao.repository.dtr.FofoStoreRepository;
|
| 32 |
import com.spice.profitmandi.dao.repository.fofo.CurrentInventorySnapshotRepository;
|
33 |
import com.spice.profitmandi.dao.repository.fofo.CurrentInventorySnapshotRepository;
|
| 33 |
import com.spice.profitmandi.dao.repository.fofo.DebitNoteRepository;
|
34 |
import com.spice.profitmandi.dao.repository.fofo.DebitNoteRepository;
|
| Line 37... |
Line 38... |
| 37 |
import com.spice.profitmandi.dao.repository.fofo.SchemeInOutRepository;
|
38 |
import com.spice.profitmandi.dao.repository.fofo.SchemeInOutRepository;
|
| 38 |
import com.spice.profitmandi.dao.repository.transaction.LineItemImeisRepository;
|
39 |
import com.spice.profitmandi.dao.repository.transaction.LineItemImeisRepository;
|
| 39 |
import com.spice.profitmandi.dao.repository.transaction.LineItemRepository;
|
40 |
import com.spice.profitmandi.dao.repository.transaction.LineItemRepository;
|
| 40 |
import com.spice.profitmandi.dao.repository.transaction.OrderRepository;
|
41 |
import com.spice.profitmandi.dao.repository.transaction.OrderRepository;
|
| 41 |
import com.spice.profitmandi.dao.repository.transaction.ReturnOrderRepository;
|
42 |
import com.spice.profitmandi.dao.repository.transaction.ReturnOrderRepository;
|
| - |
|
43 |
import com.spice.profitmandi.dao.repository.transaction.SellerWarehouseRepository;
|
| 42 |
import com.spice.profitmandi.dao.repository.transaction.UserWalletHistoryRepository;
|
44 |
import com.spice.profitmandi.dao.repository.transaction.UserWalletHistoryRepository;
|
| 43 |
import com.spice.profitmandi.dao.repository.transaction.UserWalletRepository;
|
45 |
import com.spice.profitmandi.dao.repository.transaction.UserWalletRepository;
|
| 44 |
import com.spice.profitmandi.dao.repository.user.UserRepository;
|
46 |
import com.spice.profitmandi.dao.repository.user.UserRepository;
|
| 45 |
import com.spice.profitmandi.service.inventory.InventoryService;
|
47 |
import com.spice.profitmandi.service.inventory.InventoryService;
|
| 46 |
import com.spice.profitmandi.service.order.OrderService;
|
48 |
import com.spice.profitmandi.service.order.OrderService;
|
| Line 60... |
Line 62... |
| 60 |
|
62 |
|
| 61 |
@Autowired
|
63 |
@Autowired
|
| 62 |
private LineItemRepository lineItemRepository;
|
64 |
private LineItemRepository lineItemRepository;
|
| 63 |
|
65 |
|
| 64 |
@Autowired
|
66 |
@Autowired
|
| - |
|
67 |
private SellerWarehouseRepository sellerWarehouseRepository;
|
| - |
|
68 |
|
| - |
|
69 |
@Autowired
|
| 65 |
private UserWalletRepository userWalletRepository;
|
70 |
private UserWalletRepository userWalletRepository;
|
| 66 |
|
71 |
|
| 67 |
@Autowired
|
72 |
@Autowired
|
| 68 |
private UserWalletHistoryRepository userWalletHistoryRepository;
|
73 |
private UserWalletHistoryRepository userWalletHistoryRepository;
|
| 69 |
|
74 |
|
| Line 280... |
Line 285... |
| 280 |
}
|
285 |
}
|
| 281 |
}
|
286 |
}
|
| 282 |
// throw new Exception();
|
287 |
// throw new Exception();
|
| 283 |
}
|
288 |
}
|
| 284 |
|
289 |
|
| 285 |
public void migrateChallansToInvoices() {
|
290 |
public void migrateChallansToInvoices() throws Exception {
|
| 286 |
Map<String, List<Order>> invoiceOrdersMap = orderRepository.selectAllChallans().stream().filter(x->!x.getLineItem().getHsnCode().equals("NOGST"))
|
291 |
Map<String, List<Order>> invoiceOrdersMap = orderRepository.selectAllChallans().stream().filter(x->!x.getLineItem().getHsnCode().equals("NOGST"))
|
| 287 |
.collect(Collectors.groupingBy(Order::getInvoiceNumber, Collectors.toList()));
|
292 |
.collect(Collectors.groupingBy(Order::getInvoiceNumber, Collectors.toList()));
|
| 288 |
|
293 |
|
| 289 |
for(String invoice : invoiceOrdersMap.keySet()) {
|
294 |
for(String invoice : invoiceOrdersMap.keySet()) {
|
| 290 |
Order oneOrder = invoiceOrdersMap.get(invoice).get(0);
|
295 |
Order oneOrder = invoiceOrdersMap.get(invoice).get(0);
|
| 291 |
int totalOrders = invoiceOrdersMap.get(invoice).size();
|
296 |
int totalOrders = invoiceOrdersMap.get(invoice).size();
|
| 292 |
LineItem lineItem = oneOrder.getLineItem();
|
297 |
LineItem lineItem = oneOrder.getLineItem();
|
| 293 |
LOGGER.info("Total Orders {}, Challan No {}, Product Name {} {} {}, hsnCode {}",
|
298 |
LOGGER.info("Total Orders {}, Challan No {}, Product Name {} {} {}, hsnCode {}",
|
| 294 |
totalOrders, oneOrder.getInvoiceNumber(), lineItem.getBrand(), lineItem.getModelNumber(), lineItem.getModelName(), lineItem.getHsnCode());
|
299 |
totalOrders, oneOrder.getInvoiceNumber(), lineItem.getBrand(), lineItem.getModelNumber(), lineItem.getModelName(), lineItem.getHsnCode());
|
| - |
|
300 |
|
| - |
|
301 |
oneOrder.setBillingTimestamp(LocalDateTime.now());
|
| - |
|
302 |
oneOrder.setInvoiceNumber(getInvoiceNumber(oneOrder));
|
| - |
|
303 |
System.out.println(oneOrder.getInvoiceNumber());
|
| 295 |
}
|
304 |
}
|
| - |
|
305 |
throw new Exception();
|
| - |
|
306 |
}
|
| - |
|
307 |
|
| - |
|
308 |
private String getInvoiceNumber(Order oneOrder) {
|
| - |
|
309 |
String prefix = oneOrder.getInvoiceNumber().split("-")[1].replaceFirst("/d+", "");
|
| - |
|
310 |
SellerWarehouse sellerWarehouse = sellerWarehouseRepository.selectByPrefix(prefix);
|
| - |
|
311 |
int newSequence = sellerWarehouse.getInvoiceSequence() + 1;
|
| - |
|
312 |
sellerWarehouse.setInvoiceSequence(newSequence);
|
| - |
|
313 |
return prefix+newSequence;
|
| 296 |
}
|
314 |
}
|
| 297 |
|
315 |
|
| 298 |
}
|
316 |
}
|
| 299 |
|
317 |
|