From cd730d0b1a775abacfba06003bb58327d5d1fb3c Mon Sep 17 00:00:00 2001
From: 黄千龙 <huangqianlong@prec-tech.com>
Date: 星期四, 02 二月 2023 12:23:31 +0800
Subject: [PATCH] 同步数据

---
 force-app/main/default/classes/RepairTrigger.cls |  142 +++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 136 insertions(+), 6 deletions(-)

diff --git a/force-app/main/default/classes/RepairTrigger.cls b/force-app/main/default/classes/RepairTrigger.cls
index 302018d..b343b50 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) {
         // 鏃ュ巻鏌ヨ寮�濮�
@@ -89,7 +121,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>();
@@ -159,7 +196,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 +264,6 @@
         }
         // 20210622 SQL浼樺寲 End
 
-        System.debug('===========> end');
     }
 
     //wwp   2021/10/15    缁翠慨涓績璧嬪�兼柊鍔犺タ瀹� 鏉窞 鎴愰兘              start
@@ -696,7 +732,53 @@
         return repair;
     }
     //add        wangweipeng                 2021/12/09                     end
-
+    //鍏堟鍚庝慨-淇悊澧炲姞鍏堟鏍囪瘑 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>();
+        for(Repair__c rep : newList){
+            if(rep.Repair_Quotation_Id__c != null){
+                RepairQuotationIdList.add(rep.Repair_Quotation_Id__c);
+            }else{
+                NoRepairQuotationList.add(rep);
+            }
+        }
+        //鍚屾湡涓殑淇悊淇悊鎶ヤ环鏈夊�兼椂锛岀湅鎶ヤ环涓婄殑鍏堟鏍囪瘑杩涜璧嬪��
+        if(RepairQuotationIdList.size() > 0){
+            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;
+                }
+            }
+        }
+        //鍚屾湡涓殑淇悊鎶ヤ环娌″�兼椂锛岀湅淇悊鍗曚笂鐨勭粡閿�鍟嗘槸涓嶆槸鍏堟瀵硅薄杩涜璧嬪��
+        if(NoRepairQuotationList.size() > 0){
+            for(Repair__c rep : NoRepairQuotationList){
+                DealerIdList.add(rep.Dealer__c);
+            }
+        }
+        if(DealerIdList.size() > 0 ){
+            DealerList = [select Id, FirstParagraphEnd__c from Account where Id IN : DealerIdList];
+        }
+        for(Account dealer : DealerList){
+            for(Repair__c rep : newList){
+                if(rep.Dealer__c == dealer.Id){
+                    rep.Advance_Payment_Flag__c = dealer.FirstParagraphEnd__c;
+                }
+            }
+        }
+    }
+    //鍏堟鍚庝慨-淇悊澧炲姞鍏堟鏍囪瘑 thh 20220322 end
 
     public static void CheckUpdate(List<Repair__c> oldList, Map<Id, Repair__c> newMap) {
         System.debug('===========> start');
@@ -725,8 +807,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;
             }
@@ -1164,16 +1247,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