| Line 671... |
Line 671... |
| 671 |
}
|
671 |
}
|
| 672 |
|
672 |
|
| 673 |
String fileName = "InvestmentSummary-" + FormattingUtils.formatDate(LocalDateTime.now()) + ".csv";
|
673 |
String fileName = "InvestmentSummary-" + FormattingUtils.formatDate(LocalDateTime.now()) + ".csv";
|
| 674 |
|
674 |
|
| 675 |
for (Map.Entry<String, Set<String>> storeGuyEntry : csService.getAuthUserPartnerEmailMapping().entrySet()) {
|
675 |
for (Map.Entry<String, Set<String>> storeGuyEntry : csService.getAuthUserPartnerEmailMapping().entrySet()) {
|
| 676 |
/*
|
- |
|
| 677 |
* List<List<? extends Serializable>> filteredRows =
|
676 |
List<List<? extends Serializable>> filteredRows = storeGuyEntry.getValue().stream()
|
| 678 |
* storeGuyEntry.getValue().stream() .map(x -> partnerRow.get(x)).filter(x -> x
|
- |
|
| 679 |
* != null).collect(Collectors.toList());
|
677 |
.map(x -> partnerRow.get(x)).filter(x -> x != null).collect(Collectors.toList());
|
| 680 |
*/
|
- |
|
| 681 |
List<List<? extends Serializable>> filteredRows = new ArrayList<>();
|
- |
|
| 682 |
ByteArrayOutputStream baos = FileUtil.getCSVByteStream(headers, filteredRows);
|
678 |
ByteArrayOutputStream baos = FileUtil.getCSVByteStream(headers, filteredRows);
|
| 683 |
// String[] sendToArray = new String[] {storeGuyEntry.getKey()};
|
679 |
String[] sendToArray = new String[] {storeGuyEntry.getKey()};
|
| 684 |
for (String storeGuyString : storeGuyEntry.getValue()) {
|
- |
|
| 685 |
String[] sendToArray = new String[] {storeGuyString};
|
- |
|
| 686 |
Utils.sendMailWithAttachment(googleMailSender, sendToArray, null, "Partner Investment Summary", "PFA",
|
680 |
Utils.sendMailWithAttachment(googleMailSender, sendToArray, null, "Partner Investment Summary", "PFA",
|
| 687 |
fileName, new ByteArrayResource(baos.toByteArray()));
|
681 |
fileName, new ByteArrayResource(baos.toByteArray()));
|
| 688 |
}
|
- |
|
| 689 |
}
|
682 |
}
|
| 690 |
|
683 |
|
| 691 |
/*
|
- |
|
| 692 |
* ByteArrayOutputStream baos = FileUtil.getCSVByteStream(headers, rows);
|
684 |
ByteArrayOutputStream baos = FileUtil.getCSVByteStream(headers, rows);
|
| 693 |
* String[] sendToArray = sendTo.toArray(new String[sendTo.size()]);
|
685 |
String[] sendToArray = sendTo.toArray(new String[sendTo.size()]);
|
| 694 |
* Utils.sendMailWithAttachment(googleMailSender, sendToArray, null,
|
686 |
Utils.sendMailWithAttachment(googleMailSender, sendToArray, null, "Partner Investment Summary", "PFA", fileName,
|
| 695 |
* "Partner Investment Summary", "PFA", fileName, new
|
- |
|
| 696 |
* ByteArrayResource(baos.toByteArray()));
|
687 |
new ByteArrayResource(baos.toByteArray()));
|
| 697 |
*/
|
- |
|
| 698 |
|
688 |
|
| 699 |
}
|
689 |
}
|
| 700 |
|
690 |
|
| 701 |
private Map<String, SaleRoles> getPartnerEmailSalesMap() {
|
691 |
private Map<String, SaleRoles> getPartnerEmailSalesMap() {
|
| 702 |
Map<String, SaleRoles> partnerEmailSalesMap = new HashMap<>();
|
692 |
Map<String, SaleRoles> partnerEmailSalesMap = new HashMap<>();
|
| Line 706... |
Line 696... |
| 706 |
Map<Integer, AuthUser> authUsersMap = authRepository.selectAllActiveUser().stream()
|
696 |
Map<Integer, AuthUser> authUsersMap = authRepository.selectAllActiveUser().stream()
|
| 707 |
.collect(Collectors.toMap(x -> x.getId(), x -> x));
|
697 |
.collect(Collectors.toMap(x -> x.getId(), x -> x));
|
| 708 |
Map<Integer, List<CustomRetailer>> positionIdRetailerMap = csService.getPositionCustomRetailerMap(positions);
|
698 |
Map<Integer, List<CustomRetailer>> positionIdRetailerMap = csService.getPositionCustomRetailerMap(positions);
|
| 709 |
for (Position position : positions) {
|
699 |
for (Position position : positions) {
|
| 710 |
List<CustomRetailer> crList = positionIdRetailerMap.get(position.getId());
|
700 |
List<CustomRetailer> crList = positionIdRetailerMap.get(position.getId());
|
| 711 |
if (crList == null)
|
701 |
if(crList==null) continue;
|
| 712 |
continue;
|
- |
|
| 713 |
for (CustomRetailer cr : crList) {
|
702 |
for (CustomRetailer cr : crList) {
|
| 714 |
if (!partnerEmailSalesMap.containsKey(cr.getEmail())) {
|
703 |
if (!partnerEmailSalesMap.containsKey(cr.getEmail())) {
|
| 715 |
partnerEmailSalesMap.put(cr.getEmail(), new SaleRoles());
|
704 |
partnerEmailSalesMap.put(cr.getEmail(), new SaleRoles());
|
| 716 |
}
|
705 |
}
|
| 717 |
SaleRoles saleRoles = partnerEmailSalesMap.get(cr.getEmail());
|
706 |
SaleRoles saleRoles = partnerEmailSalesMap.get(cr.getEmail());
|
| Line 750... |
Line 739... |
| 750 |
Map<Integer, CustomRetailer> customRetailerMap = retailerService
|
739 |
Map<Integer, CustomRetailer> customRetailerMap = retailerService
|
| 751 |
.getFofoRetailers(new ArrayList<>(fofoStoresMap.keySet()));
|
740 |
.getFofoRetailers(new ArrayList<>(fofoStoresMap.keySet()));
|
| 752 |
|
741 |
|
| 753 |
Map<String, CustomRetailer> customRetailerEmailMap = customRetailerMap.values().stream()
|
742 |
Map<String, CustomRetailer> customRetailerEmailMap = customRetailerMap.values().stream()
|
| 754 |
.collect(Collectors.toMap(x -> x.getEmail(), x -> x));
|
743 |
.collect(Collectors.toMap(x -> x.getEmail(), x -> x));
|
| 755 |
|
744 |
|
| 756 |
Map<String, SaleRoles> partnerEmailSalesMap = this.getPartnerEmailSalesMap();
|
745 |
Map<String, SaleRoles> partnerEmailSalesMap = this.getPartnerEmailSalesMap();
|
| 757 |
|
746 |
|
| 758 |
List<String> headers = Arrays.asList("Code", "Firm Name", "Store Name", "Current Category", "State Manager",
|
747 |
List<String> headers = Arrays.asList("Code", "Firm Name", "Store Name", "Current Category", "State Manager",
|
| 759 |
"Teritory Manager", "Team Leader", "Targeted Category", "Targeted Value", "Target Achieved",
|
748 |
"Teritory Manager", "Team Leader", "Targeted Category", "Targeted Value", "Target Achieved",
|
| 760 |
"Achived Percentage", "Remaining Target", "Today's Target", "Today's achievement");
|
749 |
"Achived Percentage", "Remaining Target", "Today's Target", "Today's achievement");
|
| Line 767... |
Line 756... |
| 767 |
FofoStore fofoStore = fofoStoresMap.get(retailer.getPartnerId());
|
756 |
FofoStore fofoStore = fofoStoresMap.get(retailer.getPartnerId());
|
| 768 |
Serializable code = fofoStore.getCode();
|
757 |
Serializable code = fofoStore.getCode();
|
| 769 |
Serializable storeName = "SmartDukaan-" + fofoStore.getCode().replaceAll("[a-zA-Z]", "");
|
758 |
Serializable storeName = "SmartDukaan-" + fofoStore.getCode().replaceAll("[a-zA-Z]", "");
|
| 770 |
Serializable businessName = retailer.getBusinessName();
|
759 |
Serializable businessName = retailer.getBusinessName();
|
| 771 |
try {
|
760 |
try {
|
| 772 |
Serializable stateManager = StringUtils.join(partnerEmailSalesMap.get(retailer.getEmail()).getL2(),
|
761 |
Serializable stateManager = StringUtils.join(partnerEmailSalesMap.get(retailer.getEmail()).getL2(), ", ");
|
| 773 |
", ");
|
- |
|
| 774 |
Serializable territoryManager = StringUtils.join(partnerEmailSalesMap.get(retailer.getEmail()).getL1(),
|
762 |
Serializable territoryManager = StringUtils.join(partnerEmailSalesMap.get(retailer.getEmail()).getL1(), ", ");
|
| 775 |
", ");
|
- |
|
| 776 |
List<Serializable> row = new ArrayList<>(
|
763 |
List<Serializable> row = new ArrayList<>(
|
| 777 |
Arrays.asList(code, businessName, storeName, stateManager, territoryManager));
|
764 |
Arrays.asList(code, businessName, storeName, stateManager, territoryManager));
|
| 778 |
if (partnerSalesTargetRowsMap.get(retailer.getEmail()) != null) {
|
765 |
if (partnerSalesTargetRowsMap.get(retailer.getEmail()) != null) {
|
| 779 |
row.addAll(partnerSalesTargetRowsMap.get(retailer.getEmail()));
|
766 |
row.addAll(partnerSalesTargetRowsMap.get(retailer.getEmail()));
|
| 780 |
partnerRowMap.put(retailer.getEmail(), row);
|
767 |
partnerRowMap.put(retailer.getEmail(), row);
|
| Line 816... |
Line 803... |
| 816 |
attachment1);
|
803 |
attachment1);
|
| 817 |
|
804 |
|
| 818 |
// Reports to be sent to mapped partners
|
805 |
// Reports to be sent to mapped partners
|
| 819 |
Map<String, Set<String>> storeGuysMap = csService.getAuthUserPartnerEmailMapping();
|
806 |
Map<String, Set<String>> storeGuysMap = csService.getAuthUserPartnerEmailMapping();
|
| 820 |
|
807 |
|
| 821 |
Utils.sendMailWithAttachments(googleMailSender, storeGuysMap.keySet().toArray(new String[0]), null,
|
808 |
Utils.sendMailWithAttachments(googleMailSender, storeGuysMap.keySet().toArray(new String[0]), null, "Stock Aeging Report", "PFA", attachment);
|
| 822 |
"Stock Aeging Report", "PFA", attachment);
|
- |
|
| 823 |
|
809 |
|
| 824 |
for (Map.Entry<String, Set<String>> storeGuyEntry : storeGuysMap.entrySet()) {
|
810 |
for (Map.Entry<String, Set<String>> storeGuyEntry : storeGuysMap.entrySet()) {
|
| 825 |
Map<String, String> params = new HashMap<>();
|
811 |
Map<String, String> params = new HashMap<>();
|
| 826 |
if (storeGuyEntry.getValue().size() == 0)
|
812 |
if (storeGuyEntry.getValue().size() == 0)
|
| 827 |
continue;
|
813 |
continue;
|