| | |
| | | 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******************/ |
| | |
| | | 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 |
| | | } |
| | | } |
| | | } |
| | | // 检索 |
| | |
| | | //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){ |
| | |
| | | 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'; |
| | |
| | | Ins.add(InsAfterDel); |
| | | } |
| | | } |
| | | // chenjingwu 3+2多年保修 20240417 start |
| | | muCountMap = new Map<String,Integer>(); |
| | | muList = [select Id,AgeLimit__c,MultiOneYearWarrantyPrice__c,AmountWithheld__c,ProductName__c from MultiYearWarranty__c where ProductName__c in: idList order By ProductName__c]; |
| | | for(AggregateResult objAgr: [select ProductName__c,COUNT(Id) total from MultiYearWarranty__c where ProductName__c in:idList group by ProductName__c]){ |
| | | muCountMap.put((String)objAgr.get('ProductName__c'), (Integer)objAgr.get('total')); |
| | | } |
| | | muMap = new Map<String,List<MultiYearWarranty__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; |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | 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; |
| | | } |
| | | } |
| | | |
| | | } |