| Line 705... |
Line 705... |
| 705 |
Map<Integer, CustomRetailer> customRetailerMap = retailerService
|
705 |
Map<Integer, CustomRetailer> customRetailerMap = retailerService
|
| 706 |
.getFofoRetailers(fofoStores.stream().map(x -> x.getId()).collect(Collectors.toList()));
|
706 |
.getFofoRetailers(fofoStores.stream().map(x -> x.getId()).collect(Collectors.toList()));
|
| 707 |
|
707 |
|
| 708 |
List<String> headers = Arrays.asList("Code", "Firm Name", "Store Name", "State Manager", "Teritory/Team Lead",
|
708 |
List<String> headers = Arrays.asList("Code", "Firm Name", "Store Name", "State Manager", "Teritory/Team Lead",
|
| 709 |
"Wallet Amount", "In Stock Amount", "Activated Stock", "Return In Transit Stock", "Unbilled Amount", "Grn Pending Amount",
|
709 |
"Wallet Amount", "In Stock Amount", "Activated Stock", "Return In Transit Stock", "Unbilled Amount", "Grn Pending Amount",
|
| 710 |
"Min Investment", "Investment Amount", "Investment Short", "Unbilled Qty");
|
710 |
"Min Investment", "Investment Amount", "Investment Short", "Unbilled Qty", "Short Days");
|
| 711 |
List<List<?>> rows = new ArrayList<>();
|
711 |
List<List<?>> rows = new ArrayList<>();
|
| 712 |
Map<Integer, List<?>> partnerRowsMap = new HashMap<>();
|
712 |
Map<Integer, List<?>> partnerRowsMap = new HashMap<>();
|
| 713 |
|
713 |
|
| 714 |
Map<Integer, List<Serializable>> partnerIdSalesHeaderMap = this.getPartnerIdSalesHeaders();
|
714 |
Map<Integer, List<Serializable>> partnerIdSalesHeaderMap = this.getPartnerIdSalesHeaders();
|
| - |
|
715 |
|
| - |
|
716 |
Map<Integer, Integer> shortDaysMap = partnerDailyInvestmentRepository.selectAll(LocalDate.now().withDayOfMonth(1), LocalDate.now())
|
| - |
|
717 |
.stream().collect(Collectors.groupingBy(x->x.getFofoId(),
|
| - |
|
718 |
Collectors.summingInt(x-> x.getShortPercentage() > 10 ? 1 : 0)));
|
| 715 |
|
719 |
|
| 716 |
for (FofoStore fofoStore : fofoStores) {
|
720 |
for (FofoStore fofoStore : fofoStores) {
|
| - |
|
721 |
int fofoId = fofoStore.getId();
|
| 717 |
PartnerDailyInvestment partnerDailyInvestment = partnerInvestmentService.getInvestment(fofoStore.getId(),
|
722 |
PartnerDailyInvestment partnerDailyInvestment = partnerInvestmentService.getInvestment(fofoId,1);
|
| 718 |
1);
|
- |
|
| 719 |
partnerDailyInvestment.setDate(yesterDay);
|
723 |
partnerDailyInvestment.setDate(yesterDay);
|
| - |
|
724 |
|
| 720 |
try {
|
725 |
try {
|
| 721 |
partnerDailyInvestmentRepository.persist(partnerDailyInvestment);
|
726 |
partnerDailyInvestmentRepository.persist(partnerDailyInvestment);
|
| - |
|
727 |
shortDaysMap.put(fofoId, shortDaysMap.get(fofoId) + (partnerDailyInvestment.getShortPercentage() > 10 ? 1 : 0));
|
| 722 |
} catch (Exception e) {
|
728 |
} catch (Exception e) {
|
| 723 |
// ignore the exceptions during persist
|
729 |
// ignore the exceptions during persist
|
| 724 |
}
|
730 |
}
|
| 725 |
|
731 |
|
| 726 |
CustomRetailer retailer = customRetailerMap.get(fofoStore.getId());
|
732 |
CustomRetailer retailer = customRetailerMap.get(fofoStore.getId());
|
| Line 732... |
Line 738... |
| 732 |
row.addAll(
|
738 |
row.addAll(
|
| 733 |
Arrays.asList(partnerDailyInvestment.getWalletAmount(), partnerDailyInvestment.getInStockAmount(),
|
739 |
Arrays.asList(partnerDailyInvestment.getWalletAmount(), partnerDailyInvestment.getInStockAmount(),
|
| 734 |
partnerDailyInvestment.getActivatedStockAmount() == 0 ? "-":"("+partnerDailyInvestment.getActivatedStockAmount()+")",
|
740 |
partnerDailyInvestment.getActivatedStockAmount() == 0 ? "-":"("+partnerDailyInvestment.getActivatedStockAmount()+")",
|
| 735 |
0, partnerDailyInvestment.getUnbilledAmount(), partnerDailyInvestment.getGrnPendingAmount(),
|
741 |
0, partnerDailyInvestment.getUnbilledAmount(), partnerDailyInvestment.getGrnPendingAmount(),
|
| 736 |
partnerDailyInvestment.getMinInvestment(), partnerDailyInvestment.getTotalInvestment(),
|
742 |
partnerDailyInvestment.getMinInvestment(), partnerDailyInvestment.getTotalInvestment(),
|
| 737 |
partnerDailyInvestment.getShortInvestment(), partnerDailyInvestment.getUnbilledQty()));
|
743 |
partnerDailyInvestment.getShortInvestment(), partnerDailyInvestment.getUnbilledQty(),shortDaysMap.get(fofoId)));
|
| 738 |
partnerRowsMap.put(fofoStore.getId(), row);
|
744 |
partnerRowsMap.put(fofoStore.getId(), row);
|
| 739 |
rows.add(row);
|
745 |
rows.add(row);
|
| 740 |
|
746 |
|
| 741 |
}
|
747 |
}
|
| 742 |
|
748 |
|
| Line 750... |
Line 756... |
| 750 |
String[] sendToArray = new String[] { storeGuyEntry.getKey() };
|
756 |
String[] sendToArray = new String[] { storeGuyEntry.getKey() };
|
| 751 |
Utils.sendMailWithAttachment(googleMailSender, sendToArray, null, "Franchise Investment Summary", "PFA",
|
757 |
Utils.sendMailWithAttachment(googleMailSender, sendToArray, null, "Franchise Investment Summary", "PFA",
|
| 752 |
fileName, new ByteArrayResource(baos.toByteArray()));
|
758 |
fileName, new ByteArrayResource(baos.toByteArray()));
|
| 753 |
}
|
759 |
}
|
| 754 |
sendTo = Arrays.asList("tarun.verma@smartdukaan.com", "kamini.sharma@smartdukaan.com",
|
760 |
sendTo = Arrays.asList("tarun.verma@smartdukaan.com", "kamini.sharma@smartdukaan.com",
|
| 755 |
"prakash.rai@smartdukaan.com", "amit.gupta@shop2020.in", "amod.sen@smartdukaan.com");
|
761 |
"prakash.rai@smartdukaan.com", "amit.gupta@shop2020.in");
|
| 756 |
}
|
762 |
}
|
| 757 |
|
763 |
|
| 758 |
ByteArrayOutputStream baos = FileUtil.getCSVByteStream(headers, rows);
|
764 |
ByteArrayOutputStream baos = FileUtil.getCSVByteStream(headers, rows);
|
| 759 |
String[] sendToArray = sendTo.toArray(new String[sendTo.size()]);
|
765 |
String[] sendToArray = sendTo.toArray(new String[sendTo.size()]);
|
| 760 |
Utils.sendMailWithAttachment(googleMailSender, sendToArray, null, "Franchise Investment Summary", "PFA",
|
766 |
Utils.sendMailWithAttachment(googleMailSender, sendToArray, null, "Franchise Investment Summary", "PFA",
|