李彤
2022-04-02 1949e7ccb3bfab67ad2b16d7e0172851c3f823bb
force-app/main/default/classes/NFM106Controller.cls
@@ -66,24 +66,58 @@
                }
            }
        }
        //Repair测试类跳过 thh 20220401 start
        if(StaticParameter.EscapeNFM106Trigger){
            return;
        }
        //Repair测试类跳过 thh 20220401 end
        if (Trigger.isBefore) {
            if (Trigger.isUpdate) {
                for(Maintenance_Contract__c mc : newList) {
                    // 虚拟维修合同跳过
                    if (mc.RecordType_DeveloperName__c == 'VM_Contract')continue ;
                    if (NFM106Controller.NFM106_Ids.contains(mc.Id) == false && mc.Status__c == '契約') {
                        if (oldMap.get(mc.Id).Status__c != mc.Status__c
                                || oldMap.get(mc.Id).Contract_Conclusion_Date__c != mc.Contract_Conclusion_Date__c
                        ) {
                            if (String.isBlank(mc.Maintenance_Contract_No__c)) {
                                mc.addError('状态变为合同时,必须输入「' + Schema.SObjectType.Maintenance_Contract__c.fields.Maintenance_Contract_No__c.label + '」');
                                continue;
                            }
                            mcIds.put(mc.Id, mc.Id);
                            mcNoList.add(mc.Maintenance_Contract_No__c);
                            NFM106Controller.debug_msg += 'NFM106_callout_update_' + mc.Name;
                    //update     wangweipeng                               2021/11/16   start
                    //新增先款后修功能,如果经销商是先款对象,需要先认款合同上传然后再上传SAP
                    //判断是否需要走认款的接口
                    boolean flag = false;
                    if(mc.old_Is_RecognitionModel__c){
                        //判断当前合同是否已经认款完成
                        if(!mc.Is_Recognition_Model_True__c){
                            flag = true;
                        }
                    }
                    //为true时,证明此合同必须先上传认款合同,然后再能走上传SAP接口
                    if(flag){
                        //如果是否认款合同字段为true,并且认款合同状态变为 认款中,那么就走认款接口
                        if(mc.upload_to_RM_time__c != null && (oldMap.get(mc.Id).upload_to_RM_time__c != mc.upload_to_RM_time__c)){
                            //走认款接口,状态不变
                            if(NFM106Controller.NFM106_Ids.contains(mc.Id) == false && mc.Status__c == '引合中'){
                                if (String.isBlank(mc.Maintenance_Contract_No__c)) {
                                    mc.addError('状态变为合同时,必须输入「' + Schema.SObjectType.Maintenance_Contract__c.fields.Maintenance_Contract_No__c.label + '」');
                                    continue;
                                }
                                mcIds.put(mc.Id, mc.Id);
                                mcNoList.add(mc.Maintenance_Contract_No__c);
                                NFM106Controller.debug_msg += 'NFM106_callout_update_' + mc.Name;
                            }
                        }
                    } else {//正常上传SAP接口
                        if (NFM106Controller.NFM106_Ids.contains(mc.Id) == false && mc.Status__c == '契約') {
                            if (oldMap.get(mc.Id).Status__c != mc.Status__c
                                    || oldMap.get(mc.Id).Contract_Conclusion_Date__c != mc.Contract_Conclusion_Date__c
                            ) {
                                if (String.isBlank(mc.Maintenance_Contract_No__c)) {
                                    mc.addError('状态变为合同时,必须输入「' + Schema.SObjectType.Maintenance_Contract__c.fields.Maintenance_Contract_No__c.label + '」');
                                    continue;
                                }
                                mcIds.put(mc.Id, mc.Id);
                                mcNoList.add(mc.Maintenance_Contract_No__c);
                                NFM106Controller.debug_msg += 'NFM106_callout_update_' + mc.Name;
                            }
                        }
                    }
                    //update     wangweipeng                          2021/11/16   end
                }
            }
        }
@@ -362,7 +396,8 @@
            // CHAN-BSV3GZ start
            // 原代码
            // rowData.retry_cnt__c=0;
            if (status == 'OK') {
            system.debug('status15122021'+status);
            if (status == 'ok') {
                rowData.retry_cnt__c = 0;
            } else {
                if (rowData.retry_cnt__c == null) rowData.retry_cnt__c = 0;