From 5cf88e292486b745bd3814e3ac6f922eafa73451 Mon Sep 17 00:00:00 2001
From: 付煜 <fuyu3103346691@163.com>
Date: 星期一, 21 三月 2022 15:27:36 +0800
Subject: [PATCH] lastbuy

---
 force-app/main/default/classes/NewQuoteIraiController.cls     |   83 ++++++++++++++++++++++++++++-------------
 force-app/main/default/classes/NewQuoteEntryController.cls    |    2 
 force-app/main/default/triggers/NFM007.trigger                |    2 
 force-app/main/default/classes/SI_NewQuoteEntryController.cls |    2 
 4 files changed, 59 insertions(+), 30 deletions(-)

diff --git a/force-app/main/default/classes/NewQuoteEntryController.cls b/force-app/main/default/classes/NewQuoteEntryController.cls
index 9228377..3fc9f56 100644
--- a/force-app/main/default/classes/NewQuoteEntryController.cls
+++ b/force-app/main/default/classes/NewQuoteEntryController.cls
@@ -1790,7 +1790,7 @@
         system.debug('flglastbuy++++'+flglastbuy);
         if(flglastbuy==1){
           errorflg = true;
-          errormessage =  '棰勭暀浜у搧琛ㄤ腑娌℃湁褰曞叆璇ユ姤浠风殑棰勭暀浜у搧' ;
+          errormessage =  '棰勭暀浜у搧琛ㄤ腑娌℃湁璇ヨ浠凤紝璇烽�氳繃鏈儴绐楀彛鑱旂郴钀ヤ笟绠$悊璇�' ;
           return null;
         }else if(flglastbuy==2){
           errorflg = true;
diff --git a/force-app/main/default/classes/NewQuoteIraiController.cls b/force-app/main/default/classes/NewQuoteIraiController.cls
index 066627e..dbb1fbd 100644
--- a/force-app/main/default/classes/NewQuoteIraiController.cls
+++ b/force-app/main/default/classes/NewQuoteIraiController.cls
@@ -104,6 +104,12 @@
 
         // 璇环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];
+            String[] quosub=quoteiraiobj.Note__c.split('/');
+            oppid=quosub[quosub.size()-1];
+        }
         system.debug('oppid:++++'+oppid);
         // 鎶ヤ环id
         String oppquoid = System.currentPageReference().getParameters().get('oppquoid');
@@ -214,8 +220,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) {
@@ -331,9 +337,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
@@ -1167,21 +1173,29 @@
 
     public boolean dataCheck(){
          //20220310 fy lastbuy start 
-      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;
+         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;
@@ -1207,8 +1221,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);
                     }
@@ -1424,15 +1438,17 @@
     }
      //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);
       }
     }
@@ -1456,19 +1472,32 @@
     }
     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(value.Product2__r.LastbuyProductFLG__c){
+      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){
-        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];
+        // 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){
@@ -1489,14 +1518,14 @@
                 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){
-                  errorProductmodel=lastbuypr.Asset_Model_No__c;
+                if(lastbuypr.Quantity__c>quoteLItemNum){actMap.get(lastbuypr.Product2__c);
+                  errorProductmodel=actMap.get(lastbuypr.Product2__c);
                   flglastbuy=2;
                   filg=false;
                   break;
                 }
             }else{
-              errorProductmodel=lastbuypr.Asset_Model_No__c;
+              errorProductmodel=actMap.get(lastbuypr.Product2__c);
               flglastbuy=3;
               filg=false;
               break;
diff --git a/force-app/main/default/classes/SI_NewQuoteEntryController.cls b/force-app/main/default/classes/SI_NewQuoteEntryController.cls
index f0e59a0..04bda2a 100644
--- a/force-app/main/default/classes/SI_NewQuoteEntryController.cls
+++ b/force-app/main/default/classes/SI_NewQuoteEntryController.cls
@@ -1689,7 +1689,7 @@
             if(!ReservedProductVerification()){
                 if(flglastbuy==1){
                     errorflg = true;
-                    errormessage =  '棰勭暀浜у搧琛ㄤ腑娌℃湁褰曞叆璇ユ姤浠风殑棰勭暀浜у搧' ;
+                    errormessage =  '棰勭暀浜у搧琛ㄤ腑娌℃湁璇ヨ浠凤紝璇烽�氳繃鏈儴绐楀彛鑱旂郴钀ヤ笟绠$悊璇�' ;
                     return null;
                   }else if(flglastbuy==2){
                     errorflg = true;
diff --git a/force-app/main/default/triggers/NFM007.trigger b/force-app/main/default/triggers/NFM007.trigger
index d49fe61..acc9dbe 100644
--- a/force-app/main/default/triggers/NFM007.trigger
+++ b/force-app/main/default/triggers/NFM007.trigger
@@ -158,7 +158,7 @@
                                     
                                 }
                             }else{
-                                opp.addError('棰勭暀浜у搧琛ㄤ腑娌℃湁褰曞叆璇ヨ浠风殑棰勭暀浜у搧');
+                                opp.addError('棰勭暀浜у搧琛ㄤ腑娌℃湁璇ヨ浠凤紝璇烽�氳繃鏈儴绐楀彛鑱旂郴钀ヤ笟绠$悊璇�');
                             }
                             
                         }

--
Gitblit v1.9.1