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
139
140
141
@isTest
public class LexEquipmentRentalApply_FromQISCtlTest {
    static testMethod void LexEquipmentRentalApply_FromQISCtlTest() {
        User u3 = new User();
        u3.LastName = '_サンブリッジ';
        u3.FirstName = 'う';
        u3.Alias = 'う';
        u3.Email = 'olympusTest03@sunbridge.com';
        u3.Username = 'olympusTest03@sunbridge.com';
        u3.CommunityNickname = 'う';
        u3.IsActive = true;
        u3.EmailEncodingKey = 'ISO-2022-JP';
        u3.TimeZoneSidKey = 'Asia/Tokyo';
        u3.LocaleSidKey = 'ja_JP';
        u3.LanguageLocaleKey = 'ja';
        u3.ProfileId = System.Label.ProfileId_SystemAdmin;
        // u3.Job_Category__c = '销售推广';
        u3.Job_Category__c = '销售服务';
        u3.Province__c = '北京市';
        u3.Use_Start_Date__c = Date.today().addMonths(-6);
 
        User thisUser = [ select Id from User where Id = :UserInfo.getUserId() ];
        System.runAs ( thisUser ) {
            insert u3;
        }
        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', 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);
        System.runAs ( thisUser ) {
            insert hpOwner;
        }
 
        List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '病院'];
        if (rectCo.size() == 0) {
            return ;
        }
        List<RecordType> rectSct = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '戦略科室分類 呼吸科'];
        if (rectSct.size() == 0) {
            return;
        }
        List<RecordType> rectDpt = [select Id, Name from RecordType where IsActive = true and SobjectType = 'Account' and Name IN ('診療科 消化科', '診療科 呼吸科') order by Name desc];
        if (rectDpt.size() == 0) {
            return;
        }
 
        system.runAs(u3) {
            ControllerUtil.EscapeNFM001Trigger = true;
            // 客户
            Account hospital = new Account();
            // 记录类型ID
            // 01210000000QemGAAS
            hospital.recordtypeId = [Select Id FROM RecordType WHERE IsActive = true and SobjectType = 'Account' and DeveloperName = 'HP'].id;
            // 客户名
            hospital.Name = '北京市医院';
            insert hospital;
            
            // 戦略科室を得る
            
            List<Account> strategicDep = [SELECT ID, Name FROM Account WHERE parentId = :hospital.Id AND recordType.DeveloperName = 'Department_Class_GI'];
            
            // 客户
            Account dep = new Account();
            // 01210000000Qfm7AAC
            // 记录类型ID
            dep.recordtypeId = [Select Id FROM RecordType WHERE IsActive = true and SobjectType = 'Account' and DeveloperName = 'Department_GI'].id;
            // 客户名
            dep.Name = 'test de/p';
            dep.ParentId = strategicDep[0].Id;
            // 战略科室分类
            dep.Department_Class__c = strategicDep[0].Id;
            // 医院
            dep.Hospital__c = hospital.Id;
            insert dep;
 
 
        
            //备品借出申请
            Rental_Apply__c raObj = new Rental_Apply__c();
            raObj.Name = 'testra';
            raObj.Product_category__c = 'GI';
            raObj.Demo_purpose1__c = '其他';
            raObj.demo_purpose2__c = '其他';
            raObj.Person_In_Charge__c = Userinfo.getUserId();
            raObj.applyUser__c = Userinfo.getUserId();
            raObj.Demo_purpose_text__c = '123';
            raObj.Request_shipping_day__c = Date.toDay();
            raObj.Request_return_day__c = Date.toDay();
            raObj.direct_send__c = '上门自提';
            raObj.Loaner_received_staff__c = '王五';
            raObj.Loaner_received_staff_phone__c = '110';
            raObj.pickup_time__c = System.now();
            insert raObj;
 
            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=dep.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(),
                ContractNO__c = 'ContractNO1',
                ContractAmount__c = 1234
            );
 
            // 设备
            Asset asset = new Asset();
            asset.Name = '测试机器';
            asset.AccountId = dep.Id;
            asset.Department_Class__c = strategicDep[0].Id;
            asset.Hospital__c = hospital.Id;
            asset.SerialNumber = 'testserial';
            asset.Backorder__c = Sac.Id;
            insert asset;
 
            //QIS
            QIS_Report__c qis = new QIS_Report__c();
            qis.nonyushohin__c = asset.Id;
            qis.Hospital__c = hospital.Id;
            qis.RC__c = UserInfo.getUserId();
            qis.Department_Class__c = strategicDep[0].Id;
            qis.Hospital_Department__c = dep.Id;
            qis.Damage_For_Doc_Or_Pat__c = '有';
            qis.Relation_With_The_Problem__c = '有可能';
            qis.Report_For_Goz__c = '不知道';
            insert qis;
 
            LexEquipmentRentalApply_FromQISCtl.init(qis.Id);
            LexEquipmentRentalApply_FromQISCtl.rentalApp(raObj.Id);
            LexEquipmentRentalApply_FromQISCtl.UserInfo_Owner();
        }
    }
}