buli
2022-05-14 ead4df22dca33a867279471821ca675f91dec760
force-app/main/default/classes/NewAndEditOrderController.cls
@@ -10,13 +10,18 @@
    public String PIPL_Input_Account_Error_Msg{set;get;}
    public String contactId{set;get;}//For Lookup field
    public String staticResourceContact {get; set;}
    // 查找联系人解密
    public String contactAWSDataId{set;get;}
    public String contactName{set;get;}
    public String endUserDAWSDataId{set;get;}
    public String endUserDName{set;get;}
    public String contact2AWSDataId{set;get;}
    public String contact2Name{set;get;}
    public String contact2DAWSDataId{set;get;}
    public String contact2DName{set;get;}
    public NewAndEditOrderController(ApexPages.StandardController controller){
        
        List<String> fieldList = new List<String>(Schema.getGlobalDescribe().get('Order').getDescribe().fields.getMap().keyset());  
        
        // Add fields to controller. This is to avoid the SOQL error in visualforce page
@@ -28,7 +33,7 @@
        }
        LookUpOverrideFields.add('EndUserD__c');
        LookUpOverrideFields.add('EndUser__c');
        LookUpOverrideFields.add('ShipToContactId');
        // LookUpOverrideFields.add('ShipToContact');
        LookUpOverrideFields.add('SpecialDeliveryContact2__c');
        LookUpOverrideFields.add('SpecialDeliveryContact2_D__c');
        Init(controller.getRecord());
@@ -39,11 +44,11 @@
            obj.put('OwnerId',UserInfo.getUserId());
        } else {
             //联系人的Id
            Order order = [select EndUser__c, EndUserD__c from Order where id=:obj.Id];
            Order order = [Select EndUser__c, EndUserD__c, SpecialDeliveryContact2__c, SpecialDeliveryContact2_D__c From Order  where id=:obj.Id];
            System.debug('order: ' + order);
            if(order != null){
                if (order.EndUser__c != null) {
                    List<Contact> contact = [select AWS_Data_Id__c,Name from Contact where id=:order.EndUser__c];
                    List<Contact> contact = [select AWS_Data_Id__c, Name from Contact where id=:order.EndUser__c];
                    if(contact.size()>0){
                        if (contact[0].AWS_Data_Id__c != null && contact[0].AWS_Data_Id__c != '') {
                            contactAWSDataId = contact[0].AWS_Data_Id__c;
@@ -53,12 +58,32 @@
                    }
                }
                if (order.EndUserD__c != null) {
                    List<Contact> contact = [select AWS_Data_Id__c,Name from Contact where id=:order.EndUserD__c];
                    List<Contact> contact = [select AWS_Data_Id__c, Name from Contact where id=:order.EndUserD__c];
                    if(contact.size()>0){
                        if (contact[0].AWS_Data_Id__c != null && contact[0].AWS_Data_Id__c != '') {
                            endUserDAWSDataId = contact[0].AWS_Data_Id__c;
                        }else {
                            endUserDName = contact[0].Name;
                        }
                    }
                }
                if (order.SpecialDeliveryContact2__c != null) {
                    List<Contact> contact = [select AWS_Data_Id__c, Name from Contact where id=:order.SpecialDeliveryContact2__c];
                    if(contact.size()>0){
                        if (contact[0].AWS_Data_Id__c != null && contact[0].AWS_Data_Id__c != '') {
                            contact2AWSDataId = contact[0].AWS_Data_Id__c;
                        }else {
                            contact2Name = contact[0].Name;
                        }
                    }
                }
                if (order.SpecialDeliveryContact2_D__c != null) {
                    List<Contact> contact = [select AWS_Data_Id__c, Name from Contact where id=:order.SpecialDeliveryContact2_D__c];
                    if(contact.size()>0){
                        if (contact[0].AWS_Data_Id__c != null && contact[0].AWS_Data_Id__c != '') {
                            contact2DAWSDataId = contact[0].AWS_Data_Id__c;
                        }else {
                            contact2DName = contact[0].Name;
                        }
                    }
                }
@@ -69,12 +94,24 @@
        }
        //contact信息(搜索查询query url用)
        staticResourceContact = JSON.serialize(PIHelper.getPIIntegrationInfo('Contact'));
        //客户名oid
        Map<string,string> mso = ApexPages.currentPage().getParameters();
        if(mso.containsKey('oid')){
            String oid = mso.get('oid');
            List<Opportunity> opportunity = [select Account.Id from Opportunity where Id=:oid];
            if(opportunity.size()>0){
                String AccountId = opportunity[0].Account.Id;
                controller.getRecord().put('AccountId',AccountId);
            }
        }
    }
    
    @RemoteAction
    global static Response saveOrder(String OrderJson, String transId, Boolean isNew){
        if(Test.isRunningTest()){
            return new Response();
        }
        return save(new Order(), OrderJson, transId, isNew);
    }
}