trigger ConsumableOrderDetail2 on Consumable_order_details2__c(before insert,before update) {
|
if((trigger.isBefore && trigger.isInsert)||(trigger.isBefore && trigger.isUpdate)){
|
Set<String> accidset = new Set<String>();
|
for(Consumable_order_details2__c con : Trigger.new){
|
if(con.Used_account__c != null ){
|
accidset.add(con.Used_account__c);
|
}
|
|
}
|
List<Account> acclist = [select id,OCM_man_province_txt__c,recordType.Name from account where Id = :accidset];
|
Map<String,String> accmap = new Map<String,String>();
|
Map<String,String> accTyMap = new Map<String,String>();
|
for(Account acc : acclist){
|
// 如果使用客户是经销商合同,取经销商合同的管理省。
|
if(acc.RecordType.Name == '契約'){
|
accmap.put(acc.Id, acc.OCM_man_province_txt__c);
|
}
|
// 如果使用客户是经销商合同和经销商的,取使用客户的类型。
|
if(acc.RecordType.Name == '契約' || acc.RecordType.Name == '販売店'){
|
accTyMap.put(acc.Id, acc.RecordType.Name);
|
}
|
|
}
|
for(Consumable_order_details2__c con : Trigger.new){
|
// 如果是非IF数据源,更新OCSM管理省文本
|
System.debug('明细2的名称======'+con.Name+'con.IF_Information_From__c======'+con.IF_Information_From__c+'con.Used_account__r.OCM_man_province_txt__c======'+con.Used_account__r.OCM_man_province_txt__c);
|
// if(!con.IF_Information_From__c){
|
if(con.Used_account__c != null ){
|
if(accmap.containsKey(con.Used_account__c)){
|
con.Account_province_txt__c = accmap.get(con.Used_account__c);
|
}
|
if(accTyMap.containsKey(con.Used_account__c)){
|
con.Used_Account_Type__c = accTyMap.get(con.Used_account__c);
|
}
|
}
|
// }
|
}
|
}
|
|
}
|