From 8ea597d3c67631cd702415d43bc3d2961f6bc94d Mon Sep 17 00:00:00 2001 From: 付煜 <fuyu3103346691@163.com> Date: 星期五, 25 三月 2022 09:49:28 +0800 Subject: [PATCH] lastbuy询价相关 --- force-app/main/default/classes/NewQuoteIraiController.cls | 152 ++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 146 insertions(+), 6 deletions(-) diff --git a/force-app/main/default/classes/NewQuoteIraiController.cls b/force-app/main/default/classes/NewQuoteIraiController.cls index 6524d45..bb3c8ea 100644 --- a/force-app/main/default/classes/NewQuoteIraiController.cls +++ b/force-app/main/default/classes/NewQuoteIraiController.cls @@ -8,6 +8,12 @@ public Boolean productStatusUpdated {get;set;} // 鐘舵厠鏇存柊銆亄!$Label.Status_Update} 銈掓娂涓嬨仐銇熴亱銇┿亞銇� public Boolean changedAfterPrint {get;set;} // true 銇牬鍚堛�佺敾闈€伀 confirm 銉°儍銈汇兗銈搞亴琛ㄧず銇椼伨銇欍�俼uoId銈掓柊銇椼亜insert銆傚垽瀹氥伅js銇仸瀹熸柦 + //lastbuy 2022/3/10 fy start + public Boolean filg { get; set; } + public Integer flglastbuy { get; set; } + public String errorProductmodel { get; set; } + //lastbuy 2022/3/10 fy end + public String excel_text {get;set;} public Integer select_index {get;set;} // excelImport灏傜敤銇с仚銇屻�乯s銇仸鍒跺尽銇欍倠銇撱仺銇仾銈嬨伄銇с�乀ODO katsu 鍓婇櫎浜堝畾 public String Product_text {get;set;} @@ -98,6 +104,14 @@ // 璇环id oppid = System.currentPageReference().getParameters().get('oppid'); + QuoteIrai__c quoteiraiobj = new QuoteIrai__c(); + if(oppid==null&&tenderid==null&&quoId!=null&&leadid==null&&agencyoppid==null){ + quoteiraiobj = [select id,Note__c from QuoteIrai__c where id=:quoId]; + if(quoteiraiobj.Note__c!=null){ + String[] quosub=quoteiraiobj.Note__c.split('/'); + oppid=quosub[quosub.size()-1]; + } + } system.debug('oppid:++++'+oppid); // 鎶ヤ环id String oppquoid = System.currentPageReference().getParameters().get('oppquoid'); @@ -208,8 +222,8 @@ // 宸茬粡瀛樺湪鎶ヤ环 if (String.isNotBlank(oppquoid)) { // 鎶ヤ环鍟嗗搧鍙栧緱 - // CHAN-BHNBX6 2019/11/20 START - List<QuoteLineItem> qlis = [select id,PricebookEntry.Product2Id,Quantity__c,CurrencyIsoCode,GuaranteePeriod__c from QuoteLineItem where QuoteId = :oppquoid]; + // CHAN-BHNBX6 2019/11/20 START//fy lastbuy 20220310 PricebookEntry.Product2.LastbuyProductFLG__c + List<QuoteLineItem> qlis = [select id,PricebookEntry.Product2Id,PricebookEntry.Product2.LastbuyProductFLG__c,Quantity__c,CurrencyIsoCode,GuaranteePeriod__c from QuoteLineItem where QuoteId = :oppquoid]; // CHAN-BHNBX6 2019/11/20 END List<String> productids = new List<String>(); for (QuoteLineItem qli : qlis) { @@ -325,9 +339,9 @@ FROM QuoteIrai__c Where Id =:quoId]; // CHAN-BJQ4VZ 绮剧悽鎶�鏈� 2019/12/11 End // CHAN-BHNBX6 2019/11/20 START - List<QuoteIraiLineItem__c> items = + List<QuoteIraiLineItem__c> items = //lastbuy 2022/3/10 fy start LastbuyProductFLG__c [Select Id,Asset_Model_No__c,SFDA_Status__c,Name__c,BSS_Category__c,QuoteIrai__r.Quote_Print_Date__c, - Qty_Unit__c,Quantity__c,Product2__r.SFDA_Status__c,ProductCode__c,ListPrice__c, + Qty_Unit__c,Quantity__c,Product2__r.SFDA_Status__c,ProductCode__c,ListPrice__c,Product2__r.LastbuyProductFLG__c, Product2__r.Sales_Possibility__c,Product2__r.Name,Product2__c,ServicePrice__c,NoDiscountTotal__c,GuaranteePeriod__c From QuoteIraiLineItem__c where QuoteIrai__c = :quoId Order by Item_Order__c, Id]; // CHAN-BHNBX6 2019/11/20 END @@ -1160,6 +1174,31 @@ } public boolean dataCheck(){ + //20220310 fy lastbuy start + if (quoId!=null){ + if(!ReservedProductVerification()){ + if(flglastbuy==1){ + errorflg = true; + errormessage = '棰勭暀浜у搧琛ㄤ腑娌℃湁璇ヨ浠凤紝璇烽�氳繃鏈儴绐楀彛鑱旂郴钀ヤ笟绠$悊璇�' ; + return false; + }else if(flglastbuy==2){ + errorflg = true; + errormessage = errorProductmodel+'浜у搧鏁伴噺涓嶅彲瓒呰繃浜у搧棰勭暀鏁伴噺' ; + return false; + }else if(flglastbuy==3){ + errorflg = true; + errormessage = '棰勭暀浜у搧'+errorProductmodel+'鏈綍鍏ラ鐣欎骇鍝佽〃'; + return false; + } + // else if(flglastbuy==4){ + // errorflg = true; + // errormessage = '璇ユ姤浠峰鎵樺瓨鍦ㄩ鐣欎骇鍝�'; + // return false; + // } + } + } + + //20220310 fy lastbuy end system.debug('鈼嬧棆鈼嬧棆鈼嬧棆鈼嬧棆鈼嬧棆鈼嬧棆Welcome to dataCheck class!!鈼嬧棆鈼嬧棆鈼嬧棆鈼嬧棆鈼嬧棆鈼嬧棆'); errorflg = false; errormessage = null; @@ -1184,8 +1223,8 @@ if (error == true){ if (quoId != null) { Map<String,QuoteIraiLineItem__c> itemmap = new Map<String,QuoteIraiLineItem__c>(); - for (QuoteIraiLineItem__c item : [ - Select Id,Product2__r.SFDA_Status__c,Product2__r.Name,Product2__c + for (QuoteIraiLineItem__c item : [//lastbuy 2022/3/10 fy start LastbuyProductFLG__c + Select Id,Product2__r.SFDA_Status__c,Product2__r.Name,Product2__c,Product2__r.LastbuyProductFLG__c From QuoteIraiLineItem__c where QuoteIrai__c = :quoId Order by Item_Order__c, Id]) { itemmap.put(item.Product2__c,item); } @@ -1399,6 +1438,107 @@ return true; } + //lastbuy 2022/3/10 fy start + public boolean ReservedProductVerification() { + filg=true; + Map<string,QuoteIraiLineItem__c> quotlinitMap = new Map<string,QuoteIraiLineItem__c>(); + List<Id> lastProductFLGListId = new List<Id>(); + List<QuoteIraiLineItem__c> lastProductFLGList = new List<QuoteIraiLineItem__c>(); + List<QuoteIraiLineItem__c> act = new List<QuoteIraiLineItem__c>(); + List<QuoteIraiLineItem__c> act2 = new List<QuoteIraiLineItem__c>(); + Map<string,string> actMap = new Map<string,string>(); + for(QELine aaa :activities){ + System.debug('131313131!!!'+aaa.pageObject.Product2__r.LastbuyProductFLG__c); + if(aaa.pageObject.Product2__c!=null&&aaa.pageObject.Quantity__c!=null){ + actMap.put(aaa.pageObject.Product2__c,aaa.Asset_Model); + act.add(aaa.pageObject); + } + } + act2=act.deepClone(); + Map<String,QuoteIraiLineItem__c> map1 = new Map<String,QuoteIraiLineItem__c>(); + System.debug('activities1111111111112涓烘墍褰撲负澶氬!!!'+activities); + integer i =0; + for(QuoteIraiLineItem__c pspsc :act2){ + if(pspsc.Product2__c!=null&&pspsc.Quantity__c!=null){ + if(map1.containsKey(pspsc.Product2__c)){ + QuoteIraiLineItem__c quoteLine = map1.get(pspsc.Product2__c); + quoteLine.Quantity__c =quoteLine.Quantity__c+pspsc.Quantity__c; + map1.put(pspsc.Product2__c,quoteLine); + System.debug('2222222!!!'+quoteLine); + }else{ + map1.put(pspsc.Product2__c,pspsc); + } + System.debug('5555555!!!'+pspsc); + System.debug('34499879!!!'+activities); + } + } + System.debug('3434343!!!'+activities); + System.debug('5656565!!!'+map1); + List<Product2> productlist = [select id,LastbuyProductFLG__c from Product2 where id in:map1.keySet()]; + Map<String,boolean> productMap = new Map<String,boolean>(); + System.debug('9999999666!!!'+productlist); + if(productlist!=null&&productlist.size()!=0){ + for(Product2 product : productlist){ + productMap.put(product.id,product.LastbuyProductFLG__c); + } + } + for (QuoteIraiLineItem__c value : map1.values()) { + if(productMap.get(value.Product2__c)){ + lastProductFLGListId.add(value.Product2__c); + quotlinitMap.put(value.Product2__c,value); + lastProductFLGList.add(value); + } + } + System.debug('activities++++!!!'+activities); + System.debug('activities!!!'+map1.values()); + System.debug('oppId!!!'+oppId); + System.debug('lastProductFLGList!!!'+lastProductFLGListId); + if(lastProductFLGListId!=null&&lastProductFLGListId.size()!=0){ + // if(oppid==null){ + // flglastbuy=4; + // filg=false; + // return filg; + // } + List<LastbuyProduct__c> LastbuyObjList=[select id,LastbuyQuantity__c,InquiryCode__c,ProductName__c,effectiveFLG__c from LastbuyProduct__c where InquiryCode__c= : oppid and ProductName__c in :lastProductFLGListId and effectiveFLG__c = true]; + Map<string,LastbuyProduct__c> LastbuyObjMap = new Map<string,LastbuyProduct__c>(); + System.debug('LastbuyObjList+++++!!!'+LastbuyObjList); + if(LastbuyObjList!=null&&LastbuyObjList.size()!=0){ + for(LastbuyProduct__c lastbuypr :LastbuyObjList){ + LastbuyObjMap.put(lastbuypr.ProductName__c,lastbuypr); + } + }else{ + flglastbuy=1; + filg=false; + return filg; + } + System.debug('LastbuyObjMap!!!'+LastbuyObjMap); + System.debug('lastProductFLGList+++++++!!!'+lastProductFLGList); + if(lastProductFLGList!=null&&lastProductFLGList.size()!=0){ + for(QuoteIraiLineItem__c lastbuypr :lastProductFLGList){ + Decimal quoteLItemNum=0; + if(LastbuyObjMap.containsKey(lastbuypr.Product2__c)){ + quoteLItemNum=LastbuyObjMap.get(lastbuypr.Product2__c).LastbuyQuantity__c; + System.debug('quoteLItemNum!!!'+quoteLItemNum); + System.debug('lastbuypr.pageObject.Quantity__c+++!!!'+lastbuypr.Quantity__c); + if(lastbuypr.Quantity__c>quoteLItemNum){actMap.get(lastbuypr.Product2__c); + errorProductmodel=actMap.get(lastbuypr.Product2__c); + flglastbuy=2; + filg=false; + break; + } + }else{ + errorProductmodel=actMap.get(lastbuypr.Product2__c); + flglastbuy=3; + filg=false; + break; + } + } + } + } + system.debug('filg====='+filg); + return filg; + } + // CHAN-BJQ4VZ 绮剧悽鎶�鏈� 2019/12/11 Start public class QuoteBean { // 浜у搧鏍囧噯瀹氫环鎬婚 -- Gitblit v1.9.1