Li Jun
2022-03-28 f5a94e721ae5a26f817f0df75065b64f1f192eb3
force-app/main/default/classes/StraightBackAddressController.cls
@@ -66,7 +66,14 @@
    public String contactNameValue{set;get;}
    public String contactIdValue{set;get;}
    public String addressDataIds{set;get;} 
    public String sfRecordId{set;get;}
    // Add by Li Jun for PIPL 20220308 End
    public String accRecordTypeId {set;get;}//当前 记录类型id
    public String accOfficeTypeId {set;get;}//记录类型id  办事处
    public String accAgencyTypeId {set;get;}//记录类型id  販売店
    public String accAgencyContactTypeId {set;get;}//记录类型id  经销商联系人
    public StraightBackAddressController() {
        //获取url数据
@@ -100,6 +107,9 @@
     * 开始方法
     */
    public PageReference init(){
        accOfficeTypeId = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName().get('Office').getRecordTypeId();
        accAgencyTypeId = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName().get('Agency').getRecordTypeId();
        accAgencyContactTypeId = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName().get('AgencyContact').getRecordTypeId();
        String RepairSql = makeTextRepairSql(RepairId);
        try{
            pc = Database.query(RepairSql);
@@ -147,7 +157,19 @@
        newCon = new Contact();
        return null;
    }
    //查询客户记录类型
    public PageReference queryRecordType(){
        if(insUpdData.Customer__c!=null){
            String accid = insUpdData.Customer__c;
            Account acc = [SELECT id,name,RecordTypeId FROM Account WHERE id =: accid];
            System.debug('acc---'+acc);
            System.debug('insUpdData---'+insUpdData);
            if(acc!=null&&acc.RecordTypeId!=null&&insUpdData.Customer__c!=null){
                accRecordTypeId = acc.RecordTypeId;
            }
        }
        return null;
    }
    //编辑获取数据
    public PageReference onEditor(){
        if(!String.isBlank(UpdId)){
@@ -232,7 +254,7 @@
                        try{
                            //保存数据到修理表中
                            Repair__c rc = new Repair__c();
                            rc.id=RepairId;
                            rc.id = RepairId;
                            rc.Address_AWS_Data_Id__c = tableData[i].address.AWS_Data_Id__c;
                            rc.Contact_AWS_Data_Id__c = contactawsDataId;
                            rc.address_Contacts__c = contactsName;
@@ -350,12 +372,14 @@
            List<Address__c> dataList = Database.query(AddressSql);
            if(dataList != null && dataList.size()> 0){
                indexCou += dataList.size();
                System.debug('dataList-----'+dataList);
                for(Integer i = 0;i<dataList.size();i++){
                    String createID = dataList[i].CreatedByid;
                    createId = createId.substring(0,15);
                    //办事处的地址不可修改
                    if(dataList[i].Address_Classification__c == '办事处'){
                            tableData.add(new AddressData(dataList[i],'none','none','inline'));
                        tableData.add(new AddressData(dataList[i],'none','none','inline'));
                    }else{
                        //只能改自己创建的地址数据,系统管理员、GPI_系统管理员New 没限制
                        if(loginPerson == createId ||loginPerson == '00e10000000dzzG' ||loginPerson == '00e10000000Y3o5'){
@@ -470,7 +494,6 @@
                }
            }
            //判断联系人是否都为空
            if(insUpdData.Contacts__c == null || String.isBlank(insUpdData.Contacts__c)){
                //判断新建联系人是否为空
                if(insUpdData.Create_Contacts__c == null || String.isBlank(insUpdData.Create_Contacts__c)){
@@ -493,10 +516,16 @@
                            surname = surname.substring(0,1);
                        }
                        System.debug('newCon = '+newCon);
                        addContact = new Contact(LastName=surname,FirstName=monicker,AccountId=insUpdData.Customer__c,RecordTypeId=typeL,AWS_Data_Id__c = newCon.AWS_Data_Id__c,LastName_Encrypted__c=newCon.LastName_Encrypted__c);
                        addContact = new Contact(LastName = surname,
                                                FirstName = monicker,
                                                AccountId = insUpdData.Customer__c,
                                                RecordTypeId = typeL,
                                                AWS_Data_Id__c = newCon.AWS_Data_Id__c,
                                                LastName_Encrypted__c = newCon.LastName_Encrypted__c);
                        try{
                            //新增一条联系人数据
                            insert addContact;
                            sfRecordId = addContact.id;
                            insUpdData.Create_Contacts__c = '';
                        }catch(Exception e){
                            //ApexPages.addMessages(e);
@@ -527,6 +556,7 @@
                try{
                    //新增或修改数据
                    upsert insUpdData;
                    ApexPages.addmessage(new ApexPages.message(ApexPages.severity.INFO, '保存成功!'));
                    isSearchBtn = true;
                    //保存成功,需要初始化一下此对象,防止再次点击此按钮保存一个条同样的数据
@@ -557,7 +587,7 @@
    }
    //查询地址表数据
    private String makeTextAddressSql(String typeSearchId) {
        String AddressSql = 'SELECT AWS_Data_Id__c,ID,Address_Classification__c,Customer__c,Customer__r.Name,Contacts__c,Contacts__r.Name,Contacts__r.AWS_Data_Id__c,Telephone__c'
        String AddressSql = 'SELECT AWS_Data_Id__c,ID,Address_Classification__c,Customer__c,Customer__r.Name,Customer__r.Type,Customer__r.RecordTypeId,Contacts__c,Contacts__r.Name,Contacts__r.AWS_Data_Id__c,Telephone__c'
                        +',Province__c,Province__r.Name,City__c,City__r.name,Detailed_Address__c,Create_Contacts__c,ZipCode__c,CreatedByid,Detailed_Address_Encrypted__c,Telephone_Encrypted__c,ZipCode_Encrypted__c,Contacts__r.LastName_Encrypted__c'
                        + ' FROM Address__c where id != null';
        //类型筛选