From 1ee029694e5903a1719e28ac6b01908b35a6d256 Mon Sep 17 00:00:00 2001
From: chenjingwu <chenjingwu@prec-tech.com>
Date: 星期二, 16 四月 2024 10:55:36 +0800
Subject: [PATCH] 123

---
 force-app/main/default/classes/lexNewQuoteEntryController.cls |   61 +++++++++++++++++++-----------
 1 files changed, 39 insertions(+), 22 deletions(-)

diff --git a/force-app/main/default/classes/lexNewQuoteEntryController.cls b/force-app/main/default/classes/lexNewQuoteEntryController.cls
index a9dc9f3..d6854aa 100644
--- a/force-app/main/default/classes/lexNewQuoteEntryController.cls
+++ b/force-app/main/default/classes/lexNewQuoteEntryController.cls
@@ -232,27 +232,30 @@
   // }
   @AuraEnabled
   public static Map<String,Object> addOptions(List<String> idList){
-    Map<String,Integer> intList = new Map<String,Integer>();
-    for(AggregateResult  objAgr: [select ProductName__c,COUNT(Id) total from MultiYearWarranty__c where ProductName__c in:idList group by ProductName__c]){
-      intList.put((String)objAgr.get('ProductName__c'), (Integer)objAgr.get('total'));
-    }
-    Map<String,List<OptionTemplete>> optionMap = new Map<String,List<OptionTemplete>>();
+    // Map<String,Integer> intList = new Map<String,Integer>();
+    // for(AggregateResult  objAgr: [select ProductName__c,COUNT(Id) total from MultiYearWarranty__c where ProductName__c in:idList group by ProductName__c]){
+    //   intList.put((String)objAgr.get('ProductName__c'), (Integer)objAgr.get('total'));
+    // }
+    // Map<String,List<OptionTemplete>> optionMap = new Map<String,List<OptionTemplete>>();
+    // Map<String,Object> allMap = new Map<String,Object>();
+    // Map<String,List<MultiYearWarranty__c>> priceMap = new Map<String,List<MultiYearWarranty__c>>();
+    // for(String id: idList){
+    //   List<OptionTemplete> optionTempleteList = new List<OptionTemplete>();
+    //   optionTempleteList.add(new OptionTemplete('0骞�','0'));
+    //   if(intList.containsKey(id)){
+    //     for(Integer j = 0;j < intList.get(id);j++){
+    //       optionTempleteList.add(new OptionTemplete((j + 1) + '骞�',(j + 1) + ''));
+    //     }
+    //     optionMap.put(id,optionTempleteList);
+    //   }else {
+    //     optionMap.put(id,optionTempleteList);
+    //   }
+    // }
+    // allMap.put('optionMap',optionMap);
     Map<String,Object> allMap = new Map<String,Object>();
     Map<String,List<MultiYearWarranty__c>> priceMap = new Map<String,List<MultiYearWarranty__c>>();
-    for(String id: idList){
-      List<OptionTemplete> optionTempleteList = new List<OptionTemplete>();
-      optionTempleteList.add(new OptionTemplete('0骞�','0'));
-      if(intList.containsKey(id)){
-        for(Integer j = 0;j < intList.get(id);j++){
-          optionTempleteList.add(new OptionTemplete((j + 1) + '骞�',(j + 1) + ''));
-        }
-        optionMap.put(id,optionTempleteList);
-      }else {
-        optionMap.put(id,optionTempleteList);
-      }
-    }
-    allMap.put('optionMap',optionMap);
-    List<MultiYearWarranty__c> muList = [select Id,ProductName__c,MultiOneYearWarrantyPrice__c,AmountWithheld__c,AgeLimit__c from MultiYearWarranty__c where ProductName__c in:idList];
+    Map<String,List<OptionTemplete>> optionMap = new Map<String,List<OptionTemplete>>();
+    List<MultiYearWarranty__c> muList = [select Id,ProductName__c,MultiOneYearWarrantyPrice__c,AmountWithheld__c,AgeLimit__c from MultiYearWarranty__c where ProductName__c in:idList order by AgeLimit__c];
     for(String id: idList){
       List<MultiYearWarranty__c> muList1 = new List<MultiYearWarranty__c>();
       for(MultiYearWarranty__c mu : muList){
@@ -263,6 +266,17 @@
       priceMap.put(id,muList1);
     }
     allMap.put('priceMap',priceMap);
+    for(String id: idList){
+      List<OptionTemplete> optionTempleteList = new List<OptionTemplete>();
+      optionTempleteList.add(new OptionTemplete('0骞�','0'));
+      for(List<MultiYearWarranty__c> mus: priceMap.get(id)){
+        for(MultiYearWarranty__c mu: mus){
+          optionTempleteList.add(new OptionTemplete((mu.AgeLimit__c + 1) + '骞�',(mu.AgeLimit__c + 1) + ''));
+        } 
+      }
+      optionMap.put(id,optionTempleteList);
+    }
+    allMap.put('optionMap',optionMap);
     return allMap;
   }
   // chenjingwu 20240409 end
@@ -2965,7 +2979,7 @@
           if(qli.ExtendedWarrantyPeriod__c != null && qli.ExtendedWarrantyPeriod__c != 0){
             this.Learning_Community = String.valueof(qli.ExtendedWarrantyPeriod__c);
           }
-          this.multiYearWarrantyList = [select Id,MultiOneYearWarrantyPrice__c,AmountWithheld__c,AgeLimit__c from MultiYearWarranty__c where ProductName__c =: qli.PricebookEntry.Product2Id];
+          this.multiYearWarrantyList = [select Id,MultiOneYearWarrantyPrice__c,AmountWithheld__c,AgeLimit__c from MultiYearWarranty__c where ProductName__c =: qli.PricebookEntry.Product2Id order by AgeLimit__c];
           Integer period = this.multiYearWarrantyList.size();
           if(qli.ExtendedWarrantyPeriod__c != null && qli.ExtendedWarrantyPeriod__c != 0){
             for(MultiYearWarranty__c mu: this.multiYearWarrantyList){
@@ -2977,9 +2991,12 @@
           if(period > 0){
             List<OptionTemplete> optionTempleteList = new List<OptionTemplete>();
             optionTempleteList.add(new OptionTemplete('0骞�','0'));
-            for(Integer j = 0;j < period;j++){
-              optionTempleteList.add(new OptionTemplete((j + 1) + '骞�',(j + 1) + ''));
+            for(MultiYearWarranty__c mu: this.multiYearWarrantyList){
+              optionTempleteList.add(new OptionTemplete((mu.AgeLimit__c + 1) + '骞�',(mu.AgeLimit__c + 1) + ''));
             }
+            // for(Integer j = 0;j < period;j++){
+            //   optionTempleteList.add(new OptionTemplete((j + 1) + '骞�',(j + 1) + ''));
+            // }
             this.Learning_CommunityOptions = optionTempleteList;
           }
           

--
Gitblit v1.9.1