| Line 1831... |
Line 1831... |
| 1831 |
|
1831 |
|
| 1832 |
Map<Integer, FofoReportingModel> partnerSalesHeadersMap = this.getPartnerIdSalesHeaders();
|
1832 |
Map<Integer, FofoReportingModel> partnerSalesHeadersMap = this.getPartnerIdSalesHeaders();
|
| 1833 |
for (Integer fofoId : fofoIds) {
|
1833 |
for (Integer fofoId : fofoIds) {
|
| 1834 |
SaleTargetReportModel model = saleTargetReportModelMap.get(fofoId);
|
1834 |
SaleTargetReportModel model = saleTargetReportModelMap.get(fofoId);
|
| 1835 |
|
1835 |
|
| 1836 |
com.spice.profitmandi.dao.entity.user.User user = userUserRepository.selectById(fofoId);
|
1836 |
// com.spice.profitmandi.dao.entity.user.User user =
|
| - |
|
1837 |
// userUserRepository.selectById(fofoId);
|
| 1837 |
|
1838 |
|
| 1838 |
Address address = addressRepository.selectById(user.getAddressId());
|
1839 |
// Address address = addressRepository.selectById(user.getAddressId());
|
| 1839 |
|
1840 |
|
| 1840 |
String title = "Sale Update";
|
1841 |
String title = "Sale Update";
|
| 1841 |
String messageTemplate = String.format("Smartphones Rs.%.0f, Insurance Rs.%.0f, Total Rs.%.0f till %s.",
|
1842 |
String messageTemplate = String.format("Smartphones Rs.%.0f, Insurance Rs.%.0f, Total Rs.%.0f till %s.",
|
| 1842 |
model.getSmartphoneSale(), model.getInsuranceSale(), model.getTotalSale(),
|
1843 |
model.getSmartphoneSale(), model.getInsuranceSale(), model.getTotalSale(),
|
| 1843 |
String.format(timeString, now.format(timeFormatter)));
|
1844 |
String.format(timeString, now.format(timeFormatter)));
|
| Line 1854... |
Line 1855... |
| 1854 |
notificationService.sendNotification(sendNotificationModel);
|
1855 |
notificationService.sendNotification(sendNotificationModel);
|
| 1855 |
String whatsappMessageTemplate = String.format(
|
1856 |
String whatsappMessageTemplate = String.format(
|
| 1856 |
"Dear Partner, Your sale update is Smartphones Rs.%.0f, Insurance Rs.%.0f, Total Rs.%.0f till %s.",
|
1857 |
"Dear Partner, Your sale update is Smartphones Rs.%.0f, Insurance Rs.%.0f, Total Rs.%.0f till %s.",
|
| 1857 |
model.getSmartphoneSale(), model.getInsuranceSale(), model.getTotalSale(),
|
1858 |
model.getSmartphoneSale(), model.getInsuranceSale(), model.getTotalSale(),
|
| 1858 |
String.format(timeString, now.format(timeFormatter)));
|
1859 |
String.format(timeString, now.format(timeFormatter)));
|
| 1859 |
notificationService.sendWhatsappMessage(whatsappMessageTemplate, title, address.getPhoneNumber());
|
1860 |
// notificationService.sendWhatsappMessage(whatsappMessageTemplate, title,
|
| - |
|
1861 |
// address.getPhoneNumber());
|
| 1860 |
|
1862 |
|
| 1861 |
}
|
1863 |
}
|
| 1862 |
// String saleReport = this.getDailySalesReportHtml(partnerSalesHeadersMap,
|
1864 |
// String saleReport = this.getDailySalesReportHtml(partnerSalesHeadersMap,
|
| 1863 |
// saleTargetReportModelMap);
|
1865 |
// saleTargetReportModelMap);
|
| 1864 |
String statewiseSaleReport = this.getStateWiseSales(saleTargetReportModelMap, partnerSalesHeadersMap);
|
1866 |
this.getStateWiseSales(saleTargetReportModelMap, partnerSalesHeadersMap);
|
| - |
|
1867 |
/*
|
| - |
|
1868 |
* String cc[] = { "tarun.verma@smartdukaan.com",
|
| 1865 |
String cc[] = { "tarun.verma@smartdukaan.com", "kamini.sharma@smartdukaan.com", "niranjan.kala@smartdukaan.com",
|
1869 |
* "kamini.sharma@smartdukaan.com", "niranjan.kala@smartdukaan.com",
|
| 1866 |
"sm@smartdukaan.com" };
|
1870 |
* "sm@smartdukaan.com" };
|
| 1867 |
|
1871 |
*
|
| 1868 |
String subject = String.format("Sale till %s", String.format(timeString, now.format(timeFormatter)));
|
1872 |
* String subject = String.format("Sale till %s", String.format(timeString,
|
| - |
|
1873 |
* now.format(timeFormatter))); //
|
| 1869 |
// this.sendMailOfHtmlFomat("amit.gupta@smartukaan.com", saleReport, cc,
|
1874 |
* this.sendMailOfHtmlFomat("amit.gupta@smartukaan.com", saleReport, cc, //
|
| 1870 |
// subject);
|
1875 |
* subject); this.sendMailOfHtmlFormat("amit.gupta@smartdukaan.com",
|
| 1871 |
this.sendMailOfHtmlFormat("amit.gupta@smartdukaan.com", statewiseSaleReport, cc, "Statewise" + subject);
|
1876 |
* statewiseSaleReport, cc, "Statewise" + subject);
|
| - |
|
1877 |
*/
|
| 1872 |
}
|
1878 |
}
|
| 1873 |
|
1879 |
|
| 1874 |
public void checkRazorPayPaymentStatus() throws Exception {
|
1880 |
public void checkRazorPayPaymentStatus() throws Exception {
|
| 1875 |
List<PendingOrder> pendingOrder = pendingOrderRepository
|
1881 |
List<PendingOrder> pendingOrder = pendingOrderRepository
|
| 1876 |
.selectAllByStatus(com.spice.profitmandi.dao.enumuration.transaction.OrderStatus.PENDING);
|
1882 |
.selectAllByStatus(com.spice.profitmandi.dao.enumuration.transaction.OrderStatus.PENDING);
|
| Line 2064... |
Line 2070... |
| 2064 |
+ smartphoneQty + ", insuranceSale=" + insuranceSale + ", insruanceQty=" + insruanceQty + "]";
|
2070 |
+ smartphoneQty + ", insuranceSale=" + insuranceSale + ", insruanceQty=" + insruanceQty + "]";
|
| 2065 |
}
|
2071 |
}
|
| 2066 |
|
2072 |
|
| 2067 |
}
|
2073 |
}
|
| 2068 |
|
2074 |
|
| 2069 |
private String getStateWiseSales(Map<Integer, SaleTargetReportModel> saleTargetReportModelMap,
|
2075 |
private void getStateWiseSales(Map<Integer, SaleTargetReportModel> saleTargetReportModelMap,
|
| 2070 |
Map<Integer, FofoReportingModel> partnerSalesHeadersMap) throws Exception {
|
2076 |
Map<Integer, FofoReportingModel> partnerSalesHeadersMap) throws Exception {
|
| 2071 |
List<FofoStore> stores = fofoStoreRepository.selectActiveStores();
|
- |
|
| 2072 |
Map<String, List<Integer>> stateMap = stores.stream().collect(Collectors
|
- |
|
| 2073 |
.groupingBy(x -> x.getCode().substring(0, 2), Collectors.mapping(x -> x.getId(), Collectors.toList())));
|
- |
|
| 2074 |
List<List<Serializable>> stateWiseSales = new ArrayList<>();
|
- |
|
| 2075 |
for (Map.Entry<String, List<Integer>> stateMapEntry : stateMap.entrySet()) {
|
- |
|
| 2076 |
long totalQty = stateMapEntry.getValue().stream()
|
- |
|
| 2077 |
.collect(Collectors.summingLong(x -> saleTargetReportModelMap.get(x).getTotalQty()));
|
- |
|
| 2078 |
double totalSale = stateMapEntry.getValue().stream()
|
- |
|
| 2079 |
.collect(Collectors.summingDouble(x -> saleTargetReportModelMap.get(x).getTotalSale()));
|
- |
|
| 2080 |
long smartPhoneQty = stateMapEntry.getValue().stream()
|
- |
|
| 2081 |
.collect(Collectors.summingLong(x -> saleTargetReportModelMap.get(x).getSmartphoneQty()));
|
- |
|
| 2082 |
double smartPhoneSale = stateMapEntry.getValue().stream()
|
- |
|
| 2083 |
.collect(Collectors.summingDouble(x -> saleTargetReportModelMap.get(x).getSmartphoneSale()));
|
- |
|
| 2084 |
stateWiseSales
|
- |
|
| 2085 |
.add(Arrays.asList(stateMapEntry.getKey(), smartPhoneQty, smartPhoneSale, totalQty, totalSale));
|
- |
|
| 2086 |
}
|
- |
|
| 2087 |
StringBuilder sb = new StringBuilder();
|
2077 |
String timeString = "Today %s";
|
| 2088 |
sb.append("<html><body>");
|
- |
|
| 2089 |
sb.append("<p>Statewise Sale Report:</p><br/><table style='border:1px solid black';cellspacing=0>");
|
- |
|
| 2090 |
sb.append("<tbody>\n" + " <tr>"
|
- |
|
| 2091 |
+ " <th style='border:1px solid black;padding: 5px'>State</th>"
|
- |
|
| 2092 |
+ " <th style='border:1px solid black;padding: 5px'>SmartPhone Qty</th>"
|
- |
|
| 2093 |
+ " <th style='border:1px solid black;padding: 5px'>SmartPhone Value</th>"
|
- |
|
| 2094 |
+ " <th style='border:1px solid black;padding: 5px'>Total Qty</th>"
|
- |
|
| 2095 |
+ " <th style='border:1px solid black;padding: 5px'>Total Value</th>"
|
- |
|
| 2096 |
+ " </tr>");
|
- |
|
| 2097 |
for (List<Serializable> stateSale : stateWiseSales) {
|
2078 |
LocalDateTime now = LocalDateTime.now();
|
| 2098 |
sb.append("<tr>");
|
- |
|
| 2099 |
sb.append("<td style='border:1px solid black;padding: 5px'>" + stateSale.get(0) + "</td>");
|
- |
|
| 2100 |
sb.append("<td style='border:1px solid black;padding: 5px'>" + stateSale.get(1) + "</td>");
|
- |
|
| 2101 |
sb.append("<td style='border:1px solid black;padding: 5px'>" + stateSale.get(2) + "</td>");
|
- |
|
| 2102 |
sb.append("<td style='border:1px solid black;padding: 5px'>" + stateSale.get(3) + "</td>");
|
- |
|
| 2103 |
sb.append("<td style='border:1px solid black;padding: 5px'>" + stateSale.get(4) + "</td>");
|
- |
|
| 2104 |
sb.append("</tr>");
|
- |
|
| 2105 |
}
|
- |
|
| 2106 |
sb.append("</tbody></table><br><br>");
|
- |
|
| 2107 |
|
- |
|
| 2108 |
sb.append("<p>Sale Report:</p><br/><table style='border:1px solid black';cellspacing=0>");
|
- |
|
| 2109 |
sb.append("<tbody>\n" + " <tr>\n"
|
- |
|
| 2110 |
+ " <th style='border:1px solid black;padding: 5px'>Code</th>"
|
- |
|
| 2111 |
+ " <th style='border:1px solid black;padding: 5px'>Business Name</th>"
|
- |
|
| 2112 |
+ " <th style='border:1px solid black;padding: 5px'>Regional Manager</th>"
|
- |
|
| 2113 |
+ " <th style='border:1px solid black;padding: 5px'>Territory Manager</th>"
|
- |
|
| 2114 |
+ " <th style='border:1px solid black;padding: 5px'>Sale</th>"
|
- |
|
| 2115 |
+ " <th style='border:1px solid black;padding: 5px'>Smartphone Sale</th>"
|
- |
|
| 2116 |
+ " <th style='border:1px solid black;padding: 5px'>SmartPhone Qty</th>"
|
- |
|
| 2117 |
+ " </tr>");
|
- |
|
| 2118 |
|
2079 |
|
| - |
|
2080 |
DateTimeFormatter timeFormatter = DateTimeFormatter.ofPattern("h:m a");
|
| - |
|
2081 |
List<Integer> categoryIds = Arrays.asList(ProfitMandiConstants.TICKET_CATEGORY_LOGISTICS,
|
| - |
|
2082 |
ProfitMandiConstants.TICKET_CATEGORY_FINANCIAL_SERVICES, ProfitMandiConstants.TICKET_CATEGORY_CATEGORY,
|
| - |
|
2083 |
ProfitMandiConstants.TICKET_CATEGORY_RBM, ProfitMandiConstants.TICKET_CATEGORY_SALES,
|
| - |
|
2084 |
ProfitMandiConstants.TICKET_CATEGORY_MARKETING, ProfitMandiConstants.TICKET_CATEGORY_ACCOUNTS,
|
| - |
|
2085 |
ProfitMandiConstants.TICKET_CATEGORY_BUSINESSINTELLIGENT,
|
| - |
|
2086 |
ProfitMandiConstants.TICKET_CATEGORY_TECHNOLOGY);
|
| 2119 |
/*
|
2087 |
|
| - |
|
2088 |
Map<String, Set<Integer>> storeGuyMap = csService.getAuthUserPartnerIdMappingByCategoryIds(categoryIds);
|
| - |
|
2089 |
|
| - |
|
2090 |
for (Entry<String, Set<Integer>> storeGuyEntry : storeGuyMap.entrySet()) {
|
| - |
|
2091 |
String email = storeGuyEntry.getKey();
|
| 2120 |
* List<Integer> sortedPartnerSalesHeaders =
|
2092 |
Set<Integer> fofoIds = storeGuyEntry.getValue();
|
| - |
|
2093 |
LOGGER.info("fofoIds {}", fofoIds);
|
| - |
|
2094 |
|
| - |
|
2095 |
if (!fofoIds.isEmpty()) {
|
| - |
|
2096 |
List<FofoStore> stores = fofoStoreRepository
|
| - |
|
2097 |
.selectActivePartnersByRetailerIds(new ArrayList<>(fofoIds));
|
| - |
|
2098 |
|
| - |
|
2099 |
Map<String, List<Integer>> stateMap = stores.stream().collect(Collectors.groupingBy(
|
| - |
|
2100 |
x -> x.getCode().substring(0, 2), Collectors.mapping(x -> x.getId(), Collectors.toList())));
|
| - |
|
2101 |
List<List<Serializable>> stateWiseSales = new ArrayList<>();
|
| - |
|
2102 |
for (Map.Entry<String, List<Integer>> stateMapEntry : stateMap.entrySet()) {
|
| 2121 |
* partnerSalesHeadersMap.values().stream()
|
2103 |
long totalQty = stateMapEntry.getValue().stream()
|
| 2122 |
* .sorted(Comparator.comparing(FofoReportingModel::getCode)
|
2104 |
.collect(Collectors.summingLong(x -> saleTargetReportModelMap.get(x).getTotalQty()));
|
| - |
|
2105 |
double totalSale = stateMapEntry.getValue().stream()
|
| 2123 |
* .thenComparing(FofoReportingModel::getRegionalManager)
|
2106 |
.collect(Collectors.summingDouble(x -> saleTargetReportModelMap.get(x).getTotalSale()));
|
| 2124 |
* .thenComparing(FofoReportingModel::getTerritoryManager))
|
2107 |
long smartPhoneQty = stateMapEntry.getValue().stream()
|
| 2125 |
* .map(FofoReportingModel::getFofoId).collect(Collectors.toList());
|
2108 |
.collect(Collectors.summingLong(x -> saleTargetReportModelMap.get(x).getSmartphoneQty()));
|
| - |
|
2109 |
double smartPhoneSale = stateMapEntry.getValue().stream().collect(
|
| - |
|
2110 |
Collectors.summingDouble(x -> saleTargetReportModelMap.get(x).getSmartphoneSale()));
|
| - |
|
2111 |
stateWiseSales.add(
|
| - |
|
2112 |
Arrays.asList(stateMapEntry.getKey(), smartPhoneQty, smartPhoneSale, totalQty, totalSale));
|
| - |
|
2113 |
}
|
| - |
|
2114 |
StringBuilder sb = new StringBuilder();
|
| - |
|
2115 |
sb.append("<html><body>");
|
| - |
|
2116 |
sb.append("<p>Statewise Sale Report:</p><br/><table style='border:1px solid black';cellspacing=0>");
|
| - |
|
2117 |
sb.append("<tbody>\n" + " <tr>"
|
| - |
|
2118 |
+ " <th style='border:1px solid black;padding: 5px'>State</th>"
|
| - |
|
2119 |
+ " <th style='border:1px solid black;padding: 5px'>SmartPhone Qty</th>"
|
| - |
|
2120 |
+ " <th style='border:1px solid black;padding: 5px'>SmartPhone Value</th>"
|
| - |
|
2121 |
+ " <th style='border:1px solid black;padding: 5px'>Total Qty</th>"
|
| - |
|
2122 |
+ " <th style='border:1px solid black;padding: 5px'>Total Value</th>"
|
| - |
|
2123 |
+ " </tr>");
|
| - |
|
2124 |
for (List<Serializable> stateSale : stateWiseSales) {
|
| - |
|
2125 |
sb.append("<tr>");
|
| - |
|
2126 |
sb.append("<td style='border:1px solid black;padding: 5px'>" + stateSale.get(0) + "</td>");
|
| - |
|
2127 |
sb.append("<td style='border:1px solid black;padding: 5px'>" + stateSale.get(1) + "</td>");
|
| - |
|
2128 |
sb.append("<td style='border:1px solid black;padding: 5px'>" + stateSale.get(2) + "</td>");
|
| - |
|
2129 |
sb.append("<td style='border:1px solid black;padding: 5px'>" + stateSale.get(3) + "</td>");
|
| - |
|
2130 |
sb.append("<td style='border:1px solid black;padding: 5px'>" + stateSale.get(4) + "</td>");
|
| - |
|
2131 |
sb.append("</tr>");
|
| 2126 |
*/
|
2132 |
}
|
| - |
|
2133 |
sb.append("</tbody></table><br><br>");
|
| 2127 |
|
2134 |
|
| - |
|
2135 |
sb.append("<p>Sale Report:</p><br/><table style='border:1px solid black';cellspacing=0>");
|
| - |
|
2136 |
sb.append("<tbody>\n" + " <tr>\n"
|
| - |
|
2137 |
+ " <th style='border:1px solid black;padding: 5px'>Code</th>"
|
| - |
|
2138 |
+ " <th style='border:1px solid black;padding: 5px'>Business Name</th>"
|
| - |
|
2139 |
+ " <th style='border:1px solid black;padding: 5px'>Regional Manager</th>"
|
| - |
|
2140 |
+ " <th style='border:1px solid black;padding: 5px'>Territory Manager</th>"
|
| - |
|
2141 |
+ " <th style='border:1px solid black;padding: 5px'>Sale</th>"
|
| - |
|
2142 |
+ " <th style='border:1px solid black;padding: 5px'>Smartphone Sale</th>"
|
| - |
|
2143 |
+ " <th style='border:1px solid black;padding: 5px'>SmartPhone Qty</th>"
|
| - |
|
2144 |
+ " </tr>");
|
| - |
|
2145 |
|
| - |
|
2146 |
/*
|
| - |
|
2147 |
* List<Integer> sortedPartnerSalesHeaders =
|
| - |
|
2148 |
* partnerSalesHeadersMap.values().stream()
|
| - |
|
2149 |
* .sorted(Comparator.comparing(FofoReportingModel::getCode)
|
| - |
|
2150 |
* .thenComparing(FofoReportingModel::getRegionalManager)
|
| - |
|
2151 |
* .thenComparing(FofoReportingModel::getTerritoryManager))
|
| - |
|
2152 |
* .map(FofoReportingModel::getFofoId).collect(Collectors.toList());
|
| - |
|
2153 |
*/
|
| - |
|
2154 |
|
| 2128 |
List<Integer> sortedSaleTargetReport = saleTargetReportModelMap.values().stream()
|
2155 |
List<Integer> sortedSaleTargetReport = saleTargetReportModelMap.values().stream()
|
| - |
|
2156 |
.filter(x -> fofoIds.contains(x.getFofoId()))
|
| 2129 |
.sorted(Comparator.comparing(SaleTargetReportModel::getTotalSale)).map(SaleTargetReportModel::getFofoId)
|
2157 |
.sorted(Comparator.comparing(SaleTargetReportModel::getTotalSale))
|
| 2130 |
.collect(Collectors.toList());
|
2158 |
.map(SaleTargetReportModel::getFofoId).collect(Collectors.toList());
|
| 2131 |
for (Integer fofoId : sortedSaleTargetReport) {
|
2159 |
for (Integer fofoId : sortedSaleTargetReport) {
|
| 2132 |
if (saleTargetReportModelMap.get(fofoId).getPast3daysSale() == 0) {
|
2160 |
if (saleTargetReportModelMap.get(fofoId).getPast3daysSale() == 0) {
|
| 2133 |
sb.append("<tr style='background-color:red'>");
|
2161 |
sb.append("<tr style='background-color:red'>");
|
| 2134 |
} else {
|
2162 |
} else {
|
| 2135 |
sb.append("<tr>");
|
2163 |
sb.append("<tr>");
|
| 2136 |
}
|
2164 |
}
|
| 2137 |
sb.append("<td style='border:1px solid black;padding: 5px'>" + partnerSalesHeadersMap.get(fofoId).getCode()
|
2165 |
sb.append("<td style='border:1px solid black;padding: 5px'>"
|
| 2138 |
+ "</td>");
|
2166 |
+ partnerSalesHeadersMap.get(fofoId).getCode() + "</td>");
|
| 2139 |
sb.append("<td style='border:1px solid black;padding: 5px'>"
|
2167 |
sb.append("<td style='border:1px solid black;padding: 5px'>"
|
| 2140 |
+ partnerSalesHeadersMap.get(fofoId).getBusinessName() + "</td>");
|
2168 |
+ partnerSalesHeadersMap.get(fofoId).getBusinessName() + "</td>");
|
| 2141 |
sb.append("<td style='border:1px solid black;padding: 5px'>"
|
2169 |
sb.append("<td style='border:1px solid black;padding: 5px'>"
|
| 2142 |
+ partnerSalesHeadersMap.get(fofoId).getRegionalManager() + "</td>");
|
2170 |
+ partnerSalesHeadersMap.get(fofoId).getRegionalManager() + "</td>");
|
| 2143 |
sb.append("<td style='border:1px solid black;padding: 5px'>"
|
2171 |
sb.append("<td style='border:1px solid black;padding: 5px'>"
|
| 2144 |
+ partnerSalesHeadersMap.get(fofoId).getTerritoryManager() + "</td>");
|
2172 |
+ partnerSalesHeadersMap.get(fofoId).getTerritoryManager() + "</td>");
|
| 2145 |
sb.append("<td style='border:1px solid black;padding: 5px'>"
|
2173 |
sb.append("<td style='border:1px solid black;padding: 5px'>"
|
| 2146 |
+ saleTargetReportModelMap.get(fofoId).getTotalSale() + "</td>");
|
2174 |
+ saleTargetReportModelMap.get(fofoId).getTotalSale() + "</td>");
|
| 2147 |
sb.append("<td style='border:1px solid black;padding: 5px'>"
|
2175 |
sb.append("<td style='border:1px solid black;padding: 5px'>"
|
| 2148 |
+ saleTargetReportModelMap.get(fofoId).getSmartphoneSale() + "</td>");
|
2176 |
+ saleTargetReportModelMap.get(fofoId).getSmartphoneSale() + "</td>");
|
| 2149 |
sb.append("<td style='border:1px solid black;padding: 5px'>"
|
2177 |
sb.append("<td style='border:1px solid black;padding: 5px'>"
|
| 2150 |
+ saleTargetReportModelMap.get(fofoId).getSmartphoneQty() + "</td>");
|
2178 |
+ saleTargetReportModelMap.get(fofoId).getSmartphoneQty() + "</td>");
|
| 2151 |
sb.append("</tr>");
|
2179 |
sb.append("</tr>");
|
| 2152 |
}
|
2180 |
}
|
| 2153 |
|
2181 |
|
| 2154 |
sb.append("</tr>");
|
2182 |
sb.append("</tr>");
|
| 2155 |
|
2183 |
|
| 2156 |
sb.append("</body></html>");
|
2184 |
sb.append("</body></html>");
|
| 2157 |
|
2185 |
|
| 2158 |
return sb.toString();
|
2186 |
String statewiseSaleReport = sb.toString();
|
| - |
|
2187 |
|
| - |
|
2188 |
String subject = String.format("Sale till %s", String.format(timeString, now.format(timeFormatter)));
|
| - |
|
2189 |
// this.sendMailOfHtmlFomat("amit.gupta@smartukaan.com", saleReport, cc,
|
| - |
|
2190 |
// subject);
|
| - |
|
2191 |
this.sendMailOfHtmlFormat(email, statewiseSaleReport, null, "Statewise" + subject);
|
| - |
|
2192 |
}
|
| - |
|
2193 |
}
|
| 2159 |
}
|
2194 |
}
|
| 2160 |
|
2195 |
|
| 2161 |
private void sendMailOfHtmlFormat(String email, String body, String cc[], String subject)
|
2196 |
private void sendMailOfHtmlFormat(String email, String body, String cc[], String subject)
|
| 2162 |
throws MessagingException, ProfitMandiBusinessException, IOException {
|
2197 |
throws MessagingException, ProfitMandiBusinessException, IOException {
|
| 2163 |
MimeMessage message = mailSender.createMimeMessage();
|
2198 |
MimeMessage message = mailSender.createMimeMessage();
|