Subversion Repositories SmartDukaan

Rev

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

Rev 25083 Rev 25101
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;