From b4b8a2df1f478030bb321b6ac558f13fbbffbb07 Mon Sep 17 00:00:00 2001
From: 张宇恒 <bxyun0@163.com>
Date: 星期五, 23 十二月 2022 11:22:36 +0800
Subject: [PATCH] 修理接口新增触发条件

---
 force-app/main/default/classes/RepairHandler.cls |   26 +++++++++++++++++++++++++-
 1 files changed, 25 insertions(+), 1 deletions(-)

diff --git a/force-app/main/default/classes/RepairHandler.cls b/force-app/main/default/classes/RepairHandler.cls
index 083d2ac..fbdcb1e 100644
--- a/force-app/main/default/classes/RepairHandler.cls
+++ b/force-app/main/default/classes/RepairHandler.cls
@@ -104,12 +104,20 @@
                     (nObj.Returns_Product_waySAP__c == oldrpr.Returns_Product_waySAP__c) && // 閫佷慨鏂瑰紡鍙戠敓鏀瑰彉涓斿瘎閫佹棩鏈夊�硷紝鍗虫椂鍙戦�丄WS
                     (nObj.FSE_ApplyForRepair_time__c == oldrpr.FSE_ApplyForRepair_time__c) &&                   // FSE鐢宠淇悊鏃ュ彂鐢熸敼鍙橈紝鍗虫椂鍙戦�丄WS
                     (nObj.Repair_Ordered_DateTime__c == oldrpr.Repair_Ordered_DateTime__c) &&                   // 4.淇悊鍝丷C鍙楃悊鏃ワ紙灏忕▼搴忥級鍙戠敓鏀瑰彉锛屽嵆鏃跺彂閫丄WS
-                    (nObj.Repair_Firstestimated_Date__c == oldrpr.Repair_Firstestimated_Date__c) &&             // 鍒濇鎶ヤ环鏃ワ紙涓嶇敤锛夊彂鐢熸敼鍙橈紝鍗虫椂鍙戦�丄WS
+                    // (nObj.Repair_Firstestimated_Date__c == oldrpr.Repair_Firstestimated_Date__c) &&             // 鍒濇鎶ヤ环鏃ワ紙涓嶇敤锛夊彂鐢熸敼鍙橈紝鍗虫椂鍙戦�丄WS     2022-05-20   zyh    娉ㄩ噴
+                    (nObj.Repair_Estimated_Date__c == oldrpr.Repair_Estimated_Date__c) &&             // 鎶ヤ环鏃ワ紙涓嶇敤锛�--鐢ㄤ簬鍒濇鎶ヤ环鏃ュ彂鐢熸敼鍙橈紝鍗虫椂鍙戦�丄WS   2022-05-20   zyh   add
                     (nObj.Repair_Shipped_DateTime__c == oldrpr.Repair_Shipped_DateTime__c) &&                   // 11.RC淇悊鍝佽繑閫佹棩锛堝皬绋嬪簭锛夊彂鐢熸敼鍙橈紝鍗虫椂鍙戦�丄WS
                     (nObj.Repair_Final_Inspection_DateTime__c == oldrpr.Repair_Final_Inspection_DateTime__c) && // 10.鏈�缁堟娴嬫棩锛堝皬绋嬪簭锛夊彂鐢熸敼鍙橈紝鍗虫椂鍙戦�丄WS
                     (nObj.Agreed_DateTime__c == oldrpr.Agreed_DateTime__c) &&                                   //7.鐢ㄦ埛鍚屾剰鏃ワ紙灏忕▼搴忥級鍙戠敓鏀瑰彉锛屽嵆鏃跺彂閫丄WS
                     (nObj.Agreed_Date__c == oldrpr.Agreed_Date__c) &&                                           // 7.鐢ㄦ埛鍚屾剰鏃ュ彂鐢熸敼鍙橈紝鍗虫椂鍙戦�丄WS
+                    (nObj.Repair_Quotation_Id__c == oldrpr.Repair_Quotation_Id__c) &&                           // 鍚屾湡涓殑淇悊鎶ヤ环鍙戠敓鏀瑰彉锛屽嵆鏃跺彂閫丄WS   2022-05-20  zyh   add
                     (nObj.engineerSendDate__c == oldrpr.engineerSendDate__c)
+                    &&(nObj.SAP_not_accept_repair_result__c == oldrpr.SAP_not_accept_repair_result__c)
+                    // 2022-12-22   zyh   add   start
+                    && (nObj.DescriptionName__c == oldrpr.DescriptionName__c)
+                    && (nObj.InspectionResultFlag__c == oldrpr.InspectionResultFlag__c) 
+                    && (nObj.RepairReasonTrigger__c == oldrpr.RepairReasonTrigger__c)
+                    // 2022-12-22   zyh   add   end
                     ) {
                     // 2022/04/20 zhangyuheng  update end
                     if (String.isNotBlank(nObj.RepairSubOrder__c) && nObj.RepairOrderStatusCode__c != oldrpr.RepairOrderStatusCode__c) {
@@ -170,6 +178,17 @@
         // {Asset.Id: [Repair.Id]}
         Map<Id, List<Id>> assetsMap = new Map<Id, List<Id>>();
         List<RepairSubOrder__c> updateRepairSubOrderList = new List<RepairSubOrder__c>();
+        //鍏堣幏鍙栧瓙鍗昻obj 鐨刬d 鏀惧湪list 鏌ヨ
+        List<Id> repairSub = new List<Id>();
+        Map<Id, String> repStatus = new Map<Id,String>();
+        for (Repair__c nObj :newList ) {
+            repairSub.add(nObj.RepairSubOrder__c);
+         }
+        for (RepairSubOrder__c rep : [ SELECT Id,Status__c FROM RepairSubOrder__c
+                                       WHERE Id IN:repairSub]) {
+            repStatus.put(rep.Id,rep.Status__c);
+        }
+
         for (Repair__c nObj : newList) {
             Repair__c oObj;
             if (Trigger.isUpdate) {
@@ -183,8 +202,13 @@
                 assetsMap.get(nObj.Delivered_Product__c).add(nObj.Id);
             }
 
+            //鍒ゆ柇鐘舵�� nobj.addError
             if (Trigger.isInsert) {
                 if (String.isNotBlank(nObj.RepairSubOrder__c)) {
+                    if(repStatus.get(nObj.RepairSubOrder__c)!='寰呭鐞�' ){
+                        nObj.addError('鐘舵�佷笉鏄緟澶勭悊锛屾棤娉曠敵璇蜂慨鐞�');
+                        return;
+                    }
                     RepairSubOrder__c repairSubOrder = new RepairSubOrder__c();
                     repairSubOrder.Id = nObj.RepairSubOrder__c;
                     repairSubOrder.Status__c = '宸茶浆淇悊';

--
Gitblit v1.9.1