李彤
2023-03-16 cb4bae31a02af72fea30e1a57c1d498eabef5d01
force-app/main/default/classes/LostCancelReportHandler.cls
@@ -1,200 +1,421 @@
public without sharing class LostCancelReportHandler extends Oly_TriggerHandler {
   private Map<Id, Lost_cancel_report__c> newMap;
   private Map<Id, Lost_cancel_report__c> oldMap;
   private List<Lost_cancel_report__c> newList;
   private List<Lost_cancel_report__c> oldList;
    private Map<Id, Lost_cancel_report__c> newMap;
    private Map<Id, Lost_cancel_report__c> oldMap;
    private List<Lost_cancel_report__c> newList;
    private List<Lost_cancel_report__c> oldList;
   public LostCancelReportHandler() {
      this.newMap = (Map<Id, Lost_cancel_report__c>) Trigger.newMap;
      this.oldMap = (Map<Id, Lost_cancel_report__c>) Trigger.oldMap;
      this.newList = (List<Lost_cancel_report__c>) Trigger.new;
      this.oldList = (List<Lost_cancel_report__c>) Trigger.old;
   }
    public LostCancelReportHandler() {
        this.newMap = (Map<Id, Lost_cancel_report__c>) Trigger.newMap;
        this.oldMap = (Map<Id, Lost_cancel_report__c>) Trigger.oldMap;
        this.newList = (List<Lost_cancel_report__c>) Trigger.new;
        this.oldList = (List<Lost_cancel_report__c>) Trigger.old;
    }
   // 更新经理(销售) 20200302 Start
   protected override void beforeUpdate() {
      // 更新经理(销售)信息
      updateManager();
   }
   // 更新审批人 20200302 End
    // 更新经理(销售) 20200302 Start
    protected override void beforeUpdate() {
        // 更新经理(销售)信息
        updateManager();
        //【FY23询价改善】-P:中标结果确认任务开发  20220706  更新失单任务确认时间
        updateLostTaskTime();
   protected override void afterUpdate() {
    }
    // 更新审批人 20200302 End
      // 更新询价的失单信息
      //updateLostInfo();
      updateopp();    // by tcm
   }
   /*
      private void updateLostInfo() {
       List<Opportunity> oppList = new List<Opportunity>();
       //2018年7月16日  CHAN-B2HCB7 start 获取字段
       List<Lost_cancel_report__c> temLCRList =
           [select id,Opportunity__c,Report_Status__c,
           Lost_By_Company__c,Lost_reason_main__c , of_lost_system_processor__c,
           Lost_Reason_Sub__c, Lost_By_Product__c,
           CompetitorProduct1__r.id, CompetitorProduct1__r.Name,
           CompetitorProduct2__r.id, CompetitorProduct2__r.Name,
           CompetitorProduct3__r.id, CompetitorProduct3__r.Name,
           CompetitorProduct4__r.id, CompetitorProduct4__r.Name
           from Lost_cancel_report__c
           where id in: newList];
       // 2018年7月16日  CHAN-B2HCB7 end 获取字段
       for (Lost_cancel_report__c n : temLCRList) {
           //Lost_cancel_report__c o = oldMap.get(n.id); && o.Report_Status__c != '批准'
           if (n.Report_Status__c  == '批准' ) {
               Opportunity opp = new Opportunity();
               opp.id = n.Opportunity__c;
               opp.Lost_Cancel_Report__c = n.id;
               //2018年7月16日  CHAN-B2HCB7 start 为业务机会对象的竞争对手产品2、竞争对手产品3和竞争对手产品4赋值
               if (n.CompetitorProduct2__r.id == '01t10000000Tqam') {
                   opp.CompetitorProduct2__c = n.Lost_By_Product__c;
               } else {
                   opp.CompetitorProduct2__c = n.CompetitorProduct2__r.Name;
               }
               if (n.CompetitorProduct3__r.id == '01t10000000Tqam') {
                   opp.CompetitorProduct3__c = n.Lost_By_Product__c;
               } else {
                   opp.CompetitorProduct3__c = n.CompetitorProduct3__r.Name;
               }
               if (n.CompetitorProduct4__r.id == '01t10000000Tqam') {
                   opp.CompetitorProduct4__c = n.Lost_By_Product__c;
               } else {
                   opp.CompetitorProduct4__c = n.CompetitorProduct4__r.Name;
               }
               //2018年7月16日  CHAN-B2HCB7 end 为业务机会对象的竞争对手产品2、竞争对手产品3和竞争对手产品4赋值
               //2018年7月16日  CHAN-B2X9SW  start 为业务机会对象的询价重复赋值
               /*if (n.Cancel_Reason__c == '询价重复') {
                   //opp.Opportunity_repeated_text__c = n.Opportunity_repeated__c;
               }
               //2018年7月16日  CHAN-B2X9SW  end 为业务机会对象的询价重复赋值 by张玉山
               oppList.add(opp);
    protected override void afterUpdate() {
        // 更新询价的失单信息
        //updateLostInfo();
        updateopp();    // by tcm
    }
    //2022-6-22 yjk 询价跟进任务 start
    protected override void afterInsert() {
        updateTask();
    }
    // 2022-7-29 ssm XLIU-CGSC8R 【委托】[改善】询价里删除批准的失单报告状态1自动变
    protected override void afterDelete() {
        // 删除已批准的报告后,把询价状态改回成询价
        updateOppStage();
    }
    private void updateTask(){
        List<Id> oppIdList = new List<Id>();
        Set<Id> oppIdSet = new Set<Id>();
        Set<Id> sdoppidSet = new Set<Id>();
        List<Id> updateOppId = new List<Id>();
        List<Opportunity> updateOpp = new List<Opportunity>();
        for(Lost_cancel_report__c lcr : newList){
            oppIdList.add(lcr.Opportunity__c);
        }
        // 20221202 ljh DB202211594688  start
        // List<task__c> taskList = [select id,taskStatus__c,OpportunityId__c from task__c where RecordType.Name ='中标结果确认' and taskStatus__c = '02 接受' and OpportunityId__c in :oppIdList];
        // for(task__c tsk : taskList){
        //     tsk.taskStatus__c = '03 完成';
        //     //updateOppId.add(tsk.OpportunityId__c); //20220823 you 没有任务时,
        // }
        // LoseListTask 失单报告任务   winBiddingTask  中标结果确认
        List<task__c> taskList = [select id,taskStatus__c,OpportunityId__c,RecordType.Name from task__c where (RecordType.Name ='中标结果确认' or RecordType.Name ='失单报告任务')  and OpportunityId__c in :oppIdList];
        for(task__c tsk : taskList){
            if(tsk.RecordType.Name == '中标结果确认' && tsk.taskStatus__c == '02 接受'){
                tsk.taskStatus__c = '03 完成';
            }
            //20221206 you DB202211594688  先做了竞争对手中标,然后在做部分失单,清空
            if(tsk.RecordType.Name == '失单报告任务'){
                sdoppidSet.add(tsk.OpportunityId__c);
            }
            oppIdSet.add(tsk.OpportunityId__c);
        }
        // for(Id oppId : oppIdList){//20220823 you
        for(Id oppId : oppIdSet){
        // 20221202 ljh DB202211594688  end
            Opportunity opptemp = new Opportunity();
            opptemp.Id = oppId ;
            for(Lost_cancel_report__c lcr : newList){
                //20221205 you DB202211594688  取消得失单报告不设置结果,也不派发任务
                if(lcr.DeveloperName__c !='PCL_Cancel_report'){
                    opptemp.ConfirmationofAward__c = '竞争对手中标';
                }
                if(null!=sdoppidSet && sdoppidSet.contains(oppId) && lcr.DeveloperName__c =='PCL_PartLost_report'){
                    opptemp.ConfirmationofAward__c = '';
                    opptemp.ConfirmationofAward_createTime__c = null;
                    opptemp.Is_ConfirmationofAward__c =null;
                }
            }
            updateOpp.add(opptemp);
        }
      update updateOpp;
        update taskList;
    }
    //2022-6-22 yjk 询价跟进任务 end
    /*
       private void updateLostInfo() {
        List<Opportunity> oppList = new List<Opportunity>();
        //2018年7月16日  CHAN-B2HCB7 start 获取字段
        List<Lost_cancel_report__c> temLCRList =
            [select id,Opportunity__c,Report_Status__c,
            Lost_By_Company__c,Lost_reason_main__c , of_lost_system_processor__c,
            Lost_Reason_Sub__c, Lost_By_Product__c,
            CompetitorProduct1__r.id, CompetitorProduct1__r.Name,
            CompetitorProduct2__r.id, CompetitorProduct2__r.Name,
            CompetitorProduct3__r.id, CompetitorProduct3__r.Name,
            CompetitorProduct4__r.id, CompetitorProduct4__r.Name
            from Lost_cancel_report__c
            where id in: newList];
        // 2018年7月16日  CHAN-B2HCB7 end 获取字段
        for (Lost_cancel_report__c n : temLCRList) {
            //Lost_cancel_report__c o = oldMap.get(n.id); && o.Report_Status__c != '批准'
            if (n.Report_Status__c  == '批准' ) {
                Opportunity opp = new Opportunity();
                opp.id = n.Opportunity__c;
                opp.Lost_Cancel_Report__c = n.id;
                //2018年7月16日  CHAN-B2HCB7 start 为业务机会对象的竞争对手产品2、竞争对手产品3和竞争对手产品4赋值
                if (n.CompetitorProduct2__r.id == '01t10000000Tqam') {
                    opp.CompetitorProduct2__c = n.Lost_By_Product__c;
                } else {
                    opp.CompetitorProduct2__c = n.CompetitorProduct2__r.Name;
                }
                if (n.CompetitorProduct3__r.id == '01t10000000Tqam') {
                    opp.CompetitorProduct3__c = n.Lost_By_Product__c;
                } else {
                    opp.CompetitorProduct3__c = n.CompetitorProduct3__r.Name;
                }
                if (n.CompetitorProduct4__r.id == '01t10000000Tqam') {
                    opp.CompetitorProduct4__c = n.Lost_By_Product__c;
                } else {
                    opp.CompetitorProduct4__c = n.CompetitorProduct4__r.Name;
                }
                //2018年7月16日  CHAN-B2HCB7 end 为业务机会对象的竞争对手产品2、竞争对手产品3和竞争对手产品4赋值
                //2018年7月16日  CHAN-B2X9SW  start 为业务机会对象的询价重复赋值
                /*if (n.Cancel_Reason__c == '询价重复') {
                    //opp.Opportunity_repeated_text__c = n.Opportunity_repeated__c;
                }
                //2018年7月16日  CHAN-B2X9SW  end 为业务机会对象的询价重复赋值 by张玉山
                oppList.add(opp);
            }
        }
        if (oppList.size() > 0) update oppList;
       }
     */
    // 更新经理(销售) 20200302 Start
    private void  updateManager() {
        List<String> userIdList = new List<String>();
        for (Lost_cancel_report__c n: newList) {
            if (Trigger.isUpdate && (n.Report_Status__c != oldMap.get(n.Id).Report_Status__c) && (n.Report_Status__c == '申请中')) {
                userIdList.add(n.OwnerId__c);
            }
        }
        Map<String, User> userMap = new Map<String, User>();
        List<User> userList = [select Id, SalesManager__c from user where id =: userIdList];
        for (User u : userList) {
            String sid = u.Id;
            userMap.put(sid.substring(0,15), u);
        }
        for (Lost_cancel_report__c n : newList) {
            if (Trigger.isUpdate && (n.Report_Status__c != oldMap.get(n.Id).Report_Status__c) && (n.Report_Status__c == '申请中')) {
                if (userMap.get(n.OwnerId__c) != null) {
                    n.Manager_sales__c = userMap.get(n.OwnerId__c).SalesManager__c;
                }
            }
        }
    }
    // 更新审批人 20200302 End
    // tcm 20211126 更新询价信息 start
    private void  updateopp() {
        Set<String> oppIdPZSet = new Set<String>(); // 20221202 ljh DB202211594688  start // 失单报告批准后,自动设置竞争对手中标和中标结果确认日
        // 清除不需要更新的
        Map<Id,Lost_cancel_report__c> arrMap=new Map<Id,Lost_cancel_report__c>();
        for (String newlcro : newMap.keyset()) {
            if (newMap.get(newlcro).Report_Status__c=='批准'&&oldMap.get(newlcro).Report_Status__c!='批准') {
                arrMap.put(newlcro,newMap.get(newlcro));
                // 20221202 ljh DB202211594688  start
                // 失单报告任务的询价
                if(String.isNotBlank(newMap.get(newlcro).Opportunity__c) && newMap.get(newlcro).DeveloperName__c == 'PCL_Lost_report'){
                    oppIdPZSet.add(newMap.get(newlcro).Opportunity__c);
                }
                // 20221202 ljh DB202211594688  end
            }
        }
        //20220708 询价任务开发,结束失单任务状态,筛选需要的修改的失单任务 start
        Set<String> oppIdSet = new Set<String>();
        for (Lost_cancel_report__c n: newList) {
            if ((n.Report_Status__c != oldMap.get(n.Id).Report_Status__c) && n.Report_Status__c == '申请中') {
                oppIdSet.add(n.Opportunity__c);
            }
        }
        // 20220720 ljh add 记录取消/失单报告提交时点的战略产品判断 start
        if(oppIdSet.size() > 0 ){
            List<OpportunityLineItem> OppLIlist = [select Id,Key_product_147P_Text__c,Key_product_147P__c from OpportunityLineItem  where OpportunityId in :oppIdSet];
            for(OpportunityLineItem oli : OppLIlist){
                oli.Key_product_147P_Text__c = oli.Key_product_147P__c;
            }
            update OppLIlist;
        // 20220720 ljh add 记录取消/失单报告提交时点的战略产品判断 end
           List<task__c> taskList = [select id,taskStatus__c from task__c where RecordType.Name ='失单报告任务' and taskStatus__c = '02 接受' and OpportunityId__c in :oppIdSet];
           for(task__c tsk : taskList){
               tsk.taskStatus__c = '03 完成';
           }
       }
       if (oppList.size() > 0) update oppList;
      }
    */
   // 更新经理(销售) 20200302 Start
   private void  updateManager() {
      List<String> userIdList = new List<String>();
      for (Lost_cancel_report__c n: newList) {
         if (Trigger.isUpdate && (n.Report_Status__c != oldMap.get(n.Id).Report_Status__c) && (n.Report_Status__c == '申请中')) {
            userIdList.add(n.OwnerId__c);
         }
      }
           update taskList;
        }// 20220720 ljh update
        //20220708 询价任务开发,结束失单任务状态,筛选需要的修改的失单任务 end
      Map<String, User> userMap = new Map<String, User>();
      List<User> userList = [select Id, SalesManager__c from user where id =: userIdList];
        List<PCLLostProduct__c> lcrList=[select id,PCLLostBrand__r.Lost_cancel_report__r.of_lost_system_processor__c,
                                        PCLLostBrand__r.Lost_Reason_Sub__c,PCLLostBrand__r.Lost_cancel_report__r.LostTotalAmount__c,
                                        PCLLostBrand__r.Lost_cancel_report__r.TotalAmountLost__c,   //20230215 lt DB202302247719
                                        PCLLostBrand__r.Lost_cancel_report__r.LostType__c,PCLLostBrand__r.Lost_By_Company__c,
                                        PCLLostBrand__r.Lost_By_Company_Mannual__c,PCLLostBrand__r.LostPrice__c,LostProduct__r.Name,
                                        PCLLostBrand__r.Lost_reason_main__c,PCLLostBrand__r.Agency__r.Name,PCLLostBrand__r.AgencyMannual__c,
                                        PCLLostBrand__r.Lost_cancel_report__r.Opportunity__r.Name,Opportunity__c, LostProductMannual__c
                                        ,ProductClass__c, Quantity__c   //20220930  lt SWAG-CHL5XA【FY23询价改善】-统计主机台数
                                        from PCLLostProduct__c
                                        where PCLLostBrand__r.Lost_cancel_report__c in : arrMap.keyset()];
        List<Opportunity> oppList=new List<Opportunity>();
        for (String lcro : arrMap.keyset()) {
            // 给产品赋值
            Integer i=0;
            //赋值询价去重
            List<String> jxsList=new List<String>();    //经销商
            List<String> ppList=new List<String>();     //失单品牌
            // List<String> yyList=new List<String>();     //失单原因
            //初始化
            Opportunity opp=new Opportunity();
            //20220930  lt SWAG-CHL5XA【FY23询价改善】-统计主机台数 start
            opp.RivalHostsNumber__c = 0;
            //20220930  lt SWAG-CHL5XA【FY23询价改善】-统计主机台数 end
            opp.Id=arrMap.get(lcro).Opportunity__c; opp.PCLLostBrands__c=''; opp.Agencies__c='';    //Id ,品牌,经销商
            // for产品
            for (PCLLostProduct__c lcr : lcrList) {
                if (opp.Id==lcr.Opportunity__c) {
      for (User u : userList) {
         String sid = u.Id;
         userMap.put(sid.substring(0,15), u);
      }
                    //20220930  lt SWAG-CHL5XA【FY23询价改善】-统计主机台数 start
                    if(lcr.ProductClass__c == '主机'){
                        opp.RivalHostsNumber__c += lcr.Quantity__c;
                    }else{
                        opp.RivalHostsNumber__c += 0;
                    }
                    //20220930  lt SWAG-CHL5XA【FY23询价改善】-统计主机台数 end
      for (Lost_cancel_report__c n : newList) {
         if (Trigger.isUpdate && (n.Report_Status__c != oldMap.get(n.Id).Report_Status__c) && (n.Report_Status__c == '申请中')) {
            if (userMap.get(n.OwnerId__c) != null) {
               n.Manager_sales__c = userMap.get(n.OwnerId__c).SalesManager__c;
            }
         }
      }
   }
   // 更新审批人 20200302 End
                    i++;
                    //给询价不同字段赋值 失单
                    if (lcr.PCLLostBrand__r.Lost_cancel_report__r.LostType__c=='失单') {
                        if (i==1) {
                            opp.CompetitorProduct1__c=lcr.LostProduct__r.Name != null ? lcr.LostProduct__r.Name : lcr.LostProductMannual__c;
                        }else if (i==2) {
                            opp.CompetitorProduct2__c=lcr.LostProduct__r.Name != null ? lcr.LostProduct__r.Name : lcr.LostProductMannual__c;
                        }else if (i==3) {
                            opp.CompetitorProduct3__c=lcr.LostProduct__r.Name != null ? lcr.LostProduct__r.Name : lcr.LostProductMannual__c;
                        }
                    }
                    // 失单理由
                    if (i==1) {
                        opp.Lost_reason_main__c=lcr.PCLLostBrand__r.Lost_reason_main__c;
                        opp.Lost_Reason_Sub__c=lcr.PCLLostBrand__r.Lost_Reason_Sub__c;
   // tcm 20211126 更新询价信息 start
   private void  updateopp() {
      // 清除不需要更新的
      Map<Id,Lost_cancel_report__c> arrMap=new Map<Id,Lost_cancel_report__c>();
      for (String newlcro : newMap.keyset()) {
         if (newMap.get(newlcro).Report_Status__c=='批准'&&oldMap.get(newlcro).Report_Status__c!='批准') {
            arrMap.put(newlcro,newMap.get(newlcro));
         }
      }
      List<PCLLostProduct__c> lcrList=[select id,PCLLostBrand__r.Lost_cancel_report__r.of_lost_system_processor__c,PCLLostBrand__r.Lost_Reason_Sub__c,PCLLostBrand__r.Lost_cancel_report__r.LostTotalAmount__c,PCLLostBrand__r.Lost_cancel_report__r.LostType__c,PCLLostBrand__r.Lost_By_Company__c,PCLLostBrand__r.Lost_By_Company_Mannual__c,PCLLostBrand__r.LostPrice__c,LostProduct__r.Name, PCLLostBrand__r.Lost_reason_main__c,PCLLostBrand__r.Agency__r.Name,PCLLostBrand__r.AgencyMannual__c,PCLLostBrand__r.Lost_cancel_report__r.Opportunity__r.Name,Opportunity__c, LostProductMannual__c from PCLLostProduct__c where PCLLostBrand__r.Lost_cancel_report__c in : arrMap.keyset()];
      List<Opportunity> oppList=new List<Opportunity>();
      for (String lcro : arrMap.keyset()) {
         // 给产品赋值
         Integer i=0;
         //赋值询价去重
         List<String> jxsList=new List<String>();    //经销商
         List<String> ppList=new List<String>();     //失单品牌
         // List<String> yyList=new List<String>();     //失单原因
         //初始化
         Opportunity opp=new Opportunity();
         opp.Id=arrMap.get(lcro).Opportunity__c; opp.PCLLostBrands__c=''; opp.Agencies__c='';    //Id ,品牌,经销商
         // for产品
         for (PCLLostProduct__c lcr : lcrList) {
            if (opp.Id==lcr.Opportunity__c) {
               i++;
               //给询价不同字段赋值 失单
               if (lcr.PCLLostBrand__r.Lost_cancel_report__r.LostType__c=='失单') {
                  if (i==1) {
                     opp.CompetitorProduct1__c=lcr.LostProduct__r.Name != null ? lcr.LostProduct__r.Name : lcr.LostProductMannual__c;
                  }else if (i==2) {
                     opp.CompetitorProduct2__c=lcr.LostProduct__r.Name != null ? lcr.LostProduct__r.Name : lcr.LostProductMannual__c;
                  }else if (i==3) {
                     opp.CompetitorProduct3__c=lcr.LostProduct__r.Name != null ? lcr.LostProduct__r.Name : lcr.LostProductMannual__c;
                  }
               }
               // 失单理由
               if (i==1) {
                  opp.Lost_reason_main__c=lcr.PCLLostBrand__r.Lost_reason_main__c;
                  opp.Lost_Reason_Sub__c=lcr.PCLLostBrand__r.Lost_Reason_Sub__c;
               }
                    }
               //经销商
               if (!jxsList.contains(lcr.PCLLostBrand__r.Agency__r.Name)) {
                  jxsList.add(lcr.PCLLostBrand__r.Agency__r.Name);
                  if (jxsList.size()==1) {
                     if (lcr.PCLLostBrand__r.AgencyMannual__c==null) {
                        opp.Agencies__c+=lcr.PCLLostBrand__r.Agency__r.Name;
                     }else {
                        opp.Agencies__c+=lcr.PCLLostBrand__r.AgencyMannual__c;
                     }
                  }else {
                     if (lcr.PCLLostBrand__r.AgencyMannual__c==null) {
                        opp.Agencies__c+=','+lcr.PCLLostBrand__r.Agency__r.Name;
                     }else {
                        opp.Agencies__c+=','+lcr.PCLLostBrand__r.AgencyMannual__c;
                     }
                  }
               }
               //失单品牌
               if (!ppList.contains(lcr.PCLLostBrand__r.Lost_By_Company__c)) {
                  ppList.add(lcr.PCLLostBrand__r.Lost_By_Company__c);
                  if (ppList.size()==1) {
                     if (lcr.PCLLostBrand__r.Lost_By_Company__c=='其他') {
                        opp.PCLLostBrands__c+=lcr.PCLLostBrand__r.Lost_By_Company_Mannual__c;
                     }else {
                        opp.PCLLostBrands__c+=lcr.PCLLostBrand__r.Lost_By_Company__c;
                     }
                  }else {
                     if (lcr.PCLLostBrand__r.Lost_By_Company__c=='其他') {
                        opp.PCLLostBrands__c+=','+lcr.PCLLostBrand__r.Lost_By_Company_Mannual__c;
                     }else {
                        opp.PCLLostBrands__c+=','+lcr.PCLLostBrand__r.Lost_By_Company__c;
                     }
                  }
               }
               // //失单原因
               // if (!yyList.contains(lcr.PCLLostBrand__r.Lost_reason_main__c)) {
               //    yyList.add(lcr.PCLLostBrand__r.Lost_reason_main__c);
               //    if (yyList.size()==1) {
               //       opp.Lost_reason_mains__c+=lcr.PCLLostBrand__r.Lost_reason_main__c+',';
               //    }else {
               //       opp.Lost_reason_mains__c+=','+lcr.PCLLostBrand__r.Lost_reason_main__c;
               //    }
               // }
               //失单总金额
               opp.LostPrices__c=lcr.PCLLostBrand__r.Lost_cancel_report__r.LostTotalAmount__c;
               opp.of_lost_system_processor__c=lcr.PCLLostBrand__r.Lost_cancel_report__r.of_lost_system_processor__c;
            }
         }
         oppList.add(opp);
      }
      update oppList;
   }
   // tcm 20211126 更新询价信息 end
                    //经销商
                    if (!jxsList.contains(lcr.PCLLostBrand__r.Agency__r.Name)) {
                        jxsList.add(lcr.PCLLostBrand__r.Agency__r.Name);
                        // SWAG-CCC6F6 2022-04-22 ssm start
                        // 询价上都只显示选项列表的值,不需要手动的值
                        if (jxsList.size()==1) {
                            // if (lcr.PCLLostBrand__r.AgencyMannual__c==null) {
                            //  opp.Agencies__c+=lcr.PCLLostBrand__r.Agency__r.Name;
                            // }else {
                            //  opp.Agencies__c+=lcr.PCLLostBrand__r.AgencyMannual__c;
                            // }
                            opp.Agencies__c+=lcr.PCLLostBrand__r.Agency__r.Name;
                        }else {
                            // if (lcr.PCLLostBrand__r.AgencyMannual__c==null) {
                            //  opp.Agencies__c+=','+lcr.PCLLostBrand__r.Agency__r.Name;
                            // }else {
                            //  opp.Agencies__c+=','+lcr.PCLLostBrand__r.AgencyMannual__c;
                            // }
                            opp.Agencies__c+=','+lcr.PCLLostBrand__r.Agency__r.Name;
                        }
                        // SWAG-CCC6F6 2022-04-22 ssm end
                    }
                    //失单品牌
                    if (!ppList.contains(lcr.PCLLostBrand__r.Lost_By_Company__c)) {
                        ppList.add(lcr.PCLLostBrand__r.Lost_By_Company__c);
                        // SWAG-CCC6F6 2022-04-22 ssm start
                        // 询价上都只显示选项列表的值,不需要手动的值
                        if (ppList.size()==1) {
                            // if (lcr.PCLLostBrand__r.Lost_By_Company__c=='其他') {
                            //  opp.PCLLostBrands__c+=lcr.PCLLostBrand__r.Lost_By_Company_Mannual__c;
                            // }else {
                            //  opp.PCLLostBrands__c+=lcr.PCLLostBrand__r.Lost_By_Company__c;
                            // }
                            opp.PCLLostBrands__c+=lcr.PCLLostBrand__r.Lost_By_Company__c;
                        }else {
                            // if (lcr.PCLLostBrand__r.Lost_By_Company__c=='其他') {
                            //  opp.PCLLostBrands__c+=','+lcr.PCLLostBrand__r.Lost_By_Company_Mannual__c;
                            // }else {
                            //  opp.PCLLostBrands__c+=','+lcr.PCLLostBrand__r.Lost_By_Company__c;
                            // }
                            opp.PCLLostBrands__c+=','+lcr.PCLLostBrand__r.Lost_By_Company__c;
                        }
                        // SWAG-CCC6F6 2022-04-22 ssm end
                    }
                    // //失单原因
                    // if (!yyList.contains(lcr.PCLLostBrand__r.Lost_reason_main__c)) {
                    //  yyList.add(lcr.PCLLostBrand__r.Lost_reason_main__c);
                    //  if (yyList.size()==1) {
                    //      opp.Lost_reason_mains__c+=lcr.PCLLostBrand__r.Lost_reason_main__c+',';
                    //  }else {
                    //      opp.Lost_reason_mains__c+=','+lcr.PCLLostBrand__r.Lost_reason_main__c;
                    //  }
                    // }
                    //失单总金额
                    //opp.LostPrices__c=lcr.PCLLostBrand__r.Lost_cancel_report__r.LostTotalAmount__c;//20230215 lt DB202302247719 注释
                    // opp.LostPrices__c=lcr.PCLLostBrand__r.Lost_cancel_report__r.TotalAmountLost__c;   //20230215 lt DB202302247719
                    opp.of_lost_system_processor__c=lcr.PCLLostBrand__r.Lost_cancel_report__r.of_lost_system_processor__c;
                }
            }
            //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;
            }
            //20230215 lt DB202302247719 end
            // 20221202 ljh DB202211594688  start
            System.debug('zheli00:'+oppIdPZSet+'~'+opp.Id);
            if(oppIdPZSet.contains(opp.Id)){
                opp.ConfirmationofAward__c = '竞争对手中标';
                opp.Closing_Bid_Date__c = null;
            }
            // 20221202 ljh DB202211594688  start
            oppList.add(opp);
        }
        update oppList;
    }
    // tcm 20211126 更新询价信息 end
    //sx 20220706 【FY23询价改善】-P:中标结果确认任务开发  失单任务确认时间 start
    private void updateLostTaskTime(){
        //过滤需要修改的数据
        Set<Id> lostIds = new Set<Id>();
        Set<Id> oppIds = new Set<Id>();
        for(Lost_cancel_report__c lcr : newList){
            //筛选出需要提交日有修改的订单
            Lost_cancel_report__c oldLrc = oldMap.get(lcr.Id);
            if((lcr.Report_Status__c != oldMap.get(lcr.Id).Report_Status__c) && lcr.Report_Status__c == '申请中'){      //oldLrc.Submit_Day__c != lcr.Submit_Day__c
                lostIds.add(lcr.Id);
                oppIds.add(lcr.Opportunity__c);
            }
        }
      List<Opportunity> oppList = [select Id, Task_createTime__c,LostTask_createTime__c from Opportunity where Id in :oppIds];
        Map<Id, Opportunity> oppMap = new Map<Id, Opportunity>();
        for(Opportunity op : oppList){
            oppMap.put(op.Id,op);
        }
        //待更新的询价List
        List<Opportunity> updateoppList = new List<Opportunity>();
        if(!lostIds.isEmpty()){
            for(String lostId : lostIds){
                Lost_cancel_report__c tempLost = newMap.get(lostId);
                //修改失单对应询价的失单任务时间
                Opportunity opp = new Opportunity();
                opp.Id = tempLost.Opportunity__c;
                //20221207 失单任务确认日 只跟失单报告称创建日有关系去掉逻辑 oppMap.get(tempLost.Opportunity__c).Task_createTime__c!= null ||
                if(oppMap.get(tempLost.Opportunity__c).LostTask_createTime__c!= null){
                    opp.LostTask_comfirmTime__c = Date.today();
                }
                updateoppList.add(opp);
            }
            if(!updateoppList.isEmpty()){
                update updateoppList;
            }
        }
    }
    //sx 20220706 【FY23询价改善】-P:中标结果确认任务开发  失单任务确认时间 end
    // 2022-7-29 ssm XLIU-CGSC8R 【委托】[改善】询价里删除批准的失单报告状态1自动变 start
    // 删除已批准的报告后,把询价状态改回成询价
    private void updateOppStage() {
        List<String> oppIds = new List<String>();
        for (Lost_cancel_report__c report : this.oldList) {
            if (report.Report_Status__c == '批准') {
                oppIds.add(report.Opportunity__c);
            }
        }
        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);
            if (opps.size() > 0) {
                for (Opportunity opp : opps) {
                    opp.StageName = '引合';
                    opp.Final_Contract_Proceeded_Date__c = null;
                    opp.Lost_Opportunity_Date__c = null;
                }
                update opps;
            }
        }
    }
    // 2022-7-29 ssm XLIU-CGSC8R 【委托】[改善】询价里删除批准的失单报告状态1自动变 end
}