You need to sign in to do that
Don't have an account?
hiteshwar marni
email attachment
public class caseReportGenerator{
public static void caseReport(){
list<user> u=[select id,name,email,isactive from user where id in (select userorgroupid from groupmember where group.name = 'HR - HR Tech Ops') and isActive=true];
map<string,integer>userList= new map<string,integer>();
map<string,integer>usersInQueue= new map<string,integer>();
list<AggregateResult>caseCount=[select owner.name userName,count(id) Total from case group by owner.name ];
for(AggregateResult aggResult : caseCount)
{
userList.put((String)aggResult.get('userName'), (integer)aggResult.get('total'));
}
for(user uu:u)
{
if(userList.containsKey(uu.id))
{
usersInQueue.put(uu.name,userList.get(uu.name));
}
}
string csvHeader = 'User Name,Count \n';
string mainContent = csvHeader;
for (string s: usersInQueue.keySet()) {
string recordString = s+','+usersInQueue.get(s) +'\n';
mainContent += recordString;
system.debug('rrrrrrrr'+recordString );
system.debug('mmmmmmmmmm'+mainContent );
}
Messaging.EmailFileAttachment csvAttcmnt = new Messaging.EmailFileAttachment ();
//Create CSV file using Blob
blob csvBlob = Blob.valueOf (mainContent);
string csvname= 'Case Report.csv';
csvAttcmnt.setFileName (csvname);
csvAttcmnt.setBody (csvBlob);
Messaging.SingleEmailMessage singEmail = new Messaging.SingleEmailMessage ();
String [] toAddresses = new list<string> {'hiteshwar_mani@intuit.com'};
//Set recipient list
singEmail.setToAddresses (toAddresses);
String subject ='Case Reportcsv';
singEmail.setSubject (subject);
singEmail.setPlainTextBody ('Case Report csv');
//Set blob as CSV file attachment
singEmail.setFileAttachments (new Messaging.EmailFileAttachment []{csvAttcmnt});
Messaging.SendEmailResult [] r = Messaging.sendEmail (new Messaging.SingleEmailMessage [] {singEmail});
}
}
Here I'm geting records into each and every debug statement.but i'm not getting records into csv attachment.please help me
thanks
public static void caseReport(){
list<user> u=[select id,name,email,isactive from user where id in (select userorgroupid from groupmember where group.name = 'HR - HR Tech Ops') and isActive=true];
map<string,integer>userList= new map<string,integer>();
map<string,integer>usersInQueue= new map<string,integer>();
list<AggregateResult>caseCount=[select owner.name userName,count(id) Total from case group by owner.name ];
for(AggregateResult aggResult : caseCount)
{
userList.put((String)aggResult.get('userName'), (integer)aggResult.get('total'));
}
for(user uu:u)
{
if(userList.containsKey(uu.id))
{
usersInQueue.put(uu.name,userList.get(uu.name));
}
}
string csvHeader = 'User Name,Count \n';
string mainContent = csvHeader;
for (string s: usersInQueue.keySet()) {
string recordString = s+','+usersInQueue.get(s) +'\n';
mainContent += recordString;
system.debug('rrrrrrrr'+recordString );
system.debug('mmmmmmmmmm'+mainContent );
}
Messaging.EmailFileAttachment csvAttcmnt = new Messaging.EmailFileAttachment ();
//Create CSV file using Blob
blob csvBlob = Blob.valueOf (mainContent);
string csvname= 'Case Report.csv';
csvAttcmnt.setFileName (csvname);
csvAttcmnt.setBody (csvBlob);
Messaging.SingleEmailMessage singEmail = new Messaging.SingleEmailMessage ();
String [] toAddresses = new list<string> {'hiteshwar_mani@intuit.com'};
//Set recipient list
singEmail.setToAddresses (toAddresses);
String subject ='Case Reportcsv';
singEmail.setSubject (subject);
singEmail.setPlainTextBody ('Case Report csv');
//Set blob as CSV file attachment
singEmail.setFileAttachments (new Messaging.EmailFileAttachment []{csvAttcmnt});
Messaging.SendEmailResult [] r = Messaging.sendEmail (new Messaging.SingleEmailMessage [] {singEmail});
}
}
Here I'm geting records into each and every debug statement.but i'm not getting records into csv attachment.please help me
thanks