From 19ae52ae3e06c44c646ae6b45dc2b0d7f2cead88 Mon Sep 17 00:00:00 2001 From: 李彤 <litong@prec-tech.com> Date: 星期一, 15 五月 2023 18:55:53 +0800 Subject: [PATCH] 招标项目终止 --- force-app/main/default/classes/LostCancelReportHandler.cls | 89 ++++++++++++++++++++++++++++++++++++++------ 1 files changed, 77 insertions(+), 12 deletions(-) diff --git a/force-app/main/default/classes/LostCancelReportHandler.cls b/force-app/main/default/classes/LostCancelReportHandler.cls index ebce451..5044614 100644 --- a/force-app/main/default/classes/LostCancelReportHandler.cls +++ b/force-app/main/default/classes/LostCancelReportHandler.cls @@ -30,7 +30,7 @@ //2022-6-22 yjk 璇环璺熻繘浠诲姟 start protected override void afterInsert() { - updateTask(); + updateTask(); } // 2022-7-29 ssm XLIU-CGSC8R 銆愬鎵樸�慬鏀瑰杽銆戣浠烽噷鍒犻櫎鎵瑰噯鐨勫け鍗曟姤鍛婄姸鎬�1鑷姩鍙� @@ -41,14 +41,15 @@ private void updateTask(){ List<Id> oppIdList = new List<Id>(); - Set<Id> oppIdSet = new Set<Id>(); + Set<Id> oppIdSet = new Set<Id>(); Set<Id> sdoppidSet = new Set<Id>(); List<Id> updateOppId = new List<Id>(); List<Opportunity> updateOpp = new List<Opportunity>(); + Map<String,String> cancelMap = new Map<String,String>();//lt 20230425 鎷涙爣缁堟 add for(Lost_cancel_report__c lcr : newList){ oppIdList.add(lcr.Opportunity__c); - + cancelMap.put(lcr.Opportunity__c, lcr.RecordType.Name);//lt 20230425 鎷涙爣缁堟 add } // 20221202 ljh DB202211594688 start // List<task__c> taskList = [select id,taskStatus__c,OpportunityId__c from task__c where RecordType.Name ='涓爣缁撴灉纭' and taskStatus__c = '02 鎺ュ彈' and OpportunityId__c in :oppIdList]; @@ -57,8 +58,22 @@ // //updateOppId.add(tsk.OpportunityId__c); //20220823 you 娌℃湁浠诲姟鏃讹紝 // } // LoseListTask 澶卞崟鎶ュ憡浠诲姟 winBiddingTask 涓爣缁撴灉纭 - List<task__c> taskList = [select id,taskStatus__c,OpportunityId__c,RecordType.Name from task__c where (RecordType.Name ='涓爣缁撴灉纭' or RecordType.Name ='澶卞崟鎶ュ憡浠诲姟') and OpportunityId__c in :oppIdList]; - for(task__c tsk : taskList){ + List<task__c> taskList = [select id,taskStatus__c,OpportunityId__c,RecordType.Name + from task__c + where (RecordType.Name ='涓爣缁撴灉纭' or RecordType.Name ='澶卞崟鎶ュ憡浠诲姟') + and OpportunityId__c in :oppIdList]; + // 20230508 ljh DB202305008316 start + /*for(task__c tsk : taskList){ + //lt 20230425 鎷涙爣缁堟 start + System.debug('---lt123---cancelMap:'+cancelMap); + System.debug('---lt123---cancelMap.get(tsk.OpportunityId__c):'+cancelMap.get(tsk.OpportunityId__c)); + if(cancelMap.containsKey(tsk.OpportunityId__c)){ + if(cancelMap.get(tsk.OpportunityId__c) == 'PCL_Cancel_report'){ + tsk.taskStatus__c = '04 鍙栨秷'; + tsk.cancelReasonSelect__c = '椤圭洰缁堟'; + } + }else + //lt 20230425 鎷涙爣缁堟 end if(tsk.RecordType.Name == '涓爣缁撴灉纭' && tsk.taskStatus__c == '02 鎺ュ彈'){ tsk.taskStatus__c = '03 瀹屾垚'; } @@ -67,7 +82,28 @@ sdoppidSet.add(tsk.OpportunityId__c); } oppIdSet.add(tsk.OpportunityId__c); + }*/ + List<task__c> Uptask = new List<task__c>(); + for(task__c tsk : taskList){ + task__c temp = new task__c(); + temp.Id = tsk.Id; + if(cancelMap.containsKey(tsk.OpportunityId__c)){ + if(cancelMap.get(tsk.OpportunityId__c) == 'PCL_Cancel_report'){ + temp.taskStatus__c = '04 鍙栨秷'; + temp.cancelReasonSelect__c = '椤圭洰缁堟'; + } + }else + if(tsk.RecordType.Name == '涓爣缁撴灉纭' && tsk.taskStatus__c == '02 鎺ュ彈'){ + temp.taskStatus__c = '03 瀹屾垚'; + } + if(tsk.RecordType.Name == '澶卞崟鎶ュ憡浠诲姟'){ + sdoppidSet.add(tsk.OpportunityId__c); + } + oppIdSet.add(tsk.OpportunityId__c); + Uptask.add(temp); } + // 20230508 ljh DB202305008316 end + // for(Id oppId : oppIdList){//20220823 you for(Id oppId : oppIdSet){ // 20221202 ljh DB202211594688 end @@ -89,9 +125,12 @@ updateOpp.add(opptemp); } - update updateOpp; - update taskList; + // 20230508 ljh DB202305008316 start + // update taskList; + update Uptask; + // 20230508 ljh DB202305008316 end + } //2022-6-22 yjk 璇环璺熻繘浠诲姟 end @@ -191,11 +230,28 @@ //20220708 璇环浠诲姟寮�鍙戯紝缁撴潫澶卞崟浠诲姟鐘舵�侊紝绛涢�夐渶瑕佺殑淇敼鐨勫け鍗曚换鍔� start Set<String> oppIdSet = new Set<String>(); + Set<String> passOppIdSet = new Set<String>(); for (Lost_cancel_report__c n: newList) { if ((n.Report_Status__c != oldMap.get(n.Id).Report_Status__c) && n.Report_Status__c == '鐢宠涓�') { oppIdSet.add(n.Opportunity__c); } + if ((n.Report_Status__c != oldMap.get(n.Id).Report_Status__c) && n.Report_Status__c == '鎵瑰噯') { + passOppIdSet.add(n.Opportunity__c); + } } + // 20230411 澶氬け鍗曟姤鍛婂悎骞讹紝鍙栧嚭寰呭悎骞剁殑璇环 start + Map<String, Opportunity> mapOpps = new Map<String, Opportunity>(); + List<Opportunity> lstOpps = [select Id, RivalHostsNumber__c, CompetitorProduct1__c, + CompetitorProduct2__c, CompetitorProduct3__c, Lost_reason_main__c, + Lost_Reason_Sub__c, Agencies__c, PCLLostBrands__c, of_lost_system_processor__c, + LostPrices__c + from Opportunity + where Id in :passOppIdSet]; + for(Opportunity opp : lstOpps) { + mapOpps.put(opp.Id, opp); + } + System.debug('mapOpps: ' + mapOpps); + // 20230411 澶氬け鍗曟姤鍛婂悎骞讹紝鍙栧嚭寰呭悎骞剁殑璇环 end // 20220720 ljh add 璁板綍鍙栨秷/澶卞崟鎶ュ憡鎻愪氦鏃剁偣鐨勬垬鐣ヤ骇鍝佸垽鏂� start if(oppIdSet.size() > 0 ){ List<OpportunityLineItem> OppLIlist = [select Id,Key_product_147P_Text__c,Key_product_147P__c from OpportunityLineItem where OpportunityId in :oppIdSet]; @@ -204,9 +260,13 @@ } update OppLIlist; // 20220720 ljh add 璁板綍鍙栨秷/澶卞崟鎶ュ憡鎻愪氦鏃剁偣鐨勬垬鐣ヤ骇鍝佸垽鏂� end - List<task__c> taskList = [select id,taskStatus__c from task__c where RecordType.Name ='澶卞崟鎶ュ憡浠诲姟' and taskStatus__c = '02 鎺ュ彈' and OpportunityId__c in :oppIdSet]; + List<task__c> taskList = [select id,taskStatus__c + from task__c + where RecordType.Name ='澶卞崟鎶ュ憡浠诲姟' + and taskStatus__c = '02 鎺ュ彈' + and OpportunityId__c in :oppIdSet]; for(task__c tsk : taskList){ - tsk.taskStatus__c = '03 瀹屾垚'; + tsk.taskStatus__c = '03 瀹屾垚'; } update taskList; }// 20220720 ljh update @@ -231,11 +291,16 @@ List<String> ppList=new List<String>(); //澶卞崟鍝佺墝 // List<String> yyList=new List<String>(); //澶卞崟鍘熷洜 //鍒濆鍖� - Opportunity opp=new Opportunity(); + // 20230411 澶氬け鍗曟姤鍛婂悎骞讹紝鍙栧嚭寰呭悎骞剁殑璇环 start + Opportunity opp = mapOpps != null && mapOpps.containsKey(arrMap.get(lcro).Opportunity__c) ? mapOpps.get(arrMap.get(lcro).Opportunity__c) : new Opportunity(); //20220930 lt SWAG-CHL5XA銆怓Y23璇环鏀瑰杽銆�-缁熻涓绘満鍙版暟 start - opp.RivalHostsNumber__c = 0; + opp.RivalHostsNumber__c = opp.RivalHostsNumber__c != null ? opp.RivalHostsNumber__c : 0; //20220930 lt SWAG-CHL5XA銆怓Y23璇环鏀瑰杽銆�-缁熻涓绘満鍙版暟 end - opp.Id=arrMap.get(lcro).Opportunity__c; opp.PCLLostBrands__c=''; opp.Agencies__c=''; //Id ,鍝佺墝,缁忛攢鍟� + opp.Id = String.isNotBlank(opp.Id) ? opp.Id : arrMap.get(lcro).Opportunity__c; + opp.PCLLostBrands__c = String.isNotBlank(opp.PCLLostBrands__c) ? opp.PCLLostBrands__c : ''; + opp.Agencies__c = String.isNotBlank(opp.Agencies__c) ? opp.Agencies__c : ''; + System.debug('opp: ' + opp); + // 20230411 澶氬け鍗曟姤鍛婂悎骞讹紝鍙栧嚭寰呭悎骞剁殑璇环 end // for浜у搧 for (PCLLostProduct__c lcr : lcrList) { if (opp.Id==lcr.Opportunity__c) { -- Gitblit v1.9.1