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 ++++++++++++ force-app/main/default/triggers/Repair.trigger | 54 ++++++++++++++++++++++++++- 2 files changed, 77 insertions(+), 3 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 = '宸茶浆淇悊'; diff --git a/force-app/main/default/triggers/Repair.trigger b/force-app/main/default/triggers/Repair.trigger index af40fcd..f96912e 100644 --- a/force-app/main/default/triggers/Repair.trigger +++ b/force-app/main/default/triggers/Repair.trigger @@ -26,6 +26,9 @@ RepairTrigger.UpdateAssert(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap); // } } + if( Trigger.isBefore && Trigger.isUpdate){ + + } // ---------------------------------------------------------------------- // 銇撱亾銈堛倞銆佷慨鐞嗐伄銈点兗銉撱偣銈炽兂銉堛儵銈儓闋呯洰銈掕嚜鍕曠殑銇洿鏂般仚銈嬨儹銈搞儍銈� // ---------------------------------------------------------------------- @@ -152,8 +155,12 @@ //濡傛灉鏈�澶уぇ淇鏁板ぇ浜�0锛屽苟涓斿凡缁忓ぇ淇鏁� 澶т簬鎴栫瓑浜� 鏈�澶уぇ淇鏁帮紝閭d箞涓嶄粎涓嶈祴鍊肩淮淇悎鍚屼俊鎭紝鑰屼笖娓呯┖褰撳墠淇℃伅 if (middleTable.Series_MaxRepairCount_F__c > 0 && middleTable.Series_RepairCount_F__c >= middleTable.Series_MaxRepairCount_F__c) { //涓嶈祴鍊肩淮淇悎鍚屼俊鎭紝鑰屼笖娓呯┖褰撳墠淇℃伅 - repair.Maintenance_Contract__c = null; - repair.MaintenanceContractType__c = null; + //URF闄愭鍚堝悓2鏈� LY 20220926 start + // repair.Maintenance_Contract__c = null; + // repair.MaintenanceContractType__c = null; + repair.Maintenance_Contract__c = middleTable.Maintenance_Contract__c; + repair.MaintenanceContractType__c = middleTable.Maintenance_Contract__r.RecordType.Name; + //URF闄愭鍚堝悓2鏈� LY 20220926 end } } //闄愭鍚堝悓浜у搧淇℃伅缁存姢鐩稿叧 FXK 2021/03/05 END @@ -329,6 +336,12 @@ // 銇撱倢銈堛倞銆佸鍝佸�熷嚭鐢宠銇�屼慨鐞嗘渶缁堟娴嬫棩銆嶃倰鏇存柊銇欍倠銉偢銉冦偗锛堟洿鏂板悗瑙﹀彂WorkFlow锛� // ---------------------------------------------------------------------- if (Trigger.isAfter && Trigger.isUpdate) { + + System.debug( '-----: sendEmailByInspectionFailureCause start'); + //銆愬鎵樸�戙�怮A閮ㄩ棬銆慖ISE澶氭鍚屾璇鹃 WLIG-CJJDAV start + RepairTrigger.sendEmailByInspectionFailureCause(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap); + //銆愬鎵樸�戙�怮A閮ㄩ棬銆慖ISE澶氭鍚屾璇鹃 WLIG-CJJDAV end + Map<String, Date> repairDateMap = new Map<String, Date>(); List<String> targetRepairList = new List<String>(); for (Repair__c repair : Trigger.New) { @@ -355,7 +368,44 @@ // ---------------------------------------------------------------------- // 銇撱亾銇俱仹銆佸鍝佸�熷嚭鐢宠銇�屼慨鐞嗘渶缁堟娴嬫棩銆嶃倰鏇存柊銇欍倠銉偢銉冦偗 // ---------------------------------------------------------------------- + + // 2022-12-22 zyh add Start + if (Trigger.isAfter && Trigger.isUpdate) { + List < String > rprIds = new List < String > (); + Map < Id, Id > rprIdMap = new Map < Id, Id > (); + for (Repair__c rpr: Trigger.new) { + Repair__c oldrpr = Trigger.oldMap.get(rpr.Id); + // 淇悊鏈夋姤淇瓙鍗曞彿锛屽苟涓� 寰呭彂閫丄WS涓篺alse 鍙戦�佺粰AWS + if (String.isNotBlank(rpr.RepairSubOrder__c) && !rpr.AwaitToSendAWS__c) { + if ((rpr.DescriptionName__c != oldrpr.DescriptionName__c) + || (rpr.InspectionResultFlag__c != oldrpr.InspectionResultFlag__c) + || (rpr.RepairReasonTrigger__c != oldrpr.RepairReasonTrigger__c)) { + if (NFM603Controller.NFM603_Ids.contains(rpr.Id) == false) { + NFM603Controller.NFM603_Ids.add(rpr.Id); + rprIdMap.put(rpr.Id, rpr.Id); + System.debug('111111111111111111112222222222'); + } + } + } + } + rprIds = rprIdMap.values(); + + if (rprIds.size() > 0) { + BatchIF_Log__c iflog = new BatchIF_Log__c(); + iflog.Type__c = 'NFM603'; + iflog.Log__c = 'callout start\n'; + insert iflog; + // 2022-04-29 zyh update start + if(UserInfo.getUserId().equals(System.Label.interfaceUserID)){ + NFM603Controller.executefuture(iflog, rprIds); + }else{ + NFM603Controller.callout(iflog.Id, rprIds); + } + // 2022-04-29 zyh update end + } + } + // 2022-12-22 zyh add END System.debug( '-----: trigger end'); } public void test(){ -- Gitblit v1.9.1