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); 
 | 
                } 
 | 
            } 
 | 
            // } 
 | 
        } 
 | 
    } 
 | 
         
 | 
} 
 |