From 84b24801b8e0e071589ea57b29e64f73e13b1c0c Mon Sep 17 00:00:00 2001 From: 付煜 <fuyu3103346691@163.com> Date: 星期一, 21 三月 2022 14:54:15 +0800 Subject: [PATCH] SWAG-CCEB67【委托】【重要】保有设备所属变更审批报错 --- force-app/main/default/classes/AssetModifyBelongsChangeHandler.cls | 58 +++++++++++++++++++++++++++++++++++++++------------------- 1 files changed, 39 insertions(+), 19 deletions(-) diff --git a/force-app/main/default/classes/AssetModifyBelongsChangeHandler.cls b/force-app/main/default/classes/AssetModifyBelongsChangeHandler.cls index a0f1e46..fce9c4a 100644 --- a/force-app/main/default/classes/AssetModifyBelongsChangeHandler.cls +++ b/force-app/main/default/classes/AssetModifyBelongsChangeHandler.cls @@ -41,11 +41,12 @@ // 鍚堝悓璇环缂栫爜 缁翠慨鍚堝悓/淇濇湁璁惧闆嗗悎 Map<String,List<Maintenance_Contract_Asset__c>> OppAssMap = new Map<String,List<Maintenance_Contract_Asset__c>>(); // 鐩爣瀹㈡埛 鍚堝悓璇环缂栫爜set - Map <string, Set<Maintenance_Contract_Asset__c>> vMOppMap = new map <string, Set<Maintenance_Contract_Asset__c>>(); + Map <string, Set<Maintenance_Contract__c>> vMOppMap = new map <string, Set<Maintenance_Contract__c>>(); + // Map <string, Set<Maintenance_Contract_Asset__c>> vMOppMap = new map <string, Set<Maintenance_Contract_Asset__c>>(); //add by rentx LJPH-C493WW //LJPH-C493WW fy 銆愬鎵樸�� 銆愬骞翠繚鍚堝悓銆戝骞翠繚璁惧杞Щ閫犳垚鐨勫悎鍚岄棶棰� start - List<Maintenance_Contract__c> MainCList=new List<Maintenance_Contract__c>(); + Map<String,Maintenance_Contract__c> MainCMap=new Map<String,Maintenance_Contract__c>(); //LJPH-C493WW fy 銆愬鎵樸�� 銆愬骞翠繚鍚堝悓銆戝骞翠繚璁惧杞Щ閫犳垚鐨勫悎鍚岄棶棰� end if(idList != null && idList.size() > 0){ @@ -152,11 +153,18 @@ //update by rentx LJPH-C493WW start //LJPH-C493WW fy 銆愬鎵樸�� 銆愬骞翠繚鍚堝悓銆戝骞翠繚璁惧杞Щ閫犳垚鐨勫悎鍚岄棶棰� start if (!vMOppMap.containsKey(accountIdStr)) { - vMOppMap.put(accountIdStr, new Set<Maintenance_Contract_Asset__c>()); + vMOppMap.put(accountIdStr, new Set<Maintenance_Contract__c>()); + // vMOppMap.put(accountIdStr, new Set<Maintenance_Contract_Asset__c>()); } - vMOppMap.get(accountIdStr).add(maAssetMap.get(asset.Id)); + Maintenance_Contract__c maintenancecontc=new Maintenance_Contract__c(); + maintenancecontc.Id = maAssetMap.get(asset.Id).Maintenance_Contract__c; + maintenancecontc.Add_Number__c = maAssetMap.get(asset.Id).Maintenance_Contract__r.Add_Number__c; + maintenancecontc.Management_Code__c = maAssetMap.get(asset.Id).Maintenance_Contract__r.Management_Code__c; + vMOppMap.get(accountIdStr).add(maintenancecontc); + // vMOppMap.get(accountIdStr).add(maAssetMap.get(asset.Id)); //LJPH-C493WW fy 銆愬鎵樸�� 銆愬骞翠繚鍚堝悓銆戝骞翠繚璁惧杞Щ閫犳垚鐨勫悎鍚岄棶棰� end //update by rentx LJPH-C493WW end + System.debug('maAssetMap.get(asset.Id)=====锛�'+maAssetMap.get(asset.Id)); } } System.debug('154::: vMOppMap '+vMOppMap); @@ -169,16 +177,20 @@ if (vMOppMap.size() > 0) { for (String str : vMOppMap.keySet()) { //update by rentx LJPH-C493WW start - Set<Maintenance_Contract_Asset__c> vset = vMOppMap.get(str); + Set<Maintenance_Contract__c> vset = vMOppMap.get(str); + //Set<Maintenance_Contract_Asset__c> vset = vMOppMap.get(str); //LJPH-C493WW fy 銆愬鎵樸�� 銆愬骞翠繚鍚堝悓銆戝骞翠繚璁惧杞Щ閫犳垚鐨勫悎鍚岄棶棰� start - for (Maintenance_Contract_Asset__c mcodes : vset) { + for (Maintenance_Contract__c mcodes : vset) { + //for (Maintenance_Contract_Asset__c mcodes : vset) { Maintenance_Contract__c vmc = new Maintenance_Contract__c(); vmc.Name = accMap.get(str).Parent.Parent.Name + '澶氬勾淇濅慨'; vmc.Status__c = '濂戠磩'; system.debug('mcodes==='+mcodes); // List<String> mcodestrList= mcodes.split('@'); - String mcode =mcodes.Maintenance_Contract__r.Management_Code__c; - String mcid=(String)mcodes.Maintenance_Contract__c; + // String mcode =mcodes.Maintenance_Contract__r.Management_Code__c; + // String mcid=(String)mcodes.Maintenance_Contract__c; + String mcode =mcodes.Management_Code__c; + String mcid=(String)mcodes.Id; // String addNumber =mcodestrList[1]; Map<String,Decimal> addnumMap = new Map<String,Decimal>(); if (String.isNotBlank(mcode) && mcode.substring(mcode.length()-3,mcode.length()-2) == '-' ) { @@ -186,17 +198,24 @@ Integer count = Integer.valueOf(mcode.substring(mcode.length()-2,mcode.length())); vmc.Management_CodeVM__c = startstr + String.valueOf(count +1).leftPad(2,'0'); - mcodes.Maintenance_Contract__r.Add_Number__c=count +1; - addnumMap.put(mcid,mcodes.Maintenance_Contract__r.Add_Number__c); + // mcodes.Maintenance_Contract__r.Add_Number__c=count +1; + // addnumMap.put(mcid,mcodes.Maintenance_Contract__r.Add_Number__c); + mcodes.Add_Number__c=count +1; + addnumMap.put(mcid,mcodes.Add_Number__c); }else{ - system.debug('mcodes.Maintenance_Contract__r.Add_Number__c'+mcodes.Maintenance_Contract__r.Add_Number__c); - if(mcodes.Maintenance_Contract__r.Add_Number__c==null||mcodes.Maintenance_Contract__r.Add_Number__c==0){ + system.debug('mcodes.Maintenance_Contract__r.Add_Number__c'+mcodes.Add_Number__c); + if(mcodes.Add_Number__c==null||mcodes.Add_Number__c==0){ + // if(mcodes.Maintenance_Contract__r.Add_Number__c==null||mcodes.Maintenance_Contract__r.Add_Number__c==0){ vmc.Management_CodeVM__c = mcode + '-01'; - mcodes.Maintenance_Contract__r.Add_Number__c=1; - addnumMap.put(mcid,mcodes.Maintenance_Contract__r.Add_Number__c); + // mcodes.Maintenance_Contract__r.Add_Number__c=1; + // addnumMap.put(mcid,mcodes.Maintenance_Contract__r.Add_Number__c); + mcodes.Add_Number__c=1; + addnumMap.put(mcid,mcodes.Add_Number__c); }else{ - Decimal addnum = mcodes.Maintenance_Contract__r.Add_Number__c+1; - if(mcodes.Maintenance_Contract__r.Add_Number__c<=9){ + // Decimal addnum = mcodes.Maintenance_Contract__r.Add_Number__c+1; + // if(mcodes.Maintenance_Contract__r.Add_Number__c<=9){ + Decimal addnum = mcodes.Add_Number__c+1; + if(mcodes.Add_Number__c<=9){ vmc.Management_CodeVM__c = mcode + '-0'+addnum; }else{ vmc.Management_CodeVM__c = mcode + '-'+addnum; @@ -231,7 +250,7 @@ //LJPH-C493WW fy 銆愬鎵樸�� 銆愬骞翠繚鍚堝悓銆戝骞翠繚璁惧杞Щ閫犳垚鐨勫悎鍚岄棶棰� start mctrobject.Id=mac.Maintenance_Contract__c; mctrobject.Add_Number__c=addnumMap.get(mac.Maintenance_Contract__c); - MainCList.add(mctrobject); + MainCMap.put(mctrobject.Id,mctrobject); system.debug('mctrobject.Id===='+mctrobject.Id); system.debug('mctrobject.Add_Number__c======='+mctrobject.Add_Number__c); //LJPH-C493WW fy 銆愬鎵樸�� 銆愬骞翠繚鍚堝悓銆戝骞翠繚璁惧杞Щ閫犳垚鐨勫悎鍚岄棶棰� end @@ -316,8 +335,9 @@ update assetList; } //LJPH-C493WW fy 銆愬鎵樸�� 銆愬骞翠繚鍚堝悓銆戝骞翠繚璁惧杞Щ閫犳垚鐨勫悎鍚岄棶棰� start - if(MainCList != null && MainCList.size() > 0){ - update MainCList; + if(MainCMap != null && MainCMap.size() > 0){ + List<Maintenance_Contract__c> mainList=MainCMap.values(); + update mainList; } //LJPH-C493WW fy 銆愬鎵樸�� 銆愬骞翠繚鍚堝悓銆戝骞翠繚璁惧杞Щ閫犳垚鐨勫悎鍚岄棶棰� end } -- Gitblit v1.9.1