@isTest
private class OpportunityTriggerTest {

  @isTest static void test_method_one() {

    User user = new User(Test_staff__c = true);
        user.LastName = '_サンブリッジ';
        // user.FirstName = 'う';
        user.Alias = 'う';
        user.Email = 'olympusTest03@sunbridge.com';
        user.Username = 'olympusTest03@sunbridge.com';
        user.CommunityNickname = 'う';
        user.IsActive = true;
        user.EmailEncodingKey = 'ISO-2022-JP';
        user.TimeZoneSidKey = 'Asia/Tokyo';
        user.LocaleSidKey = 'ja_JP';
        user.LanguageLocaleKey = 'ja';
        user.ProfileId = System.Label.ProfileId_SystemAdmin;
        user.Job_Category__c = '销售推广';
        user.Province__c = '上海市';
        user.Use_Start_Date__c = Date.today().addMonths(-6);
        user.SalesManager__c = UserInfo.getUserId();
        user.BuchangApprovalManagerSales__c = UserInfo.getUserId();
        user.JingliApprovalManager__c = UserInfo.getUserId();
        user.BuchangApprovalManager__c = UserInfo.getUserId();
        user.ZongjianApprovalManager__c = UserInfo.getUserId();

    List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '病院'];
        if (rectCo.size() == 0) {
            return;
        }
        List<RecordType> rectSct = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '戦略科室分類 呼吸科'];
        if (rectSct.size() == 0) {
            return;
        }
        List<RecordType> rectDpt = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '診療科 消化科'];
        if (rectDpt.size() == 0) {
            return;
        }


        StaticParameter.EscapeOpportunityBefUpdTrigger = true;
        StaticParameter.EscapeSyncOpportunityTrigger = true;
        StaticParameter.EscapeNFM007Trigger = true;
        StaticParameter.EscapeOpportunityHpDeptUpdTrigger = true;
        StaticParameter.EscapeSyncOpportunityTrigger = true;

        System.runAs(new User(Id = Userinfo.getUserId())) {
            insert user;
        // テストデータ
        Account company = new Account();
        company.RecordTypeId = rectCo[0].Id;
        company.Name         = 'NFM007TestCompany';
        upsert company;
        Account section = new Account();
        section.RecordTypeId = rectSct[0].Id;
        section.Name         = '*';
        section.Department_Class_Label__c = '消化科';
        section.ParentId                  = company.Id;
        section.Hospital_Department_Class__c = company.Id;
        upsert section;
        Account section1 = new Account();
        section1.RecordTypeId = rectSct[0].Id;
        section1.Name         = '*';
        section1.Department_Class_Label__c = '消化科';
        section1.ParentId                  = company.Id;
        section1.Hospital_Department_Class__c = company.Id;
        upsert section1;
        Account depart = new Account();
        depart.RecordTypeId = rectDpt[0].Id;
        depart.Name         = '*';
        depart.Department_Name__c  = 'NFM007TestDepart';
        depart.ParentId            = section.Id;
        depart.Department_Class__c = section.Id;
        depart.Hospital__c         = company.Id;
        upsert depart;

        Opportunity opp = new Opportunity();
        opp.AccountId           = depart.Id;
        opp.Department_Class__c = section.Id;
        opp.Hospital__c         = company.Id;
        opp.SAP_Send_OK__c      = false;
        opp.Name                = 'GZ-SP-NFM007_1';
        opp.Trade__c            = '内貿';
        opp.StageName           = '引合';
        opp.CloseDate           = date.newinstance(2025, 11, 30);
        opp.Stock_apply_status__c = '申请中';
        insert opp;

        System.Test.startTest();

        Opportunity_File__c ofile = new Opportunity_File__c();
        ofile.Name = 'test file';
        ofile.Opportunity__c = opp.Id;
        insert ofile;

        Attachment att = new Attachment(
            Name = 'ORDER-123456.pdf',
            parentId = ofile.Id,
            Body = EncodingUtil.base64Decode('test')
        );
        insert att;
        
        Opportunity_File__c ofile2 = new Opportunity_File__c();
        ofile2.Name = 'test file2';
        ofile2.Opportunity__c = opp.Id;
        insert ofile2;

        Attachment att2 = new Attachment(
            Name = 'ORDER-123456.pdf',
            parentId = ofile2.Id,
            Body = EncodingUtil.base64Decode('test')
        );
        insert att2;
        
        delete ofile2;
        delete att;



        OpportunityTrigger.isFirst =true;
        opp.Stock_apply_status__c = '批准';
        opp.Department_Class__c = section1.Id;
        opp.OwnerId = Userinfo.getUserId(); 
        update opp;

        List<Opportunity_File__c> checkList = [select id, Is_Locked__c from Opportunity_File__c where id = :ofile.Id];
        System.assertEquals(true, checkList[0].Is_Locked__c);

        Attachment att3 = new Attachment(
            Name = 'ORDER-123456.pdf',
            parentId = company.Id,
            Body = EncodingUtil.base64Decode('test')
        );
        insert att3;
        //delete att3;
        
        //Rental_Apply__c rentalApply = new Rental_Apply__c();
        //// '引当完了' -> 已批准
        //rentalApply.Status__c = FixtureUtil.raStatusMap.get(FixtureUtil.RaStatus.Yi_Pi_Zhun.ordinal());
        //// rentalApply.applyUser__c = UserInfo.getUserId();
        //rentalApply.applyUser__c = user.Id;
        //rentalApply.direct_send__c = '直送';
        //rentalApply.direct_shippment_address__c = 'test';
        //rentalApply.Request_return_day__c = Date.today() + 30;

        //rentalApply.demo_purpose1__c = '其他';
        //rentalApply.demo_purpose2__c = '其他';
        ///* 这个用户没权限 用它赋值会造成报错  暂时注释掉 精琢技术 wql 2021/05/26 */
        ////rentalApply.Person_In_Charge__c = user.Id;
        //rentalApply.Hope_Lonaer_date_Num__c = 6;
        //insert rentalApply;
        
        // Attachment att4 = new Attachment(
        //     Name = 'ORDER-123456.pdf',
        //     parentId = rentalApply.Id,
        //     Body = EncodingUtil.base64Decode('test')
        // );
        // insert att4;
        // delete att4;
        
        // Consumable_order__c co = new Consumable_order__c();
        // insert co;
        
        // Attachment att5 = new Attachment(
        //     Name = 'ORDER-123456.pdf',
        //     parentId = co.Id,
        //     Body = EncodingUtil.base64Decode('test')
        // );
        // insert att5;
        //delete att5;
        
        System.Test.stopTest();
       // OpportunityTrigger.intI();
    }
}

  @isTest static void test_Change_Quote() {
    List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '病院'];
        if (rectCo.size() == 0) {
            return;
        }
        List<RecordType> rectSct = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '戦略科室分類 呼吸科'];
        if (rectSct.size() == 0) {
            return;
        }
        List<RecordType> rectDpt = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '診療科 消化科'];
        if (rectDpt.size() == 0) {
            return;
        }

        // テストデータ
        Account company = new Account();
        company.RecordTypeId = rectCo[0].Id;
        company.Name         = 'NFM007TestCompany';
        upsert company;
        Account section = new Account();
        section.RecordTypeId = rectSct[0].Id;
        section.Name         = '*';
        section.Department_Class_Label__c = '消化科';
        section.ParentId                  = company.Id;
        section.Hospital_Department_Class__c = company.Id;
        upsert section;
        Account depart = new Account();
        depart.RecordTypeId = rectDpt[0].Id;
        depart.Name         = '*';
        depart.Department_Name__c  = 'NFM007TestDepart';
        depart.ParentId            = section.Id;
        depart.Department_Class__c = section.Id;
        depart.Hospital__c         = company.Id;
        upsert depart;

        RecordType recByoin = [select id from RecordType where IsActive = true and SobjectType= 'Account' and Name=:'病院' limit 1];
        Account hospital = new Account(Name = 'テスト病院');
        hospital.RecordTypeId = recByoin.id;
        hospital.Site = 'テスト病院部門';
        hospital.Alias_Name2__c = 'テスト病院別名';
        insert hospital;
        //販売店
        RecordType recHanbaiten = [select id from RecordType where IsActive = true and SobjectType= 'Account' and Name=:'販売店' limit 1];
        Account sellerA = new Account(Name = '販売店');
        sellerA.RecordTypeId = recHanbaiten.id;
        sellerA.Hospital__c = hospital.id;
        sellerA.Tax_Practice_No__c = '001';
        sellerA.Sales_Shop_Class__c = '特約販売店（区域）';
        sellerA.Business_Authorization_No__c = '001';
        sellerA.Tax_Practice_Expiration_Date__c =  Date.today().addDays(20);
        sellerA.Business_Paper_Expiration_Date__c = Date.today().addDays(20);
        sellerA.Medical_Equipment_Expiration_Date__c = Date.today().addDays(20);
        sellerA.Medical_Equipment_Num__c = '有证';
        sellerA.Business_Authorization_No__c = '0001';
        sellerA.Business_Paper_Expiration_Date__c = Date.today().addDays(20);
        sellerA.Delete_Flag__c = false;
        insert sellerA;

        Account sellerB = new Account(Name = '販売店B');
        sellerB.RecordTypeId = recHanbaiten.id;
        sellerB.Delete_Flag__c = false;
        insert sellerB;

        Oly_TriggerHandler.bypass('PowerBIBaseHandler');
        StaticParameter.EscapeSyncOpportunityTrigger = true;
        StaticParameter.EscapeNFM007Trigger = true;
        StaticParameter.EscapeOpportunityHpDeptUpdTrigger = true;
        Oly_TriggerHandler.bypass('AgencyOppUpdHandler');
        StaticParameter.EscapeSyncOpportunityTrigger = true;

        System.Test.startTest();

        Opportunity opp = new Opportunity();
        opp.AccountId           = depart.Id;
        opp.Department_Class__c = section.Id;
        opp.Hospital__c         = company.Id;
        opp.SAP_Send_OK__c      = false;
        opp.Name                = 'GZ-SP-NFM007_1';
        opp.Trade__c            = '内貿';
        opp.StageName           = '引合';
        opp.CloseDate           = date.newinstance(2025, 11, 30);
        opp.Stock_apply_status__c = '申请中';
        insert opp;

        Quote q = new Quote(
            Name = 'quote',
            OpportunityId = opp.Id,
            Agency1__c = sellerA.Id,
            Quote_No__c = 'Quote_No_1'
        );
        insert q;

        opp.Agency1__c = sellerA.Id;
        opp.Estimation_No__c = q.Quote_No__c;
        update opp;

        // opp.Agency1__c = sellerB.Id;
        // update opp;
        
        System.Test.stopTest();
  }

  //2021-05-13 mzy  QLM
  @isTest static void test_Change_Opp() {
    List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '病院'];
        if (rectCo.size() == 0) {
            return;
        }
        List<RecordType> rectSct = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '戦略科室分類 呼吸科'];
        if (rectSct.size() == 0) {
            return;
        }
        List<RecordType> rectDpt = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '診療科 消化科'];
        if (rectDpt.size() == 0) {
            return;
        }

        // テストデータ
        Account company = new Account();
        company.RecordTypeId = rectCo[0].Id;
        company.Name         = 'NFM007TestCompany';
        upsert company;
        Account section = new Account();
        section.RecordTypeId = rectSct[0].Id;
        section.Name         = '*';
        section.Department_Class_Label__c = '消化科';
        section.ParentId                  = company.Id;
        section.Hospital_Department_Class__c = company.Id;
        upsert section;
        Account depart = new Account();
        depart.RecordTypeId = rectDpt[0].Id;
        depart.Name         = '*';
        depart.Department_Name__c  = 'NFM007TestDepart';
        depart.ParentId            = section.Id;
        depart.Department_Class__c = section.Id;
        depart.Hospital__c         = company.Id;
        upsert depart;

        //販売店
        RecordType recHanbaiten = [select id from RecordType where IsActive = true and SobjectType= 'Account' and Name='販売店' limit 1];
        Account sellerA = new Account(Name = '販売店A');
        sellerA.RecordTypeId = recHanbaiten.id;
        sellerA.Delete_Flag__c = false;
        insert sellerA;

        Account sellerB = new Account(Name = '販売店B');
        sellerB.RecordTypeId = recHanbaiten.id;
        sellerB.Delete_Flag__c = false;
        insert sellerB;

        Oly_TriggerHandler.bypass('PowerBIBaseHandler');
        StaticParameter.EscapeSyncOpportunityTrigger = true;
        StaticParameter.EscapeNFM007Trigger = true;
        StaticParameter.EscapeOpportunityHpDeptUpdTrigger = true;
        Oly_TriggerHandler.bypass('AgencyOppUpdHandler');
        StaticParameter.EscapeSyncOpportunityTrigger = true;

        System.Test.startTest();

        //win
        Opportunity opp1 = new Opportunity(
            Name = 'test opp1',
            StageName = '完了',
            CurrencyIsoCode = 'USD',
            CloseDate = Date.today(),
            AccountId = depart.Id,
            Closing_Bid_Date__c = Date.today().addDays(-5),
            Hospital__c = company.Id,
            Competitor__c = 'A',
            ConfirmationofAward__c ='OLY中标',
            OlyNumberHosts__c =1
        );
        insert opp1;

        
        LastbuyProduct__c wqe = new LastbuyProduct__c();
        wqe.InquiryCode__c=opp1.Id;
        wqe.LastbuyQuantity__c=1;
        wqe.ActualQuantity__c=1;
        insert wqe;
        opp1.SAP_Send_OK__c = true;
        opp1.Authorized_DB_No__c = '123';
        opp1.Contract_DB_SalesDept_complite_day__c = Date.today();
        opp1.NotesApprovedNo__c = '123';
        opp1.OlyNumberHosts__c =2;

        update opp1;
        opp1.SAP_Send_OK__c = false;
        opp1.Reason_Cancel_WIN__c = '1.终止合同';
        opp1.OlyNumberHosts__c =3;
        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 = '敗戦';
        update opp1;



        //新建询价时,赋值招投标项目,打上标识
        // Opportunity opp2 = new Opportunity(
        //     Name = 'test opp1',
        //     StageName = '引合',
        //     CurrencyIsoCode = 'USD',
        //     CloseDate = Date.today(),
        //     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  //lt 20220316
        // );
        // insert opp2;


        System.Test.stopTest();

  }
  //2021-05-13 mzy  QLM

  //LastBuy 预留产品 lt 20220315 start
  @isTest 
  static void TestMethod1() {

      //Tender_information__c info1 = new Tender_information__c();
      //  info1.Name = 'TEST001';
      //  info1.AreaProvince__c = '北京';
      //  info1.InfoType__c= '3：结果';
      //  info1.subInfoType__c = '3-5：中标通知';
      //  info1.OpportunityNum__c = 0;
      //  info1.relativeTime__c =System.now();
      //  info1.IsReactionOpp__c = false;
      //  insert info1;

      Opportunity opp = new Opportunity();
      opp.Name                = 'GZ-SP-NFM007_1';
      opp.StageName           = '引合';
      opp.CloseDate           = date.newinstance(2025, 11, 30);
      //opp.Bidding_Project_Name_Bid__c =info1.id;
      opp.ConfirmationofAward__c ='竞争对手中标';
      opp.Task_createTime__c = date.newinstance(2025, 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;
      
      List<Opportunity> oppList = [Select SAP_Send_OK__c,Id, StageName,StageName__c,ConfirmationofAward__c,DirectLossFLG__c,OwnerId FROM Opportunity Where id =:opp.id];
      oppList[0].ConfirmationofAward__c='OLY中标';
      update oppList;

      opp.StageName = '敗戦';    
      update opp;

  }
  //LastBuy 预留产品 lt 20220315 end


   //add start 20220623
   @isTest 
   static void test_createTaskByOppConfirmationofAward() {

    StaticParameter.EscapeContactInsUpdUser = true;
    StaticParameter.EscapeContactToUser = true;
    StaticParameter.EscapeAccountTrigger = true;
    // StaticParameter.EscapeOpportunityownerUpdate = true;
    // StaticParameter.EventOpportunityPileUpExeFlg = true;
    // StaticParameter.EscapeOpportunityBefUpdTrigger = true;
    // StaticParameter.EscapeOpportunityHpDeptUpdTrigger = true;
    // StaticParameter.EscapeSyncOpportunityTrigger = true;
    // StaticParameter.EscapeAgencyOpportunityTrigger = true;
    // StaticParameter.EscapeOppandStaTrigger = true;

    // StaticParameter.EscapeTenderInformationUpdate = true;
    // StaticParameter.EscapeZCUpdateTender = true;

    User user = new User(Test_staff__c = true);
        user.LastName = '_サンブリッジ';
        // user.FirstName = 'う';
        user.Alias = 'う';
        user.Email = 'olympusTest03@sunbridge.com';
        user.Username = 'olympusTest03@sunbridge.com';
        user.CommunityNickname = 'う';
        user.IsActive = true;
        user.EmailEncodingKey = 'ISO-2022-JP';
        user.TimeZoneSidKey = 'Asia/Tokyo';
        user.LocaleSidKey = 'ja_JP';
        user.LanguageLocaleKey = 'ja';
        user.ProfileId = System.Label.ProfileId_SystemAdmin;
        user.Job_Category__c = '销售推广';
        user.Province__c = '上海市';
        user.Use_Start_Date__c = Date.today().addMonths(-6);
        user.SalesManager__c = UserInfo.getUserId();
        user.BuchangApprovalManagerSales__c = UserInfo.getUserId();
        user.JingliApprovalManager__c = UserInfo.getUserId();
        user.BuchangApprovalManager__c = UserInfo.getUserId();
        user.ZongjianApprovalManager__c = UserInfo.getUserId();

         Profile p = [select id from Profile where id =:System.Label.ProfileId_SystemAdmin];
        String loginId = UserInfo.getUserId();
        User sys = [select id from User where Id = :loginId];
        User u1 = new User(Test_staff__c = true);
        u1.LastName = '123';
        // u1.FirstName = '2';
        u1.Batch_User__c = true;
        u1.Alias = '2';
        u1.Email = 'youchang@prec-tech.com';
        u1.Username = 'test_user1@olympus.com.cn.tenopplink';
        u1.CommunityNickname = 'あ1';
        u1.IsActive = true;
        u1.EmailEncodingKey = 'ISO-2022-JP';
        u1.TimeZoneSidKey = 'Asia/Tokyo';
        u1.LocaleSidKey = 'ja_JP';
        u1.LanguageLocaleKey = 'ja';
        u1.ProfileId = p.id;
        u1.Job_Category__c = '销售服务';
        u1.Province__c = '東京';
        u1.IsActive = true;

        User u2 = new User(Test_staff__c = true);
        u2.LastName = '_サンブリッジ';
        // u2.FirstName = 'い';
        u2.Batch_User__c = true;
        u2.Alias = 'い';
        u2.Email = 'youchang1@prec-tech.com';
        u2.Username = 'test_user2@olympus.com.cn.tenopplink1';
        u2.CommunityNickname = 'い';
        u2.IsActive = true;
        u2.EmailEncodingKey = 'ISO-2022-JP';
        u2.TimeZoneSidKey = 'Asia/Tokyo';
        u2.LocaleSidKey = 'ja_JP';
        u2.LanguageLocaleKey = 'ja';
        u2.ProfileId = p.id;
        u2.Job_Category__c = '销售推广';
        u2.Province__c = '東京';
        u2.IsActive = true;
        insert u2;

    List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '病院'];
        if (rectCo.size() == 0) {
            return;
        }
        List<RecordType> rectSct = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '戦略科室分類 呼吸科'];
        if (rectSct.size() == 0) {
            return;
        }
        List<RecordType> rectDpt = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '診療科 消化科'];
        if (rectDpt.size() == 0) {
            return;
        }


        StaticParameter.EscapeOpportunityBefUpdTrigger = true;
        StaticParameter.EscapeSyncOpportunityTrigger = true;
        StaticParameter.EscapeNFM007Trigger = true;
        StaticParameter.EscapeOpportunityHpDeptUpdTrigger = true;
        StaticParameter.EscapeOpportunityownerUpdate = true;
        System.runAs(new User(Id = Userinfo.getUserId())) {
            insert user;
            insert u1;
        
        // テストデータ
        Account company = new Account();
        company.RecordTypeId = rectCo[0].Id;
        company.Name         = '测试医院';
        insert company;
        Account section = new Account();
        section.RecordTypeId = rectSct[0].Id;
        section.Name         = '测试医院 消化科';
        section.Department_Class_Label__c = '消化科';
        section.ParentId                  = company.Id;
        section.Hospital_Department_Class__c = company.Id;
        insert section;

        Account section1 = new Account();
        section1.RecordTypeId = rectSct[0].Id;
        section1.Name         = '测试医院 消化科 消化科';
        section1.Department_Class_Label__c = '消化科';
        section1.ParentId                  = company.Id;
        section1.Hospital_Department_Class__c = company.Id;
        insert section1;

        Account depart = new Account();
        depart.RecordTypeId = rectDpt[0].Id;
        depart.Name         = '*';
        depart.Department_Name__c  = 'NFM007TestDepart';
        depart.ParentId            = section.Id;
        depart.Department_Class__c = section.Id;
        depart.Hospital__c         = company.Id;
        insert depart;

  // 插入招标项目1
        Tender_information__c info1 = new Tender_information__c();
        info1.Name = 'TEST001';
        info1.AreaProvince__c = '北京';
        info1.InfoType__c= '3：结果';
        info1.subInfoType__c = '3-5：中标通知';
        info1.OpportunityNum__c = 0;
        info1.OwnerId = u1.Id;
        info1.InfoOwner__c = u2.Id;
        info1.relativeTime__c =System.now();
        info1.IsReactionOpp__c = false;
        insert info1;

        Opportunity opp = new Opportunity();
        opp.AccountId           = depart.Id;
        opp.Department_Class__c = section.Id;
        opp.Hospital__c         = company.Id;
        opp.SAP_Send_OK__c      = false;
        opp.Name                = 'GZ-SP-NFM007_1';
        opp.Trade__c            = '内貿';
        opp.StageName           = '引合';
        opp.ConfirmationofAward__c='OLY中标';
        opp.CloseDate           = date.newinstance(2025, 11, 30);
        opp.DirectLossFLG__c = false;
        opp.OwnerId = u1.id;
        opp.Bidding_Project_Name_Bid__c =info1.id;
        insert opp;

         //Tender_Opportunity_Link__c BlinksList = new Tender_Opportunity_Link__c();
         //   BlinksList.Opportunity__c = opp.Id;
         //   BlinksList.CurrencyIsoCode = 'CNY';
         //   BlinksList.IsRelated__c = false;
         //   BlinksList.Tender_information__c = info1.Id;
         //   insert BlinksList;

        //Lost_cancel_report__c lcr =new Lost_cancel_report__c();
        //lcr.Opportunity__c = opp.id;
        //lcr.Report_Status__c = '提交';
        //insert lcr;

        // 中标任务
        String winBiddingTask_TaskId = Schema.SObjectType.task__c.getRecordTypeInfosByDeveloperName().get('winBiddingTask').getRecordTypeId();
        Task__c tempTask = new Task__c();
        tempTask.RecordTypeId = winBiddingTask_TaskId;
        tempTask.taskDifferent__c = '被动任务';
        tempTask.taskStatus__c = '02 接受';       //任务状态2
        tempTask.assignee__c = opp.OwnerId;    //被分配者
        tempTask.account__c = opp.AccountId;
        tempTask.Name = '中标结果确认：' ;//+ info1.TenderManageCode__c;  //招标项目.SFDC编码
        tempTask.OwnerId = opp.OwnerId;   //所有人
        tempTask.OpportunityId__c = opp.Id;
        //tempTask.Tender_information_Task__c = info1.Id;       //招标项目
        tempTask.ConfirmDate__c = Date.today();
        insert tempTask;
        System.Test.startTest();
        
        // List<Opportunity> oppList = [Select SAP_Send_OK__c,Bidding_Project_Name_Bid__c,Id, StageName,StageName__c,ConfirmationofAward__c,DirectLossFLG__c,OwnerId FROM Opportunity Where id =:opp.id];
        // OpportunityTrigger.isFirst =true;
        // oppList[0].ConfirmationofAward__c='竞争对手中标';
        
        // update oppList;


        opp.Department_Class__c = section1.id;
        opp.ConfirmationofAward__c ='竞争对手中标';
        OpportunityTrigger.isFirst =true;
        //opp.OwnerId = Userinfo.getUserId(); 
        update opp;

        
        //List<Opportunity> oppList1 = [Select SAP_Send_OK__c,Bidding_Project_Name_Bid__c,Id, StageName,StageName__c,ConfirmationofAward__c,DirectLossFLG__c,OwnerId FROM Opportunity Where id =:oppList[0].id];
        //OpportunityTrigger.isFirst =true;
        //oppList1[0].ConfirmationofAward__c='竞争对手中标';
        //oppList1[0].OwnerId = u2.id;
        //update oppList1;
            
        System.Test.stopTest();

    }
}
//end start 20220623

}