From d8dc84a3d56df839895f1c417a4d9cbee763d262 Mon Sep 17 00:00:00 2001
From: 高章伟 <gaozhangwei@prec-tech.com>
Date: 星期五, 03 三月 2023 14:50:59 +0800
Subject: [PATCH] gzw 测试环境代码更新
---
force-app/main/default/classes/AssetModifyBelongsChangeHandler.cls | 94 ++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 92 insertions(+), 2 deletions(-)
diff --git a/force-app/main/default/classes/AssetModifyBelongsChangeHandler.cls b/force-app/main/default/classes/AssetModifyBelongsChangeHandler.cls
index fce9c4a..27ca753 100644
--- a/force-app/main/default/classes/AssetModifyBelongsChangeHandler.cls
+++ b/force-app/main/default/classes/AssetModifyBelongsChangeHandler.cls
@@ -42,7 +42,10 @@
Map<String,List<Maintenance_Contract_Asset__c>> OppAssMap = new Map<String,List<Maintenance_Contract_Asset__c>>();
// 鐩爣瀹㈡埛 鍚堝悓璇环缂栫爜set
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>>();
+ // 鎬婚櫌鍒嗛櫌闂磋皟鐢ㄧ殑淇濇湁璁惧锛屽彉鏇村墠鍙戦�佺殑淇悊瑕佽鍏ュ埌鍙樻洿鍚庣殑鍚堝悓閲� thh 20220418 start
+ Map<String, List<Id>> rpMcaNameMap = new Map<String, List<Id>>();
+ Map<String, String> ChangeRepAssMap = new Map<String, String>();
+ // 鎬婚櫌鍒嗛櫌闂磋皟鐢ㄧ殑淇濇湁璁惧锛屽彉鏇村墠鍙戦�佺殑淇悊瑕佽鍏ュ埌鍙樻洿鍚庣殑鍚堝悓閲� thh 20220418 end
//add by rentx LJPH-C493WW
//LJPH-C493WW fy 銆愬鎵樸�� 銆愬骞翠繚鍚堝悓銆戝骞翠繚璁惧杞Щ閫犳垚鐨勫悎鍚岄棶棰� start
@@ -117,6 +120,7 @@
for (AssetModifyBelongsChangeDetail__c ambcDetail :ambcDetailList){
String accountIdStr = ambcDetail.ChangeAndChangeDetail__r.AccountField__c;
+ System.debug('accountIdStr:'+ ambcDetail.ChangeAndChangeDetail__r.AccountField__c);
Account acc = accMap.get(accountIdStr);
Asset asset = new Asset();
//鍒ゆ柇鐩爣瀹㈡埛鐨勭被鍨嬫槸鍚︽槸"鎴樼暐绉戝ET"
@@ -136,7 +140,6 @@
asset.Nameno__c = ambcDetail.ChangeAndChangeDetail__c;
asset.ChangeReasons__c = ambcDetail.ChangeAndChangeDetail__r.ChangeReason__c;
assetList.add(asset);
-
// 鍙樻洿铏氭嫙缁翠慨鍚堝悓淇℃伅鏁寸悊 start
if (maAssetMap.containsKey(asset.Id)) {
// if (changeAccMap.containsKey(accountIdStr)) {
@@ -165,6 +168,11 @@
//LJPH-C493WW fy 銆愬鎵樸�� 銆愬骞翠繚鍚堝悓銆戝骞翠繚璁惧杞Щ閫犳垚鐨勫悎鍚岄棶棰� end
//update by rentx LJPH-C493WW end
System.debug('maAssetMap.get(asset.Id)=====锛�'+maAssetMap.get(asset.Id));
+ // 鎬婚櫌鍒嗛櫌闂磋皟鐢ㄧ殑淇濇湁璁惧锛屽彉鏇村墠鍙戦�佺殑淇悊瑕佽鍏ュ埌鍙樻洿鍚庣殑鍚堝悓閲� thh 20220418 start
+ if(ambcDetail.ChangeAndChangeDetail__r.ChangeReason__c == '鎬婚櫌鍒嗛櫌闂磋皟鐢�'){
+ ChangeRepAssMap.put(maAssetMap.get(asset.Id).Maintenance_Contract__r.Management_Code__c, ambcDetail.ChangeAndChangeDetail__r.ChangeReason__c);
+ }
+ // 鎬婚櫌鍒嗛櫌闂磋皟鐢ㄧ殑淇濇湁璁惧锛屽彉鏇村墠鍙戦�佺殑淇悊瑕佽鍏ュ埌鍙樻洿鍚庣殑鍚堝悓閲� thh 20220418 end
}
}
System.debug('154::: vMOppMap '+vMOppMap);
@@ -175,6 +183,38 @@
//
if (vMOppMap.size() > 0) {
+ // 鎬婚櫌鍒嗛櫌闂磋皟鐢ㄧ殑淇濇湁璁惧锛屽彉鏇村墠鍙戦�佺殑淇悊瑕佽鍏ュ埌鍙樻洿鍚庣殑鍚堝悓閲� thh 20220418 start
+ List<String> mcaIdList = new List<String>();
+ Map<String, List<String>> RepairIdMap = new Map<String, List<String>>();
+ for (String accountId : vMOppMap.keySet()) {
+ System.debug('accountId1:' + accountId);
+ Set<Maintenance_Contract__c> mcSet = vMOppMap.get(accountId);
+ for(Maintenance_Contract__c mc : mcSet){
+ System.debug('ChangeRepAssMap1:' + ChangeRepAssMap);
+ System.debug('mc.Management_Code__c1:' + mc.Management_Code__c);
+ if(ChangeRepAssMap.containsKey(mc.Management_Code__c)){
+ mcaIdList.add(mc.Id);
+ }
+ }
+ }
+ System.debug('mcaIdList1:' + mcaIdList);
+ if(mcaIdList.size() > 0){
+ List<Repair__c> RepairList = [select Id, VM_Maintenance_Contract__c from Repair__c where VM_Maintenance_Contract__c IN :mcaIdList];
+ if(RepairList.size() > 0){
+ for(Repair__c rp : RepairList){
+ List<String> newRepairIdList = new List<String>();
+ if(RepairIdMap.containsKey(rp.VM_Maintenance_Contract__c)){
+ newRepairIdList = RepairIdMap.get(rp.VM_Maintenance_Contract__c);
+ newRepairIdList.add(rp.Id);
+ RepairIdMap.put(rp.VM_Maintenance_Contract__c, newRepairIdList);
+ } else{
+ newRepairIdList.add(rp.Id);
+ RepairIdMap.put(rp.VM_Maintenance_Contract__c, newRepairIdList);
+ }
+ }
+ }
+ }
+ // 鎬婚櫌鍒嗛櫌闂磋皟鐢ㄧ殑淇濇湁璁惧锛屽彉鏇村墠鍙戦�佺殑淇悊瑕佽鍏ュ埌鍙樻洿鍚庣殑鍚堝悓閲� thh 20220418 end
for (String str : vMOppMap.keySet()) {
//update by rentx LJPH-C493WW start
Set<Maintenance_Contract__c> vset = vMOppMap.get(str);
@@ -225,6 +265,12 @@
system.debug('vmc.Management_CodeVM__c ======'+vmc.Management_CodeVM__c);
system.debug('addnumMap ======'+addnumMap);
}
+ // 鎬婚櫌鍒嗛櫌闂磋皟鐢ㄧ殑淇濇湁璁惧锛屽彉鏇村墠鍙戦�佺殑淇悊瑕佽鍏ュ埌鍙樻洿鍚庣殑鍚堝悓閲� thh 20220418 start
+ if(ChangeRepAssMap.containsKey(mcodes.Management_Code__c) && RepairIdMap.containsKey(mcodes.Id)){
+ rpMcaNameMap.put(vmc.Management_CodeVM__c, RepairIdMap.get(mcodes.Id));
+ }
+ System.debug('rpMcaNameMap====' + rpMcaNameMap);
+ // 鎬婚櫌鍒嗛櫌闂磋皟鐢ㄧ殑淇濇湁璁惧锛屽彉鏇村墠鍙戦�佺殑淇悊瑕佽鍏ュ埌鍙樻洿鍚庣殑鍚堝悓閲� thh 20220418 end
//LJPH-C493WW fy 銆愬鎵樸�� 銆愬骞翠繚鍚堝悓銆戝骞翠繚璁惧杞Щ閫犳垚鐨勫悎鍚岄棶棰� end
vmc.Department__c = accMap.get(str).Id;
vmc.Department_Class__c = accMap.get(str).ParentId;
@@ -254,6 +300,11 @@
system.debug('mctrobject.Id===='+mctrobject.Id);
system.debug('mctrobject.Add_Number__c======='+mctrobject.Add_Number__c);
//LJPH-C493WW fy 銆愬鎵樸�� 銆愬骞翠繚鍚堝悓銆戝骞翠繚璁惧杞Щ閫犳垚鐨勫悎鍚岄棶棰� end
+ // 缁欐�婚櫌鍒嗛櫌闂磋皟鐢ㄧ殑缁翠慨鍚堝悓淇濇湁璁惧鐨勬�婚櫌鍒嗛櫌闂村彉鏇存爣璇嗚祴true thh 20220426 start
+ if(ChangeRepAssMap.containsKey(mac.Maintenance_Contract__r.Management_Code__c)){
+ mac.General_Branch_Changeflag__c = true;
+ }
+ // 缁欐�婚櫌鍒嗛櫌闂磋皟鐢ㄧ殑缁翠慨鍚堝悓淇濇湁璁惧鐨勬�婚櫌鍒嗛櫌闂村彉鏇存爣璇嗚祴true thh 20220426 end
v_MCdetUpList.add(mac);
}
v_MCdetnewMap.put(mcode, mcatempList);
@@ -322,9 +373,48 @@
mca.Maintenance_Contract__c = v_MCMap.get(str).Id;
mca.startDateGurantee_changgeAcc__c = Date.today();
mca.ChangeAcc_flag__c = true;
+ // 缁欐�婚櫌鍒嗛櫌闂磋皟鐢ㄧ殑缁翠慨鍚堝悓淇濇湁璁惧鐨勬�婚櫌鍒嗛櫌闂村彉鏇存爣璇嗚祴true thh 20220426 start
+ if(ChangeRepAssMap.containsKey(mca.Maintenance_Contract__r.Management_Code__c)){
+ mca.General_Branch_Changeflag__c = true;
+ }
+ // 缁欐�婚櫌鍒嗛櫌闂磋皟鐢ㄧ殑缁翠慨鍚堝悓淇濇湁璁惧鐨勬�婚櫌鍒嗛櫌闂村彉鏇存爣璇嗚祴true thh 20220426 end
v_MCdetinList.add(mca);
}
}
+ // 鎬婚櫌鍒嗛櫌闂磋皟鐢ㄧ殑淇濇湁璁惧锛屽彉鏇村墠鍙戦�佺殑淇悊瑕佽鍏ュ埌鍙樻洿鍚庣殑鍚堝悓閲� thh 20220418 Start
+ List<Repair__c> updateRpList = new List<Repair__c>();
+ Map<Id, Repair__c> rpMap = new Map<Id, Repair__c>();
+ List<Repair__c> rpList = new List<Repair__c>();
+ List<String> rpIdList = new List<String>();
+ for(String str : v_MCMap.keySet()){
+ Maintenance_Contract__c mc = v_MCMap.get(str);
+ rpIdList = rpMcaNameMap.get(mc.Management_CodeVM__c);
+ }
+ if(rpIdList != null && rpIdList.size() > 0){
+ rpList = [select Id, VM_Maintenance_Contract__c from Repair__c where Id IN : rpIdList];
+ }
+ if(rpList.size() > 0){
+ for(Repair__c rp : rpList){
+ rpMap.put(rp.Id, rp);
+ }
+ }
+ for(String str : v_MCMap.keySet()){
+ Maintenance_Contract__c mc = v_MCMap.get(str);
+ if(rpMcaNameMap.containsKey(mc.Management_CodeVM__c)){
+ List<String> newrpIdList = rpMcaNameMap.get(mc.Management_CodeVM__c);
+ if(newrpIdList != null && newrpIdList.size() > 0){
+ for(Id rpId : newrpIdList){
+ Repair__c rp = rpMap.get(rpId);
+ rp.VM_Maintenance_Contract__c = mc.Id;
+ updateRpList.add(rp);
+ }
+ }
+ }
+ }
+ if(updateRpList.size() > 0){
+ update updateRpList;
+ }
+ // 鎬婚櫌鍒嗛櫌闂磋皟鐢ㄧ殑淇濇湁璁惧锛屽彉鏇村墠鍙戦�佺殑淇悊瑕佽鍏ュ埌鍙樻洿鍚庣殑鍚堝悓閲� thh 20220418 end
// 鎻掑叆鍙樻洿鏂板悎鍚岀殑缁翠慨鍚堝悓淇濇湁璁惧
insert v_MCdetinList;
// 鏇存柊鐜版湁鍚堝悓鐨勭淮淇悎鍚屼繚鏈夎澶�
--
Gitblit v1.9.1