@isTest public class LexLostSubmitApprovalControllerTest { private static User setupUser(){ User u = new User(alias = 'manager', email='manager@acme.com', emailencodingkey='UTF-8', lastname='manager', languagelocalekey='en_US', localesidkey='ja_JP', profileid = System.Label.ProfileId_SystemAdmin, timezonesidkey='Asia/Shanghai', username='manager@acme.com' + Datetime.now().getTime(), ZongjianApprovalManager__c = UserInfo.getUserId() ); insert u; return u; } static testMethod void LexLostSubmitApprovalControllerTest() { User u3 = new User(); u3.LastName = '_サンブリッジ'; u3.FirstName = 'う'; u3.Alias = 'う'; u3.Email = 'olympusTest03@sunbridge.com'; u3.Username = 'olympusTest03@sunbridge.com'; u3.CommunityNickname = 'う'; u3.IsActive = true; u3.EmailEncodingKey = 'ISO-2022-JP'; u3.TimeZoneSidKey = 'Asia/Tokyo'; u3.LocaleSidKey = 'ja_JP'; u3.LanguageLocaleKey = 'ja'; u3.ProfileId = System.Label.ProfileId_SystemAdmin; // u3.Job_Category__c = '销售推广'; u3.Job_Category__c = '销售服务'; u3.Province__c = '北京市'; u3.Use_Start_Date__c = Date.today().addMonths(-6); insert u3; Profile p = [select Id from Profile where id =:System.Label.ProfileId_SystemAdmin]; User hpOwner = new User(Test_staff__c = true, LastName = 'hp', FirstName = 'owner', Alias = 'hp', CommunityNickname = 'hpOwner', Email = 'olympus_hpowner@sunbridge.com', Username = 'olympus_hpowner@sunbridge.com', IsActive = true, EmailEncodingKey = 'ISO-2022-JP', TimeZoneSidKey = 'Asia/Tokyo', LocaleSidKey = 'ja_JP', LanguageLocaleKey = 'ja', ProfileId = p.id); insert hpOwner; system.runAs(u3) { ControllerUtil.EscapeNFM001Trigger = true; // 客户 Account hospital = new Account(); // 记录类型ID // 01210000000QemGAAS hospital.recordtypeId = [Select Id FROM RecordType WHERE IsActive = true and SobjectType = 'Account' and DeveloperName = 'HP'].id; // 客户名 hospital.Name = '北京市医院'; insert hospital; // 戦略科室を得る List strategicDep = [SELECT ID, Name FROM Account WHERE parentId = :hospital.Id AND recordType.DeveloperName = 'Department_Class_GI']; // 客户 Account dep = new Account(); // 01210000000Qfm7AAC // 记录类型ID dep.recordtypeId = [Select Id FROM RecordType WHERE IsActive = true and SobjectType = 'Account' and DeveloperName = 'Department_GI'].id; // 客户名 dep.Name = 'test de/p'; dep.ParentId = strategicDep[0].Id; // 战略科室分类 dep.Department_Class__c = strategicDep[0].Id; // 医院 dep.Hospital__c = hospital.Id; insert dep; // 产品 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}; Product2 pro5 = new Product2(Name='name05',IsActive=true,Family='SP', Fixture_Model_No__c='n05',Serial_Lot_No__c='S/N tracing', Fixture_Model_No_T__c = 'n05', ProductCode_Ext__c='pc05',Manual_Entry__c=false); insert pro5; // 保有设备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 = '北京'; assetA1.WH_location__c = '货架号1'; assetA1.Asset_loaner_category__c = '固定资产'; assetA1.CompanyOfEquipment__c = '123'; assetA1.Internal_Asset_number__c = '123'; // assetA1.AssetManageConfirm__c = true; insert assetA1; // 保有设备C (只有附属品 个体管理) Asset assetC1 = new Asset(Asset_Owner__c = 'Olympus'); assetC1.RecordTypeId = System.Label.Asset_RecordType; assetC1.SerialNumber = 'assetC1'; assetC1.Name = 'assetC1'; assetC1.AccountId = dep.Id; assetC1.Department_Class__c = strategicDep[0].Id; assetC1.Hospital__c = hospital.Id; assetC1.Product2Id = pro5.Id; assetC1.Quantity = 1; assetC1.Status = '有库存'; assetC1.Manage_type__c = '个体管理'; assetC1.Internal_asset_location__c = '北京 备品中心'; assetC1.Loaner_accsessary__c = true; assetC1.Delete_Flag__c = false; assetC1.Freeze_sign__c = false; assetC1.Out_of_wh__c = 0; // 保有设备 Asset asset = new Asset(Asset_Owner__c = 'Olympus'); asset.RecordTypeId = System.Label.Asset_RecordType; asset.SerialNumber = 'asset'; asset.Name = 'asset'; asset.AccountId = dep.Id; asset.Department_Class__c = strategicDep[0].Id; asset.Hospital__c = hospital.Id; asset.Product2Id = pro5.Id; asset.Quantity = 1; asset.Status = '有库存'; asset.Manage_type__c = '个体管理'; asset.Internal_asset_location__c = '北京 备品中心'; asset.Loaner_accsessary__c = true; asset.Delete_Flag__c = false; asset.Freeze_sign__c = false; asset.Out_of_wh__c = 0; insert new Asset[] {assetC1, asset}; // 备品配套(只有附属品) Fixture_Set__c fsObjC1 = new Fixture_Set__c(); fsObjC1.Name = 'setC1'; fsObjC1.Fixture_Set_Body_Model_No__c = 'modelNoC1'; fsObjC1.Loaner_name__c = 'nameC1'; insert fsObjC1; //备品借出申请 Rental_Apply__c raObj = new Rental_Apply__c(); raObj.Name = 'testra'; raObj.Product_category__c = 'GI'; raObj.Demo_purpose1__c = '其他'; raObj.demo_purpose2__c = '其他'; raObj.Person_In_Charge__c = Userinfo.getUserId(); raObj.applyUser__c = Userinfo.getUserId(); raObj.Demo_purpose_text__c = '123'; raObj.Request_shipping_day__c = Date.toDay(); raObj.Request_return_day__c = Date.toDay(); raObj.direct_send__c = '上门自提'; raObj.Loaner_received_staff__c = '王五'; raObj.Loaner_received_staff_phone__c = '110'; raObj.pickup_time__c = System.now(); insert raObj; // 借出备品配套一览 Rental_Apply_Equipment_Set__c raesObjC1 = new Rental_Apply_Equipment_Set__c(); raesObjC1.Rental_Apply__c = raObj.Id; raesObjC1.Fixture_Set__c = fsObjC1.Id; raesObjC1.Cancel_Select__c = false; raesObjC1.Shipment_request_time__c = Date.toDay(); raesObjC1.Rental_Start_Date__c = Date.toDay(); raesObjC1.Rental_End_Date__c = Date.toDay(); raesObjC1.IndexFromUniqueKey__c = 1; raesObjC1.UniqueKey__c = '1:'+ fsObjC1.Id + ':1'; insert raesObjC1; // 备品配套明细(只有附属品) Fixture_Set_Detail__c fsdObjC1 = new Fixture_Set_Detail__c(); fsdObjC1.Name = 'detailAccessory'; fsdObjC1.Name_CHN_Created__c = 'detailAccessoryName'; fsdObjC1.Product2__c = pro5.Id; fsdObjC1.Fixture_Set__c = fsObjC1.Id; fsdObjC1.Is_Body__c = false; fsdObjC1.Is_Optional__c = true; fsdObjC1.UniqueKey__c = fsObjC1.Id + ':' + pro5.Id; fsdObjC1.SortInt__c = 1; insert fsdObjC1; // 借出备品配套一览明细 Rental_Apply_Equipment_Set_Detail__c raesdObjC1 = new Rental_Apply_Equipment_Set_Detail__c(); raesdObjC1.Rental_Apply__c = raObj.Id; raesdObjC1.Fixture_Set_Detail__c = fsdObjC1.Id; raesdObjC1.Rental_Num__c = 1; raesdObjC1.Queue_Number__c = null; raesdObjC1.Is_Body__c = false; raesdObjC1.Rental_Apply_Equipment_Set__c = raesObjC1.Id; raesdObjC1.Asset__c = assetC1.Id; raesdObjC1.IndexFromUniqueKey__c = 1; raesdObjC1.UniqueKey__c = '1:'+ raesObjC1.Id + ':' + fsdObjC1.Id + ':1'; raesdObjC1.Salesdepartment_before__c = '0.备品中心'; raesdObjC1.Internal_asset_location_before__c = '北京 备品中心'; raesdObjC1.Product_category_text__c = 'GI'; raesdObjC1.Equipment_Type_text__c = '产品试用'; insert raesdObjC1; // 遗失报告 LostReport__c lr = new LostReport__c(); lr.Asset__c = assetA1.Id; insert lr; // 遗失报告明细 LostReport_Detail__c lrd = new LostReport_Detail__c(); lrd.LostReport__c = lr.Id; lrd.Asset__c = assetA1.Id; // 遗失报告明细和借出备品配套一览明细关联 lrd.Rental_Apply_Equipment_Set_Detail__c=raesdObjC1.Id; insert lrd; lr.LostReport_approval_time__c = Datetime.now().addDays(-91); update lr; LexLostSubmitApprovalController.LexLostSubmitApprovalController(lr.Id); LexLostSubmitApprovalController.submit(lr.Id); } } static testMethod void LexCancelConsumDetailsCtlTest() { User u3 = new User(); u3.LastName = '_サンブリッジ'; u3.FirstName = 'う'; u3.Alias = 'う'; u3.Email = 'olympusTest03@sunbridge.com'; u3.Username = 'olympusTest03@sunbridge.com'; u3.CommunityNickname = 'う'; u3.IsActive = true; u3.EmailEncodingKey = 'ISO-2022-JP'; u3.TimeZoneSidKey = 'Asia/Tokyo'; u3.LocaleSidKey = 'ja_JP'; u3.LanguageLocaleKey = 'ja'; u3.ProfileId = System.Label.ProfileId_SystemAdmin; // u3.Job_Category__c = '销售推广'; u3.Job_Category__c = '销售服务'; u3.Province__c = '北京市'; u3.Use_Start_Date__c = Date.today().addMonths(-6); insert u3; Profile p = [select Id from Profile where id =:System.Label.ProfileId_SystemAdmin]; User hpOwner = new User(Test_staff__c = true, LastName = 'hp', FirstName = 'owner', Alias = 'hp', CommunityNickname = 'hpOwner', Email = 'olympus_hpowner@sunbridge.com', Username = 'olympus_hpowner@sunbridge.com', IsActive = true, EmailEncodingKey = 'ISO-2022-JP', TimeZoneSidKey = 'Asia/Tokyo', LocaleSidKey = 'ja_JP', LanguageLocaleKey = 'ja', ProfileId = p.id); insert hpOwner; system.runAs(u3) { ControllerUtil.EscapeNFM001Trigger = true; // 客户 Account hospital = new Account(); // 记录类型ID // 01210000000QemGAAS hospital.recordtypeId = [Select Id FROM RecordType WHERE IsActive = true and SobjectType = 'Account' and DeveloperName = 'HP'].id; // 客户名 hospital.Name = '北京市医院'; insert hospital; // 戦略科室を得る List strategicDep = [SELECT ID, Name FROM Account WHERE parentId = :hospital.Id AND recordType.DeveloperName = 'Department_Class_GI']; // 客户 Account dep = new Account(); // 01210000000Qfm7AAC // 记录类型ID dep.recordtypeId = [Select Id FROM RecordType WHERE IsActive = true and SobjectType = 'Account' and DeveloperName = 'Department_GI'].id; // 客户名 dep.Name = 'test de/p'; dep.ParentId = strategicDep[0].Id; // 战略科室分类 dep.Department_Class__c = strategicDep[0].Id; // 医院 dep.Hospital__c = hospital.Id; insert dep; // 产品 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}; Product2 pro5 = new Product2(Name='name05',IsActive=true,Family='SP', Fixture_Model_No__c='n05',Serial_Lot_No__c='S/N tracing', Fixture_Model_No_T__c = 'n05', ProductCode_Ext__c='pc05',Manual_Entry__c=false); insert pro5; // 保有设备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 = '北京'; assetA1.WH_location__c = '货架号1'; assetA1.Asset_loaner_category__c = '固定资产'; assetA1.CompanyOfEquipment__c = '123'; assetA1.Internal_Asset_number__c = '123'; // assetA1.AssetManageConfirm__c = true; insert assetA1; // 保有设备C (只有附属品 个体管理) Asset assetC1 = new Asset(Asset_Owner__c = 'Olympus'); assetC1.RecordTypeId = System.Label.Asset_RecordType; assetC1.SerialNumber = 'assetC1'; assetC1.Name = 'assetC1'; assetC1.AccountId = dep.Id; assetC1.Department_Class__c = strategicDep[0].Id; assetC1.Hospital__c = hospital.Id; assetC1.Product2Id = pro5.Id; assetC1.Quantity = 1; assetC1.Status = '有库存'; assetC1.Manage_type__c = '个体管理'; assetC1.Internal_asset_location__c = '北京 备品中心'; assetC1.Loaner_accsessary__c = true; assetC1.Delete_Flag__c = false; assetC1.Freeze_sign__c = false; assetC1.Out_of_wh__c = 0; // 耗材备品申请 Consum_Apply__c ca = new Consum_Apply__c(); ca.DataMigration_Flag__c = true; 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; insert caes; LexCancelConsumDetailsCtl.init(ca.Id); LexCancelConsumDetailsCtl.splitApplyButton(ca.Id); LexCancelConsumDetailsCtl.init(''); LexCancelConsumDetailsCtl.splitApplyButton(''); } } static testMethod void LexConsumApply_FromCampaignCtlTest(){ Application_for_Conference_Adjudication__c aca = new Application_for_Conference_Adjudication__c(); aca.MeetingApprovedNo__c = 'ME154P03-0012'; aca.Name = 'ME154P03-0012'; // 用决裁编号替代名称 aca.CampaignTheme__c = 'obpm发起赞助决裁'; aca.Num__c = 'test1'; aca.StartDate__c = NFMUtil.parseDateTimeStr2Date('2022-04-19'); aca.EndDate__c = NFMUtil.parseDateTimeStr2Date('2022-04-22'); aca.Implementation_Purpose1__c = '其他'; aca.OfficeCategory__c = '1.消化科'; aca.MeetingType__c = '主办会'; aca.StateMaster__c = '北京市'; aca.CityMaster__c = '北京市'; aca.WorkshopPlace__c = 'CTEC'; aca.HostName__c = '医学会'; aca.CooperatorCompany__c = '中华医学会'; aca.ConveningParticipantsNum__c = 0; aca.IsPaidToSponsor__c = '否'; aca.SponsorshipCategory__c = '资金'; aca.ExpectedOlympusAttendance__c = 0; aca.ActivityTypeName__c = '自主主办会'; aca.ExpectedHcpAttendance__c = 0; aca.ProcessState__c = '草稿'; aca.Type_of_adjudication_meeting__c = '线下'; aca.Activities_of_a_share__c = '否'; aca.IsSupplemental__c = true; insert aca; Campaign cam = new Campaign(); Id RtId = Schema.SObjectType.Campaign.getRecordTypeInfosByDeveloperName().get('Society').getRecordTypeId(); // Id RtId2 = Schema.SObjectType.CampaignMember.getRecordTypeInfosByDeveloperName().get('WorkShop').getRecordTypeId(); cam.RecordTypeId = RtId; // cam.CampaignMemberRecordTypeId = RtId2; cam.Name = aca.MeetingApprovedNo__c; cam.Name2__c = aca.MeetingApprovedNo__c; cam.MeetingApprovedNo__c = aca.MeetingApprovedNo__c; cam.Meeting_Approved_No__c = aca.Id; cam.StartDate = aca.StartDate__c; cam.EndDate = aca.EndDate__c; cam.Implementation_Purpose__c = aca.Implementation_Purpose1__c; cam.OfficeCategory__c = aca.OfficeCategory__c; cam.Meeting_Type__c = aca.MeetingType__c; cam.Activity_Type_Name__c = aca.ActivityTypeName__c; cam.WorkshopPlace__c = aca.WorkshopPlace__c; cam.HostName__c = aca.HostName__c; cam.cooperatorCompany__c = aca.CooperatorCompany__c; cam.Convening_Participants_Num__c = aca.ConveningParticipantsNum__c; cam.IF_Approved__c = true; // OBPM对接 新增字段 cam.Expected_Olympus_Attendance__c = aca.ExpectedOlympusAttendance__c; cam.Expected_Hcp_Attendance__c = aca.ExpectedHcpAttendance__c; cam.SponsorshipCategory__c = aca.SponsorshipCategory__c; cam.IsPaidToSponsor__c = aca.IsPaidToSponsor__c; cam.Activity_Type_Name__c = aca.ActivityTypeName__c; cam.Is_LendProduct__c = '是'; cam.PlanBackData__c = NFMUtil.parseDateTimeStr2Date('2022-04-30'); cam.LoadNum__c = 'CV-290*1; GI-290镜子*1;'; insert cam; User u = setupUser(); System.runAs(u){ LexConsumApply_FromCampaignCtl.init(cam.Id); LexConsumApply_FromCampaignCtl.rentalApp(); LexConsumApply_FromCampaignCtl.UserInfo_Owner(); } } static testMethod void lexConsumablesLostControllerTest(){ Consum_Apply__c oObj = new Consum_Apply__c(); oObj.DataMigration_Flag__c = true; insert oObj; User u = setupUser(); System.runAs(u){ lexConsumablesLostController.lexConsumablesLostController(oObj.Id); } } static testMethod void lexConsumApply_FromRACtlTest(){ //前置数据 User u = setupUser(); System.runAs(u){ StaticParameter.EscapeNFM001AgencyContractTrigger = true; ControllerUtil.EscapeNFM001Trigger = true; Oly_TriggerHandler.bypass('AssetHandler'); Oly_TriggerHandler.bypass('PowerBIBaseHandler'); Oly_TriggerHandler.bypass('AgencyOppUpdHandler'); Oly_TriggerHandler.bypass('UpdateContractAimAmountHandler'); Oly_TriggerHandler.bypass(ContactTriggerHandler.class.getName()); Oly_TriggerHandler.bypass(AgencyHospitalHandler.class.getName()); String flag='NG2'; String d1='产品试用'; String dept='医疗华北营业本部'; 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; 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}; //备品借出申请 Rental_Apply__c raObj = new Rental_Apply__c(); raObj.Name = 'testra'; raObj.OwnerId = user.Id; raObj.Product_category__c = 'GI'; raObj.Demo_purpose1__c ='产品试用'; raObj.demo_purpose2__c = '试用(无询价)'; 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 (false) { raObj.AgreementBorrowingExtensionDate__c = Date.today().addDays(-1); } } insert raObj; lexConsumApply_FromRACtl.init(raObj.Id); // Asset asset1 = new Asset(Asset_Owner__c = 'Olympus'); // // 保有设备 // 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'; // insert new Asset[] {asset1}; // // 修理を作成する01 // 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 = asset1.Id; // repair01.SERVICE_CONTRACT_JUDEGE_DAY__C = Date.today().addDays( -11); // 维修合同判断日がサービス契約開始日の前日 // repair01.Repair_Start_Date__c = Date.today().addDays(-9); // repair01.Repair_Final_Inspection_Date__c = null; // repair01.Repair_Ordered_Date__c = Date.today(); // repair01.SAP_not_accept_repair_result__c = Date.today(); // insert repair01; // Date toDate = Date.today(); // String RecordTypeId = Schema.SObjectType.QIS_Report__c.getRecordTypeInfosByDeveloperName().get('QISRecordType1').getRecordTypeId(); // System.debug(RecordTypeId); // QIS_Report__c qis = new QIS_Report__c(); // qis.RecordTypeId = RecordTypeId; // qis.Name = 'Test'; // qis.QIS_Status__c='OSH检测中'; // qis.OwnerId='00510000001R56KAAS'; // qis.CDS_date__c=Date.today(); // qis.OCSMAdministrativeReportDate__c=Date.today(); // qis.Aware_date__c=Date.today(); // qis.QIS_Submit_day__c=Date.today().addMonths(6); // qis.OCSMAdministrativeReportNumber__c='00510000001R56KAAS'; // qis.OCSMAdministrativeReportStatus__c='无需报告'; // qis.isAE_Profile__c='YES'; // qis.isPAE_Profile__c='YES'; // qis.next_action__c='无偿维修'; // qis.QIS_SC_Report__c='a3w10000000U6frAAC'; // qis.nonyushohin__c='02i10000004u0jVAAQ'; // qis.IsSendQIS__c=false; // insert qis; // //新建备品借出申请-保修用户 // Rental_Apply__c raObj1 = new Rental_Apply__c(); // raObj1.Name='*'; // raObj1.Product_category__c = 'GI'; // //raObj.Person_In_Charge__c = MyUser_Test.id; // //raObj.applyUser__c = MyUser_Test.id; // raObj1.Person_In_Charge__c = user.Id; // raObj1.applyUser__c = user.Id; // raObj1.Hospital__c = hospital.Id;//医院 // raObj1.Strategic_dept__c = strategicDep[0].id;//战略科室 // raObj1.Demo_purpose1__c = '维修代用'; // raObj1.demo_purpose2__c ='索赔QIS'; // raObj1.Demo_purpose_text__c ='测试用的备品借出申请'; // raObj1.Request_shipping_day__c = Date.today()+5; // raObj1.QIS_number__c = qis.Id; // raObj1.QISRepair__c = repair01.Id; // // raObj.Hope_Lonaer_date_Num__c = 16; // //raObj.Request_return_day__c = Date.today() +20; // raObj1.Loaner_received_staff__c = '测试用户'; // raObj1.Loaner_received_staff_phone__c = '13700008'; // raObj1.direct_send__c = '上门自提'; // raObj1.Repair__c = repair01.id; // // raObj.Statu_Achievements__c = Sac.id; // raObj1.Account__c = dep.id;//科室 // raObj1.pickup_time__c = Datetime.now()+8; // raObj1.direct_shippment_address__c = '233333的地址'; // raObj1.Phone_number__c = '1234567890'; // raObj1.Loaner_medical_Staff__c = contact2.Id; // raObj1.Status__c = '草案中'; // insert raObj1; lexConsumApply_FromRACtl.UserInfo_Owner(); lexConsumApply_FromRACtl.fieldDefineApp(); } } static testMethod void LexConsumApply_FromQISCtlTest(){ // 客户 Account hospital = new Account(); // 记录类型ID // 01210000000QemGAAS hospital.recordtypeId = [Select Id FROM RecordType WHERE IsActive = true and SobjectType = 'Account' and DeveloperName = 'HP'].id; // 客户名 hospital.Name = '北京市医院'; insert hospital; // 戦略科室を得る List strategicDep = [SELECT ID, Name FROM Account WHERE parentId = :hospital.Id AND recordType.DeveloperName = 'Department_Class_GI']; // 客户 Account dep = new Account(); // 01210000000Qfm7AAC // 记录类型ID dep.recordtypeId = [Select Id FROM RecordType WHERE IsActive = true and SobjectType = 'Account' and DeveloperName = 'Department_GI'].id; // 客户名 dep.Name = 'test de/p'; dep.ParentId = strategicDep[0].Id; // 战略科室分类 dep.Department_Class__c = strategicDep[0].Id; // 医院 dep.Hospital__c = hospital.Id; insert dep; RecordType rectOpp = [select id from RecordType where IsActive = true and SobjectType = 'Opportunity' and DeveloperName = 'Opportunity' ]; Opportunity opp = new Opportunity( Name='testOpp1', StageName='引合', CloseDate=Date.today(), AccountId=dep.Id, Sales_Root__c = 'OCM直接販売', Competitor__c ='A', Click_Close_Date__c = null, RecordType = rectOpp ); insert opp; Statu_Achievements__c Sac = new Statu_Achievements__c( name = 'zhucan_one', Opportunity__c = opp.id, DeliveryDate__c = Date.today(), ContractNO__c = 'ContractNO1', ContractAmount__c = 1234 ); // 设备 Asset asset = new Asset(); asset.Name = '测试机器'; asset.AccountId = dep.Id; asset.Department_Class__c = strategicDep[0].Id; asset.Hospital__c = hospital.Id; asset.SerialNumber = 'testserial'; asset.Backorder__c = Sac.Id; insert asset; String RecordTypeId = Schema.SObjectType.QIS_Report__c.getRecordTypeInfosByDeveloperName().get('QISRecordType1').getRecordTypeId(); System.debug(RecordTypeId); //QIS QIS_Report__c qis = new QIS_Report__c(); qis.nonyushohin__c = asset.Id; qis.Hospital__c = hospital.Id; qis.RC__c = UserInfo.getUserId(); qis.Department_Class__c = strategicDep[0].Id; qis.Hospital_Department__c = dep.Id; qis.Damage_For_Doc_Or_Pat__c = '有'; qis.Relation_With_The_Problem__c = '有可能'; qis.Report_For_Goz__c = '不知道'; insert qis; // QIS_Report__c qis = new QIS_Report__c(); // qis.RecordTypeId = RecordTypeId; // qis.Name = 'Test'; // qis.QIS_Status__c='OSH检测中'; // qis.OwnerId='00510000001R56KAAS'; // qis.CDS_date__c=Date.today(); // qis.OCSMAdministrativeReportDate__c=Date.today(); // qis.Aware_date__c=Date.today(); // qis.QIS_Submit_day__c=Date.today().addMonths(6); // qis.OCSMAdministrativeReportNumber__c='00510000001R56KAAS'; // qis.OCSMAdministrativeReportStatus__c='无需报告'; // qis.isAE_Profile__c='YES'; // qis.isPAE_Profile__c='YES'; // qis.next_action__c='无偿维修'; // qis.QIS_SC_Report__c='a3w10000000U6frAAC'; // qis.nonyushohin__c='02i10000004u0jVAAQ'; // qis.IsSendQIS__c=false; // insert qis; User u = setupUser(); System.runAs(u){ LexConsumApply_FromQISCtl.rentalApp(qis.Id); LexConsumApply_FromQISCtl.fieldDefineApp(); LexConsumApply_FromQISCtl.UserInfo_Owner(); LexConsumApply_FromQISCtl.init(qis.Id); } } static testMethod void lexConsumApply_FromOPDPlanCtlTest(){ User u3 = new User(); u3.LastName = '_サンブリッジ'; u3.FirstName = 'う'; u3.Alias = 'う'; // u3.Email = 'olympusTest03@sunbridge.com'; u3.Email = 'buli@deloitte.com.cn'; u3.Username = 'olympusTest03@sunbridge.com'; u3.CommunityNickname = 'う'; u3.IsActive = true; u3.EmailEncodingKey = 'ISO-2022-JP'; u3.TimeZoneSidKey = 'Asia/Tokyo'; u3.LocaleSidKey = 'ja_JP'; u3.LanguageLocaleKey = 'ja'; u3.ProfileId = System.Label.ProfileId_SystemAdmin; // u3.Job_Category__c = '销售推广'; u3.Job_Category__c = '销售服务'; u3.Province__c = '北京市'; u3.Use_Start_Date__c = Date.today().addMonths(-6); insert u3; Profile p = [select Id from Profile where id =:System.Label.ProfileId_SystemAdmin]; User hpOwner = new User(Test_staff__c = true, LastName = 'hp', FirstName = 'owner', Alias = 'hp', CommunityNickname = 'hpOwner', Email = 'olympus_hpowner@sunbridge.com', Username = 'olympus_hpowner@sunbridge.com', IsActive = true, EmailEncodingKey = 'ISO-2022-JP', TimeZoneSidKey = 'Asia/Tokyo', LocaleSidKey = 'ja_JP', LanguageLocaleKey = 'ja', ProfileId = p.id); insert hpOwner; system.runAs(u3) { ControllerUtil.EscapeNFM001Trigger = true; // 客户 Account hospital = new Account(); // 记录类型ID // 01210000000QemGAAS hospital.recordtypeId = [Select Id FROM RecordType WHERE IsActive = true and SobjectType = 'Account' and DeveloperName = 'HP'].id; // 客户名 hospital.Name = '北京市医院'; insert hospital; // 戦略科室を得る List strategicDep = [SELECT ID, Name FROM Account WHERE parentId = :hospital.Id AND recordType.DeveloperName = 'Department_Class_GI']; // 客户 Account dep = new Account(); // 01210000000Qfm7AAC // 记录类型ID dep.recordtypeId = [Select Id FROM RecordType WHERE IsActive = true and SobjectType = 'Account' and DeveloperName = 'Department_GI'].id; // 客户名 dep.Name = 'test de/p'; dep.ParentId = strategicDep[0].Id; // 战略科室分类 dep.Department_Class__c = strategicDep[0].Id; // 医院 dep.Hospital__c = hospital.Id; insert dep; Application_for_Conference_Adjudication__c aca = new Application_for_Conference_Adjudication__c(); aca.MeetingApprovedNo__c = 'ME154P03-0012'; aca.Name = 'ME154P03-0012'; // 用决裁编号替代名称 aca.CampaignTheme__c = 'obpm发起赞助决裁'; aca.Num__c = 'test1'; aca.StartDate__c = NFMUtil.parseDateTimeStr2Date('2022-04-19'); aca.EndDate__c = NFMUtil.parseDateTimeStr2Date('2022-04-22'); aca.Implementation_Purpose1__c = '其他'; aca.OfficeCategory__c = '1.消化科'; aca.MeetingType__c = '主办会'; aca.StateMaster__c = '北京市'; aca.CityMaster__c = '北京市'; aca.WorkshopPlace__c = 'CTEC'; aca.HostName__c = '医学会'; aca.CooperatorCompany__c = '中华医学会'; aca.ConveningParticipantsNum__c = 0; aca.IsPaidToSponsor__c = '否'; aca.SponsorshipCategory__c = '资金'; aca.ExpectedOlympusAttendance__c = 0; aca.ActivityTypeName__c = '自主主办会'; aca.ExpectedHcpAttendance__c = 0; aca.ProcessState__c = '草稿'; aca.Type_of_adjudication_meeting__c = '线下'; aca.Activities_of_a_share__c = '否'; aca.IsSupplemental__c = false; insert aca; Campaign cam = new Campaign(); Id RtId = Schema.SObjectType.Campaign.getRecordTypeInfosByDeveloperName().get('Society').getRecordTypeId(); // Id RtId2 = Schema.SObjectType.CampaignMember.getRecordTypeInfosByDeveloperName().get('WorkShop').getRecordTypeId(); cam.RecordTypeId = RtId; // cam.CampaignMemberRecordTypeId = RtId2; cam.Name = aca.MeetingApprovedNo__c; cam.Name2__c = aca.MeetingApprovedNo__c; cam.MeetingApprovedNo__c = aca.MeetingApprovedNo__c; cam.Meeting_Approved_No__c = aca.Id; cam.StartDate = aca.StartDate__c; cam.EndDate = aca.EndDate__c; cam.Implementation_Purpose__c = aca.Implementation_Purpose1__c; cam.OfficeCategory__c = aca.OfficeCategory__c; cam.Meeting_Type__c = aca.MeetingType__c; cam.Activity_Type_Name__c = aca.ActivityTypeName__c; cam.WorkshopPlace__c = aca.WorkshopPlace__c; cam.HostName__c = aca.HostName__c; cam.cooperatorCompany__c = aca.CooperatorCompany__c; cam.Convening_Participants_Num__c = aca.ConveningParticipantsNum__c; cam.IF_Approved__c = true; // OBPM对接 新增字段 cam.Expected_Olympus_Attendance__c = aca.ExpectedOlympusAttendance__c; cam.Expected_Hcp_Attendance__c = aca.ExpectedHcpAttendance__c; cam.SponsorshipCategory__c = aca.SponsorshipCategory__c; cam.IsPaidToSponsor__c = aca.IsPaidToSponsor__c; cam.Activity_Type_Name__c = aca.ActivityTypeName__c; cam.Is_LendProduct__c = '是'; cam.PlanBackData__c = NFMUtil.parseDateTimeStr2Date('2022-04-30'); cam.LoadNum__c = 'CV-290*1; GI-290镜子*1;'; insert cam; //备品借出申请 Rental_Apply__c raObj = new Rental_Apply__c(); raObj.Name = 'testra'; raObj.Product_category__c = 'GI'; raObj.Demo_purpose1__c = '其他'; raObj.demo_purpose2__c = '其他'; raObj.Person_In_Charge__c = Userinfo.getUserId(); raObj.applyUser__c = Userinfo.getUserId(); raObj.Demo_purpose_text__c = '123'; raObj.Request_shipping_day__c = Date.toDay(); raObj.Request_return_day__c = Date.toDay(); raObj.direct_send__c = '上门自提'; raObj.Loaner_received_staff__c = '王五'; raObj.Loaner_received_staff_phone__c = '110'; raObj.pickup_time__c = System.now(); insert raObj; OPDPlan__c opd = new OPDPlan__c(); opd.OPDPlan_ImplementDate_temp__c = cam.StartDate ; opd.Campaign__c = cam.Id ; opd.Status__c = '计划中'; opd.OwnerId = cam.OwnerId; opd.PlanProdDetail__c = cam.LoadNum__c; opd.OPDType__c = '学会'; // opd.Meeting_Cooperate__c = cam.Meeting_Cooperate__c; // opd.Meeting_Cooperate2__c = cam.Meeting_Cooperate2__c; // opd.Meeting_Cooperate3__c = cam.Meeting_Cooperate3__c; // opd.Meeting_Cooperate4__c = cam.Meeting_Cooperate4__c; // opd.Open_scope__c = cam.Open_scope__c; opd.IF_Approved__c = cam.IF_Approved__c;//是否申请决裁 opd.Approved_Status__c = cam.Approved_Status__c;//决裁状态 opd.Approved_No__c = aca.Id; opd.OwnerId = u3.Id; insert opd; raObj.OPDPlan__c=opd.Id; upsert raObj; aca.ProcessState__c = '驳回'; aca.Num__c = cam.Num__c; update aca; lexConsumApply_FromOPDPlanCtl.fieldDefineApp(); lexConsumApply_FromOPDPlanCtl.UserInfo_Owner(); lexConsumApply_FromOPDPlanCtl.init(opd.Id); } } static testMethod void lexConsumApply_FromAccountCtlTest(){ List rectHp = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '病院']; Profile prof = [select Id from Profile where id =:System.Label.ProfileId_SystemAdmin]; User hpOwner = new User(Test_staff__c = true, LastName = 'hp', FirstName = 'owner', Alias = 'hp', CommunityNickname = 'hpOwner', Email = 'olympus_hpowner@sunbridge.com', Username = 'olympus_hpowner@sunbridge.com', IsActive = true, EmailEncodingKey = 'ISO-2022-JP', TimeZoneSidKey = 'Asia/Tokyo', LocaleSidKey = 'ja_JP', LanguageLocaleKey = 'ja', ProfileId = prof.id); insert hpOwner; Account myAccount1 = new Account(name='testaccount001',RecordTypeId = rectHp[0].Id,OwnerId = hpOwner.Id ); insert myAccount1; User u = setupUser(); lexConsumApply_FromAccountCtl.fieldDefineApp(); lexConsumApply_FromAccountCtl.UserInfo_Owner(); lexConsumApply_FromAccountCtl.init(myAccount1.Id); } }