From 226ec1cbf306ab7566e738594d5d8e68bdf98cf7 Mon Sep 17 00:00:00 2001 From: 游畅 <youchang@prec-tech.com> Date: 星期二, 04 四月 2023 09:45:44 +0800 Subject: [PATCH] 20230329-询价中的今年相关字段增加和修改+现场修理逻辑+停止hr信息同步用户 --- force-app/main/default/classes/RepairTrigger.cls | 128 +++++++++++++++++++++++++++++++++++++++--- 1 files changed, 118 insertions(+), 10 deletions(-) diff --git a/force-app/main/default/classes/RepairTrigger.cls b/force-app/main/default/classes/RepairTrigger.cls index 8a063f5..e84bd95 100644 --- a/force-app/main/default/classes/RepairTrigger.cls +++ b/force-app/main/default/classes/RepairTrigger.cls @@ -1,4 +1,36 @@ public without sharing class RepairTrigger { + + //before insert, brfore update + public static void sendEmailByInspectionFailureCause(List<Repair__c> newList, Map<Id, Repair__c> newMap, List<Repair__c> oldList, Map<Id, Repair__c> oldMap){ + + EmailTemplate et=[Select id from EmailTemplate where name = '淇悊鎶ヤ环淇℃伅鏇存柊' limit 1]; + + List<Id> needUpdateList = new List<Id>(); + for(Repair__c re : newList){ + if((re.Repair_Firstestimated_Date_formula__c != null && re.Repair_Quotation_Id__c != oldMap.get(re.Id).Repair_Quotation_Id__c) || re.InspectionFailureCause__c != oldMap.get(re.Id).InspectionFailureCause__c){ + needUpdateList.add(re.Id); + } + } + + String[] toccAddresses = System.Label.RepairUpdatecc.split(';'); + String[] toAddresses = System.Label.RepairUpdateTo.split(';'); + + + List<Messaging.SingleEmailMessage> emails = new List<Messaging.SingleEmailMessage>(); + + for(Id repairId : needUpdateList){ + Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage(); + mail = Messaging.renderStoredEmailTemplate(et.Id, null , repairId); + mail.setSaveAsActivity(false); + + mail.setToAddresses(toAddresses); + mail.setCcAddresses(toccAddresses); + emails.add(mail); + } + + } + + // before insert, before update public static void setRepairWorkday(List<Repair__c> newList, Map<Id, Repair__c> newMap, List<Repair__c> oldList, Map<Id, Repair__c> oldMap) { // 鏃ュ巻鏌ヨ寮�濮� @@ -105,7 +137,7 @@ Map<String, List<Repair__c>> repaMap = new Map<String, List<Repair__c>>(); - List<Repair__c> repList = [select id, Status1__c, Status2__c, Return_Without_Repair_Reason__c, Contract_status__c, Return_Without_Repair_IF__c, Failure_Occurrence_Date__c, + List<Repair__c> repList = [select id, Status1__c, Status2__c, Return_Without_Repair_Reason__c, Contract_status__c, Return_Without_Repair_IF__c, Failure_Occurrence_Date__c,CancellationReason__c, Delivered_Product__c // LJPH-C67A6E gzw 閫昏緫fix start ,FSE_ApplyForRepair_Day__c,Contract_Start_Date__c,Contract_End_Date__c @@ -134,12 +166,33 @@ if (rList[0] != null) { if (rList[0].Return_Without_Repair_IF__c == true) { //鍒ゆ柇寮冧慨鐨勯�昏緫 + // 20230207鈥滃純淇�濃�滀慨鐞嗕腑鈥濊澶囧垽鏂�昏緫淇敼 start + if (rList[0].Return_Without_Repair_Reason__c == 'I/F鐞嗙敱銆佺⒑瑾�' &&(rList[0].CancellationReason__c == '鎶ヤ环鍗曞埌鏈�' + || rList[0].CancellationReason__c == '搴熷純' || rList[0].CancellationReason__c == '璐拱鏂板搧' || rList[0].CancellationReason__c == '闆朵欢鍋滀骇' + || rList[0].CancellationReason__c == '闆朵欢宸插仠姝㈢敓浜�' || rList[0].CancellationReason__c == '鍒板叾浠栧叕鍙镐慨鐞�' || rList[0].CancellationReason__c == '鍏朵粬' + || rList[0].CancellationReason__c == '淇悊浠锋牸楂�' || rList[0].CancellationReason__c == '鍧氭寔缁х画浣跨敤' || rList[0].CancellationReason__c == '鏃犳硶淇悊' + || rList[0].CancellationReason__c == '淇悊浠锋牸澶珮' || rList[0].CancellationReason__c == '鐢ㄦ埛鍧氭寔缁х画浣跨敤' || rList[0].CancellationReason__c == '鏃犳硶淇悊杩斿搧')) { + if (reason != null) { + if (reason.contains('淇悊涓�')) { + a.Reson_Can_not_Warranty__c = reason.replace('淇悊涓�', ''); + } + if (!reason.contains('寮冧慨')) { + a.Reson_Can_not_Warranty__c = reason + '寮冧慨'; + } + } else { + a.Reson_Can_not_Warranty__c = '寮冧慨'; + } + } + // 20230207鈥滃純淇�濃�滀慨鐞嗕腑鈥濊澶囧垽鏂�昏緫淇敼 end if (rList[0].Return_Without_Repair_Reason__c == '1.淇悊浠锋牸澶珮' || rList[0].Return_Without_Repair_Reason__c == '2.鍒板叾浠栧叕鍙镐慨鐞�' || rList[0].Return_Without_Repair_Reason__c == '4.鍧氭寔缁х画浣跨敤' || rList[0].Return_Without_Repair_Reason__c == '3.鎶ヤ环鍗曡秴鏈�' || rList[0].Return_Without_Repair_Reason__c == '5.搴熷純' || rList[0].Return_Without_Repair_Reason__c == '6.璐拱鏂板搧' || rList[0].Return_Without_Repair_Reason__c == '8.涔剧嚗') { //ass = assMap.get(rpc.Delivered_Product__c); if (reason != null) { + if (reason.contains('淇悊涓�')) { + a.Reson_Can_not_Warranty__c = reason.replace('淇悊涓�', ''); + } if (!reason.contains('寮冧慨')) { a.Reson_Can_not_Warranty__c = reason + '寮冧慨'; } @@ -164,7 +217,7 @@ // LJPH-C67A6E gzw 閫昏緫fix start // if (rList[0].Contract_status__c != '濂戠磩') { if (!(rList[0].Contract_status__c == '濂戠磩' || - (rList[0].FSE_ApplyForRepair_Day__c >= rList[0].Contract_Start_Date__c && rList[0].FSE_ApplyForRepair_Day__c >= rList[0].Contract_End_Date__c))) { + (rList[0].FSE_ApplyForRepair_Day__c >= rList[0].Contract_Start_Date__c && rList[0].FSE_ApplyForRepair_Day__c <= rList[0].Contract_End_Date__c))) { // LJPH-C67A6E gzw 閫昏緫fix end if (rList[0].Status2__c == '01.鍒嗗叕鍙稿彈鐞嗗畬姣�' || rList[0].Status2__c == '02.RC鍙楃悊瀹屾瘯' || rList[0].Status2__c == '03.鎶ヤ环妫�鏌ョ粨鏉�' || rList[0].Status2__c == '04.鎶ヤ环璺熻繘涓�') { if (reason != null) { @@ -232,7 +285,6 @@ } // 20210622 SQL浼樺寲 End - System.debug('===========> end'); } //wwp 2021/10/15 缁翠慨涓績璧嬪�兼柊鍔犺タ瀹� 鏉窞 鎴愰兘 start @@ -354,12 +406,14 @@ } } }else if(repair.On_site_repair__c == '鍔炰簨澶勪慨鐞�' || repair.On_site_repair__c== '鐜板満淇悊'){ - if(repair.Sales_Branch__c == '涓婃捣鍒嗗叕鍙�'){ + /** 20230313 you DB202303171085 + if(repair.Sales_Branch__c == '涓婃捣鍒嗗叕鍙�'){ if (hzProvince.contains(repair.SalesOfficeCode_selection__c)) { repair.work_location_select__c = '鏉窞鍏遍�氬姙浜嬪'; leakDefaultFlag = false; } - } else if(repair.Sales_Branch__c == '骞垮窞鍒嗗叕鍙�'){ + } else **/ + if(repair.Sales_Branch__c == '骞垮窞鍒嗗叕鍙�'){ if (cdProvince.contains(repair.SalesOfficeCode_selection__c)) { repair.work_location_select__c = '鎴愰兘鍏遍�氬姙浜嬪'; leakDefaultFlag = false; @@ -425,12 +479,14 @@ leakDefaultFlag = false; } }else if(repair.On_site_repair__c == '鍔炰簨澶勪慨鐞�' || repair.On_site_repair__c== '鐜板満淇悊'){ + /** 20230313 you DB202303171085 if(repair.Contract_Principal_Office__c == '涓婃捣RC'){ if (hzProvince.contains(repair.SalesOfficeCode_selection__c)) { repair.work_location_select__c = '鏉窞鍏遍�氬姙浜嬪'; leakDefaultFlag = false; } - } else if(repair.Contract_Principal_Office__c == '骞垮窞RC'){ + } else **/ + if(repair.Contract_Principal_Office__c == '骞垮窞RC'){ if (cdProvince.contains(repair.SalesOfficeCode_selection__c)) { repair.work_location_select__c = '鎴愰兘鍏遍�氬姙浜嬪'; leakDefaultFlag = false; @@ -539,13 +595,15 @@ } } }else if(repair.On_site_repair__c == '鍔炰簨澶勪慨鐞�' || repair.On_site_repair__c== '鐜板満淇悊'){ + /** 20230313 you DB202303171085 if(repair.Sales_Branch__c == '涓婃捣鍒嗗叕鍙�'){ //鏍规嵁淇悊鍝佽繑閫佸湴涓洪潪鍖椾含 if (hzProvince.contains(repair.SalesOfficeCode_selection__c)) { repair.work_location_select__c = '鏉窞鍏遍�氬姙浜嬪'; leakDefaultFlag = false; } - } else if(repair.Sales_Branch__c == '骞垮窞鍒嗗叕鍙�'){ + } else **/ + if(repair.Sales_Branch__c == '骞垮窞鍒嗗叕鍙�'){ //鏍规嵁淇悊鍝佽繑閫佸湴涓洪潪鍖椾含 if (cdProvince.contains(repair.SalesOfficeCode_selection__c)) { repair.work_location_select__c = '鎴愰兘鍏遍�氬姙浜嬪'; @@ -615,12 +673,14 @@ leakDefaultFlag = false; } }else if(repair.On_site_repair__c == '鍔炰簨澶勪慨鐞�' || repair.On_site_repair__c== '鐜板満淇悊'){ + /** 20230313 you DB202303171085 if(middleTable.Maintenance_Contract__r.SalesOfficeCode_selection__c == '涓婃捣RC'){ if (hzProvince.contains(repair.SalesOfficeCode_selection__c)) { repair.work_location_select__c = '鏉窞鍏遍�氬姙浜嬪'; leakDefaultFlag = false; } - } else if(middleTable.Maintenance_Contract__r.SalesOfficeCode_selection__c == '骞垮窞RC'){ + } else**/ + if(middleTable.Maintenance_Contract__r.SalesOfficeCode_selection__c == '骞垮窞RC'){ if (cdProvince.contains(repair.SalesOfficeCode_selection__c)) { repair.work_location_select__c = '鎴愰兘鍏遍�氬姙浜嬪'; leakDefaultFlag = false; @@ -776,8 +836,9 @@ rpOld.addError('鏁版嵁宸茬粡鍒犻櫎鎴栬�呭彇娑堜笉鑳藉啀淇敼锛�!!!'); return; } - + System.debug('rpNew.Status1__c ==' + rpNew.Status1__c); if (rpNew.Status1__c == '0.鍙栨秷') { + System.debug('rpNew.Status1__c == 鍙栨秷'); if (rpNew.Status__c != rpOld.Status__c) { return; } @@ -1215,16 +1276,63 @@ // chkFlg = false; // } + System.debug('chkFlg = ' + chkFlg); if (!chkFlg && !System.Test.isRunningTest()) { rpOld.addError('鏁版嵁宸茬粡鍒犻櫎鎴栬�呭彇娑堜笉鑳藉啀淇敼锛�'); return; } else { + integer i = 0; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; return; } - + } System.debug('===========> end'); + } } \ No newline at end of file -- Gitblit v1.9.1