From 6c756e2a0ec1d67b1c13d3b9c2a387e046456ffa Mon Sep 17 00:00:00 2001 From: 张宇恒 <bxyun0@163.com> Date: 星期五, 15 四月 2022 18:04:48 +0800 Subject: [PATCH] NFM612报修子单相关 --- force-app/main/default/classes/RepairOrderHandler.cls-meta.xml | 5 + force-app/main/default/triggers/RepairOrder.trigger-meta.xml | 5 + force-app/main/default/classes/NFM612Rest.cls | 40 +++++++-- force-app/main/default/classes/RepairOrderHandler.cls | 31 +++++++ force-app/main/default/classes/ChoiceAssetController.cls | 55 ++++++++++++- force-app/main/default/classes/NFM612RestTest.cls | 2 force-app/main/default/triggers/RepairOrder.trigger | 4 + force-app/main/default/classes/RepairOrderHandlerTest.cls-meta.xml | 5 + force-app/main/default/classes/ChoiceAssetControllerTest.cls | 3 force-app/main/default/classes/RepairOrderHandlerTest.cls | 62 +++++++++++++++ 10 files changed, 196 insertions(+), 16 deletions(-) diff --git a/force-app/main/default/classes/ChoiceAssetController.cls b/force-app/main/default/classes/ChoiceAssetController.cls index e5729b9..14da60f 100644 --- a/force-app/main/default/classes/ChoiceAssetController.cls +++ b/force-app/main/default/classes/ChoiceAssetController.cls @@ -76,8 +76,9 @@ Order_No__c,Account.Name,Status,Department_Class__c,Hospital__r.Owner.Name, Hospital__r.Owner.Phone,Installation_Site__c,CurrentContract__c, Product2.Asset_Model_No__c,Hospital__r.Name,Department_Class__r.Name , - Department_Class__r.Id,Ji_Zhong_Guan_Li_Ku_Cun__c + Department_Class__r.Id,Ji_Zhong_Guan_Li_Ku_Cun__c,Account.RecordTypeId ,Account.Parent.Parent.FSE_SP_Main_Leader__r.Work_Location__c + ,Account.Parent.FSE_SP_Main_Leader__r.Work_Location__c FROM Asset where Id != null AND Repairing_Count__c >= 0 AND SerialNumber like :serialNumber LIMIT 100 ]; @@ -126,6 +127,10 @@ if (info.check) { ast = info.ast; quantity += 1; + // if (info.ast.Ji_Zhong_Guan_Li_Ku_Cun__c <= 0){ + // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '璁惧闆嗕腑绠$悊搴撳瓨涓嶈冻')); + // return null; + // } } } if (quantity == 0) { @@ -154,6 +159,9 @@ String zhanlueKeshiId = '00N10000002Dx5t'; //鎴樼暐绉戝 String keshiId = '00N10000002Dx5n'; //绉戝 String guzhang = '00N10000002Dx5y'; //鏁呴殰鍙戠敓鏃� + //add wangweipeng 2022/01/26 start + String guzhangxcx = '00N1m000006vXqw'; //1.鏁呴殰鍙戠敓鏃ワ紙灏忕▼搴忥級 + //add wangweipeng 2022/01/26 end String Repair_Source_Id = '00N10000002FH86';//鏂板缓淇悊鏉ユ簮 String Incharge_Staff_Id = '00N10000002EMHw';//淇悊濮旀墭鑰�(FSE) @@ -232,10 +240,13 @@ url += joint_4 + RepairApplicantHospital_Id + joint_1 + repairSubOrder.Hospital__r.Name;//鎶ヤ慨浜哄尰闄� url += joint_4 + RepairApplicantDepartment_Id + joint_1 + repairSubOrder.Department__r.Name;//鎶ヤ慨浜虹瀹� - if (repairSubOrder.ProblemDescription__c != null) { - url += joint_4 + Repair_Detail_Id + joint_1 + repairSubOrder.ProblemDescription__c; + if (repairSubOrder.ResponseResultDesc__c != null) { //2022/04/07 zhangyuheng ProblemDescription__c>ResponseResultDesc__c + url += joint_4 + Repair_Detail_Id + joint_1 + repairSubOrder.ResponseResultDesc__c; } url += joint_4 + guzhang + joint_1 + NFMUtil.formatDateTime2StrSprit(repairSubOrder.FaultTime__c); + //add wangweipeng 2022/02/11 start + url += joint_4 + guzhangxcx + joint_1 + NFMUtil.formatDateTime2StrDateTime(repairSubOrder.FaultTime__c); + //add wangweipeng 2022/02/11 end url += joint_4 + faqiri + joint_1 + NFMUtil.formatDateTime2StrSprit(repairSubOrder.RepairsReportDate__c); url += joint_4 + PlannedVisitDay_Id + joint_1 + NFMUtil.formatDateTime2StrSprit(repairSubOrder.PlannedVisitDay__c);//璁″垝涓婇棬鏃� url += joint_4 + ActualVisitDateFirst_Id+ joint_1 + NFMUtil.formatDateTime2StrSprit(repairSubOrder.ActualVisitDateFirst__c);//涓�娆′笂闂ㄦ棩 @@ -247,8 +258,42 @@ url += joint_4 + shouliri + joint_1 + NFMUtil.formatDateTime2StrSprit(repairSubOrder.ReceiverTime__c); //add wangweipeng 2022/01/26 start - url += joint_4 + SalesOfficeCode_selection_Id+ joint_1 + ast.Account.Parent.Parent.FSE_SP_Main_Leader__r.Work_Location__c;//淇悊鍝佽繑閫佸湴 + // url += joint_4 + SalesOfficeCode_selection_Id+ joint_1 + ast.Account.Parent.Parent.FSE_SP_Main_Leader__r.Work_Location__c;//淇悊鍝佽繑閫佸湴 //2022/4/7 zhangyuheng 娉ㄩ噴 //add wangweipeng 2022/01/26 end + //add zhangyuheng 2022/04/07 start + if (String.isNotBlank(ast.Account.RecordTypeId)) { + if (ast.Account.RecordTypeId == '01210000000QemQAAS' || //鎴樼暐绉戝 ET + ast.Account.RecordTypeId == '01210000000QemL' || //鎴樼暐绉戝 娑堝寲绉� + ast.Account.RecordTypeId == '01210000000Qezy' || //鎴樼暐绉戝 鍏朵粬 + ast.Account.RecordTypeId == '01210000000Qf03' || //鎴樼暐绉戝 涓嶆槑 + ast.Account.RecordTypeId == '01210000000QezZ' || //鎴樼暐绉戝 鍛煎惛绉� + ast.Account.RecordTypeId == '01210000000Qezo' || //鎴樼暐绉戝 濡囩 + ast.Account.RecordTypeId == '01210000000Qeze' || //鎴樼暐绉戝 鏅绉� + ast.Account.RecordTypeId == '01210000000Qezj' || //鎴樼暐绉戝 娉屽翱绉� + ast.Account.RecordTypeId == '01210000000Qezt' //鎴樼暐绉戝 鑰抽蓟鍠夌 + ) { //鎴樼暐绉戝 + if (String.isNotBlank(ast.Account.Parent.FSE_SP_Main_Leader__r.Work_Location__c)) { + url += joint_4 + SalesOfficeCode_selection_Id+ joint_1 + ast.Account.Parent.FSE_SP_Main_Leader__r.Work_Location__c;//淇悊鍝佽繑閫佸湴 + }else { + // continue; + } + } + if (ast.Account.RecordTypeId == '01210000000QfmRAAS' || //绉戝 鍛煎惛绉� + ast.Account.RecordTypeId == '01210000000QfmH' || //绉戝 鏅绉� + ast.Account.RecordTypeId == '01210000000Qfmb' || //绉戝 鍏朵粬 + ast.Account.RecordTypeId == '01210000000QfmM' || //绉戝 濡囩 + ast.Account.RecordTypeId == '01210000000QfmC' || //绉戝 娉屽翱绉� + ast.Account.RecordTypeId == '01210000000Qfm7' || //绉戝 娑堝寲绉� + ast.Account.RecordTypeId == '01210000000Qfm2' //绉戝 鑰抽蓟鍠夌 + ) { //绉戝 + if (String.isNotBlank(ast.Account.Parent.Parent.FSE_SP_Main_Leader__r.Work_Location__c)) { + url += joint_4 + SalesOfficeCode_selection_Id+ joint_1 + ast.Account.Parent.Parent.FSE_SP_Main_Leader__r.Work_Location__c;//淇悊鍝佽繑閫佸湴 + }else { + // continue; + } + } + } + //add zhangyuheng 2022/04/07 end url += joint_3 + Incharge_Staff_Id + joint_1 + repairSubOrder.Owner.Name; url += joint_3 + Incharge_Staff_Id + joint_2 + repairSubOrder.OwnerId; @@ -310,7 +355,7 @@ String soql = 'select Id,name,SerialNumber,InstallDate,Information_From__c,Asset_situation__c,Order_No__c,Account.Name,Status,Department_Class__c, '; soql += 'Hospital__r.Owner.Name,Hospital__r.Owner.Phone,Installation_Site__c,CurrentContract__c,Product2.Asset_Model_No__c,Hospital__r.Name,Department_Class__r.Name ,Department_Class__r.Id,'; - soql += 'Ji_Zhong_Guan_Li_Ku_Cun__c,Account.Parent.Parent.FSE_SP_Main_Leader__r.Work_Location__c'; + soql += 'Ji_Zhong_Guan_Li_Ku_Cun__c,Account.Parent.Parent.FSE_SP_Main_Leader__r.Work_Location__c,Account.RecordTypeId'; soql += ' from Asset where Id != null AND Repairing_Count__c = 0 '; if (String.isNotBlank(FuselageNumber) || String.isNotBlank(AssetModel) || String.isNotBlank(HospitalName)) { soql += ' AND ('; diff --git a/force-app/main/default/classes/ChoiceAssetControllerTest.cls b/force-app/main/default/classes/ChoiceAssetControllerTest.cls index 77826d8..d7d9ec0 100644 --- a/force-app/main/default/classes/ChoiceAssetControllerTest.cls +++ b/force-app/main/default/classes/ChoiceAssetControllerTest.cls @@ -2,6 +2,7 @@ private class ChoiceAssetControllerTest { @testSetup static void setupTestData() { + Oly_TriggerHandler.bypass('ContactTriggerHandler'); ControllerUtil.EscapeNFM001Trigger = true; // 鐪� Address_Level__c al = new Address_Level__c(); @@ -113,7 +114,7 @@ ChoiceAssetController conTest = new ChoiceAssetController(); conTest.init(); conTest.searchAsset(); - conTest.choiceAssetInfoRecordsview[1].check= true; + conTest.choiceAssetInfoRecordsview[0].check= true; conTest.save(); } // 娴嬭瘯鍒涘缓QIS diff --git a/force-app/main/default/classes/NFM612Rest.cls b/force-app/main/default/classes/NFM612Rest.cls index 105bc7d..9918df4 100644 --- a/force-app/main/default/classes/NFM612Rest.cls +++ b/force-app/main/default/classes/NFM612Rest.cls @@ -54,6 +54,11 @@ public String applicantId; //鐢宠淇悊浜虹紪鍙� public String applyDate; //鐢宠鏃堕棿 public String repairOrderNo2FSEID; //鎶ヤ慨瀛愬崟鎵�灞濬SE鐨処D + // 2022/4/6 zhangyuheng update start + public String RepairFinishDate; //淇悊鍝佸鐞嗗畬鎴愭棩 + public String ApplicanterPhone; //澶勭悊浜虹數璇� + public String CancelDate; //鍙楃悊浜哄彇娑堟姤淇棩 + // 2022/4/6 zhangyuheng update end // 涓婄嚎鍓� 鎶ヤ慨瀛愬崟涓庝慨鐞嗕笂鐨勭浉鍏冲瓧娈甸兘鍒犻櫎 public String responseResultsFirst; //涓婇棬搴斿缁撴灉(鏆傛椂娉ㄦ帀) @@ -131,6 +136,7 @@ List < String > managementCodeList = new List < String > (); //瀛樻斁绉戝缂栫爜 List < String > rpersonList = new List < String > (); //瀛樻斁鎶ヤ慨浜虹敤鎴风紪鐮� List < String > canIdList = new List < String > (); //瀛樻斁鍙栨秷浜虹敤鎴风紪鍙� + List < String > repairNoList = new List < String > (); //瀛樻斁鎶ヤ慨瀛愬崟鍙� for (GeData ged: itemMasterList) { String dataComplete = verify(ged); if (!String.isBlank(dataComplete)) { @@ -226,12 +232,12 @@ repair.StartTimeFirst__c = NFMUtil.parseStr2DateTime(ged.repairOderInfo.startTimeFirst); //寮�濮嬫椂闂� repair.EndTimeFirst__c = NFMUtil.parseStr2DateTime(ged.repairOderInfo.endTimeThird); //缁撴潫鏃堕棿 repair.FaultDescriptionFirst__c = ged.repairOderInfo.faultDescriptionFirst; //鏁呴殰鎻忚堪 - repair.ActualVisitTimeSecond__c = NFMUtil.parseStr2DateTime(ged.repairOderInfo.actualVisitTimeSecond); //浜屾涓婇棬鏃� - repair.StartTimeSecond__c = NFMUtil.parseStr2DateTime(ged.repairOderInfo.startTimeSecond); //浜屾涓婇棬寮�濮嬫椂闂� + repair.ActualVisitTimeSecond__c = NFMUtil.parseStr2DateTime(ged.repairOderInfo.actualVisitTimeSecond); //浜屾涓婇棬鏃�--->浜屾璁″垝涓婇棬鏃� + repair.StartTimeSecond__c = NFMUtil.parseStr2DateTime(ged.repairOderInfo.startTimeSecond); //浜屾涓婇棬寮�濮嬫椂闂�--->浜屾涓婇棬鏃� repair.EndTimeSecond__c = NFMUtil.parseStr2DateTime(ged.repairOderInfo.endTimeSecond); //浜屾涓婇棬缁撴潫鏃堕棿 repair.FaultDescriptionSecond__c = ged.repairOderInfo.faultDescriptionSecond; //浜屾鏁呴殰鎻忚堪 - repair.ActualVisitTimeThird__c = NFMUtil.parseStr2DateTime(ged.repairOderInfo.actualVisitTimeThird); //涓夋涓婇棬鏃� - repair.StartTimeThird__c = NFMUtil.parseStr2DateTime(ged.repairOderInfo.startTimeThird); //涓夋涓婇棬寮�濮嬫椂闂� + repair.ActualVisitTimeThird__c = NFMUtil.parseStr2DateTime(ged.repairOderInfo.actualVisitTimeThird); //涓夋涓婇棬鏃�--->涓夋璁″垝涓婇棬鏃� + repair.StartTimeThird__c = NFMUtil.parseStr2DateTime(ged.repairOderInfo.startTimeThird); //涓夋涓婇棬寮�濮嬫椂闂�--->涓夋涓婇棬鏃� repair.EndTimeThird__c = NFMUtil.parseStr2DateTime(ged.repairOderInfo.endTimeThird); //涓夋涓婇棬缁撴潫鏃堕棿 repair.FaultDescriptionThird__c = ged.repairOderInfo.faultDescriptionThird; //涓夋鏁呴殰鎻忚堪 repair.ApplicantType__c = ged.repairOderInfo.applicantType; //鐢宠淇悊浜虹被鍨� @@ -245,12 +251,20 @@ repair.Ownerid = canidMap.get(ged.repairOderInfo.repairOrderNo2FSEID).Id; //鎶ヤ慨瀛愬崟鎵�灞濬SE鐨処D repair.AssetModel__c = ged.applyRepairInfo.equipmentModel; //璁惧鍨嬪彿 repair.AirframeCodeEngineer__c = ged.applyRepairInfo.equipmentCd; //鏈鸿韩缂栫爜(宸ョ▼甯�) - repair.ResponseResultDesc__c = ged.applyRepairInfo.responseResultDesc; //搴斿鎻忚堪 + repair.ResponseResultDesc__c = ged.applyRepairInfo.responseResultDesc; //搴斿鎻忚堪--->闂鎻忚堪锛堝伐绋嬪笀锛� repair.ProcessResult__c = ged.applyRepairInfo.processResult; //澶勭悊缁撴灉 - + + // 2022/4/6 zhangyuheng update start + repair.RepairFinishDate__c = NFMUtil.parseDateTimeStr2Date(ged.repairOderInfo.RepairFinishDate) ; //淇悊鍝佸鐞嗗畬鎴愭棩 + repair.ApplicanterPhone__c = ged.repairOderInfo.ApplicanterPhone; //澶勭悊浜虹數璇� + repair.CancelleRepairTime__c = NFMUtil.parseDateTimeStr2Date(ged.repairOderInfo.CancelDate); //鍙楃悊浜哄彇娑堟姤淇棩 + // repair.CancelleRepairTime__c = NFMUtil.parseStr2Date(ged.repairOderInfo.CancelDate); //鍙楃悊浜哄彇娑堟姤淇棩 + repair.RepairCancelReason__c = ged.repairOderInfo.cancelReportReason; //淇悊鍙栨秷鍘熷洜 + // 2022/4/6 zhangyuheng update end if ('闂宸茶В鍐�'.equals(ged.applyRepairInfo.processResult)) { - repair.Status__c = '鍏抽棴'; + // repair.Status__c = '鍏抽棴'; + repair.Status__c = '宸插畬鎴�'; // 2022/4/6 zhangyuheng } else { repair.Status__c = '寰呭鐞�'; @@ -270,10 +284,16 @@ repair.AttachmentName__c = attachmentName; repairOrderNo2Str += repairOrderNo2 + '\n'; repairList.add(repair); + repairNoList.add(ged.repairOderInfo.repairOrderNo2); } - - if (repairList.size() > 0) { - + // 2022/4/6 zhangyuheng update start + List<RepairSubOrder__c> repairList1 = [SELECT Id FROM RepairSubOrder__c WHERE RepairSubOrderNo__c in: repairNoList]; + if (repairList1.size() > 0) { + logstr += repairOrderNo2Str + ']-宸插瓨鍦�'; + } + // if (repairList.size() > 0) {==== 2022/4/6 zhangyuheng娉ㄩ噴鎺� + else { + // 2022/4/6 zhangyuheng update end insert repairList; repairOrderNo2Str += ' ]\n'; logstr += repairOrderNo2Str + '鏂板瀹屾垚, 鏂板鎬绘暟鏁颁负锛�' + repairList.size() + '\n'; diff --git a/force-app/main/default/classes/NFM612RestTest.cls b/force-app/main/default/classes/NFM612RestTest.cls index 78583d1..bf10886 100644 --- a/force-app/main/default/classes/NFM612RestTest.cls +++ b/force-app/main/default/classes/NFM612RestTest.cls @@ -5,6 +5,8 @@ } @testSetup static void makeTestRepair() { + + Oly_TriggerHandler.bypass('ContactTriggerHandler'); List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '鐥呴櫌']; if (rectCo.size() == 0) { throw new ControllerUtil.myException('not found 鐥呴櫌 recodetype'); diff --git a/force-app/main/default/classes/RepairOrderHandler.cls b/force-app/main/default/classes/RepairOrderHandler.cls new file mode 100644 index 0000000..3b600a0 --- /dev/null +++ b/force-app/main/default/classes/RepairOrderHandler.cls @@ -0,0 +1,31 @@ +public without sharing class RepairOrderHandler extends Oly_TriggerHandler { + private Map<Id, Repair__c> newMap; + private Map<Id, Repair__c> oldMap; + private List<Repair__c> newList; + private List<Repair__c> oldList; + public RepairOrderHandler() { + this.newMap = (Map<Id, Repair__c>) Trigger.newMap; + this.oldMap = (Map<Id, Repair__c>) Trigger.oldMap; + this.newList = (List<Repair__c>) Trigger.new; + this.oldList = (List<Repair__c>) Trigger.old; + } + protected override void afterInsert() { + RepairInsert(); + } + public void RepairInsert(){ + List<RepairSubOrder__c> repairSubOrderList = new List<RepairSubOrder__c>(); + for (Repair__c repair : newList) { + if (Trigger.isInsert) { + if (String.isNotBlank(repair.RepairSubOrder__c)) { + RepairSubOrder__c rso = new RepairSubOrder__c(); + rso.Id = repair.RepairSubOrder__c; + rso.SFDCRepairApplyDate__c = Date.today(); + repairSubOrderList.add(rso); + } + } + } + if (repairSubOrderList.size() > 0) { + update repairSubOrderList; + } + } +} \ No newline at end of file diff --git a/force-app/main/default/classes/RepairOrderHandler.cls-meta.xml b/force-app/main/default/classes/RepairOrderHandler.cls-meta.xml new file mode 100644 index 0000000..f3bac1f --- /dev/null +++ b/force-app/main/default/classes/RepairOrderHandler.cls-meta.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> + <apiVersion>41.0</apiVersion> + <status>Active</status> +</ApexClass> diff --git a/force-app/main/default/classes/RepairOrderHandlerTest.cls b/force-app/main/default/classes/RepairOrderHandlerTest.cls new file mode 100644 index 0000000..ab51d29 --- /dev/null +++ b/force-app/main/default/classes/RepairOrderHandlerTest.cls @@ -0,0 +1,62 @@ +@isTest +private class RepairOrderHandlerTest { + final static string ra1 = [select id , SobjectType, developername from recordtype where SobjectType='Rental_Apply__c' and developername='StandardRequest'][0].id; + final static string acc1 = [select id , SobjectType, developername from recordtype where SobjectType='Account' and developername='HP'][0].id; + + static testMethod void testMethod1() { + RepairSubOrder__c subOrder = new RepairSubOrder__c(); + subOrder.AttachmentDownload__c = true; + subOrder.AttachmentLink__c = 'https://albsylfw.s3.cn-northwest-1.amazonaws.com.cn/20211220/14/11/30/lessthan12/5e8cb69e-f935-48f5-825e-b8344d60f6d4.zip'; + subOrder.AttachmentName__c = '娴嬭瘯闄勪欢涓嬭浇'; + insert subOrder; + Account hp = new Account(RecordTypeId = acc1, Name = 'AccountTestHp1'); + insert hp; + + Product2 prd1 = new Product2(); + prd1.ProductCode_Ext__c = 'Prd1'; + prd1.ProductCode = 'Prd1'; + prd1.Repair_Product_Code__c = 'Prd1_RP'; + prd1.Name = 'Prd1'; + prd1.Manual_Entry__c = false; + prd1.Category2__c = '鏈綋'; + prd1.Category3__c = '绾ょ淮闀�'; + prd1.Category4__c = 'CV'; + prd1.Category5__c = '260SL绯诲垪'; + prd1.Asset_Model_No__c = '1001'; + insert prd1; + + Asset ast1 = new Asset(); + ast1.Name = '淇濇湁瑷倷1'; + ast1.Hospital__c = hp.Id; + ast1.AccountId = hp.Id; + ast1.Product2Id = prd1.Id; + ast1.SerialNumber = 'SerialNumber1'; + ast1.Guarantee_period_for_products__c = Date.today(); + ast1.InstallDate = Date.today(); + insert ast1; + + final string acc2 = [select id , SobjectType, developername from recordtype where SobjectType='Account' and developername='Department_Class_BF'][0].id; //鎴︾暐绉戝鍒嗛 鍛煎惛绉� + Account Department_Class_BF = new Account(RecordTypeId = acc2, Name = 'Department_Class_BF',ParentId=hp.id,Department_Class_Label__c='鍛煎惛绉�'); + insert Department_Class_BF; + final string acc3 = [select id , SobjectType, developername from recordtype where SobjectType='Account' and developername='Department_BF'][0].id; //鎴︾暐绉戝鍒嗛 鍛煎惛绉� + Account Department_BF = new Account(RecordTypeId = acc3, Name = 'Department_BF',ParentId=Department_Class_BF.id,Hospital__c=hp.id,Department_Class__c=Department_Class_BF.id); + insert Department_BF; + + Repair__c repair1 = new Repair__c(); + repair1.Service_Repair_No__c = 'repair1'; + repair1.Hospital__c = hp.Id; + repair1.Account__c = Department_BF.Id; + repair1.Department_Class__c = Department_Class_BF.id; + repair1.Delivered_Product__c = ast1.Id; + repair1.Repair_List_Price__c = 100; + repair1.Billing_Amount__c = 10; + repair1.Paid_Amount__c = 1; + repair1.Failure_Occurrence_Date__c = Date.today().addDays(-1); + repair1.Repair_Returned_To_HP_Date__c = Date.today().addDays(3); + repair1.Repair_Shipped_Date__c = Date.today().addDays(1); + repair1.RepairSubOrder__c = subOrder.Id; + repair1.DeliveryLogisticsMode__c = '鍏朵粬'; + + insert repair1; + } +} \ No newline at end of file diff --git a/force-app/main/default/classes/RepairOrderHandlerTest.cls-meta.xml b/force-app/main/default/classes/RepairOrderHandlerTest.cls-meta.xml new file mode 100644 index 0000000..f3bac1f --- /dev/null +++ b/force-app/main/default/classes/RepairOrderHandlerTest.cls-meta.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> + <apiVersion>41.0</apiVersion> + <status>Active</status> +</ApexClass> diff --git a/force-app/main/default/triggers/RepairOrder.trigger b/force-app/main/default/triggers/RepairOrder.trigger new file mode 100644 index 0000000..9967147 --- /dev/null +++ b/force-app/main/default/triggers/RepairOrder.trigger @@ -0,0 +1,4 @@ +trigger RepairOrder on Repair__c(after insert) { + RepairOrderHandler roh = new RepairOrderHandler(); + roh.run(); +} \ No newline at end of file diff --git a/force-app/main/default/triggers/RepairOrder.trigger-meta.xml b/force-app/main/default/triggers/RepairOrder.trigger-meta.xml new file mode 100644 index 0000000..5a7409a --- /dev/null +++ b/force-app/main/default/triggers/RepairOrder.trigger-meta.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ApexTrigger xmlns="http://soap.sforce.com/2006/04/metadata"> + <apiVersion>41.0</apiVersion> + <status>Active</status> +</ApexTrigger> \ No newline at end of file -- Gitblit v1.9.1