From 1312ba82d4c880bdb5357d28e0d4af5b285f610f Mon Sep 17 00:00:00 2001 From: 高章伟 <gaozhangwei@prec-tech.com> Date: 星期四, 10 三月 2022 15:54:39 +0800 Subject: [PATCH] 最近一月修改内容 --- force-app/main/default/classes/InventorySendMailBatch.cls | 62 ++++++++++++++++--------------- 1 files changed, 32 insertions(+), 30 deletions(-) diff --git a/force-app/main/default/classes/InventorySendMailBatch.cls b/force-app/main/default/classes/InventorySendMailBatch.cls index 85b0129..0ab9959 100644 --- a/force-app/main/default/classes/InventorySendMailBatch.cls +++ b/force-app/main/default/classes/InventorySendMailBatch.cls @@ -10,26 +10,24 @@ } global Database.QueryLocator start(Database.BatchableContext BC) { - if (Test.isRunningTest()) { - return Database.getQueryLocator( - [select Id, Name, Email, Manager.Email from User where isActive = true and (ProfileId = :System.label.ProfileId_2S6 - or ProfileId = :System.label.ProfileId_2S7 or ProfileId = :System.label.ProfileId_2S8) limit 1] - ); - } else { - return Database.getQueryLocator( - [select Id, Name, Email, Manager.Email from User where isActive = true and (ProfileId = :System.label.ProfileId_2S6 - or ProfileId = :System.label.ProfileId_2S7 or ProfileId = :System.label.ProfileId_2S8)] - ); - } - + return Database.getQueryLocator( + [SELECT (select userOrGroupId from groupMembers) FROM group WHERE name = '鏍锋湰鐩樼偣灏忕粍'] + ); } - global void execute(Database.BatchableContext BC, List<sObject> User) { - List<User> UserList = User; + global void execute(Database.BatchableContext BC, List<group> gList) { + List<String> IdList = new List<String>(); + if (gList != null && gList.size() > 0) { + for (Group g : gList) { + for (GroupMember gm : g.groupMembers) { + IdList.add(gm.userOrGroupId); + } + } + } Date toDate = Date.today(); Integer day = Integer.valueOf(toDate.day()); - if(System.Test.isRunningTest()|| (UserList.size() > 0 && (day == 6 || day == 14))){ - sendMail(UserList); + if(System.Test.isRunningTest() || (IdList.size() > 0 && (day == 10 || day == 14))){ + sendMail(IdList); } } @@ -62,12 +60,13 @@ iflog.Log__c += logstr; iflog.ErrorLog__c = Errorstr; } - insert iflog; } - public boolean sendMail(List<User> userList) { + public boolean sendMail(List<String> IdList) { boolean rs = true; + List<User> userList = [select Id, Name, Email, Manager.Email from User where id IN :IdList]; + List<Messaging.SingleEmailMessage> sendMails = new List<Messaging.SingleEmailMessage>(); for(User user : userList){ String title = ''; String body = ''; @@ -85,24 +84,27 @@ toMailList.add(user.Email); //鎶勯�佺殑閭 List<String> ccMailList = new List<String>(); - ccMailList.add(user.Manager.Email); - List<Messaging.SingleEmailMessage> sendMails = new List<Messaging.SingleEmailMessage>(); + if(user.Manager.Email != null){ + ccMailList.add(user.Manager.Email); + } Messaging.SingleEmailMessage messageNEW = new Messaging.SingleEmailMessage(); messageNEW.subject = title; messageNEW.htmlBody = body; messageNEW.setCharset('UTF-8'); messageNEW.toAddresses = toMailList; - messageNEW.ccAddresses = ccMailList; + if(ccMailList.size() > 0){ + messageNEW.ccAddresses = ccMailList; + } sendMails.add(messageNEW); - - Messaging.SendEmailResult[] results = messaging.sendEmail(sendMails); - for (Integer i = 0; i < results.size(); i++) { - if (results[i].success == false) { - system.debug('=====send mail error:' + results[i].errors[0].message); - result = false; - Errorstr += 'sendMail error:' + results[i].errors[0].message + '\n'; - rs = false; - } + } + //鍦ㄥ崟涓簨鍔′腑锛屽彧鑳借皟鐢╯end鏂规硶 10 娆°�� + Messaging.SendEmailResult[] results = messaging.sendEmail(sendMails); + for (Integer i = 0; i < results.size(); i++) { + if (results[i].success == false) { + system.debug('=====send mail error:' + results[i].errors[0].message); + result = false; + Errorstr += 'sendMail error:' + results[i].errors[0].message + '\n'; + rs = false; } } return rs; -- Gitblit v1.9.1