Subversion Repositories SmartDukaan

Rev

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

Rev 27523 Rev 27734
Line 519... Line 519...
519
		}
519
		}
520
		// insurance calculation is insurance flag is enabled
520
		// insurance calculation is insurance flag is enabled
521
		//
521
		//
522
		if (insuredModels.size() > 0) {
522
		if (insuredModels.size() > 0) {
523
			LOGGER.info("Processing insurane for serialNumbers");
523
			LOGGER.info("Processing insurane for serialNumbers");
-
 
524
			LOGGER.info("InsuranceModels {}", insuredModels);
524
			LocalDate customerDateOfBirth = LocalDate.from(createOrderRequest.getCustomer().getDateOfBirth());
525
			LocalDate customerDateOfBirth = LocalDate.from(createOrderRequest.getCustomer().getDateOfBirth());
525
			fofoOrder.setDateOfBirth(customerDateOfBirth);
526
			fofoOrder.setDateOfBirth(customerDateOfBirth);
526
			for (InsuranceModel insuranceModel : insuredModels) {
527
			for (InsuranceModel insuranceModel : insuredModels) {
527
				try {
528
				try {
528
					insuranceService.createInsurance(fofoOrder, insuranceModel);
529
					insuranceService.createInsurance(fofoOrder, insuranceModel);
Line 1663... Line 1664...
1663
	// This will remove the order and maintain order record and reverse inventory
1664
	// This will remove the order and maintain order record and reverse inventory
1664
	// and scheme
1665
	// and scheme
1665
	@Override
1666
	@Override
1666
	public void cancelOrder(List<String> invoiceNumbers) throws Exception {
1667
	public void cancelOrder(List<String> invoiceNumbers) throws Exception {
1667
		for (String invoiceNumber : invoiceNumbers) {
1668
		for (String invoiceNumber : invoiceNumbers) {
-
 
1669
			//Cancel only when not cancelled
1668
			FofoOrder fofoOrder = fofoOrderRepository.selectByInvoiceNumber(invoiceNumber);
1670
			FofoOrder fofoOrder = fofoOrderRepository.selectByInvoiceNumber(invoiceNumber);
-
 
1671
			if(fofoOrder.getCancelledTimestamp()==null) {
1669
			fofoOrder.setCancelledTimestamp(LocalDateTime.now());
1672
				fofoOrder.setCancelledTimestamp(LocalDateTime.now());
1670
			fofoOrderRepository.persist(fofoOrder);
1673
				fofoOrderRepository.persist(fofoOrder);
1671
			List<PaymentOptionTransaction> paymentTransactions = paymentOptionTransactionRepository
1674
				List<PaymentOptionTransaction> paymentTransactions = paymentOptionTransactionRepository
1672
					.selectByReferenceIdAndType(fofoOrder.getId(), PaymentOptionReferenceType.ORDER);
1675
						.selectByReferenceIdAndType(fofoOrder.getId(), PaymentOptionReferenceType.ORDER);
1673
			for (PaymentOptionTransaction paymentOptionTransaction : paymentTransactions) {
1676
				for (PaymentOptionTransaction paymentOptionTransaction : paymentTransactions) {
1674
				paymentOptionTransactionRepository.delete(paymentOptionTransaction);
1677
					paymentOptionTransactionRepository.delete(paymentOptionTransaction);
1675
			}
1678
				}
1676
			List<FofoOrderItem> fois = fofoOrderItemRepository.selectByOrderId(fofoOrder.getId());
1679
				List<FofoOrderItem> fois = fofoOrderItemRepository.selectByOrderId(fofoOrder.getId());
1677
			List<InventoryItem> inventoryItems = new ArrayList<>();
1680
				List<InventoryItem> inventoryItems = new ArrayList<>();
1678
			fois.stream().forEach(x -> {
1681
				fois.stream().forEach(x -> {
1679
				x.getFofoLineItems().stream().forEach(y -> {
1682
					x.getFofoLineItems().stream().forEach(y -> {
1680
					inventoryService.rollbackInventory(y.getInventoryItemId(), y.getQuantity(), fofoOrder.getFofoId());
1683
						inventoryService.rollbackInventory(y.getInventoryItemId(), y.getQuantity(), fofoOrder.getFofoId());
1681
					inventoryItems.add(inventoryItemRepository.selectById(y.getInventoryItemId()));
1684
						inventoryItems.add(inventoryItemRepository.selectById(y.getInventoryItemId()));
-
 
1685
					});
1682
				});
1686
				});
1683
			});
-
 
1684
			String reversalReason = "Order Rolledback/Cancelled for Invoice Number " + invoiceNumber;
1687
				String reversalReason = "Order Rolledback/Cancelled for Invoice Number " + invoiceNumber;
1685
			schemeService.reverseSchemes(inventoryItems, fofoOrder.getId(), reversalReason, SchemeType.OUT);
1688
				schemeService.reverseSchemes(inventoryItems, fofoOrder.getId(), reversalReason, SchemeType.OUT);
1686
			schemeService.reverseSchemes(inventoryItems, fofoOrder.getId(), reversalReason, SchemeType.ACTIVATION);
1689
				schemeService.reverseSchemes(inventoryItems, fofoOrder.getId(), reversalReason, SchemeType.ACTIVATION);
-
 
1690
				//If insured that no cancellation happens on next month
-
 
1691
				schemeService.reverseSchemes(inventoryItems, fofoOrder.getId(), reversalReason, SchemeType.INVESTMENT);
-
 
1692
			}
1687
		}
1693
		}
1688
	}
1694
	}
1689
 
1695
 
1690
	@Override
1696
	@Override
1691
	public float getSales(int fofoId, LocalDateTime startDate, LocalDateTime endDate) {
1697
	public float getSales(int fofoId, LocalDateTime startDate, LocalDateTime endDate) {