标签:分析 __ obj 代码 Sales Forecast CurrencyIsoCode Channel
public with sharing class UpdateCurrencyIsoCode implements Triggers.Handler{ public void handle() { if (Trigger.isUpdate) { //当渠道预测币种更新时,销售渠道明细里的所有记录相应币种都要更新 List<Channel_Sales_Forecast__c> salesforecastNewUpdate =(List<Channel_Sales_Forecast__c>)Trigger.new;Map<ID,String> currencyMap = new Map<ID,String>();
Set<ID> parIdSet = new Set<ID>(); for(Channel_Sales_Forecast__c obj : salesforecastNewUpdate) { //oldforecast Channel_Sales_Forecast__c oldforecast = (Channel_Sales_Forecast__c)Trigger.oldMap.get(obj.Id); if(obj.CurrencyIsoCode != oldforecast.CurrencyIsoCode) { parIdSet.add(obj.id); currencyMap.put(obj.id, obj.CurrencyIsoCode); } }
System.debug('asdfasdfsdfasdfsadf');
List<Channel_Sales_Forecast_Details__c> csfDetail = new List<Channel_Sales_Forecast_Details__c>(); //查询预测详情页上已有的记录 csfDetail = [select id,CurrencyIsoCode,Channel_Sales_Forecast__c,Channel_Sales_Forecast__r.CurrencyIsoCode from Channel_Sales_Forecast_Details__c where Channel_Sales_Forecast__c in :parIdSet]; //???// for(Channel_Sales_Forecast_Details__c obj : csfDetail) { // //Channel_Sales_Forecast__c forecast = (Channel_Sales_Forecast__c)Trigger.oldMap.get(obj.Id); //if(obj.CurrencyIsoCode != salesforecastNewUpdate[0].CurrencyIsoCode) { //如果header页货币种类发生了改变,那么相应的详情页列表中所有的记录都要改变 obj.CurrencyIsoCode = currencyMap.get(obj.Channel_Sales_Forecast__c); //} }
System.debug('csfDetail is = ' + csfDetail);
update csfDetail; } } }
标签:分析,__,obj,代码,Sales,Forecast,CurrencyIsoCode,Channel 来源: https://www.cnblogs.com/GinaHan/p/13686864.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。