高章伟
2022-02-18 8b5f4c6c281cfa548f92de52c8021e37aa81901e
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
130
131
132
133
134
135
136
137
138
@isTest
private class AssetUseInfoBatchTest {
 
    private static void init() {
        List<RecordType> rectHp = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and DeveloperName = 'HP'];
        if (rectHp.size() == 0) {
            return;
        }
        List<RecordType> rectDpt = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and DeveloperName = 'Department_GI'];
        if (rectDpt.size() == 0) {
            return;
        }
 
        Profile p = [select Id from Profile where id =:System.Label.ProfileId_SystemAdmin];
 
        User hpOwner = new User(Test_staff__c = true, LastName = 'hp', FirstName = 'owner', Alias = 'hp', Work_Location__c = '北京', CommunityNickname = 'hpOwner', Email = 'olympus_hpowner@sunbridge.com', Username = 'olympus_hpowner@sunbridge.com', IsActive = true, EmailEncodingKey = 'ISO-2022-JP', TimeZoneSidKey = 'Asia/Tokyo', LocaleSidKey = 'ja_JP', LanguageLocaleKey = 'ja', ProfileId = p.id);
        insert hpOwner;
        User hpOwner2 = new User(Test_staff__c = true, LastName = 'hp2', FirstName = 'owner', Alias = 'hp2', Work_Location__c = '重庆', CommunityNickname = 'hpOwner2', Email = 'olympus_hpowner@sunbridge.com', Username = 'olympus_hpowner2@sunbridge.com', IsActive = true, EmailEncodingKey = 'ISO-2022-JP', TimeZoneSidKey = 'Asia/Tokyo', LocaleSidKey = 'ja_JP', LanguageLocaleKey = 'ja', ProfileId = p.id);
        insert hpOwner2;
        // 病院作成
        Account hp = new Account(RecordTypeId = rectHp[0].Id, Name = 'hp', OwnerId = hpOwner.Id);
        hp.FSE_GI_Main_Leader__c = hpOwner.Id;
        hp.FSE_SP_Main_Leader__c = hpOwner2.Id;
        insert hp;
 
        Account dc = [select Id, Name, RecordType_DeveloperName__c, Account2__c from Account where ParentId = :hp.Id and RecordType_DeveloperName__c = 'Department_Class_GI'];
        
        // 診療科を作る
        Account dpt = new Account(RecordTypeId = rectDpt[0].Id);
        dpt.Name         = '*';
        dpt.Department_Name__c  = 'TestDepart';
        dpt.ParentId            = dc.Id;
        dpt.Department_Class__c = dc.Id;
        dpt.Hospital__c         = hp.Id;
        insert dpt;
 
        RecordType rectOpp = [select id from RecordType where IsActive = true and SobjectType = 'Opportunity' and DeveloperName = 'Opportunity' ];
        Opportunity opp = new Opportunity(
            Name='testOpp1',
            StageName='引合',
            CloseDate=Date.today(),
            AccountId=dpt.Id,
            Sales_Root__c = 'OCM直接販売',
            Competitor__c ='A',
            Click_Close_Date__c = null,
            RecordType = rectOpp
        );
        insert opp;
 
        Statu_Achievements__c Sac = new Statu_Achievements__c(
            name = 'zhucan_one',
            Opportunity__c = opp.id,
            DeliveryDate__c = Date.today(),
            FirstApproveDate__c = Date.valueOf('2016-08-10')
        );
        insert Sac;
 
        Product2 pro1 = new Product2(Name='name01',IsActive=true,Family='GI',Asset_Model_No__c='n01',Serial_Lot_No__c='S/N tracing',ProductCode_Ext__c='pc01',Manual_Entry__c=false);
        pro1.Extend_new_product_gurantee__c = true;
        pro1.Entend_gurantee_period__c = '两年';
        pro1.Extend_Gurantee_Start__c = Date.valueOf('2015-01-01');
        pro1.Extend_Gurantee_End__c = Date.valueOf('2017-01-04');
        insert pro1;
        // 納入機器を作成する
        Asset asset = new Asset();
        asset.Name = 'テスト機器';
        asset.AccountId = dpt.Id;
        asset.Department_Class__c = dc.Id;
        asset.Hospital__c = hp.Id;
        asset.SerialNumber = 'testserial';
        asset.Product2Id = pro1.Id;
        asset.Backorder__c = Sac.Id;
        asset.InstallDate = Date.valueOf('2017-05-10');
        asset.Guarantee_period_for_products__c = Date.valueOf('2018-05-10');
        insert asset;
    }
 
    @isTest 
    static void test_today() {
        init();
        Id execBTId = Database.executeBatch(new AssetUseInfoBatch(), 5);
    }
 
    @isTest 
    static void test_2018() {
        init();
 
        Id execBTId = Database.executeBatch(new AssetUseInfoBatch(2018), 5);
    }
 
    @isTest 
    static void test_2019() {
        init();
        Id execBTId = Database.executeBatch(new AssetUseInfoBatch(2019), 5);
    }
 
    @isTest 
    static void test_2020() {
        init();
        Id execBTId = Database.executeBatch(new AssetUseInfoBatch(2020), 5);
    }
 
    @isTest 
    static void test_2021() {
        init();
        Id execBTId = Database.executeBatch(new AssetUseInfoBatch(2021), 5);
    }
 
    @isTest 
    static void test_2022() {
        init();
        Id execBTId = Database.executeBatch(new AssetUseInfoBatch(2022), 5);
    }
 
    @isTest 
    static void test_2023() {
        init();
        Id execBTId = Database.executeBatch(new AssetUseInfoBatch(2023), 5);
    }
 
    @isTest 
    static void test_2024() {
        init();
        Id execBTId = Database.executeBatch(new AssetUseInfoBatch(2024), 5);
    }
 
    @isTest 
    static void test_2025() {
        init();
        Id execBTId = Database.executeBatch(new AssetUseInfoBatch(2025), 5);
    }
 
    @isTest 
    static void test_2026() {
        init();
        Id execBTId = Database.executeBatch(new AssetUseInfoBatch(2026), 5);
    }
}