From 962519811b7c4be07f30d09e791798b0ea79d3ae Mon Sep 17 00:00:00 2001
From: 黄千龙 <huangqianlong@prec-tech.com>
Date: 星期三, 08 三月 2023 09:54:02 +0800
Subject: [PATCH] 同步代码

---
 force-app/main/default/classes/RepairTriggerTester.cls |  190 +++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 190 insertions(+), 0 deletions(-)

diff --git a/force-app/main/default/classes/RepairTriggerTester.cls b/force-app/main/default/classes/RepairTriggerTester.cls
index aa63845..79123f7 100644
--- a/force-app/main/default/classes/RepairTriggerTester.cls
+++ b/force-app/main/default/classes/RepairTriggerTester.cls
@@ -1585,4 +1585,194 @@
         update repair02;
 
     }
+    static testMethod void test07(){
+        //瀹㈡埛
+        Account hospital = createHospital( 'test hospital');
+        Account[] strategicDep = selectStrategicDep( hospital);
+        Account dep = createDep( hospital, strategicDep[0]);
+        // 淇濇湁璁惧
+        Asset asset = createAsset( hospital, strategicDep[0], dep);
+        // 鍒涘缓缁翠慨鍚堝悓
+        Maintenance_Contract__c contract = new Maintenance_Contract__c();
+        // ID RecordTypeId1 = Schema.SObjectType.Maintenance_Contract__c.getRecordTypeInfosByName().get('鏈嶅姟鍚堝悓').getRecordTypeId();
+        // ID RecordTypeId2 = Schema.SObjectType.Maintenance_Contract_Estimate__c.getRecordTypeInfosByName().get('鏈嶅姟鍚堝悓鎶ヤ环').getRecordTypeId();
+        contract.Name = 'tect contract';
+        contract.status__c = '濂戠磩';
+        contract.URF_Contract__c=true;
+        contract.Maintenance_Contract_No__c = 'Kami_Contract_No';
+        contract.Contract_Conclusion_Date__c = Date.today();
+        contract.Hospital__c = hospital.Id;
+        contract.Department_Class__c = strategicDep[0].Id;
+        contract.Department__c = dep.Id;
+        contract.Contract_Start_Date__c = Date.today().addDays( -10);   // 10鏃ュ墠
+        contract.Contract_End_Date__c = Date.today().addDays( 5);       // 5鏃ュ緦
+        contract.SalesOfficeCode_selection__c = '鍖椾含RC';
+        contract.RecordTypeId='01210000000gTYq';
+        // contract.RecordTypeId=RecordTypeId1;
+        contract.URF_Contract__c = true;
+        contract.agree_Upper_limit__c = true;
+        insert contract;
+        //鍒涘缓缁翠慨鍚堝悓鎶ヤ环
+        Maintenance_Contract_Estimate__c Estimate = new Maintenance_Contract_Estimate__c();
+        Estimate.Maintenance_Contract__c = contract.Id;
+        Estimate.recordtypeId = '01210000000gTZA';
+        // Estimate.recordtypeId = RecordTypeId2;
+        Estimate.Name = '鎶ヤ环1';
+        insert Estimate;
+        //鍒涘缓缁翠慨鍚堝悓鎶ヤ环/淇濇湁璁惧
+        Maintenance_Contract_Asset_Estimate__c  Asset_Estimate = new Maintenance_Contract_Asset_Estimate__c();
+        Asset_Estimate.Maintenance_Contract_Estimate__c = Estimate.Id;
+        Asset_Estimate.CurrencyIsoCode = 'CNY';
+        Asset_Estimate.Series_MaxRepairCount__c = 10;
+        Asset_Estimate.Series_RepairCount__c = 5;
+        insert Asset_Estimate;
+        //鍒涘缓缁翠慨鍚堝悓/淇濇湁璁惧
+        Maintenance_Contract_Asset__c middleTable = new Maintenance_Contract_Asset__c();
+        middleTable.Asset__c = asset.Id;
+        middleTable.Maintenance_Contract__c = contract.Id;
+        middleTable.CurrencyIsoCode= 'CNY';
+        middleTable.startDateGurantee_Text__c =Date.today().addDays( 5);
+        middleTable.endDateGurantee_Text__c =Date.today().addDays( 30);
+        middleTable.Maintenance_Contract_Asset_Estimate__c = Asset_Estimate.Id;
+        insert middleTable;
+        // 淇悊銈掍綔鎴愩仚銈�01
+        Repair__c repair01 = new Repair__c();
+        repair01.Account__c = dep.Id;
+        repair01.Department_Class__c = strategicDep[0].Id;
+        repair01.Hospital__c = hospital.Id;
+        repair01.SERVICE_CONTRACT_JUDEGE_DAY__C = Date.today(); // 缁翠慨鍚堝悓鍒ゆ柇鏃ュ湪鍚堝悓寮�濮嬫棩涓庡悎鍚岀粨鏉熸棩涔嬮棿
+        repair01.Failure_Occurrence_Date__c  =Date.today();
+        repair01.Delivered_Product__c = asset.Id;
+        repair01.Status__c = '鑽夋涓�';
+        repair01.Return_Without_Repair_IF__c =true;
+        repair01.SalesOfficeCode_selection__c = '瑗垮畨RC';
+        repair01.Return_Without_Repair_Reason__c = '1.淇悊浠锋牸澶珮';
+        insert repair01;
+
+        Repair__c checkRepair = null;
+        checkRepair = [SELECT Id, Name , Maintenance_Contract__c,MaintenanceContractType__c FROM Repair__c WHERE ID = :repair01.id];
+        System.assertEquals( contract.Id, checkRepair.Maintenance_Contract__c);
+
+        // 淇悊銈掍綔鎴愩仚銈�01
+        Repair__c repair02 = new Repair__c();
+        repair02.Account__c = dep.Id;
+        repair02.Department_Class__c = strategicDep[0].Id;
+        repair02.Hospital__c = hospital.Id;
+        repair02.SERVICE_CONTRACT_JUDEGE_DAY__C = Date.today(); // 缁翠慨鍚堝悓鍒ゆ柇鏃ュ湪鍚堝悓寮�濮嬫棩涓庡悎鍚岀粨鏉熸棩涔嬮棿
+        repair02.Failure_Occurrence_Date__c  =Date.today();
+        repair02.Delivered_Product__c = asset.Id;
+        repair02.Return_Without_Repair_Reason__c = '4.鍧氭寔缁х画浣跨敤';
+        repair02.Return_Without_Repair_IF__c =true;
+        insert repair02;
+        delete repair02;
+
+        checkRepair.On_site_repair__c = '鍔炰簨澶勪慨鐞�';
+        contract.SalesOfficeCode_selection__c = '骞垮窞RC';
+        update contract;
+        checkRepair.SalesOfficeCode_selection__c = '鎴愰兘';
+        update checkRepair;
+        contract.SalesOfficeCode_selection__c = '鍖椾含RC';
+        update contract;
+        checkRepair.SalesOfficeCode_selection__c = '澶師';
+        update checkRepair;
+        checkRepair.SalesOfficeCode_selection__c = '鏉窞';
+        update checkRepair;
+     }
+     
+     static testMethod void test08(){
+        //瀹㈡埛
+        Account hospital = createHospital( 'test hospital');
+        Account[] strategicDep = selectStrategicDep( hospital);
+        Account dep = createDep( hospital, strategicDep[0]);
+        // 淇濇湁璁惧
+        Asset asset = createAsset( hospital, strategicDep[0], dep);
+        // 鍒涘缓缁翠慨鍚堝悓
+        Maintenance_Contract__c contract = new Maintenance_Contract__c();
+        // ID RecordTypeId1 = Schema.SObjectType.Maintenance_Contract__c.getRecordTypeInfosByName().get('鏈嶅姟鍚堝悓').getRecordTypeId();
+        // ID RecordTypeId2 = Schema.SObjectType.Maintenance_Contract_Estimate__c.getRecordTypeInfosByName().get('鏈嶅姟鍚堝悓鎶ヤ环').getRecordTypeId();
+        contract.Name = 'tect contract';
+        contract.status__c = '濂戠磩';
+        contract.URF_Contract__c=true;
+        contract.Maintenance_Contract_No__c = 'Kami_Contract_No';
+        contract.Contract_Conclusion_Date__c = Date.today();
+        contract.Hospital__c = hospital.Id;
+        contract.Department_Class__c = strategicDep[0].Id;
+        contract.Department__c = dep.Id;
+        contract.Contract_Start_Date__c = Date.today().addDays( -10);   // 10鏃ュ墠
+        contract.Contract_End_Date__c = Date.today().addDays( 5);       // 5鏃ュ緦
+        contract.SalesOfficeCode_selection__c = '鍖椾含RC';
+        contract.RecordTypeId='01210000000gTYq';
+        // contract.RecordTypeId=RecordTypeId1;
+        contract.URF_Contract__c = true;
+        contract.agree_Upper_limit__c = true;
+        insert contract;
+        //鍒涘缓缁翠慨鍚堝悓鎶ヤ环
+        Maintenance_Contract_Estimate__c Estimate = new Maintenance_Contract_Estimate__c();
+        Estimate.Maintenance_Contract__c = contract.Id;
+        Estimate.recordtypeId = '01210000000gTZA';
+        // Estimate.recordtypeId = RecordTypeId2;
+        Estimate.Name = '鎶ヤ环1';
+        insert Estimate;
+        //鍒涘缓缁翠慨鍚堝悓鎶ヤ环/淇濇湁璁惧
+        Maintenance_Contract_Asset_Estimate__c  Asset_Estimate = new Maintenance_Contract_Asset_Estimate__c();
+        Asset_Estimate.Maintenance_Contract_Estimate__c = Estimate.Id;
+        Asset_Estimate.CurrencyIsoCode = 'CNY';
+        Asset_Estimate.Series_MaxRepairCount__c = 10;
+        Asset_Estimate.Series_RepairCount__c = 5;
+        insert Asset_Estimate;
+        //鍒涘缓缁翠慨鍚堝悓/淇濇湁璁惧
+        Maintenance_Contract_Asset__c middleTable = new Maintenance_Contract_Asset__c();
+        middleTable.Asset__c = asset.Id;
+        middleTable.Maintenance_Contract__c = contract.Id;
+        middleTable.CurrencyIsoCode= 'CNY';
+        middleTable.startDateGurantee_Text__c =Date.today().addDays( 5);
+        middleTable.endDateGurantee_Text__c =Date.today().addDays( 30);
+        middleTable.Maintenance_Contract_Asset_Estimate__c = Asset_Estimate.Id;
+        insert middleTable;
+        // 淇悊銈掍綔鎴愩仚銈�01
+        Repair__c repair01 = new Repair__c();
+        repair01.Account__c = dep.Id;
+        repair01.Department_Class__c = strategicDep[0].Id;
+        repair01.Hospital__c = hospital.Id;
+        repair01.SERVICE_CONTRACT_JUDEGE_DAY__C = Date.today(); // 缁翠慨鍚堝悓鍒ゆ柇鏃ュ湪鍚堝悓寮�濮嬫棩涓庡悎鍚岀粨鏉熸棩涔嬮棿
+        repair01.Failure_Occurrence_Date__c  =Date.today();
+        repair01.Delivered_Product__c = asset.Id;
+        repair01.Status__c = '鑽夋涓�';
+        repair01.SalesOfficeCode_selection__c = '瑗垮畨RC';
+        repair01.Return_Without_Repair_Reason__c = 'I/F鐞嗙敱銆佺⒑瑾�';
+        repair01.CancellationReason__c = '淇悊浠锋牸楂�';
+        repair01.Return_Without_Repair_IF__c =true;
+        insert repair01;
+
+        Repair__c checkRepair = null;
+        checkRepair = [SELECT Id, Name , Maintenance_Contract__c,MaintenanceContractType__c FROM Repair__c WHERE ID = :repair01.id];
+        System.assertEquals( contract.Id, checkRepair.Maintenance_Contract__c);
+
+        // 淇悊銈掍綔鎴愩仚銈�01
+        Repair__c repair02 = new Repair__c();
+        repair02.Account__c = dep.Id;
+        repair02.Department_Class__c = strategicDep[0].Id;
+        repair02.Hospital__c = hospital.Id;
+        repair02.SERVICE_CONTRACT_JUDEGE_DAY__C = Date.today(); // 缁翠慨鍚堝悓鍒ゆ柇鏃ュ湪鍚堝悓寮�濮嬫棩涓庡悎鍚岀粨鏉熸棩涔嬮棿
+        repair02.Failure_Occurrence_Date__c  =Date.today();
+        repair02.Delivered_Product__c = asset.Id;
+        repair02.Return_Without_Repair_Reason__c = 'I/F鐞嗙敱銆佺⒑瑾�';
+        repair02.CancellationReason__c = '鏃犳硶淇悊杩斿搧';
+        repair02.Return_Without_Repair_IF__c =true;
+        insert repair02;
+        delete repair02;
+
+        checkRepair.On_site_repair__c = '鍔炰簨澶勪慨鐞�';
+        contract.SalesOfficeCode_selection__c = '骞垮窞RC';
+        update contract;
+        checkRepair.SalesOfficeCode_selection__c = '鎴愰兘';
+        update checkRepair;
+        contract.SalesOfficeCode_selection__c = '鍖椾含RC';
+        update contract;
+        checkRepair.SalesOfficeCode_selection__c = '澶師';
+        update checkRepair;
+        checkRepair.SalesOfficeCode_selection__c = '鏉窞';
+        update checkRepair;
+     }
+
 }
\ No newline at end of file

--
Gitblit v1.9.1