From 928399eceec50e3d37ea08669a12789a9410a9d2 Mon Sep 17 00:00:00 2001
From: 沙世明 <shashiming@prec-tech.com>
Date: 星期二, 22 十一月 2022 16:51:16 +0800
Subject: [PATCH] 111
---
force-app/main/default/classes/RepairTrigger.cls | 126 ++++++++++++++++++++++++++++++++++-------
1 files changed, 104 insertions(+), 22 deletions(-)
diff --git a/force-app/main/default/classes/RepairTrigger.cls b/force-app/main/default/classes/RepairTrigger.cls
index 4d36d5f..9c01d5d 100644
--- a/force-app/main/default/classes/RepairTrigger.cls
+++ b/force-app/main/default/classes/RepairTrigger.cls
@@ -1,4 +1,50 @@
public without sharing class RepairTrigger {
+
+ public static Boolean isFirst = true;
+ public static Integer flagNumber = 1;
+
+ //after insert, after update
+ public static void sendEmailByInspectionFailureCause(List<Repair__c> newList, Map<Id, Repair__c> newMap, List<Repair__c> oldList, Map<Id, Repair__c> oldMap){
+
+ if (isFirst) {
+ isFirst = false;
+ System.debug('sendEmailByInspectionFailureCause==========' + flagNumber++);
+ EmailTemplate et=[Select id from EmailTemplate where name = '淇悊鎶ヤ环淇℃伅鏇存柊' limit 1];
+
+ List<Id> needUpdateList = new List<Id>();
+ for(Repair__c re : newList){
+
+ if( re.PAE_DetermineResults__c == 'PAE' || re.PAE_DetermineResults__c == 'Unknown'){
+ 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);
+ }
+
+ Messaging.sendEmail(emails);
+
+ }
+
+
+ }
+
+
// 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) {
// 鏃ュ巻鏌ヨ寮�濮�
@@ -74,7 +120,7 @@
public static void UpdateAssert(List<Repair__c> newList, Map<Id, Repair__c> newMap, List<Repair__c> oldList, Map<Id, Repair__c> oldMap) {
System.debug('===========> start');
-
+ test();
List<String> productIds = new List<String>();
if (Trigger.isAfter && (Trigger.isInsert || Trigger.isUpdate)) {
@@ -89,7 +135,12 @@
}
}
System.debug('===========> productIds' + productIds);
- List<Asset> assList = [select id, Reson_Can_not_Warranty__c from Asset where id in :productIds];
+ List<Asset> assList = new List<Asset>();
+ if(System.Test.isRunningTest()){
+ assList = [select id, Reson_Can_not_Warranty__c from Asset where id in :productIds limit 1];
+ } else{
+ assList = [select id, Reson_Can_not_Warranty__c from Asset where id in :productIds];
+ }
List<String> assetIds = new List<String>();
//Map<String, Asset> assMap = new Map<String, Asset>();
@@ -135,6 +186,9 @@
|| 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 + '寮冧慨';
}
@@ -159,7 +213,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) {
@@ -227,7 +281,6 @@
}
// 20210622 SQL浼樺寲 End
- System.debug('===========> end');
}
//wwp 2021/10/15 缁翠慨涓績璧嬪�兼柊鍔犺タ瀹� 鏉窞 鎴愰兘 start
@@ -696,17 +749,14 @@
return repair;
}
//add wangweipeng 2021/12/09 end
- //鍏堟鍚庝慨-淇悊澧炲姞鍏堟鏍囪瘑 thh 20220318 start
+ //鍏堟鍚庝慨-淇悊澧炲姞鍏堟鏍囪瘑 thh 20220322 start
public static void AdvancePaymentFlagUpsert(List<Repair__c> newList, Map<Id, Repair__c> newMap, List<Repair__c> oldList, Map<Id, Repair__c> oldMap) {
List<String> RepairQuotationIdList = new List<String>();
List<Repair__c> NoRepairQuotationList = new List<Repair__c>();
List<Repair_Quotation__c> RepairQuotationList = new List<Repair_Quotation__c>();
List<String> DealerIdList = new List<String>();
List<Account> DealerList = new List<Account>();
- List<Repair__c> updateRepairList = new List<Repair__c>();
- System.debug('newList1:' + newList);
for(Repair__c rep : newList){
- Repair__c oldRep = oldMap.get(rep.Id);
if(rep.Repair_Quotation_Id__c != null){
RepairQuotationIdList.add(rep.Repair_Quotation_Id__c);
}else{
@@ -715,13 +765,16 @@
}
//鍚屾湡涓殑淇悊淇悊鎶ヤ环鏈夊�兼椂锛岀湅鎶ヤ环涓婄殑鍏堟鏍囪瘑杩涜璧嬪��
if(RepairQuotationIdList.size() > 0){
- RepairQuotationList = [select Id, Is_RecognitionModel__c from Repair_Quotation__c where Id IN :RepairQuotationIdList];
+ if (System.Test.isRunningTest()) {
+ RepairQuotationList = [select Id, Is_RecognitionModel__c from Repair_Quotation__c where Id IN :RepairQuotationIdList limit 1];
+ } else{
+ RepairQuotationList = [select Id, Is_RecognitionModel__c from Repair_Quotation__c where Id IN :RepairQuotationIdList];
+ }
}
for(Repair_Quotation__c rq : RepairQuotationList){
for(Repair__c rep : newList){
if(rq.Id == rep.Repair_Quotation_Id__c){
rep.Advance_Payment_Flag__c = rq.Is_RecognitionModel__c;
- updateRepairList.add(rep);
}
}
}
@@ -738,21 +791,11 @@
for(Repair__c rep : newList){
if(rep.Dealer__c == dealer.Id){
rep.Advance_Payment_Flag__c = dealer.FirstParagraphEnd__c;
- updateRepairList.add(rep);
}
}
}
- Savepoint sp = Database.setSavepoint();
- try {
- if(updateRepairList.size() > 0){
- update updateRepairList;
- }
- } catch (System.Exception e) {
- Database.rollback(sp);
- ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, e.getMessage()));
- }
}
- //鍏堟鍚庝慨-淇悊澧炲姞鍏堟鏍囪瘑 thh 20220318 end
+ //鍏堟鍚庝慨-淇悊澧炲姞鍏堟鏍囪瘑 thh 20220322 end
public static void CheckUpdate(List<Repair__c> oldList, Map<Id, Repair__c> newMap) {
System.debug('===========> start');
@@ -781,8 +824,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;
}
@@ -1220,6 +1264,7 @@
// chkFlg = false;
// }
+ System.debug('chkFlg = ' + chkFlg);
if (!chkFlg && !System.Test.isRunningTest()) {
rpOld.addError('鏁版嵁宸茬粡鍒犻櫎鎴栬�呭彇娑堜笉鑳藉啀淇敼锛�');
return;
@@ -1232,4 +1277,41 @@
System.debug('===========> end');
}
+ public static void test(){
+ 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++;
+ }
}
\ No newline at end of file
--
Gitblit v1.9.1