游畅
2022-11-24 ec8e766ee9585cdae5036bba29d82a080de6fd55
force-app/main/default/classes/OpportunityService.cls
@@ -53,6 +53,14 @@
    if(IdStr != null && String.isNotBlank(IdStr)) {
      sql += ' and id not in (select Opportunity__c from Tender_Opportunity_Link__c where Tender_information__c = :IdStr) ';
    }
    // 20221014 ljh SWAG-CK28WT add start
    String proId = UserInfo.getProfileId();
    String p_2M4 = System.Label.ProfileId_2M4;
    if(proId.substring(0,15) == p_2M4.substring(0,15)){
       sql += ' AND OwnerId =\''+UserInfo.getUserId()+'\'';
    }
    System.debug('sql:'+sql);
    // 20221014 ljh SWAG-CK28WT add end
    sql += '  limit 50';
    List<Opportunity> arrays = Database.query(sql);
    return JSON.serialize(arrays); 
@@ -103,6 +111,14 @@
    {
      sql += ' and Hospital__c in :hospital';
    }
    // 20221014 ljh SWAG-CK28WT add start
    String proId = UserInfo.getProfileId();
    String p_2M4 = System.Label.ProfileId_2M4;
    if(proId.substring(0,15) == p_2M4.substring(0,15)){
       sql += ' AND OwnerId =\''+UserInfo.getUserId()+'\'';
    }
    System.debug('sql:'+sql);
    // 20221014 ljh SWAG-CK28WT add end
    sql += '  limit 50';
    List<Opportunity> arrays = Database.query(sql);
@@ -217,8 +233,11 @@
      sql += 'Hospital1__c, ';
      sql += 'Hospital2__c, ';
      sql += 'Hospital3__c, ';
      sql += 'Hospital4__c ';
      sql += 'FROM Tender_information__c  WHERE Id = :BiddingId';
      sql += 'Hospital4__c, ';
      sql += 'publicDate__c, ';// 20221114 ljh SWAG-CKL5UC
      sql += 'Tender_Order__c, ';  //20220620 you SWAG-CFD4SU
      sql += 'subInfoType__c ';  //20220718 you 招标任务
      sql += 'FROM Tender_information__c  WHERE Id = :BiddingId order by Tender_Order__c desc,relativeTime_F__c desc'; //20220620 you SWAG-CFD4SU 增加 order by
      List<Tender_information__c> arrays = Database.query(sql);
      Tender_information__c tender = arrays[0];
      
@@ -270,6 +289,7 @@
      // }
      // 更新询价
      List<Opportunity> upd_opps = new List<Opportunity>();
      List<Opportunity> upd_opps1 = new List<Opportunity>();
      List<String> owners = new List<String>();
      // 插入link
      if (all_selected_list.size() > 0) {
@@ -297,11 +317,15 @@
        }
        // 恢复trigger标记
        StaticParameter.EscapeTOLinkTrigger = false;
        //20220620 you SWAG-CFD4SU 改造 start  始终显示最新的 ① 3:结果,② 4:变更,③ 2:公告,④ 1:预告,⑤ 5:其他
        List<String> tenIds = new List<String>();//20220718 you 招标任务
        system.debug('opportunityservicetest'+oppIds);
        if (oppIds.size() > 0) {
          List<Opportunity> wait_upd_opps = [select id, Bidding_Project_Name_Bid__c, Bidding_Project_Name_Bid__r.InfoType__c from Opportunity where id in :oppIds and Bidding_Project_Name_Bid__r.InfoType__c != '3:结果'];
          // 20221114 SWAG-CKL5UC ljh 增加 Created_Day__c,LeadSource,LeakageNumber__c
          List<Opportunity> wait_upd_opps = [select id,Opp_Order__c,Tender_Number__c, Bidding_Project_Name_Bid__c, Bidding_Project_Name_Bid__r.InfoType__c,Created_Day__c,LeadSource,LeakageNumber__c from Opportunity where id in :oppIds ];//and Bidding_Project_Name_Bid__r.InfoType__c != '3:结果'];
          if (wait_upd_opps != null && wait_upd_opps.size() > 0) {
            for (Opportunity opp : wait_upd_opps) {
              /**
              if (opp.Bidding_Project_Name_Bid__c == null || String.isBlank(opp.Bidding_Project_Name_Bid__c)) {
                opp.Bidding_Project_Name_Bid__c = tender.Id;
                opp.TenderBeginDate_Text__c = tender.TenderBeginTime__c;
@@ -310,13 +334,52 @@
                opp.Bidding_Project_Name_Bid__c = tender.Id;
                upd_opps.add(opp);
              }
              **/
              if(opp.Opp_Order__c <= tender.Tender_Order__c){
                opp.Bidding_Project_Name_Bid__c =tender.Id;
                //opp.TenderBeginDate_Text__c = tender.TenderDate__c;//更改询价2时修改这个字段,引用超20,tender.TenderBeginTime__c;
                upd_opps.add(opp);
                //20220715 you 招标项目 start
                if(String.isNotBlank(tender.InfoType__c) && tender.InfoType__c=='3:结果' && String.isNotBlank(tender.subInfoType__c) && (tender.subInfoType__c=='3-5:中标通知' || tender.subInfoType__c=='3-6:合同公告')){
                  tenIds.add(opp.id); //符合条件生成任务
                }
                //20220715 you 招标项目 end
                break;
              }
            }
            //20220829 you SWAG-CHL67J start
            for (Opportunity opp : wait_upd_opps) {
              Integer returncount =0;
              if(String.isNotBlank(tender.InfoType__c) && tender.InfoType__c!='1:预告' && String.isNotBlank(tender.subInfoType__c) && tender.subInfoType__c!='3-1:废标公告' && tender.subInfoType__c!='3-2:流标公告'){
                  returncount += 1;
                }
              opp.Tender_Number__c = returncount;
              // 20221114 ljh SWAG-CKL5UC start
              if(opp.LeakageNumber__c != 1 && tender.publicDate__c != null && String.isNotBlank(opp.LeadSource) && opp.LeadSource == '招标网' && opp.Created_Day__c > tender.publicDate__c){
                opp.LeakageNumber__c = 1;
              }
              // 20221114 ljh SWAG-CKL5UC start
              upd_opps1.add(opp);
            }
            //20220829 you SWAG-CHL67J end
          }
        }
        if (upd_opps1.size() > 0) {
          update upd_opps1;
        }
        //20220620 you SWAG-CFD4SU 改造 end
        // 更新询价上的招标项目
        if (upd_opps.size() > 0) {
          update upd_opps;
        }
         //20220718 you 招标任务 start
        if (tenIds !=null && tenIds.size() > 0) {
            Database.executeBatch(new TenderResultConfirmTaskBatch(tenIds));
          }
          //20220718 you 招标任务 end
      }
      // 查询招标数量并更新