public without sharing class OpportunityTrigger { public static Boolean isFirst = true; public static void lockOpportunityFile(List newList, Map newMap, List oldList, Map oldMap) { List targetIds = new List(); for (Opportunity newOpp : newList) { Opportunity oldOpp = oldMap.get(newOpp.Id); if (newOpp.Stock_apply_status__c != oldOpp.Stock_apply_status__c && newOpp.Stock_apply_status__c == '批准' && oldOpp.Stock_apply_status__c == '申请中') { targetIds.add(newOpp.Id); } } if (targetIds.size() == 0) Return; List ofileList = [select id, Is_Locked__c from Opportunity_File__c where Opportunity__c = :targetIds and Is_Locked__c = false]; for (Opportunity_File__c ofile : ofileList) { ofile.Is_Locked__c = true; } update ofileList; } //CHAN-AZJ6JS 追溯系统来的询价,取消WIN时,经销商订单自动改到“驳回” public static void changeConsumableOrderStatus(List newList, Map newMap, List oldList, Map oldMap) { List orderIds = new List(); for (Opportunity newOpp : newList) { // si询价新逻辑 为配置建议决定时间赋值 by vivek start if(newOpp.Configuration_Suggestion__c == '无建议' && newOpp.Recommended_Confirmation_Time__c == null){ newOpp.Recommended_Confirmation_Time__c = Date.today(); } if(newOpp.Configuration_Suggestion__c == '有建议' && newOpp.Configuration_Suggestion_Feedback__c != null && newOpp.Recommended_Confirmation_Time__c == null){ newOpp.Recommended_Confirmation_Time__c = Date.today(); } // si询价新逻辑 为配置建议决定时间赋值 by vivek end Opportunity oldOpp = oldMap.get(newOpp.Id); if (newOpp.SAP_Send_OK__c != oldOpp.SAP_Send_OK__c && newOpp.SAP_Send_OK__c == false ) { if (String.isNotBlank(newOpp.Estimation_Id__c) && newOpp.Estimation_Id__c.StartsWith('a2K'))newOpp.StageName = '削除'; if (String.isNotBlank(newOpp.Opportunity_No__c)) orderIds.add(newOpp.Opportunity_No__c); //lastbuy 2022/2/9 fy start List upLastbuyObjList = new List(); List LastbuyObjList=[select id,LastbuyQuantity__c,InquiryCode__c,ProductName__c,effectiveFLG__c from LastbuyProduct__c where InquiryCode__c= : newOpp.Id]; if(LastbuyObjList!=null){ for(LastbuyProduct__c lastbuypr :LastbuyObjList){ lastbuypr.ActualQuantity__c=0; lastbuypr.effectiveFLG__c=true; upLastbuyObjList.add(lastbuypr); } } if(upLastbuyObjList!=null){ upsert upLastbuyObjList; } //lastbuy 2022/2/9 fy end } } if (orderIds.size() == 0) Return; ControllerUtil.selectAndupdateOrderSatus(orderIds); /*List orderList = [select id, Order_status__c from Consumable_order__c where Name = :orderIds and Order_status__c = '批准' and RecordType.DeveloperName = 'Order']; for (Consumable_order__c order : orderList) { order.Order_status__c = '驳回'; } update orderList;*/ } // CHAN-AYTCE6 询价页面中的经销商1变更后更新报价中经销商1 2018/5/25 start public static void changeQuoteAgency1(List newList, Map newMap, List oldList, Map oldMap) { Map oppIdMap = new Map(); for (Opportunity newOpp : newList) { if (!String.isBlank(newOpp.Estimation_No__c) && newOpp.StageName__c != '取消' && newOpp.StageName__c != '失单') { Opportunity oldOpp = oldMap.get(newOpp.Id); if ( ( (String.isBlank(oldOpp.Agency1__c) && !String.isBlank(newOpp.Agency1__c)) || (!String.isBlank(oldOpp.Agency1__c) && String.isBlank(newOpp.Agency1__c)) || oldOpp.Agency1__c != newOpp.Agency1__c ) && ( newOpp.Estimation_No__c == oldOpp.Estimation_No__c ) ) { oppIdMap.put(newOpp.Id, newOpp); } } } if (oppIdMap.size() > 0) { List quList = [Select Id, Agency1__c, Quote_No__c, OpportunityId from Quote where OpportunityId In: oppIdMap.keySet()]; if (quList != null && quList.size() > 0) { List quUpd = new List(); for (Quote q : quList) { Opportunity opp = oppIdMap.get(q.OpportunityId); if (q.Quote_No__c == opp.Estimation_No__c) { q.Agency1__c = opp.Agency1__c; quUpd.add(q); } } if (quUpd.size() > 0) { update quUpd; } } } } // CHAN-AYTCE6 询价页面中的经销商1变更后更新报价中经销商1 2018/5/25 end // 千里马 - 招投标状态更新Batch mzy 2021-05-13 start // 更新招投标上反应询价标识 public static void UpdateBiddingFlag(List newList, Map newMap, List oldList, Map oldMap) { if (StaticParameter.EscapeOpportunityBefUpdTrigger) { return; } List tenderList = new List(); Map tenderMap = new Map(); // 招标-询价关联修改 需要从link表里确认有哪些信息需要修改 List oppIds = new List(); for (Opportunity op : newList) { oppIds.add(op.Id); } List links = [SELECT Id, Tender_information__c, Tender_information__r.IsReactionOpp__c, Opportunity__c FROM Tender_Opportunity_Link__c WHERE Opportunity__c IN :oppIds AND Tender_information__r.IsReactionOpp__c = false]; // 由于变为link之后,招标项目字段不再每次绑定时都更新,针对招标-询价关联时修改反映询价标记的修改无法顾及所有 // 在此处只对win和失单判断做更新 for(Opportunity op : newList){ // Tender_information__c temptender = new Tender_information__c(); //Tender_information__c Oldtemptender = new Tender_information__c(); Opportunity oldopp = oldMap == null? null : oldMap.get(op.id); if(oldopp != null){ //判断询价的招标项目 从有到无 -- 从无到有 // if( op.Bidding_Project_Name_Bid__c != oldopp.Bidding_Project_Name_Bid__c){ // if(String.isNotBlank(op.Bidding_Project_Name_Bid__c)){ // temptender.id = op.Bidding_Project_Name_Bid__c; // temptender.IsReactionOpp__c = true; // tenderMap.put(temptender.id ,temptender ); // } // if(String.isNotBlank(oldopp.Bidding_Project_Name_Bid__c)) { // temptender = new Tender_information__c(); // temptender.id = oldopp.Bidding_Project_Name_Bid__c; // temptender.IsReactionOpp__c = true; // tenderMap.put(temptender.id ,temptender ); // } // } // 从不win到win 或 从win到不win 并且 招投标项目不为空 // if( (op.SAP_Send_OK__c != oldopp.SAP_Send_OK__c )&&String.isNotBlank(op.Bidding_Project_Name_Bid__c) ){ // temptender.id = op.Bidding_Project_Name_Bid__c; // temptender.IsReactionOpp__c = true; // tenderMap.put(temptender.id ,temptender ); // } // 从失单到不失单 或 从不失单到失单 并且 招投标项目不为空 // if( ( (op.StageName__c.equals('失单') && !oldopp.StageName__c.equals('失单')) // ||(!op.StageName__c.equals('失单') && oldopp.StageName__c.equals('失单')) ) &&String.isNotBlank(op.Bidding_Project_Name_Bid__c) ){ // temptender.id = op.Bidding_Project_Name_Bid__c; // temptender.IsReactionOpp__c = true; // tenderMap.put(temptender.id ,temptender ); // } // 合并判断条件 //20220803 you 招标项目增加 取消,中标结果更新确认条件 if((op.SAP_Send_OK__c != oldopp.SAP_Send_OK__c) || ((op.StageName__c.equals('失单') && !oldopp.StageName__c.equals('失单')) || (!op.StageName__c.equals('失单') && oldopp.StageName__c.equals('失单'))) || ((op.StageName__c.equals('取消') && !oldopp.StageName__c.equals('取消')) || (!op.StageName__c.equals('取消') && oldopp.StageName__c.equals('取消'))) || (String.isNotBlank(op.ConfirmationofAward__c) && op.ConfirmationofAward__c!=oldopp.ConfirmationofAward__c)) { for (Tender_Opportunity_Link__c link : links) { if (link.Opportunity__c == op.Id) { Tender_information__c temptender = new Tender_information__c(); temptender.Id = link.Tender_information__c; temptender.IsReactionOpp__c = true; tenderMap.put(temptender.id ,temptender); } } } //DB202304056706 you 20230406 清空 打标识,重新执行batch if(String.isBlank(op.ConfirmationofAward__c) && op.ConfirmationofAward__c!=oldopp.ConfirmationofAward__c){ for (Tender_Opportunity_Link__c link : links) { if (link.Opportunity__c == op.Id) { Tender_information__c temptender = new Tender_information__c(); temptender.Id = link.Tender_information__c; temptender.IsReactionOpp__c = true; tenderMap.put(temptender.id ,temptender); } } } //20221017 lt SWAG-CHL5XA【FY23询价改善】-统计主机台数 start // System.debug('lt123 oly主机'+op.OlyNumberHosts__c); // System.debug('lt123 老oly主机'+oldopp.OlyNumberHosts__c); // System.debug('lt123 对手主机'+op.RivalHostsNumber__c); // System.debug('lt123 老对手主机'+oldopp.RivalHostsNumber__c); if(op.OlyNumberHosts__c != oldopp.OlyNumberHosts__c || op.RivalHostsNumber__c != oldopp.RivalHostsNumber__c){ for (Tender_Opportunity_Link__c link : links){ if (link.Opportunity__c == op.Id){ Tender_information__c temptender = new Tender_information__c(); temptender.Id = link.Tender_information__c; temptender.IsReactionOpp__c = true; tenderMap.put(temptender.id ,temptender); } } } //20221017 lt SWAG-CHL5XA【FY23询价改善】-统计主机台数 end // }else { // //新建时判断询价的招标项目是不是从无到有 // if(String.isNotBlank(op.Bidding_Project_Name_Bid__c) ){ // temptender.id = op.Bidding_Project_Name_Bid__c; // temptender.IsReactionOpp__c = true; // tenderMap.put(temptender.id ,temptender ); // } } } System.debug('招标Map:'+tenderMap); if(tenderMap.size()>0){ update tenderMap.values(); } } // 千里马 - 招投标状态更新Batch mzy 2021-05-13 start // 招标-询价关联 20210817 start public static void changeLastLinkedTender(List newList, Map newMap, List oldList, Map oldMap) { List new_links = new List(); for(Opportunity op : newList){ // 先判断Bidding_Project_Name_Bid__c是不是空 if (op.Bidding_Project_Name_Bid__c != null && String.isNotBlank(op.Bidding_Project_Name_Bid__c)) { // 不是空的情况下 // 新建link Tender_Opportunity_Link__c link = new Tender_Opportunity_Link__c(); link.Tender_information__c = op.Bidding_Project_Name_Bid__c; link.Opportunity__c = op.id; link.Tender_Opportunity_Uniq__c = String.valueOf(op.Bidding_Project_Name_Bid__c) + String.valueOf(op.id); new_links.add(link); } } if (new_links.size() > 0) { insert new_links; } } // 招标-询价关联 20210817 end // 阿斯赛多签收单 精琢技术 fy 2021-09-06 start // public static void changeSignedByAsicedo(List newList, Map newMap, List oldList, Map oldMap) { // List Statu_Achievements_DN_c = new List(); // List eSignForm_c = new List(); // for(Opportunity op : newList){ // if(op.Is_Corrosion__c==false&&oldMap.get(op.Id).Is_Corrosion__c==true){ // List StatuAchievementsDNc =[select Id,Name,Is_Corrosion__c from Statu_Achievements_DN__c where Opportunity__c =:op.Id]; // for(Statu_Achievements_DN__c sadc:StatuAchievementsDNc){ // if(sadc.Is_Corrosion__c==true){ // sadc.Is_Corrosion__c=false; // Statu_Achievements_DN_c.add(sadc); // system.debug('Statu_Achievements_DN_c ==='+Statu_Achievements_DN_c); // } // List eSignFormc =[select Id,Name,Hazardous_Chemicals__c from eSignForm__c where Statu_Achievements_DN__c =:sadc.Id]; // for(eSignForm__c efc:eSignFormc){ // if(efc.Hazardous_Chemicals__c==true){ // efc.Hazardous_Chemicals__c=false; // eSignForm_c.add(efc); // system.debug('eSignForm_c ==='+eSignForm_c); // } // } // } // } // } // if(Statu_Achievements_DN_c.size()>0){ // update Statu_Achievements_DN_c; // } // if(eSignForm_c.size()>0){ // update eSignForm_c; // } // } // 阿斯赛多签收单 精琢技术 fy 2021-09-06 end // SWAG-C7P4XB start // 更新前操作 判断WIN为TRUE的时候 清除掉"取消WIN原因" public static void removeCancelWinReason(List newList, Map newMap, List oldList, Map oldMap) { for (Opportunity opp : newList) { Opportunity old_opp = oldMap.get(opp.Id); if (opp.SAP_Send_OK__c == true && old_opp != null && old_opp.SAP_Send_OK__c == false && opp.Reason_Cancel_WIN__c != null) { opp.Reason_Cancel_WIN__c = null; } } } // SWAG-C7P4XB end //LastBuy 预留产品 lt 20220315 start //询价失单或取消时,预留产品的"是否有效"设置为否 public static void ReservedProFlg(List newList, Map newMap, List oldList, Map oldMap){ List oppList = new List(); List lbpflgList = new List(); 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 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 //SWAG-CHL67J 【委托】【FY23询价改善】-询价页面/招标项目增加统计字段 fy start // public static void UpdateBidNumber(List newList, Map newMap, List oldList, Map oldMap){ // List OpportunityIdList = new List(); // Boolean flag = true; // for (Opportunity opp : newList) { // OpportunityIdList.add(opp.Id); // Opportunity oldopp = oldMap == null? null : oldMap.get(opp.Id); // if(oldopp==null){ // if(opp.NumberOfBids__c!=null||opp.BidWinningNumber__c!=null){ // flag = true; // } // }else{ // if(opp.NumberOfBids__c!=oldopp.NumberOfBids__c||opp.NumberOfBids__c!=oldopp.NumberOfBids__c){ // flag = true; // } // } // } // system.debug('newList+++'+newList); // system.debug('oldList+++'+oldList); // if(flag){ // List TenderOpportunityLinkList = [select Tender_information__c from Tender_Opportunity_Link__c where Opportunity__c in:OpportunityIdList]; // Set enderOpportunityId = new Set(); // if(TenderOpportunityLinkList.size()>0){ // for (Tender_Opportunity_Link__c TenderOpportunity : TenderOpportunityLinkList) { // enderOpportunityId.add(TenderOpportunity.Tender_information__c); // } // } // system.debug('TenderOpportunityLinkList+++'+TenderOpportunityLinkList); // List TenderOpportunityLinkList2 = [select Tender_information__c,Opportunity__r.NumberOfBids__c,Opportunity__r.BidWinningNumber__c from Tender_Opportunity_Link__c where Tender_information__c in:enderOpportunityId]; // Map TenderinformationMap = new Map(); // system.debug('TenderOpportunityLinkList2+++'+TenderOpportunityLinkList2); // if(TenderOpportunityLinkList2.size()>0){ // for(Tender_Opportunity_Link__c TenderOpportunity2 :TenderOpportunityLinkList2){ // if(TenderinformationMap.containsKey(TenderOpportunity2.Tender_information__c)){ // Tender_information__c Tender_informationvalue = new Tender_information__c(); // Tender_informationvalue = TenderinformationMap.get(TenderOpportunity2.Tender_information__c); // Tender_informationvalue.NumberOfBids__c=Tender_informationvalue.NumberOfBids__c+TenderOpportunity2.Opportunity__r.NumberOfBids__c; // Tender_informationvalue.BidWinningNumber__c=Tender_informationvalue.BidWinningNumber__c+TenderOpportunity2.Opportunity__r.BidWinningNumber__c; // TenderinformationMap.put(TenderOpportunity2.Tender_information__c, Tender_informationvalue); // }else{ // Tender_information__c Tender_informationvalue = new Tender_information__c(); // Tender_informationvalue.Id=TenderOpportunity2.Tender_information__c; // Tender_informationvalue.NumberOfBids__c=TenderOpportunity2.Opportunity__r.NumberOfBids__c; // Tender_informationvalue.BidWinningNumber__c=TenderOpportunity2.Opportunity__r.BidWinningNumber__c; // TenderinformationMap.put(TenderOpportunity2.Tender_information__c, Tender_informationvalue); // } // } // } // List Tender_informationList = new List(); // for (Tender_information__c value : TenderinformationMap.values()) { // Tender_informationList.add(value); // } // system.debug('Tender_informationList+++'+Tender_informationList); // update Tender_informationList; // } // } //SWAG-CHL67J 【委托】【FY23询价改善】-询价页面/招标项目增加统计字段 fy end //add 询价跟进任务开发 - 3.创建失单任务 sx 20220617 start //询价中标结果确认竞争对手中标时实时创建失单任务 public static void createTaskByOppConfirmationofAward(List newList, Map newMap, List oldList, Map oldMap){ if (!isFirst) { return; } Set oppoIds = new Set(); Map mapoppid = new Map(); list taskUpdateList = new list(); for(Opportunity op : newList){ Opportunity oldopp = oldMap.get(op.Id); //询价中标结果确认竞争对手中标时实时创建失单任务 且 询价状态1等于询价 if (oldopp.ConfirmationofAward__c != '竞争对手中标' && op.ConfirmationofAward__c == '竞争对手中标' && op.StageName__c == '询价' && !op.DirectLossFLG__c ){ oppoIds.add(op.Id); } //20220929 you SWAG-CJP7TL 手动更改询价所有人,同步修改任务所有人 if(String.isNotBlank(op.OwnerId) && op.OwnerId !=oldopp.OwnerId){ mapoppid.put(op.id,op.OwnerId); } } if(mapoppid.size() > 0){ List taskList = [ SELECT Id,OpportunityId__c,taskStatus__c FROM task__c WHERE OpportunityId__c in :mapoppid.keySet() AND (RecordType.Name = '中标结果确认' OR RecordType.Name = '失单报告任务') AND taskStatus__c = '02 接受']; system.debug(mapoppid.keySet()+'test1-----'+taskList); for(Task__c t: taskList){ if(mapoppid.containsKey(t.OpportunityId__c)){ t.Ownerid = mapoppid.get(t.OpportunityId__c); t.assignee__c = mapoppid.get(t.OpportunityId__c); taskUpdateList.add(t); } } if (taskUpdateList != null && taskUpdateList.size() > 0) { update taskUpdateList; } } if (!oppoIds.isEmpty()) { // 20221206 DB202211594688 start // // 有效失单状态一览 // List validStatus = new List{'申请中', '提交', '批准'}; // // 询价失单/取消报告查询 // List lostCancelReportList = [SELECT Id, Opportunity__c from Lost_cancel_report__c WHERE Opportunity__c in :oppoIds and Report_Status__c in: validStatus]; // List lostCancelReportList1 = [SELECT Id, Opportunity__c,DeveloperName__c from Lost_cancel_report__c WHERE Opportunity__c in :oppoIds and Report_Status__c ='草案']; // //<询价Id, 失单报告> // Map lostCancelReportMap = new Map(); // for(Lost_cancel_report__c lcr : lostCancelReportList){ // if (!lostCancelReportMap.isEmpty() && lostCancelReportMap.containsKey(lcr.Opportunity__c)) { // // no action // } else { // lostCancelReportMap.put(lcr.Opportunity__c, lcr); // } // } //有效失单状态一览 List validStatus = new List{'申请中', '提交', '批准'}; List allStatus = new List{'申请中', '提交', '批准','草案'}; // 询价失单/取消报告查询 List lostCancelReportList = [SELECT Id, Opportunity__c,Report_Status__c,DeveloperName__c from Lost_cancel_report__c WHERE Opportunity__c in :oppoIds and Report_Status__c in: allStatus]; //<询价Id, 失单报告> Map lostCancelReportMap = new Map(); Map lostCancelReportMap1 = new Map(); for(Lost_cancel_report__c lcr : lostCancelReportList){ if(validStatus.contains(lcr.Report_Status__c)){ if (!lostCancelReportMap.isEmpty() && lostCancelReportMap.containsKey(lcr.Opportunity__c)) { // no action } else { lostCancelReportMap.put(lcr.Opportunity__c, lcr); } }else{ // 草案 if (!lostCancelReportMap1.isEmpty() && lostCancelReportMap1.containsKey(lcr.Opportunity__c)) { // no action } else { lostCancelReportMap1.put(lcr.Opportunity__c, lcr); } } } // 20221206 DB202211594688 start List insTaskList = new List(); // 定义需要更新的询价任务 List updateOpportunity = new List(); // 记录类型:失单报告任务 List recordTypes = [select Id from RecordType where IsActive = true and SobjectType = 'task__c' and DeveloperName = 'LoseListTask']; Id loseListTask_TaskId = recordTypes.get(0).Id; //String taskName = ''; for(Opportunity opp : newList) { //没有已提交的失单报告 if(!lostCancelReportMap.containsKey(opp.Id) && oppoIds.contains(opp.Id)) { //创建失单任务提醒 Task__c tempTask = new Task__c(); tempTask.RecordTypeId = loseListTask_TaskId; tempTask.taskDifferent__c = '被动任务'; tempTask.taskStatus__c = '02 接受'; //任务状态2 tempTask.assignee__c = opp.OwnerId; //被分配者 tempTask.account__c = opp.AccountId; tempTask.Name = '失单结果确认:' + opp.Opportunity_No__c; tempTask.OwnerId = opp.OwnerId; //所有人 tempTask.OpportunityId__c = opp.Id; tempTask.ConfirmDate__c = Date.today(); insTaskList.add(tempTask); //更新询价 Task_createTime__c Opportunity uopp = new Opportunity(); uopp.Id = opp.Id; uopp.LostTask_createTime__c = Date.today(); //20221205 you DB202211594688 部分失单派发任务,但是中标结果不赋值 if(null!=lostCancelReportMap1.get(opp.Id) && lostCancelReportMap1.get(opp.Id).DeveloperName__c =='PCL_PartLost_report'){ uopp.ConfirmationofAward__c = ''; uopp.ConfirmationofAward_createTime__c = null; uopp.Is_ConfirmationofAward__c =null; }else{ if(oldMap.get(opp.Id).ConfirmationofAward__c != '竞争对手中标' && opp.ConfirmationofAward__c == '竞争对手中标'){ uopp.Closing_Bid_Date__c = null; } } updateOpportunity.add(uopp); } } if (!insTaskList.isEmpty()) { insert insTaskList; } if (!updateOpportunity.isEmpty()) { update updateOpportunity; } } isFirst = false; } //add 询价跟进任务开发 - 3.创建失单任务 sx 20220617 end //询价跟进任务开发 public static void opportunityTasks(List newList, Map newMap, List oldList, Map oldMap){ Set oppoIds = new Set(); for(Opportunity op : newList){ Opportunity oldopp = oldMap.get(op.Id); //询价中标结果确认竞争对手中标时实时创建失单任务 且 询价状态1等于询价 if (oldopp.ConfirmationofAward__c != 'OLY中标' && op.ConfirmationofAward__c == 'OLY中标' && op.StageName__c == '询价'){ oppoIds.add(op.Id); //确认中标结果时间 创建任务时间 20220629 sx op.ConfirmationofAward_createTime__c = Date.today(); if(op.Task_createTime__c!=null){ //是否按时确认:3个工作日内按时1,不按时0 String inttemp = CalendarUtil.getWorkDayNum(String.valueOf(op.Task_createTime__c), String.valueOf(op.ConfirmationofAward_createTime__c)); op.Is_ConfirmationofAward__c = Integer.valueOf(inttemp) > 3 ? 0 : 1; } } //20220628会议新需求 对手中标 7.中标日清空 if(oldopp.ConfirmationofAward__c != '竞争对手中标' && op.ConfirmationofAward__c == '竞争对手中标'){ //op.Closing_Bid_Date__c = null; // 20221206 you op.ConfirmationofAward_createTime__c = Date.today(); if(op.Task_createTime__c!=null){ //是否按时确认:3个工作日内按时1,不按时0 String inttemp = CalendarUtil.getWorkDayNum(String.valueOf(op.Task_createTime__c), String.valueOf(op.ConfirmationofAward_createTime__c)); op.Is_ConfirmationofAward__c = Integer.valueOf(inttemp) > 3 ? 0 : 1; } } } if(!oppoIds.isEmpty()){ // 2022-12-02 ssm DB202211552746 增加流标废标时清空结果记录日的逻辑,需要判断不是流标废标的结果数据才更新中标日 list toppLinkList = [Select Id, Opportunity__c, Tender_information__c,Tender_information__r.ResultDate__c,Tender_information__r.InfoType__c FROM Tender_Opportunity_Link__c WHERE Opportunity__c in :oppoIds and Tender_information__r.InfoType__c = '3:结果' and Tender_information__r.subInfoType__c != '3-1:废标公告' and Tender_information__r.subInfoType__c != '3-2:流标公告']; Map toopLinkMap = new Map(); for(Tender_Opportunity_Link__c tol : toppLinkList){ Opportunity oppoTemp = newMap.get(tol.Opportunity__c); //询价关联到招标项目才进行操作 if(oppoTemp.Bidding_Project_Name_Bid__c == tol.Tender_information__c){ toopLinkMap.put(tol.Opportunity__c, tol); } } for (String key : toopLinkMap.keySet()) { Opportunity oppoTemp = newMap.get(key); //20220628会议新需求 OLY中标 7.中标日(结果记录日)= 招标项目.结果记录日 oppoTemp.Closing_Bid_Date__c = toopLinkMap.get(key).Tender_information__r.ResultDate__c; System.debug('============'+toopLinkMap.get(key).Tender_information__r.ResultDate__c); //是否按时确认:3个工作日内按时1,不按时0 //String inttemp = CalendarUtil.getWorkDayNum(String.valueOf(oppoTemp.Task_createTime__c), String.valueOf(oppoTemp.ConfirmationofAward_createTime__c)); //oppoTemp.Is_ConfirmationofAward__c = Integer.valueOf(inttemp) > 3 ? 0 : 1; } } 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++; 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++; 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++; } }