| Line 668... |
Line 668... |
| 668 |
}
|
668 |
}
|
| 669 |
|
669 |
|
| 670 |
}
|
670 |
}
|
| 671 |
|
671 |
|
| 672 |
public void sendPartnerInvestmentDetails(List<String> sendTo) throws Exception {
|
672 |
public void sendPartnerInvestmentDetails(List<String> sendTo) throws Exception {
|
| 673 |
if (sendTo == null) {
|
- |
|
| 674 |
sendTo = Arrays.asList("tarun.verma@smartdukaan.com", "kamini.sharma@smartdukaan.com",
|
- |
|
| 675 |
"prakash.rai@smartdukaan.com", "amit.gupta@shop2020.in", "amod.sen@smartdukaan.com");
|
- |
|
| 676 |
}
|
- |
|
| 677 |
LocalDate yesterDay = LocalDate.now().minusDays(1);
|
673 |
LocalDate yesterDay = LocalDate.now().minusDays(1);
|
| 678 |
List<FofoStore> fofoStores = fofoStoreRepository.selectActiveStores();
|
674 |
List<FofoStore> fofoStores = fofoStoreRepository.selectActiveStores();
|
| 679 |
Map<Integer, CustomRetailer> customRetailerMap = retailerService
|
675 |
Map<Integer, CustomRetailer> customRetailerMap = retailerService
|
| 680 |
.getFofoRetailers(fofoStores.stream().map(x -> x.getId()).collect(Collectors.toList()));
|
676 |
.getFofoRetailers(fofoStores.stream().map(x -> x.getId()).collect(Collectors.toList()));
|
| 681 |
|
677 |
|
| 682 |
List<String> headers = Arrays.asList("Code", "Firm Name", "Store Name", "State Manager", "Teritory/Team Lead",
|
678 |
List<String> headers = Arrays.asList("Code", "Firm Name", "Store Name", "State Manager", "Teritory/Team Lead",
|
| 683 |
"Wallet Amount", "In Stock Amount", "Return In Transit Stock", "Unbilled Amount", "Grn Pending Amount",
|
679 |
"Wallet Amount", "In Stock Amount", "Return In Transit Stock", "Unbilled Amount", "Grn Pending Amount",
|
| 684 |
"Min Investment", "Investment Amount", "Investment Short", "Unbilled Qty");
|
680 |
"Min Investment", "Investment Amount", "Investment Short", "Unbilled Qty");
|
| 685 |
List<List<?>> rows = new ArrayList<>();
|
681 |
List<List<?>> rows = new ArrayList<>();
|
| 686 |
Map<Integer, List<? extends Serializable>> partnerRowsMap = new HashMap<>();
|
682 |
Map<Integer, List<?>> partnerRowsMap = new HashMap<>();
|
| 687 |
|
683 |
|
| 688 |
Map<Integer, List<Serializable>> partnerIdSalesHeaderMap = this.getPartnerIdSalesHeaders();
|
684 |
Map<Integer, List<Serializable>> partnerIdSalesHeaderMap = this.getPartnerIdSalesHeaders();
|
| 689 |
|
685 |
|
| 690 |
for (FofoStore fofoStore : fofoStores) {
|
686 |
for (FofoStore fofoStore : fofoStores) {
|
| 691 |
PartnerDailyInvestment partnerDailyInvestment = partnerInvestmentService.getInvestment(fofoStore.getId(),
|
687 |
PartnerDailyInvestment partnerDailyInvestment = partnerInvestmentService.getInvestment(fofoStore.getId(),
|
| Line 701... |
Line 697... |
| 701 |
if (retailer == null || partnerIdSalesHeaderMap.get(fofoStore.getId()) == null) {
|
697 |
if (retailer == null || partnerIdSalesHeaderMap.get(fofoStore.getId()) == null) {
|
| 702 |
LOGGER.info("Could not find retailer with retailer Id {}", fofoStore.getId());
|
698 |
LOGGER.info("Could not find retailer with retailer Id {}", fofoStore.getId());
|
| 703 |
continue;
|
699 |
continue;
|
| 704 |
}
|
700 |
}
|
| 705 |
List<Serializable> row = partnerIdSalesHeaderMap.get(fofoStore.getId());
|
701 |
List<Serializable> row = partnerIdSalesHeaderMap.get(fofoStore.getId());
|
| - |
|
702 |
row.addAll(Arrays.asList(partnerDailyInvestment.getWalletAmount(), partnerDailyInvestment.getInStockAmount(), 0,
|
| - |
|
703 |
partnerDailyInvestment.getUnbilledAmount(), partnerDailyInvestment.getGrnPendingAmount(),
|
| - |
|
704 |
partnerDailyInvestment.getMinInvestment(), partnerDailyInvestment.getTotalInvestment(),
|
| - |
|
705 |
partnerDailyInvestment.getShortInvestment(), partnerDailyInvestment.getUnbilledQty()));
|
| 706 |
partnerRowsMap.put(fofoStore.getId(), row);
|
706 |
partnerRowsMap.put(fofoStore.getId(), row);
|
| 707 |
rows.add(row);
|
707 |
rows.add(row);
|
| 708 |
|
708 |
|
| 709 |
}
|
709 |
}
|
| 710 |
|
710 |
|
| 711 |
String fileName = "InvestmentSummary-" + FormattingUtils.formatDate(LocalDateTime.now()) + ".csv";
|
711 |
String fileName = "InvestmentSummary-" + FormattingUtils.formatDate(LocalDateTime.now()) + ".csv";
|
| 712 |
|
712 |
|
| - |
|
713 |
if(sendTo==null) {
|
| 713 |
for (Map.Entry<String, Set<Integer>> storeGuyEntry : csService.getAuthUserPartnerIdMapping().entrySet()) {
|
714 |
for (Map.Entry<String, Set<Integer>> storeGuyEntry : csService.getAuthUserPartnerIdMapping().entrySet()) {
|
| 714 |
List<List<?>> filteredRows = storeGuyEntry.getValue().stream().map(x -> partnerRowsMap.get(x))
|
715 |
List<List<?>> filteredRows = storeGuyEntry.getValue().stream().map(x -> partnerRowsMap.get(x))
|
| 715 |
.filter(x -> x != null).collect(Collectors.toList());
|
716 |
.filter(x -> x != null).collect(Collectors.toList());
|
| 716 |
ByteArrayOutputStream baos = FileUtil.getCSVByteStream(headers, filteredRows);
|
717 |
ByteArrayOutputStream baos = FileUtil.getCSVByteStream(headers, filteredRows);
|
| 717 |
String[] sendToArray = new String[] { storeGuyEntry.getKey() };
|
718 |
String[] sendToArray = new String[] { storeGuyEntry.getKey() };
|
| 718 |
Utils.sendMailWithAttachment(googleMailSender, sendToArray, null, "Franchise Investment Summary", "PFA",
|
719 |
Utils.sendMailWithAttachment(googleMailSender, sendToArray, null, "Franchise Investment Summary", "PFA",
|
| 719 |
fileName, new ByteArrayResource(baos.toByteArray()));
|
720 |
fileName, new ByteArrayResource(baos.toByteArray()));
|
| - |
|
721 |
}
|
| - |
|
722 |
sendTo = Arrays.asList("tarun.verma@smartdukaan.com", "kamini.sharma@smartdukaan.com",
|
| - |
|
723 |
"prakash.rai@smartdukaan.com", "amit.gupta@shop2020.in", "amod.sen@smartdukaan.com");
|
| 720 |
}
|
724 |
}
|
| - |
|
725 |
|
| 721 |
|
726 |
|
| 722 |
ByteArrayOutputStream baos = FileUtil.getCSVByteStream(headers, rows);
|
727 |
ByteArrayOutputStream baos = FileUtil.getCSVByteStream(headers, rows);
|
| 723 |
String[] sendToArray = sendTo.toArray(new String[sendTo.size()]);
|
728 |
String[] sendToArray = sendTo.toArray(new String[sendTo.size()]);
|
| 724 |
Utils.sendMailWithAttachment(googleMailSender, sendToArray, null, "Franchise Investment Summary", "PFA",
|
729 |
Utils.sendMailWithAttachment(googleMailSender, sendToArray, null, "Franchise Investment Summary", "PFA",
|
| 725 |
fileName, new ByteArrayResource(baos.toByteArray()));
|
730 |
fileName, new ByteArrayResource(baos.toByteArray()));
|