123
chenjingwu
2024-04-16 1ee029694e5903a1719e28ac6b01908b35a6d256
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;
          }