李彤
2022-03-16 b54f1c796595671bd753a9161eccad074d444273
询价失单预留产品无效
3个文件已修改
85 ■■■■■ 已修改文件
force-app/main/default/classes/OpportunityTrigger.cls 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/OpportunityTriggerTest.cls 47 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/triggers/OpportunityTrigger.trigger 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/OpportunityTrigger.cls
@@ -260,4 +260,38 @@
        }
    } 
    // SWAG-C7P4XB end
    //LastBuy 预留产品 lt 20220315 start
    //询价失单或取消时,预留产品的"是否有效"设置为否
    public static void ReservedProFlg(List<Opportunity> newList, Map<Id, Opportunity> newMap, List<Opportunity> oldList, Map<Id, Opportunity> oldMap){
        List<Id> oppList = new List<Id>();
        List<LastbuyProduct__c> lbpflgList = new List<LastbuyProduct__c>();
        for (Opportunity lbOpp : newList){
            Opportunity OldLbOpp = oldMap.get(lbOpp.Id);
            if(OldLbOpp.StageName != lbOpp.StageName){
                if(lbOpp.StageName == '敗戦' || lbOpp.StageName == '削除'){
                    oppList.add(lbOpp.Id);
                }
            }
        }
        if(oppList.size() > 0){
            List<LastbuyProduct__c> lbpList = [select id, effectiveFLG__c,InquiryCode__c from LastbuyProduct__c where InquiryCode__c in :oppList];
            if(lbpList.size() > 0){
                for(LastbuyProduct__c lbp : lbpList){
                    if(lbp.effectiveFLG__c == true){
                        lbp.effectiveFLG__c = false;
                        lbpflgList.add(lbp);
                    }
                }
            }
        }
        if(lbpflgList.size() > 0){
            update lbpflgList;
        }
    }
    //LastBuy 预留产品 lt 20220315 end
}
force-app/main/default/classes/OpportunityTriggerTest.cls
@@ -324,13 +324,15 @@
        opp1.NotesApprovedNo__c = '123';
        update opp1;
        //招标项目
        Tender_information__c te1 = new Tender_information__c();
        te1.Name = 'TestZhaoBiao';
        insert te1;
        opp1.Bidding_Project_Name_Bid__c = te1.Id;
        update opp1;
        //lt 注释掉 te1
        // //招标项目
        // Tender_information__c te1 = new Tender_information__c();
        // te1.Name = 'TestZhaoBiao';
        // insert te1;
        // opp1.Bidding_Project_Name_Bid__c = te1.Id;
        // update opp1;
        //失单
        opp1.StageName = '敗戦';
@@ -347,8 +349,8 @@
            AccountId = depart.Id,
            Closing_Bid_Date__c = Date.today().addDays(-5),
            Hospital__c = company.Id,
            Competitor__c = 'A',
            Bidding_Project_Name_Bid__c = te1.Id
            Competitor__c = 'A'
            //,Bidding_Project_Name_Bid__c = te1.Id  //lt 20220316
        );
        insert opp2;
@@ -358,4 +360,33 @@
  }
  //2021-05-13 mzy  QLM
  //LastBuy 预留产品 lt 20220315 start
  @isTest
  static void TestMethod1() {
      Opportunity opp = new Opportunity();
      opp.Name                = 'GZ-SP-NFM007_1';
      opp.StageName           = '引合';
      opp.CloseDate           = date.newinstance(2022, 11, 30);
      insert opp;
      Product2 pro = new Product2();
      pro.Name = 'Testname0316';
      pro.LastbuyProductFLG__c = false;
      insert pro;
      LastbuyProduct__c lbp = new LastbuyProduct__c();
      lbp.Name = 'Test0215';
      lbp.ProductName__c = pro.Id;
      lbp.InquiryCode__c = opp.Id;
      lbp.effectiveFLG__c = true;
      insert lbp;
      opp.StageName = '敗戦';
      update opp;
  }
  //LastBuy 预留产品 lt 20220315 end
}
force-app/main/default/triggers/OpportunityTrigger.trigger
@@ -4,6 +4,10 @@
        // CHAN-AYTCE6  询价页面中的经销商1变更后更新报价中经销商1  2018/5/25 start
        OpportunityTrigger.changeQuoteAgency1(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap);
        // CHAN-AYTCE6  询价页面中的经销商1变更后更新报价中经销商1  2018/5/25 end
        //LastBuy 预留产品 lt 20220315 start
        OpportunityTrigger.ReservedProFlg(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap);
        //LastBuy 预留产品 lt 20220315 end
    }
    if (Trigger.isBefore && Trigger.isUpdate) {
        OpportunityTrigger.changeConsumableOrderStatus(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap);