From b51b57a619d3f0075ccaa13303c99c9e849bf23a Mon Sep 17 00:00:00 2001
From: chenjingwu <chenjingwu@prec-tech.com>
Date: 星期二, 23 四月 2024 18:13:54 +0800
Subject: [PATCH] 123
---
force-app/main/default/classes/MaintenanceProductDataController.cls | 124 +++++++++++++++++++++++++++++++++++-----
1 files changed, 107 insertions(+), 17 deletions(-)
diff --git a/force-app/main/default/classes/MaintenanceProductDataController.cls b/force-app/main/default/classes/MaintenanceProductDataController.cls
index 8cacd1d..05cca27 100644
--- a/force-app/main/default/classes/MaintenanceProductDataController.cls
+++ b/force-app/main/default/classes/MaintenanceProductDataController.cls
@@ -52,6 +52,8 @@
// chenjingwu 3+2澶氬勾淇濅慨 start
public List<MultiYearWarranty__c> muList { get; set; }
public Map<String,List<MultiYearWarranty__c>> muMap { get; set; }
+ public Map<String,Integer> muCountMap {get; set; }
+ public Map<String,List<ExMpdDetailsInfo>> exmpdDetailsRecordsMap { get; set; }
// chenjingwu 3+2澶氬勾淇濅慨 end
/*****************鐢婚潰琛ㄧずBean******************/
@@ -526,7 +528,32 @@
ApexPages.addmessage(new ApexPages.message(ApexPages.severity.INFO, '杩樻病鏈変笂浼犻檮浠讹紝璇蜂笂浼犻檮浠讹紒'));
}
}
- //System.debug('============02:'+mpdDetailsRecords);
+ //System.debug('============02:'+mpdDetailsRecords);
+ if(mpdDetailsRecords.size() > 0 && RecordTypeName.equals('GuranteeMain')){
+ // chenjingwu 3+2澶氬勾淇濅慨 20240417 start
+ List<String> idList = new List<String>();
+ for(MpdDetailsInfo mp :mpdDetailsRecords){
+ idList.add(mp.mpded.ProductsID__c);
+ }
+ // chenjingwu 3+2澶氬勾淇濅慨 20240417 end
+ // chenjingwu 3+2澶氬勾淇濅慨 20240417 start
+ exmpdDetailsRecordsMap = new Map<String,List<ExMpdDetailsInfo>>();
+ muCountMap = new Map<String,Integer>();
+ List<Maintenance_Product_Data_Details__c> exDetailList = [select Id,MultiYearWarranty__c,AgeLimit__c,AgeLimit_Old__c,MultiOneYearWarrantyPrice__c,MultiOneYearWarrantyPrice_Old__c,AmountWithheld__c,AmountWithheld_Old__c,ProductsID__c from Maintenance_Product_Data_Details__c where ProductsID__c in:idList and RecordTypeId = '012C50000000jefIAA'];
+ if(exDetailList.size() > 0){
+ for(String id: idList){
+ List<ExMpdDetailsInfo> exList = new List<ExMpdDetailsInfo>();
+ for(Maintenance_Product_Data_Details__c mpdd: exDetailList){
+ if(id == mpdd.ProductsID__c){
+ exList.add(new ExMpdDetailsInfo(mpdd));
+ }
+ }
+ exList.add(new ExMpdDetailsInfo());
+ exmpdDetailsRecordsMap.put(id,exList);
+ }
+ }
+ // chenjingwu 3+2澶氬勾淇濅慨 20240417 end
+ }
}
}
// 妫�绱�
@@ -655,9 +682,6 @@
//20200618 绫诲瀷涓�鑷翠笉涓�鑷翠笉鑳戒繚瀛� add start
Boolean isWarning = false;
String contentWarning = '';
- // chenjingwu 3+2澶氬勾淇濅慨 20240417 start
- List<String> idList = new List<String>();
- // chenjingwu 3+2澶氬勾淇濅慨 20240417 end
for (MaintenanceProductDataDetailsInfo ass : mpdDetailsRecordsView) {
Roll = Roll+1;
if(ass.check == true){
@@ -671,9 +695,6 @@
InsAfterDel.Maintenance_Product_Data__c = mpd_Name[0].id;
InsAfterDel.Name = mpd_Name[0].Name + '-'+ str;
InsAfterDel.ProductsID__c = ass.Prod.id;
- // chenjingwu 3+2澶氬勾淇濅慨 20240417 start
- idList.add(ass.Prod.id);
- // chenjingwu 3+2澶氬勾淇濅慨 20240417 end
switch on RecordTypeName {
when 'ImportantProduct'{
//InsAfterDel.RecordTypeName__c = 'ImportantProduct';
@@ -867,24 +888,61 @@
Ins.add(InsAfterDel);
}
}
- // chenjingwu 3+2澶氬勾淇濅慨 20240417 start
- muList = [select Id,AgeLimit__c,MultiOneYearWarrantyPrice__c,AmountWithheld__c,ProductName__c from MultiYearWarranty__c where ProductName__c in: idList order By ProductName__c];
- for(String id: idList){
- List<MultiYearWarranty__c> mus = new List<MultiYearWarranty__c>();
- for(MultiYearWarranty__c mu: muList){
- if(id == mu.ProductName__c){
- mus.add(mu);
+ List<Maintenance_Product_Data_Details__c> exIntList = new List<Maintenance_Product_Data_Details__c>();
+ if(mpdDetailsRecords.size() > 0 && RecordTypeName.equals('GuranteeMain')){
+ if(exmpdDetailsRecordsMap == null){
+
+ // chenjingwu 3+2澶氬勾淇濅慨 20240417 start
+ List<String> idList = new List<String>();
+ for(MaintenanceProductDataDetailsInfo ass :mpdDetailsRecordsView){
+ if(ass.check == true){
+ idList.add(ass.Prod.id);
+ }
+ }
+ // chenjingwu 3+2澶氬勾淇濅慨 20240417 end
+ // chenjingwu 3+2澶氬勾淇濅慨 20240417 start
+ muList = [select Id,AgeLimit__c,MultiOneYearWarrantyPrice__c,AmountWithheld__c,ProductName__r.Name,ProductName__c from MultiYearWarranty__c where ProductName__c in: idList order By ProductName__c];
+ for(MultiYearWarranty__c mu: muList){
+ Maintenance_Product_Data_Details__c insmpdd = new Maintenance_Product_Data_Details__c();
+ insmpdd.AgeLimit__c = mu.AgeLimit__c;
+ insmpdd.MultiYearWarranty__c = mu.Id;
+ insmpdd.MultiOneYearWarrantyPrice__c = mu.MultiOneYearWarrantyPrice__c;
+ insmpdd.AmountWithheld__c = mu.AmountWithheld__c;
+
+
+ insmpdd.AgeLimit_Old__c = mu.AgeLimit__c;
+ insmpdd.MultiOneYearWarrantyPrice_Old__c = mu.MultiOneYearWarrantyPrice__c;
+ insmpdd.AmountWithheld_Old__c = mu.AmountWithheld__c;
+ insmpdd.RecordTypeId = '012C50000000jefIAA';
+ exIntList.add(insmpdd);
+
+ }
+ } else{
+ for(List<ExMpdDetailsInfo> li: exmpdDetailsRecordsMap.values()){
+ for(ExMpdDetailsInfo ex: li){
+ Maintenance_Product_Data_Details__c InsAfterDel = new Maintenance_Product_Data_Details__c();
+ InsAfterDel.AgeLimit__c = ex.mpdrdd.AgeLimit__c;
+ InsAfterDel.MultiYearWarranty__c = ex.mpdrdd.MultiYearWarranty__c;
+ InsAfterDel.MultiOneYearWarrantyPrice__c = ex.mpdrdd.MultiOneYearWarrantyPrice__c;
+ InsAfterDel.AmountWithheld__c = ex.mpdrdd.AmountWithheld__c;
+
+
+ InsAfterDel.AgeLimit_Old__c = ex.Prod.AgeLimit__c;
+ InsAfterDel.MultiOneYearWarrantyPrice_Old__c = ex.Prod.MultiOneYearWarrantyPrice__c;
+ InsAfterDel.AmountWithheld_Old__c = ex.Prod.AmountWithheld__c;
+ InsAfterDel.RecordTypeId = '012C50000000jefIAA';
+ exIntList.add(InsAfterDel);
+ }
}
}
- mus.add(new MultiYearWarranty__c({ProductName__c = id}));
- muMap.put(id,mus);
+ // chenjingwu 3+2澶氬勾淇濅慨 20240417 end
}
- // chenjingwu 3+2澶氬勾淇濅慨 20240417 end
if(isWarning){
return null;
}else{
if(Ins.size()>0){
upsert Ins;
+ upsert exIntList;
return setEditAble();
}else{
return null;
@@ -892,6 +950,7 @@
}
}
}catch(Exception e){
+ System.debug('chenjingwu==>' + e.getMessage());
ApexPages.addMessages(e);
Database.rollback(sp);
return null;
@@ -1476,4 +1535,35 @@
}
}
+
+ class ExMpdDetailsInfo {
+ public Boolean check { get; set; }
+ public Boolean oldCheck { get; set; }
+ public Boolean canSelect { get; set; }
+ public MultiYearWarranty__c Prod { get; set; }
+ public Maintenance_Product_Data_Details__c mpdrdd {get; set;}
+
+ public ExMpdDetailsInfo(Maintenance_Product_Data_Details__c e) {
+ check = true;
+ oldCheck = true;
+ mpdrdd = e;
+ Prod = e.MultiYearWarranty__r;
+ canSelect = true;
+ }
+ public ExMpdDetailsInfo(MultiYearWarranty__c e) {
+ check = false;
+ oldCheck = false;
+ mpdrdd = new Maintenance_Product_Data_Details__c();
+ Prod = e;
+ canSelect = true;
+ }
+ public ExMpdDetailsInfo() {
+ check = false;
+ oldCheck = false;
+ mpdrdd = new Maintenance_Product_Data_Details__c();
+ Prod = new MultiYearWarranty__c();
+ canSelect = true;
+ }
+ }
+
}
\ No newline at end of file
--
Gitblit v1.9.1