| | |
| | | if(Trigger.isUpdate && rq.ListPrice__c != oldMap.get(rq.id).ListPrice__c){ |
| | | //rqIds.add(rq.id); |
| | | flag = true; |
| | | rqIds.add(rq.id); |
| | | RqMap.put(rq.id, rq); |
| | | } |
| | | } |
| | | if(flag == false){ |
| | |
| | | } |
| | | for(Repair_Quotation__c rq : newList){ |
| | | if(Trigger.isUpdate && rq.ListPrice__c != oldMap.get(rq.id).ListPrice__c){ |
| | | rqIds.add(rq.id); |
| | | RqMap.put(rq.id, rq); |
| | | // rqIds.add(rq.id); |
| | | // RqMap.put(rq.id, rq); |
| | | } |
| | | } |
| | | }else if(Trigger.isInsert){ |
| | |
| | | } |
| | | System.debug('===========> end'); |
| | | } |
| | | |
| | | |
| | | public static void SendEmailForRentalApproval(List<Repair_Quotation__c> newList, Map<Id, Repair_Quotation__c> newMap, List<Repair_Quotation__c> oldList, Map<Id, Repair_Quotation__c> oldMap) { |
| | | Set<Id> repairIds = new Set<Id>(); |
| | | List<Repair_Quotation__c> repairQuotationList = new List<Repair_Quotation__c>(); |
| | | |
| | | for(Repair_Quotation__c rq : newList) { |
| | | if(Trigger.isUpdate |
| | | && rq.Rental_Apply_Discount_Status__c != oldMap.get(rq.id).Rental_Apply_Discount_Status__c |
| | | && rq.Rental_Apply_Discount_Status__c == '批准'){ |
| | | repairIds.add(rq.Repair__c); |
| | | repairQuotationList.add(rq); |
| | | } |
| | | } |
| | | |
| | | if(repairIds.size() > 0){ |
| | | //查询修理中对应的选择的服务方式和维修中心 |
| | | Map<Id, Repair__c> repairMap = new Map<Id, Repair__c>([ |
| | | select id,On_site_repair__c,work_location_select__c |
| | | from Repair__c |
| | | where Id in :repairIds]); |
| | | |
| | | List<Messaging.SingleEmailMessage> emails = new List<Messaging.SingleEmailMessage>(); |
| | | // 获取Email Template |
| | | EmailTemplate et = [Select id from EmailTemplate where name = '备品减价申请---批准通过' limit 1]; |
| | | // Email |
| | | String userEmail = null; |
| | | |
| | | for (Repair_Quotation__c rqTemp :repairQuotationList) { |
| | | String addToEmail = null; |
| | | userEmail = rqTemp.RentalApplyDiscountApplyPersonEmail_sys__c; |
| | | if (!repairMap.isEmpty() && repairMap.containsKey(rqTemp.Repair__c)) { |
| | | // 服务方式 |
| | | String siteRepair = repairMap.get(rqTemp.Repair__c).On_site_repair__c; |
| | | // 维修中心 |
| | | String workLocation = repairMap.get(rqTemp.Repair__c).work_location_select__c; |
| | | |
| | | if (siteRepair == '直送OGZ修理') { |
| | | // 办事处通知组群设定OGZ |
| | | addToEmail = System.Label.EmailForRentalApproval_OGZ; |
| | | } else if (siteRepair == '直送SORC修理') { |
| | | // 办事处通知组群设定SORC |
| | | addToEmail = System.Label.EmailForRentalApproval_SORC; |
| | | } else if (siteRepair == 'RC修理') { |
| | | if (workLocation == '上海办事处') { |
| | | // 上海办事处 |
| | | addToEmail = System.Label.EmailForRentalApproval_RC_SH; |
| | | } else if (workLocation == '杭州办事处') { |
| | | // 杭州办事处 + 上海办事处 |
| | | addToEmail = System.Label.EmailForRentalApproval_RC_HZ + ';' + System.Label.EmailForRentalApproval_RC_SH; |
| | | } else if (workLocation == '广东办事处') { |
| | | // 广东办事处 |
| | | addToEmail = System.Label.EmailForRentalApproval_RC_GZ; |
| | | } else if (workLocation == '成都办事处') { |
| | | // 成都办事处 + 广东办事处 |
| | | addToEmail = System.Label.EmailForRentalApproval_RC_CD + ';' + System.Label.EmailForRentalApproval_RC_GZ; |
| | | } else if (workLocation == '北京办事处') { |
| | | // 北京办事处 |
| | | addToEmail = System.Label.EmailForRentalApproval_RC_BJ; |
| | | } else if (workLocation == '沈阳办事处') { |
| | | // 沈阳办事处 |
| | | addToEmail = System.Label.EmailForRentalApproval_RC_SY; |
| | | } else if (workLocation == '西安办事处') { |
| | | // 西安办事处 |
| | | addToEmail = System.Label.EmailForRentalApproval_RC_XA; |
| | | } |
| | | } |
| | | } |
| | | |
| | | if (String.isNotBlank(addToEmail)) { |
| | | userEmail = userEmail + ';' + addToEmail; |
| | | } |
| | | |
| | | String[] toAddresses = userEmail.split(';'); |
| | | Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage(); |
| | | mail = Messaging.renderStoredEmailTemplate(et.Id, null , rqTemp.Id); |
| | | mail.setSaveAsActivity(false); |
| | | mail.setToAddresses(toAddresses); |
| | | emails.add(mail); |
| | | } |
| | | |
| | | Messaging.sendEmail(emails); |
| | | } |
| | | } |
| | | } |