From d0cf62b4b275dc457cf4b3973a1bce4034bfad4f Mon Sep 17 00:00:00 2001 From: 张宇恒 <bxyun0@163.com> Date: 星期四, 20 四月 2023 14:06:39 +0800 Subject: [PATCH] 标记为空重发 --- force-app/main/default/triggers/NFM007.trigger | 268 ++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 263 insertions(+), 5 deletions(-) diff --git a/force-app/main/default/triggers/NFM007.trigger b/force-app/main/default/triggers/NFM007.trigger index 6b7c6d9..e90f597 100644 --- a/force-app/main/default/triggers/NFM007.trigger +++ b/force-app/main/default/triggers/NFM007.trigger @@ -1,4 +1,9 @@ trigger NFM007 on Opportunity (before update, after update) { // after insert 銈掕�冩叜銇椼仾銇� + // SWAG-CE55BX 棰勬祴浼樺寲 start + if (StaticParameter.EscapeOppandStaTrigger) { + return; + } + // SWAG-CE55BX 棰勬祴浼樺寲 end if (StaticParameter.EscapeNFM007Trigger) { System.debug('Escape銆丒scapeNFM007Trigger:::::' + StaticParameter.EscapeNFM007Trigger); return; @@ -41,7 +46,14 @@ // SAPWIN銇儨銈裤兂銇у嫊銇忋仒銈冦仾銇忋�佹墜鍕曘仹銉併偋銉冦偗鈬掍繚瀛樸仩銇嬨倝銆乯s鐒$悊 if (Trigger.oldMap.get(opp.Id).get('SAP_Send_OK__c') == false && opp.SAP_Send_OK__c == true) { - + //SWAG-CG88AG銆愬鎵樸�戞彁鍑轰环鏍肩敵璇锋槸鍦ㄥ崗璁湁鏁堟湡鍐咃紝鍏佽WIN fy start + if(string.isNotBlank(opp.Estimation_No__c)){ + Boolean judge = OpportunityWebService.judgeIsAssistantAppliedOutTime(opp.Estimation_No__c); + if(!judge){ + opp.addError('缁忛攢鍟嗗崗璁凡杩囨湡锛岃閲嶆柊鍋氭姤浠疯绠楀拰鍚堝悓鐢宠'); + } + } + //SWAG-CG88AG銆愬鎵樸�戞彁鍑轰环鏍肩敵璇锋槸鍦ㄥ崗璁湁鏁堟湡鍐咃紝鍏佽WIN fy end //CHAN-BCNCRB XHL If_Have_EPT1__c if (opp.If_Have_EPT1__c == true && opp.If_UploadT1Detailed__c == false) { opp.addError('璇环浜у搧涓寘鍚獷P-T1浜у搧锛屼絾娌′笂浼燭1娓呭崟锛屾棤娉曡繘琛孲AP涓婁紶锛圵IN锛夛紝璇蜂笂浼燭1娓呭崟'); @@ -49,19 +61,27 @@ } //CHAN-BCNCRB XHL //20161118鏂板瑙勫垯锛屼骇鍝佷腑瀛樺湪澶辨晥浜у搧锛屼笉鑳借繘琛宻ap涓婁紶 + //lastbuy 2022/2/9 fy start + Map<String,QuoteLineItem> quotlinitMap = new Map<String,QuoteLineItem>(); + //lastbuy 2022/2/9 fy end List<QuoteLineItem> items = [Select Id, SFDA_Status__c, PricebookEntry.Product2Id + //lastbuy 2022/2/9 fy start + ,Asset_Model_No__c + //lastbuy 2022/2/9 fy end // CHAN-BTF4XQ start // 棰濆妫�绱骇鍝佹爣鍑嗗畾浠峰拰浜у搧鎴愭湰 - ,Product_Cost__c,Product_ListPrice__c + ,Product_Cost__c,Product_ListPrice__c,Quantity__c // CHAN-BTF4XQ end From QuoteLineItem where Quoteid = :opp.Estimation_Id__c ]; + System.debug('opp.Estimation_Id__c+++'+opp.Estimation_Id__c); + System.debug('items+++'+items); List<Id> ChechProId = new List<Id>(); Integer CntSFDC = 0, CntCostOrListPrice = 0; @@ -73,13 +93,29 @@ CntCostOrListPrice++; } // CHAN-BTF4XQ end + //lastbuy 2022/2/9 fy start + if(qli.PricebookEntry.Product2Id!=null){ + if(quotlinitMap.containsKey(qli.PricebookEntry.Product2Id)){ + QuoteLineItem quoteLine = quotlinitMap.get(qli.PricebookEntry.Product2Id); + quoteLine.Quantity__c +=qli.Quantity__c; + quotlinitMap.put(qli.PricebookEntry.Product2Id,quoteLine); + }else{ + quotlinitMap.put(qli.PricebookEntry.Product2Id,qli); + } + } + // quotlinitMap.put(qli.PricebookEntry.Product2Id,qli); + //lastbuy 2022/2/9 fy end } if( CntCostOrListPrice > 0){ opp.addError('浜у搧瀹氫环/鎴愭湰涓�0锛岃鑱旂郴浜у搧鏈儴銆�'); } //CHAN-BWH2YW 20201221 you 鍔� 瀛楁 Correspond_Code__r start - - for (Product2 prd2: [Select Id, Estimation_Entry_Possibility__c, SFDA_Status__c,Packing_list_manual__c,Correspond_Code__r.Estimation_Entry_Possibility__c From Product2 Where Id IN :ChechProId]) { + //lastbuy 2022/2/9 fy + //鏂板棰勭暀浜у搧瀛楁LastbuyProductFLG__c + List<String> lastProductFLGIdList= new List<String>(); + List<Product2> lastProductFLGList = new List<Product2>(); + List<Product2> lastProductFLGListtest = new List<Product2>(); + for (Product2 prd2: [Select Id,LastbuyProductFLG__c, Estimation_Entry_Possibility__c, SFDA_Status__c,Packing_list_manual__c,Correspond_Code__r.Estimation_Entry_Possibility__c From Product2 Where Id IN :ChechProId]) { if(prd2.Estimation_Entry_Possibility__c != '鈼�'){ //CHAN-BWH2YW 20201221 you 鍔� 瀛楁 Correspond_Code__r start @@ -89,8 +125,63 @@ } //CHAN-BWH2YW 20201221 you 鍔� 瀛楁 Correspond_Code__r end } + lastProductFLGListtest.add(prd2); + //lastbuy 2022/2/9 fy start + if(prd2.LastbuyProductFLG__c){ + lastProductFLGIdList.add(prd2.Id); + lastProductFLGList.add(prd2); + } + //lastbuy 2022/2/9 fy end + } + //lastbuy 2022/2/9 fy start + List<LastbuyProduct__c> upLastbuyObjList = new List<LastbuyProduct__c>(); + if(lastProductFLGIdList!=null && lastProductFLGIdList.size() !=0){ + List<LastbuyProduct__c> LastbuyObjList=[select id,LastbuyQuantity__c,InquiryCode__c,ProductName__c,effectiveFLG__c from LastbuyProduct__c where InquiryCode__c= : opp.Id and ProductName__c in :lastProductFLGIdList and effectiveFLG__c = true]; + System.debug('bbbbbbbbbbbbbbb==='+lastProductFLGIdList); + Map<string,LastbuyProduct__c> LastbuyObjMap = new Map<string,LastbuyProduct__c>(); + if(LastbuyObjList!=null&&LastbuyObjList.size()!=0){ + for(LastbuyProduct__c lastbuypr :LastbuyObjList){ + LastbuyObjMap.put(lastbuypr.ProductName__c,lastbuypr); + } + System.debug('fffffffffffffff==='+LastbuyObjList); + if(lastProductFLGList!=null && lastProductFLGList.size() !=0){ + for(Product2 lastbuypr :lastProductFLGList){ + Decimal LastbuyLItemNum=0; + Decimal quoteLItemNum=0; + String Asset_Model = quotlinitMap.get(lastbuypr.Id).Asset_Model_No__c; + if(LastbuyObjMap.containsKey(lastbuypr.Id)){ + LastbuyProduct__c lastbuyobj = LastbuyObjMap.get(lastbuypr.Id); + if(quotlinitMap.containsKey(lastbuypr.Id)){ + LastbuyLItemNum=LastbuyObjMap.get(lastbuypr.Id).LastbuyQuantity__c; + quoteLItemNum=quotlinitMap.get(lastbuypr.Id).Quantity__c; + if(quoteLItemNum>LastbuyLItemNum){ + opp.addError(Asset_Model+'浜у搧鏁伴噺涓嶅彲瓒呰繃浜у搧棰勭暀鏁伴噺'); + }else{ + lastbuyobj.ActualQuantity__c=quoteLItemNum; + lastbuyobj.effectiveFLG__c=false; + upLastbuyObjList.add(lastbuyobj); + } + } + }else{ + opp.addError('棰勭暀浜у搧'+Asset_Model+'鏈綍鍏ラ鐣欎骇鍝佽〃'); + System.debug('asdasdfasdfadsf閿欒鎻愮ず'); + } + System.debug('cccccccccccccc==='+lastbuypr); + } + System.debug('aaaaaaaaaaaaaa==='+LastbuyObjList); + + } + }else{ + opp.addError('棰勭暀浜у搧琛ㄤ腑娌℃湁璇ヨ浠凤紝璇烽�氳繃鏈儴绐楀彛鑱旂郴钀ヤ笟绠$悊璇�'); + } } + System.debug('upLastbuyObjList==='+upLastbuyObjList); + if(upLastbuyObjList!=null){ + upsert upLastbuyObjList; + } + + //lastbuy 2022/2/9 fy end if(CntSFDC>0){ opp.addError('鎶ヤ环涓瓨鍦ㄥけ鏁堜骇鍝侊紝鏃犳硶杩涜SAP涓婁紶锛圵IN锛夛紝璇锋洿鏂版姤浠�'); @@ -204,6 +295,173 @@ insert iflog; iflog = [Select Id, Name from BatchIF_Log__c where Id = :iflog.Id]; System.debug(Logginglevel.DEBUG, 'NFM007_' + iflog.Name + ' start'); // callout 銇腑 end 銇甽og銈掑嚭銇椼伨銇� - NFM007Controller.callout(iflog.Id, oppIds, purposeOfAdviceMap); + + // 20220921 ljh SWAG-CG2A7S update start + // NFM007Controller.callout(iflog.Id, oppIds, purposeOfAdviceMap); + String uid = UserInfo.getUserId(); + String iUid = System.Label.interfaceUserID; + if (uid.substring(0,15) == iUid.substring(0,15)) { + NFM007Controller.calloutNotfuture(iflog.Id, oppIds, purposeOfAdviceMap); + }else{ + NFM007Controller.callout(iflog.Id, oppIds, purposeOfAdviceMap); + } + // 20220921 ljh SWAG-CG2A7S update end + + } + + if(System.Test.isRunningTest()){ + 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++; + } } \ No newline at end of file -- Gitblit v1.9.1