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
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
@isTest
private class lexRentalApply_FromRepCtlTest {
    static testMethod void testMethod1() {
        
    }
    @testSetup
    static void makeTestRepair() {
        Oly_TriggerHandler.bypass('ContactTriggerHandler');
 
        ControllerUtil.EscapeNFM001Trigger = true;
        StaticParameter.EscapeNFM001Trigger = true;
        StaticParameter.EscapeNFM001AgencyContractTrigger = true;
        StaticParameter.EscapeNFM001AgencyContractTrigger2 = true;
        StaticParameter.EscapeOppandStaTrigger = true;
        
        List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '病院'];
        if (rectCo.size() == 0) {
            throw new ControllerUtil.myException('not found 病院 recodetype');
        }
        List<RecordType> rectSct = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '戦略科室分類 消化科'];
        if (rectSct.size() == 0) {
            throw new ControllerUtil.myException('not found 戦略科室分類 呼吸科 recodetype');
        }
        List<RecordType> rectDpt = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '診療科 消化科'];
        if (rectDpt.size() == 0) {
            throw new ControllerUtil.myException('not found 診療科 消化科 recodetype');
        }
        // 省
        Address_Level__c al = new Address_Level__c();
        al.Name = '東京';
        al.Level1_Code__c = 'CN-99';
        al.Level1_Sys_No__c = '999999';
        insert al;
        // 市
        Address_Level2__c al2 = new Address_Level2__c();
        al2.Level1_Code__c = 'CN-99';
        al2.Level1_Sys_No__c = '999999';
        al2.Level1_Name__c = '東京';
        al2.Name = '渋谷区';
        al2.Level2_Code__c = 'CN-9999';
        al2.Level2_Sys_No__c = '9999999';
        al2.Address_Level__c = al.id;
        insert al2;
        // テストデータ
        Account company = new Account();
        company.RecordTypeId = rectCo[0].Id;
        company.Name         = 'NFM105TestCompany';
        upsert company;
        // Account section = [Select State_Master__c,Salesdepartment_HP__c,Management_Code__c, Management_Code_Auto__c, Name, Id from Account where ParentId = :company.Id and RecordTypeId = :rectSct[0].Id];
        Account section = [Select State_Master__c,Salesdepartment_HP__c,Management_Code__c, Name, Id from Account where ParentId = :company.Id and RecordTypeId = :rectSct[0].Id];
 
        Account depart = new Account();
        depart.RecordTypeId        = rectDpt[0].Id;
        depart.AgentCode_Ext__c = '10086';
        depart.Name                = '*';
        depart.Department_Name__c  = 'NFM105TestDepart';
        depart.ParentId            = section.Id;
        depart.Department_Class__c = section.Id;
        depart.Hospital__c         = company.Id;
        depart.State_Master__c = al.id;
        upsert depart;
 
        Product2 prd1 = new Product2();
        prd1.ProductCode_Ext__c     = 'NFM105Prd1';
        prd1.ProductCode            = 'NFM105Prd1';
        prd1.Repair_Product_Code__c = 'NFM105Prd1_RP';
        prd1.Name                   = 'NFM105Prd1';
        prd1.Manual_Entry__c        = false;
        insert prd1;
 
        Asset ast = new Asset();
        ast.Name                   = 'NFM105Ast1';
        ast.AccountId              = depart.Id;
        ast.Department_Class__c    = section.Id;
        ast.Hospital__c            = company.Id;
        ast.Product2Id             = prd1.Id;
        ast.SerialNumber           = 'NFM105SerialNumber';
        ast.Guarantee_period_for_products__c = Date.today();
        ast.InstallDate                      = Date.today();
        insert ast;
        // ast = [select Id, Name, Product_Serial_No__c, AccountId, Department_Class__c, Department_Class__r.Management_Code_Auto__c, Hospital__c, Product2Id, Product2.ProductCode, Product2.Repair_Product_Code__c, SerialNumber
        //        from Asset
        //        where Id = :ast.Id];
        ast = [select Id, Name, Product_Serial_No__c, AccountId, Department_Class__c, Hospital__c, Product2Id, Product2.ProductCode, Product2.Repair_Product_Code__c, SerialNumber
               from Asset
               where Id = :ast.Id];
        RepairSubOrder__c subOrder = new RepairSubOrder__c();
        subOrder.AttachmentDownload__c = true;
        subOrder.AttachmentLink__c = 'https://albsylfw.s3.cn-northwest-1.amazonaws.com.cn/20211220/14/11/30/lessthan12/5e8cb69e-f935-48f5-825e-b8344d60f6d4.zip';
        subOrder.AttachmentName__c = '测试附件下载';
        subOrder.Status__c = '待处理';// 20230201 ljh 
        insert subOrder;
        Repair__c rpr = new Repair__c();
        rpr.PAE_Determine__c = 'PAE' ;   //-- 
        rpr.ifDeadHurt__c = '有';        //-- R1
        rpr.PAE_DetermineAC__c = null;   //--
        rpr.SAPRepairNo__c   = 'NFM105Rpr1';
        rpr.Account__c             = depart.Id;
        rpr.Department_Class__c    = section.Id;
        rpr.Hospital__c            = company.Id;
        rpr.DeliveryLogisticsMode__c = '其他';
        rpr.RepairSubOrder__c = subOrder.Id;
        rpr.Delivered_Product__c   = ast.Id;
        rpr.Status__c              = '1.受理完毕';
        rpr.SAP_Transfer_time__c = null;
        rpr.Incharge_Staff__c = Userinfo.getUserId();
        rpr.Repair_Detail__c = 'test';
        rpr.GeneratedPDFField__c = null;
        rpr.AsyncData__c    = true;
        rpr.AwaitToSendAWS__c = false;
        rpr.Complaint_Number__c = null;
        rpr.ReportAdverseEvents__c = '有';
        rpr.ProblemOccurred__c = '到货验收';
        rpr.ifDeadHurt__c = '有';
        rpr.ASReportedCode__c = 'TEST01,TEST02';
        rpr.ASReportedCodeAC__c = 'TEST02,TEST04';
        rpr.DateReceiptQuestions__c = Date.today();
        rpr.Failure_Occurrence_Date__c = Date.today();
        rpr.Repair_Ordered_Date__c = Date.today();
        rpr.Repair_Shipped_Date__c = Date.today();
        rpr.Repair_Ordered_DateTime__c = Datetime.newInstance(2022,04,13,18,18,18);
        rpr.ReturnType__c = 'A20';
        rpr.AwaitToSendAWS__c = true;
        rpr.AWS_Data_Id__c = '12313';
        //rpr.Returns_Product_waySAP__c = '返送医院';
        insert rpr;
 
        BatchIF_Log__c iflog = new BatchIF_Log__c();
        iflog.Log__c = '[{"userReturnDate":"2021-08-09","userAgreeDAte":"2021-08-09","strategicDepartmenNm":null,"strategicDepartmenCd":"8089815","spareEquipMode":null,"spareEquipLendingDate":null,"SAPrepairApplyDate":"2021-08-05","returnStage":null,"returnLogisticsSendTime":"2021-08-03T09:49:00.000Z","returnLogisticsRemark":"123123","returnLogisticsReceiveTime":"2021-08-19T09:49:00.000Z","returnLogisticsNo":"123123","returnLogisticsMode":null,"RepairType":null,"repairStartDate":"2021-08-09","repairproductsRevDate":"2021-08-10","repairOrderNo2":null,"repairOrderNo":null,"repairOrderCreateDate":"2021-08-03T10:05:44.000Z","repairOrderCompleteDate":"2021-08-09","repairNo":"RS-202108-564405","repairCompleteExpectedDate":null,"repairCompleteDate":"2021-08-09","repairApplicant":"SFDC-05","region":"東京","RCreturnDate":"2021-08-09","RCacceptanceDate":"2021-08-09","quotationDate":null,"province":"北京市","priceApprovalDate":null,"planQuotationDate":"2021-08-11","payCompleteDate":"2021-08-09","partsCompleteDate":"2021-08-09","officeLogisticsReceiveDate":"2021-08-10","MultiYearContractStartDate":null,"MultiYearContractNo":null,"MultiYearContractEndDate":null,"logisticsSendDate":"2021-08-04","logisticsReceiveDate":"2021-08-19","latestPayDate":null,"isRepairWarrantyObj":false,"invoiceReceiveDate":"2021-08-09","invoiceDate":null,"inspectionDate":"2021-08-09","incomeReckoninDate":"2021-08-09","hospitalNm":"1","hospitalCd":"8089815","FSErepairApplyDate":"2021-08-17","FirstQuotationDate":null,"finalTestDate":"2021-08-09","finalQuotationPrice":152.2,"FaultDescData":null,"equipmentModel":"GX2201:111222","equipmentCd":"111222","detectionResult":null,"departmentNm":"8089815","departmentCd":null,"deliveryLogisticsNo":"123123","deliveryLogisticsMode":"快递","ContractStartDate":null,"ContractNo":null,"ContractEndDate":null,"city":"北京市","cancelRepairDate":"2021-08-09","bpsqbh":null,"applySpareEquip":false,"applicantTel":null,"ActualQuotationDate":"2021-08-09","acceptanceFormSendDate":"2021-08-09","acceptanceFormReceivedDate":"2021-08-09","abandonPayDate":null},{"userReturnDate":"2021-08-09","userAgreeDAte":"2021-08-09","strategicDepartmenNm":null,"strategicDepartmenCd":"8089815","spareEquipMode":null,"spareEquipLendingDate":null,"SAPrepairApplyDate":"2021-08-05","returnStage":null,"returnLogisticsSendTime":"2021-08-03T09:49:00.000Z","returnLogisticsRemark":"====","returnLogisticsReceiveTime":"2021-08-04T02:23:00.000Z","returnLogisticsNo":"20210804-1","returnLogisticsMode":null,"RepairType":null,"repairStartDate":"2021-08-09","repairproductsRevDate":"2021-08-10","repairOrderNo2":null,"repairOrderNo":null,"repairOrderCreateDate":"2021-08-04T02:39:59.000Z","repairOrderCompleteDate":"2021-08-09","repairNo":"RS-202108-564406","repairCompleteExpectedDate":"2021-08-09","repairCompleteDate":"2021-08-09","repairApplicant":"SFDC-05","region":"其他","RCreturnDate":"2021-08-09","RCacceptanceDate":"2021-08-09","quotationDate":null,"province":"北京市","priceApprovalDate":null,"planQuotationDate":"2021-08-10","payCompleteDate":"2021-08-09","partsCompleteDate":"2021-08-09","officeLogisticsReceiveDate":"2021-08-10","MultiYearContractStartDate":null,"MultiYearContractNo":"BJ-RS-BJ0063159","MultiYearContractEndDate":null,"logisticsSendDate":"2021-08-21","logisticsReceiveDate":"2021-08-15","latestPayDate":null,"isRepairWarrantyObj":false,"invoiceReceiveDate":"2021-08-09","invoiceDate":null,"inspectionDate":"2021-08-09","incomeReckoninDate":"2021-08-09","hospitalNm":"1","hospitalCd":"8089815","FSErepairApplyDate":"2021-08-17","FirstQuotationDate":null,"finalTestDate":"2021-08-09","finalQuotationPrice":152.2,"FaultDescData":null,"equipmentModel":"GX2201:111222","equipmentCd":"111222","detectionResult":null,"departmentNm":"8089815","departmentCd":null,"deliveryLogisticsNo":"20210804","deliveryLogisticsMode":"快递","ContractStartDate":null,"ContractNo":"BJ-RS-BJ0063159","ContractEndDate":null,"city":"北京市","cancelRepairDate":"2021-08-09","bpsqbh":null,"applySpareEquip":false,"applicantTel":null,"ActualQuotationDate":"2021-08-10","acceptanceFormSendDate":"2021-08-09","acceptanceFormReceivedDate":"2021-08-09","abandonPayDate":null,"supplySpareEquip":true}]';
        iflog.Type__c = '603test';
        insert iflog;
 
        Repair_reason__c rrn = new Repair_reason__c();
        rrn.Repair__c = rpr.Id;
        rrn.DescriptionName__c = '121212';
        rrn.LocationName__c = '121212';
        rrn.ActivityDescription__c = '121212';
        insert rrn;
 
        // 戦略科室を得る
        Account[] strategicDep = [SELECT ID, Name FROM Account WHERE parentId = :company.Id AND recordType.DeveloperName = 'Department_Class_OTH'];
 
        Contact contact2 = new Contact();
        contact2.AccountId = depart.Id;
        contact2.FirstName = '責任者';
        contact2.LastName = 'test1经销商';
        insert contact2;
        // 备品配套1(主体 两个附属品(个体管理 数量管理))
        Fixture_Set__c fsObjA1 = new Fixture_Set__c();
        fsObjA1.Name = 'set1';
        fsObjA1.Fixture_Set_Body_Model_No__c = 'modelNo1';
        fsObjA1.Loaner_name__c = 'name1';
        insert fsObjA1;
        Fixture_Set_Detail__c fsdObjA1 = new Fixture_Set_Detail__c();
        // 产品
        Product2 pro1 = new Product2(Name='name01',IsActive=true,Family='GI',
                Fixture_Model_No__c='n01',Serial_Lot_No__c='S/N tracing',
                Fixture_Model_No_T__c = 'n01',
                ProductCode_Ext__c='pc01',Manual_Entry__c=false);
        // 备品配套明细
        fsdObjA1.Name = '备品配套明细名1';
        fsdObjA1.Name_CHN_Created__c = '中文名称1';
        fsdObjA1.Product2__c = pro1.Id;
        fsdObjA1.Fixture_Set__c = fsObjA1.Id;
        fsdObjA1.Is_Body__c = true;
        fsdObjA1.Is_Optional__c = false;
        fsdObjA1.UniqueKey__c = fsObjA1.Id + ':' + pro1.Id;
        fsdObjA1.SortInt__c = 1;
    }
    @isTest
    static void testCallOut1(){
        List<Repair__c> repairList = [select id from Repair__c];
          Test.startTest();
        List<Id> idList = new List<Id>();
        for(Repair__c repair : repairList){
          idList.add(repair.Id);
        }
        lexRentalApply_FromRepCtl.rentalApp(idList[0]);
        lexRentalApply_FromRepCtl test1 = new lexRentalApply_FromRepCtl();
        lexRentalApply_FromRepCtl.UserInfo_Owner();
        lexRentalApply_FromRepCtl.init(idList[0]);
        // NFM603Controller.callout(iflog.Id,idList);
 
        Test.stopTest();
    }
}