public with sharing class ConsumTestDataFactory { public Consum_Apply__c ca; public List caesdList; public Boolean eachStepUpdate; public ConsumTestDataFactory() { ControllerUtil.EscapeNFM001Trigger = true; StaticParameter.EscapeNFM001Trigger = true; StaticParameter.EscapeAccountTrigger = true; StaticParameter.EscapeNFM001AgencyContractTrigger = true; eachStepUpdate = true; } public void setupTestData() { // 省 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 = new Account(); strategicDep.recordtypeId = [Select Id FROM RecordType WHERE IsActive = true and SobjectType = 'Account' and DeveloperName = 'Department_Class_OTH'].id; strategicDep.Name = '其它'; strategicDep.Department_Class_Label__c = '其他'; strategicDep.Hospital__c = hospital.Id; strategicDep.ParentId = hospital.Id; insert strategicDep; // 診療科を作る 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.Id; dep.Department_Class__c = strategicDep.Id; dep.Hospital__c = hospital.Id; insert dep; /* Contact contact2 = new Contact(); contact2.AccountId = dep.Id; contact2.FirstName = '責任者'; contact2.LastName = 'test1经销商'; insert contact2;*/ OlympusCalendar__c oc = new OlympusCalendar__c(); oc.Date__c = System.Today(); oc.Before_1_WorkDay__c = oc.Date__c.addDays(-1); insert oc; // 产品 Product2 pro1 = new Product2(Name='name01',IsActive=true,Family='GI', Fixture_Model_No__c='MH-241',Serial_Lot_No__c='S/N tracing', Fixture_Model_No_T__c = 'MH-241', 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='MB-466',Serial_Lot_No__c='Lot tracing', Fixture_Model_No_T__c = 'MB-466', Asset_Model_No__c = 'Pro2', ProductCode_Ext__c='pc02',Manual_Entry__c=false); insert new Product2[] {pro1, pro2}; // 保有设备 Asset asset1 = new Asset(Asset_Owner__c = 'Olympus'); asset1.RecordTypeId = System.Label.Asset_RecordType; asset1.SerialNumber = 'sn01'; asset1.Name = 'MH-241'; asset1.AccountId = dep.Id; asset1.Department_Class__c = strategicDep.Id; asset1.Hospital__c = hospital.Id; asset1.Product2Id = pro1.Id; asset1.Quantity = 100; asset1.Manage_type__c = '数量管理'; asset1.Loaner_accsessary__c = true; asset1.Out_of_wh__c = 0; asset1.Salesdepartment__c = '0.备品中心'; asset1.Product_category__c = 'GI'; asset1.Asset_loaner_category__c = '耗材'; asset1.Delete_Flag__c = false; asset1.AssetManageConfirm__c = true; asset1.Equipment_Type__c = '产品试用'; asset1.Fixture_OneToOne_Link__c = null; asset1.Internal_asset_location__c = '上海 备品中心'; asset1.RecordTypeId = System.Label.Asset_RecordType;//niwu changed asset1.Consumable_Guaranteen_end__c = System.today().addYears(1); // 保有设备 Asset asset2 = new Asset(Asset_Owner__c = 'Olympus'); asset2.RecordTypeId = System.Label.Asset_RecordType; asset2.SerialNumber = 'sn02'; asset2.Name = 'MB-466'; asset2.AccountId = dep.Id; asset2.Department_Class__c = strategicDep.Id; asset2.Hospital__c = hospital.Id; asset2.Product2Id = pro2.Id; asset2.Quantity = 100; asset2.Manage_type__c = '数量管理'; asset2.Loaner_accsessary__c = true; asset2.Out_of_wh__c = 0; asset2.Salesdepartment__c = '0.备品中心'; asset2.Product_category__c = 'GI'; asset2.Asset_loaner_category__c = '耗材'; asset2.Delete_Flag__c = false; asset2.AssetManageConfirm__c = true; asset2.Equipment_Type__c = '产品试用'; asset2.Fixture_OneToOne_Link__c = null; asset2.Internal_asset_location__c = '上海 备品中心'; asset2.RecordTypeId = System.Label.Asset_RecordType;//niwu changed asset2.Consumable_Guaranteen_end__c = System.today().addYears(1); insert new Asset[] {asset1, asset2}; // 耗材申请 ca = new Consum_Apply__c(); ca.Name = 'testra'; ca.ApplyPerson_Phone__c = '18888888888'; ca.Person_In_Charge__c = UserInfo.getUserId(); ca.applyUser__c = UserInfo.getUserId(); ca.demo_purpose2__c = '其他'; ca.Product_category__c = 'ET'; ca.Demo_purpose_text__c = '测试'; ca.Request_shipping_day__c = System.Today(); insert ca; Consum_Apply_Equipment_Set__c caes = new Consum_Apply_Equipment_Set__c(); caes.Consum_Apply__c = ca.Id; caes.Consum_Start_Date__c = Date.today().addDays(20); caes.DataMigration_Flag__c = true; caes.Model_No__c = 'MH-241'; insert caes; Consum_Apply_Equipment_Set_Detail__c caesd = new Consum_Apply_Equipment_Set_Detail__c(); caesd.DataMigration_Flag__c = true; caesd.Consum_Apply__c = ca.Id; caesd.Consum_Apply_Equipment_Set__c = caes.Id; caesd.Consum_Start_Date__c = caes.Consum_Start_Date__c; caesd.Trial_User__c = '我'; caesd.Follower_User__c = UserInfo.getUserId(); caesd.IndexFromUniqueKey__c = 1; caesd.Degree_Of_Importance__c = 2; insert caesd; // 草案中 } public void selectDetails(){ selectDetails(1); } /** @description 选择明细 */ public void selectDetails(Integer cnt){ if(ca == null){ ca = [SELECT Id FROM Consum_Apply__c LIMIT 1]; } system.debug('==zheli=='+ca.Id); PageReference ref = new PageReference('/apex/ConsumFixtureSetSelect?pt_recid=' + ca.Id ); Test.setCurrentPage(ref); ConsumFixtureSetSelectController controller = new ConsumFixtureSetSelectController(); CreateRelationListPagingCmpCtrl cmp = new CreateRelationListPagingCmpCtrl(); cmp.pageController = controller; controller.myComponentController.init(); // 检索 controller.init(); controller.viewList = null; controller.searchOpp(); // 保存 Consum_Apply_Equipment_Set__c caes =(Consum_Apply_Equipment_Set__c) controller.viewlist[0].sobj; caes.Consum_Num__c = 1; if(cnt == 2){ controller.viewlist[1].check = true; caes =(Consum_Apply_Equipment_Set__c) controller.viewlist[1].sobj; caes.Consum_Num__c = 1; } ref = controller.save(); } /** @description 批准申请 */ public void approve(){ if(ca == null){ ca = [SELECT Id FROM Consum_Apply__c LIMIT 1]; } if(caesdList == null){ caesdList = [SELECT Consum_Start_Date__c , Trial_User__c , Follower_User__c FROM Consum_Apply_Equipment_Set_Detail__c WHERE Consum_Apply__c=:ca.Id]; } for(Consum_Apply_Equipment_Set_Detail__c caesd:caesdList){ caesd.Consum_Start_Date__c = System.Today(); caesd.Trial_User__c = '我'; caesd.Follower_User__c = UserInfo.getUserId(); } if(eachStepUpdate){ update caesdList; } ca.Request_demo_time__c = System.Now(); ca.Request_approval_time__c = System.Now(); ca.Status__c = '已批准'; if(eachStepUpdate){ update ca; } } /** @description 默认分配 */ public void defaultAssign(){ if(ca == null){ ca = [SELECT Id FROM Consum_Apply__c LIMIT 1]; } PageReference ref = new PageReference('/apex/ConsumDefaultSelect?pt_recid=' + ca.Id); Test.setCurrentPage(ref); ConsumDefaultSelectController controller = new ConsumDefaultSelectController(); CreateRelationListPagingCmpCtrl cmp = new CreateRelationListPagingCmpCtrl(); cmp.pageController = controller; controller.myComponentController.init(); controller.init(); controller.searchOpp(); } /** @description 出库指示 */ public void shippmentRequest(){ if(caesdList == null){ caesdList = [SELECT Consum_Start_Date__c , Trial_User__c , Follower_User__c FROM Consum_Apply_Equipment_Set_Detail__c WHERE Consum_Apply__c=:ca.Id]; } for(Consum_Apply_Equipment_Set_Detail__c caesd:caesdList){ caesd.Shipment_request_time2__c = Datetime.now(); caesd.Shipment_request__c = true; } if(eachStepUpdate){ update caesdList; } } /** @description 取消分配 */ public void unAssign(){ if(caesdList == null){ caesdList = [SELECT Consum_Start_Date__c , Trial_User__c , Follower_User__c FROM Consum_Apply_Equipment_Set_Detail__c WHERE Consum_Apply__c=:ca.Id]; } for(Consum_Apply_Equipment_Set_Detail__c caesd:caesdList){ caesd.Select_Time__c = null; caesd.Asset__c = null; } if(eachStepUpdate){ update caesdList; } } /** @description 发货 */ public void shipment(){ FixtureDeliverySlip__c slip = new FixtureDeliverySlip__c(); slip.Name = '运输单号'; slip.DeliveryType__c = '发货'; slip.Distributor_method__c = '陆运'; slip.DeliveryCompany__c = 'Fedex'; slip.Wh_Staff__c = Userinfo.getUserId(); slip.Combine_Pack__c = '123'; insert slip; if(caesdList == null){ caesdList = [SELECT Consum_Start_Date__c , Trial_User__c , Follower_User__c FROM Consum_Apply_Equipment_Set_Detail__c WHERE Consum_Apply__c=:ca.Id]; } for(Consum_Apply_Equipment_Set_Detail__c caesd:caesdList){ caesd.Shippment_loaner_time__c = System.Now(); caesd.DeliverySlip__c = slip.Id; } if(eachStepUpdate){ update caesdList; } } /** @description 收货 */ public void receive(){ if(caesdList == null){ caesdList = [SELECT Consum_Start_Date__c , Trial_User__c , Follower_User__c FROM Consum_Apply_Equipment_Set_Detail__c WHERE Consum_Apply__c=:ca.Id]; } for(Consum_Apply_Equipment_Set_Detail__c caesd:caesdList){ caesd.Received_Confirm__c = 'OK'; } if(eachStepUpdate){ update caesdList; } } /** @description 统一更新 */ public void updateData(){ if(caesdList!=null && caesdList.size()>0){ update caesdList; } if(ca!=null){ update ca; } } }