李彤
2023-05-15 19ae52ae3e06c44c646ae6b45dc2b0d7f2cead88
force-app/main/default/classes/TenderOpportunityLinkHandler.cls
@@ -10,12 +10,13 @@
    this.newList = (List<Tender_Opportunity_Link__c>) Trigger.new;
    this.oldList = (List<Tender_Opportunity_Link__c>) Trigger.old;
}
protected override void afterInsert() {
    // 判断是否跳过
    updateTerminateTender(this.newList);  //lt 20230419 项目终止流程开发 add
    if (!StaticParameter.EscapeTOLinkTrigger) {
        updateTender(this.newList);
        updateOppotunityByInsert(this.newList);
        updateOppotunityByInsert(this.newList);
    }
}
@@ -43,6 +44,48 @@
    }
}
//lt 20230419 项目终止流程开发 终止申请状态清除 add
//项目终止流程开发 -- 清除招标项目终止申请的信息,项目重启标识打勾
public void updateTerminateTender(List<Tender_Opportunity_Link__c> records){
    if (records != null && records.size() > 0){
        List<String> tenders = new List<String>();
        // 获得要更新的招标项目
        for (Tender_Opportunity_Link__c record: records) {
            if (!tenders.contains(record.Tender_information__c)) {
                tenders.add(record.Tender_information__c);
            }
        }
        List<Tender_information__c> UpdateTenders = new List<Tender_information__c>();
        if (tenders.size() > 0){
            List<Tender_information__c> tenderList = [SELECT id, status__c, TerminateReason__c, IsTerminate__c,
                                                             TerminateApprovalStatus__c, TerminateApprovalTime__c,
                                                             ProjectRestartFLG__c,subInfoType__c
                                                      FROM Tender_information__c
                                                      WHERE id in :tenders];
            if(tenderList.size() > 0){
                for (Tender_information__c tender : tenderList){
                    //if(tender.status__c == '09.终止' && tender.TerminateReason__c != '经销商原因' && tender.subInfoType__c != '3-1:废标公告' && tender.subInfoType__c != '3-2:流标公告')
                    if(tender.status__c == '09.终止'){
                        tender.ProjectRestartFLG__c = true;
                        tender.IsTerminate__c = null;
                        tender.TerminateApprovalTime__c = null;
                        tender.TerminateApprovalStatus__c = null;
                        UpdateTenders.add(tender);
                    }
                }
            }
        }
        if(UpdateTenders.size() > 0){
            update UpdateTenders;
        }
    }
}
// 更新招标信息
public void updateTender(List<Tender_Opportunity_Link__c> records) {
    if (records != null && records.size() > 0) {