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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
/**
 * wangweipeng    2021/08/24
 * 打印点检计划报告书 筛选条件测试程序
 */
@isTest
private class PrintInspectupReportControllerTest {
    static testMethod void testMethod1() {
 
        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;
        Account hospital = new Account();
        hospital.recordtypeId = 
            Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName().get('HP').getRecordTypeId();
            
        hospital.Name = 'test hospita/l';
        insert hospital;
        
        // 戦略科室を得る
        List<Account> strategicDep = [SELECT ID, Name FROM Account WHERE parentId = :hospital.Id AND recordType.DeveloperName = 'Department_Class_GI'];
        
        // 診療科を作る
        Account dep = new Account();
        dep.recordtypeId = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName().get('Department_GI').getRecordTypeId();
        dep.Name = 'test de/p';
        dep.ParentId = strategicDep[0].Id;
        dep.Department_Class__c = strategicDep[0].Id;
        dep.Hospital__c = hospital.Id;
        insert dep;
 
         Asset ass1 = new Asset(
            AccountId = dep.Id,
            Hospital__c = hospital.Id,
            SerialNumber = 'lw0001',
            Name = '测试设备0001:aaaaa',
            Installation_Site__c = '手术室'
        );
        Asset ass2 = new Asset(
            AccountId = dep.Id,
            Hospital__c = hospital.Id,
            SerialNumber = 'lw0002',
            Name = '测试设备0002:aaaaa',
            Installation_Site__c = '门诊'
        );
        insert new Asset[] {ass1, ass2};
        
       // 维修合同を作成する
        Maintenance_Contract__c contract = new Maintenance_Contract__c();
        contract.Name = 'tect contract';
        contract.Hospital__c = hospital.Id;
        contract.Department_Class__c = strategicDep[0].Id;
        contract.Department__c = dep.Id;
        contract.Service_Contract_Staff__c = MacOwner.Id;
        contract.Payment_Plan_Sum_First__c = 1;
        contract.Status__c = '契約';
        contract.Maintenance_Contract_No__c = '11123';
        contract.recordtypeId = Schema.SObjectType.Maintenance_Contract__c.getRecordTypeInfosByDeveloperName().get('NewMaintenance_Contract').getRecordTypeId();
        contract.Not_Upper_limit_reason__c = ' 1';
        contract.Contract_Start_Date__c = Date.today().addDays( -10);   
        contract.Contract_End_Date__c = Date.today().addDays( 5);       
        contract.SalesOfficeCode_selection__c = '北京RC';
 
        Maintenance_Contract__c contract2 = contract.clone();
        contract2.Name = 'tect contract2';
        contract2.Contract_Start_Date__c = Date.today().addDays( -100);   
        contract2.Contract_End_Date__c = Date.today().addDays( -10);       
        contract2.Maintenance_Contract_No__c = '11a 123';
        contract2.First_Estimate_Date__c = Date.today().addDays( -80);
        insert new list<Maintenance_Contract__c> {contract,contract2};
 
        //点检计划
        Inspectup_Plan__c inplan = new Inspectup_Plan__c();
        inplan.Planned_Start_Date__c = Date.today().addDays(1);
        inplan.Planned_End_Date__c = Date.today().addMonths(2).addDays(1);
        inplan.Actual_Execution_Quantity__c = 0;
        inplan.Maintenance_Contract__c = contract.Id;
        inplan.Chack_Plan_NO__c = '1';
        insert inplan;
 
        //点检计划
        Inspectup_Plan__c inplan2 = new Inspectup_Plan__c();
        inplan2.Planned_Start_Date__c = Date.today().addDays(1);
        inplan2.Planned_End_Date__c = Date.today().addMonths(2).addDays(1);
        inplan2.Actual_Execution_Quantity__c = 0;
        inplan2.Maintenance_Contract__c = contract.Id;
        inplan2.Chack_Plan_NO__c = '2';
        insert inplan2;
 
        Maintenance_Contract_Estimate__c contactEsti1 = new Maintenance_Contract_Estimate__c();
        contactEsti1.Name = 'contract estimate 1';
        contactEsti1.RecordtypeId = Schema.SObjectType.Maintenance_Contract_Estimate__c.getRecordTypeInfosByDeveloperName().get('NewMaintenance_Quote').getRecordTypeId();
        contactEsti1.Contract_Esti_Start_Date__c = Date.today();
        contactEsti1.Contract_Range__c = 2;
        contactEsti1.Maintenance_Contract__c = contract.Id;
        contactEsti1.Asset_Sum_Price__c = 1000;
        contactEsti1.mainTalksTime__c = 1;
        contactEsti1.talksStartDate__c = date.today();
        contactEsti1.Discount_reason__c ='1';
        contactEsti1.Improve_ConsumptionRate_Idea__c = '1';
        contactEsti1.NewEstimation_Amount__c = 100;
        insert contactEsti1;
 
        Maintenance_Contract_Asset_Estimate__c mcae1 = new Maintenance_Contract_Asset_Estimate__c();
        mcae1.Asset__c = ass1.Id;
        mcae1.Maintenance_Contract_Estimate__c = contactEsti1.Id;
        mcae1.ifHaveleftInPrevious__c = true;
        mcae1.Estimate_List_Price__c = 1000;
        mcae1.Check_Result__c = 'OK';
        insert mcae1;
 
 
        Maintenance_Contract_Asset__c contractasset = new Maintenance_Contract_Asset__c();
        contractasset.Asset__c = ass1.Id;
        contractasset.Maintenance_Contract__c = contract.Id;
        contractasset.Estimate_List_Price_All_Manual__c = 1000;
        contractasset.Maintenance_Contract_Asset_Estimate__c = mcae1.id;
 
        Maintenance_Contract_Asset__c contractasset2 = contractasset.clone();
        contractasset2.Maintenance_Contract__c = contract2.Id;
        insert new list<Maintenance_Contract_Asset__c> {contractasset,contractasset2 };
 
 
        PageReference peg = new PageReference('/apex/PrintInspectupReportController?id='+contract.id);
        System.Test.setCurrentPage(peg);
 
        PrintInspectupReportController pirc = new PrintInspectupReportController();
        pirc.init();
    }
}