From 82bab865cd68bf4d18d7e0e63342b5cbe76a6aa3 Mon Sep 17 00:00:00 2001
From: chenjingwu <chenjingwu@prec-tech.com>
Date: 星期五, 19 四月 2024 13:56:33 +0800
Subject: [PATCH] 123
---
force-app/main/default/classes/lexNewQuoteEntryController.cls | 103 +++++++++++++++++++++++++++++++++++++++------------
1 files changed, 78 insertions(+), 25 deletions(-)
diff --git a/force-app/main/default/classes/lexNewQuoteEntryController.cls b/force-app/main/default/classes/lexNewQuoteEntryController.cls
index 00c5590..7c36ae0 100644
--- a/force-app/main/default/classes/lexNewQuoteEntryController.cls
+++ b/force-app/main/default/classes/lexNewQuoteEntryController.cls
@@ -71,7 +71,7 @@
Quote_Adjust_Amount__c, Quote_Adjust_Calculate__c, Discount_Amount__c, Discount_Amount_Calculate__c, Installation_location__c,
QuoteTotal_Page__c, Dealer_Final_Price_Page__c, Quote_Adjust_Amount_Page__c, OCM_Agent1_Price_Page__c, Agent1_Agent2_Price_Page__c
, AgencyDiscount__c,OCM_Sales_Forecast__c//棰勬祴閲戦淇敼 fy
- , Gurantee_Period__c , multiYearWarranty__c, MultiYearWarrantyTotalPrice__c,
+ , Gurantee_Period__c , multiYearWarranty__c, MultiYearWarrantyTotalPrice__c,ExtendedWarrantyAmountTotalPrice__c,
Preferential_Gurantee_Period__c,LineItemCount
,IsQuoteTrial__c,OpportunityId,Opportunity.RecordType.DeveloperName
FROM Quote Where Id = :quoId];
@@ -183,7 +183,7 @@
Agency1__c, Agency2__c, Stocking_Price__c, Purchasing_Cost__c, Opportunity_No__c, StageName,
Agency1__r.Special__c, Agency2__r.Special__c, Account.Parent.Special__c
, Authorized_DB_No__c, Authorized_Finish_Sales__c, If_Need_Authorize__c
- , Gurantee_Period__c , multiYearWarranty__c, MultiYearWarrantyTotalPrice__c
+ , Gurantee_Period__c , multiYearWarranty__c, MultiYearWarrantyTotalPrice__c,ExtendedWarrantyAmountTotalPrice__c
, Hospital__c, Department_Class__c
,Is_Corrosion__c,
If_Need_PriceApply__c
@@ -231,25 +231,51 @@
// }
@AuraEnabled
- public static Map<String,List<OptionTemplete>> 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'));
- }
+ 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,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>>();
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){
+ if(mu.ProductName__c == id){
+ muList1.add(mu);
+ }
+ }
+ priceMap.put(id,muList1);
+ }
+ allMap.put('priceMap',priceMap);
for(String id: idList){
List<OptionTemplete> optionTempleteList = new List<OptionTemplete>();
- optionTempleteList.add(new OptionTemplete('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);
+ optionTempleteList.add(new OptionTemplete('0骞�','0'));
+ for(MultiYearWarranty__c mu: priceMap.get(id)){
+ optionTempleteList.add(new OptionTemplete(mu.AgeLimit__c + '骞�',mu.AgeLimit__c + ''));
}
+ optionMap.put(id,optionTempleteList);
}
- return optionMap;
+ allMap.put('optionMap',optionMap);
+ return allMap;
}
// chenjingwu 20240409 end
// DB202311242191 銆愭姤浠峰崟銆戞姤浠峰崟鍚堝悓閲戦鏇存柊鍜岀敓鎴愭柊鎶ヤ环鍗曡鍒欑‘璁ゅ拰淇敼 fy start
@@ -1006,7 +1032,11 @@
if(quo.MultiYearWarrantyTotalPrice__c==null){
quo.MultiYearWarrantyTotalPrice__c=0;
}
- sumContractAmount = AccrualTotal+quo.MultiYearWarrantyTotalPrice__c;
+ if(quo.ExtendedWarrantyAmountTotalPrice__c==null){
+ quo.ExtendedWarrantyAmountTotalPrice__c=0;
+ }
+
+ sumContractAmount = AccrualTotal+quo.MultiYearWarrantyTotalPrice__c+quo.ExtendedWarrantyAmountTotalPrice__c;
if(quo.OCM_Agent1_Price_Page__c<=sumContractAmount){
error = true;
errorflg = true;
@@ -1175,7 +1205,7 @@
Agency2__c, Agent1_Agent2_Price__c, Agency2_Profit__c, Agency2_Profit_Rate__c,
Preferential_Trading_Price__c, Discount__c, Pricing__c, Unit_Price__c, Offer_Amount__c, TOTAL__c,
Contract__c, Print_HP_Name__c, Quote_Expiration_Date__c, Quote_Comment__c, OCM_Sales_Forecast__c, Installation_location__c, HasType3Machine__c
- , Gurantee_Period__c , multiYearWarranty__c, MultiYearWarrantyTotalPrice__c
+ , Gurantee_Period__c , multiYearWarranty__c, MultiYearWarrantyTotalPrice__c,ExtendedWarrantyAmountTotalPrice__c
, Preferential_Gurantee_Period__c
,IsQuoteTrial__c
From Quote Where Id = :quoId];
@@ -1226,6 +1256,7 @@
q.Gurantee_Period__c = quo.Gurantee_Period__c;
q.multiYearWarranty__c = quo.multiYearWarranty__c;
q.MultiYearWarrantyTotalPrice__c = quo.MultiYearWarrantyTotalPrice__c;
+ q.ExtendedWarrantyAmountTotalPrice__c = quo.ExtendedWarrantyAmountTotalPrice__c;
q.quoteSavedDate__c = Date.today();
q.Agency1_Profit_Rate__c = quo.Agency1_Profit_Rate__c;
q.Agency2__c = opp.Agency2__c;
@@ -1289,6 +1320,7 @@
ql.UnitPrice__c = ql.UnitPrice_Page__c;
ql.UnitPrice_Page__c = 0;
ql.ListPrice__c = s.ListPrice_Page;
+ ql.ExtendedWarrantyAmount__c = s.exPrice;
ql.GuranteePrice__c = s.GuranteePrice;
ql.ProductGuranteePrice__c = s.ProductGuranteePrice;
ql.Maintenance_Price_Year__c = s.Maintenance_Price_Year;
@@ -1346,6 +1378,7 @@
o.Gurantee_Period__c = quo.Gurantee_Period__c ;
o.multiYearWarranty__c = quo.multiYearWarranty__c ;
o.MultiYearWarrantyTotalPrice__c = quo.MultiYearWarrantyTotalPrice__c ;
+ o.ExtendedWarrantyAmountTotalPrice__c = quo.ExtendedWarrantyAmountTotalPrice__c;
o.quoteSavedDate__c = Date.today();
o.OlyNumberHosts__c = 0;
List<String> oppIds = New List<String>();
@@ -2910,6 +2943,9 @@
// chenjingwu sp涓绘満绫诲瀷 20240318 end
// chenjingwu 3+2澶氬勾淇� 20240401 start
public String Learning_Community;
+ public String Learning_CommunityCopy;
+ public Decimal exPrice;
+ public Decimal exPriceCopy;
// public List<Map<String, String>> Learning_CommunityOptions = new List<Map<String, String>>();
public List<OptionTemplete> Learning_CommunityOptions;
public List<MultiYearWarranty__c> multiYearWarrantyList;
@@ -2941,15 +2977,32 @@
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(period > 0){
- List<OptionTemplete> optionTempleteList = new List<OptionTemplete>();
- optionTempleteList.add(new OptionTemplete('0骞�',''));
- for(Integer j = 0;j < period;j++){
- optionTempleteList.add(new OptionTemplete((j + 1) + '骞�',(j + 1) + ''));
+ if(qli.ExtendedWarrantyPeriod__c != null && qli.ExtendedWarrantyPeriod__c != 0){
+ for(MultiYearWarranty__c mu: this.multiYearWarrantyList){
+ if(mu.AgeLimit__c == qli.ExtendedWarrantyPeriod__c){
+ this.exPrice = mu.MultiOneYearWarrantyPrice__c;
+ }
}
- this.Learning_CommunityOptions = optionTempleteList;
+ }else{
+ this.Learning_Community = 0 + '';
+ this.exPrice = 0;
+ }
+ List<OptionTemplete> optionTempleteList = new List<OptionTemplete>();
+ optionTempleteList.add(new OptionTemplete('0骞�','0'));
+ if(period > 0){
+ for(MultiYearWarranty__c mu: this.multiYearWarrantyList){
+ optionTempleteList.add(new OptionTemplete(mu.AgeLimit__c + '骞�',mu.AgeLimit__c + ''));
+ }
+ // for(Integer j = 0;j < period;j++){
+ // optionTempleteList.add(new OptionTemplete((j + 1) + '骞�',(j + 1) + ''));
+ // }
+ }
+ this.Learning_CommunityOptions = optionTempleteList;
+ if(qli.ExtendedWarrantyPeriod__c == null && this.Learning_CommunityOptions.size() > 1){
+ this.Learning_Community = this.multiYearWarrantyList.get(this.multiYearWarrantyList.size() - 1).AgeLimit__c + '';
+ this.exPrice = this.multiYearWarrantyList.get(this.multiYearWarrantyList.size() - 1).MultiOneYearWarrantyPrice__c;
}
// this.ExtendedWarrantyPeriod = new WarrantyPeriod(optionTempleteList,'');
--
Gitblit v1.9.1