@isTest private class updateContectBatchTest { static testMethod void testupdateContectBatch() { //维修合同 Maintenance_Contract__c macnt = new Maintenance_Contract__c(); //用户信息中的简档 Profile p = [select Id from Profile where id =:System.Label.ProfileId_SystemAdmin]; //主担当者联系的用户信息 User MacOwner = new User(Test_staff__c = true, LastName = 'hp1', FirstName = 'owner1', Alias = 'hp', CommunityNickname = 'hpOwner1', Email = 'olympus_hpowner@sunbridge.com',Job_Category__c = '销售服务', Username = 'olympus_hpowner@sunbridge.com1', IsActive = true, EmailEncodingKey = 'ISO-2022-JP', TimeZoneSidKey = 'Asia/Tokyo', LocaleSidKey = 'ja_JP', LanguageLocaleKey = 'ja', ProfileId = p.id); insert MacOwner; //科室的三层结构 //病院 // List rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '病院'] ; // if (rectCo.size() == 0) { // return; // } //战略科室分类 // RecordType rectSct = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '戦略科室分類 普外科']; // //科室分类 // RecordType rectDpt = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '診療科 普外科']; Account company = new Account(); //company.RecordTypeId = rectCo[0].Id; //病院的ID company.RecordTypeId = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName().get('HP').getRecordTypeId(); company.Name = 'NFM206TestCompany'; insert company; Account section = new Account(); //section.RecordTypeId = rectSct.id; //战略科室分类 普外科的ID section.RecordTypeId = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName().get('Department_Class_GS').getRecordTypeId(); section.Name = '*'; section.Department_Class_Label__c = '普外科'; section.ParentId = company.Id; section.Hospital_Department_Class__c = company.Id; insert section; Account depart = new Account(); //depart.RecordTypeId = rectDpt.Id; //科室分类 普外科的ID depart.RecordTypeId = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName().get('Department_GS').getRecordTypeId(); depart.Name = '*'; depart.Department_Name__c = 'NFM206TestDepart'; depart.ParentId = section.Id; depart.Department_Class__c = section.Id; depart.Hospital__c = company.Id; insert depart; macnt.Name = '测试服务合同1'; macnt.Status__c = '合同中'; //科室 macnt.Department__c = depart.id; //主担当者 macnt.Service_Contract_Staff__c = MacOwner.Id ; insert macnt; //点检计划 Inspectup_Plan__c Inplan = new Inspectup_Plan__c(); //币种 Inplan.CurrencyIsoCode = 'CNY'; //点检计划编码 Inplan.Name = 'Check_plan_Test1'; //实际执行数 Inplan.Actual_Execution_Quantity__c = 0; //Maintenance_Contract__c:维修合同 Inplan.Maintenance_Contract__c = macnt.id; //Planned_Start_Date__c:计划开始日 Inplan.Planned_Start_Date__c = Date.today().addDays(-2); // Planned_End_Date__c:计划结束日 Inplan.Planned_End_Date__c = Date.today().addDays(-1); //Timeliness_Rate__c:本次点检及时率 Inplan.Timeliness_Rate__c = 80; //Implementation_Rate__c:本次点检实施率 Inplan.Implementation_Rate__c = 80; insert Inplan; //点检计划2 Inspectup_Plan__c Inplan2 = new Inspectup_Plan__c(); Inplan2.CurrencyIsoCode = 'CNY'; Inplan2.Name = 'Check_plan_Test2'; Inplan2.Actual_Execution_Quantity__c = 0; Inplan2.Maintenance_Contract__c = macnt.id; Inplan2.Planned_Start_Date__c = Date.today().addDays(-1); Inplan2.Planned_End_Date__c = Date.today().addDays(+2); Inplan2.Timeliness_Rate__c = 80; Inplan2.Implementation_Rate__c = 80; insert Inplan2; Database.executeBatch(new updateContectBatch(), 20); Database.executeBatch(new updateContectBatch(Inplan.id), 20); } }