liuyn
2024-03-11 a87f1c3df03078814ee97ad0c8ac200a232419e9
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
@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<RecordType> 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);
    }   
}