| Line 1444... |
Line 1444... |
| 1444 |
customer.setLastName(customCustomer.getLastName());
|
1444 |
customer.setLastName(customCustomer.getLastName());
|
| 1445 |
customer.setMobileNumber(customCustomer.getMobileNumber());
|
1445 |
customer.setMobileNumber(customCustomer.getMobileNumber());
|
| 1446 |
customer.setEmailId(customCustomer.getEmailId());
|
1446 |
customer.setEmailId(customCustomer.getEmailId());
|
| 1447 |
customerRepository.persist(customer);
|
1447 |
customerRepository.persist(customer);
|
| 1448 |
CustomerAddress customerAddress = customerAddressRepository.selectById(fofoOrder.getCustomerAddressId());
|
1448 |
CustomerAddress customerAddress = customerAddressRepository.selectById(fofoOrder.getCustomerAddressId());
|
| - |
|
1449 |
if (!customerAddress.getState().equals(customCustomer.getAddress().getState())) {
|
| - |
|
1450 |
List<FofoOrderItem> fofoOrderItems = fofoOrderItemRepository.selectByOrderId(fofoOrder.getId());
|
| - |
|
1451 |
resetTaxation(fofoOrder.getFofoId(), customerAddress, fofoOrderItems);
|
| - |
|
1452 |
}
|
| 1449 |
this.setCustomerAddress(customerAddress, customCustomer.getAddress());
|
1453 |
this.setCustomerAddress(customerAddress, customCustomer.getAddress());
|
| 1450 |
customerAddressRepository.persist(customerAddress);
|
1454 |
customerAddressRepository.persist(customerAddress);
|
| 1451 |
fofoOrder.setCustomerGstNumber(customCustomer.getGstNumber());
|
1455 |
fofoOrder.setCustomerGstNumber(customCustomer.getGstNumber());
|
| 1452 |
}
|
1456 |
}
|
| 1453 |
|
1457 |
|
| - |
|
1458 |
private void resetTaxation(int fofoId, CustomerAddress customerAddress, List<FofoOrderItem> fofoOrderItems)
|
| - |
|
1459 |
throws ProfitMandiBusinessException {
|
| - |
|
1460 |
int retailerAddressId = retailerRegisteredAddressRepository.selectAddressIdByRetailerId(fofoId);
|
| - |
|
1461 |
|
| - |
|
1462 |
Address retailerAddress = addressRepository.selectById(retailerAddressId);
|
| - |
|
1463 |
|
| - |
|
1464 |
Integer stateId = null;
|
| - |
|
1465 |
if (customerAddress.getState().equals(retailerAddress.getState())) {
|
| - |
|
1466 |
try {
|
| - |
|
1467 |
stateId = Long.valueOf(Utils.getStateInfo(customerAddress.getState()).getId()).intValue();
|
| - |
|
1468 |
} catch (Exception e) {
|
| - |
|
1469 |
LOGGER.error("Unable to get state rates");
|
| - |
|
1470 |
}
|
| - |
|
1471 |
}
|
| - |
|
1472 |
List<Integer> itemIds = fofoOrderItems.stream().map(x -> x.getItemId()).collect(Collectors.toList());
|
| - |
|
1473 |
final Map<Integer, GstRate> gstRates;
|
| - |
|
1474 |
if (stateId != null) {
|
| - |
|
1475 |
gstRates = Utils.getStateTaxRate(itemIds, stateId);
|
| - |
|
1476 |
} else {
|
| - |
|
1477 |
gstRates = new HashMap<>();
|
| - |
|
1478 |
Utils.getIgstTaxRate(itemIds).entrySet().forEach(x -> {
|
| - |
|
1479 |
GstRate gstRate = new GstRate();
|
| - |
|
1480 |
gstRate.setIgstRate(x.getValue());
|
| - |
|
1481 |
gstRate.setCgstRate(0f);
|
| - |
|
1482 |
gstRate.setSgstRate(0f);
|
| - |
|
1483 |
gstRates.put(x.getKey(), gstRate);
|
| - |
|
1484 |
|
| - |
|
1485 |
});
|
| - |
|
1486 |
}
|
| - |
|
1487 |
for (FofoOrderItem fofoOrderItem : fofoOrderItems) {
|
| - |
|
1488 |
GstRate rate = gstRates.get(fofoOrderItem.getItemId());
|
| - |
|
1489 |
fofoOrderItem.setCgstRate(rate.getCgstRate());
|
| - |
|
1490 |
fofoOrderItem.setSgstRate(rate.getSgstRate());
|
| - |
|
1491 |
fofoOrderItem.setIgstRate(rate.getIgstRate());
|
| - |
|
1492 |
}
|
| - |
|
1493 |
}
|
| - |
|
1494 |
|
| 1454 |
@Override
|
1495 |
@Override
|
| 1455 |
public CustomerCreditNote badReturn(int fofoId, FoiBadReturnRequest foiBadReturnRequest)
|
1496 |
public CustomerCreditNote badReturn(int fofoId, FoiBadReturnRequest foiBadReturnRequest)
|
| 1456 |
throws ProfitMandiBusinessException {
|
1497 |
throws ProfitMandiBusinessException {
|
| 1457 |
FofoOrderItem foi = fofoOrderItemRepository.selectById(foiBadReturnRequest.getFofoOrderItemId());
|
1498 |
FofoOrderItem foi = fofoOrderItemRepository.selectById(foiBadReturnRequest.getFofoOrderItemId());
|
| 1458 |
FofoOrder fofoOrder = fofoOrderRepository.selectByOrderId(foi.getOrderId());
|
1499 |
FofoOrder fofoOrder = fofoOrderRepository.selectByOrderId(foi.getOrderId());
|
| Line 1636... |
Line 1677... |
| 1636 |
}
|
1677 |
}
|
| 1637 |
|
1678 |
|
| 1638 |
@Override
|
1679 |
@Override
|
| 1639 |
public boolean notifyColorChange(int orderId, int itemId) throws ProfitMandiBusinessException {
|
1680 |
public boolean notifyColorChange(int orderId, int itemId) throws ProfitMandiBusinessException {
|
| 1640 |
Order order = orderRepository.selectById(orderId);
|
1681 |
Order order = orderRepository.selectById(orderId);
|
| 1641 |
inventoryService.reservationCount(itemId, order.getLineItem().getItemId(), order.getFulfilmentWarehouseId(),order.getLineItem().getQuantity());
|
1682 |
inventoryService.reservationCount(itemId, order.getLineItem().getItemId(), order.getFulfilmentWarehouseId(),
|
| - |
|
1683 |
order.getLineItem().getQuantity());
|
| 1642 |
|
1684 |
|
| 1643 |
order.getLineItem().setItemId(itemId);
|
1685 |
order.getLineItem().setItemId(itemId);
|
| 1644 |
Item item = itemRepository.selectById(itemId);
|
1686 |
Item item = itemRepository.selectById(itemId);
|
| 1645 |
order.getLineItem().setColor(item.getColor());
|
1687 |
order.getLineItem().setColor(item.getColor());
|
| 1646 |
return true;
|
1688 |
return true;
|
| 1647 |
}
|
1689 |
}
|
| 1648 |
|
1690 |
|
| 1649 |
@Override
|
1691 |
@Override
|
| 1650 |
public FofoOrder getOrderByInventoryItemId(int inventoryItemId) throws Exception {
|
1692 |
public FofoOrder getOrderByInventoryItemId(int inventoryItemId) throws Exception {
|
| 1651 |
List<FofoLineItem> lineItems = fofoLineItemRepository.selectByInventoryItemId(inventoryItemId);
|
1693 |
List<FofoLineItem> lineItems = fofoLineItemRepository.selectByInventoryItemId(inventoryItemId);
|
| 1652 |
if(lineItems.size() > 0) {
|
1694 |
if (lineItems.size() > 0) {
|
| 1653 |
FofoOrderItem fofoOrderItem = fofoOrderItemRepository.selectById(lineItems.get(0).getFofoOrderItemId());
|
1695 |
FofoOrderItem fofoOrderItem = fofoOrderItemRepository.selectById(lineItems.get(0).getFofoOrderItemId());
|
| 1654 |
fofoOrderItem.setFofoLineItems(new HashSet<>(lineItems));
|
1696 |
fofoOrderItem.setFofoLineItems(new HashSet<>(lineItems));
|
| 1655 |
FofoOrder fofoOrder = fofoOrderRepository.selectByOrderId(fofoOrderItem.getOrderId());
|
1697 |
FofoOrder fofoOrder = fofoOrderRepository.selectByOrderId(fofoOrderItem.getOrderId());
|
| 1656 |
fofoOrder.setOrderItem(fofoOrderItem);
|
1698 |
fofoOrder.setOrderItem(fofoOrderItem);
|
| 1657 |
return fofoOrder;
|
1699 |
return fofoOrder;
|