Subversion Repositories SmartDukaan

Rev

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

Rev 35690 Rev 35956
Line 52... Line 52...
52
import org.springframework.stereotype.Service;
52
import org.springframework.stereotype.Service;
53
import org.springframework.transaction.annotation.Transactional;
53
import org.springframework.transaction.annotation.Transactional;
54
import org.springframework.web.multipart.MultipartFile;
54
import org.springframework.web.multipart.MultipartFile;
55
 
55
 
56
import java.math.BigDecimal;
56
import java.math.BigDecimal;
-
 
57
import java.time.LocalDateTime;
57
import java.util.ArrayList;
58
import java.util.ArrayList;
58
import java.util.List;
59
import java.util.List;
59
import java.util.Map;
60
import java.util.Map;
60
import java.util.Set;
61
import java.util.Set;
61
import java.util.stream.Collectors;
62
import java.util.stream.Collectors;
Line 350... Line 351...
350
 
351
 
351
        }
352
        }
352
        return approvalModelList;
353
        return approvalModelList;
353
    }
354
    }
354
 
355
 
-
 
356
    public List<TransactionApprovalModel> getBulkOrderApprovalReport(LocalDateTime startDate, LocalDateTime endDate) throws ProfitMandiBusinessException {
-
 
357
        List<TransactionApproval> transactionApprovals = transactionApprovalRepository.selectAllByDateRange(startDate, endDate);
-
 
358
        LOGGER.info("Approval report: found {} records", transactionApprovals.size());
-
 
359
        List<TransactionApprovalModel> approvalModelList = new ArrayList<>();
-
 
360
        for (TransactionApproval transactionApproval : transactionApprovals) {
-
 
361
            List<Order> orderList = orderRepository.selectAllByTransactionId(transactionApproval.getId());
-
 
362
            Transaction transaction = transactionRepository.selectById(transactionApproval.getId());
-
 
363
            List<LineItemModel> lineItemModelList = new ArrayList<>();
-
 
364
            for (Order order : orderList) {
-
 
365
                LineItem lineItem = order.getLineItem();
-
 
366
                LineItemModel lineItemModel = new LineItemModel();
-
 
367
                lineItemModel.setItemId(lineItem.getItemId());
-
 
368
                lineItemModel.setItemName(lineItem.getItem().getItemDescription());
-
 
369
                lineItemModel.setItemQuantity(lineItem.getQuantity());
-
 
370
                lineItemModel.setSellingPrice(lineItem.getUnitPrice());
-
 
371
                lineItemModel.setDp(tagListingRepository.selectByItemId(lineItem.getItemId()).getSellingPrice());
-
 
372
                lineItemModelList.add(lineItemModel);
-
 
373
            }
-
 
374
            AuthUser authUser = authRepository.selectById(transaction.getCreatedBy());
-
 
375
            TransactionApprovalModel model = new TransactionApprovalModel();
-
 
376
            String retailerName = orderList.isEmpty() ? "" : orderList.get(0).getRetailerName();
-
 
377
            model.setRetailerName(retailerName);
-
 
378
            if (authUser == null) {
-
 
379
                model.setCreatedBy(retailerName);
-
 
380
            } else {
-
 
381
                model.setCreatedBy(authUser.getFullName());
-
 
382
            }
-
 
383
            model.setCreatedOn(transaction.getCreateTimestamp());
-
 
384
            model.setTransactionId(transactionApproval.getId());
-
 
385
            model.setLineItemModels(lineItemModelList);
-
 
386
            model.setStatus(transactionApproval.getStatus().name());
-
 
387
            model.setApprovedBy(transactionApproval.getApprovedBy());
-
 
388
            model.setApprovedOn(transactionApproval.getApprovedOn());
-
 
389
            model.setRemark(transactionApproval.getRemark());
-
 
390
            approvalModelList.add(model);
-
 
391
        }
-
 
392
        return approvalModelList;
-
 
393
    }
-
 
394
 
355
}
395
}