public with sharing class NewLoanerApplicationController { 
 | 
    //客户ID 
 | 
    public String accountID {get; private set;} 
 | 
    //联系人id 
 | 
    public String contactID {get; private set;} 
 | 
  
 | 
    public loaner_application__c la{get; private set;} 
 | 
    public String typeName {get; private set;} 
 | 
  
 | 
    public String userType {get; private set;} 
 | 
  
 | 
    public String baseUrl { get; set; } 
 | 
    public String rtUrl { get; set; } 
 | 
  
 | 
    public NewLoanerApplicationController() { 
 | 
        baseUrl = URL.getSalesforceBaseUrl().toExternalForm(); 
 | 
        String path = URL.getCurrentRequestUrl().getPath(); 
 | 
        if (path.indexOf('/apex') > 0) { 
 | 
            baseUrl += path.substring(0,path.indexOf('/apex')); 
 | 
        } else if (path.indexOf('production/') > 0) { 
 | 
            baseUrl += '/production'; 
 | 
        } 
 | 
        rtUrl = System.currentPageReference().getParameters().get('retURL'); 
 | 
        if (rtUrl == null || rtUrl == 'null') { 
 | 
            rtUrl = ''; 
 | 
        } 
 | 
    } 
 | 
  
 | 
    public PageReference init() { 
 | 
        userType = UserInfo.getUserType(); 
 | 
        accountID = System.currentPageReference().getParameters().get('accid'); 
 | 
        contactID = System.currentPageReference().getParameters().get('conId'); 
 | 
  
 | 
        Account acc = [select id,ProductSegment__c from Account where id = :accountID]; 
 | 
        typeName = acc.ProductSegment__c; 
 | 
        Id recordTypeId =Schema.SObjectType.loaner_application__c.getRecordTypeInfosByName() 
 | 
                  .get(typeName).getRecordTypeId(); 
 | 
         
 | 
        la = new loaner_application__c(); 
 | 
        la.RecordTypeId= recordTypeId; 
 | 
        if(typeName == 'BS' && userType != 'Standard'){ 
 | 
            la.RecordTypeId = System.label.bs_D_ID; 
 | 
        } 
 | 
        System.debug(la.RecordTypeId); 
 | 
        //ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error,accountID)); 
 | 
        return null; 
 | 
    } 
 | 
  
 | 
    public PageReference saveBtn() { 
 | 
        if(la.Request_shipping_Date__c < Date.today()){ 
 | 
             ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '到货日不得早于今天')); 
 | 
            return null; 
 | 
        } 
 | 
        if(la.Request_shipping_Date__c >= la.Request_return_Date__c){ 
 | 
             ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '归还日不得早于到货日')); 
 | 
            return null; 
 | 
        } 
 | 
        Account acc = [select id,Name from Account where id = :accountID]; 
 | 
        la.Loaner_Account__c = acc.Name; 
 | 
        la.ApplyPerson__c = UserInfo.getUserId(); 
 | 
         Savepoint sp = Database.setSavepoint(); 
 | 
        try { 
 | 
            insert la; 
 | 
  
 | 
            loaner_user__c lu = new loaner_user__c(); 
 | 
            lu.loaner_application__c = la.id; 
 | 
            lu.Customer__c = accountID; 
 | 
              
 | 
             if(contactID != null){ 
 | 
                 lu.Contact__c = contactID; 
 | 
                 Contact contact = [select id,Phone,Name,Address1__c from Contact where id = :contactID]; 
 | 
                 lu.ContactNumber__c = contact.Phone; 
 | 
                  
 | 
             } 
 | 
              
 | 
            insert lu; 
 | 
            String url = baseUrl + '\\' + la.Id; 
 | 
            return new Pagereference(url); 
 | 
        } catch (Exception e) { 
 | 
            Database.rollback(sp); 
 | 
            ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, e.getMessage())); 
 | 
        } 
 | 
  
 | 
        return null; 
 | 
    } 
 | 
  
 | 
        public PageReference cancelBtn() { 
 | 
        // 返回样机借出申请画面 
 | 
        String url = baseUrl; 
 | 
        if(contactID == null){ 
 | 
            url += '\\' + accountID; 
 | 
        }else{ 
 | 
            url += '\\' + contactID; 
 | 
        } 
 | 
         
 | 
        return new Pagereference(url); 
 | 
        return null; 
 | 
    } 
 | 
} 
 |