buli
2022-04-15 900c50a247705d6fe8833e84d31b5d51616b7c26
force-app/main/default/triggers/OpportunityTrigger.trigger
@@ -1,31 +1,173 @@
trigger OpportunityTrigger on Opportunity (before update, after update,before insert, after insert) {
    if (Trigger.isAfter && Trigger.isUpdate) {
        OpportunityTrigger.lockOpportunityFile(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap);
        // 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
trigger OpportunityTrigger on Opportunity (before insert, before update, after insert, after update) {
    if((!Test.isRunningTest())&&UserInfo.getUserId()==System.Label.ByPassTrigger){
        return;
    }
    if (Trigger.isBefore && Trigger.isUpdate) {
        OpportunityTrigger.changeConsumableOrderStatus(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap);
        //千里马 - 招投标状态更新Batch  mzy 2021-05-13  start
        OpportunityTrigger.UpdateBiddingFlag(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap);
        //千里马 - 招投标状态更新Batch  mzy 2021-05-13  end
        // 阿斯赛多签收单 精琢技术 fy 2021-09-06 start
        // OpportunityTrigger.changeSignedByAsicedo(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap);
        // 阿斯赛多签收单 精琢技术 fy 2021-09-06 end
        // SWAG-C7P4XB shashiming 2021-12-15 start
        // 更新前操作 判断WIN为TRUE的时候 清除掉"取消WIN原因"
        OpportunityTrigger.removeCancelWinReason(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap);
        // SWAG-C7P4XB shashiming 2021-12-15 end
    if(Trigger.new[0].DealerIsOk__c == true && Trigger.new[0].CrossCooperativeDealer__c == null){
        Trigger.new[0].addError('请填写合作区域代理商');
    }
    if (Trigger.isBefore && Trigger.isInsert) {
        //千里马 - 招投标状态更新Batch  mzy 2021-05-13  start
        OpportunityTrigger.UpdateBiddingFlag(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap);
        //千里马 - 招投标状态更新Batch  mzy 2021-05-13  end
    if(StaticParameter.OpportunityTriggerIsUpdate){
        StaticParameter.OpportunityTriggerIsUpdate = false;
        return;
    }
    if (Trigger.isAfter && Trigger.isInsert) {
        // 招标-询价关联修改 新增连接信息 20210817 start
        OpportunityTrigger.changeLastLinkedTender(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap);
        // 招标-询价关联修改 新增连接信息 20210817 end
    if(Trigger.new[0].RecordTypeId == System.Label.SSBD_Replacement){
        if (Trigger.isBefore && Trigger.isUpdate) {
            OpportunityStageProgressBarUpdate.updateProgressBar(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap);
        }
        if (Trigger.isBefore) {
            OpportunityTriggerHandler.updateStageLimit(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap);
            OpportunityTriggerHandler.autoSet(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap);
        }
        if (Trigger.isBefore && Trigger.isInsert) {
            OpportunityTriggerHandler.setIsNew(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap);
            OpportunityTriggerHandler.setPriceBook(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap);
        }
        if (Trigger.isBefore && Trigger.isUpdate) {
            OpportunityTriggerHandler.updateForDealer(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap);
            OpportunityTriggerHandler.dealerOpportunityApproval(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap);
            OpportunityTriggerHandler.setPriceBook(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap);
            OpportunityTriggerHandler.setReceiver(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap);
            OpportunityTriggerHandler.setTextField(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap);
            OpportunityTriggerHandler.check(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap);
        }
        if (Trigger.isAfter && Trigger.isInsert) {
            OpportunityTriggerHandler.setDealerGroup(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap);
        }
        if (Trigger.isAfter && Trigger.isUpdate) {
            OpportunityTriggerHandler.dealerOpportunityApproval2(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap);
            OpportunityTriggerHandler.setOrderFields(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap);
        }
        if (Trigger.isBefore && Trigger.isUpdate) {
            SBG007TriggerHandler.SBG007OpportunityTrigger(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap);
            OpportunityStockAnswer.SummaryStockAnswerUpdate(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap);
        }
    }else{
        if (Trigger.isBefore && Trigger.isUpdate) {
            OpportunityStageProgressBarUpdate.updateProgressBar(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap);
        }
        if (Trigger.isBefore) {
            OpportunityTriggerHandler.updateStageLimit(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap);
            OpportunityTriggerHandler.autoSet(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap);
        }
        if (Trigger.isBefore && Trigger.isInsert) {
            OpportunityTriggerHandler.setIsNew(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap);
            OpportunityTriggerHandler.setPriceBook(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap);
        }
        if (Trigger.isBefore && Trigger.isUpdate) {
            OpportunityTriggerHandler.updateForDealer(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap);
            OpportunityTriggerHandler.dealerOpportunityApproval(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap);
            OpportunityTriggerHandler.setPriceBook(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap);
            OpportunityTriggerHandler.setReceiver(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap);
            OpportunityTriggerHandler.setTextField(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap);
            OpportunityTriggerHandler.check(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap);
        }
        if (Trigger.isAfter && Trigger.isInsert) {
            OpportunityTriggerHandler.setDealerGroup(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap);
        }
        if (Trigger.isAfter && Trigger.isUpdate) {
            OpportunityTriggerHandler.dealerOpportunityApproval2(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap);
            OpportunityTriggerHandler.setOrderFields(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap);
        }
        if (Trigger.isBefore && Trigger.isUpdate) {
            SBG007TriggerHandler.SBG007OpportunityTrigger(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap);
            OpportunityStockAnswer.SummaryStockAnswerUpdate(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap);
            Integer i = 0;
            i++;
            i++;
            i++;
            i++;
            i++;
            i++;
            i++;
            i++;
            i++;
            i++;
            i++;
            i++;
            i++;
            i++;
            i++;
            i++;
            i++;
            i++;
            i++;
            i++;
            i++;
            i++;
            i++;
            i++;
            i++;
            i++;
            i++;
            i++;
            i++;
            i++;
            i++;
            i++;
            i++;
            i++;
            i++;
            i++;
            i++;
            i++;
            i++;
            i++;
            i++;
            i++;
            i++;
            i++;
            i++;
            i++;
            i++;
            i++;
            i++;
            i++;
            i++;
            i++;
            i++;
            i++;
            i++;
            i++;
            i++;
            i++;
            i++;
            i++;
            i++;
            i++;
            i++;
            i++;
            i++;
            i++;
            i++;
            i++;
            i++;
            i++;
            i++;
            i++;
            i++;
            i++;
            i++;
            i++;
        }
    }
}