李彤
2023-03-24 e17750829bfb841dcb4e55a93bd0860df6efbb55
失单退询价
1个文件已修改
33 ■■■■ 已修改文件
force-app/main/default/classes/LostCancelReportHandler.cls 33 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LostCancelReportHandler.cls
@@ -239,7 +239,6 @@
            // for产品
            for (PCLLostProduct__c lcr : lcrList) {
                if (opp.Id==lcr.Opportunity__c) {
                    //20220930  lt SWAG-CHL5XA【FY23询价改善】-统计主机台数 start
                    if(lcr.ProductClass__c == '主机'){
                        opp.RivalHostsNumber__c += lcr.Quantity__c;
@@ -326,12 +325,13 @@
                    opp.of_lost_system_processor__c=lcr.PCLLostBrand__r.Lost_cancel_report__r.of_lost_system_processor__c;
                }
            }
            //20230215 lt DB202302247719 start
            //20230215 lt DB202302247719 start
            if(arrMap.get(lcro).TotalAmountLost__c != null){
                if(opp.LostPrices__c == null){
                    opp.LostPrices__c = 0;
                }
                opp.LostPrices__c+=arrMap.get(lcro).TotalAmountLost__c;
                // System.debug('lt123---opp.LostPrices__c---失单金额2: '+opp.LostPrices__c);
            }
            //20230215 lt DB202302247719 end
@@ -345,7 +345,6 @@
            oppList.add(opp);
        }
        update oppList;
    }
    // tcm 20211126 更新询价信息 end
@@ -404,13 +403,31 @@
        }
        System.debug('oppIds: ' + oppIds);
        if (oppIds.size() > 0) {
            List<Opportunity> opps = [select Id, StageName, Final_Contract_Proceeded_Date__c, Lost_Opportunity_Date__c from Opportunity where Id in :oppIds and StageName in ('敗戦', '削除')];
            System.debug('opps: ' + opps);
            //DB202303237846 lt 20230316 add   , Lost_Cancel_Report__c,Lost_Cancel_Report__r.Report_Status__c,Lost_Cancel_Report__r.LostType__c
            List<Opportunity> opps = [select Id, StageName, Final_Contract_Proceeded_Date__c, Lost_Opportunity_Date__c, Lost_Cancel_Report__c,Lost_Cancel_Report__r.Report_Status__c,Lost_Cancel_Report__r.LostType__c from Opportunity where Id in :oppIds and StageName in ('敗戦', '削除')];
            System.debug('opps: ' + opps);
            //DB202303237846 lt 20230316 start
            Set<String> oppSet = new Set<String>();
            List<Lost_Cancel_Report__c> oppreps = [select Id, Report_Status__c, LostType__c, Opportunity__c from Lost_Cancel_Report__c where Opportunity__c in :opps and Report_Status__c='批准' and LostType__c = '失单'];
            if(oppreps.Size() > 0){
                for(Lost_Cancel_Report__c lcp : oppreps){
                    oppSet.add(lcp.Opportunity__c);
                }
            }
            if (opps.size() > 0) {
                for (Opportunity opp : opps) {
                    opp.StageName = '引合';
                    opp.Final_Contract_Proceeded_Date__c = null;
                    opp.Lost_Opportunity_Date__c = null;
                    if(oppSet.size() > 0 && oppSet.contains(opp.Id)){
                        continue;
                   }else{
                        opp.StageName = '引合';
                        opp.Final_Contract_Proceeded_Date__c = null;
                        opp.Lost_Opportunity_Date__c = null;
                   }
                    // if(opp.Lost_Cancel_Report__c == null || (opp.Lost_Cancel_Report__c != null && (opp.Lost_Cancel_Report__r.Report_Status__c != '批准' || opp.Lost_Cancel_Report__r.LostType__c != '失单'))){
                    // }
            //DB202303237846 lt 20230316 end
                }
                update opps;
            }